计算机组成原理-第一章 计算机系统概述
计算机组成原理
第一章 计算机概述
1.1计算机发展
1.2计算机硬件的基本组成
1.3计算机的各个部件
1.3.1 存储器 (主存储器)
一般的读操作
写入数据
1.3.2运算器
1.3.3控制器
1.3.4 计算机工作过程
注OP Ad 分别是 操作码 和地址码
所有数据都是存放在存储体中
程序开始 第一条指令存放在存储体0号位置
首先 程序运行前 PC 会指向0号地址
-
1.PC取出相对应0号地址的指令 通过地址总线传送到MAR中 导致(MAR)=0 ----------------------------------也就是控制器向存储器发出 ‘我接下来要访问0号地址对应的指令’ 同时控制器会通过控制总线向存储器发出 我这次进行读操作指令
-
2.3.接下来主存储器会根据MAR中存储的地址向存储体中找出0号地址对应的数据,并且把这些数据放到MDR中
-
4.把MDR中的数据也就是一条指令 通过数据总线 放到IR中
-
5.然后控制器中的IR把指令的操作码送到CU中,CU分析指令得知,是取数 指令
-
6.既然要取数 那么就是把IR中的地址码送到MAR中,(MAR)=5
-
7.8.MAR根据地址去存储体中找到5号位置对应的数据,并且把数据放到MDR中
-
9.在控制单元的指挥下 把数据传送到ACC中
-
10.上一条指令执行完PC自动加1 (PC)=1,继续新的指令,PC取出相对应1号地址的指令 通过地址总线传送到MAR中 导致(MAR)=1
-
接下来主存储器会根据MAR中存储的地址向存储体中找出1号地址对应的数据,并且把这些数据放到MDR中
-
把MDR中的数据也就是一条指令 通过数据总线 放到IR中
-
然后控制器中的IR把指令的操作码送到CU中,CU分析指令得知,是乘法 指令
-
既然要取数 那么就是把IR中的地址码送到MAR中,(MAR)=6
-
MAR根据地址去存储体中找到6号位置对应的数据,并且把数据放到MDR中
-
在控制单元的指挥下 把数据传送到ACC中
-
乘法操作把被乘数放到通用寄存器X中
-
CU只会ALU进行乘法运算,ALU照做后把结果放到ACC中
- 上一条指令执行完PC自动加1 (PC)=2,继续新的指令,PC取出相对应2号地址的指令 通过地址总线传送到MAR中 导致(MAR)=2
- 接下来主存储器会根据MAR中存储的地址向存储体中找出2号地址对应的数据,并且把这些数据放到MDR中
- 把MDR中的数据也就是一条指令 通过数据总线 放到IR中
- 然后控制器中的IR把指令的操作码送到CU中,CU分析指令得知,是加法 指令
- **既然要取数 那么就是把IR中的地址码送到MAR中,(MAR)=7 **
- MAR根据地址去存储体中找到7号位置对应的数据,并且把数据放到MDR中 (MDR)=1
- 加法操作把加数放到通用寄存器X中 **在控制单元的指挥下 把数据传送到X中 (X)=1 **
- CU只会ALU进行加法运算,ALU照做后把结果放到ACC中 (ACC)=7
- 上一条指令执行完PC自动加1 (PC)=3,继续新的指令,PC取出相对应3号地址的指令 通过地址总线传送到MAR中 导致(MAR)=3
- 接下来主存储器会根据MAR中存储的地址向存储体中找出3号地址对应的数据,并且把这些数据放到MDR中
- 把MDR中的数据也就是一条指令 通过数据总线 放到IR中
- 然后控制器中的IR把指令的操作码送到CU中,CU分析指令得知,是存数 指令
- 把IR中的地址码送到MAR中,(MAR)=8
- 把ACC中的数据结果通过数据总线送到MDR中------------------CU通过控制总线告诉主存 是写操作 把MDR中的数据放到MAR中的位置
- 此时地址为8的 存储单元 存放着y=7
- 上一条指令执行完PC自动加1 (PC)=4,继续新的指令,PC取出相对应4号地址的指令 通过地址总线传送到MAR中 导致(MAR)=4
- 接下来主存储器会根据MAR中存储的地址向存储体中找出4号地址对应的数据,并且把这些数据放到MDR中
- 把MDR中的数据也就是一条指令 通过数据总线 放到IR中
- 然后控制器中的IR把指令的操作码送到CU中,CU分析指令得知,是停机 指令
小结
现代计算机CPU中往往包含着 MAR MDR
1.4计算机系统的层次结构
1.5计算机的性能指标
、