CPU的中断时间是一个较为抽象的概念,它通常指的是从发出中断请求到进入中断处理所用的时间。而响应时间则是从接收到中断到开始执行中断服务函数的时间。
对于一个具体的计算来说,中断响应时间可以按照以下步骤进行:
1. 确定最大关中断时间和保护CPU内部寄存器的时间。
2. 根据中断向量表找到对应的终端服务函数地址即入口,进入中断服务函数。
3. 开始执行中断服务函数的指令时间,直到执行完最后一条指令。
对于一个具体的中断频率,可以按照以下公式计算:
中断频率 = 数据传输速率 / 缓冲区大小
其中,数据传输速率是指每秒钟传输的位数,缓冲区大小是指缓冲区中每次最多存储的数据大小。
总的来说,CPU的中断时间和响应时间取决于多个因素,包括硬件和软件的设计,数据传输速率等等。
中断响应时间:从外部中断请求有效(外部中断请求标志置1)到转向中断入口地址所需要的响应时间。每个机器周期的S5P2时刻,INTx引脚的电平被锁存到内部寄存器中,待下一个周期查询。
最短时间:中断请求有效,查询后在下一个周期便开始执行一条硬件的子程序的调用(时间是两个周期),然后开始执行服务程序的第一条指令。这样从锁存电平的周期到执行中断服务程序,中间相隔3个机器周期。
2.最长时间:如果中断信号发生在前面所说的3种情况时,响应时间就要变长:
(1)响应时间取决于正在执行的同级或高级中断的执行时间;
(2)指当前CPU执行的指令是多周期指令,如乘除法指令(4个 周期),最坏情况,还要等3个周期。这样响应周期变为3+3=6个周期
(3)CPU当前执行的指令是RETI或访问IE、IP寄存器时,本指令(1个周期)没有响应,且下一条指令执行完后才能响应,这样附加的等待时间最长不会超过5个周期(1+4)。整个响应为5+3=8个周期。
这样,如果不考虑第1种情况,整个中断响应的时间范围应当是: 3~8个机器周期。