正确答案
对总线仲裁问题有三种方法解决总线分配的优先级技术即串联、并联、循环等。
(1)串联优先级判别法:串联优先级判法机构中有N个模块,都可以作为总线主设备,各个模块中的请求输出端采用集电板漏极开路门,请求端用线或方式接到仲裁器请求输入端,每个模块的忙端同仲裁器的“总线忙”状态线相连,这是一个输入输出双向信号线。当一个模块占有总线控制权时,该模块的“忙”信号端成为输出端,向系统的“忙”状态线送出有效信号,例如低电平。其他模块的“忙”信号端全部作为输入端工作,检测“忙”线上状态。一个模块若要提出总线“请求”,条件是先检测到“忙”线处于无效状态,仲裁器接收总线请求输入的条件、也是“忙’’线处于无效状态。进一步可以规定仲裁器输出“允许”信号条件首先是“忙”线无效,表示总线没有被任一模块占用;其次才是有模块提出了总线请求。“允许”信号在链接的模块之间传输,直到提出总线“请求”的那个模块为止。这里从“允许”信号的边沿触发,它把共享总线的各模块按规定的优先级别链接在链路中的不同位置上。越前面的模块,优先级越高。当前面的模块要使用总线时,便发出信号禁止后面的部件使用总线,通过这种方式,确定请求总线各模块中优先级最高的模块。这种串联优先级别判别中的仲裁机构是三线链式的仲裁机构。
(2)并联优先级判别法:在这种判别法中有N个模块,都可作为总线主设备,每个模块都有总线“请求”线和总线“允许”线,模块之间是独立的,没有任何控制关系。这些信号接到总线优先控制器即仲裁器,任何一模块使用总线,都要通过“请求”线向仲栽器发出“请求”信号。
仲裁器是由一个优先级编码器和一个译码器组成。该电路接到某个模块或多个模块发来的请求信号后,首先经优先级编码器进行编码,然后由译码器产生相应的输出信号,发往请求总线模块优先级别最高的模块,总线已经被占用。在一个模块占用总线的传输结束后,就把总线“忙”信号撤销,仲裁器也撤销“允许”信号。根据各请求输入情况,仲载器重新分配总线控制权。
(3)循环优先级判别法:这种方法类似于并联优先级判别方法,其中的优先级是动态分配的,原来的优先级编码器由一个更为复杂的电路代替,该电路把占有总线的优先级在发出总线请求的那些模块之间循环移动,从而使每个总线模块使用总线机会相同。