指令流水线( Computer Pipeline 原理象工业生产上的装配流水线: 指令流水线由多个不同功能的电路单元组成, 一条指令分成多个步骤分别由这些电路单元执行. 由于使多条指令或多个操作并行处理, 可实现在一个时钟周期完成一条指令,提高CPU的执行速度 注意:每条指令的执行步骤并未减少
指令流水线 ( Computer Pipeline) 原理象工业生产上的装配流水线: 指令流水线由多个不同功能的电路单元组成, 一条指令分成多个步骤分别由这些电路单元执行. 由于使多条指令或多个操作并行处理, 可实现在一个时钟周期完成一条指令, 提高CPU的执行速度. 注意: 每条指令的执行步骤并未减少
CPU执行指令的过程: 1.取指令FI( Fetch Instruction):从内存或高速缓存中读取指令 2.译码D( Decode):将指令进行解码 3.取操作数FO( Fetch operands):获取执行指令所需的数据 4.执行指令E( Execution Instruction):执行指令 5.回写W( Write back):将执行结果保存到内存或某个寄存器中 CLK 指令1F1D1FO1E1W1 指令2 F12D2FO2E 未采用流水线的CPU执行指令的过程
CPU执行指令的过程: 1. 取指令FI (Fetch Instruction): 从内存或高速缓存中读取指令 2. 译码D (Decode): 将指令进行解码 3. 取操作数FO (Fetch Operands): 获取执行指令所需的数据 4. 执行指令E (Execution Instruction): 执行指令 5. 回写W (Write Back): 将执行结果保存到内存或某个寄存器中. 指令1 指令2 FI1 D1 FO1 E1 W1 FI2 D2 FO2 E2 W2 CLK ……. 未采用流水线的CPU执行指令的过程
CLK 指令1F1D1FO1E1W1 指令2 FI2D2 FO2 E2W2 指令3 FO Ex w 指令4 FL4 D4 FO4 E4 W4 指令5 FIs Ds FO5 E5 W5 指令6 FI FO E6 Wo 指令7 FL,,FO E, W7 采用流水线的CPU执行指令的过程
指令1 指令2 指令3 指令4 指令5 FI1 D1 FO1 E1 W1 FI2 D2 FO2 E2 W2 FI3 D3 FO3 E3 W3 FI4 D4 FO4 E4 W4 FI5 D5 FO5 E5 W5 FI 指令6 6 D6 FO6 E6 W6 FI 指令7 7 D7 FO7 E7 W7 CLK ……. 采用流水线的CPU执行指令的过程
具有保护功能 在Ds下: 单任务 应用程序和操作系统是同级的 应用程序可以管理系统的所有资源 (包括内存各端口中断向量表等) 故,一个编得不好的程序会影响整个系统的运行,甚至造成死机 例如:一个程序把键盘中断关掉了, 所有程序就都不能从键盘获得键入的数据, 直到有程序重新打开键盘为止 一个程序陷入死循环,没有其他程序可以把它终止掉, 造成系统死机
在Dos下: 单任务 应用程序和操作系统是同级的 应用程序可以管理系统的所有资源 (包括内存,各端口,中断向量表等) 具有保护功能 故, 一个编得不好的程序会影响整个系统的运行,甚至造成死机. 例如: 一个程序把键盘中断关掉了, 所有程序就都不能从键盘获得键入的数据, 直到有程序重新打开键盘为止. 一个程序陷入死循环,没有其他程序可以把它终止掉, 造成系统死机
在 Windows下: 多任务 应用程序和操作系统不是同级的,即程序是有级别之分的 操作系统工作在最高级0级中而应用程序工作在最低级3级中, 所有的资源对应用程序来说是被“保护的: 应用程序对o端口和内存的访问受到限制 使其无法访问其他程序运行的内存 故,一个编得不好的程序不会影响整个系统的运行 例如:如果DOS应用程序无法正常返回系统, 只是出现该程序未正常结束的提示,允许用户强行结束该任务; 并不影响其他程序任务)的执行
在Windows下: 多任务 应用程序和操作系统不是同级的, 即程序是有级别之分的. 操作系统工作在最高级0级中,而应用程序工作在最低级3级中, 所有的资源对应用程序来说是被“保护”的: 应用程序对IO端口和内存的访问受到限制, 使其无法访问其他程序运行的内存. 故, 一个编得不好的程序不会影响整个系统的运行 例如: 如果DOS应用程序无法正常返回系统, 只是出现该程序未正常结束的 提示, 允许用户强行结束该任务; 并不影响其他程序(任务)的执行