共用每个周期的动态总线仲裁与授权.pdf

上传人:b*** 文档编号:656378 上传时间:2018-03-02 格式:PDF 页数:18 大小:793.94KB
返回 下载 相关 举报
摘要
申请专利号:

CN91105822.2

申请日:

1991.08.21

公开号:

CN1060166A

公开日:

1992.04.08

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 13/00申请日:19910821授权公告日:19980225终止日期:20100821|||保护期延长|||授权||||||公开

IPC分类号:

G06F13/00

主分类号:

G06F13/00

申请人:

国际商业机器公司;

发明人:

乔治·B·马雷尼

地址:

美国纽约

优先权:

1990.09.21 US 07/586,349

专利代理机构:

中国国际贸易促进委员会专利代理部

代理人:

乔晓东

PDF下载: PDF下载
内容摘要

每个传送周期有至少两个非重叠时钟,并且每个仲裁周期有至少一个传送周期,仲裁优先级请求仅在第一时钟上升时从每个外部设备发送到仲裁总线上,在后一个时钟结束时,确定具有最高优先级的外部设备的优先级代码,以指定这个外部设备为总线主控器。在当时有效的总线主控器放弃控制权之后的下一个周期内通过非专用总线在指定的总线主控器与存储器或另一个外部设备之间传送地址和数据。外部设备的优先级可以动态改变。

权利要求书

1: 一种用于在存储器和/或各有一仲裁优先级的若干外部设备之间的一条非专用总线上的直接存储器存取(DMA)数据传送过程中对总线仲裁进行优化的装置,特征为: 用于在每个传送周期中提供至少两个非重叠时钟和每个仲裁周期至少一个传送周期的装置; 用于仅在所述时钟中的第一个上升时将来自每个外部设备的仲裁优先权请求发送到仲裁总线的装置; 在所述时钟后一个结束时工作、用以确定具有最高优先级的外部设备的优先级代码并指定该外部设备为总线控制器的装置;以及 用于在当时有效的总线主控器放弃控制权之后的下一个周期内通过非专用总线在指定的总线主控器和存储器或另一个外部设备之间传送地址和数据的装置。
2: 权利要求1的装置,特征为:可动态改变至少某些外部设备优先级的装置。
3: 权利要求1的装置,特征为:各个外部设备的优先级是预先选择且固定不变的。
4: 权利要求1的装置,特征为:用于使所有总线主控优先权请求同步的装置。
5: 权利要求1的装置,特征为:以不损失地址或数据传送周期的方式对所述仲裁周期进行流水线处理的装置。
6: 权利要求1的装置,特征为:所述传送装置包括依次对总线请求、带有地址的优先权授权以及数据传送进行流水线处理的装置。
7: 权利要求1的装置,特征为:所述传送装置包括在非专用总线上从不同外部设备以多路复用连续顺序流形式传送数据的装置。
8: 权利要求1的装置,特征为:所述传送装置包括在相继的周期内从不同的总线主控器传送DMA数据的装置。
9: 权利要求1的装置,特征为:允许当时有效的总线主控器延长几个周期,在此期间它与一个或更多个外部设备通信的装置。
10: 权利要求1的装置,特征为:所述仲裁周期在长度上等于传送周期或者是其整数倍。
11: 权利要求1的装置,特征为:响应仲裁周期之后所述第一时钟的上升而通知所述外部设备中特定的一个它将是下一个周期的总线主控器的装置。
12: 权利要求1的装置,特征为:剥夺已按顺序被指定为下一个总线主控器的设备的装置,所述装置的工作条件是: (a)如果当时有效的总线主控器以(通过-LOCK信号)起动一锁定期而保持总线主控权一个以上的传送周期, (b)一更高优先级设备在所述锁定期内获得仲裁。
13: 权利要求1的装置,特征为:非专用总线包括一地址总线和一双向数据总线。
14: 权利要求1的装置,特征为:非专用总线包括一条在半周期期间供输出地址和数据复用的单向总线和一条单向输入的数据总线。
15: 权利要求1的装置,特征为:非专用总线为供地址和数据 使用的单一的双向总线,并且地址仅在一次长串传送开始时发送,而在其后的数据传送周期内,地址将顺序递增直至发送一个新的非顺序地址。
16: 一种在存储器和/或各有一仲裁优先级的若干外部设备之间在非专用总线上的直接存储器存取(DMA)数据传送过程中对总线仲裁进行优化的方法,特征是有下列步骤: 为每个传送周期提供至少两个非重叠时钟,并且为每个仲裁周期提供至少一个传送周期; 仅在所述时钟中的第一个上升时将来自每个外部设备的仲裁优先权请求发送到仲裁总线上; 在所述时钟后一个结束时,确定具有最高优先级的外部设备的优先级代码并指定该外部设备为总线主控器;以及 在当时有效的总线主控器放弃控制权之后的下一个周期内通过非专用总线在指定的总线主控器和存储器或另一个外部设备之间传送地址和数据。
17: 权利要求16的方法,特征为:动态改变至少某些外部设备优先级的步骤。
18: 权利要求16的方法,特征为:在传送步骤中,在非专用总线上从不同的外部设备以多路复用连续顺序流形式传送数据。
19: 权利要求16的方法,特征为:以不损失地址或数据传送周期的方式对所述仲裁周期进行流水线处理的步骤。
20: 权利要求16的方法,特征为:允许当时有效的总线控制器延长几个周期,在此期间它与一个或更多个外部设备通信的步骤。
21: 权利要求16的方法,特征为:响应仲裁周期之后所述第 一时钟的上升而通知所述外部设备中特定的一个它将是下一个周期的总线主控器的步骤。
22: 权利要求16的方法,特征为:剥夺已按顺序被指定为下一个总线主控器的设备的步骤: (a)如果当时有效的总线主控器以起动一锁定期而保持总线主控权一个以上的传送周期,以及 (b)一更高优先级设备在所述锁定期内获得仲裁。

说明书


此项发明涉及用以控制一存储器和/或若干外部设备(包括处理器)之间非专业总线上数据传送的装置,更具体地涉及用以通过消除无效仲裁周期和大组缓冲器并将全部带宽用于数字传送而更有效地对这些设备之间的优先级作出仲裁的装置。

    1989年11月出的PS/2硬件接口技术资料的IBM微通道结构附录介绍了一种目前广泛应用的通道结构。在30-33页上,讨论了成组传送以及总线主控器之间的局部仲裁和占先。这种及其它目前用于直接存取(DMA)的通道总线仲裁的方法和装置需要用几个周期来对多个外部设备之间的优先权作出仲裁以确定优胜者。这就减少了用于数据传送的时间。

    在以往提出的系统中,在这些仲裁周期内不允许授权总线控制。这些仲裁周期构成了降低带宽可利用性的额外消耗。为了减少这种额外消耗,一种现行但低效的解决办法是将数据传送按首尾相接的(即连续的、不间断的)周期分组。但不幸这又需要用大容量缓冲器及其控制电路那样地附加的硬件,其操作必须以可变间隔中断使之不致超越其它必须允许占先的优先级较高的DMA传送设备。为了避免总线被外部设备霸占,一向都建议用复杂的公平性算法,这更增加了逻辑复杂性,并且只是略微缓解症状而不能根本解决问题。

    申请人所知的已有方法都未介绍这样的用最少的仲裁逻辑优化多个外部设备之间总线仲裁的装置:(1)消除大组缓冲器和无效仲裁周期、(2)允许数据传送以来自不同外部设备的多路复用连续顺序流形式进行、以及(3)同已有技术一样,允许各个外部设备的优先权动态改变。

    提出了一种计算机总线管理装置,可消除等待仲裁周期和成组方式等待时间。通过避免对以往所需数据流缓冲器和仲裁逻辑的需求简化了总线接口协议。外部设备事先知道何时总线访问将得到批准,允许进行更快的流水线操作。由于最高请求设备将总能按顺序获得总线主控权直到所有设备都得到服务,霸占和公平性问题也因不再需要长的成组传送而在优先权的基础上自动得到解决。

    这些优点可以通过每个传送周期至少设两个非重叠时钟并且每个仲裁周期至少设一个传送周期来获得。来自每个外部设备的仲裁优先权请求仅在最初一个时钟上升时发送到仲裁总线。具有最高优先级的外部设备的优先级代码在最末一个时钟结束时确定。优先级代码可以是固定的或动态改变的。

    实现此发明可以(a)用地址总线和双向数据总线;或(b)对于更快的流水线操作,用在半周期期间内供地址和数据多路复用的单向输出总线,而数据总线仅是单向输入的;或(c)用单一的非专用双向总线,而地址仅在一次长传送开始时发送一次并在随后的数据传送周期内顺序递增直至发送一新的非顺序地址。

    图1为体现此发明的计算机总线管理装置的框图;

    图2是为实现此发明与每个外部设备相联用以从单一源产生两个非重叠时钟周期的电路的示意图;

    图3为表示由图2电路产生的非重叠时钟周期的时序图;

    图4为仲裁电路的示意图,它在所述时钟周期最末一个结束时根据一固定优先级(此处示例性地假定为“5”(0101))授权给一总线主控器;

    图5为可替代图4的一部分的示意图,给出了可在所述时钟周期最末一个结束时根据可动态设定的优先级授权给一总线主控器的电路;以及

    图6为表示实现连续成组或流式读/写操作的总线请求、总线授权、地址、数据传送和互锁的流水线操作的时序图。

    如图1所示,体现此发明的总线管理装置包括一中央处理单元(CPU)10,它可通过系统总线与主存储器11及若干外部设备如13、14等进行通信。这里所用的术语“外部设备”泛指其它CPU以及磁盘存储器、打印机等外围设备。振荡器15之类的信号源向每个外部设备提供方波信号。如图所示,振荡器15是与CPU分开的;但如果愿意,其信号发生功能也可由CPU来提供。

    注意:根据此发明的一个特点,不需要总线控制器或DMA控制器。

    如图2所示,每个外部设备13、14包括一对反相器20、21和一对缓冲驱动器22、23。当振荡器15变为正时,它使线24上的信号上升。这个信号直接加在“与”门上,并且还经反相器20、21反相而后再反相之后间接加在所述“与”门上,以实现时间延迟。时间延迟结束时,经“与”门25选通的信号被“或”门26反相。并使缓冲驱动器驱动时钟C1变正。同时,“或”门26的输出在27处同来自反相器20的多少延迟了的输出作“与”运算,使得“或”门28将信号反相并使缓冲驱动器驱动时钟C2变正。门25、26与门27、28相同。

    各个时钟C1和C2的正和负周期的时序在图3中给出。时钟C1和C2相位相差180°。但是,根据此发明的一个特点,由于经过反相器21延迟,时钟C1的周期长度略短于时钟C2的,以实现时钟周期不重叠。例如,假定振荡器15的周期长度为100毫微秒(ns),则由于从前沿起有2 1/2 ns的延迟并在后沿加有1 1/2 ns的延迟,正时钟C1的相长度为49ns,这使得负时钟C1有51ns的相长度。但是,由于从前沿起2 1/2 ns的延迟并在后沿加有2ns的延迟,正时钟C2有稍长些的49.5ns的相长度,这使得负时钟C2有50.5ns的相长度。

    虚线29、30、31(图2)是为诊断测试目的而设的连线,通常不起作用,这里只是为了完整才将其给出。线29上的负信号将抑制时钟C1,使得只有时钟C2起作用。类似地,线30上的负信号将抑制时钟C2,使得只有时钟C1起作用。线31上的正信号将调整反相“或”门26、28,使时钟C1和C2都持续保持为正。

    根据此发明的另一特点,每个外部设备13、14都在周期早期的同一预定时刻一即最初时钟C1起始时-知道它何时将成为总线主控器。仲裁请求只能在时钟C1上升时在编码仲裁总线40(图4)上予以改变,此后将稳定不变以求在最末时钟C2下降时授权给一总线主控器。

    现参照图4,线ARφ、AR1、AR2、AR3和-LOCK是与仲裁总线40连接的“或”点(OR  dot)。任何希望对总线12进行访问的外部设备13、14将其读或写请求记录在由时钟C2设定的锁存器(未图示)中。这个请求通过由时钟C1定时的自己的总线请求极性保持锁存器41。锁存器41有一连至电路42的正输出。如果仲裁总线40上没有更高的优先级,ARφ的电平为正,且“或”电路42起一个有负输出的反相器的作用。这个输出在43处被反相,并变成正的总线请求最高1。这个请求经反相驱动器44反相,将负的AR1电平加在仲裁总线40上。这个请求将随同总线请求最高3一起通过,并且请求设备13或14将成为总线主控器。

    如果仲裁总线40上的其它设备使最高电平的ARφ起作用,从总线到“或”反相电路42的ARφ线上的信号将为负,结果得到来自电路42的正输出,后者阻塞曲线AR1和AR3上总线请求产生的任何输出。电路42的正输出还使“与”反相电路45阻塞任何请求通过到达仲裁总线40的AR3支路。

    如图4所示,优先权定为5。因而,对于代码5,四位代码形式的自己的优先级就是在AR1和AR3上的比特,而AR3是最低位。

    如果来自某个外部设备的AR2更高优先级激活,它将在46处被反相并将“与”反相电路45的输入处的极性改变为正。如果“与”反相电路45的这些输入任何一个为正,所述电路的输出将为负;并且在这种情况下,经过反相驱动器47,不会有负输出出现在AR3上。

    如果没有来自任何其它外部设备的ARφ或AR2优先权请求。“与”反相电路45的两个输入都将为负。于是电路45的输出将使总线请求最高3输出变为正。这个输出被反相驱动器47反相并作为AR3负有效输出出现。“与”反相电路45的输出(在这种情况下就是总线请求最高3)也就是其自己的优先级解码,并在时钟C2期间预先设置好自己的优先级极性保持锁存器48。锁存器48将根据时钟C2结束时的状态进行锁定。

    根据此发明的一个特点,一旦自己的优先级锁存器48被锁定,它就能在下一个周期设定自己的总线授权极性保持锁存器49,以允许占用接着的一个周期。自己的优先级锁存器48的输出通过“与”门50、被“或”反相门51反相,并在时钟C1开始时被自己的总线授权锁存器49锁定。这就向特定的设备发出它就是那个周期的总线主控器的信号。

    在这个优先权确定过程之前曾是总线主控器的前一个设备可以延长其周期,尽管另一外部设备的自己的优先级锁存器(如48)已被锁定。这就推迟了下一个周期直到前一个主控器释放了总线12。这个延迟功能受“与”门50的第二输入亦即任何锁定极性保持锁存器52的输出的控制。锁存器52将一直被取自总线40上-LOCK信号的前一个时钟C2锁定。

    一旦延长的周期完结,亦即由前一个总线主控器在时钟C1时刻解除-LOCK信号。如果当时没有收到争先现行仲裁优先权的更高的优先级请求的话,这将使自己的总线授权锁存器受时钟C2时释放的任何锁定锁存器52的控制而在下一个时钟C1时继续以流水线方式工作下去。

    现假设有一装置因有一低速从属接收器或因其要执行某种成组方式而希望能占用相继的两个或更多个周期。该装置将通过“与”反相电路54在时钟2时锁定其自己的锁定极性保持锁存器。自己的延长请求必须在其出现在“与”反相电路54之前由时钟C1装入另一锁存器(未图示)。“与”反相电路54通过反相驱动器55的输出既可将自己的锁定锁存器52置位又驱动仲裁总线40上的公共-LOCK信号。只要自己的锁定锁存器53保持置位,其正输出将在“或”反相电路51处作“或”运算,以在若干周期内保持自己的总线授权锁存器49不变。再者,一旦延长的周期完结,自己的锁定锁存器53将被时钟C2复位,自己的总线授权锁存器49将被时钟C1复位。这使得-LOCK信号消失。所有外部设备就都将可以继续后续的数据传输。

    反相驱动器56、57因不参与优先权代码0101的生成而在内部不起作用并且它们的输出接地;但是它们仍对来自总线40的外部输入有响应。

    对总线12上数据进行选通的流水化时序是通过在时钟C2时将自己的总线授权锁存器58的正输出装入自己的授权延迟锁存器58并在时钟C1时将锁存器58的输出装入自己的数据传输锁存器59。锁存器59的输出是对出入总线12的数据进行选通的时序信号。

    图5给出可代替电路65(图4中虚线框内)的电路,使得优先级代码可以动态改变。可提供多达16个不同优先级的四位优先级代码在操作开始比如初始程序装入(IPL)时装入寄存器70。这个电路65包括四个反相驱动器71、72、73、74。这些驱动器为集电极开路或点驱动器。它们设置分别由“与”门75、76、77、78驱动的仲裁位ARφ、AR1、AR2、AR3。这些“与”门通过实际上为单独电路的两个复合逻辑门79、80来确定最高优先级。

    门79包含两个“与”门81、82和一个三端“或”反相门83。“或”反相门83阻塞所有较低请求线AR1、AR2和AR3。门83还阻断自己的优先级电路84,如果某个较高优先级在仲裁总线40上从外部起作用的话。如果ARφ起作用而寄存器70的极性保持锁存器PRφ输出不起作用,“与”门81将通过“或”反相电路83阻塞AR1、AR2、AR3及自己的优先级信号。

    类似地,以“与”门82,如果AR1起作用而极性保持锁存器PR1不起作用,那末AR1、AR2、AR3及自己的优先级信号都将被阻塞;据此,仲裁过程将排除该设备接着得到服务的可能。

    反相门83的最末一个输入就是由时钟C1置位并请求一个仲裁周期用于数据传输的总线请求极性保持锁存器(未图示)的输出。十总线请求极性保持锁存器线如果不起作用就将为负。这就自动阻塞了所有块76、77、78和84。当“与”反相电路84的输出为正,就标志着这是赢得仲裁并在后面若干周期内可开始进行传输的当前最优先级装置。

    复合逻辑门80包含“与”门85和86,除了所处理的是两个较低仲裁总线位AR2和AR3之外,它们的操作与门81和82类似。而且,“或”反相电路87对较低的两位具有与电路83相同的作用;但它并不需要与十总线请求极性保持锁存器(未图示)连接,因为输出已由电路83来控制,后者的输出已接至所有的门76、77、78、84。因此“或”反相电路87的输出只控制仲裁总线40的AR3线上的最低有效位还有其自己的优先级门84以实现锁存。

    仲裁总线40的ARφ线上的最高有效位就是最高位。任何驱动这位的设备将自动拥有最高优先级。如果寄存器70内由微处理器设定的优先级表明某个特定设备拥有优先级ARφ或更高有效位,则其它也由时钟C1置位的-总线请求极性保持锁存器(未图示)将自动驱动仲裁总线40的ARφ线。在这种情况下,这位将总是有效而不必被阻塞。

    图6为一时序图,说明采用参数由技术决定的自激振荡器15(图1)的各种流水线操作。现有技术采用100毫微秒的周期,将来的技术已打算采用50毫微秒。总线请求总是可在时钟C1开始即振荡周期前半时改变。总线请求维持到下一个时钟C1。总线授权也由时钟C1设定;但它跟在总线请求周期之后,因而总是迟一个周期进行流水线操作。

    图6表示具有从最高A到最低H的不同优先级的若干设备。图6还表示了这些优先级如何形成相继的周期,既可是成组的也可是因低速非流化从属设备而延迟了的,使得从属设备可以在它们各个的时序内接收数据。这里所用的“从属设备”是泛指总线主控设备希望与之通信的任何设备。

    每当有一个设备赢得了总线12,它将在内部锁定其自己的总线授权锁存器(如图4中的49)。这个锁存器控制赢得仲裁的装置的现行周期。这时,该装置占有这个周期用以同从属设备进行通信。它在自己的总线授权周期内将地址发送到总线12上。它还在+读/-写信号上表明它是否要进行读或写操作。如果总线主控器希望以成组方式工作,-LOCK信号也将被激活,即在次最高优先级设备加入之前将其它设备封锁不长的一组周期。如果已进行了一次数据传输并且接着从属设备发现其自己的地址再次出现,它可能希望延长其接收或发送数据所需的时间。它可以通过用类似于总线主控器所用(图4所示的逻辑电路设置-LOCK信号来增加一个或更多个基本总线周期做到这一点。来自每个设备的应答线告知它已在总线12上发送或接收了数据。-LOCK信号也可以是在下一个周期来自从属设备的应答,表示它不能占用任何后续周期。

    如图6所示,总线请求后面跟着总线授权以及由总线主控器执行的寻址。并且读或写操作作为流水线操作的第三步进行。

    图6给出在不同操作方式下各个主控器A-H向从属设备P-W写入或从其中读出。

    如图示,此发明是用一地址总线和一双向数据总线来实现的。但是,为了更高速的流水线操作,此发明可以用一条在半周期期间供地址和数据复用的单向输出总线来实现,而数据总线可以仅是一条输入单向数据总线。

    或者,如果愿意,此发明可以用一条单一的非专用双向总线来实现。在这种情况下,地址将仅在一次长串传送开始时发送一次,并且地址将顺序递增,除非发送了一个新的非顺序地址。更具体地,在长串传送开始时,该设备将占用一组两个周期,在第一个周期发送地址而在第二及后续的周期发送数据。在这种情况下图6可以修改,删去地址总线,而仲裁总线就成了多路复用的外部设备的间接地址指针。

    尽管已针对其各优选实施例对此发明作了描述,精通本领域的人都能理解:可以对这些实施例作形式上或细节上的改动而并不背离此发明的范围和教导。因此,此处介绍的装置和方法可以被认为仅是示例性的,并且此发明仅由权利要求中说明的范围所界定。

共用每个周期的动态总线仲裁与授权.pdf_第1页
第1页 / 共18页
共用每个周期的动态总线仲裁与授权.pdf_第2页
第2页 / 共18页
共用每个周期的动态总线仲裁与授权.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《共用每个周期的动态总线仲裁与授权.pdf》由会员分享,可在线阅读,更多相关《共用每个周期的动态总线仲裁与授权.pdf(18页珍藏版)》请在专利查询网上搜索。

每个传送周期有至少两个非重叠时钟,并且每个仲裁周期有至少一个传送周期,仲裁优先级请求仅在第一时钟上升时从每个外部设备发送到仲裁总线上,在后一个时钟结束时,确定具有最高优先级的外部设备的优先级代码,以指定这个外部设备为总线主控器。在当时有效的总线主控器放弃控制权之后的下一个周期内通过非专用总线在指定的总线主控器与存储器或另一个外部设备之间传送地址和数据。外部设备的优先级可以动态改变。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1