计组-5.2 指令执行过程
5.2 指令执行过程
1.指令周期
==区分:指令周期,机器周期,时间周期==
指令周期:CPU从主存中每取出并执行一条指令所需的全部时间。【一个指令周期 = x个机器周期】
机器周期:==指令有多少步,就有几个机器周期。==分为 定长机器周期 和 不定长机器周期。又call:==CPU周期==。
时间周期:即节拍,==是CPU的最基本操作单位。==
- 时间周期是CPU出厂设定好的(主频倒数)。但是不同的CPU的时间周期有长有短。
==每个指令周期内的机器数可以不等,每个机器周期内的节拍数也可以不等(当机器周期不定长的情况下)。==
**==指令完整周期:==**取值 – (间址) – 执行 – (中断)周期。 四个工作周期都可以有CPU访存的操作。
- CPU区分指令/数据的依据是:指令周期的不同阶段。
2.指令完整(四个)周期 – 的数据流情况⭐
取址周期:根据PC的内容从主存储器取出指令并放到IR中。
间址周期:根据IR中指令的地址码,==取操作数的有效地址==。
执行周期:根据指令的操作码和操作数,进行处理。
中断周期:保存断点,处理中断请求。
3.指令执行方案(3)
单指令周期:所有指令执行时间相同,都是一个时钟周期。==(时间周期长)==
- 时钟周期depend on最长的指令【在出厂适合被设定好的了】(eg空指令和间接寻址指令时间一样)。
多指令周期:根据指令的不同,用不同个数(≥2)时间周期完成。指令**==串行执行(同单)==**。硬件设计复杂。==(时间周期短)==
指令流水线:
- 在每个节拍(时钟周期)启动一条指令。(一段时间后)多条指令**==同步执行==**,但各自处在不同的执行步骤中。
- 要点:CPU 内部将数据通路划分为多个级。
其他:
- DMA:Direct Memory Access(直接存储器访问)。数据直接从外存→内存,无需CPU。
- CPU只有在确定取出的是指令后,才会将其操作码送去译码,因此不能根据译码的结果区分指令和数据。
评论



