您好,欢迎来电子发烧友网! ,新用户?[免费注册]

当前位置:电子发烧友网 > 图书频道 > 电子 > 《微计算机原理》 > 第7章 8086系统设计

第3节 多处理器结构

                                                                                                第三节 多处理器结构 

  在计算机系统中,具有两个或两个以上同时执行指令的部件称为多处理器结构.增加的处理器可以是专用处理器,如IBM PC/XT中用的协处理器8087是专门用来进行浮点运算的 也有的是通用处理器.随着单片微处理器性能价格比提高,使用多处理器比使用集中控制 式单个处理器更为经济有效,且应用灵活,宜于分成模块结构,便于扩充或维修.
  8088的最大模式是专为实现多处理器而设计的.最大模式提供的多个处理性能适合于三种基本配置:协处理器配置,紧耦合配置和松耦合配置.前两种配置十分相似,二者的CPU和支持处理器不仅共享整个存储器和I/O子系统,而且还共享同一个总线控制逻辑和 时钟发生器,这这两种配置中,8086为主控处理器,支持处理器为从处理器,由主CPU提供 总线访问和控制,支持处理器向CPU发出总线请求信号.紧耦合配置中,支持处理器可以 独立的工作,但协处理器不能独立操作,必须直接与CPU通信.图7--14是紧耦合配置图.
                                                                               
  松耦合配置用于中型和大型系统中,系统中每个模块都可以作为系统总线的主控设备几个模块可共享系统资源,而系统总线控制逻辑必须解决总线争用问题.处理器的通信可通过共享资源来实现.同时每个模块还可以有自己的存储器和I/O设备.

§7.3.1 协处理器配置 

                                                                                          

   虽然8086CPU功能很强,但其指令系统不能有效的满足某些复杂应用的要求.在这种应用 中,配上协处理器,以便扩充指令系统完成特殊的计算任务,如协处理器8087就能快速实现 浮点运算.协处理器配置只需8086工作在最大模式,不需要增添其他逻辑,CPU和协处理器 都执行同一个用8086扩充指令系统编写的程序.若指令由协处理器执行,则CPU除了可能 要为协处理器取出操作数之外,并不需执行其它操作.
  协处理器执行指令时,CPU和协处理器之间的相互作用如图7--16所示.系统在执行程序 时,只有主CPU能取指令,协处理器能够接收所有指令并监视主CPU指令执行过程.主CPU 在执行程序時,若需要协处理器工作,程序中安排一条交权指令ESC,该指令唤醒协处理器 并告诉协处理器必须执行的操作和运算.主CPU和协处理器同时对该指令译码,此时主CPU 可能转到执行下一条指令,或者为协处理器读取存储器操作数的第一个字,而协处理器向 主CPU发高电平信号(忙)到TEST引脚,并执行指定的操作,二者并行工作.若主CPU需要协 处理器操作结束,或者让协处理器完成另外的操作,主CPU要反复执行等待指令,当协处 理器完成操作后,向主CPU发低电平信号到TEST引脚,主CPU就可顺序执行后序指令.协处理 器和主CPU的连接图见图7--17,它们共享同一个时钟发生器和总线控制器.协处理器必须 具有如下功能:
 (1)当ESC指令在译码和和执行期间发生错误时,它将发出中断请求信号.
 (2)当附加的数据必须从存储器中读出或写入时,协处理器能通过主CPU的RQ/GT引脚 发出总线请求,以窃取总线周期.
 (3)当协处理器忙时,它必须给主CPU的TEST引脚发出一个高电平信号.

                                                                       
 

 

 §7.3.2 紧耦合系统 

  8086还可以和独立的处理器连接,形成进耦合多处理器系统.在这个系统中CPU和独立 处理器共享同一个时钟发生器和总线控制逻辑.独立处理器要取指令或者数据,向CPU的 RQ/GT引脚请求总线访问.主COPU和独立处理器工作过程如图7--18所示.相互之间通信是 通过共享存储空间实现的.主CPU在存储器为独立处理器准备一个描述待执行任务的控制 块然后用输出指令把任务分配给独立处理器.独立处理器从共享存储器得到任务和程序 入口地址并执行用自己的指令系统编写的程序.与主CPU并行工作,独立完成任务.任务 完成后,独立处理器向主CPU发中断请求或修改存储器的状态单元的内容,通知主CPU.
  图7-19给出8086COPU与独立处理器8089组成的紧耦合系统.它们共享总线,当一个处理器在使用总线时,其它的处理器的总线位于高阻状态.独立处理器通过主CPU的RQ/GT 引脚请求总线.为了唤醒独立处理器,主CPOU要执行一条输出指令,指令的端口地址分配 给独立处理器的一个端口.

                                                                                          
                                                                      


 §7.3.3 松耦合系统 

  松耦合系统中,每个CPU有自己的总线控制逻辑部件,总线裁决通过扩展总线控制逻辑和 增加外部逻辑电路来解决,并且这部分逻辑电路对所有模块是公用的.几个CPU能形成 一个很大系统,每个COPU还可接协处理器或独立处理器.松耦合系统有以下优点:
  (1)系统吞吐量高.
  (2)系统可按模块形式设计,每个总线主控模块是一个独立的部件,扩充方便.
  (3)一个模块出故障不会破坏整个系统,易于检查或维修.
  (4)每一个总线主控设备可以有局部总线,用于访问专用的存储器和I/O设备,这样可 进一步提高并行处理能力.
  松耦合系统中,多个总线主控模块能访问共享的系统总线,由于每一个主控模块独立 运行,必须增加控制电路解决总线裁决问题.这种电路称為总线访问逻辑部件,它的职责 是确保在某一时刻只有一个总线主控设备控制系统总线,同时发生的总线请求根据优先权 来解 决.图7--20是三种优先级排队方法连结图.它们是链形排队法,查询法和独立请求法.
  链式优先权排队法中所有的主控模块用同一条线请求总线,若总线不忙,则控制器 发出总线同意信号以响应总线请求.同意信号串行的通过每个主控模块,直到它遇到请求 访问的另一个主控模块为止,这个模块阻止了总线同意信号往下传送,使忙线有效.所以 离控制器最近的模块优先权高.这种方法简单,成本低,但速度慢.
  查询法也使用一条请求线,当控制器响应请求时,产生一系列模块地址到地址编码线 当提请求的模块识别到的地址时,激励忙线,并开始使用总线.
  独立请求法是并行方法解决优先权问题.每个模块有一个总线请求和同意线,且分配 给一定优先权,控制器有一个优先权译码器,它选择具有最高优先权的请求并返回相应 同意信号,这种方法速度快.INTEL8289总线裁决器是专门为提供总线联络访问信号而设计的.