Interrupt in Linux(硬件篇)—— APIC
1.2现代的APIC
APIC虽号称现代,但也出现10几年了,PC机市场总是很晚才能接触到新的技术,前面说了,我的T42用的还是PIC呢。APIC相较于PIC来说,最大的优点是能适用于MP平台,当然,管脚多是它另一个优点。APIC由两部分组成,一个称为LAPIC(Local APIC,本地高级中断控制器),一个称为IOAPIC(I/O APCI,I/O高级中断控制器)。前者位于CPU中,在MP平台,每个CPU都有一个自己的LAPIC。后者通常位于南桥上,像PIC一样,连接各个产生中断的设备。在一个典型的具有多个处理器的PC平台,通常有一个IOAPIC和多个LAPIC,它们相互配合,形成一个中断的分发网络,图1-3显示了这个典型的情况:
图1-3 APIC模式(摘自《深入理解Linux内核》)
图中的中断控制器通信总线,是IOAPIC和LAPIC通信的桥梁,在Intel的P6架构和Pentium系列CPU中,它是一条单独的APIC总线。时代在进步,Pentium4和Xeon系列CPU出现后,APIC Bus已经不存在,系统的前端总线代替了它。
1.2.1 IOAPIC
话分两头,让我们先来看看IOAPIC。和PIC对比,IOAPIC最大的作用在于中断分发。根据其内部的PRT(Programmable Redirection Table)表,IOAPIC可以格式化出一条中断消息,发送给某个CPU的LAPIC,由LAPIC通知CPU进行处理。目前典型的IOAPIC具有24个中断管脚,每个管脚对应一个RTE(Redirection Table Entry,PRT表项)。与PIC不同的是,IOAPIC的管脚没有优先级,也就是说,连接在管脚上的设备是平等的。但这并不意味着APIC系统中没有硬件优先级。设备的中断优先级由它对应的vector决定,APIC将优先级控制的功能放到了LAPIC中,我们在后面会看到。
要搞清楚IOAPIC是怎么工作的,PRT表是关键,下表列出了RTE的格式:
Bit
描述
63:56
Destination Field,目的字段,R/W(可读写)。根据Destination Filed(见下)值的不同,该字段值的意义不同,它有两个意义:
Physical Mode(Destination Mode为0时): 其值为APIC ID,用于标识一个唯一的APIC。
Logical Mode(Destination Mode为1时):其值根据LAPIC的不同配置,代表一组CPU(具体见LAPIC相关内容)
55:17
Reserved,预留未用。
16
Interrupt Mask,中断屏蔽位,R/W。置一时,对应的中断管脚被屏蔽,这时产生的中断将被忽略。清零时,对应管脚产生的中断被发送至LAPIC。
15
Trigger Mode,触发模式,R/W。指明该管脚的的中断由什么方式触发。
1:Level,电平触发
2:Edge,边沿触发
14
Remote IRR,远程IRR,RO(只读)
相关文档:
-------------------------------------------------------------------------------------------------------
By:yuyongbao
QQ:673360056
1、 linux下共享文件。安装smbserver。然后在《系统设置》中打开《服务器设置》的《smb server》服务器,输入相关路径即可。然后在window中,使用网络邻居查找linux。(注 ......
Linux Execution and Virtual Memory Utilization
Linux执行以及虚拟内存之用
When Linux boots, it starts with the MMU disabled, so initially it deals only with physical
memory. The kernel image is copied to physical address 0x8000 in DRAM and executed. First a master page table is created ......
·find path -option [ -print ] [ -exec -ok command ] {} \;
#-print 将查找到的文件输出到标准输出
#-exec command {} \; -----将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询 ......
----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
* @Description:s3c2410的rtc驱动的实 ......