计算机组成原理
1.计算机基本组成
计算机系统由硬件系统和软件系统组成。
主要结构如下图所示:
2.多级层次结构的计算机系统
计算机中程序的运行层次如下图所示:
3.冯诺依曼计算机的特点
- 计算机由运算器、控制器、存储器、输入设备、输出设备五部分构成;
- 指令和数据以同等地位存放在存储器中,并按地址寻访;
- 指令和数据用二进制码表示;
- 指令由操作码和地址码组成;
- 指令在存储器中顺序存放;
- 以运算器为中心。
经进一步优化,现代计算机系统中将控制器(CU)和运算器(ALU)合并为CPU,CPU和主存共同构成主机。
4.计算机的组成细化和工作步骤
计算机中最重要的就是CPU和内存,我们的程序和数据都以二进制的形式保存在内存中,先了解一下CPU和内存更加细节的东西。
- 内存(主储存器)
主储存器中有存储体、存储器地址寄存器(MAR)和存储器数据寄存器(MDR)。
指令和数据存储在存储体中,存储体中有许多存储单元,每个存储单元中有许多存储元件(存0/1)。相当于大楼(存储体)中的许多房间(存储单元),房间中的许多床(存储元),其中每个房间都有一个编号(即存储单元的地址号)。一个存储单元可储存一段二进制代码,成为一个存储字,二进制代码的长度成为字长。
MAR是存储器地址寄存器,存放欲访问的存储单元的地址,其位数对应存储单元的数目;MDR是存储器数据寄存器,存放欲取出或存放的代码,其位数和存储单元字长相等。
早期计算机的存储字长一般和指令字长与地址字长相等,故访问一次主存便可取一条指令或一个数据;现代计算机存储字长、指令字长、数据字长一般不相等,但必须是字节(8bit)的整数倍。 - 运算器
运算器包括三个寄存器和一个ALU:ACC(累加器)、算数逻辑单元(ALU)、MQ(乘商寄存器)、X(操作数寄存器)。
加法 | 减法 | 乘法 | 除法 | |
---|---|---|---|---|
ACC | 被加数、和 | 被减数、差 | 乘积高位 | 被除数、余数 |
MQ | 乘数及乘积低位 | 商 | ||
X | 加数 | 减数 | 被乘数 | 除数 |
(1)加法:
[M]->X; [ACC]+[X]->ACC;//取地址为M的数据到X,与ACC中数据操作
(2)减法:
[M]->X; [ACC]-[X]->ACC;//取地址为M的数据到X,与ACC中数据操作
(3)乘法:
[M]->MQ; [ACC]->X;//取地址为M的数据到MQ,ACC中的数据到X
0->[ACC];//ACC清零
[X]x[ACC]->ACC//MQ。//乘积高位在ACC,低位在MQ
(4)除法:
[M]->X;//取地址为M的数据到X
[ACC]/[X]->MQ;//相除,结果存放在MQ中
余数R存放在ACC中;//余数在ACC中
3. 控制器
控制器是计算机的神经中枢,它的工作有三步:取指令,分析,执行。包括程序计数器(PC,存放当前欲执行指令的地址)、指令寄存器(IR,用来存放当前指令)、控制单元(CU)。
模拟取数指令:
(1)取指令:PC->MAR->M->MDR->IR;
(2)分析:OP(IR)->CU;
(3)执行:Ad(IR)->MAR->N->MDR->ACC;
(4)完成这一指令后,PC++,继续运行,直到读到停机指令。
5.计算机硬件重要指标
- 机器字长:CPU一次能处理数据的位数;
- 存储容量=存储单元个数*存储字长(1K=1024,1M=1024K);
- 运算速度。