openKylin论坛

 找回密码

linux中断机制 [复制链接]

1.在使用 80X86 组成的 PC 机中,采用了两片 8259A 可编程中断控制芯片。每片可以管理 8 个中断源。通过多片的级联方式,能构成最多管理 64 个中断向量的系统。
2.在 PC/AT 系列兼容机中,使用了两片 8259A芯片,共可管理 15 级中断向量
3.主 8259A 芯片的端口基地址是 0x20 ,从芯片是 0xA0
4.在总线控制器控制下, 8259A 芯片可以处于编程状态和操作状态。编程状态是 CPU 使用 IN 或 OUT指令对 8259A 芯片进行初始化编程的状态
5.一旦完成了初始化编程,芯片即进入操作状态,此时芯片即可随时响应外部设备提出的中断请求( IRQ0 – IRQ15 )
6.通过中断判优选择,芯片将选中当前最高优先级的中断请求作为中断服务对象,并通过 CPU 引脚 INT 通知 CPU 外中断请求的到来, CPU 响应后,芯片从数据总线 D7-D0 将编程设定的当前服务对象的中断号送出, CPU 由此获取对应的中断向量值,并执行中断服务程序
7.Linux 内核来说,中断信号通常分为两类:硬件中断和软件中断 ( 异常 )
8.对于中断 int0--int31(0x00--0x1f) ,每个中断的功能由 Intel 公司固定设定或保留用 , 属于软件中断,但 Intel 公司称之为异常。因为这些中断是在 CPU 执行指令时探测到异常情况而引起的
9.在 Linux 系统中,则将 int32--int47(0x20--0x2f) 对应于 8259A 中断控制芯片发出的硬件中断请求信号IRQ0-IRQ15 ,并把程序编程发出的系统调用 (system_call) 中断设置为 int128(0x80)
10.通常还可分为故障 (Fault) 和陷阱 (traps) 两类。中断 int32--int255 (0x20--0xff) 可以由用户自己设定

楼主
发表于 2013-11-21 13:49:29
回复

使用道具 举报

openKylin

GMT+8, 2024-5-14 04:32 , Processed in 0.019696 second(s), 17 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表