第一章:计算机系统概述
-
计算机体系结构:是指能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特征。(例如:指令集、数据类型、存储器寻址技术、I/O机理等抽象的属性)
-
计算机组成:是指如何实现计算机体系结构所体现的属性,包含了许多硬件细节。(例如:指令系统体现了机器的属性,这是属于计算机结构的问题;指令的实现即取指、分析指令、取操作数、运算、送结果等属于计算机组成问题)
OVERVIEW
一、计算机系统层次结构
1945年数学家冯·诺依曼在研究EDVAC机时提出了存储程序的概念,以此概念为基础设计的计算机称为冯·诺依曼机:
- 计算机由运算器、控制器、存储器、输入设备和输出设备5大部件组成
- 指令和数据以同等地位存放在储存器内,并可按地址寻访
- 指令和数据均用二进制数表示
- 指令由操作码和地址码组成,操作码表示操作的性质、地址码表示操作数在存储器中的位置
- 指令在存储器内按顺序存放
- 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成
1.硬件框图
现代计算机在冯·诺依曼机的基础上将存储器转化为中心的计算机体系结构,其结构如下:
- 存储器用来存放数据和程序
- 运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内
- 控制器用来控制程序和数据的输入、输出、运行以及处理运算结果
注:现代计算机可认为由3大部分组成:CPU(运算器、控制器)、I/O设备及主存储器
2.功能部件
(1)存储器
存储器是计算机的存储部件,用于存放程序和数据。存储器分为主存储器(主存/内存储器)和辅助存储器(辅存/外存储器)。
主存储器主要包括存储体M、各种逻辑部件及控制电路等,其工作方式为按地址访问主存从而实现读写操作。为了实现按地址访问的方式,主存中还必须配备两个寄存器MAR、MDR。
- 存储体M:主要用于存放二进制信息
- MAR:存储器地址寄存器Memory Address Register用于存放欲访问存储单元的地址,其位数对应存储单元的个数。(如MAR为10位,则对应存储单元的个数为2^10 = 1024个(1K))
- MDR:存储器数据寄存器Memory Data Register用于存放从存储体某单元取出的代码 or 准备往某存储单元存入的代码,其位数与存储字长相等。
- 时序控制逻辑:主要用于产生存储器操作所需的各种时序信号
注:MAR与MDR虽然是存储器的一部分,但在现代CPU中MAR、MDR与高速缓存Cache都是存在于CPU中的。
(2)运算器
运算器是计算机的执行部件,用于进行算术运算和逻辑运算。
- 运算器的核心是ALU算术运算单元Arithmetic and Logical Unit,
- 运算器还包含若干通用寄存器用于暂存操作数和中间结果,如累加器ACC、乘商寄存器MQ、通用的操作数寄存器X等。
- 运算器内还有程序状态寄存器PSW,也有标志寄存器用于存放ALU运算得到的一些标志信息或处理机的状态信息,是否溢出、有无进位/错位、结果是否为负等。
(3)控制器
-
控制器是计算机的神经中枢,由它指挥各部件自动、协调的工作包括取指、分析、执行。
-
控制器由PC程序计数器Program Counter、IR指令寄存器Instruction Register以及控制单元CU组成。
PC程序计数器:用来存放当前欲执行指令的地址,PC与MAR之间有一条直接通路且能够自动加1(自动形成下一条指令的地址)
IR指令寄存器:用来存放当前指令,IR的内容来自主存的MDR
CU控制单元:用来分析当前指令所需完成的操作,并发出各种微操作命令序列用于控制所有被控对象
补充:
- IR中的操作码OP(IR)送至CU,记作OP(IR)—>CU,用于分析指令
- IR中的地址码Ad(IR)作为操作数的地址送至存储器的MAR,记作Ad(IR)—>MAR
(4)IO设备:
输入设备主要功能是将程序和数据以机器所能识别和接受的信息形式输入计算机。
输出设备主要功能是将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。
3.工作流程
在将程序和数据输入主存之后计算机工作的流程:
(1)源程序到可执行文件:
(2)可执行文件首地址开始逐条执行指令:
int a = 2, b = 3, c = 1, y = 0;
void main() {
y = a * b + c;
}
4.层次结构
多层次结构的作用:根据从各种角度所看到的机器之间的联系,来分清明确各自之间的功能使计算机系统结构更合理。
二、计算机性能指标
1.机器字长
机器字长:计算机进行1次定点整数运算所能处理的二进制数据的位数,通常与CPU的寄存器位数、加法器相关。
- 机器字长一般等于内部寄存器的大小,字长越长数的表示范围越大,计算精度越高。
- 机器字长通常选定为字节8位的整数倍
2.存储容量
主存容量是指主存存储器所能存储信息的最大容量,通常以字节Byte来衡量(也可用字数*字长512K * 16位来表示储存容量)
- MAR的位数反映存储单元的个数,
- MDR的位数反映可寻址范围的最大值(不一定是实际存储器的存储容量)
3.运算速度
概念 | 具体说明 |
---|---|
CPU主频 | CPU内数字脉冲信号振荡的频率 |
CPI | Clock cycle Per Instruction,执行1条指令所需要的时钟周期数(不同的指令CPI不同,相同的指令CPI也可能有变化) |
IPS | Instructions Per Second,每秒执行多少条指令(IPS=主频/平均CPI) |
FLOPS | Floating-point Operation Per Second,每秒执行多少次浮点运算 |
4.系统整体性能指标
概念 | 说明 |
---|---|
数据通路带宽 | 数据总线1次所能并行传送信息的位数(各硬件部件通过数据总线传输数据) |
吞吐量 | 指系统在单位时间内处理请求的数量,主要取决于主存的存取周期 |
响应时间 | 用户向计算机发送请求,到系统对该请求做出响应并获得它所需要的结果的等待时间 |