计算机中的总线

🏠 首页 《无线电》杂志 1985年 🔗 第6期 🔗 第8页 分类:应用电子仪器 🔗 翔赓 🔗

计算机是由许多大规模集成电路所组成。它们之间的数据和信息要根据需要传送到不同的地方去。在一块集成电路芯片上就有成千上万只存储器,按一般逻辑电路的连接方法,它们的连线将是无法计算和实现的。为了使计算机的结构简化,有人提出把计算机的所有连接线分成三部分:一部分是专门传送数据的叫数据总线;一部分是专门传送地址码的,称为地址总线,还有一部分是传送控制信号的叫控制总线。总线好比公共汽车,数据就象乘客,可以在沿途各站上、下车。因此总线实际上是计算机中大规模集成电路以及外围设备间交换和传递信号的公共连线。

数据总线:即Data Bus简称DB。数据总线的条数是根据计算机的位数而定,八位机有八条数据总线,十六位机有十六条。所有寄存器、存储器、外围设备都要通过这些导线进行数据交换。由于计算机工作时需要进行大量的数据传送,所以在某一瞬间对于某一寄存器或存储器需要放入数据,而在另一瞬间又需要把原来存入的数据取出来,能这样来回传送数据的总线称为双向总线,符号如图1所示。

图1
图1 🔍原图 (623×315)

从计算机总体上看,有一束数据总线在中央控制单元,存储器及输入输出设备也有自己的数据总线,它们分别挂在计算机总线上,才能实现各部分之间的数据交换和传送。例如图2所示,在某一瞬间,要把第“0”号存储单元的内容送到第“6”号存储单元中去。每个存储单元有8位二进制数,D\(_{0}\)~D7是数据总线。传送数据的过程是这样的:计算机使G\(_{0}\)、G'6为“1”,于是由它们控制的16个三态门就处于导通状态。这时第“0”号单元的内容,经过数据总线送入第6号存储单元,这就完成了一次送数。需要说明,在总线上某一瞬间只能传送一个数,不能同时传送两个数。

图2
图2 🔍原图 (1115×651)

地址总线(Address Bus)简称AB,地址总线是一种单向总线,一般是由中央控制单元CPU中的地址锁存器发出的,用来为存储器数据交换提供地址,如图3。地址总线的根数取决于中央处理器(CPU)寻址能力的大小,如:Z80CPU寻址能力为64K,共有16根地址线,地址总线与存储器连接的示意图如图4,存储器本身带有一个译码器,所以存储器的地址线可以直接对应地接在地址总线上。当地址总线给出一个地址号02时,地址译码器通过译码找到02这个单元。然后单元内容通过数据总线存入或取出。当计算机与一些本身不带译码器的外部设备连接时。地址线要通过外加译码器来选中外部设备。

图3
图3 🔍原图 (814×378)
图4
图4 🔍原图 (325×727)
图5
图5 🔍原图 (403×403)

图5是计算机与模/数转换电路连接的原理图。如果模数转换电路的地址号为07,当中央处理器(CPU)地址总线上给出一个07的地址码时,通过外加的地址译码器就能选中07号线,使之成为高电平,同时CPU发出控制信号,这二个信号通过与门,使启动线为高电平以启动模数转换电路工作,转换电路工作结束后,数据通过数据总线送入CPU。从以上的介绍中还可以看出,计算机如果只有数据总线和地址总线还是不够的。如当某一存储器被选中后,数据线上的数据立即建立,但这个数据是写入存储器的,还是从存储器中读出的呢?为此,必须有一个控制信号,图2中的G\(_{0}\)、G0'、G\(_{6}\)、G6'就是这种控制信号。如果G\(_{0}\)=1,那么数据总线上的信号是从存储器中读出的,如果G0'=1,那么说明数据总线上的信号是要存入存储器的。为了传送这些控制信号,计算机中还应该有控制总线。控制总线传送控制信号是单方向的。(翔赓)