处理器设计案例研究
立即解锁
发布时间: 2025-08-20 02:12:45 阅读量: 1 订阅数: 4 


计算机架构:软件、编码与硬件的综合探讨
# 处理器设计案例研究
## 1 处理器基础特性
在处理器设计中,一些基础特性影响着其性能和功能。部分处理器的索引寄存器有特殊用途,当它作为暂存器(累加器)时可正常使用,但作为索引时其内容假定为零。若指令中的 X2 字段为零,则不指定索引。短位移字段在寻址范围上容易引起混淆,不过索引寄存器为 32 位,可使用地址常量,通过在索引寄存器中加载 32 位地址常量,能获得高达 4GB 的寻址空间。
RS 指令可加载或存储多个寄存器,具备有限的向量运算能力。R3 指定寄存器集的上限,R1 指定下限,仅剩下一个索引寄存器 B2 作为基址。SI 指令中,I2 字段包含一个立即字节,目的操作数在内存中,索引字段为 B1,D1 是 12 位偏移量。SS 指令为六字节,可将 256 字节的块从一个内存位置移动到另一个内存位置,一字节的 L(长度)指定块大小,每个地址只能指定一个索引寄存器。
处理器还提供了对 32 位、64 位或 128 位操作数进行舍入、归一化和浮点运算的指令。每台机器可能使用两级分页的虚拟内存,虚拟内存有一个长达 4GB 的单一线性段。例如,第二个源操作数的 32 位虚拟地址是 D2、R[X2] 和 R[B2] 的和,虚拟地址 VA 是一个有序三元组 (S, P, D),其中 S 是段号,P 是页号,D 是位移。整数 S 是一级页索引或页目录索引,用于在段表 ST 中获取页表 PT 的基地址;整数 P 是二级页索引,用于在 PT 中获取页帧号 PFN。
每台机器支持 16 个或更多的 I/O 通道,每个通道可连接 256 个 I/O 设备,因此最多 4096 个 I/O 设备可通过通道访问中央内存。此外,机器支持特权 I/O 指令,操作系统可靠。
## 2 精简指令集计算机(RISC)
20 世纪 80 年代的 VAX 机器是一种快速的复杂指令集计算机,有 304 条指令和 21 种寻址模式,其设计理念是“越多越好”。但 VAX 处理器的复杂性引发了计算机设计的革命,设计理念转变为“少即是多”。早期的 CDC6600 和 IBM801 就是 RISC 机器,直到 Patterson 和 Hennessy 发表研究成果后,RISC 概念才受到广泛关注。
RISC 机器具有以下特点:
- 统一的 32 位指令长度。
- 六位操作码和三个地址。
- 采用加载/存储架构,进行寄存器 - 寄存器操作。
- 拥有大量寄存器,32 个或更多。
- 采用硬连线流水线。
RISC 机器的指令逻辑格式基本相同。RR 指令中,六位操作码后依次是五位源寄存器 1、五位源寄存器 2、五位目的寄存器和 11 位扩展操作。RX 指令包含一个内存地址,除操作码和源寄存器 1 外,源寄存器 2 字段包含一个索引寄存器地址和 16 位位移。比较和条件分支操作合并为一条指令,通常使用相对寻址模式,分支地址是相对位移和程序计数器的和。
由于指令长度固定,从指令缓存中检索指令很容易。不过,这种设计在早期第二代计算机中就有尝试,如 IBM 704 和 PDP - 10 等,它们将指令映射到 36 位的内存字中,导致部分位未充分利用,代码尺寸较大。
典型的 RISC 机器支持 32 个通用寄存器(GR)和 32 个浮点寄存器(FR)。大量寄存器有两个优点:一是在子程序调用时,参数通过寄存器传递而非栈,减少了内存引用次数,返回时也无需弹出栈;二是寄存器可用于存储局部和全局变量,编译器可生成代码消除数据依赖,从而在执行单元中实现并行操作。但缺点是中断时上下文切换较慢,因为保存和恢复大量寄存器需要更长时间。
RISC 机器对大型机和个人电脑未构成威胁,Power PC 在嵌入式系统中很受欢迎,原因如下:
- 缺乏复杂的 I/O 结构。
- 没有分页保护,存在开销,在多程序系统中竞争力不足。
- 缺乏市场时机和动力。
### 2.1 Power PC
POWER 代表性能优化的增强型 RISC 技术,该机器旨在运行类似 UNIX 的操作系统,用于科学和商业应用。CPU 采用硬连线流水线,有 64 个通用寄存器和 64 个浮点寄存器。早期型号支持 32 位寄存器,后期型号将寄存器大小增加到 64 位。芯片有 40 位地址总线和 64 位数据总线以支持 PCI。其流水线 CPU 有多个独立执行单元,包括定点单元(FXU)、浮点单元(FPU)、加载/存储单元(LSU)、分支处理单元(BPU)和完成单元(CU),CU 类似于按程序顺序退休指令的退休单元(RU)。系统还支持指令队列、指令缓存和数据缓存,流水线能在一个时钟周期内执行每个阶段。
处理器有转换后备缓冲器(TLB)和内存管理单元(MMU)以支持两级分页系统,与 IBM 360/370 大型机一样,是线性段系统。虚拟地址 VA 是有序三元组 (S, P, D),其中 S 为 4 位,P 为 16 位,D 为 12 位,页大小为 4KB,段大小为 256MB,虚拟地址空间为 4GB,映射后物理地址空间也为 4GB。后期型号支持 64 位虚拟地址,物理地址增加到 44 位(16TB)。
### 2.2 Alpha 处理器
Alpha 芯片是市场上第一款 64 位微处理器,时钟频率高达 417Mhz,具有以下设计特点:
- 32 个通用寄存器和 32 个浮点寄存器,每个寄存器 64 位。
- 没有整数除法指令,进行整数除法时需使用浮点运算分三步完成,且除法前后需要进行数据转换。
- 支持基于寄存器内容的条件移动指令,旨在不使用分支实现 IF - THEN - ELSE 结构。
- 拥有大的虚拟地址空间(55 位)和物理地址空间(48 位)。
- 采用三级线性分页系统。
Alpha 也使用固定长度的 32 位指令,每条指令有六位操作码和三个地址。低型号中每个寄存器为 32 位,高型号为 64 位并带有 64 位加法器。
其虚拟地址 VA 是有序四元组,支持非常大的虚拟地址空间。例如,55 位的 VA 是程序地址,为避免单级分页系统中页表过大的问题,将大页号分为三个字段:P1、P2 和 P3,分别为一级、二级和三级页索引,VA 的低位构成页内位移 D。TLB 条目包含大页号 (P1, P2, P3)、32 位页帧号 PF 以及控制位。
地址转换时,硬件先搜索 TLB,若未匹配则使用三级页表搜
0
0
复制全文
相关推荐










