1、第四章 共享存储区通信技术共享存储区通信技术是多处理器系统的主要通信方式。共享存储区通信技术也是开放型计算机系统及网络通信节点中采用的基本通信方法,属主机板上的通信技术。图 4-1 单公用总线共享存储区结构 一、共享存储区的物理结构 共享存储区从物理结构上可以分为四种:公用总线方式,矩阵开关方式,多端口共用方式和总线窗口方式。1、公用总线方式 2、矩阵开关方式 矩阵开关结构形式的并行性好,处理速度快,在用多处理机构成并行处理大型计算机时就采用这样的体系结构。图 4-3 矩 阵 开 关 式 共 享 存 储 区 结 构 3、多端口方式 P1PiPnM1MiMnI/O1I/OiI/On图4-4 多端
2、口共用存储器多端口RAM端口2端口3端口1端口2端口3端口1多端口及端口控制器单口RAM 图4-5(a)本质型多端 (b)非本质型多端 口存储器 口存储器4、总线窗口方式 图 4-6 总线窗口共享存储区系统 二、共享存储区的逻辑结构 多微处理器与公用存储区之间的相互作用关系 1、虚拟结构 每台微处理机都带着存储器,它既为各处理机自己所有,又为多机共享。每台微处理机能访问所有处理机的存储器,形成了远大于单个处理机存储器容量的虚拟存储空间,使用虚拟存储地址寻址。实现地址映射的方法有两种:(1)由硬件电路组成的“总线窗口”实现地址映射;(2)由含微处理器“智能总线窗口”实现地址映射。.图 4-7 信
3、箱式逻辑结构 2、信箱结构 信箱式共享存储区把各微处理机专用与共享存储区划分开来,仅建立一块较小的共享区供通信使用,而且对共享区作了细分,建立类似邮政信箱格式的分格式逻辑结构。3、通信池结构 共享存储区设计比较简单;共享存储区使用权的分配及管理却比较复杂;通信速度也比信箱结构慢,共享存储区容量的要求要比信箱结构的小 三、共享存储区的分配与管理 共享存储区的分配与管理解决两台或两台以上的微处理机同一时刻访问共享存储区中同一单元而引起的冲突。1、判决器法 判决器是独立于各微机之上的一个专用单元,它的功能是对要求使用共享存储器或公用总线的微机提出的请求进行裁决。判决器主要由判决逻辑与开关群电路组成,
4、根据判决逻辑的不同,可分为:无偏判决器:在一个长时间段内,使各处理器轮流获取优先权;改进型无偏判决器:在无偏判决的基础上优先响应等待时间最长的微处理机的请求;固定优先级判决器:它预先规定每台微处理机的优先级高低;FIFO法:按先来后到次序进行优先权的判决。2、端口控制器法 图4-9 非本质型双端口共享存储器结构 单端口存储器 2114 两个端口 74LS244 端口控制器 P1处理机 P2处理机 2114存储器芯片为共享存储器,74LS244就相当于微机挂上总线的开关,74LS244与2114之间的连线为单公用总线,端口控制器负责共享存储器的分配及管理。端口控制器相当于单公用总线系统中总线控制
5、器BC的作用,由它来按照预先设计好的判决规则,对微处理机的申请进行判决。3、本质型多端口存储器的裁决逻辑 通过内部设有的逻辑检测电路裁决:当发生对一个单元同时读写时,逻辑检测电路将控 制先“写”后“读”;若检测到两端口同时对同一单元进行“写”操作时,逻辑检测电路将使它们排队,以免冲突。4、总线窗口法 总线窗口有双重功能:进行虚/实地址变换,控制总线窗口内总线开关,以便实现对共享存储器的分配与管理。四、双端口存储器及其应用 双端口存储器分为双向传输的双端口存储器和单向传输的双端口存储器。1、双向传输的双端口存储器 每一个端口都可以对存储器进行读写,从而实现两台微处理器间的半双工数据双向传输。MP
6、1和MP2是由两片74LS244芯片提供的三态门、译码器及“或”门构成的端口;存储器(2114)A0-9 CS WE Di P1A0-9 RD WR Di A10-15 P1.0 译码器 1 1 1 1P2A0-9 RD WR Di A10-15 P1.0 译码器 1 1 1 1EP1 EP2 EP1和EP2是端口控制器的输出信号决定P1或P2对2114有效由P0口提供低8位、P2.0-P2.1共10位地址线对2114进行片内寻址 由P2.2-P2.7口提供高6位地址线与P1.0控制信号经译码器译码 对2114 进行片选 MP1 MP2 (1)端口构造由微处理器的读写信号合成2114的读写信号
7、,并控制数据线的导通方向;逻辑结构:采用通信池结构,在共享区只设置一个数据缓冲区,发送与接收必须分别进行。数据的读写:数据的写入和读取一次完成,发信方把数据连续写入共享存储器后,接收方立即从共享存储器中把数据读出;存储区分配和管理:端口控制器只对发送请求进行裁决,判决算法采用固定优先算法。(2)端口控制器构造 图 4-11 双向传输双端口存储器的端口控制器的构造 1MS1MSnMS1和MS2为发送请求信号由MS1和MS2产生MS信号,送1号、2号与非门,当P1和P2同时要求发送数据时,可防止EP1和EP2被同时置“1”,引起访问冲突nMA1和MA2为接收请求信号nEN1和EN2为传输结束信号3
8、号R-S触发器的Q和Q非输出端分别送到1号、2号与非门,以保证P1提出发送请求时,2号与非门关闭,即P1比P2具有更高的优先级图4-11 双向传输双端口存储器的端口控制器的构造 Pi(i=1,2)向Pj(j=2,1)发送数据的过程:2、单向传输的双端口存储器 双机全双工数据传输:用两个单向传输双端口存储器做为共享区同时工作,来构造双单片机间全双工数据传输;单向传输双端口共享存储器中采用了信箱式逻辑结构 传输控制:1)P1向第一个单向传输双端口存储器写入数据,P2 向第二个单向传输双端口存储器写入数据;2)同步;3)P1从第二个单向传输口存储器读取数据,P2从第 一个单向传输双端口存储器读取数据
9、。类全双工通信类全双工通信:任何一台微处理器,读、写存储器并不是同时进行,而是串联进行 单向传输双端口存储器的端口构造EP1EAP1MP1INTP1.0A0-9A10-15DECDiWEA0-9CSDiA10-15DECEAP2A0-9INTRDDiMP2P1.0EP2存 储 器 (2114)5V10KP1P2EP1和EP2决定哪台处理器对存储器有效数据传输过程:1)若存储器空,P1将数据写入存储器;2)软件设置EAP1信号,中断P2;3)P2响应中断,从存 储器读数据;4)软件设置EAP2信号,中断P1;5)传输完成;五、交叉内存双通信池及其应用 1、双通信池的结构框图 控制电路控制电路AB
10、W/RCE1DBBABW/RCS1DBABW/RCS1RAMABW/RCE1DBDB池A控制电路控制电路ABW/RCE1DBABW/RCS1DBABW/RCS1RAMABW/RCE1DBDB池B单片机A及接口单片机B 及 接口PCPDQQPP利用双通信池可以互易物理位置的原理来实现双单片机通信双通信池结构中两个通信池交替作为两台微处理器的内存使用,又称为交叉内存结构 2、工作原理两片共享存储器两片共享存储器 数据桥数据桥(双向桥)(双向桥)地址桥地址桥(单向桥)(单向桥)辅助电路辅助电路(控制数据桥和地(控制数据桥和地址桥的导通状态)址桥的导通状态)通信过程如下:任意时刻,A机与B机控制数据桥
11、与地址桥使各自与一个通信池A连通,A机把自己存放在发送缓冲区中的数据写入通信池,B机把自己存放在发送缓冲区中的数据写入另外一个通信池B中。由主机(设为A机)发P信号,经D触发器变为信号,信号将控制地址桥及数据桥开关群的切换,实现两个通信池互易物理位置。互易物理位置后,先由主机(A机)通信池B中读取数据,存入自己的接收数据缓冲区中。接收完毕后A机向B机发一中断请求信号,B机响应中断,在其中断服务程序中安排从通信池A中读出数据并存入自己的接收数据缓冲区中。在通信过程中,以A机为主机,由它来掌握切换实际时机与中断时机,B机为从机。3、数据桥及数据桥控制电路 (1)数据双向桥:三态门构成(2)数据桥控
12、制电路:控制数据双向桥的导通方向读写控读写控制信号制信号片选信号片选信号主控机主控机A产生的信号经产生的信号经D触发触发器变换之后的通信池切换信号器变换之后的通信池切换信号 图 4-18 地址桥 4、地址桥及辅助电路(1)地址桥 地址线为单向总线,数据线为双向总线,所以地址桥为单向桥,而数据桥为双向桥。与数据桥相同与数据桥相同的切换信号的切换信号(2)辅助电路:切换信号与中断信号产生电路(A机为主机)地址线地址线A2A7经经3-8译码器产生,判断访译码器产生,判断访问地址的物理位置问地址的物理位置 A机产生的切换机产生的切换信号控制信号信号控制信号 5、交叉内存双通信池应用举例 双单片机数据采
13、集系统 A机负责数据采集,B机负责数据处理;A机采集好后送入通信池中。当数据装满后,机A发出切换指令,内存交叉互易,B机读出数据,完成双机通信。B机正常运行时负责对所采集的数据进行数据处理,在双机通信时,机B负责从通信池读取数据并存入磁盘以供数据处理。开关1键盘.开关3显示器 微型打印机CPU A80C51.WSY开关4遥测接口存储器2 互斥状态 促发器D7.中断控制器开关2存储器1PIO通讯接口传感器D/A转换CPU B80C51BUS ABUS B虚线框部分为交虚线框部分为交叉内存双通信池叉内存双通信池 六、简易总线窗口的设计 总线窗口共享存储区双微处理器系统中总线窗口的作用:(1)控制双
14、微机的总线通断,即起总线开关作用;(2)实现虚拟地址与实际地址的变换,即起地址变换作用。若:A机和B机对共享存储区M1的访问地址取相同范围,而且A机和B机对共享存储区M2的访问地址也取相同的范围,不需要进行虚实地址变换,总线窗口中也可以省去地址变换电路。没有地址变换作用的总线窗口称为简易总线窗口。1、系统结构 主机:部分专用,部主机:部分专用,部分共享的存储区分共享的存储区从机:部分专用,部从机:部分专用,部分共享的存储区分共享的存储区简易总线窗口简易总线窗口(虚线框部分)(虚线框部分)通信过程:主机要求从机发送数据1)从机将要发送数据)从机将要发送数据写入写入M2共享区,通过共享区,通过PI
15、O2口发出准备就绪口发出准备就绪信号信号RDY2 2)主机确认)主机确认RDY2,通过通过PIO1向总线控制向总线控制逻辑发请求通信信号逻辑发请求通信信号CMRQ1 3)确认)确认CMRQ1,产生总线,产生总线请求信号请求信号BUSRQ2送从机送从机 4)从机响应)从机响应BUSRQ2,发,发出出BUSAK2给总线控制逻辑,给总线控制逻辑,并放弃总线使用权并放弃总线使用权5)总线控制逻辑控制总线开关,)总线控制逻辑控制总线开关,接通主机总线,并将接通主机总线,并将BUSAK2通过通过PIO1传送给主机传送给主机 6)主机确认从)主机确认从机放弃总线,且机放弃总线,且总线接通,将总线接通,将M2
16、共享区数据共享区数据转移到转移到M1专用专用存储区存储区 2、总线开关 (1)地址总线开关 (2)控制总线开关 (3)数据总线开关 特点:1)均为双向总线;2)数据总线:一个通信周期中的双向;3)地址、控制总线:通信周期间的双向。3、总线开关的控制逻辑 (1)控制其中一台微处理器放弃总线;(2)控制总线开关接通另一台微处理器;七、共享存储区技术在多机备份系统中的应用 1.双机故障自动切换系统双机故障自动切换系统A机总线B机总线CPU内存时钟I/OCPU内存时钟I/O通信窗口开关总线中间缓存I/O发送端口终端2.2.三机双备份系统三机双备份系统A机总线B机总线CPU内存时钟I/OCPU内存时钟I/O通信窗口开关总线中间缓存I/O发送端口终端C机总线CPU内存时钟I/O通信窗口开关总线