计算机组成原理
概论
1.1 计算机的基本组成
1、冯诺依曼计算机
特点:
- 指令和数据以同等地位存放于存储器内,并可以按地址访问;
- 指令和数据均用二进制表示,指令由操作码、地址码两大部分组成,
- 指令=操作码+地址码
- 操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;
- CPU根据 指令周期的不同阶段来区分数据和指令
- 通常在取地址阶段取的是——指令
- 执行阶段——数据
- 存储器、运算器、控制器、输入设备、输出设备 5个部件
- 运算器为中心
- “存储程序”工作模式——控制流驱动
- 基本特点:按地址访问并顺序执行指令
- 是 单处理器
冯诺依曼计算机框架
实线—数据线
虚线——控制和反馈线
2.存储器的基本组成
![image-20230517161642598](%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.assets/image-20230517161642598.png.)
-
CPU能直接访问的存储器——主存
-
主存:按存储单元的地址进行存取——按地址存取
-
地址寄存器(MAR): 存放访存地址,反映存储单元的个数
- 寻址,其位数就是存储单元的个数
- 位数=存储单元的个数/地址码的长度
- 现代计算机
的CPU中也内置了MAR
-
数据寄存器(MDR):暂存要从存储器中读或写的信息。反映存储的字长
- 暂存数据,位数=存储字长
-
存储单元:存放一个存储字的所有存储元集合
要访问256G的主存空间,至少需要的地址线数量为38根
存储元是存储器的最小存储单位,它的作用是用来存放一位二进制代码0或1。
存储单元:存放一串二进制代码的空间。
存储字:存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数(1B(8bit)或字节的偶数倍)存储体:有许多的存储单元组成
3.运算器的基本组成
-
**功能:**用于进行算术运算和逻辑运算
-
控制单元CU+算术逻辑单元ALU=CPU
-
算术逻辑单元ALU——运算器的核心
不可少的:三个ACC+MQ+X-
累加器ACC
-
乘商寄存器MQ
-
操作数寄存器 X
-
-
-
加法指令
-
减法指令
- 乘法 (MQ)ACC存高位 MQ低位
- 除法 ACC存余数 MQ存商
4.控制器的基本结构
- **功能:**解释指挥指令+保证指令的有序执行
- 组成:
- PC 存放当前将要执行指令的地址,自动 +1 以形成下一条指令地址
- IR 存放当前的指令
- 内容来自MDR
- 操作码OP(IR)送到 CU, 分析指令并发出命令序列
- 地址码Ad(IR)送到MAR,用作取操作数
5.完成一条指令的过程
- 存数指令流程图
取数指令流程图
取数指令执行过程——取指-译码-执行
1. 取指令:PC->MAR->M->MDR->IR
根据PC取到指令到IR。
(1)将PC中的送MAR
(2)MAR中的内容直接送地址线,同时控制器将读信号送读写信号线,
(主存的操作:主存根据地址线上的地址的读信号,从指定存储单元读出指令,送到数据线上)
(3)MDR从数据线接受指令信息
(4)并传送到IR中
2. 分析指令: OP(IR) ->CU
(5)指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件。
3.执行指令:IR->MAR->M->MDR->ACC 取数操作。
(6)将IR中指令的地址码送MAR
(7)MAR中的内容送地址线,同时控制器将读信号送读/写信号线,从主存指定存储单元读出操作数
(8)存储通过数据线送至MDR
(9)再传送至ACC中。
over
此外,每取完一条指令,还必须为取下一条指令做准备,形成一条指令的地址,即(PC) + 1 -> PC