计算机系统结构
处理器系统架构分类(两种方式)
- 指令流-数据流的不同组织方式
- SISD:单指令流单数据流
- SIMD:单指令流多数据流
- MISD:多指令流单数据流(理论模型,实际未使用)
- MIMD:多指令流多数据流
- CPU指令集类型
- CISC:复杂指令系统计算机
- RISC:精简指令系统计算机
RISC VS CISC
https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/risccisc/
查 RISC 体系结构优缺点的最简单方法是将其与其前身:CISC(复杂指令集计算机)体系结构进行对比。
在内存中将两个数字相乘
右边是表示通用计算机存储方案的图表。主存储器分为从(行)1:(列)1 到(行)6:(列)4 编号的位置。执行单元负责执行所有计算。但是,执行单元只能对已加载到六个寄存器(A、B、C、D、E 或 F)之一的数据进行操作。假设我们想要找到两个数字的乘积——一个存储在位置 2:3,另一个存储在位置 5:2——然后将乘积存储回位置 2:3。
CISC 方法
CISC 体系结构的主要目标是在尽可能少的装配线中完成任务。这是通过构建能够理解和执行一系列操作的处理器硬件来实现的。对于这个特定的任务,CISC 处理器会准备好一条特定的指令(我们称之为“MULT”)。执行时,该指令将两个值加载到单独的寄存器中,将执行单元中的操作数相乘,然后将乘积存储在适当的寄存器中。因此,两个数相乘的整个任务可以用一条指令完成:
MULT 是所谓的“复杂指令”。它直接在计算机的内存库上运行,不需要程序员显式调用任何加载或存储函数。它非常类似于高级语言中的命令。例如,如果我们让“a”代表 2:3 的值,“b”代表 5:2 的值,那么这个命令就等同于 C 语句“a = a * b”。
该系统的主要优点之一是编译器只需做很少的工作即可将高级语言语句翻译成汇编。因为代码的长度相对较短,所以只需要很少的 RAM(寄存器) 来存储指令。重点放在直接将复杂指令构建到硬件中。
RISC 方法
RISC 处理器仅使用可在一个时钟周期内执行的简单指令。因此,上面描述的“MULT”命令可以分为三个独立的命令:“LOAD”,它将数据从内存组移动到一个寄存器,“PROD”,它找到位于寄存器内的两个操作数的乘积,以及“STORE”,它将数据从寄存器移动到内存库。为了准确执行 CISC 方法中描述的一系列步骤,程序员需要编写四行汇编代码:
负载 A,2:3
负载 B,5:2
产品 A,B
存储 2:3,A
乍一看,这似乎是一种效率较低的完成操作的方法。因为有更多的代码行,所以需要更多的 RAM 来存储汇编级指令。编译器还必须执行更多的工作来将高级语言语句转换为这种形式的代码。
CISC | 精简指令集 |
重视硬件 | 重视软件 |
包括多时钟 复杂指令 |
单时钟, 仅精简指令 |
内存到内存:指令中包含 “LOAD”和“STORE” |
注册到注册: “LOAD”和“STORE” 是独立的指令 |
代码量小, 每秒循环次数多 |
每秒循环数低, 代码量大 |
用于存储 复杂指令的晶体管 |
在存储寄存器上花费更多的晶体管 |
然而,RISC 策略也带来了一些非常重要的优势。因为每条指令只需要一个时钟周期来执行,所以整个程序的执行时间与多周期“MULT”命令的执行时间大致相同。这些 RISC“精简指令”比复杂指令需要更少的硬件空间晶体管,从而为通用寄存器留出更多空间。因为所有的指令都在统一的时间内执行(即一个时钟),流水线是可能的。
将“加载”和“存储”指令分开实际上减少了计算机必须执行的工作量。执行 CISC 样式的“MULT”命令后,处理器会自动擦除寄存器。如果其中一个操作数需要用于另一次计算,处理器必须将数据从内存库重新加载到寄存器中。在 RISC 中,操作数将保留在寄存器中,直到另一个值加载到它的位置。
The Performance Equation
以下等式通常用于表示计算机的性能:
CISC 方法试图最小化每个程序的指令数,从而牺牲每个指令的周期数。RISC 则相反,它以每个程序的指令数为代价减少了每条指令的周期。
RISC 障碍
尽管基于 RISC 的处理具有优势,但 RISC 芯片花了十多年的时间才在商业世界站稳脚跟。这主要是由于缺乏软件支持。
尽管 Apple 的 Power Macintosh 系列采用基于 RISC 的芯片并且 Windows NT 与 RISC 兼容,但 Windows 3.1 和 Windows 95 在设计时就考虑到了 CISC 处理器。许多公司不愿意冒险使用新兴的 RISC 技术。如果没有商业利益,处理器开发商就无法大批量生产 RISC 芯片以使其价格具有竞争力。
另一个重大挫折是英特尔的存在。尽管他们的 CISC 芯片变得越来越笨重且难以开发,但英特尔仍有资源进行开发并生产出功能强大的处理器。尽管 RISC 芯片可能会在特定领域超越英特尔,但差异不足以说服买家改变技术。
RISC 的整体优势
今天,Intel x86 可以说是唯一保留 CISC 架构的芯片。这主要是由于计算机技术其他领域的进步。RAM 的价格大幅下降。1977 年,1MB 的 DRAM 成本约为 5,000 美元。到 1994 年,同样数量的内存成本仅为 6 美元(根据通货膨胀进行调整)。编译器技术也变得更加成熟,以至于 RISC 对 RAM 的使用和对软件的重视变得理想化。