CN1038362A - ***设备控制器及适配器接口 - Google Patents
***设备控制器及适配器接口 Download PDFInfo
- Publication number
- CN1038362A CN1038362A CN88103325A CN88103325A CN1038362A CN 1038362 A CN1038362 A CN 1038362A CN 88103325 A CN88103325 A CN 88103325A CN 88103325 A CN88103325 A CN 88103325A CN 1038362 A CN1038362 A CN 1038362A
- Authority
- CN
- China
- Prior art keywords
- adapter
- data
- dma
- controller
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
Abstract
在计算机***中,外设通过其适配器与控制器通
讯。该控制器在主存储器和外设之间依次建立直接
存储器存取(DMA),并控制适配器进行数据传送。
序列发生器提供进行DMA传送的周期。仅在适配
器缓冲器处于DMA传送状态时,适配器才认可命
令信号,序列发生器响应命令信号产生DMA请
求。请求期间以DMA操作方式传送额定数据。起
始时,适配器响应初始控制信号,向控制器提供一个
标识符,因而控制器能获得与适配器通讯的软件。
Description
在许多数据处理***中,都使用一个共用总线把多个单元连接成一个***。共用总线允许***中的任意两个单元之间进行通讯或传送信息。
一般来说,任一单元可通过向总线发出一个总线周期请求来建立通讯。当总线周期获准后,发出请求的单元变为发单元,并可对任何其它与总线相连的单元编址,使之成为收单元。
传送数据要求得到单元的一个响应信息(如来自收单元的读存储器信号)后才能进行,因此,需要一个响应周期。在这种情况中,发单元向收端发出所要求的响应,并使它与收单元保持一致。当要求的信息有效后,收单元将接受发单元的任务,并开始向发出请求的单元发出传送信息。因此,由于这样的相互信息交换,就需要两个总线周期。在收单元响应期间,其它单元可使用该总线与不包括该收-发单元在内的任何其它单元进行通讯。在此种情况下,这两个单元要求从总线得到同步的服务,联断逻辑(tie-breaking logic)可以包含在每个与总线直接相连的单元中。
一种典型的使用一条共同总线的数据处理***如图1所示。如图所示,总线100(通常它由多条线组成)与存储器单元102相接。该存储器单元可由几个存储器组成,每一个都可与总线通讯。另外与该数据处理***相连的是一个科学运算单元108和3个控制器:一个基本设备控制器110,一个通讯控制器112和一个海量存储/磁带控制器114。将基本控制器110与总线连接,使多个单元记录外设216能够向总线100存取。在此种方式中,使用基本控制器110避免了当每个单元记录外设直接向总线存取而可能产生的较大量请求。与此类似,用于经调制解调器来提供通讯控制的通讯控制器112,和用于控制海量存储设备的海量存储/磁带控制器114,能经总线进行通讯。所谓海量存储设备是指磁带***设备118或硬盘***设备120。
除上述的外备外,与总线相连的还有一个中央处理器106,用于控制总线周期和调整经总线传送的数据。因此,与总线100相接的任一设备都可以对任一与总线相连的其它设备寻址或通讯。例如,磁带外设118可通过控制器114对存储器单元102寻址。
为了保证发单元对收单元正确寻址,除了处理码元型存储器外,在***中每个末点上还有一个信道号码。在这种情形中,信道号码随着对末点的存储器地址的识别与每个设备对应起来。某些设备,例如全双工设备,使用两个信道号码。其它的,如只输出或只输入设备,则仅仅使用一个信道号码。具有多个输出输入端口的单元通常要求一组连续的信道号码,以便对其各个端口进行区分。
在这样的***中,为了向总线存取数据而建立了各种优先级。例如,当一个外设经一控制器向总线存取时,所有与该控制器相连的外设对总线的存取都将被锁住或拒绝。
关于上述的总线***类型的进一步详细情况,披露于下列美国专利中(所参考的专利属于霍尼韦尔(Honywell)所有的总线***):
(a)“提供分离-总线周期操作的数据处理***”,发明人小福兰克·V·凯塞维诺(Frank V.Cassarino,Jr.)等,1976年12月14日公布,美国专利号3,997,896。
(b)“提供资源共享的被锁操作的数据处理***”,发明人乔治·J·巴罗(George J.Barlow)等,1976年12月28日公布,美国专利号4,000,485。
(c)“具有分配优先级网络的数据处理***”,发明人乔治·J·巴罗(George J.Barlow),1977年6月14日公布,美国专利号4,030,075。
(d)“具有以撤消信息传送请求逻辑分配的优先级网络的数据处理***”,发明人乔治·J.巴罗(George J.Barlow),1978年6月20公布,美国专利号4,096,569。
(e)“在数据处理***中用于处理数据传送请求的装置”,发明人小福兰克·V·凯塞维诺(Frank V.Cassarino,Jr.)等,1976年11月23日公布,美国专利号3,993,981。
(f)“具有数据完整性技术的数据处理***”,发明人乔治·J·巴罗(George J.Barlow),1976年11月30日公布,美国专利号3,995,258。
本发明涉及拥有***总线、一个与该***总线相连的主存储器,和多个与该总线相连的***设备的计算机***。本***还进一步包括,与该总线相连的一个控制器,用于在每个外设与主存储器之间以直接存储器存取操作传送数据;带有缓冲存储器的适配器接在每个***设备和该控制器之间。控制器包括一个用于对角个适配器发出的请求命令响应的序列发生器,以便产生一个用于主存储器和发出命令的适配器之间,直接存储器存取(DMA)额定量数据的DMA请求。只有当适配器的缓冲存储器准备响应额定量数据的DMA传送时,这个适配器才产生一个命令信号(DPPCLX)。
对于在控制器和适配器之间的非DMA数据传送的情况,每一适配器还能够在DMA请求产生以外的时间内接收控制信号。接下来,该适配器对控制信号产生响应,以调整适配器进行DMA传送。
在起动期间、适配器复位并接到初始设置控制信号后,该适配器提供一个识别码,供识别与之相连的外设之用。
从下面对本发明的优选实施例的详细介绍中,将会清楚地看出有关本发明的先期技术和其它的情况、特性及优点,如附图所示,在这些图中,通过不同的侧面观察这些相同的部分。这些附图仅仅是为了说明本发明的原理而已,它们不是按比例尺缩小的。
图1是使用总线结构的计算机***的原理图。
图2是包括在本发明中的计算机***框图。
图3是图2中各部分的更详细框图。
图4是一个实施例中图3的控制器与一个适配器相连的示意图,用来表示控制器和适配器之间的信号。
图5是一个与图3的控制器相连的典型适配器的电原理框图。
图6是表示从适配器到控制器传送状态数据的时序框图。
图7是表示从控制器到适配器传送命令数据的时序框图。
图8A是表示从适配器到主存储器以DMA操作作传送信息的时序框图。
图8B是表示图8A传送过程的流程图。
图9A是从主存储器到适配器以DMA操作方式传送数据的时序框图。
图9B是图9A的数据传送流程图。
根据本发明,提供了一种通用外设控制器(UPC)209。UPC实现了可以用一种控制设备对多种类型的外设的控制。如图2所示,UPC经数据总线207a和地址总线207b与***总线204相连。UPC可以向前直接与***总线204相接,这样它将获得比其它与***总线相接的设备更高的优先级。数据总线207a可以是16位宽或32位宽,地址总线207b可以是24位宽或32位宽。使用这样一个接口***,经过UPC,可以在与***总线相连的任一外设之间建立通讯。
UPC209可与多达4个外设适配器212A-D接口,每个适配器带有一个以上信道。总数多达8的逻辑信道可以通过每个UPC进行存取。典型的可以与适配器212相接的外设,如图所示,包括一个磁带外设213,一个硬盘外设214和一个记录外设215。为了保证正确的数据速率同步和错误检测,每个适配器提供了一个缓冲器供存储数据。
通用外设控制器209的更详细的框图如图3所示。一种商品化的Motorola 68000型微处理器301与一个内部数据总线325和一个地址总线326相连。与数据总线325相连的,有一个商品化的只读存储器(PROM)302,一个商品化的动态随机存储器(DRAM)303和一个本人命令(My COMMAND)寄存器315。DRAM303甚少有64K字节的存储容量,并配兴婊呒运⑿滤械男畔ⅰROM302、DRAM303和商品化的控制译码器(任务译码器)314与地址总线326相连。与数据总线325相连的商品化的定时器(总线定时器)304具有三种功能。定时器304的第一个功能是探测对全局总线316(将在后面讨论)请求的相应。如果没有对于请求的响应,则该定时器304提醒微处理器301。总线定时器304的第二种功能是判断是否指令执行时间超过预定时间,并判断是否必须将该指令中止。最后,定时器304的第三种功能是判断是否存在一个花的时间比预定周期长的DMA请求周期,并当存在此种情况时将这个DMA周期中止(这一点也将在后面详细讨论)。
全局总线316经商品化的收发器313与数据总线325和地址总线326相接。全局总线316也与***总线204的接口324相接。在***总线接口324中,有命令寄存器352,用于接收来自***总线的数据,每个数据9位,含有一个奇偶校验位P。寄存器352由控制寄存器I、数据寄存器A、B、C、D以及地址寄存器E、F、G、H组成。商品化的收发器353也包含在该***总线接口314中。全局总线316还经商品化的收发器310与图2中的适配器212相接。
本人地址寄存器319和本人数据寄存器321与全局总线316相连。这些寄存器中每一个都有4个字节。本人数据寄存器321拥有字节A、B、C、D,每个9位宽,其中包含1位奇偶校验位。本人地址寄存器同样也有4个字节E、F、G、H,每个字节9位宽,其中包含一位奇偶校验位。本人数据和本人地址寄存器A到D和E到H的字节,都分别与命令数据和地址寄存器352 A到H对应。经收发器312与全局地址和数据总线316相连的还有两个商品化的DMA芯片305和306。
外设控制器209的基本特征是使微处理器连在与适配器212 A-D连接的设备和其它与***总线204相连的各单元,包括***存储器之间,建立通路。一但微处理器301在一个给定外设和***存储器之间建立起通讯链路,它就执行向与该给定外设有关的DMA设备305、306中的一个传送数据的控制任务。从各适配器到全局总线的存取以循环方式控制。DMA芯片305和306的数据传输的地址和区域,由微处理器经收发器312,313和全局总线316提供。
一种经***总线的典型的服务请求,和其后通过DMA片子控制器序列发生器***对该请求的响应,可以以下列方式完成。当多用DMA控制器***(后面将要讨论)接收到一个请求后,由于该多用DMA控制器***能识别***的信道号码,所以该信息就被存入与***总线接口324相连的任务译码器351中。与该请求有关的数据和地址到达后,将被存入本人数据寄存器321和本人地址寄存器319中。任务译码器351判断专用端口/信道,以探测新的请求。微处理器301然后判断被请求指定的专用信道是否有效,并且它向随机存取存储器(RAMWARE)装置(未画出)发出已接收到一个关于专用适配器的请求信号。(随机存取存储器RAMWARE装置是另一发明的内容,该发明被转让给同一受让人作为直接发明,于1986年10月31日在美国递交,美国中请号925,431,题目为“通用外设控制器自适应/引导程序可装入的随机存取存储器(RAMWARE)”,发明人是约翰·克拉斯卡(John Klashka)等)。微处理器301然后与专用DMA片305或306连通,这样便能处理请求并预置片子所需要的有关参数,如起始地址、区域地址,以及其它的参数。
例如,在适配器能够存取16位数据和2个奇偶校验位的情况下,进行传送的专用适配器发出一个请求,该请求经收发器310装在内部总线327上,被控制向全局总线316存取的序列控制器350(后面详细介绍)接收。DMA片子然后提示***总线存储器202(如图2所示),该存储器此时已准备好在专用存储器的专用区域和适配器的缓冲存储器之间传送信息。专用存储区域发出的请求信息,将被加在***总线接口324上并对全局总线316有效。如前所述,在***总线接口324上的有效信息宽度将达4个字节。这4个字节被分成两个字传送。在一个适配器仅仅能够存取一个字节的情况下,通过路径DMA片子305或306,本人寄存器319、321、全局数据地址总线316和收发器310,要求有4个独立的传送操作。
序列发生器350的目的是以循环方式向全局总线提供一个对所有的适配器平等的存取,而不是允许全局总线只对拥有最高优先级的单元存取,最高优先级单元能在相当的周期内阻止低优先级单元对全局总线316存取。
通过首先对第一个适配器212A进行检测或轮询,以判断其是否存在收发信息,序列发生器350向全局总线316提供一个循环存取。如果存在要从第一个适配器212A收发的信息,便允许第一个适配器到全局总线316存取。理想地说,在每个序列中,一个适配器可收发4个字节。然后序列发生器350将前进到下一个适配器212B,以判断它是否有一个服务请求。如果有,它将接受与第一个适配器212A相同的服务。如果没有向该适配器传送的信息,序列发生器就前进到下一个适配器,直至所有的适配器的服务请求都被查询完毕,并且每次服务4个字节。在该序列中最后一个个适配器被查询完后,序列发甚器350返回到第一个适配器212A。因而,每个适配器都以循环方式接受服务。
加入每个适配器服务的循环排序中的,是用于微处理器上的序列。理想地说,微处理器在两个连接的适配器之间服务。使微处理器301对全局总线316存取,就意味着允许该微处理器对预期的或未经请求的中断进行服务,这些中断可以是来自外设、UPC209之内或之外的中断。
序列发生器的详细情况见题为“总线作用序列控制器”的专利申请,由约翰·克拉斯卡等同时提交。
图4所示的是一个适配器连接器401,它是连接在的适配器212、微处理器301和DMA芯片DMAC305、306之间的一个物理接口。适配器接口401将适配器连接起来,这对于DMA芯片、适配器缓冲器和计算机***的主存储器之间的“握手”是必要的。接口401还负责提供命令信号的通路,这些命令将设置适配器来接收专用命令,以便控制与该适配器相连的专用外设。例如,当对磁带机服务时,要求有与打印机不同的协议。
微处理器301在DRAM303中存有一个设备技术文件,该文件提供与每一外设通讯所需的信息。该文件在***初始起动时被从主存储器中装入DRAM303。在起动时,微处理器301从适配器中读出识别符字节(后面将叙述),并将该标识符存入该专用端口的暂存器中。
当有从主存储器传送到适配器的数据时,便经***总线将命令发送给微处理器。微处理器然后又经适配器接口路径将控制命令送给适配器,使适配器处于能接收数据状态。微处理器还将向专用端口有关的DMAC信道发送控制参数。
在图4中的适配器接口401中,一组控制线被指定传送来自微处理器301的控制信息。微处理器控制信号线中的几根线是普通的控制线,它们通过隔离缓冲器直接来自微处理器,称为读/写线DMREAD,高数据选通线称为DM.DUS,低数据选通线称为DM.LDS,中断请求线称为DIREQX,微处理器中断应答线称为DIACKX和传送数据连接线称为DDIACK。在信号名称中的X是准备用来表示4种可能的适配器0,1,2或3中的一个。没有X的所有信号则由4个适配器共享。
根据信号的逻辑状态,读/写线DMREAD判断将要执行的操作类型是从适配器读出还是向适配器写入数据。
当认定以后,高、低选通线DM·UDS和DM.LDS被用于判断数据线上数据字(16位加奇偶校验位)的高低位中的数据是否有效。换句话说,如果低数据选通线上的信号是逻辑1,则数据位0~7加奇偶校验位有效。当高数据选通信号是逻辑1,位8~15加奇偶校验位有效。这样经过接口传送8位或16位数据连同奇偶校验位是允许的。
当请求线DIREQX被认可以后,适配器将中断微处理器通常的流程并呼叫异常处理器。异常处理器能够对特殊情况进行处理,如请求对来自UPC209的数据传送。
微处理器应答线DIACKX是这样的一条连接线,即它告诉适配器微处理器301已应答了适配器中断信号。数据连接线DDTACK是这样一条线,即当发给适配器的数据在写周期已被提取或来自适配器的数据在读周期内有效时,适配器对该线认可。大体上讲,这条线回答信息已被接收或已被直接发射的问题。这条线用来终止指令周期,还在DMA操作期间被DMAC使用,但却由UPC认可。
其它的微处理器控制线从由微处理器301提供信号的控制译码器逻辑314引出。这些微处理器控制信号包括4个控制信号DMCTLI-XO、DMCTL2-XO,ENABLX-10和ENABLX-OO,一个总请零线DMCLRX和一个8.0MHZ时钟线。通过对来自微处理器301的24位地址线编码形成这4条控制线8.0MHZ+DB。4条独特控制信号线通过来自微处理器301的24位地址编码而产生将24条地址线减少为4条控制线的优点是在接口401上只需较少的引线,并节约了在每一适配器上对24位地址线编码所占的存储空间。
使用4条控制线ENABLX-OO,ENABLX-10,DMCTLI和DMCTL2,在适配器接口401上可产生各种控制功能的组合。该***能侗鹌渲械?种功能。适配器的设计者能任选这6个功能中的一个以及从该适配器读、写数据的数据线DMDTXX。例如,如果一个要发给适配器212A(图2)的命令字节位于端口A,这6种控制信号中的一个应和数据线DMDTXX上的信号技术数据之组合一起被认可。同样,组合的信号将使适配器执行一种操作,例如执行一个读磁带操作。因此,控制线连同数据线一起用于在适配器上实现技术功能。但是,控制功能实际执行的操作可能是对一个给定适配器的设计选择。换句话说,设计者可以选择怎样实现这6个用于控制外设的控制功能。
从逻辑314(图3)中延伸出的另一条控制线-总请零线DMCLRX用于提供复位豚冲。当复位被认可以后,适配器自身复位,并进入一个已知的状态。8.0MHZ时钟提供一个缓冲的时钟信号,该信号使适配器与***同步工作。理想地说,发生时钟信号的时钟是一个8MHZ时钟器,这个时钟与驱动整个UPC***的时钟是完全相同的。
一但DMAC被调整到发送数据状态,与来自DMAC的控制线相连的第二组输入端的数据出现在适配器接口上,以便向适配器发出执行发送的控制信号。与DMAC相连的控制线包括读/写线DMREAD,高、低选通线DM.UDS和DM.LDS,及连接线DDTACK。这些既与DMAC相连又与微处理器相连的线的工作情况已经讨论过了。其它的DMAC控制线包括一个请求控制线REQXX,一个应答线DPACKX,一个命令线DPPCLX,一个数据周期线DM.DTC和一个最后数据DMAC控制线DONEAB。
由于在适配器被微处理器301(图3)控制以后,它便做好接收数据的准备,所以适配器对命令线DPPCLX认可。随后,从DMAC到适配器的应答线DPACK被认可,告诉它全局总线的请求已应答。当UPC通过序列发生器350对该请求兑现后,请求线REQXX被认可,以向适配器指示到全局总线的存取已获准。UPC还通过到DMAC的连接线DDTACK对该请求作出响应,指明周期结束。DMAC然后将认可数据选通线DM.UDS和DM.LDS,以告诉适配器在由主存储器传送数据期间哪些数据字节有效。在这个周期的末尾,DMAC认可数据周期线DM.DTC,以通知适配器对于数据序列(1~4字节)的数据传送结束。当从适配器发送数据时,可以采用相同的方式进行。
在执行每一发送时,DMAC增加其地址并减少其范围,以便保持对发送数据量的跟踪。如果数据发送范围已耗尽,DMAC控制线DONEAB被认可,以告诉适配器发送结束。当适配器在判断发送结束时,它也能对控制线DONEAB认可,以处理可能出现的外设存储记录容量小于从中发出容量的情况。因此,这个控制线是一条双向控制线。
最后一条DMA控制信号是一条存储器附加停止线ODSTOP。存储器附加停止线ODSTOP由适配器产生,用于在字发送时,当该项特定发送终止后,告诉UPC209仅仅一个字节有效。
数据连通或数据链路线DMDTTX直接与全局总线相连,既能与联于微处理器的收发器313相连,也能与兆总线数据寄存器(Megabus data registers)直接相连。
设计的用于控制GCR磁带存储单元的适配器如图5所示。很明显,任一适配器的设计都是为了所要进行控制外设的功能。适配器的设计者深入了解用于与通用外设控制器通讯的协议和对外设的要求。设计者设计适配器的硬件,以及要装入DRAM303中用于同适配器进行通讯的随机存取存储器(RAMWARE)。
图5所示的专用适配器包括一套寄存器,用来寄存在UPC和某一设备之间传送数据的命令指令、寄存控制适配器的内部指令和寄存在UPC和该设备之间传送的数据。该适配器还进一步包括控制信息传送的逻辑。为了对UPC和***设备之间的数据进行缓冲,还提供了一个先进先出(FIFO)设备。适配器的这些组成单元将在后面作进一步详细叙述。
命令和数据信息均通过收发器502传送给UPC。典型地,命令信息在序列控制器350的MPU周期内传送,并存在一个命令寄存器504、一个内部寄存器536、或触发器-如起动触发器F/F505中。典型地说,数据在DMA操作期间被送入数据寄存器506之中,但数据也可以在UPC周期内传送。存储在命令寄存器504中的命令指令能够通过驱动器508传送给外设。而寄存在506中的数据,首先经过FIFO510,然后被锁入写寄存器512,再通过驱动器514送到外设。FIFO在DMA操作期间能以比外设接收数据的速度更快的速率来接收数据。
在MPU周期内,向寄存器504、536和506中锁嬷噶罨蚴菔芡忌戏剿镜穆呒刂啤R肼肫鞯缏?15接收两个控制信号DMCTL和两个触发信号ENABLX,并将这些信号编成6个内部命令信号中的一个。在锁存的命令寄存器中,一个内部控制信号CMSTEN,例如,与高位选通数据一起,加在与门516上。该与门的输出加在下一个与门518上,门518带有定向信号DIRECT,用以对命令寄存器产生时钟。定向信号指示数据是在从UPC向适配器传送,还是以反方向传送。DIRECT是异或门520的输出,异或门520接收来自UPC的DMREAD信号和来自或门522的信号作为其输入信号,或门522在译码器515产生第一批4个内部控制信号中的任何一个时,其输出为逻辑1。定向信号还加在收发器502上,将收发器设置为接收器或发射器。
从UPC发送到适配器的命令数据如时序图图7所示。适配器的控制、起动、输入和DMREAD输入,由UPC中的MPU301根据专用操作进行设置。例如,对于向命令寄存器504发送来说,控制信号CMSTEN是准备好的。收发器502的方向经过门522和520来设置。收发器502也可被或门522的输出来触发,因此从全局总线到收发器502的数据在命令寄存器504的输入端有效。由于数据选通,该命令寄存器被经门516和518锁闭。数据选通信号同或门522的输出加给或门524,以产生一个返回UPC的应答信号DTACK。
在微处理器301周期中,微处理器可以得到信息,如以图6所示操作中的外投的状态信息。这个功能由多路转换器534来完成,它有8个字节的输入信息,每个字节可通过输入STATS在内部寄存器536中选择。至少有一个字节的状态信息通过接收器542施加在来自外设的多路选择器上。要施加在多路转换器534上的选择信号STATS首先由微处理器301装入内部控制寄存器536。在周期末尾,微处理器确认控制信号DMTCL和ENABL,以产生控制信号FRMCNT。控制信号FRMCNT经过或门522连同DMREAD信号被施加在异或门520上。异或门520的输出,决定收发器502的方向,因此适配器便能接收数据。
来自或门522的信号ADPSTR也通过或门523来触发收发器。在线DMDTTX上有效的数据在内部控制寄存器536的输入端线DTBUS上也同样有效。关于在高位数据选择,控制信号FRMCNT通过与门538,将数据锁存入内部控制寄存器536中。在控制信号(它们对信号CMSTEN认可)下一个认可过程中,由于DMREAD的正确建立,多路转换器534通过与门540被触发,以便将由存在内部寄存器536中数据支配的状态信息,通过收发器502回送。
注意信号CMSTEN既用于锁存寄存器504,又用于触发多路转换器534。由于DMREAD信号是用来向适配器写入数据的,这个控制信号使数据通过收发器502进入适配器,CMSTEN信号被选通到命令寄存器504。但对于反相的DMREAD信号,这个控制信号使数据经收发器502向UPC反转,并且与此同时控制信号CMSTEN被选通到多路转换器534。
在起动期间,来自微处理器301的信号DMCLRX经过控制译码器314和适配器上的逻辑530,将适配器复位成初始状态作为起始状态的一部分,ADPCLR对内部控制寄存器536复位,以建立输出“O”状态。但使用控制信号CMSTEN将适配器起动到UPC传送状态期间,加在用多路转换器534的零输入端的硬接的标识符,被通过收发器读回到UPC。根据这个标识符码,微处理器301把用于处理选定适配器的随机存取存储器装置(RAMWARE)装入DRAM303。
在序列控制器350的一个MPU周期内,数据可以锁存入数据寄存器506,而不是命令寄存器504。控制信号CNTSER将该寄存器锁存,该控制信号经一个与门526被数据选通信号选通并通过或门528加在寄存器506的输入端。而更多见的是将数据以DMA操作方式加在数据寄存器506中,如时序图9A和流程图图9B所示。
在来自主存储器的DMA操作中,该适配器向UPC指出在被微处理器设置之后,通过认可适配器的信号DPPCL,适配器能够接收数据。DPPCL信号由适配器逻辑530来认可,逻辑530能对FIFO510的满状态和通过接收器532从外设接收的忙信号BUSYFC响应。序列发生器控制器350对来自适配器的DPPCL信号进行认可,以便通过确认请求信号REQXX,给该适配器和与之相关的DMA控制器305、306依次分配一个周期。UPC的微处理器301预先设置的DMAC通过或门523对应答信号DPACK进行确认,以触发收发器502。DMAC还设置DMREAD信号,以建立对收发器502的定向输入。当DMA控制器经过与门525对DMDTC认可后,通过收发器502从全局总线来的有效数据,被选通进入寄存器506。这个数据依次通过FIFO510、写寄存器512、和驱动器514到外设。
对于在DMA操作期间要被传送的4个连续字节中的每一个字节,DMAC都要认可应答和选通信号DPACKX和DM.UPS。如果适配器要求额外的时间来接收该连续字节,它便拒绝DPPCLX信号,直到它制备好。相反,适配器可以保持DPPCLX信号,因此适配器接收连续字节能做到随到随接收。在任一种情况中,使用经适配器认可的DPPCLX信号,DMAC对DPACK、DM.UDS和DM.DTC信号再次认可,以便将该连续字节锁存到数据寄存器中。最后,一但UPC传送完4个字节后,它便拒绝到该适配器去的REQXX信号,因此,在适配器的这个周期中,将不再会有数据的传送。
在DMA控制下,经适配器从外设向主存储器传送数据的情形,如图8A和8B所示。在这样的数据传送中,来自外设的数据,经接收器544被接收并被从逻辑530来的信号锁存进第一个读寄存器546中。该数据又经过FIFO510到下一个读寄存器548。读寄存器548将该连续数据汇编成16位数据字。在DMA发送期间,来自寄存器548的数据,经过收发器502成为对全局总线有效的数据。
微处理器301认可控制信号DMCTLX,ENABLX和DMREAD,这些信号用于设置适配器内部控制逻辑530,以便向主存储器进行DMA传送。由于在寄存器548和FIFO510中存有足够的有效数据,适配器认可DPPCLX信号。在响应该信号期间,序列控制器350产生REQXX信号,用于在序列中规定适配器及其DMAC在适配器中的顺序。由于DMA控制操作对DPACKX和DM.UDS的认可,从寄存器548来的数据经过收发器502被发送。根据DMAC对DMTC信号的认可,数据被锁存入本人数据寄存器321。如果该适配器能够把后两个字节锁存入寄存器548,那么,在下一个传送周期之前DPACKX和DM.UDS就能将DPPCLX信号保持。否则,它被拒绝直到数据准备好为止。根据该专用适配器能否同步地传送一个字节还是两个字节,DMA将再次认可DPACK和DM.UDS信号,对第二个字传送再多进行一次认可,或对连续字节传送进行三次认可。一但4个数据字节被传送后,REQXX信号将被拒绝,以终止DMA适配器的这个周期。因为到读寄存器548的选通信号受REQXX的控制,数据将不能继续被选通到读寄存器中,但将保持在FIFO中,直至下一个REQXX被认可。
在FIFO510和多路转换器534的输入端之间还提供了一条数据路径。该数据路径在数据环路诊断期间使用。在这个过程中,UPC将数据送入数据寄存器506和FIFO510,然后通过存在内部控制寄存器536中的数据选择到多路转换器534的适当的输入端,将从FIFO来的数据回送给UPC。
不难理解,图5所示的适配器仅仅是对一种可能的适配器设计的说明,实际上因为通用外设控制器209在由适配器设计者设计的随机存取存储器装置(RAMWARE)控制下对适配器进行处理。UPC在其命令序列中,和对来去适配器数据的发送中,均提供很大的灵活性。重要的是适配器能对DMCTL,ENABL,DMREAD和REQXX信号响应,从而能使其寄存器使用高数据和低数据选通线进行选能。它的重要性还表现为,在DMA操作期间,适配器能够在任一方向上,在UPC控制下,在4个字节数据传送之后,中断数据的传送。还有,为对适配器的设计提供了灵活性,在适配器识别后,UPC必须能从其设备技术文件中选择适合于该适配器的随机存取存储器装置(RAMWARE)。最后,在适配器初始化之后,适配器必须能够传送带有从该适配器初始读出的状态信息的标识码。
在参考实施例完成对本发明的展示和介绍时,熟悉本专业的人员能够理解,在不违背本发明的精神的宗旨的情况下,可以象所附的权利要求书所定义的那样,对本发明进行各种形式上和细节上的改变。
Claims (6)
1、在由***总线、一个与***总线相连的主存储器和多个与该总线相连的外设组成的计算机***中,该***进一步包括与***总线相连、用于在每一外设和主存储器之间以直接存储器存取(DMA)操作方式传送数据的控制器和一个适配器,该适配器带有缓冲存储器并接在每一外设与该控制器之间:
控制器包括用于响应来自每一适配器的命令信号,产生一个用于在主存储器和适配器之间传送额定数据的单一DMA请求;
每个适配包括用于仅当适配器的缓冲存储器准备对额定数据的DMA传送时产生命令信号的装置,和在请求期间响应在主存储器和适配器之间进行DMA传送的请求,仅仅传送上述额定数据的装置。
2、根据权利要求1的计算机***,其中适配器还进一步包括用于在DMA请求存在以外的时间内接收控制信号,用于控制器和适配器之间数据的非DMA传送的装置,和用于响应控制信号调整适配器以进行DMA传送的装置。
3、根据权利要求2的计算***,其中适配器包括用于在适配器复位后、控制信号的初始设置被接收之后,提供识别与该适配器相连的外设的识别码的装置。
4、一个用于拥有***总线、一个与***总线相连的主存储器、多个外设和一个与***总线相连用于在每一外设和主存储器之间在一个直接存储器存取的请求被控制器认可期间以直接存储器存取操作方式传送数据的控制器的计算机***的适配器,该适配器被接在控制器和一个外设之间,它包括:
一个缓冲存储器;
用于仅当该缓冲存储准备执行预定的额定数据传送时,才对来自控制器的控制信号和缓冲存储器满的信号响应以产生命令信号的装置;和
用于响应控制器的请求,在主存储器和适配器之间进行DMA传送,以便在此请求期间传送预定的额定数据的装置。
5、根据权利要求4的适配器还包括用于在DMA请求存在以外的时间内,响应控制器的控制信号,用于在控制器和适配器之间数据的非DMA传送的装置。
6、根据权利要求5的计算机***,其中适配器包括用于在适配器复位之后、控制信号的初始状态被接收后,识别与该适配器连接的外设的识别码的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5755387A | 1987-06-03 | 1987-06-03 | |
US057,553 | 1987-06-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1038362A true CN1038362A (zh) | 1989-12-27 |
Family
ID=22011296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN88103325A Pending CN1038362A (zh) | 1987-06-03 | 1988-06-03 | ***设备控制器及适配器接口 |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP0293860B1 (zh) |
JP (1) | JPH0198048A (zh) |
KR (1) | KR930002787B1 (zh) |
CN (1) | CN1038362A (zh) |
AU (1) | AU1671688A (zh) |
CA (1) | CA1311310C (zh) |
DE (1) | DE3855024D1 (zh) |
DK (1) | DK305588A (zh) |
FI (1) | FI882595A (zh) |
NO (1) | NO882432L (zh) |
YU (1) | YU107788A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031898B (zh) * | 2004-10-28 | 2012-02-08 | 英特尔公司 | 使用分离事务处理来实现无缓冲器dma控制器 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0501621A3 (en) * | 1991-02-26 | 1994-07-06 | Hewlett Packard Co | Address prediction and verification for burst cycle data reads |
US5379381A (en) * | 1991-08-12 | 1995-01-03 | Stratus Computer, Inc. | System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations |
JPH07219894A (ja) * | 1994-01-31 | 1995-08-18 | Sony Corp | データ転送方法及びデータ転送装置 |
KR100221080B1 (ko) * | 1994-12-08 | 1999-09-15 | 정몽규 | 내연기관 제어장치의 통신속도 변환 장치 및 그 방법 |
EP0718771B1 (en) * | 1994-12-22 | 2001-11-07 | United Microelectronics Corporation | DMA logic unit architecture |
JP3374739B2 (ja) | 1998-01-09 | 2003-02-10 | トヨタ自動車株式会社 | 車両用チャイルドシート検知システム |
JP3356110B2 (ja) | 1999-04-21 | 2002-12-09 | 日本電気株式会社 | 機能拡張システム及びそれに用いるデータ転送方法 |
GB2353114B (en) * | 1999-04-21 | 2001-09-19 | Nec Corp | Data processing system |
US6691257B1 (en) | 2000-04-13 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus protocol and method for using the same |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6735715B1 (en) | 2000-04-13 | 2004-05-11 | Stratus Technologies Bermuda Ltd. | System and method for operating a SCSI bus with redundant SCSI adaptors |
US6633996B1 (en) | 2000-04-13 | 2003-10-14 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus architecture |
US6708283B1 (en) | 2000-04-13 | 2004-03-16 | Stratus Technologies, Bermuda Ltd. | System and method for operating a system with redundant peripheral bus controllers |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6766479B2 (en) | 2001-02-28 | 2004-07-20 | Stratus Technologies Bermuda, Ltd. | Apparatus and methods for identifying bus protocol violations |
US6971043B2 (en) | 2001-04-11 | 2005-11-29 | Stratus Technologies Bermuda Ltd | Apparatus and method for accessing a mass storage device in a fault-tolerant server |
CN103226529B (zh) * | 2012-01-31 | 2017-03-15 | 上海华虹集成电路有限责任公司 | 基于Nandflash的双端口存储器电路 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3409878A (en) * | 1966-03-18 | 1968-11-05 | Rca Corp | Controlling interchanges between a computer and many communications lines |
US4079452A (en) * | 1976-06-15 | 1978-03-14 | Bunker Ramo Corporation | Programmable controller with modular firmware for communication control |
JPS59108134A (ja) * | 1982-12-13 | 1984-06-22 | Nec Corp | 入出力制御方式 |
JPS6059464A (ja) * | 1983-09-12 | 1985-04-05 | Nec Corp | バスリクエスト制御方式 |
CA1228677A (en) * | 1984-06-21 | 1987-10-27 | Cray Research, Inc. | Peripheral interface system |
JPS6298444A (ja) * | 1985-10-25 | 1987-05-07 | Hitachi Ltd | デ−タ通信方式 |
-
1988
- 1988-05-27 AU AU16716/88A patent/AU1671688A/en not_active Abandoned
- 1988-06-01 DE DE3855024T patent/DE3855024D1/de not_active Expired - Lifetime
- 1988-06-01 EP EP88108783A patent/EP0293860B1/en not_active Expired - Lifetime
- 1988-06-02 CA CA000568402A patent/CA1311310C/en not_active Expired - Lifetime
- 1988-06-02 YU YU01077/88A patent/YU107788A/xx unknown
- 1988-06-02 NO NO882432A patent/NO882432L/no unknown
- 1988-06-02 JP JP63136609A patent/JPH0198048A/ja active Pending
- 1988-06-02 FI FI882595A patent/FI882595A/fi not_active IP Right Cessation
- 1988-06-03 DK DK305588A patent/DK305588A/da not_active Application Discontinuation
- 1988-06-03 CN CN88103325A patent/CN1038362A/zh active Pending
- 1988-06-03 KR KR1019880006759A patent/KR930002787B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031898B (zh) * | 2004-10-28 | 2012-02-08 | 英特尔公司 | 使用分离事务处理来实现无缓冲器dma控制器 |
Also Published As
Publication number | Publication date |
---|---|
DK305588D0 (da) | 1988-06-03 |
CA1311310C (en) | 1992-12-08 |
DK305588A (da) | 1989-12-04 |
AU1671688A (en) | 1988-12-08 |
YU107788A (en) | 1990-12-31 |
KR930002787B1 (ko) | 1993-04-10 |
JPH0198048A (ja) | 1989-04-17 |
NO882432L (no) | 1988-12-05 |
EP0293860A2 (en) | 1988-12-07 |
EP0293860B1 (en) | 1996-02-28 |
FI882595A0 (fi) | 1988-06-02 |
DE3855024D1 (de) | 1996-04-04 |
FI882595A (fi) | 1988-12-04 |
KR900000776A (ko) | 1990-01-31 |
EP0293860A3 (en) | 1992-04-08 |
NO882432D0 (no) | 1988-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1038362A (zh) | ***设备控制器及适配器接口 | |
US5175732A (en) | Method and apparatus for controlling data communication operations within stations of a local-area network | |
US5187780A (en) | Dual-path computer interconnect system with zone manager for packet memory | |
US5020020A (en) | Computer interconnect system with transmit-abort function | |
CN1205562C (zh) | 总线***的分隔事务协议 | |
EP0391583B1 (en) | Dual-path computer interconnect system with four-ported packet memory control | |
US4470114A (en) | High speed interconnection network for a cluster of processors | |
CN1179283C (zh) | 数据通信的方法和数据通信的集线器 | |
JPS6218949B2 (zh) | ||
JPH03214343A (ja) | 情報処理システムおよびデータ処理方法 | |
CN1098527A (zh) | 外部件互联为基础的计算机***的直接存储器存取逻辑支持 | |
CN1118029C (zh) | 用于高速总线的流控制的***和方法 | |
CN1279790A (zh) | 快速16位分离事务i/o总线 | |
US7970960B2 (en) | Direct memory access controller and data transmitting method of direct memory access channel | |
CN1335563A (zh) | 总线***和其数据传输方法 | |
CN1656470A (zh) | 芯片处理器间的控制平面通信 | |
CN101122894A (zh) | 一种异步串行通讯控制器件 | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
CN1113298C (zh) | 在总线***中提供和嵌入控制信息的方法和装置 | |
JP4104939B2 (ja) | マルチプロセッサシステム | |
US20040230717A1 (en) | Processing device | |
US7272151B2 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
WO2001050216A2 (en) | Communication bus for a multi-processor system | |
US5970253A (en) | Priority logic for selecting and stacking data | |
EP0321544B1 (en) | Intercomputer communication control apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |