计算机组成原理复习(1)
算法复习完了,博客还没写,来不及了,先搞计组原理吧
1. 计算机系统概论
先过一下基本概念吧
- 存储元件(存储元、存储基元):用于存放一位二进制信息;
- 存储单元:用于存放多位二进制信息;
- 存储体:多个存储单元构成存储体;
- 存储字:存储单元中存储的信息;
- 存储字长:存储单元中二进制的位数;
- 机器字长:CPU一次能够处理的二进制数据位数;
- 指令字长:一条指令的长度(例如Mips为8位);
再来讲讲重难点:
*计算机是如何区分存储器里是指令还是数据的?*
通常来说,完成一条指令会有两个阶段
1. 取值阶段
2. 执行阶段
在取指阶段时,取出的是指令;在执行阶段时,取出的是数据。
计算机就是根据这个阶段不同,从而区分指令与数据的。
当然,准确来讲是控制单元(CU)区分出来的。
最后是易错点(博主错的那种):
- 总线宽度不是计算机硬件指标
- 运算器的结构及其功能(ACC、MQ、ALU、X)
该如何记忆各部分的功能呢?
首先,明确MQ为乘商寄存器。展开来讲乘数和商寄存器,因此:
1). 加/减法:不可能有MQ,因为不涉及乘法和商,记住ACC作为被x数,X作为x数即可;
2).乘法:MQ里放乘数,被乘数放在X里,ACC//MQ组成最后的乘积,因此ACC放乘积高位;
3). 除法:MQ里放商,被除数为ACC,除数为X;
2. 系统总线
一样的,复习总线肯定得知道什么是总线,线来看看基本概念:
- 系统总线:是连接系统内部各个部件的信息传输线,是各个部件共享的传输介质
- 数据总线:双向,与机器字长、存储字长有关;
- 地址总线:单项,与存储地址、I/O设备地址有关;
- 控制总线:有出、有入
- 比特率和波特率:单位都是bps,意思为比特每秒(bit per second),波特率是指每秒钟传输数据总位数;比特率是指每秒钟传输有效数据位数;
- 总线宽度:通常是指数据总线的根数,用bit表示;
- 总线带宽:可理解为总线数据传输速度;
重难点1:
总线判优控制:
-
链式查询
1). 描述:接口i发出BR信号请求控制总线,BG链式查询请求接口,当查询到接口i时,BG信号截断,接口i发出BS信号以表明总线正忙;
2). 优点:电路简单,易于设备的拓展;
3). 缺点:对电路敏感,优先级低的设备不易获取请求; -
计数器定时查询
1). 描述:计数器循环查找接口,若查询到某接口i发起请求,则该接口i发起BS信号表明总线正在被占用;
2). 优点:对电路不如链式查询敏感;
3). 缺点:增加了设备地址线,计数部件较为复杂; -
独立请求
1). 描述:一对一响应,依靠排队器控制先后;
2). 优点:响应速度快,先后次序控制灵活;
3). 缺点:控制线变多,控制变复杂;
总结:
1. 电路敏感程度:
链式查询 > 计数器定时查询
链式查询 > 独立请求
2. 响应速度:
独立请求 > 计数器定时查询
独立请求 > 链式查询
3. 电路复杂程度:
独立请求 > 计数器定时查询 > 链式查询
4. 控制线数量:
1). 链式查询:2根(BR与BG)
2). 计数器定时查询:log n根(2 ^(log n ) = n)
3). 独立请求:2n根(BRi与BGi,共n个)
重难点2:
总线通信控制:
-
同步通信(采用公共时钟,读指令为例)
在时钟节拍顺序进行: T 1 T_1 T1发出指令地址, T 2 T_2 T2发出读指令命令, T 3 T_3 T3提供数据, T 4 T_4 T4复原 -
异步通信(紫色代表主设备,黑色代表从设备)
- 不互锁
主设备发起请求,不管从设备是否应答请求,一段时间后,主设备撤销请求;
例子:单机内部通信; - 半互锁
主设备发起请求,当且仅当从设备应答请求时,主设备撤销请求;
例子:多机通信; - 全互锁
主设备发起请求,当且仅当从设备应答请求时,主设备撤销请求,当且仅当主设备撤销请求时,从设备撤销请求;
例子:网络通信;
- 不互锁
-
半同步通信
同步与异步控制的结合。说是同步,因为按照统一节拍顺序依次执行;说是异步,因为插入了等待周期,协调通信双方配合问题; -
分离式通信
每个模块都是主模块,都采用同步方式进行数据传输;模块间的通信需要向总线发起传输请求;在数据准备阶段,不占用总线;总线利用率提高。