心情
有个小家伙吃了我做的酸奶,上吐下泻,担心晚上她会需要我帮忙,所以在至凌晨一点前写一下今天学的系统总线。
概要
计算机系统的五大不见之间的互连方式通常有 分散链接、 总线连接两种。
分散连接

由图可以看到它是以运算器为中心的结构, 连线十分复杂,尤其是当I/O与存储器交换信息,都需要经过运算器,致使运算器停止运算,严重影响运行效率。后来虽然改进为以存储器为中心的结构,I/O与主存交换信息也可以不经过运算器,但是仍 无法解决I/O设备与主机之间的灵活性,不能随时添减设备。所以出现了总线连接方式
总线连接方式
总线是连接多个部件的信息传输线,是各个部件共享的传输介质(所以总线又称bus)。当多个部件与总线相连时,如果出现两个及以上的部件同时向总线发送请求就会产生冲突,传输无效。因此,在某一时刻,只允许一个部件向总线发送消息,而 多个部件可以同时从总线上接收消息。
总线由许多传输线或通路组成,每条线可一位一位的串行传输。若干条传输线可以同时传输若干位二进制代码,例如16条传输线组成的总线可在一个时刻传输16位二进制代码。
总线分类
按连接部件不同,分为三种总线。(当然也可以根据其他方面进行分类,比如使用范围)
片内总线
片内总线是指芯片内的总线,如在CPU种,寄存器与运算逻辑单元ALU之间、寄存器与寄存器之间。
系统总线
系统总线是指CPU、主存、I/O设备等各大部件之间的信息传输线。由于各个部件通常安放在主板或各个插板上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。
系统总线按传输的信息分为三类:数据总线、地址总线和控制总线
数据总线
传输各功能部件之间的数据信息,它是双向传输总线(CPU传出数据,CPU接收数据),其位数与机器字长、存储字长有关。数据总线的位数称为数据总线宽度。如果数据总线的宽度为8位,指令字长为16位,那么CPU在取指阶段必须两次访问主存。
数据的含义是广义的,它可以是真正的数据,也可以是指令代码或状态信息,有时甚至是一个控制信息。
地址总线
地址总线只要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。例如向从存储器中读取一个数据,需要将该数据所在存储单元的地址送到地址线上;如果想将数据经I/O设备输出,则CPU除了需将数据送到数据总线外,还需将该输出设备的地址送到地址总线上。可见,地址总线上的代码是指明CPU欲访问的存储单元或I/O端口的地址,由CPU输出,单项传输。
控制总线
由于数据总线、地址总线都是被挂在总线上被所有部件共享的,所以若想要控制各个部件对总线的使用,就需要依靠控制总线来完成,因此控制总线是用来发出各种控制信号的传输线。一条控制总线是单向的,但控制总线这个集合可以是双向的,比如CPU向寄存器发出读取命令;某个设备准备就绪时,向CPU发出中断请求。
常见的控制信号如下:
- 时钟:用来同步各种操作
- 复位:初始化所有部件
- 总线请求:表示某部件需要获得总线的使用权
- 总线允许:表示需要获得总线使用权的部件已获得了控制权
- 中断请求:表示某部件提出中断请求
- 中断响应:表示中断请求已被接收
- 存储器写:将数据总线上得数据写到存储器指定得地址单元中
- 存储器读:将指定存储单元中的数据读到数据总线上
- I/O读:从指定的I/O端口将数据读到数据总线上
- I/O写:将数据总线上的数据传输到指定的I/O端口内
- 传输响应:表示数据已经被接收,或已将数据送至数据总线上
通信总线
这类总线用于计算机系统之间或计算系统与其他系统之间的通信。传输方式可以分为两种:串行通信和并行通信。
串行通信
指数据在单条1位宽的传输线上,一位一位地按顺序分时传输。
该通信方式相比并行通信适合长距离传输,因为通信线路费用趋高,采用串行通信费用远比并行通信费用低。
并行通信
指在多条并行1位宽地传输线上,同时由源送到目的地址,如一字节地数据,在并行传输过程中,要通过8条并行传输线同时由源传送到目的地。
该通信方式适宜短距离传输,通常小于30m。
总线特性
机械特性
总线在机械连接方式上的一些性能,如插头与插座的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序等。
电气特性
指总线的每一个传输线上信号的传递方向和有效的电平范围。通常规定由CPU发出的信号为输出信号,送入CPU的为输入信号。高电平为“1”, 低电平为“0”。
功能特性
指总线中每根传输线的功能,例如:地址总线用来指出地址;数据总线用来传输数据;控制总线用来发出控制信号。
时间特性
指总线中的任一根线在什么时间内有效
总线性能指标
总线宽度
指数据总线的根数,用bit表示,如8位、16位
总线带宽
可以理解为总线的传输速率,即单位时间内总线上传输数据的位数。
时钟同步/异步
总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。
总线复用
一条信号线上分时传送两种信号。例如,通常地址总线与数据总线在物理上是分开的两种总线,为了提高总线利用率,地址总线可以和数据总线共用一组物理线路。在这组物理线路上分时传输地址信号和数据信号,即为总线的多路复用。
信号线数
地址总线、数据总线和控制总线三种总线数的总和