处理器微架构与指令集架构详解
1. 处理器与指令集概述
处理器及其指令集是任何架构的基础组件,因为它们驱动着架构的功能。可以说,处理器是计算机系统的“大脑”,所以理解处理器的工作原理对于理解多处理器的工作机制至关重要。
1.1 指令集与异常
指令集包含异常处理机制,异常可视为处理器指令集的软件扩展,是指令集架构定义的重要组成部分,必须严格遵循。异常会对处理器架构施加约束,如果无需支持异常,处理器和多处理器的效率可能会更高,但会失去指令集软件扩展在各种场景下提供的灵活性和便利性。这里采用的基本指令集大致受MIPS指令集的启发,MIPS指令集相对简单,便于解释和掌握处理器组织的基本概念。不过,在必要时也会解释更复杂指令集(如Intel x86)所需的扩展。
1.2 处理器流水线
由于关注的是并行架构,所以从5级流水线开始介绍。5级流水线每个时钟周期可同时处理多达五条指令,它是一种静态流水线,指令执行顺序由编译器决定,硬件不会动态重新排序指令执行。5级流水线利用了诸如停顿、数据转发和流水线级刷新等基本机制,这些机制是所有处理器架构中都会用到的基本硬件机制,必须深入理解。5级流水线可扩展为静态超流水线和超标量处理器:
- 超流水线处理器的时钟频率比5级流水线更快,5级流水线中一个阶段处理的某些功能会分散到多个阶段,并且更复杂的指令(如浮点指令)可在处理器执行单元中直接进行流水线处理。
- 静态超标量处理器每个周期可获取并执行多条指令。
静态流水线的效率完全依赖于编译器优化。虽然编译器对代码有高层次的了解,能轻松识别循环等,但会错过一些硬件可获取的动态信息,如内存地址。
处理器微架构与ISA详解
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



