重点:
①有关总线的基本概念;
②如何克服总线的瓶颈;
③如何对总线进行管理,包括判优控制和通信控制。
难点:
总线的通信控制,既要解决通信双方如何获知传输的开始和结束,又要使通信双方按规定的协议互相协调来完成通信任务。
物理上:一根根导线的集合;
逻辑上:分为地址总线、控制总线和数据总线。
地址总线的宽度直接决定了可以访存的内存的地址单元的个数。
例:
一个CPU有n根地址线,则地址总线宽度为n,
那么寻址的内存单元有多少?
答:
2^n
数据总线的宽度决定了CPU和外界的数据传送速度。
即:
8根数据总线一次可以传送一个8位二进制数据(一个字节);
16根数据总线一次可传送两个字节。
总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
注意:某一时刻,只允许一个部件向总线发送信息,而多个部件可以同时从总线上接受相同的信息。
串行
并行
容易造成总线的阻塞。
(3)以存储器为中心的双总线结构框图
并行传输总线、串行传输总线
计算机总线、测控总线、网络通信总线等
芯片内部的总线
计算机各部件(CPU、内存、I/O接口)之间的信息传输线
分为:
①数据总线(DB):双向的,与机器字长、存储字长有关。
②地址总线(AB):单向(CPU->存储器),与存储地址、I/O地址有关。
③控制总线(CB):有出(存储器读,写等)、有入(中断请求,总线请求),双向。
用于计算机系统之间或计算机系统与其他系统(如控制表、移动通信等)之间的通信。
传输方式:
①串行通信总线:由低位向高位逐位传送,适合远距离,代价低。
②并行通信总线:适合近距离,代价高。
保证尺寸、形状、管脚数及排列顺序。
保证传输方向和有效的电平范围。
每根传输线的功能:地址、数据、控制。
信号的时序关系。
数据线的根数
每秒传输的最大字节数(MBps)
总线上的数据与时钟是同步、还是不同步。
一条信息线上分时传送两种信息。如:地址线与数据线复用
地址线、数据线和控制线三种总线数的总和
并发、自动、仲裁、逻辑、计数
负载能力等
总线带宽(又称总线的数据传输速率):
单位时间内总线上传输数据的位数,通常以每秒传输信息的字节数来衡量,单位:MBps(兆字节每秒)。
例:
总线工作频率为33MHz,总线宽度32为,求总线带宽?
总线带宽=33x(32/8)=132MBps
(1)特点:系统中只有一条总线,所有设备都以总线设备的形式连接到这条总线上
(2)问题:系统工作效率不高。
(3)原因:
①大量设备竞争总线使用权
②总线设备存在巨大的速度差异。
③影响计算机的扩展能力。
优点:减少了CPU等待访问存储器的开销。
①
特点:
CPU把一部分功能下放给通道,另外,将速度较低的I/O设备从单总线上分离出来。
通道:
具有特殊功能的处理器,由通道对I/O统一管理。
②以存储器为中心的双总线结构框图
特点:
保留了I/O设备与存储器交换信息时不经过CPU特点,因为增加了快速的存储总线,提高了传输效率,减轻了系统总线的负担。
DMA:
DMA直接内存存取原理是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。
采用DMA方式,可以解决效率和速度问题
功能:
①能向CPU发出系统保持(HOLD)信号,提出总线接管请求;
②当CPU发出允许接管信号后,负责对总线的控制,进入DMA方式;
③能对存储器寻址及能修改地址指针,实现对内存的读写操作;
④能决定本次DMA传送的字节数,判断DMA传送是否结束
⑤发出DMA结束信号,使CPU恢复正常工作状态。
主设备(模块):对总线有控制权
从设备(模块):响应从主设备发来的总线命令
总线判优控制分为:集中式(链式查询、计数器定时查询、独立请求)、分布式
特点:
离总线控制部件最近的设备具有最高的优先级。只需很少几根线(3根)就按一定优先次序实现总线控制,且易扩充设备,但对电路敏感,且优先级低的设备可能很难获得请求。
特点:
当某个请求占用总线的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。
优先次序可以改变(可由程序设置初始的计数值),电路故障不如链式查询方式敏感,
但增加的控制线(设备地址线),控制较复杂(设备地址线有
特点:
响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多(2n根),总线控制复杂。
解决通信双方如何获知传输开始和结束,如何协调配合问题。
**总线周期:**完成一次总线操作的时间。
①申请分配阶段
主模块申请,总线仲裁决定。
②寻址阶段
主模块向从模块给出地址和命令
③传数阶段
主模块和从模块交换数据
④结束阶段
主模块撤销有关信息
由统一时标控制数据传送
采用应答方式,没有公共时钟标准
同步、异步结合
充分挖掘系统总线每个瞬间的潜力
**优点:**规定明确、统一,模块间的配合简单一致。
**缺点:**主、从模块实际配合属于强制性“同步”,必须按最慢的部件来设置公共时钟,严重影响了总线的工作效率,设计带来局限性,缺乏灵活性。
例:
假设总线的时钟频率为100MHz,总线的传输周期为4个时钟周期,总线的宽度为32位,试求总线的数据传输率。若想提高一倍数据传输率,可采取什么措施?
解:
(1)
方法一:
根据总线的时钟频率为100MHz,得
1个时钟周期为:1/100MHz=0.01us;
总线传输周期为:0.01x4=0.04us;
由于总线的宽度为:32/8=4B(字节);
所以总线的数据传输率为:4B/0.04us=100MBps
方法二:
设总线的数据传输率为x,则
1/100MHz*4:32/8B=1s:x
x=100MBps
总线的传输周期/总线的宽度=1s:总线的数据传输率
(2)
若想提高一倍数据传输率,可以在不改变总线时钟频率的前提下,使数据宽度改为64位,也可以仍保持数据宽度32位,但使总线的时钟频率增加到200MHz。
采用应答方式:
当主模块发出请求信号时,一直等待从模块响应信号后,才开始通信。(在主从模块之间增加两条应答线)。
使用“Ready”和“Strobe”联络信号。
没有同步时钟,也不需要在数据传送过程中传送同步信号。为了确认被传送的字符,约定字符格式为:
1个起始位(低电平),5*-*8个数据位,1个奇偶校验位、1或1.5或2个终止位(高电平)
传送时起始位后面紧跟要传送字符的最低位,每个字符结束是一个高电平的终止位。
起始位至终止位构成1帧。两帧之间的间隔可以是任意长度的。
异步串行通信的数据传输速率用波特率来衡量
单位时间内传送二进制数据的位数,用bps(位/秒)表示,记作波特。
在异步串行传输系统中,假设每秒传输120个数据帧,其字符格式规定包含1个起始位,7个数据位,1个校验位,1个终止位,试计算波特率。
解:
一帧包含1+7+1+1=10(位);
所以波特率=10x120=1200bps=1200波特
以输入数据为例的半同步通信时序:
特点:
①各模块有权申请占用总线;
②采用同步方式通信,不等对方回答;
③各模块准备数据是,不占用总线;
④总线被占用时,无空闲
⑤充分提供了总线的有效占用;
⑥控制线路比较复杂。