计算机接口技术大作业Word文档格式.docx
- 文档编号:17075891
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:14
- 大小:44.17KB
计算机接口技术大作业Word文档格式.docx
《计算机接口技术大作业Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机接口技术大作业Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
APIC12
中断共享&
中断冲突12
MSI-X中断(PCIe)、中断处理子程序13
0号中断、1号中断13
中断描述符、中断描述符表13
异常13
中断门、OS的事件、消息14
三:
中断资源相关14
我的电脑中断相关资源占用情况14
ISA中断18
PCI中断22
IRQ0-15中断请求外的22
四:
中断系统22
中断系统怎样协调完成中断过程23
五:
多处理器系统的中断24
怎么连接24
如何处理25
六:
硬件、软件是怎么配合完成中断处理的25
七:
编写8251查询发送、中断接收的自检程序27
摘要
学习计算机组成原理和计算机接口技术之中,“中断”是一个必须要学习的美容,计算机之所以能够“智能”的运行起来使得其更容易被人使用很重要的一点就是有了中断技术。
因为中断计算机从一个只靠计算速度和存储量来来博得人们喜爱的机器变成了一个用户有好的聪明的机器。
本文将从几个问题入手来来逐一介绍计算机中断技术和中断系统。
什么是中断
中断的定义
在计算机科学中,中断是指由于接收到来自外围硬件(相对于中央处理器和内存)的异步信号或来自软件的同步信号,而进行相应的硬件/软件处理。
发出这样的信号称为进行中断请求(interruptrequest,IRQ)。
硬件中断导致处理器通过一个上下文切换(contextswitch)来保存执行状态(以程序计数器和程序状态字等寄存器信息为主);
软件中断则通常作为CPU指令集中的一个指令,以可编程的方式直接指示这种上下文切换,并将处理导向一段中断处理代码。
中断在计算机多任务处理,尤其是实时系统中尤为有用。
这样的系统,包括运行于其上的操作系统,也被称为“中断驱动的”(interrupt-driven)。
上面是来自维基百科对中断定义。
个人认为中断就是计算机在执行程序的过程中,当出现异常情况或者是特殊请求时,计算机停止执行现行程序的运行,转向对这些异常情况或特殊请求的处理,处理后再返回到现行程序的间断处,继续执行原程序,这就是中断。
图中断处理过程
打一个不太恰当的比方。
比如说你正在看书那么你就是CPU,看书就相当于你正在执行的程序,当你电话响了或者是有其他的事情发生导致你必须停下正在看的书去做另一件事(接电话)。
那么这就是一个中断,在这个中断中现行程序是看书,中断时电话响了,CPU是你自己。
当你接完电话之后(假设接完电话就没其他特殊的事了)那么你就回去看书,也就相当于定义中的返回执行原程序。
中断技术差生的原因
讲了上面的内容也许你对中断概念有了一定的了解。
那么为什么会产生中断呢
为了介绍为什么会产生中断我们有必要对计算机的组成结构和工作的过程来了解一下。
下图是计算机的组成结构。
图计算机组成结构
可以看到计算机石油输入输出设备控制器运算器和存储器组成的,那么计算机是如何工作的呢
计算机工作时,首先由键盘等输入设备。
输入程序和数据,程序和数据信息,通过J/O接口电路,经数据总线送入主存贮器中,接着CPU开始运行输入的指令,并处理输入的数据。
CPU要进行下列工作:
⑴将指令的地址放到地址总线;
⑵按着上述地址,通过数据总线在主存贮器中找到并取出指令,由指令译码器对该指令进行分析译码;
⑶根据译码结果,取出指令所要处理的数据地址及相应的数据;
⑷执行指令所代表的具体操作;
⑸检查是否还有其它的控制信号,若有,则对定进行处理;
⑹把执行指令后所得的指令结果、状态的标志信号、控制信号和定时信号提供给整个微机系统;
⑺继续处理用户输入的程序和数据。
可以看到上在计算机工作过程中要始终检查有没有控制信号,而这控制信号中就有关于中断的控制信号。
在计算机系统中中断的例子有很多。
用户敲击键盘,每击一次键都要产生一个中断信号。
告诉CPU有“键盘输入发生了”,要求CPU读入键值。
至于为什么必须要读入键值呢其实很简单,在执行程序和用户控制两个事件之间显然是用户控制事件的优先级要高于执行程序的优先级。
要不你按下键盘电脑半天没有反应那你还不得把电脑踢了
以I/O中断为例。
在I/O设备与主机交换信息时,由于设备本身机电特性的影响,其工作效率较低,与CPU无法匹配。
因此,CPU启动之设备之后,往往需要等待一段时间才能实现与I/O设备之间的信息交换。
如果在设备准备同时,CPU不做无所谓的等待,而继续执行现行程序,只有当I/O设备就绪向CPU提出请求后在暂时中断CPU现行程序转入I/O服务程序,这便产生了I/O中断。
中断是用以提高计算机工作效率、增强计算机功能的一重要技术。
最初引入硬件中断,只是出于性能上的考量。
如果计算机系统没有中断,则处理器与外部设备通信时,它必须在向该设备发出指令后进行忙等待(Busywaiting,反复轮询该设备是否完成了动作并返回结果。
这就造成了大量处理器周期被浪费。
引入中断以后,当处理器发出设备请求后就可以立即返回以处理其他任务,而当设备完成动作后,发送中断信号给处理器,后者就可以再回过头获取处理结果。
这样,在设备进行处理的周期内,处理器可以执行其他一些有意义的工作,而只付出一些很小的、切换上下文所引发的时间代价。
后来被用于CPU外部与内部紧急事件的处理、机器故障的处理、时间控制等多个方面,并产生通过软件方式进入中断处理(软中断)的概念。
。
中断技术差生的优点
先让我们感受一下中断机制对并发处理带来的帮助。
让我们用程序来探讨一下烧水问题,如果没有“中断”(注意,我们这里只是模仿中断的场景,实际上是用异步事件——消息——处理机制来展示中断产生的效果。
毕竟,在用户空间没有办法与实际中断产生直接联系,不过操作系统为用户空间提供的异步事件机制,可以看作是模仿中断的产物),设计如下:
voidStayInKitchen()
{
boolWaterIsBoiled=false;
while(WaterIsBoiled!
=true)
boolVaporGavenOff=false;
if(VaporGavenOff)
WaterIsBoiled=true;
else
WaterIsBoiled=false;
}
n”);
voidwatching_tv()
while
(1)
编程异常通常叫做软中断
2.?
软中断是通讯进程之间用来模拟硬中断的一种信号通讯方式。
3.?
中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能
4.?
软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;
而硬中断是硬件实现的中断,是程序运行时设备对它的中断。
?
硬中断:
1.?
硬中断是由外部事件引起的因此具有随机性和突发性;
软中断是执行中断指令产生的,无面外部施加中断请求信号,因此中断的发生不是随机的而是由程序安排好的。
硬中断的中断响应周期,CPU需要发中断回合信号(NMI不需要),软中断的中断响应周期,CPU不需发中断回合信号。
硬中断的中断号是由中断控制器提供的(NMI硬中断中断号系统指定为02H);
软中断的中断号由指令直接给出,无需使用中断控制器。
硬中断是可屏蔽的(NMI硬中断不可屏蔽),软中断不可屏蔽。
区别:
软中断发生的时间是由程序控制的,而硬中断发生的时间是随机的
软中断是由程序调用发生的,而硬中断是由外设引发的
硬件中断处理程序要确保它能快速地完成它的任务,这样程序执行时才不会等待较长时间
可屏蔽中断
非屏蔽中断是出现在NMI线上的请求,不受标志位IF的影响,在当前指令执行完以后,CPU就响应。
这种中断通常用于电源故障。
非屏蔽中断的优先权高于屏蔽中断。
可屏蔽中断I/O设备发出的所有中断(IRQ)都可以产生可屏蔽中断,受标志位IF的影响,根据中断循序标志的设置来判断CPU是否响应中断请求。
中断向量
中断请求号就是中断编号。
中断向量 中断服务程序的入口地址。
在某些计算机中,中断向量的位置存放一条跳转到中断服务程序入口地址的跳转指令。
中断周期
当8259A接收到第二个/INTA有效的负脉冲后,就将其中断类型号送入数据总线。
中短周期:
当CPU采用中断方式实现I/O交换信息时,CPU在每条指令执行结束之后检查是否又中断请求,如果有就执行中断响应,又称中短周期。
IF中断允许标志位
单步中断:
执行一条指令中断一次。
IF中断允许标志位:
标识寄存器中的一位,可以屏蔽可屏蔽中断请求INTR
如果外设有可屏蔽中断请求INTR,而此时CPU内IF=0,那么CPU不会响应中断
只有可屏蔽中断请求INTR和IF有关系,
内中断和不可屏蔽中断NMI,都不受IF的影响
中断优先级
IMR中断屏蔽字:
以实现对各中断的屏蔽。
中断优先级:
为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。
APIC
中断控制器:
中断控制器的功能就是在多个中断源的系统中,接收外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;
当CPU响应中断并进入中断子程序的处理过程后,中断控制器仍负责外部的中断请求的管理。
比如当某个外部中断的请求的优先级高于当前正在处理的中断优先级时,中断控制器会让此中断通过而到达CPU的INTR端,从而实现中断的嵌套,反之,对其它的级别较底的中断则给予禁止。
APIC:
高级可编程中断控制器
APIC是装置的扩充组合用来驱动?
Interrupt控制器。
在目前的建置中,系统的每一个部份都是经由APICBus连接的。
"
本机APIC"
为系统的一部份,负责传递Interrupt至指定的处理器;
举例来说,当一台机器上有三个处理器则它必须相对的要有三个本机APIC。
自1994年的PentiumP54c开始Intel已经将本机APIC建置在它们的处理器中。
实际建置了Intel处理器的电脑就已经包含了APIC系统的部份。
中断冲突
中断共享就是某些端口公用一个中断请求,以前主板有很多PCI,第一和第五个常常共享,但只能使用其中一个,都是用会造成硬件冲突
中断冲突终端之间共用资源发生冲突。
MSI-X中断(PCIe)、中断处理子程序
MSI-X中断是MSI中断的增强版本,与MSI中断有相同功能,具有以下关键区别:
每个设备最多支持2048个MSI-X中断向量。
每个中断向量的地址和数据项都是唯一的。
MSI-X支持按函数屏蔽和按向量屏蔽。
中断处理子程序:
处理中断请求的程序
0号中断、1号中断
0号中断:
号中断处理程序用于处理除法运算溢出,称为"
除数为0中断"
当CPU检测到除法运算溢出,自动调用0号中断处理程序,无"
INT0"
指令。
1号中断:
当CPU的TF标志置1时,CPU每执行一条指令,就调用1号中断处理程序,因此,它称为"
单步中断"
当CPU检测到TF=1时,自动进入单步方式,无"
INT1"
该中断处理程序用于调试程序。
中断描述符、中断描述符表
中断描述符:
描述中断的一组数据,包括中断号等。
中断描述表:
将每个异常或中断向量分别与它们的处理过程联系起来。
与GDT和LDT表类似,IDT也是由8字节长描述符组成的一个数组。
异常
中断通常分为同步中断和异步中断。
同步中断:
当指令执行时由CPU控制单元产生的,称为同步,是因为只有当一条指令终止执行后CPU才会发出中断。
异步中断:
由其他硬件设备依照CPU时钟信号随机产生的。
中断门、OS的事件、消息
通过中断门的转移和通过陷阱门的转移之间的差别只是对IF标志的处理。
对于中断门,在转移过程中把IF置为0,使得在处理程序执行期间屏蔽掉INTR中断(当然,在中断处理程序中可以人为设置IF标志打开中断,以使得在处理程序执行期间允许响应可屏蔽中断);
对于陷阱门,在转移过程中保持IF位不变,即如果IF位原来是1,那么通过陷阱门转移到处理程序之后仍允许INTR中断。
因此,中断门最适宜于处理中断,而陷阱门适宜于处理异常。
OS的事件就是操作系统事件。
消息:
消息,软件对象之间进行交互作用和通讯是利用消息的
中断资源相关
我的电脑中断相关资源占用情况
ISA中断
PCI中断
IRQ0-15中断请求外的
其他是microsoftacpi-compliantsystem的。
微软ACPI-Compliant系统,全名AdvancedConfigurationandPowerManagementInterface
ACPI表示高级配置和电源管理接口(AdvancedConfigurationandPowerManagementInterface)。
对于Windows2000,ACPI定义了Windows2000、BIOS和系统硬件之间的新型工作接口。
这些新接口包括允许Windows2000控制电源管理和设备配置的机制。
ACPI意图是让系统而不是BIOS来全面控制电源管理,使系统更加省电。
其特点主要有:
提供立刻开机功能,即开机后可立即恢复到上次关机时的状态,光驱、软驱和硬盘在未使用时会自动关掉电源,使用时再打开;
支持在开电状态下既插即拔,随时更换功能。
中断系统
中断系统怎样协调完成中断过程
中断过程:
中断请求,中断判优,中断响应,中断处理,中断返回
图中断过程
CPU执行完一条指令后,下一条指令的逻辑地址存放在cs和eip这对寄存器中。
在执行新指令前,控制单元会检查在执行前一条指令的过程中是否有中断或异常发生。
如果有,控制单元就会抛下指令,进入下面的流程:
1.确定与中断或异常关联的向量i?
(0--255)
2.寻找向量对应的处理程序
3.保存当前的“工作现场”,执行中断或异常的处理程序
4.处理程序执行完毕后,把控制权交还给控制单元
5.控制单元恢复现场,返回继续执行原程序
中断控制器执行下列动作:
1,监视IRQ线,对引发信号检查
2,如果一个引发信号出现在IRQ线上
a,把此信号转换成对应的中断向量
b,把这个向量存放在中断控制器的一个I/O端口,从而允许CPU通过数据总线读这个向量
c,把引发信号发送到处理器的INTR引脚,即产生一个中断
d,等待,直到CPU应答这个信号;
收到应答后,清INTR引脚
3,返回到第一步
Windows2000在系统启动时填写IDT表
当中断发生时,处理器将会根据IDT将控制转移给适当的中断/异常处理
多处理器系统的中断
怎么连接
对于多核CPU,优化操作系统任务调度算法是保证效率的关键。
一般任务调度算法有全局队列调度和局部队列调度。
前者是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开始在此核心上执行。
这种方法的优点是CPU核心利用率较高。
后者是指操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个CPU核心间切换,有利于提高CPU核心局部Cache命中率。
目前多数多核CPU操作系统采用的是基于全局队列的任务调度算法。
多核的中断处理和单核有很大不同。
多核的各处理器之间需要通过中断方式进行通信,所以多个处理器之间的本地中断控制器和负责仲裁各核之间中断分配的全局中断控制器也需要封装在芯片内部。
另外,多核CPU是一个多任务系统。
由于不同任务会竞争共享资源,因此需要系统提供同步与互斥机制。
而传统的用于单核的解决机制并不能满足多核,需要利用硬件提供的“读-修改-写”的原子操作或其他同步互斥机制来保证。
如何处理
采用轮询的方式,基本上每个CPU平均分担。
但是为什么查看自己的机器,如果不设置CPU亲和,不设置irqbalance的话,所有的中断都是在CPU0上响应的。
硬件、软件是怎么配合完成中断处理的
当用户按键时,键盘接口会得到一个代表该按键的键盘扫描码,同时产生一个中断请求。
键盘中断服务程序先从键盘接口取得按键的扫描码,然后根据其扫描码判断用户所按的键并作相应的处理,最后通知中断控制器本次中断结束并实现中断返回。
若用户按下双态键(如:
CapsLock、NumLock和ScrollLock等),则在键盘上相应LED指示灯的状态将发生改变;
若用户按下控制键(如:
Ctrl、Alt和Shift等),则在键盘标志字中设置其标志位。
若用户按下功能键(如:
F1、F2、…等),再根据当前是否又按下控制键来确定其系统扫描码,并把其系统扫描码和一个值为0的字节存入键盘缓冲区。
若用户按下字符键(如:
A、1、+、…等),此时,再根据当前是否又按下控制键来确定其系统扫描码,并得到该按键所对应的ASCII码,然后把其系统扫描码和ASCII码一起存入键盘缓冲区;
若用户按下功能请求键(如:
PrintScreen等),则系统直接产生一个具体的动作。
4、DOS功能中的键盘输入
键盘输入是一种最常用的输入方式,所以,在DOS操作系统中,提供了能实现各种键盘输入的功能(Windows操作系统中仍然能用)。
INT21H中的
相关功能如下:
01H——带回显的键盘输入06H——控制台的输入/输出:
当DL=0FFH,表示键盘输入
07H——不回显、不过滤的键盘输入08H——不回显的键盘输入
0AH——键盘输入字符串0BH——检查键盘输入状态
0CH——清除输入缓冲区的输入功能
有关中断功能的详细描述和调用参数在此从略,需要查阅者可参阅附录3之字符功能调用类。
5、BIOS中的键盘输入
在BIOS系统中,提供了中断16H来实现键盘输入功能。
其具体的功能如下:
00H、10H——从键盘读一个字符,输入字符不回显
01H、11H——判断键盘缓冲区内是否有字符可读
02H——读取当前键盘状态字
有关中断功能的详细描述和调用参数在此从略,需要查阅者可参阅附录3之键盘服务。
编写8251查询发送、中断接收的自检程序
查询发送程序:
CSEGSEFMENT
ASSUMECS:
CSEG,DS:
CSEG
TRAPROCFAR
START:
MOVDX,309H
MOVAL,00H
OUTDX,AL
MOVAL,40H
NOP
MOVAL,0CFH
MOVAL,37H
MOVCX,2DH
MOVSI,300H
L1:
MOVDX,309H
INAL,DX
ANDAL,01H
JZL1
MOVDX,308H
MOVAL,[SI]
INCSI
DECCX
JNZL1
MOVAX,4C00H
INT21H
TRAENDP
CSEGENDS
ENDSTART
接收程序:
SCEGSEGMENT
REC,DS:
SCEG
RECPROCFAR
BEGIN:
MOVAL,50H
MOVAL,14H
MOVDI,400H
L2:
TESTAL,38H
JNZERR
ANDAL,02H
JZL2
MOV[DI],AL
INCDI
LOOPL2
JMPSTOP
ERR:
STOP:
MOVAX,4C00H
RECENDP
CSEGENDS
ENDBEGIN
参考资料:
维基百科:
中断相关
XX百科:
计算机组成原理—唐朔飞着
微型计算机接口技术及应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 接口 技术 作业