专利名称:数据传送操作透明抢占的总线主接口电路的制作方法
技术领域:
本发明与计算机有关,特别是与用来抢占直接存储器存取(DMA)或其它的数据传送操作的计算机电路有关。
通常,一个计算机系统有一组用来在全系统内传送数据的控制器。每一个控制器设计成用一种独有的方式来传送数据。例如,一个控制器处理直接存储器存取(DMA)操作,而另一个控制器则处理选择从操作。为了控制数据流,每一个控制器必需得以使用系统中诸如一个特定的总线或总线接口电路之类的某些“系统资源”。由于其中有些资源必需由几个控制器共同分享,因此在大多数情况下各控制器所执行的操作互相排斥。结果当二个控制器同时都有数据要通过系统传送时,就必需解决二个控制器之间的竞争问题。
由于DMA操作通常传送大量的数据,要占用系统资源较长时间,因此另一个控制器可以抢占DMA操作暂时使用系统资源。当这个抢占控制器完成了它的数据传送操作时,资源控制返还给DMA控制器,而在系统资源的主权重新建立以后,DMA操作再在被中断点继续下去。然而这种抢占方案有一个问题,在抢占控制器已经完成了它的操作以后DMA控制器还要求有一段时间来重新建立它对系统资源的控制。因而就希望抢占能对DMA透明,使得当抢占控制器已经完成其操作时控制还给DMA控制器,继续进行DMA操作,而不需要重新建立资源主权。因此,下面说明的本发明是一种使DMA或其它数据传送操作作的抢占透明的电路。
简明地说,本发明是一种用来控制第一和第二计算机总线之间的数据流的接口电路。这种接口电路有一个控制数据传送的第一控制器。第一控制器有一个第一控制信号的输出口和一个接收第二控制信号的输入口。接口电路还有一个第二控制器。第二控制器有一个第三控制信号的输入口。将数据传送到第一总线或从第一总线传来的总线接口控制器具有一个第二控制信号的输出口和一个接收来自第一和第二控制器的第一和第三控制信号的输入口。接口电路还包括一个根据来自第二控制器要求传送数据的申请信号将第一控制信号从总线接口控制器断开的插入电路。
在另一个实例中,本发明是一种用于具有一个第一总线的计算机系统的计算机透配卡。该透配卡包括一个第二总线和接到这第二总线上的存储器和一个处理器。在透配卡上,包括控制数据传送的第一和第二控制器,第一控制有一个第一控制信号的输出口和一个接收第二控制信号的输入口,而第二控制器有一个第三控制信号的输出口和接收第二控制信号的输入口;包括一个将数据传到第一总线和将数据从第一总线传来的总线接口控制器,该总线接口控制器有一个第二控制信号的输出口和一个接收第一和第二控制器发出的第一和第三控制信号的输入口;包括根据第二控制器发出的要求传送数据的申请信号将第一控制信号从总线接口控制器断开的插入电路;以及包括将适配卡接到第一总线上的装置。
在另外又一个实例中,本发明是一个与传送数据的第一、第二控制器和将数据传到计算机总线和将数据从计算机总线传来的总线接口控制器一起使用的插入电路。第一控制器有一个第一控制信号的输出口和一个第二控制信号的输入口。第二控制器有一个第三控制信号的输出口和一个第二控制信号的输入口。总线接口控制器有一个第二控制信号的输出口和一个第一、第三控制信号的输入口。插入电路包括根据第二控制器发出的要求传送数据的申请信号将第一控制信号从总线接口控制器断开的装置。插入电路还包括根据第二控制器发出的申请信号将第二控制信号从第一控制器断开的装置。
图1为具有一个适配电路的计算机系统的方框图,该适配电路采用了一个具有数据传送插入功能的总线主接口电路。
图2为总线主接口电路部分方框图。
图3为说明接口电路的数据传送插入操作的定时图。
图4为插入电路的原理图。
图5为数据传送插入操作的状态图。
参见图1,一个计算机适配卡102接到计算机系统的系统总线104上。系统总线104最好是众所周知的微通道(tm)总线,虽然其它一些计算机总线也可以透用。适配卡102包括一个本地总线106,一个本地微处理器108接到这本地总线106上。本地存储器120也接到本地总线106,本地存储器120可由正控制本地总线的装置直接寻址。一个分为二个模块112和114的总线主接口电路110协调系统总线104和本地总线106之间的数据传送。通常,第二模块114控制通过第一模块112的数据传送。
这二个模块之间在“控制”和“IC总线”线上传送数据和控制信号。当第二模块114要求控制系统总线104将数据传到系统总线或从系统总线传来时,第二模块114将“REQB”线置为有效。根据这个申请,第一模块112中的系统总线仲裁电路115执行一系列所要求的功能,以便获取对系统总线的控制;而当“羸”得系统总线主权时,第一模块112向第二模块114发回一个SB-WON有效信号,表示第二模块114现在获得对系统总线的控制。
类似,当第二模块114要求控制本地总线时,它将HOLD置为有效。根据这个HOLD申请,本地微处理器108将释放对本地总线的控制,並且将HLDA(保持确证)置为有效。当HLDA有效时,第二模块114就能对本地总线进行控制。当数据传送完成时,第二模块释放对本地总线的控制,将HOLD置为无效。
通过系统传送数据有几种“操作”方式。这些数据传送操作说明如下1.LBSS操作(本地总线选择从操作)在LBSS操作中,接口电路110作为本地总线106上的一个I/O从设备被寻址访问。也就是说,接口电路110有一些未示出的寄存器,正控制本地总线的设备可以从本地总线对这些寄存器直接寻址访问。
2.LB-DMAC操作(本地总线直接存储器存取控制器操作)在这种操作中,接口电路110是本地总线106的主设备,数据在本地总线和接口电路中的存储器陈列116之间传送。存储器阵列是一些数据缓冲器,例如是一些64位的寄存器,这些数据缓冲器用于在DMA(直接存储器存取)期间传送数据。
3.SD-DMAC操作(系统总线直接存储器存取控制器操作)对于这种操作,接口电路110是系统总线104的主设备,而数据在系统总线和存储器阵列116之间传送。
4.SBSS操作(系统总线选择从操作)在这种传送数据的操作中,接口电路110作为系统总线104上的一个I/O从设备被寻址访问。也就是说,接口电路110有一些未示出的寄存器,正控制系统总线的设备可以从系统总线对 存器寻址。
5.SBMS操作(系统总线存储器从操作)在这种传送数据的操作中,可以从系统总线104对本地总线106上的存储器120作为一个存储器从设备进行寻址。也就是说,当系统总线的主设备在系统总线上设置了一个具体地址,就选中了本地总线106上的一个相应的存储器地址,使得数据在本地总线上的存储器和系统总线之间传送。换句话说,在这种操作中,本地总线存储器120被映射到系统总线104上。
6.DMAP操作(直接存储器存取口操作)对于这种操作,接口电路110是系统总线104的主设备,数据在一些数据寄存器118和系统总线之间传送。从本地总线106可对这些寄存器118作为I/O从设备寻址。
图2示出了具有插入电路的接口电路部分方框图。从这个图中可以看出,接口电路110有一个控制如上所述的SB-DMAC和LB-DMAC操作的直接存储器存取控制器(DMAC)202。此外这部分接口电路还有一个直接存储器存取口(DMAP)操作控制器204和一个系统总线选择从(SBSS)操作控制器206。
SBSS控制器也还控制SBMS操作。下面所说的这些控制器的结构以及仲裁器208和本地总线接口电路212的结构在本技术领域中是众所周知的。然而,下面对它们的工作情况仍作比较详细的说明,使得读者能够理解插入逻辑210的连接情况和工作原理。
当三个控制器中的一个控制器DMAC202、DMAP204或SBSS206有一个数据传送操作要执行时,这个控制器首先申请控制适当的一些系统资源,确定是否可用这些资源。每一个控制器都有一根接到内部仲裁器208的申请(REQ)线,当控制器有一个操作要执行时,就将这根线置为有效。具体地说,当有一个本地总线DMAC要执行时,DMAC控制器202将LB-DMAC-REQ置为有效;当有一个DMA口操作要执行时,DMAP204将DMAP-REQ置为有效,当有一个系统总线选择从操作要执行时,SBSS将SBSS-REQ置为有效;而当有一个系统总线存储器从操作要执行时,SBSS则将MS-REQ置为有效。如果悬有一个以上的申请,则内部仲裁器208根据予先确定的优先权方案确定出首先应该同意哪一个申请。然后内部仲裁器208向“羸得”这次仲裁的那个控制器发出WON′信号。例如,如果SBSS申请获准,则SBSS-WON′就被置成有效。当一个控制器已经“羸”了,这个控制器就取得了对它相应共享的资源(总线、总线接口电路等)的控制,开始进行一个数据传送操作。
但是,如果正在执行一个本地总线上的DMAC操作时,有一个申请要求执行DMAP操作(DMAP-REQ)、SBSS操作(SBSS-REQ)或SBMS操作(MS-REQ)中的某一个操作,则这个操作可以“插入”现行的DMAC操作,暂时将DMAC操作悬起来。这个功能是由插入逻辑210来完成的。
参见图2和参见图3的定时图,通过将LB-DMAC-RQE置为有效DMAC首先申请一个本地总线DMAC操作。根据这个申请,内部仲裁器208向本地微处理器108发出一个有效HOLD信号。当本地微处理器108解放对本地总线106的控制时,以一个HOLDA信号作为响应。响应局部总线获释,内部仲裁器将LB-DMAC-WON置为有效,向DMAC表示它可以开始一个数据传送操作。
为了执行一个本地总线上的DMAC操作,控制器202首先声明本地总线循环启动,亦即LB-CyC-START线有效。如果没有现行插入操作,从插入逻辑210接出的BLOCK-START线被置为低电平,因此来自DMAC202的有效LB-CYC-START信号通过AND门214和OR门216送到本地总线接口控制器212。然后,本地总线接口控制器在本地总线上开始DMAC数据传送操作,相应,在本地总线循环确认即LB-CYC-ACK线上发出脉冲。如果当时没有插入操作,从插入逻辑210输出的BLOCK-ACK被置为低电平,因此LB-CYC-ACK信号通过AND门218送到DMAC。这就完成了DMAC202和本地总线接口电路22之间的握手,允许继续DMAC数据传送。应该注意到只要DMAC要执行数据传送,只要LB-DMAC-WON信号有效,从DMAC接出的循环启动线LB-CYC-START始终保持有效。类似,本地总线接口电路212每当在本地总线上执行一个数据传送就发出一个循环确认信号LB-CYC-ACK。
例如,现在如果SBSS控制器206需要控制接口电路的系统资源来执行一个存储器从操作(SBMS),控制器206就将SBMS-REQ线置为有效。由于内部仲裁器已经将LB-DMAC-WON线置为有效,把内部资源的控制授予DMAC,内部仲裁器在DMAC操作完成前不能对来自SBSS控制器的申请作出响应。但是,有效SBMS-REQ也接到插入逻辑210,插入逻辑210,插入逻辑210对该申请作出响应,将BI-SBMS-WON置为有效。这个有效BI-SBMS-WON信号然后就送到SBSS控制器,SBSS控制器开始所申请的存储器从操作。但首先由于插入逻辑将BLOK-START线置为高电平,在AND门214“堵塞”或断开了LB-CYC-START信号,使该信号不能加到本地总线接口电路212。在堵塞了循环启动信号后,插入逻辑将BLOCK-ACK置为有效,堵塞了循环确认信号LB-CYC-ACK。使该信号不能加到DMAC控制器202。结果,对于DMA控制器来说似乎它仍控制着本地总线控制器212,只是本地总线接口对它的申请响应慢了而已。然而,SBSS控制器实际上已暂时控制了本地总线接口电路212。
当SBSS控制器已经完成了它的数据传送时,SBSS将SBMS-REQ线无效,相应,插入逻辑将上述二个堵塞信号置为无效,从而循环启动和循环确认信号通过,资源控制又还给DMAC控制器。
图4为插入逻辑210的原理图,而图5为插入逻辑的工作状态图。由这二个图可见,插入逻辑有四个状态,在图5中标为SO、S1、S2和S3。这四个状态与图4中的同步SR触发器SR1(402)、SR2(404)和SR3(406)的下列状态相应SR1 SR2 SR3SO 复位 复位 复位S1 置位 复位 复位S2 置位 置位 复位S3 置位 置位 置位当一个本地总线DMAC操作正在进行时,LD-DMAC-WON有效,插入电路在状态SO等待着一个插入申请BI-REQ出现。通过OR门408和AND门410BI-REQ将被置为有效对一个系统总线存储器从操作申请(SBMS-REQ)或一个系统总线选择从操作申请(SBSS-REQ)或对SB-WON已为有效的一个直接存储器存取口操作申请(DMAP-REQ)作出响应。当插入申请(BI-REQ)有效时,通过AND门412在本地总线接口电路212发出的下一个循环确认脉冲来到时SR1被置位。然后当循环确认脉冲变低时,插入电路由于触发器SR2通过AND门414被置位而进入S2状态。在S2状态,BLOCK-START信号被置为有效。当LB-BUSY变低时,插入电路进入S3状态,触发器SR3通过AND门416被置位。LB-BUSY是由本地总线接口电路发出的一个信号,仅表示本地总线接口电路正忙于完成现行操作。在状态S3,相应的插入羸得信号BI-SBMS-WON、BI-SBSS-WON或BI-DMAP-WON通过AND门418、420或422被置为有效。如图2所示,羸得信号BI-DMAP、BI-SBSS-WON通过OR门220、222或224中的一个门使相应的控制器202、204或206工作,执行其数据传送操作。当该控制器解除有效申请信号(SBMS-REQ、SBSS-REQ或DMAP-REQ)时,触发器SR1、SR2和SR3通过反相器424都被复位,从而完成了插入操作,控制交还给DMAC。
权利要求
1.一种控制传到计算机总线或从计算机总线传来的数据流的接口电路,该接口电路的特征是包括一个控制数据传送的第一控制器,该控制器有一个第一控制信号的输出口;一个控制数据传送的第二控制器,该控制器有一个第二控制信号的输出口;一个将数据传到所述计算机总线和将数据从所述计算机传来的总线接口控制器,该控制器有一个接收所述第一和第二控制器发出的第一和第二控制信号的输入口;以及对所述第二控制器发出的要求传送数据的申请信号作出响应将所述总线接口控制器断开的插入电路。
2.权利要求1所述的这种接口电路,其特征是所述插入电路为具有第一和第二状态的逻辑电路,所述第一状态是一个空闲状态,在所述第二状态所述第一控制信号从所述总线接口控制器被断开。
3.权利要求1所述的这种接口电路,其特征是该接口电路中所述第一和第二控制器各都有一个接收一个第三控制信号的输入口;所述总线接口控制器有一个所述第三控制信号的输出口;以及所述插入电路含有对所述第二控制器发出的要求传送数据的所述申请信号作出响应将所述第三控制信号被从所述第一控制器断开的装置。
4.权利要求3所述的这种接口电路,其特征是所述插入电路是具有第一和第二状态的逻辑电路,所述第一状态是一个空闲状态,在所述第二状态所述第三控制信号被从第一控制器断开。
5.权利要求3所述的这种接口电路,其特征是所述插入电路是具有第一和第二状态的逻辑电路,在所述第一状态所述第一控制信号被从所述总线接口电路断开,而在所述第二状态则所述第三控制信号被从第一控制器断开。
6.权利要求3所述的这种接口电路,其特征是所述插入电路是具有第一、第二和第三状态的逻辑电路,所述第一状态是一个空闲状态,在所述第三状态第一控制信号被从所述总线接口控制器断开,所述逻辑电路根据所述第三控制信号的脉冲从所述第一状态进到第二状态再进到第三状态。
7.权利要求3所述的这种接口电路,其特征是所述插入电路是具有第一、第二、第三和第四状态的逻辑电路,所述第一状态是一个空闲状态,在所述第三状态所述第一控制信号被从所述总线接口电路断开,而在所述第四状态所述第三控制信号被从第一控制器断开,所述逻辑电路根据所述第三控制信号的脉冲从第一状态进到第二状态再进到第三状态。
8.一种用于具有一个第一总线的一个计算机系统的适配卡,该适配卡的特征是它包括一个第二总线;接到所述第二总线上的存储器和一个处理器;一个控制数据传送的第一控制器,该控制器具有一个第一控制信号的输出口和一个接收一个第二控制信号的输入口;一个控制数据传送的第二控制器,该控制器具有一个第三控制信号的输出口和一个接收所述第二控制信号的输入口;一个将数据传到所述第二总线和将数据从所述第二总线传来的总线接口控制器,该控制器有一个所述第二控制信号的输出口和一个接收所述第一和第二控制器发出的所述第一和第三控制信号的输入口;对所述第二控制器发出的要求传送数据的申请信号作出响应将所述第一控制信号从所述总线接口控制器断开的插入电路;以及将所述适配卡电气连接到所述第一总线的装置。
9.权利要求8所述的这种适配卡,其特征是所述插入电路是具有第一和第二状态的逻辑电路,所述第一状态是一个空闲状态,在所述第二状态所述第一控制信号被从所述总线接口控制器断开,所述逻辑电路根据所述第二控制信号的脉冲从所述第一状态进至所述第二状态。
10.权利要求8所述的这种适配卡,其特征是所述插入电路是对所述第二控制器发出要求传送数据的所述申请信号将所述第二控制信号从所述第一控制器断开的装置。
11.权利要求10所述的这种适配卡,其特征是所述插入电路是具有第一和第二状态的逻辑电路,所述第一状态是一个空闲状态,在所述第二状态所述第二控制信号被从所述第一控制器断开。
12.权利要求10所述的这种适配卡,其特征是所述插入电路是具有第一和第二状态的逻辑电路,在所述第一状态所述第一控制信号被从从所述总线接口电路断开,而在所述第二状态所述第二控制信号被从第一控制器断开。
13.权利要求10所述的这种适配卡,其特征是所述插入电路是具有第一、第二和第三状态的逻辑电路,所述第一状态是一个空闲状态,在所述第三状态所述第一控制信号被从所述总线接口控制器断开,所述逻辑电路根据所述第二控制信号的脉冲从所述第一状态进至所述第二状态再进至第三状态。
14.权利要求10所述的这种适配卡,其特征是所述插入电路是具有第一、第二、第三和第四状态的逻辑电路,所述第一状态是一个空闲状态,在所述第三状态所述第一控制信号被从所述总线接口电路断开,而在所述第四状态所述第二控制信号被从所述第一控制器断开,所述逻辑电路根据所述第二控制信号的脉冲从所述第一状态进至第二状态再进至第三状态。
15.一种与控制数据传送的第一、第二控制器和将数据传到一个计算机总线或将数据从该计算机总线传来的一个总线接口控制器一起使用的插入电路,所述第一控制器有一个第一控制信号的输出口和一个第二控制信号的输入口,所述第二控制器有一个第三控制信号的输出口和一个所述第二控制信号的输入口,而所述总线接口控制器有一个所述第二控制信号的输出口和一个所述第一和第三控制信号的输入口,这种插入电路的特征是它包括对所述第二控制器发出的要求传送数据的一个申请信号作出响应将所述第一控制信号从所述总线接口控制器断开的装置;以及对所述第二控制器发出的要求传送数据的所述申请信号作出响应将所述第二控制信号从所述第一控制器断开的装置。
16.权利要求15所述的这种插入电路,其特征是该插入电路是具有第一和第二状态的逻辑电路,所述第一状态是一个空闲状态,在所述第二状态所述第二控制信号被从所述第一控制器断开。
17.权利要求15所述的这种插入电路,其特征是该插入电路是具有第一和第二状态的逻辑电路,在所述第一状态所述第一控制信号被从所述总线接口电路断开,而在所述第二状态所述第二控制信号被从所述第一控制器断开。
18.权利要求15所述的这种插入电路,其特征是该插入电路是具有第一、第二和第三状态的逻辑电路,所述第一状态是一个空闲状态,在所述第三状态所述第一控制信号被从所述总线接口控制器断开,所述逻辑电路根据所述第二控制信号的脉冲从所述第一状态进至第二状态再进至第三状态。
19.权利要求15所述的这种接口电路,其特征是它包括具有第一、第二、第三和第四状态的逻辑电路,所述第一状态是一个空闲状态,在所述第三状态所述第一控制信号被从所述总线接口电路断开,而在所述第四状态所述第二控制信号被从所述第一控制器断开,所述逻辑电路根据所述第二控制信号的脉冲从所述第一状态进至所述第二状态再进至第三状态。
全文摘要
一组各适用于控制一种特定类型的数据传送操作的专用控制器(如202、204和206)控制一个系统总线(104)和一个计算机适配卡(102)上的一个本地总线(106)之间的数据流。当直接存储器存取(DMA)控制器(202)正在控制本地总线上的一个DMA操作时,其它控制器(204和206)能够插入到这现行的DMA操作,暂停DMA操作,直至其它控制器完成了它的数据传送操作。为了插入到一个DMA操作,DMA控制器和本地总线接口电路(212)之间的握手信号暂时被一个插入逻辑电路(210)发出的堵塞信号堵塞。
文档编号G06F13/32GK1051994SQ9010903
公开日1991年6月5日 申请日期1990年11月9日 优先权日1989年11月13日
发明者塞拉芬·乔斯·埃利埃泽·加西亚, 道格拉斯·罗德里克·奇泽姆, 迪安·艾伦·喀尔曼, 拉塞尔·斯逖芬·帕吉特, 罗伯特·迪安·约德 申请人:国际商业机器公司