电脑cpu响应中断 | 在中断系统中cpu一旦响应中断

电脑cpu响应中断 | 在中断系统中cpu一旦响应中断

1. 在中断系统中cpu一旦响应中断

1、CPU 仅仅是【数据处理】的部件。中断信号则是由【北桥芯片】根据硬件请求发出的。

2、当其他部件需要【计算】时,北桥芯片就会把中断信号和数据传送到 CPU,CPU 就会中断工作,进入新的计算任务中,然后把计算结果反馈给北桥芯片。希望我的回答能够给你帮助,谢谢。

2. 为什么CPU响应中断后立即关中断

处理器间中断(Inter-Processor Interrupt,IPI)是一种特殊类型的中断,即在多处理器系统中,如果中断处理器需要来自其它处理器的动作,一个处理器向另一个处理器发出的中断行为。

可能要求采取的行动包括:刷新其它处理器的内存管理单元缓存,如转译后备缓冲器,当一个处理器更改内存映射时;停机,当系统被一个处理器关闭时。主要功能是当计算机由于异常事件,或者一些随机发生需要马上处理的事件时控制器会控制CPU暂时停止现在程序的执行,转向另一服务程序去处理这一事件,处理完毕再返回原程序的过程。

3. 引起cpu中断系统产生中断

电脑上有个硬件设备叫做中断控制器,而CPU上若干个引脚,中断控制器的输出引脚会和CPU的输入引脚链接起来,如果发生中断,对应引脚会收到信号。CPU在执行完一个指令后就会去检查引脚上是否有信号来,如果有就去处理信号(也就是中断函数)。中断函数是提前准备好的(系统启动时),cpu收到信号就去执行。这些流程都是硬件完成的,我们只需要遵循规则就可以了。

所以在收到信号和信号处理函数执行之间,是CPU硬件在进行衔接处理。

有人可能会疑惑CPU每次执行完指令都去检测引脚信号会不会导致性能问题?实际上不会,这些都是硬件电路完成的,这个检测逻辑处理速度基本就是电信号传递速度,而目前CPU已经很小了,电信号那点传播距离所耗费的时间基本可以忽略。

----------下面是以前的回答-------

简单说下我的理解。

从CPU的角度看,它的工作就是一直读取指令,然后执行。如果没有意外,这个过程会一直持续下去。

程序是由指令序列组成的,CPU执行某个程序时,就是读取对应程序的指令并执行(不太严谨)。如果没有意外,这个过程就不会中断,直到所有的指令都执行完。

linux是分时操作系统,就是CPU时间会分为多个时间片,比如10毫秒一个时间片,程序执行一个时间片之后,操作系统会重新选择一个任务来执行。问题是CPU是怎么知道时间片到了呢?又是如何触发任务选择的呢?

关键原理就是CPU有个外部时钟,这是一个倒数计时器,初始时会设置一个数字,比如1000,然后每个时钟脉冲数字减一,减到0的时候,就给CPU发一个信号,CPU会中断当前程序,来处理这个信号,这个信号的处理程序会重置计时器,并执行信号处理函数,如此反复,起到了时间分片的效果。

信号处理函数可能会重新选择另一个任务来执行,这个就是进程切换。

当然这些都需要CPU在硬件层级进行支持,比如可以接受外部中断信号,暂停当前任务,转去执行信号处理函数。然后操作系统会利用这种底层机制,做出分时功能。

注:实际中,能打断当前程序的中断事件有很多种,包括硬中断和软中断两大类,可以到网上找到相关的资料研究研究

4. 在中断系统中,cpu一旦响应中断

CPU响应可屏蔽中断的过程:CPU在INTR引脚上接到一个中断请求信号,如果此时IF=1,并且,当前的中断有最高的优先级,CPU就会在当前指令执行结束完以后开始响应外部中断请求。

这是,CPU通过INTA引脚连续发送两个负脉冲,外设接口在接到第二个负脉冲后,在数据线上发送中断类型码,CPU接到这个中断类型码后做如下操作:

1 将中断类型码放入暂存器保存;

2 将标志寄存器内容入栈,保护中断状态;

3 将IF和TF表示清零;

4 保护断点。IP和CS内容入栈;

5 根据当前中断类型码,在中断向量表找到相应的中断子程序的首地址,将其装入IP和CS,这样就可以实现自动转向中断服务子程序处执行。Intel 2164 芯片为64K*1b,所以需要2片就可以了,至于怎么连就得看你是子扩展还是位扩展了。2164的地址线是8根,有行选通和列选通,分时传送地址。

5. cpu响应中断后,中断处理的过程是

步骤一:任何一个PIE中断组的外设或外部中断产生中断.如果外设模块内的中断被使能,中断请求将被送到PIE模块.

2.

步骤二:PIE模块将识别出别的PIE中断组x内的y中断(INTx.y)申请,然后相应的PIE中断标志位被锁存

6. cpu响应中断过程

中断响应是解决中断的发现和接收问题的过程,是由中断装置完成的。中断响应是硬件对中断请求作出响应的过程,包括识别中断源,保留现场,引出中断处理程序等过程。

① CPU在当前指令执行结束时,响应中断,进入中断的响应周期;

② 发出二个中断回答信号INTA完成一个中断响应周期;

③ 进行断点及标志保存

如:将段地址(CS),偏移地址(IP)标志FR以及压入堆栈。

④ 读取中断类型号,找到中断源;

⑤ 装入中断服务程序的入口地址(CS,IP)

7. 一旦进入中断响应过程,CPU会立即

1.CPU同时接收到几个中断时,首先响应优先级最高的中断请求;

2、正在进行的中断过程不能被新的同级或低行优优先级的中断请求所中断;

3、正在进行的低行优优先级中断服务,能被高行优优先级中断请求中断;

若:同一执行优先级中的中断申请不止一个时,则有一个中断优先权排队问题。同一执行优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,优先权自高到低的顺序即:

外部中断0>定时/计数0>外部中断1>定时/计数1>串行接口

8. 只要有中断出现,CPU就立即响应中断

中断的条件有:

(1)有中断请求信号;

(2)中断请求没有被屏蔽;

(3)中断是开放的;

(4)CPU在处理完现行指令后响应中断;同时还要具备:

(1)CPU没有处理同级或更高级中断;

(2)正在执行的指令不是RETI、也不是访问IE和IP的指令。中断响应的步骤是:

(1)关中断;

(2)保存断点;

(3)保护现场;

(4)转入相应的中断服务程序;

(5)恢复现场;

(6)开中断;

(7)中断返回。

9. cpu在中断响应过程中

你使用的是什么微处理器啊?这个和具体的微处理器的类型有关,有些微处理器在响应中断后硬件会自动清除相应的中断请求标志位,而有些则不行,需要在中断服务程序中用软件来清除中断请求标志位。

10. 请说明什么是中断,并给出CPU响应中断

中断响应的条件:

1、有中断源发出的中断请求。

2、中断总允许位EA=1,即CPU开中断。

3、申请中断的中断源的中断允许位为1,即中断没有被屏蔽。

4、无同级或更高级中断正在被服务。

5、当前的指令周期已经结束。

中断响应受到阻断的情况:

CPU正在执行一个同级或高级的终端服务程序。

当前的机器周期不是正在执行指令的最后一个周期。

正在执行的指令是中断返回指令。执行中断返回后,至少再执行一条其他指令才响应中断。

11. cpu响应中断时,进入中断周期

  一般中断处理的主要步骤分别是中断请求、中断判优、中断响应、中断处理和中断返回。  在微机系统中,对于外部中断,中断请求信号是由外部设备产生,并施加到CPU的NMI或INTR引脚上,CPU通过不断地检测NMI和INTR引脚信号来识 别是否有中断请求发生。对于内部中断,中断请求方式不需要外部施加信号激发,而是通过内部中断控制逻辑去调用。无论是外部中断还是内部中断,中断处理过程 都要经历以下步骤: 请求中断→响应中断→关闭中断→保留断点→中断源识别→保护现场→中断服务子程序→恢复现场→中断返回。  请求中断  当某一中断源需要CPU为其进行中断服务时,就输出中断请求信号,使中断控制系统的中断请求触发器置位,向CPU请求中断。系统要求中断请求信号一直保持到CPU对其进行中断响应为止。  中断响应  CPU对系统内部中断源提出的中断请求必须响应,而且自动取得中断服务子程序的入口地址,执行中断 服务子程序。对于外部中断,CPU在执行当前指令的最后一个时钟周期去查询INTR引脚,若查询到中断请求信号有效,同时在系统开中断(即IF=1)的情 况下,CPU向发出中断请求的外设回送一个低电平有效的中断应答信号,作为对中断请求INTR的应答,系统自动进入中断响应周期。  关闭中断  CPU响应中断后,输出中断响应信号,自动将状态标志寄存器FR或EFR的内容压入堆栈保护起来,然后将FR或EFR中的中断标志位IF与陷阱标志位TF清零,从而自动关闭外部硬件中断。因为CPU刚进入中断时要保护现场,主要涉及堆栈操作,此时不能再响应中断,否则将造成系统混乱。  保护断点  保护断点就是将CS和IP/EIP的当前内容压入堆栈保存,以便中断处理完毕后能返回被中断的原程序继续执行,这一过程也是由CPU自动完成。  中断源识别  当系统中有多个中断源时,一旦有中断请求,CPU必须确定是哪一个中断源提出的中断请求,并由中断控制器给出中断服务子程序的入口地址,装入CS与IP/EIP两个寄存器。CPU转入相应的中断服务子程序开始执行。  保护现场  主程序和中断服务子程序都要使用CPU内部寄存器等资源,为使中断处理程序不破坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来,再进入的中断处理。现场保护是由用户使用PUSH指令来实现的。  中断服务  中断服务是执行中断的主体部分,不同的中断请求,有各自不同的中断服务内容,需要根据中断源所要完成的功能,事先编写相应的中断服务子程序存入内存,等待中断请求响应后调用执行。  恢复现场  当中断处理完毕后,用户通过POP指令将保存在堆栈中的各个寄存器的内容弹出,即恢复主程序断点处寄存器的原值。  中断返回  在中断服务子程序的最后要安排一条中断返回指令IRET,执行该指令,系统自动将堆栈内保存的 IP/EIP和CS值弹出,从而恢复主程序断点处的地址值,同时还自动恢复标志寄存器FR或EFR的内容,使CPU转到被中断的程序中继续执行。

tag:中断响应系统中断处理周期

相关内容