因为本科没有学过计算机体系结构相关课程,但是项目经常涉及这方面的知识,现在开始打卡学习《计算机体系结构设计》,不定期的把学习的心得体会分享出来。
1、总线内容概述:

2、例题
例题1(重要):某64位的CPU,使用时钟频率为100MHz的32位数据总线,若总线传输包含4个时钟周期,求总线的最大数据传输率?若想提高一倍数据传输率,有什么方法?
解:1、总线的最大数据传输率是指在单位时间内传输的数据量:
数据传输率=D/T=Df=(32/8)(100/4)=100MB/s.
题目中的时钟频率应该是指总线时钟频率,而我们要求的是单位时间内传输的数据量,因此要100/4。32代表的是bit,除以8使其单位为Byte。因为最大数据传输率其概念和总线带宽类似,因此单位应该也通常采用MB/s.
2、提高数据传输率的方法:
根据公式可以知道:提高数据总线的宽度(有32位变成64位)、缩短传输周期(由4周期变成2周期)、提高时钟频率(100MHz变成200MHz)
(1) 提高数据总线的宽度
数据传输率=D/T=Df=(64/8)(100/4)=200MB/s.
(2) 缩短传输周期(由4周期变成2周期)
数据传输率=D/T=Df=(32/8)(100/2)=200MB/s.
(3)提高时钟频率(100MHz变成200MHz)
数据传输率=D/T=Df=(32/8)(200/2)=200MB/s.
例题2和例题3见下面的图片:


3、补充
(1):总线宽度
地址总线:地址总线越宽,总线能够访问的地址范围就越大,可寻址的总线单元就越多,可以使用更大容量的存储器和更多的总线设备。但是同时也使得总线设备的译码电路变得更复杂。
为什么现在高速传输中采用串行总线传输而不是并行总线传输呢?
数据总线:数据总线对计算机总线的性能影响有很大影响。但是在较高的工作频率下传输数据时,并行数据总线的不同数据总线之间常常会产生信号串扰,导致传输的数据出现错误。因此现代总线在设计、实现上逐渐放弃并行数据总线方式,而改用串行数据总线方式,既可以减少数据输出,提高数据传输距离,也可以减少信号线数量和总线接插件的物理尺寸。

(2)总线的实现
为使多个功能部件共享总线,可以将他们的I/O信号线都连接到总线上,其核心是使每个功能部件的输出都能成为另一个总线设备的输入。所以必须合理选择要发送的信息,确保在任意时刻仅有一个输出被选择,以防止出现多个总线部件同时发送信息的情形。常用两种方式来解决上述问题:即集电极开路的与非门(OC)电路和三态门电路。(下一次研究完成CMOS和TTL再对这两种电路进行研究)

(3)为什么需要总线仲裁呢?
在总线使用中,往往会有多个设备同时申请使用总线的情况。而总线设备在同一时刻只允许一个总线设备成为主控设备,所有设置总线仲裁电路。
联想:TTP总线型网络中,没有总线仲裁电路,但是有调度表,规定某个节点啥时候发送,规定某个节点发送的时候就是主控设备吧。且这种总线的数据传输模式是:广播。