6.4 典型总线 - PDP-11单总线
一、PDP-11单总线概况
PDP-11小型机是以单总线结构设计的经典机型,其总线具有集中控制、异步通信、全互锁的特点。
1. 总线特性
PDP-11总线采用统一编址方式,直接编址范围为128K字节,其中最高的4K字节被用作CPU寄存器和I/O设备寄存器的地址空间。这样的设计意味着PDP-11不需要专用的I/O指令,标准的内存访问指令也能用来访问I/O设备的寄存器。
2. 总线结构
在PDP-11的总线结构中,总线包括56条传输线,这些线路大部分支持双向传输。总线连接了系统中的多个组件,包括CPU、内存、I/O接口、通道以及快速和慢速设备。
二、总线的传输线和控制信号
表6.2列出了PDP-11总线的56条传输线,以下是其中一些关键的控制信号:
- 地址线(A):共18条,用于选择从设备。
- 数据线(D):共16条,用于数据传输。
- 控制线(C):2条,用于指示数据传输的类型。
- 主同步(MSYN)与从同步(SSYN):用于数据传输的时间控制。
- 总线请求(BR)与总线同意(BG):用于总线控制。
- 非处理器请求(NPR)与非处理器同意(NPG):用于在非CPU设备之间控制总线传输。
- 从设备同意(SACK):用于确认从设备已准备好通信。
- 中断(INTR):用于从设备向CPU发出中断请求。
- 初始化(INIT):系统置于起始状态。
- 直流线(DC):用于电源检测。
三、总线通信操作
在PDP-11总线操作中,任何时刻只有一个主设备和一个从设备通过总线进行通信。通常情况下,当CPU需要从内存读取指令或数据时,CPU作为主设备,内存作为从设备。如果I/O设备如磁盘需要进行数据传输,它会向CPU请求总线控制权。CPU可以将控制权暂时交给磁盘,使得磁盘成为主设备,内存成为从设备。随着总线控制权的转移,主从设备的关系也动态变化。
通过总线的有效控制和通信操作,PDP-11能够高效地处理不同设备间的数据交换,优化了资源使用并提升了系统性能。总线的设计不仅考虑了数据传输的效率,而且还注重了控制信号的逻辑和优先级处理,确保了系统操作的准确性和可靠性。
2.总线控制
PDP-11采用的是集中式的总线控制机制,结合了独立请求方式与链式查询方式的二维控制结构。
总线请求与控制流程
如图所示,PDP-11具有五条总线请求线,它们按独立请求方式接入CPU。其中一条是非处理机请求线(NPR),用于申请直接内存访问(DMA),而其他四条(BR1到BR4)是中断请求线。这五条线中,NPR的优先权最高,BR1次之,一直到BR4的优先权最低。
当这些请求线中有多个请求时,CPU会根据优先级顺序,只给予其中一个请求线同意信号(BG1到BG4或NPG),表示转让总线控制权。这样的设计确保了在多个设备同时请求时,能够有效管理总线的使用和控制。
链式查询电路
每一对请求线和同意线形成一条链式查询电路。每条请求线都可能被多个传输速率接近的设备共享。这些设备在请求使用总线时,通过对应的BR线发出请求。对应的BG线则负责串行查询每个设备,以确定哪个设备获得总线控制权。
总线控制时序
图6.15展示了总线控制的时序图,详细说明了总线控制的步骤:
- 设备发出总线请求信号BR(阶段1)。
- CPU根据优先级,通过BG信号表示同意(阶段2)。
- BG信号链式查询各设备,第一个发出请求的设备获得总线控制权。
- 获得控制权的设备确认收到BG信号,发出SACK信号,并降低BR信号(阶段3)。
- CPU收到SACK信号后,降低BG信号作为回应(阶段4)。
- 设备在BBSY为“0”的情况下,通过上升BBSY信号表明其获得了总线控制权,成为主设备(阶段5)。
- 使用完总线后,设备降低BBSY和SACK信号,释放总线(阶段6)。
- 如果在选择新主设备的过程中当前主从设备正在传送数据,则必须等待当前传送结束,当前主设备降低BBSY信号(阶段7)后,新主设备才能提升BBSY获得总线控制权。
此控制机制保证了在总线上数据传输的有效性和系统资源的合理分配。通过这种方法,PDP-11可以实现复杂的硬件操作,同时保持了系统的高性能和稳定性。
3. 数据传送
数据传输在任何计算机系统中都是核心操作,而在PDP-11这个经典的单总线架构中,数据传送的高效性和灵活性尤为突出。让我们探究一下如何从不同的请求线获得总线控制权,并执行数据传输。
直接内存访问(DMA)
对于从非处理机请求线(NPR)获得总线控制权的设备来说,DMA操作是其数据传送的方式。这允许设备直接与内存进行数据交换,绕过了中央处理单元(CPU),从而能够以极高的速度执行数据传送任务。这种方式特别适用于大量数据的快速传输,如磁盘操作或网络通信等。
CPU的I/O指令数据传送
另一方面,通过总线请求线(BR1至BR4)获得总线控制权的设备,则需要通过中断请求来协调数据传送。在这种情况下,CPU使用I/O指令来管理从设备到主设备的数据流。这种方法适合于需要CPU介入和更精细控制的数据传输。
传送时序的精确性
PDP-11对于数据传送时序的管理是精确的。例如,图6.16展示了从从设备到主设备的传送时序图。在这个过程中:
- 主设备首先在地址总线上指定从设备地址,并在控制线上发出读信号,指示数据传输方向。
- 经过必要的延迟后,为了信号稳定和地址解码,主设备产生主同步信号MSYN。
- 从设备响应MSYN信号,进行数据读取,并将数据放置在数据总线上,随后发出从同步信号SSYN。
- 主设备接到SSYN后,进行数据选通,并在适当的时间后清除MSYN信号。
- 之后,主设备也清除地址和控制信号,从设备随后清除数据线和SSYN,标志着数据传送的结束。
错误检测与超时机制
PDP-11的数据传送不进行实时校验,但提供了在读操作期间的奇偶校验,确保数据的准确性。这个过程通过PA和PB两根线来指示数据是否有误。
总线还规定了一个超时机制,确保了系统在发出MSYN信号后,如果在20μs内未接到SSYN信号,则产生超时信号。这种机制可以防止因地址错误或设备无响应导致的系统挂起。
通过这种细致的控制和时序管理,PDP-11确保数据传输的高效性和系统的稳定运行。这些设计展示了早期计算机系统在资源有限的条件下如何高效地利用硬件,保证了数据传送的可靠性和系统的响应能力。
VAX-11/780与其同步底板连接总线(SBI)
在继承PDP-11的基础上,DEC公司推出了VAX-11/780小型机,它标志着性能和通信方式的重大转变。不同于PDP-11的异步通信,VAX-11/780采用的是同步通信策略。
SBI总线概述
VAX-11/780中的同步底板互联总线(SBI)是该系统的数据通路脊梁。通过SBI,CPU和I/O系统能够直接访问内存,实现了速度和效率的显著提升。SBI不仅服务于标准的I/O设备,而且能够连接到更高速的I/O设备。更为独特的是,它还允许LSI-11控制台微处理机与CPU进行通信。
SBI的物理结构与性能
SBI具有固定的长度,并且它的所有部件(控制器)都安装在同一块印制电路底板上,限制了总线的物理延长。这种物理结构,配合分散式控制和同步通信技术,实现了高达13.3MB/s的传输速率,而一般总线的速率通常只有1—2MB/s。
总线控制机制
SBI总线控制机制是通过数据传输请求线(TR)来实现的。每个控制器都有自己的TR线,并且这些线路具有不同的优先级,从TR0(最高)到TR3(最低)。在数据传输请求发出后,控制器会评估是否存在更高优先级的TR线活动。如果没有,它将在下一个时间间隔内进行数据传送;如果有,则保留其TR请求,并在下一时间间隔尝试再次获取总线控制权。
为了保障连续性数据传送需求,SBI还设置了一个特殊的TR0线,拥有最高的优先级,但不固定分配给任何控制器。
数据传送时序
每个数据传送的时间间隔是均等的,为200ms。在一个时间间隔内,可以完成一个数据传送操作。控制器在时间间隔的末尾判断是否有权进行数据传输。如果有权,则在下一个时间间隔内执行数据传输。
优先级和控制器行为
在SBI总线上,CPU通常被给予最低的优先权,以确保高速设备能够有效地传送数据。当没有任何TR请求时,拥有最低优先权的控制器4就可以在下一个时间间隔内进行数据传送。
总结
VAX-11/780的设计不仅反映了当时对计算机性能和通信效率的追求,而且也展示了在硬件控制策略上的创新。SBI总线的同步通信方式和分散式控制结构是为了满足日益增长的数据处理需求,并在小型机的领域内树立了新的标准。通过这种设计,VAX-11/780为那个时代的高性能计算机系统树立了典范。