《现代微机结构微机总线》由会员分享,可在线阅读,更多相关《现代微机结构微机总线(32页珍藏版)》请在金锄头文库上搜索。
1、第三节第三节 总线仲裁技术总线仲裁技术应用于多机系统中应用于多机系统中, 对系统总线对系统总线 共享资源的共享资源的分时使用。分时使用。总线仲裁的最初形式总线仲裁的最初形式: CPU与与DMAC之间之间一、总线仲裁的方式一、总线仲裁的方式1、链式仲裁、链式仲裁(一一) 集中仲裁方式集中仲裁方式总线控制逻辑集中在某一控制部件中。总线控制逻辑集中在某一控制部件中。每一个连接在总线上的设备有相应的逻辑每一个连接在总线上的设备有相应的逻辑, 能够能够产生请求信号产生请求信号, 在获准使用总线的情况下能够接在获准使用总线的情况下能够接收允许信号。收允许信号。 多个设备的请求和允许信号串行发多个设备的请求
2、和允许信号串行发送和接收。送和接收。原理如下图所示原理如下图所示:总线总线系统系统控制控制逻辑逻辑主控主控设备设备 1主控主控设备设备 2主控主控设备设备 n请求请求请求请求请求请求允许允许允许允许允许允许仲裁过程仲裁过程:(1) “请求请求”信号逐级传递信号逐级传递, 直到系统控制逻辑直到系统控制逻辑;(2) “允许允许”信号逐级传递信号逐级传递, 直到提出请求的设直到提出请求的设备备;(3) 未提出请求的设备将未提出请求的设备将“允许允许”信号传递到下信号传递到下一级一级, 提出提出“请求请求”的设备不再将的设备不再将“允许允许”信号后传信号后传;(4) 提出请求并收到提出请求并收到“允许
3、允许”信号的设备占有总线。信号的设备占有总线。链式仲裁机制链式仲裁机制:优点优点: 线路简单线路简单;速度慢速度慢;先请求者优先先请求者优先, 并占有总线并占有总线;多个设备同时请求时多个设备同时请求时, 逻辑上越靠近总线系统控逻辑上越靠近总线系统控制逻辑的设备制逻辑的设备, 优先级越高优先级越高, 并占有总线。并占有总线。缺点缺点: 对电路故障很敏感对电路故障很敏感;优先级固定优先级固定, 低优先级设备可能较长时间低优先级设备可能较长时间不能占有总线不能占有总线(如高优先级设备频繁请求如高优先级设备频繁请求)。应用场合应用场合: 小系统小系统2、改进的链式仲裁、改进的链式仲裁请求信号不再串行
4、传递请求信号不再串行传递, 允许信号仍然串行。允许信号仍然串行。增加反映总线当前状态的信号线增加反映总线当前状态的信号线“总线忙总线忙”。原理如下图所示原理如下图所示:总线总线系统系统控制控制逻辑逻辑主控主控设备设备 1主控主控设备设备 2主控主控设备设备 n请求请求总线总线“忙忙”允许允许允许允许允许允许仲裁线路过程:仲裁线路过程:(2) 任何设备的任何设备的“请求请求” 直接送到系统控制逻直接送到系统控制逻辑辑;(3) “允许允许”信号逐级传递信号逐级传递, 直到提出请求的设直到提出请求的设备备;(4) 未提出请求的设备传递未提出请求的设备传递“允许允许”信号到下信号到下一级一级, 提出提
5、出“请求请求”的设备不再将的设备不再将“允许允许”信号后传。信号后传。(5) 提出请求并收到提出请求并收到“允许允许”信号的设备占有总信号的设备占有总线线; 并置并置“总线忙总线忙”有效。有效。(1) 设备提出设备提出“请求请求”的前提是的前提是“总线忙总线忙”无无效。效。(也可采用系统控制逻辑发出也可采用系统控制逻辑发出“允许允许”信号的信号的前提是前提是“总线忙总线忙”无效。无效。)优缺点优缺点: 与链式仲裁相似。与链式仲裁相似。3、计数查询方式、计数查询方式基本原理基本原理:为每一个主设备分配一个地址号为每一个主设备分配一个地址号, 一个主设备一个主设备接口中具有一个地址号识别电路。接口
6、中具有一个地址号识别电路。系统控制逻辑中设置一计数器系统控制逻辑中设置一计数器, 一旦收到请求一旦收到请求信号信号, 该计数器开始计数该计数器开始计数, 直到计数值等于提直到计数值等于提出请求的设备的设备号为止。出请求的设备的设备号为止。原理如下图所示原理如下图所示:主设备分配有一地址号主设备分配有一地址号, 比如比如m1、m2、 mn系统控制逻辑收到请求且总线系统控制逻辑收到请求且总线“忙忙”无效无效, 计计数器开始计数数器开始计数; 计数器将每一计数值通过设备地址线送往各设计数器将每一计数值通过设备地址线送往各设备备, 设备将该计数值与自身的设备号进行比较设备将该计数值与自身的设备号进行比
7、较;主控主控设备设备 1主控主控设备设备 2主控主控设备设备 n请求请求系统控系统控制逻辑制逻辑计计数数器器.设备地址线设备地址线总线总线“忙忙”直到某一次的计数值与提出请求的设备的设备号相直到某一次的计数值与提出请求的设备的设备号相等等, 该设备置总线该设备置总线“忙忙”有效有效, 计数器停止计数计数器停止计数, 该设备占有总线。该设备占有总线。优先级的确定:优先级的确定:(1) 如果计数器从如果计数器从“0”开始作加开始作加“1”计数计数,(2) 如果计数器从最大值开始作减如果计数器从最大值开始作减“1”计数计数,(3) 计数器从上一次中断值开始计数计数器从上一次中断值开始计数,则设备号越
8、小则设备号越小, 优先级越高优先级越高;则设备号越大则设备号越大, 优先级越高优先级越高;则为动态优先级。则为动态优先级。还可以设置其他不同的计数方式,可很容易还可以设置其他不同的计数方式,可很容易改变设备优先级改变设备优先级4、并行仲裁方式、并行仲裁方式(独立请求方式独立请求方式)请求与允许信号相互独立。请求与允许信号相互独立。原理如下图所示:原理如下图所示:“请求请求”信号与信号与“允许允许”信号直接送到总线系信号直接送到总线系统控制逻辑统控制逻辑, 无需逐级传递无需逐级传递, 速度快。速度快。总线总线系统系统控制控制逻辑逻辑主设备主设备1主设备主设备2主设备主设备n请求请求1总线总线“忙
9、忙”允许允许1请求请求2允许允许2.请求请求n允许允许n如何决定优先级如何决定优先级:(1) 系统控制逻辑内置的优先权算法系统控制逻辑内置的优先权算法;(2) 系统控制逻辑内置硬件优先权排队电路。系统控制逻辑内置硬件优先权排队电路。 一种一种硬件优先权排队电路的实现方法硬件优先权排队电路的实现方法 编码器简介编码器简介(以以8:3编码器为例编码器为例) 8:3 编编 码码 器器I1I2I3I4I5I6I7I0O1O2O0I7 I6 I5 I4 I3 I2 I1 I0 O2 O1 O00 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 1 00 0 1 0 0 0 0 0 1 0
10、00 1 0 0 0 0 0 1 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 1 0 0 0 0 01 0 10 1 0 0 0 0 0 01 1 01 0 0 0 0 0 0 01 1 1当有多个输入同当有多个输入同时为时为1时时, 输出对输出对应输入值最大的应输入值最大的编码。编码。比如比如: I5I4I3同时同时为为1, 则输出则输出101。 硬件排队电路构成硬件排队电路构成 将所有主设备请求信号连接到编码器输入端将所有主设备请求信号连接到编码器输入端, 从而把请求信号转换成大小不同的编码值。将从而把请求信号转换成大小不同的编码值。将高优先级设备的请求连接到更
11、大编码值对应的高优先级设备的请求连接到更大编码值对应的输入输入; 将编码器输出作为一个将编码器输出作为一个3:8译码器输入译码器输入, 用译用译码器输出信号作为码器输出信号作为“允许允许”信号。信号。电路原理图如下电路原理图如下: 8:3 编编 码码 器器请求请求1请求请求2请求请求3请求请求4请求请求5请求请求6请求请求7请求请求0O1O2O0I1I2I3I4I5I6I7I0 3:8 译译 码码 器器允许允许0允许允许1允许允许2允许允许3允许允许4允许允许5允许允许6允许允许7000001010011100101110111假设假设: 按设备号高则优先级高的设计。按设备号高则优先级高的设计
12、。当多个设备同时请求当多个设备同时请求, 比如设备比如设备3、设备、设备4、设备、设备5, 则则I3I4I5同时为同时为1, 则输出则输出101, 译码器只输出允许信译码器只输出允许信号号“允许允许5”, 则设备则设备5占有总线。占有总线。(二二) 分布式仲裁方式分布式仲裁方式判优硬件分布在各个总线主设备中,基本原理:判优硬件分布在各个总线主设备中,基本原理:为每一个主设备分配一个优先权编码为每一个主设备分配一个优先权编码, 每一主设每一主设备设置有一个判优器。备设置有一个判优器。主设备提出请求时主设备提出请求时, 将优先权编码送往判优器将优先权编码送往判优器, 同时将该编码送往一个公共的比较
13、器与其它请同时将该编码送往一个公共的比较器与其它请求设备的优先权编码进行比较。求设备的优先权编码进行比较。1、优先权编码法、优先权编码法电路原理图如下电路原理图如下:主设备主设备1主设备主设备2主设备主设备n.总线忙总线忙总线请求总线请求优先权编码比较电路优先权编码比较电路分布式分布式判优器判优器允许允许1编码编码AP1分布式分布式判优器判优器允许允许2编码编码AP2分布式分布式判优器判优器允许允许n编码编码APn.仲裁过程:仲裁过程:请求设备将设备优先权编码送到自身的请求设备将设备优先权编码送到自身的分布式判分布式判优器优器, 再通过判优器送到再通过判优器送到优先权编码比较电路优先权编码比较
14、电路, 该该电路对收到的所有优先权编码进行比较电路对收到的所有优先权编码进行比较, 并产生并产生结果结果AP (AP为收到的优先权编码中最大的优先为收到的优先权编码中最大的优先权编码权编码)。提出请求设备的判优器读回比较结果提出请求设备的判优器读回比较结果AP, 并与自并与自身优先权编码身优先权编码APi比较比较:如果如果 APi = AP, 则该判优器产生则该判优器产生“允许允许”信号信号, 对应设备占有总线。对应设备占有总线。如果如果 APi AP, 则该判优器不产生则该判优器不产生“允许允许”信信号号, 对应设备不能占有总线。对应设备不能占有总线。2、令牌环优先级仲裁方式、令牌环优先级仲
15、裁方式 基本原理与令牌环网络协议类似。基本原理与令牌环网络协议类似。为总线主控设备分配令牌,提出总线请求且持为总线主控设备分配令牌,提出总线请求且持有令牌的主控设备可以占有总线。有令牌的主控设备可以占有总线。令牌持有者令牌持有者(某主控设备某主控设备)在完成数据传送以后在完成数据传送以后, 将令牌发送给下一个主控设备将令牌发送给下一个主控设备, 若该设备有总线若该设备有总线请求请求, 则占有总线并进行数据传送则占有总线并进行数据传送,完成后再将完成后再将令牌传送至下一个主控设备令牌传送至下一个主控设备;若令牌者持有者无若令牌者持有者无总线请求总线请求, 则直接将令牌传送至下一个主控设备。则直接
16、将令牌传送至下一个主控设备。令牌环仲裁方式属于循环优先级仲裁方式。令牌环仲裁方式属于循环优先级仲裁方式。主控设备主控设备1仲裁逻辑仲裁逻辑1仲仲裁裁逻逻辑辑2主主控控设设备备2主控设备主控设备3仲裁逻辑仲裁逻辑3仲仲裁裁逻逻辑辑主主控控设设备备nn传递令牌传递令牌二、总线仲裁例二、总线仲裁例 Intel 8289总线仲裁器总线仲裁器Intel 8289是为是为Intel 8086配套仲裁芯片。配套仲裁芯片。Intel 8086的最大和最小工作模式的最大和最小工作模式:引脚引脚MN/MX=1 单机模式单机模式=0 多机模式多机模式多机模式下多机模式下, 系统总线控制信号由系统控制器系统总线控制信
17、号由系统控制器Intel 8288提供。提供。最小模式下的引脚最小模式下的引脚:M/IODT/RDEN最大模式下标识为最大模式下标识为:S2S1S0最大模式下由最大模式下由Intel 8288 将将 转换为总线转换为总线控制信号。控制信号。S2S1S0如下图所示如下图所示:多机系统的的组成:多机系统的的组成:8086MN/MXS2S1S08288总线总线控制控制器器INTAMRDCMWTCIORCIOWCDENDT/RALEOE 80868288 8289处理器模板处理器模板1 80868288 8289处理器模板处理器模板2 80868288 8289处理器模板处理器模板n.系系 统统 总总
18、 线线 在一个处理器模板内在一个处理器模板内, 可以有存储器和可以有存储器和I/O接口接口, 称为称为“私有存储器和私有存储器和I/O接口接口”, 统称为独享区。统称为独享区。 系统存储器系统存储器 系统系统I/O 独享区和共享区有不同的地址空间独享区和共享区有不同的地址空间共享区共享区1、8289引脚功能引脚功能(1) 工作方式控制工作方式控制IOBRESB Intel 8289IOBRESB其状态有一个模板独享区其状态有一个模板独享区的配置情况而设置。的配置情况而设置。 I/O总线方式总线方式IOB RESB=00模板配置情况模板配置情况:因此因此:处理器访问存储器时处理器访问存储器时,
19、需要提出总线请求需要提出总线请求;一个处理器模板有自身的一个处理器模板有自身的I/O接口接口, 且不访且不访问共享区问共享区I/O接口接口; 模板无存储器。模板无存储器。处理器访问处理器访问I/O时时, 无需提出总线请求无需提出总线请求; 常驻总线方式常驻总线方式IOB RESB=11模板配置情况模板配置情况:因此因此:地址译码。地址译码。一个处理器模板有自身的一个处理器模板有自身的I/O接口接口, 也有自身也有自身存储器。处理器既要访问自身的存储器。处理器既要访问自身的I/O接口和存接口和存储器储器, 也要访问共享区也要访问共享区I/O接口和存储器。接口和存储器。处理器访问处理器访问I/O时
20、或访存时时或访存时, 需要区分访需要区分访问独享区还是共享区问独享区还是共享区, 以决定是否需要提以决定是否需要提出总线请求出总线请求;区分方法区分方法: I/O总线总线/常驻总线方式常驻总线方式IOB RESB=01模板配置情况模板配置情况:因此因此:地址译码。地址译码。一个处理器模板有自身的一个处理器模板有自身的I/O接口接口, 也有自身也有自身的存储器。处理器不访问共享区的存储器。处理器不访问共享区I/O接口。接口。处理器访问处理器访问I/O时时, 不需要提出总线请求不需要提出总线请求;访存时访存时, 需区分访问独享区还是共享区存需区分访问独享区还是共享区存储器储器, 以决定是否需要提出
21、总线请求以决定是否需要提出总线请求;区分方法区分方法: 单一总线方式单一总线方式IOB RESB=10模板配置情况模板配置情况:一个处理器模板既无一个处理器模板既无I/O接口接口, 也无存储器。也无存储器。处理器访问处理器访问I/O和存储器和存储器, 都需要提出总线请求。都需要提出总线请求。(2) 独立请求信号独立请求信号BREQIOBRESB Intel 8289BREQ一般用于在并行仲裁一般用于在并行仲裁方式时方式时, 8289通过该通过该引脚提出请求信号。引脚提出请求信号。(3) 公共请求信号公共请求信号CBEQ一般用于在链式仲裁方式一般用于在链式仲裁方式时时, 8289通过该引脚提出通
22、过该引脚提出请求信号。请求信号。CBRQ(4) 优先级输入信号优先级输入信号BPRNBPRN即即“允许允许”信号。信号。当当8289收到该信号时收到该信号时, 所在处理器模板的则可所在处理器模板的则可占有总线的使用权。占有总线的使用权。IOBRESB Intel 8289BREQCBRQBPRN(5) 优先级输出信号优先级输出信号BPRO即链式仲裁时即链式仲裁时, 用于用于连接到下一个仲裁器连接到下一个仲裁器的的BPRN(6) 总线忙总线忙 BUSY当前有处理器模板占有总线。当前有处理器模板占有总线。BUSYBPRO(7) 处理器信号处理器信号 S2S1S0S2S1S0使使8289了解处理器当
23、前工作状态。了解处理器当前工作状态。(8) S/RS/R地址译码后地址译码后, 通知通知8289是否需要提出总线请求。是否需要提出总线请求。若访问共享区若访问共享区, 则则1 ,S/R8289提出总线请求。提出总线请求。若访问独享区若访问独享区, 则则0 ,S/R8289不提出总线请求。不提出总线请求。(9) ANYRQSTIOBRESB Intel 8289BREQCBRQBPRNBUSYBPROS2S1S0S/RANYRQST用于剥夺某一模块用于剥夺某一模块对总线的控制权。对总线的控制权。以防止某一模板长以防止某一模板长期占有总线。期占有总线。ANYRQST =0: 有优先级更高的请求时有
24、优先级更高的请求时, 剥夺当剥夺当前占有总线的模板的控制权前占有总线的模板的控制权;ANYRQST =1:无论优先权高低无论优先权高低, 只要其它模板只要其它模板提出请求提出请求(通过通过 感知感知), 在在当前周期结束后当前周期结束后, 该模板释放总该模板释放总线控制权。线控制权。CBRQ用用8289构成链式仲裁逻辑例构成链式仲裁逻辑例:BPRN BPRO 8289(1)BPRN BPRO 8289(2)BPRN BPRO 8289(3)CBRQBUSY用用8289构成并行仲裁逻辑例构成并行仲裁逻辑例: 8289(1) 8289(3) 8289(2) 8289(4) 4:2 优先权优先权 编
25、码器编码器 2:4译码器译码器BREQ1BREQ2BREQ3BREQ4BPRN1BPRN2BPRN3BPRN4CBRQBUSY(10) AENIOBRESB Intel 8289BREQCBRQBPRNBUSYBPROS2S1S0S/RANYRQSTAEN如果如果8289取得总线取得总线控制权控制权, 处理器占处理器占有总线有总线; 若若8289未未取得控制权取得控制权, 则处则处理器不能占有总线。理器不能占有总线。怎样反映处理器是否占有总线?怎样反映处理器是否占有总线?当当8289收到允许信号收到允许信号, 应使应使8289所在模板与系统所在模板与系统总线连通总线连通; 若若8289未收到允许信号未收到允许信号, 则则8289所在模板不能与所在模板不能与系统总线连通。系统总线连通。AEN=0 (有效有效) 使模板与系统总线连通使模板与系统总线连通=1 (无效无效) 模板不能与系统总线连通模板不能与系统总线连通8086地址锁地址锁存器存器数据锁数据锁存器存器8288总总线控制线控制器器系系统统总总线线8289总总线总裁线总裁器器AENOEOEOEBPRN系系统统连连接接原原理理图图4:1选择器4:1选择器4:1选择器 4:1选择器RQ0RQ1RQ2RQ3 2:4译码器 8位数据寄存器 2:4译码器 2:4译码器 2:4译码器 2:4译码器允许0允许1允许2允许34:2 编 码 器