计算机内部的总线是什么
总线是什么
总线是连接多个部件的信息传输线,是各部件共享的传输介质.
总线可以传输的原理
总线实际上是由许多传输线或通路组成,每条线上保持的电平高低即是所传输的信号,每条线可一位一位地传输二进制代码.一串二进制代码可以在一段时间内逐一传输完成.若干条传输线可以同时传输若干位二进制代码.
故而,可以理解总线具有,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同信息的性质.而总线中的电路线根据其上传输信号的意义分为地址总线,数据总线,控制总线.
各个部件连接在总线上,根据控制总线和地址总线上的信号构成的含义,各个部件做什么操作.比如控制总线上的信号要求主存储器读,则主存储器接收这一信号后,根据地址总线上的信号,将对应的存储器地址上的数据发送到数据总线上,这样就完成了主存储器读的操作.
为什么使用总线
计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各个部件连到一组公共信息传输线上,称为总线连接.那为什么总线连接成为了主流呢?
早期以运算器为中心的分散式连接方式
这种连接方式的特点就是其内部连接方式极其复杂,并且当 I/O 与存储器交换信息时,都需经过运算器,致使运算器停止运算,严重影响了 CPU 的工作效率.
为了解决这个争抢运算器的问题,又提出了
以存储器为中心的分散式连接结构
这就解决了 I/O 设备与主存交换信息要经过运算器的问题.
但是即使后来采用了中断,DMA 等技术,使 CPU 工作效率得到很大的提高,但是仍然无法解决 I/O 设备与主机之间的连接的灵活性问题.即 I/O 设备的增删异常困难.这是分散式连接结构的通病.
为了解决这一通病,所以提出了总线连接方式.
面向 CPU 的双总线连接方式
这种总线结构虽然大大提高了 I/O 设备增删的灵活性,但也有着早期冯诺依曼结构的特点,以 CPU 为中心,在 I/O 时会占用 CPU,导致 CPU 效率低下.
而单总线结构可以解决这一问题.
单总线结构
单总线结构下,I/O 和主存储器直接相连,没有了争夺 CPU 的问题,但是又出现了争夺总线的问题.为了解决这个问题,还必须设置总线判优逻辑,让各部件按优先级高低来占用总线,这也会影响整机的工作速度.
为了解决这个总线争夺的问题
以存储器为中心的双总线结构
它在单总线基础上又开辟出了一条 CPU 与主存之间的总线,称为存储总线.这组总线速度高,只供主存与 CPU 之间传输信息.这样既提高了传输效率,又减轻了系统总线的负担,还保留了 I/O 设备与存储器交换信息时不经过 CPU 的特点.
总线连接方式成为了计算机各部件互相连接交换信号,数据的主要方式.
虽然在上面中提到的总线结构中,似乎总线非常少,只有一两根.但是实际上,我们已经提到了,总线中其实包含了很多的数据线.并且各部件之间的位置关系也非常复杂.比如,有些 io 设备是用 usb 接口接在计算机主机上的,实际上,这个 usb 数据线,其实就是总线.故而总线有非常的多,我们通过分类来,了解总线功能特性的不同.并且个人认为,在这里讨论的总线已经不仅仅是计算机内部的线路,而是与计算机相连接的线路皆是总线.这样理解的话,那么总线的定义似乎也没有错.
总线的分类与功能
按数据传送方式区分
并行传输总线
这种总线中含有 n 多根数据线,可以同时传输 8,16,32,64 位的数据.可以同时传输的位数,就被称为总线宽度.故而速度比较快,但是由于每根线上时延速度可能有误差,故而不能长距离进行并行传输,所以通常用在计算机内作为各个计算机部件传输信息用.一般在 30 米以内
串行传输总线
这种总线只能一位一位地传输总线.所以传输较慢,但是没有并行传输的各线传输不同步问题,可以长距离传输.可以从几米到数千公里
根据总线使用范围分类
计算机总线
计组课中,我们主要讨论这类总线
测控总线
网络通信总线
根据连接部件的不同分类
片内总线
指计算机芯片内部的总线,CPU 芯片内部,寄存器与寄存器,各单元之间都是由片内总线连接的.实际上计算机芯片内逻辑功能相当复杂,不亚于计算机整体各部件之间的关系,其内部也有着一套总线结构.
系统总线
系统总线是指 CPU,主存,I/O 设备各大部件之间的信息传输线.由于这些设备都围绕在计算机主板之上,故而又称为板级总线或者板间总线.
系统总线根据系统总类的传输信息的不同分为
1.数据总线
数据总线用来传输各功能部件之间的数据信息.比如存储器中某一个内存单元上的数据要传递给 CPU 处理,那么就将数据传输到数据总线上,再由 CPU 去获取.数据总线的宽度越大,那么就能一次完成更多数据的传输,所以是计算机性能指标的一个重要参考
2.地址总线
地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或 I/O 设备的地址.比如 CPU 现在想要从内存的某一个内存单元中拿一个数据,那么 CPU 首先得告知存储器这个内存单元是哪一个,这个信息就是先传输到地址总线上,然后再被主存储器获取的.
3.控制总线
由于数据总线,地址总线都是被挂在总线上的所有部件共享的,如何使得各部件能再不同时刻占有总线的使用权,需要依靠控制总线来控制他们.控制总线就是用来发出各种控制信号的传输线.比如 CPU 想要从内存的某一个内存单元中拿一个数据,那么 CPU 不单单得告知存储器这个内存单元是哪一个,并且还要告知存储器,对这个单元作把其内部的数据传送到数据线上的处理.那么做什么处理,这个就是通过控制总线告知给存储器的.
通信总线
这类总线用于计算机系统之间或计算机系统与其他系统(如控制仪表,移动通信等)之间的通信.
总线性能指标
了解这些名词,在提到这些名词的时候,避免不知道其含义.
总线宽度
这里将之前将的更加严谨一下.总线有许多,现在主要讨论的计算机内部的总线.故而这种总线中只有一部分数据线是传输数据之用的.所以这里的总线宽度,是指数据总线的根数.
总线带宽
总线数据传输速率.即单位时间内总线上传输数据的位数.一般单位是(MB/s)
时钟同步/异步
总线上的数据与始终同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线.
与时钟同步的设备,在一个时钟周期内是不会变化的.一个时钟周期一个动作.
信号线数
地址总线,数据总线和控制总线三种总线数的总和
总线控制方式
包括突发工作,自动配置,仲裁方式逻辑方式,计数方式
评论