(3) 数据总线
数据总线是在计算机各功能部件之的完成数据传送的线路,它的工作速度(频率)和位数(宽度)决定了总线上最大的数据传送率。
在教学计算机的实现中,出于保护教学机本身主要部件CPU的需要,把教学机的数据总线通过双向三态门电路分割成内部数据总线IB和外部数据总线DB两部分。外部总线用于连接安装在教学机主板上的内存芯片和串行接口芯片的数据线引脚,也通过扁平电缆去连接扩展实验板上的存储器芯片和其它入/出接口芯片的数据线引脚。
内部总线除接收教学机主板上16位数据开关的输入之外,重点用于CPU内部信息传送,包括接收指令寄存器IR的低位字节的内容,状态寄存器的内容,运算器输出的运算结果的内容,中断向量寄存器的内容。内部总线上的信息可以送往指令寄存器IR,状态寄存器,运算器的数据输入端D,和为了写控制存触器专门设置的四组寄存器LDR。
设计和使用总线的核心技术,是要保证在任何时刻只能把一组数据发送到总线上,却允许一到多个部件同时接收总线上的信息。为此,对多个申请发送数据到总线上的部件,必须进行申请仲裁,确保它们通过分时共享主线。
所用的电路通常为带有高阻态输出的三态门电路,如图4.9所示。
图4.9
输入端标记为In,输出端标记为Out,C为控制端。当C为低电平时,该线路的功能是:Out=In;当C高电平时,输出Out则为高阻状态。我们很容易用这样的线路构建数据总线。如图4.10所示。
图4.10
把不同部件的输出经三态缓冲门连接到总线上,并通过一组控制信号Ci (i =1,2,3,---)
完成对送入总线数据的选择。若做到在任何时刻,在多个控制信号中只有一个为低电平,而其它信号均为高电平,则确保了多个部件能在不同的时刻分别向总线发送数据。若有多于1个控制信号同时为低电平,则是严重错误,会造成多个缓冲门的输出短路,使总线上的信息混乱,甚至烧坏器件。为此,用译码器线路给出这类控制信号是一种比较理想的方案。教学机中就使用三位编码DC1,并通过一片三--八译码器芯片来提供一组控制信号,以控制不同部件向内部总线发送数据。
对总线上向外传送数据,重点是解决线路的负载与驱动能力问题。 由于总线驱动的部件可能较多,又往往有较长的传送路径,要求总线所用器件有比较强的驱动能力。
|
|