一、计算机的硬件组成
计算机硬件系统是依照冯·诺依曼所设计的体系结构,即计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成。

- 运算器和控制器组成中央处理器(CPU)。
- 控制器负责依次访问程序指令,进行指令译码,并协调其他设备,通常由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、状态/条件寄存器、时序发生器、微操作信号发生器组成。(取指令、分析指令)
- 运算器负责完成算术、逻辑运算功能,通常由ALU(算术逻辑单元)、寄存器、多路转换器、数据总线组成。(执行指令)
- 程序计数器(PC):是用于存放下一条指令所在单元的地址。(取指令)
- 指令寄存器(IR):存放当前从主存读出的正在执行的一条指令。(取指令)
- 指令译码器(ID):分析指令的操作码,以决定操作的性质和方法。(分析指令)
- 中央处理器 (Central Processing Unit)
- 执行单元(Execution Unit)
- 总线接口单元(Bus Interface Unit)
- 控制单元(Control Unit)
计算机要执行指令时,处理器首先从PC中取出指令在内存中的地址,通过地址总线寻址获取。然后,把从内存中取出的这条指令经数据总线送往指令寄存器中。指令的操作码被送到指令译码器中译码,地址码则送到地址形成部件,地址形成部件根据指令特征将地址码形成有效地址,取出数据参与操作。
例:计算机在一个指令周期的过程中,为从内存读取指令操作码,
首先要将( )的内容送到地址总线上。
A.指令寄存器(IR)
B.通用寄存器(GR)
C.程序计数器(PC)
D.状态寄存器(PSW)
总线是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连,外部设备通过相应的接口电路与总线相连,从而形成了计算机硬件系统。
系统总线包含三种不同功能的总线:
- 数据总线(Data Bus,DB)用于传送数据信息(双向的)
- 地址总线(Address Bus,AB)专门用来传送地址(单向的,地址总线的位数决定了CPU可寻址的内存空间的大小)
- 控制总线(Control Bus,CB)传送控制信号和时序信号(双向的)
二、CPU特性
- 指令周期:取出并执行一条指令所需的时间。
- 总线周期:指CPU通过总线对存储器或I/O端口进行一次访问(存取一个字节)所需的时间,也称为主振周期。
- 时钟周期:也称为振荡周期,是计算机中最基本的、最小的时间单位。定义为时钟脉冲的倒数。(i5 2.6GHz)
指令周期>总线周期>时钟周期
它们之间的关系:一个指令周期可以划分为一个或多个总线周期,根据指令的不同,需要的总线周期也不同;而一个总线周期又可分为几个时钟周期,通常是4个时钟周期,有些计算机可能不同。
1、计算总线数据传输速率
总线数据传输率=时钟频率/每个总线包含的时钟周期×每个总线周期传送的字节数
例:某系统总线的一个总线周期包含3个时钟周期,每个总线周期中可以传送32位数据。若总线的时钟频率为33MHz,则总线的带宽(即传输速度)应该是多少?
根据上述公式得出:33MHz/3×32b=11M×32b=11M×4B=44MB/S
2、计算系统速度
系统速度:每秒指令数=时钟频率/每个总线包含的时钟周期数/指令平均占用总线周期数
计算每秒执行的指令数的关键,在于找出平均每条指令需要多少个总线周期,然后将总线周期数(时钟频率/每个总线包含的时钟周期数)除以这个平均周期数,就可以计算出来。但通常不同的指令需要的总线周期数是不同的,这就需要有各种指令需要的总线周期数,以及指令的频度,通过计算得出。
三、指令系统基础
指令由操作码和地址码两个部分组成的。
- 操作码指出该指令要完成什么操作
- 地址码提供原始的数据
在指令系统中用来确定如何提供操作数或提供操作数地址的方式称为寻址方式和编址方式。
操作数可以采用以下四种寻址方式:
- 立即寻址:直接给出操作数而非地址。
- 直接寻址:直接给出操作数地址或所在寄存器号(寄存器寻址)。
- 间接寻址:给出的是指向操作数地址的地址。
- 变址寻址:给出的地址需与特定的地址值累加从而得出操作数地址。
四、RISC与CISC
- 为提高操作系统的效率,人们最初选择向指令系统中添加更多、更复杂的指令来实现,导致指令集越来越大。这种类型的计算机称为复杂指令集计算机(CISC)。(不利于流水线技术)
- 对指令数目和寻址方式做精简,指令的指令周期相同,采用流水线技术,指令并行执行程度更好,这就是精简指令集计算机(RISC)。(现代计算机通常采用)
计算机执行程序的时间P由三方面因素决定:
- 编译后产生的机器指令数 I
- 执行每条指令所需的平均周期数CPI
- 每个机器周期时间T
它们的关系是:P=I x CPI x T
指令系统类型 | 指令 | 寻址方式 | 实现方式 |
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种方式 | |
RISC(精简) | 数量少,使用频率接近,定长格式 | 支持方式少 | 硬布线逻辑控制为主 |
RISC正是通过简化指令的途径使计算机结构更合理,减少指令执行周期数,提高运算速度的。虽然RISC编译后产生的机器指令数I增多了,但指令所需的周期数(CPI)和每个周期时间(T)都减少。