CPU能通过地址总线给主存、硬盘、打印机通过地址总线发送地址,CPU可以通过数据总线和其他的部件进行信息传输,地址总线和数据总线可以并行传输很多位信息,为什么呢?因为每个总线可能由很多跟信号线组成的。CPU可以通过控制总线给其他部件发送控制信号。
比如说把数据总线拆开来看,假设包含4根信号线,则每次传送4bit的信息。所有硬件部件都可以通过这跟总线传递数据,但同一时刻只能有一个部件发送数据,但可有多个部件接收数据。
拆开主板,可看到主板上有一些细细的线,这些线是通过光刻机刻上去的,这些线其实就是总线。电脑主板上有一个插槽差一些部件的,比如CPU,内存条,插槽里面的线路已经和总线连接,只要把主存和CPU插上去,就可以通过这些总线来进行数据交互。总线的思想让我们扩充一些部件变得很方便。
1.总线基本概念
总线是一组能为多个部件分时共享的公共信息传送线路,是连接各个部件的信息传输线。
CPU会通过一组总线来进行信息的交互和控制信号的收发。
为什么要用总线呢?
早期的设备比较少,只需要和特定的设备进行连接,如纸带机进行信息交互,大多采用分散连接的方式,建立一条专门连接的线路,但随计算机的发展,外部设备越来越多,不易实现随时增减外部设备。为了更好地解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。需要这个设备时就连接到总线上,不需要时就移除。
总线有两个重要的特点,一个叫分时,即指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。一个叫共享,即指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。
2.总线特性
当我们在设计总线时,需要关注到这些特性:1.机械特性(尺寸、形状等),2.电气特性(传输方向,如CPU取指令时要给出地址信息,那这个方向就是CPU指向内存,数据总线是双向的。有效的电平范围。比如RS232C,规定电平低于-3V用逻辑1表示,高电平高于+3V用逻辑0表示),3.功能特性(每根传输线的功能),时间特性(信号的时序关系 )
3.总线的分类
1.按数据传输格式可分为可分为串行总线和并行总线。
比如发送1011,每次只能发送1位数据,比如USB。并行总线,每次可以传送多位数据,比如CPU和主存之间每次传输64bit的信息。
串行:优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。
缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行-并行转换的问题。
并行:优点:总线的逻辑时序比较简单,电路实现起来比较容易。
缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。
2.按总线动能。分成片内总线、系统总线和通信总线。
(1)片内总线
片内总线是芯片内部的总线。
它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。
(2)系统总线
系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。
(3)通信总线
通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。
4.总线的结构
1.单总线结构
只会在计算机内部设置一组总线,CPU、主存、I/O设备(通过I/O接口)都连接在一组(包含数据、地址、控制总线)总线上,允许I/O设备之间、I/O设备和CPU之间或I/O设备与主存之间直接交换信息。
优点:结构简单,成本低,易于接入新的设备。
缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。
2.双总线结构
结构:双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;另一条是I/O总线,用于多个外部设备与通道之间进行数据传送。
优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离。
缺点:需要增加通道等硬件设备。
3.三总线结构
结构:三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别为主存总线、I/O总线和直接内存访问DMA总线。
优点:提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量。
缺点:系统工作效率较低。
4.四总线结构
CPU总线连接CPU和Cache,系统总线:用于连接主存,高速总线用于连接显卡等高速设备,还有扩充总线,连接扩充设备,比如USB,不同总线之间有速度差异,因此要增加一个设备,叫桥接器
控制功能:比如总线仲裁