第三章 总线和存储器
总线概述
:信息传输通道是计算机系统各部件(甚至系统之间)传输信息的共享电线。
总线系统一般由组成。
:每个传输线上信号的传输方向和有效电平范围分为单向总线(单工)和双向总线(全双工、半双工)。
:在任何时候,只有一个方向的信息流,不允许相向行为。可以一发一收,一发多收;不能多发一收,多发多收。
主设备挂在总线上,只允许一个主设备随时向总线发送数据。
:高电平、低电平、高电阻
- 高阻等于从后电路中去除输出的影响。
- 系统总线通常连接多个总线主设备,每时每刻只有一个总线主设备占据总线,其他总线主设备输出的地址、数据和控制信号必须处于高阻力状态
:当多个候选人的主要部件同时申请使用总线时,总线仲裁机构必须按照策略进行仲裁。
集中总线仲裁:
-
串行/链式查询
- 优点:链式查询优先固定,设计简单
- 缺点:对硬件电路故障敏感,优先级不能跳转。当高优先级部件经常使用总线时,低优先级部件不能长期使用总线。
-
定时查询计数器
-
优点:可改变优先级顺序,对电路故障不敏感
如果每次从0号设备开始,每个设备的优先级顺序与链式查询法相同,则优先级顺序固定;如果每次从中止点后的设备开始,则每个设备的优先级相等
-
缺点:增加了控制线数,若设备有 N N N个,所需的控制线数为 log 2 N 2 \log_2 N 2 log2N 2
-
-
并行/独立请求式查询
-
优点:
- 响应速度快,总线允许信号BG直接从控制器发送到相关设备,无需在设备间传输或查询
- 控制优先顺序相当灵活
-
缺点:
- 如果设备有大量的控制线,则有大量的控制线 n n n个,则需要 2 n 1 2n 1 2n 1条控制线 1为BS线,其用处为,用于设备向总线控制部件反馈已经使用完毕总线。
- 总线的控制逻辑更为复杂
-
:
在总线通信中,发送数据的部件称为源部件,接收数据的部件称为目的部件。
基于无需感知观点控制总线通信的通信称为。
基于需要感知观点控制总线通信的通信称为。
:参与通信的两个部件之间的信息传输由定宽和定距时标控制。
每隔一个时标,源部件就会向总线发送一个数据,而不是确认目的部件是否接收到数据。目的部件每隔一个时标对总线进行采样,以获取数据,而不是确认数据是否已发出,或者确认收到的数据是正确的。
:这意味着参与通信的两个部分需要感知对方的操作。这种感知是通过握手信号实现的。一般来说,双发联系信号采用一组响应。
适用于工作速度不同的部件之间的相互通信,干扰通信线路(长距离)。
异步通信的握手协议分为:
-
单边控制,指通信过程是由源部件或目的部件控制
发送端发送数据延迟一段时间后处于数据就绪状态,理想情况是接收端接收到数据就绪状态。
接收端发出数据请求,延迟一段时间后取出数据
-
双边控制,指通信过程是由源部件和目的部件共同控制
:,即回应信号是在接到对方的请求信号发出的,请求端不接收回应信号,而是延迟一段时间后自动撤销请求信号。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8b7RqyhA-1655600236284)(https://raw.githubusercontent.com/wjrzm/PicGO/main/img/202206190855154.png)]
:,即回应信号是在接到对方请求信号发出的,同时请求信号是在接到对方的回应信号后撤销的。
:,即回应信号是在接到对方的请求信号发出的,同时请求信号是在接到对方的回应信号后撤销的,最后回应信号是在接到对方的请求信号撤销后再撤销。
总线性能指标
-
总线宽度:数据总线位数,通常就是数据总线的根数。
-
总线的时钟频率:即一秒内有多少个时钟,即时钟周期T的倒数。
-
总线带宽(标准传输率):单位时间上总线上,可以传输的数据位数。 总 线 带 宽 = 总 线 工 作 频 率 × 总 线 宽 度 ( b i t / s ) = 总 线 工 作 频 率 × 总 线 宽 度 8 ( B / s ) = 总 线 宽 度 8 × 总 线 周 期 ( B / s ) \begin{aligned}总线带宽&=总线工作频率 \times 总线宽度 \: (bit/s) \\&= 总线工作频率 \times \frac{总线宽度}{8} \: (B/s) \\&= \frac{总线宽度}{8 \times 总线周期} \: (B/s)\end{aligned} 总线带宽=总线工作频率×总线宽度(bit/s)=总线工作频率×8总线宽度(B/s)=8×总线周期总线宽度(B/s)
-
单个数据传送周期数
-
正常模式:传送时先送地址,然后再送数据(即两个工作周期送一个数)
-
突发模式:只第一个数采用正常方式(两个工作周期),后续数据只需一个工作周期即可(通常满足局部性原理,不需再送地址,地址自动加1即可)
-
-
RS232-C:低速率的单端异步串行通讯
采取不平衡传输方式,其收、发端的数据信号是相对于信号地,抗共模干扰能力差。近距离通讯,只能用于点对点通讯。近距离通信常采用三线连接法(RXD,TXD,GND),可以做到双向传输,全双工通讯。由于RS232-C采用负逻辑,所以与单片机连接时常常要加入电平转换芯片。
在RS232-C传输中,空闲时是高电平状态,左边数据是LSB,右边数据是MSB。
存储器
存储器:是许多存储单元的集合,用来存放当前运行的程序和数据。
依据冯诺依曼架构原理,所有的程序必须在执行前调入内存中才能执行。因此CPU执行程序时是从内存中取指令和数据的。
存储器基本操作:
- 读——从内存中取出数据,不破坏原有存储单元的内容
- 写——将信息存入存储单元中,用现有的信息替代原有的部分
存储器分类:
主存储器:用于存放指令和数据,能被CPU直接寻址。
辅助存储器:无法与CPU直接交互,特点是容量相当大,成本低
缓存:位于主存和CPU之间,主要存放正在执行的程序段和相关数据,以便供CPU高速使用;Cache的速度是所有存储器中最高的,容量小,成本高。
- 主存与辅存的层次关系:解决计算机容量小的问题
- 缓存和主存层次关系:解决主机内部速度过慢的问题
当储存超过一个字节的数据时,采用小端模式和大端模式。
小端模式:采用低低,高高的模式。
每个内存单元能存储8个Bit(二进制位),成为一个字节。
每一个储存位都是由类似触发器(Flip Flop)的具有记忆功能的电路组成。
:可以随机地对其中的各个存储单元进行读和写操作,是计算机系统的主要存储部件。也就是我们常说的内存。
- 对任意单元的内容地读写所需时间与单元所处的位置无关
- 储存单元的内容在断电后全部丢失,无法恢复
- 根据存储电路的工作原理的不同,RAM可以分为静态RAM和动态RAM
**SRAM(Static RAM)**是以双稳态触发器为基础的(电路复杂,成本高),只要不掉电,信息永远不会丢失,不需要刷新电路。
- 存储信息稳定,只要不断电,没有读写操作,保存的信息恒定
- 读写操作速度快,接近CPU的速度
- 功耗较大,集成度低,价格昂贵,一般用作Cache
**DRAM(Dynamic RAM)**是依靠电容来存储信息的,电路简单集成度高,但电容漏电,信息会丢失,故需要专用的电路定期进行刷新。
- 容量大、功耗较小、速度较慢,被广泛地用作内存。
- 刷新:将DRAM中存放的每一位信息读出并重新写入地过程。
- 特点:存储信息不稳定,需要定时刷新,集成度高,价格便宜,一般用作系统的主存储器-内存。
:内容只可读出,不可写入,最大优点是所存信息可长期保存,断电时,ROM中的信息不会消失,主要用于存放固定的程序和数据,通常用它存放引导装入程序。
2764的存储容量为8K*8Bits,意味着该芯片的地址线位为13(2^13),数据线为8。
-
存储器的种类
ROM存放系统程序,标准子程序和各种常数
RAM是为了用户编程设置的
:
-
位扩展:增加存储字长
要求一个1024$\times 8 位 的 存 储 器 , 可 以 用 两 片 1024 8位的存储器,可以用两片1024 8位的存储器,可以用两片1024\times$4的芯片进行扩展,在这里地址线并联,数据线串联。
-
字扩展:增加存储子的容量
要求一个64K$\times 8 位 的 存 储 器 , 可 以 用 4 片 16 K 8位的存储器,可以用4片16K 8位的存储器,可以用4片16K\times$8位的存储器,多出来的两个地址线用一个2-4译码器接通片选信号。原来的十四根地址线并联在一起。
-
判断奇偶地址:判断一个字/字节的奇偶属性只需看第0位,1是奇,0是偶。
存储器与CPU接口
X86访问外设是独立的,ARM则不然。
I/O接口是CPU与外设之间交互的桥梁,内存是数据与程序的仓库。
80x86访问I/O方式:独立I/O地址,与访问内存隔离
MIPS/PowerPC/ARM访问I/O方式:存储器映射式的I/O地址(统一编址)
存储器与I/O芯片寻址的问题:
由138译码器的真值表可知, A 15 = 1 A_{15}=1 A15=1, A 14 = 0 A_{14}=0 A14=0,输出 Y 4 ‾ = 0 \overline{Y_4}=0 Y4=0故 A 13 A 12 A 11 = 100 A_{13}A_{12}A_{11}=100 A13A12A11=100,所以存储器的范围为 1010000000000000 ∼ 1010011111111111 1010000000000000 \sim 1010011111111111 1010000000000000∼1010011111111111也就是 A 000 ∼ A 7 F F A000 \sim A7FF A000∼A7FF。
高速缓冲存储器
构成系统主存的大容量存储器是DROM,速度比CPU慢很多,而与CPU速度匹配的SROM价格很高。计算机从内存中取指令和取数是最主要的操作,慢速存储器严重限制了CPU性能的发挥。。
- 时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。 如程序循环、 堆栈等。
- 空间局部性:在最近的将来将用到的信息很可能与正在使用的信息在空间地址上是临近的,如序列代码,数组的元素。
Cache和内存是书桌和书柜的关系。
将Cache与内存都划分成大小相同的页面和块,因此实现主存地址和Cache地址的变换,就是设计如何将主存页面映射到Cache页面上。
具体看PPT上的说法:
- 直接映射(Direct-mapped):一对一按照序号映射
- 全相连(Fully associative):主存任意页面可以映射到Cache任意页面
- 组相连(Set associative):分成若干组,组之间直接映射,组内全相连映射
题目:
- 总线带宽=总线工作频率*总线宽度
- 在Cache的地址映射中,若主存中的任意一块均可映射到Cache内的任意一块的位置上,则这种方法称为-
- 在集中式总线仲裁中,响应时间最快
- 是指BIU完成一次访问存储器或I/O端口操作所需要的时间
- 以传输同样多的字为比较条件,则读出数据传输率最高的是-
- 用2K*4位的SRAM芯片组成16K的存储器,共需SRAM芯片个
- 有一个微机系统,采用CPU的低10位地址线A0~A9作为输入输出口的地址线,系统中接口芯片内部有16个端口地址,该接口芯片的片选信号由地址译码器产生,则地址译码器的输入地址线一般为A4~A9。(对应着4根地址线,一般选最高位,但是还需要一个片选信号)
- 容量为1M*1bit的某DRAM芯片,引脚上除了OE、WE、RAS、CAS,电源和地线以外,还有和
- 在32位的数据总线上读写一个字(32位),当该字起始地址最低两位为时效率最高
- 通常构成微机系统内存的RAM主要有SRAM和DRAM两种,与SRAM相比,DRAM的主要技术优点是
- 掉电后,SRAM、DRAM和SDRAM都不能有效保持数据
- 动态存储器相对于静态存储器的优势在于
- 地址/数据总线复用的情况下,存储器地址线和CPU地址线引脚
- 与动态存储器相比,静态存储器具有的优势
- 内存和外存的技术特点主要体现在上
- 在存储器层次结构中,性能由高到低的顺序是
- 数据总线传输数据和状态信息,是双向三态的。
- 地址总线传输地址信息,是单向三态的。
- 控制总线传输控制信号,是单向的。
Cache分块
- 直接映射:一对一按照序号映射,先将主存和Cache以同样大小分块(也成为行),主存再按整个Cache的大小分为若干个区。映射规则:主存某一区第Y块只能装入到Cache的第Y块。
- 组相连:分成若干组,组之间直接映射,组内全相连映射。即主存和Cache按同样大小分块,Cache分为若干组,如两块一组,主存按Cache组数分区。映射规则:主存任何一区的第n块只能映射至Cache的第n组(直接方式),可以是第n组两块中的任何一块(全相联方式)
- 全相连模式:主存任意页面可以映射到Cache任意页面。先将主存和Cache以同样大小分块(也称为行)。映射规则:内存中某一块可以装入Cache的任何一块中。(需要记录对应关系)。地址变换表TAG:单元数与Cache块数一致且对应,内容是与Cache块相联主存块号。
组之间直接映射,组内全相连映射。即主存和Cache按同样大小分块,Cache分为若干组,如两块一组,主存按Cache组数分区。映射规则:主存任何一区的第n块只能映射至Cache的第n组(直接方式),可以是第n组两块中的任何一块(全相联方式)
- 全相连模式:主存任意页面可以映射到Cache任意页面。先将主存和Cache以同样大小分块(也称为行)。映射规则:内存中某一块可以装入Cache的任何一块中。(需要记录对应关系)。地址变换表TAG:单元数与Cache块数一致且对应,内容是与Cache块相联主存块号。