CN1074050A - 具有双总线体系结构的计算机的总线控制逻辑 - Google Patents
具有双总线体系结构的计算机的总线控制逻辑 Download PDFInfo
- Publication number
- CN1074050A CN1074050A CN92114472A CN92114472A CN1074050A CN 1074050 A CN1074050 A CN 1074050A CN 92114472 A CN92114472 A CN 92114472A CN 92114472 A CN92114472 A CN 92114472A CN 1074050 A CN1074050 A CN 1074050A
- Authority
- CN
- China
- Prior art keywords
- bus
- memory
- data
- interface unit
- input
- 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.)
- Granted
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
Abstract
计算机系统,包括系统存贮器及控制通过存贮总
线对其存取的存贮控制器、与之电连接并通过存贮总
线把数据读出或写入系统存贮器的CPU、经系统总
线与存贮控制器相电连接的总线接口单元、及I/O
设备。存贮控制器包括在CPU和I/O设备间进行
仲裁的逻辑,以确定二者中那个应被授权经所述存贮
器总线对系统存贮器存取。总线接口单元包括据一
系列预定操作情况取代存贮控制器逻辑并把对系统
存贮器的独占存取授予I/O设备的逻辑。
Description
本发明涉及双总线体系结构的计算机系统中的总线至总线接口,更具体地讲是涉及在竞争系统存贮器存取的中央处理单元和输入/输出设备之间进行仲裁的总线至总线接口装置和方法。
通常,在计算机系统且尤其是个人计算机系统中,数据在诸如中央处理单元(CPU)、存贮装置、及直接存贮器存取(DMA)控制器的各种系统装置间传送。另外,数据也在诸如输入/输出(I/O)设备的扩展元件之间及这些I/O设备与各个系统装置之间传送。I/O设备和系统装置通过计算机总线来相互通信,此总线包括一系列导体,通过这些导体信息被从几个源传至几个目的地。许多系统装置及I/O设备都可被用作总线控制器(即控制计算机系统的装置)及总线从属器(即被总线控制器所控制的元件)。
已知的有带有一条以上总线的个人计算机系统。一般,设置一本地总线,CPU通过它与高速缓冲存贮器或存贮控制器通信;还设置一条系统I/O总线,通过它系统总线装置(如DMA控制器或I/O设备)经存贮控制器与系统存贮器进行通信。系统I/O总线包括由一总线接口单元连接的I/O总线和系统总线。I/O设备通过I/O总线相互通信。通常还要求I/O设备与诸如系统存贮器的系统总线装置进行通信。这种通信必须经总线接口单元在I/O总线和系统总线传递。
在双总线体系结构计算机系统中,诸如CPU的本地总线装置与系统I/O总线设备就经存贮控制器对系统存贮器的存取而进行争用。系统总线装置及I/O设备经系统总线对存贮控制器进行存取。CPU通过本地总线对存贮控制器进行存取。在此,在经存贮总线对系统存贮器进行存取之前,这些相互竞争的装置须先得到存贮控制器的控制。通常,在高速数据传送中,系统I/O总线设备及本地总线装置会同时希望控制存贮器总线控制器。高速I/O设备和微处理器对系统存贮器要求很高,从而在彼此间造成争用,进而降低了系统性能。因此,计算机系统须提供一方案或仲裁,以确定本地总线装置或系统I/O总线设备是否应对系统存贮器进行存取。
一种通常的仲裁方案包括一仲裁程序,它根据先到先服务的原则给予系统总线的控制。这样,如I/O总线设备及本地总线装置均希求对系统存贮器进行存取,就把存贮控制器的控制给予先送出控制请求的装置。在该特定装置作为存贮器总线控制器完成经存贮总线把数据串读出或写入系统存贮器之后,即把存贮控制器的控制给予等待的装置。只要诸如CPU等本地总线装置及系统I/O设备对存贮控制器的控制有待处理的请求,这个进程就将无限地进行下去。
各种I/O设备总线控制器以不同的速度对系统存贮器进行读出和写入。有些高速I/O设备经I/O总线把数据传至总线接口单元的速度可以同总线接口单元把这些数据在系统总线上转送的速度一样地快。经常,这些高速设备以一系列数据串或包的形式传送数据,这些包在系统存贮器中有相邻的地址。在上述的通常仲裁方案下,若本地总线装置,在这些多个包传送之一中,有等待的系统总线控制请求,则仲裁程序将在I/O设备传送了第一个包后,立即把存贮器总线控制授予该本地装置。在此本地总线装置完成其操作之后,存贮器总线控制又被授给I/O设备。
这类系统运行的效率不高,因为诸如CPU的本地总线装置及I/O设备通常在系统存贮器的不同区域工作。因此,当在CPU和I/O装置之间来回授予存贮器总线控制时,通常随着每个依次的操作,存贮器的地址是在其不同的页上,从而需要较长的存贮器存取时间。如果,如上所述,I/O设备正把在存贮器中有相邻地址的大块数据读出或写入该存贮器,则允许此I/O设备在把存贮器总线控制交给CPU之前完成其多包数据传送将是有利的。
以此方式,在存贮器存取被授予CPU之前,存贮控制器能读出或写入对系统存贮器的相邻的地址(即在同一信息“页”上)的多个传送。系统存贮器和I/O设备间的下一个及随后的数据传送所需的时间被降到最小,因为当寻址到系统存贮器的同一页上时,存贮器存取得以优化。在完成系统存贮器和I/O设备的最后一个数据传送时,CPU被授予存贮器总线控制,以完成其读出或写入操作。总之,这种系统运行节省了数据传送时间。
因而,本发明的一个目的,是在双总线体系结构计算机系统中提供一种总线接口单元。它提供了优化I/O总线上的I/O设备和本地总线上的本地装置间的存贮器总线控制所需的仲裁逻辑。
根据本发明,为具有双总线体系结构的计算机提供了一种总线至总线控制逻辑系统和方法。该逻辑是通过建立在总线接口单元内的算法来实现的,该单元位于计算机中的I/O总线和系统总线之间。该逻辑在中央处理单元和一I/O设备之间进行仲裁,以确定哪一个应被给予对系统存贮器的优先存取。该逻辑输出一控制信号,该信号被作为对一般存贮器控制仲裁的替代,以使一I/O设备优选对系统存贮器进行存取。
该控制逻辑被用来通过动态地控制I/O设备对系统存贮器的存取,来改善I/O总线把数据送入和送出系统存贮器的能力。通过在某些预定条件下锁定控制着I/O总线的I/O设备对系统存贮器的存取,改善了系统的性能。总线控制逻辑从而使I/O控制器的速度优化地匹配于系统存贮器的数据传送能力。系统总线支持一脉冲串协议,其中数据以16字节信息包的形式传送。根据控制着I/O总线的I/O设备的类型,I/O总线以1、2或4字节的带宽处理数据传送。
I/O设备被授予对系统存贮器的存取优先权的预定条件如下:(1)控制I/O总线的I/O设备发出的读取请求未与系统存贮器中的预定16字节地址边界相对准,(2)控制I/O总线的I/O设备以一读取周期紧接着一个写入周期,(3)控制I/O总线的I/O设备完成了一数据传送周期,(4)控制I/O总线的I/O设备正在以流模式读取或写入数据,或者,(5)总线接口单元超过一半的缓冲空间已被待写入系统存贮器的数据所占满或待从系统存贮器中预取的数据占有还不到一半的缓冲空间。
在本发明的最佳实施例中,总线至总线控制逻辑在三种模式下运行。这些模式中的第一种是缺省模式,它确定上列头三种条件下总线控制的步调。这些模式的第二种(选择1)确定上列第四种条件下的步调,而这些模式的第三种(选择2)确定上列第五种条件下的步调。除了系统自动提供的缺省步调模式之外,系统用户可选择任一步调模式(选择1或选择2)。该选择是通过编程总线接口单元中的可编程寄存器的内容而作出的。
在第一种缺省条件下,一I/O设备请求读取未与特定的16字节包边界对准的系统存贮器为补偿这种不对准,此I/O设备对系统存贮器的存取被锁定至自动预取了足够的数据而达到16字节边界。小于16字节的该读取数据随后被同步至I/O总线的定时,且I/O设备控制器开始读这些数据。总线接口单元随后预取相邻的下一16字节包。由于该16字节包在预定的边界开始,16字节脉冲串传送是可能的。
在第二种条件下,当I/O设备从写入转换到读取请求时,在总线接口单元缓冲器空间中可能有残留的缓冲写入数据。一旦I/O设备总线控制器从写入转换到读取,总线控制逻辑确定周期已终结、即已不再有写入数据要存入缓冲器空间中,以及现在正从系统存贮器请求读取数据。由于已知不再有相邻的写入数据会马上到来,故在一个原子操作中把缓冲数据写入系统存贮器并从系统存贮器中预取读取数据。
在第三种条件下,当I/O控制器装置在一个数据传送周期之后放弃I/O总线的控制时,在总线接口单元缓冲空间中也可能有残留的缓冲数据。此时,这种残留数据被自动写入系统存贮器中。若一半以上的缓冲器空间包括这种残留数据,在I/O装置控制器一放弃I/O总线控制后,总线控制逻辑将给存贮器产生一信号,表示在缓冲器中的长度超过一个传送长度(即大于16字节)的数据需要被写入到系统存贮器中。相应地,该缓冲数据将被给予经系统总线对系统存贮器的存取。
用于实施选择1(与上述第四种条件有关)的总线控制逻辑部分包括一定时S-R锁存器(置“1”置“0”锁存器),它给存贮控制器提供一LOCK信号。该LOCK信号当I/O设备以流模式把数据读出或写入系统存贮器时,为控制I/O总线的I/O设备提供对系统存贮器的连续存取。在检测到流数据写入操作且总线接口单元缓冲器之一充满被缓冲存储的写入数据时,一锁定脉冲串写入序列经系统总线被发送给系统存贮器,并将维持在有效状态直至I/O设备终止此流序列,或直至在缓冲器空间中没有数存留为止。类似地,在检测到流数据读取操作时,一锁定脉冲串读取序列被发往系统存贮器,并将保持有效状态,只要缓冲器空间还有容量,或直至I/O装置终止了流序列。
用于实施选择2(与上述第五种条件相关)的总线控制逻辑部分包括分开的逻辑电路,各个逻辑电路均与一用于向存贮控制器输出LOCK信号的锁存器相关联。在超过一半的总线接口单元缓冲器空间充满待写入到系统存贮器中的数据或少于一串的缓冲空间还待充满将从系统存贮器预取出的数据时,此LOCK信号为控制I/O总线的I/O设备提供对系统存贮器的连续存取。
图1是包括根据本发明原理构造的总线接口单元的计算机系统的示意框图;
图2是图1的计算机系统的总线接口单元的示意框图;
图3是图2的总线接口单元的FIFO缓冲器的示意框图;
图4是用于实施图3的总线至总线调步逻辑的一种实施例的控制逻辑的电路图;
图5是用于实施图3的总线至总线调步逻辑的另一实施例的控制逻辑的电路图。
参见图1,以10总括地表示的计算机系统包括系统板12和处理器复合体14。处理器复合体包括处理器部分16和经本地总线连接器22与处理器本地总线20相连的基板部分18。处理器部分16以50MHz运行,而基板部分18以40MHz运行。
系统板12包括交错的系统存贮器24和26及输入/输出(I/O)设备28。存贮器24和26与处理器复合体14之间的通信由存贮总线30处理,而I/O设备28和处理器复合体14间的通信由I/O总线32传送。I/O设备与存贮器24和26间的通信由I/O总线32、系统总线76及存贮总线30处理。I/O总线32可遵照MICRO CHANNEL
(注册商标)计算机体系结构。存贮总线30和I/O总线32经处理器复合体连接器34与处理器复合体基板部分18相连。诸如存贮器扩充装置等I/O设备可经I/O总线32与计算机系统10相连。系统板12还可包括可在通常操作中为计算机系统10所用的传统视频电路、定时电路、键盘控制电路及中断电路(图中均未显示)。
处理器复合体14的处理器部分16包括中央处理单元(CPU)38,在最佳实施例中,CPU38是可从Intel公司获得的、商业代号为i486的32位微处理器。处理器部分16还包括静态随机存贮器(SRAM)40、高速缓冲存贮控制模块42、频率控制模块44、地址缓冲器46及数据缓冲器48。本地总线20包括数据信息路径50、地址信息路径52及控制信息路径54。数据信息路径50设在CPU38、SRAM40及数据缓冲器48之间,地址信息路径52设在CPU38、高速缓冲存贮控制模块42和地址缓冲器46之间。控制信息路径54设在CPU38、高速缓冲存贮控制模块42和频率控制模块44之间。另外,地址和控制信息路径设在高速缓冲存贮控制模块42和SRAM40之间。
SRAM40通过短期存贮来自存贮器24或26或来自位于I/O设备28上的扩展存贮器的存储器信息,提供了高速缓冲存贮功能。高速缓冲存贮控制模块42包括存贮存贮器24和26的地址位置的随机存取存贮器(RAM)56。CPU38可通过本地总线20,直接存取贮存在SRAM40中的信息。频率控制模块44使50MHz处理器部分16的操作与40MHz基板部分18同步,并控制缓冲器46和48的操作。相应地,频率控制模块44确定缓冲器46和48获取信息的时间或改写存在这些缓冲器中的信息的时间。缓冲器46和48的配置,使得能够同时在它们中存入两个来自存贮器24和26的写入。缓冲器46和48是双向的,即它们能锁存由CPU38提供的信息和提供给CPU38的信息。由于缓冲器46和48是双向的,可在维持标准的基板部分18的同时,升级或替换处理器复合体14的处理器部分16,基板部分18包括存贮控制器58、直接存贮器存取(DMA)控制器60、中央仲裁控制点(CACP)电路62、总线接口单元64和缓冲/纠错码(ECC)电路66。基板部分18还包括驱动电路68、只读存贮器(ROM)70、自测电路72和缓冲器74。系统总线76包括数据信息路径78、地址信息路径80和控制信息路径82。数据信息路径将缓冲器74连接到总线接口单元64;将接口单元64连接到DMA控制60及缓冲器/ECC电路66;并将缓冲器/ECC电路66连接到系统存贮器24和26。地址信息路径和控制信息路径都将存贮控制器58连接到DMA控制器60及总线接口单元64;并将总线接口单元64连接到缓冲器74。
存贮控制器58位于CPU本地总线20和系统总线76上,并为CPU38、DMA控制器60或总线接口单元64(代表一台I/O设备28)提供经存贮器总线30对系统存贮器24和26的存取。存贮控制器58经存贮器总线30,给系统存定器24和26启动系统存贮周期。在一个系统存贮周期中,CPU38、DMA控制器60或总线接口单元64(代表一台I/O设备28)三者之一具有经存贮控制器58对系统存贮器24和26的存取。CPU38经本地总线20、存贮控制器58和存贮器总线30与系统存贮器通信,而DMA控制器60或总线接口单元64(代表一个I/O设备28)经系统总线76、存贮控制器58和存贮器总线30对系统存贮器进行存取。
对CPU38至I/O总线32的读或写周期,对照系统存贮地址边界对地址信息进行检查。若地址信息对应于一I/O扩展存贮器地址或I/O端口地址,则存贮控制器58通过I/O总线32启动一I/O存贮周期或带有一I/O设备28的I/O端口周期(经总线接口单元64)。在一CPU至I/O存贮周期或I/O端口周期中,提供给存贮控制器58的地址,经介于系统总线76和I/O总线32之间的总线接口单元64从系统总线76传送至I/O总线32。包括与地址相对应的扩展存贮器的I/O设备28从I/O总线32接收存贮器地址。DMA控制器60和总线接口单元64控制着系统存贮器24和26与包括在一台I/O设备28中的扩展存贮器之间的信息交换。DMA控制器60还代表处理器复合体14提供三种功能。首先,DMA控制器60利用小计算机子系统控制块(SCB)体系结构来配置DMA通道,从而避免用编程I/O来配置DMA通道的必要性。第二,DMA控制器提供一缓冲功能,以优化慢速存贮器扩展装置和一般较快的系统存贮器间的传送。第三,DMA控制器60提供8通道、32位、直接系统存贮存取功能。在提供直接系统存贮存取功能时,DMA控制器60可以两种模式之一工作。在第一种模式下,DMA控制器以一编程模式工作,其中DMA控制器60在功能上是CPU38的从属器。在第二模式下,DMA控制器60本身起系统总线控制者的作用,其中DMA控制器60为I/O总线32进行仲裁并控制总线32。在第二模式中,DMA控制器60采用了一先进先出(FIFO)寄存器电路。
CACP电路62起DMA控制器、I/O设备总线控制器及CPU(若存取I/O设备的话)的仲裁器的作用。CACP电路62从DMA控制器60、存贮控制器58及I/O设备接收仲裁控制信号,并确定哪个装置可控制I/O总线32及该特定装置控制I/O总线的时间长度。
驱动电路68向系统存贮器24和26提供来自存贮控制器58的控制信息和地址信息。驱动电路68,根据用于构成系统存贮器24和26的单个在线存贮模块(single in-line memory modules)(SIMMs)的数目,来驱动此信息。因此,驱动电路68根据系统存贮器24和26的大小,改变提供给这些存贮器的控制和地址信息的信号密度。
缓冲电路74提供了放大和处理器复合体基板部分18和系统板12之间的隔离。缓冲电路74利用了能实时获取I/O总线32和总线接口单元64之间的边界信息的缓冲器。因此,若计算机系统10出现故障,计算机修理人员可存取缓冲器电路74,以确定在系统出现故障时出现在连接器34的信息。
ROM70在接上电源时通过初始加入来自扩展存贮器的系统存贮器数据,配置系统10。自测电路72与基板部分18中的多处相连,并提供了多种自测特征。自测电路72对缓冲电路74进行存取,以确定是否存在故障,并在系统10接通电源时检测基板部分18的其他主要部分,以确定系统是否已准备就绪运行。
参见图2,它显示了图1的系统的总线接口单元64的示意框图。总线接口单元64,通过在系统总线76和I/O总线32间提供双向高速接口,提供了实施本发明的基础。
总线接口单元64包括系统总线驱动器/接收器电路102、I/O总线驱动器/接收器电路104和电连接在它们之间的控制逻辑电路。驱动器/接收器电路102包括导引逻辑;该逻辑把从系统总线76收到的信号引至适当的总线接口单元控制逻辑电路,并从这些总线接口单元控制逻辑电路接收信号且把该信号引到系统总线76。I/O总线驱动器/接收器电路104包括导引逻辑;该逻辑把从I/O总线32收到的信号引到适当的总线接口单元控制逻辑电路,并从这些总线接口单元控制逻辑电路接收信号并把此信号导引到I/O总线32。
总线接口单元控制逻辑电路包括系统总线至I/O总线的转换逻辑106、I/O总线至系统总线转换逻辑108、存贮器地址比较逻辑110、错误恢复支持逻辑112、及高速缓冲存贮窥探逻辑114。编程I/O电路116也电耦合至系统驱动器/接收器电路102。
系统总线至I/O总线转换逻辑106,提供了DMA控制器60或存贮控制器58(代表CPU38)作为系统总线控制器去对I/O总线32进行存取并借此与作为I/O总线上的从属装置的I/O设备28通信所必须的装置。转换逻辑106把系统总线76上的控制、地址和数据线转换成I/O总线32上的相同的线。大多数控制信号及所有的地址信号都从系统总线76流向I/O总线32,而数据信息的流动则是双向的。作为系统总线从属器的逻辑监测系统总线76并检测供给I/O总线32的周期。在检测到这种周期时,系统总线从属器把系统总线上的信号定时转换成I/O总线定时、在I/O总线32上启动该周期、等待此周期的结束、并在系统总线76上终止此周期。
I/O总线至系统总线转换逻辑108包括系统总线地址发生电路118、I/O总线预期地址发生电路120、系统总线控制接口122、FIFO缓冲器124、I/O总线从属接口126和总线至总线调步控制逻辑128。系统总线控制接口122支持在40MHz运行的高性能32位(4字节)i486脉冲串协议。提供了脉冲串模式的四、八和十六字节的非脉冲串模式的1至4字节的数据传送。I/O总线从属接口126以系统总线76上的从属装置为目的地的操作对I/O总线32进行监测,并忽略那些以I/O总线32为目的地的操作。I/O总线从属接口126所拾取的所有周期均被送至FIFO缓冲器124和系统总线控制接口122。
I/O总线至系统总线转换逻辑108,为I/O设备28作为一I/O总线控制器去存取系统总线76并借此读取或写入系统存贮器24和26,提供了必需的装置。在这些操作的任一个中,一I/O设备控制着I/O总线。异步的I/O总线接口126以I/O设备的速度运行,并使总线接口单元64能作为I/O总线32上的I/O设备控制器的从属器,去译码存贮器地址并确定读或写周期是以系统存贮器24或26为目的地的。同时,系统总线控制器接口122使总线接口单元64能作为系统总线74上的一控制器。存贮器控制器58(图2)作为总线接口单元64的从属器,并且要么给接口64提供从系统存贮器读出的数据,要么把数据写入系统存贮器。对系统存贮器的读出或写入是经FIFO缓冲器124实现的,在图3中显示了缓冲器124的框图。
如图3中所示,FIFO缓冲器124是一双端口、异步、双向存贮器单元,它在系统及I/O总线76和32之间提供了临时的数据信息存贮。FIFO缓冲器124包括四个16字节缓冲器125A-125D和FIFO控制电路123。四个缓冲器125A-125D缓冲来往于I/O总线控制器和系统总线从属器的数据,从而使I/O总线32和系统总线76能同时运行。FIFO缓冲器124在实体上由两个32字节缓冲器(125A/125B和125C/125D)构成。系统总线控制接口122和I/O总线从属接口126各控制一个32字节缓冲器,而另一32位缓冲器则对它们透明地运行。两个32字节缓冲器均被用于读和写操作。
各FIFO125A、125B、125C、125D均有与其或是在实体上相联或是在逻辑上相联的地址寄存器段。当数据从I/O总线32被传送至FIFO125A时,只要地址是邻接的,数据就将被累积起来,直至16字节缓冲器中充满16字节数据。若地址行动检测到非邻接的地址,FIFO125A将把存贮的数据传送到FIFO125C,同时FIFO125B将开始从新的非邻接地址接收该数据,FIFO125B将象125A那样继续工作,直到它被充满16字节数据,或检测到另一非邻接的地址。此时FIFO125B将把存贮的数据传送到125D,崦FIFO125A再次开始存贮数据;这样,可存贮多达4个16字节块的非邻接地址数据。
另外,通过两个并联的32字节缓冲器,数据的读写可在它们之间反复进行,从而给出基本上连续的读或写功能。
另外,通过把32字节缓冲器分成两个耦合到其他I/O总线32或系统总线26的16字节缓冲器段,则可在与信号脉冲数据输入或输出存储器寄存器时的容量负载有关的方面对FIFO性能影响最小的情况下,增加存贮缓冲器的数目。这是因为每(并联地)加上两个缓冲器,只有一半容量负载被加到各总线上的时钟信号的负载上。
还有,通过在每一支路中加上两个串联的16字节缓冲器,一旦一个16字节缓冲器充满了数据(如在读操作中),则可把数据传送到与其串联的另一16字节缓冲器中,同时另一并联支路仍在积累数据。这样,在积累数据或把数据从一条总线传送到另一条时都没有浪费时间。
控制FIFO124的运行的逻辑由FIFO控制电路123提供。
一具体的I/O设备28,可经I/O总线,以1、2或4字节(即8、16或32位)的带宽,对系统存贮器24或26进行写入。在由I/O设备28写入系统存贮器时,写入数据的第一个传送原先存在FIFO缓冲器125A或125B中的。I/O总线预期地址发生电路120计算下一个预期或邻接的地址。此下一邻接的地址与随后的I/O地址进行对照检查,以确定随后的传送是否是邻接的。若是邻接的,则写入数据的第二字节或多个字节就被送到相同的FIFO缓冲器125A或125B。FIFO以高达每秒40兆字节(megabytes)的异步速度从I/O总线32接收数据。
此过程持续进行,直到缓冲器125A或125B充满了16字节的信息包或者检测到非邻接的地址。在下一时钟周期,假设缓冲器125A已满,则缓冲器125A中的数据将被传送到缓冲器125C。类似地,当缓冲器125B满了时,基全部内容都在一个时钟周期中被传送到缓冲器125D。随后存在缓冲器125C和125D中的数据,以系统总线运行速度,通过一i486脉冲串传送,被写入系统存贮器。这样在I/O设备对系统存贮器的写入过程中,FIFO缓冲器124的运行是连续的,并在缓冲器125A和125B间交替,当每一个向相邻缓冲器125C或125D分别进行传送时,另一个则接收待写入系统存贮器的数据。然后,FIFO缓冲器124,通过(ⅰ)预计待写入存贮器的下一可能数据字节的地址及(ⅱ)提供最大的速度从FIFO缓冲器经系统总线76把数据写入系统存贮器,优化了数据写入系统存贮器的速度。
在把数据从系统存贮器读出到一I/O设备28时,FIFO缓冲器124的运行是不同的。系统总线地址发生电路118利用初始读取地址来产生随后的读取数据的读取地址,并把数据累积在缓冲器125C和125D中。由于系统总线支持16字节带宽的传送,系统总线控制器接口122可在I/O总线32不实际提供随后的地址的情况下,预取16字节的邻接数据包并将其存在缓冲器125C或125D中,从而降低传送间的等待时间。当缓冲器125C充满预取数据时,它在一个时钟周期中将其内容传送到缓冲器125A。类似地,缓冲器125D在满时把数据转给缓冲器125B。缓冲器125A和125B中的数据随后可由一特定的I/O设备控制器以1、2或4字节的带宽进行读取。这样,系统总线地址发生电路118起增量计数器的作用,直至I/O控制装置命令它停止预取数据。
总线至总线调步控制逻辑128为高速I/O设备产生对系统存贮器的更快存取。总线至总线调步控制逻辑128,通过使控制I/O总线32的I/O设备在需要多个周期的更快的设备传送数据时不中断对系统存贮器的存贮,而不是在I/O设备和CPU间交替改变对存贮控制器58的存取,从而取代了系统10的正常存贮控制器仲裁方案。这样,即使诸如CPU的本地装置在I/O设备的多周期传送期间有等待的存贮总线控制请求,总线至总线调步控制逻辑128仍将授予该I/O设备对存贮器总线的连续控制。
编程I/O电路116是总线接口单元64的一部分,它包含可在总线接口单元64内编程的所有寄存器。这些寄存器有与其相关联的位,以确定一特定的寄存器是否有效。其中,这些寄存器确定总线接口单元64将响应的系统存贮器和扩展存贮器地址范围、可高速缓冲存贮或不可高速缓冲存贮的扩展存贮器地址、系统存贮器或高速缓站存贮器地址范围、及总线接口单元是否支持奇偶或错误校验。因此,编程I/O电路116为总线接口单元64识别它所在的环境及它所配置成的选择。编程I/O电路116中的寄存器不能直接经I/O总线32编程。因而,为给系统10编程,用户必须具有能对经系统总线与编程I/O电路116在CPU级上进行通信的I/O设备的存取能力。
存贮器地址比较逻辑110确定一存贮地址是否对应于系统存贮器或对应于位于耦合到I/O总线32的I/O设备28上的扩展存贮器。由于系统存贮器及扩展存贮器可在不邻接的地址块中,存贮器地址比较逻辑110包括多个比较器,它们被加有来自编程I/O电路116中的寄存器的边界信息,以表示哪个边界对应于哪个存贮器。在存贮器地址比较逻辑把一特定存贮器地址与边界信息比较之后,总线接口单元即准备作相应的反应。例如,若控制I/O总线32的I/O设备正在读取或写入扩展存贮器,则总线接口电路不必把此地址传给存贮控制器58,从而节省了时间和存贮器带宽。
错误恢复支持逻辑112使系统10即使在检测到数据奇偶性错误时仍能继续运行。在I/O设备28对系统存贮器24或26的所有读取或写入存取中,都检测数据的奇偶性。支持逻辑112与编程I/O电路116中的寄存器互相作用,以捕获检测到的奇偶性错误的地址和时间。随后可由适当的系统软件来对该寄存器的内容起作用。例如,CPU38可编程一个高级别中断以在检测到奇偶错误时把该地址拉出寄存器。CPU随后根据系统软件指令,决定是否系统继续运行,还是仅终止识别出的奇偶性错误源的运行。
高速缓冲存贮器窥探逻辑114使总线接口单元64能就I/O设备经I/O总线32对扩展存贮器的写入进行监测。该窥探逻辑首先确定对扩展存贮器的写入是否发生在SRAM40中可高速缓冲存贮的扩展存贮器中。若它不是可高速缓冲存贮的扩展存贮器,则不会损坏高速缓冲存贮的数据。然而,若表明写入是发生在可高速缓冲存贮的扩展存贮器中,则通过系统总线76启动一高速缓冲存贮无效周期。因而该CPU被指示使SRAM40中的相应地址无效。高速缓冲存贮器窥探逻辑114提供了存贮具有肯定比较结果的地址的装置,从而在检测到第一个肯定比较结果后对I/O总线的窥探能立即继续,从而允许对I/O总线32的连续监测。
本发明一般地涉及上述的总线接口单元64,并具体地涉及该总线接口单元的总线至总线调步控制逻辑128。采用调步控制逻辑128,是为了通过动态地控制I/O装置对系统存贮器的存取,改善I/O总线32把数据移入或移出系统存贮器24或26的能力。通过在一定预定条件下锁定控制I/O总线32的I/O设备28对系统存贮器的存取,改善了系统的性能。
总线至总线调步控制逻辑128,与FIFO缓冲器124一起,被用来使I/O总线控制器的数据传送速度最佳地匹配于系统存贮器的数据传送能力。例如,若一高速I/O控制器写入系统存贮器的速度快于系统存贮器可接受这些写入数据的速度,则被缓冲的写入数据在可被写入系统存贮器之前将完全充满FIFO缓冲器125A-125B。若同一高速I/O控制器从系统存贮器读出数据的速度快于系统存贮器能提供读取数据的速度,是将无法从FIFO缓冲存贮器125C-125D得到预取的数据。在任一情况下,都将导致从I/O总线32这方面来看的数据传送等待时间增加和性能下降。
通常,I/O设备控制器将启动一读或写操作,并经I/O总线32向总线接口单元64提供一存贮器地址。总线接口单元的电路110把该地址与编程在电路116中的一定范围的地址相比较,以确定该操作是否是针对扩展存贮器或系统存贮器的。若确定该操作是针对扩展存贮器的,总线至总线调步控制逻辑128就什么都不做,因为在此情况下需要优先存取系统存贮。然而,若确定读或写操作是针对系统存贮器24或26的,且预定的条件已满足,则调步控制逻辑128发出一信号,它授权控制着I/O总线32的I/O设备28连续优先存取系统存贮器。这种信号取代了正常仲裁程序中存贮控制器58的仲裁授予信号输出。
在下列预定情况下I/O设备被授权优先存取系统存贮器:(1)控制I/O总线32的I/O设备发出的读请求(预取)未对准系统存贮器中的预定16字节地址边界,(2)控制I/O总线32的I/O设备在一写周期之后紧接着一读周期,(3)控制I/O总线32的I/O设备完成了一数据传送周期,(4)控制I/O总线32的I/O设备正在以流模式(每秒40兆字节)读取或写入数据,或者,(5)FIFO缓冲器124中的四个16字节缓冲器中有两个以上已充满待写入系统存贮器的数据或四个16字节缓冲器中有不到两个还未充满待从系统存贮器读出的预取数据。
在本发明的最佳实施例中,总线至总线调步控制逻辑128在三种模式下操作。这些模式的第一种是缺省模式,它为上列的前三种情况确定总线控制调步。这些模式的第二种(选择1)为上列情况的第四种确定调步,而这些模式的第三种(选择2)为上列情况的第五种确定调步。除了系统自动提供的缺省调步模式之外,系统用户还可选择两种模式(选择1或2)中的一种。这种选择是通过对编程的I/O电路116中的2位寄存器(未显示)的内容进行编程而作出的。缺省模式被定义为0-0-0寄存器内容;选择1被定义为0-0-1寄存器内容;而选择2被定义为1-0-0寄存器内容。
如上所述,缺省调步逻辑为前三种调步情况处理调步。在第一种情况下,I/O设备28请求一个未对准特定的16字节边界的系统存贮器读取,表明该读取请求是针对开始于16字节包边界之内某处的数据地址的。若读取数据与一特定16字节包的边界相对准,系统总线地址发生电路118将只作数据进入缓冲器125C或125D的标准16字节脉冲串传送。然而,若读取数据包未对准,数据必须用多个1、2、3、4字节周期预取。为保证以最有效的方式预取这些数据,I/O设备对系统存贮器的存取被锁定,同时足够的数据被自动预取以到达一16字节边界。这一少于16字节的读取数据随即被同步到I/O总线32的定时,而I/O设备控制器则开始读取该数据。与I/O装置控制器读取数据相并行,系统总线地址发生电路118将在向系统存贮器发出锁定信号之前,预取下一个邻接的16字节包。由于该16字节包始于一预定边界,脉冲串传送是可能的。这样,不中断地进行了两个数据传送。在此情况下采用图4中的锁定信号,保证了在I/O总线32上的一个设备请求数据与总线接口单元64预控制数据之间的等待时间为最短,以及页模式系统存贮器的最有效利用。
在第二种情况下,当I/O设备28从写入传送转到读取请求时,在FIFO缓冲器125A-125D中含有残留的被缓冲的写入数据。一旦I/O设备总线控制器从写入转到读取,调步控制逻辑128确定已出现了周期结束、在FIFO缓冲器124中不再存有写入数据、且正在从系统存贮器24或26中请求读取的数据。由于已知不再有邻接的写入数据会马上到来,在一个原子操作中将缓冲器125A-125D中被缓冲的数据被写入系统存贮器且从系统存贮器预取读取请求。
在第三种情况下,当I/O控制装置放弃对I/O总线32的控制时,在FIFO缓冲器125A-125D中也可能有残留的缓冲数据。此时,必须在释放系统总线76之前把这些残留数据写入系统存贮器。若多于一个FIFO缓冲器125A-125D含有这种残留数据,则I/O设备控制器一放弃对I/O总线32的控制,调步逻辑128将马上向系统控制器发出一信号,表明FIFO缓冲器124中的数据超过了一个传送的长度(即大于16字节)并需要被写入到系统存贮器24或26中。在此情况下采用锁定信号140,确保了在I/O控制器释放对I/O总线32的控制与总线接口单元64释放对系统总线76的控制之间的待待时间为最短。
响应前三种情况的缺省逻辑是由固化在总线接口单元64的硬件中的算法实现的。一般,如先有技术中已知的,状态机可被用来实现所要求的逻辑。响应上述第四和第五种情况的调步逻辑也是由固化在总线接口单元硬件中的算法实现的。图4和5分别显示了实现用于选择1和2的总线至总线调步控制逻辑128的具体实施例的电路图。
参见图4,实现选择1(涉及上述第四种情况)的总线至总线调步控制逻辑包括定时S-R锁存器132、“与”门134和136、以及“或”门138。只要置位锁存器(S输入有效),锁存器就输出一“LOCK”信号140。“LOCK”信号140,当控制I/O总线32的I/O设备28正在以流模式把数据读出或写入系统存贮器24或26时,为该I/O设备28提供对系统存贮器的连续存取。流是指具有邻接地址的数据流的数据传送,其中只需对第一个地址解码,而后面的地址被认为是邻接的。
在图4的逻辑检测到流数据写入操作,且FIFO缓冲器125C或125D充满16字节的被缓冲的写入数据包时,该锁定信号被启动,且一脉冲串写入序列被通过系统总线76发向系统存贮器,该锁定信号将保持有效,直到I/O设备28结束流序列,或直到不再有数据留在FIFO缓冲器中。类似地,在检测到流数据读取操作时,锁定信号被启动,并且一脉冲串读取序列被发向系统存贮器并将保持有效,只要FIFO中还有空间,或直到I/O设备28结束流序列。响应流读取或写入的总线控制逻辑128,是通过将3位寄存器130编程为0-0-1寄存器内容而确定的。因此,若3位寄存器被编程成0-0-1,“与”门134将对寄存器内容进行译码并提供一“高”选择1启动线142。只要总线接口单元64检测到控制I/O总线32的特定I/O设备28正以流模式写入或读出数据,线144将也是“高”的。由于此时线142和144是“高”的,“与”门136将置位锁存器132,以在“或”门138的输出146为“高”时输出“LOCK”信号140。
当(ⅰ)控制I/O总线32的I/O设备28发出一流数据读取请求(读取操作)或(ⅱ)FIFO124中的16字节缓冲器125C或125D二者之一充满时(写入操作),“或”门138的输出146是“高”。在这些情况之任一者下,且当线142和144如上所述为“高”时,锁存器132将通过为存贮控制器58提供一“LOCK”信号140而取代该存贮控制器的仲裁方案。每当I/O设备28表明它不再能流模式传输读取或写入数据时,线148就变成“高”,从而复位锁存器132并有效地停用图4的逻辑。
参见图5,用于实现选择2(与上述第五种条件相关)的总线至总线控制逻辑包括定时S-R锁存器150和152,在读取和写入周期中它们每个均由独立的逻辑路径独立地控制。每当这些定时锁存器150和152之一被置位时,“LOCK”信号得到允许并被输出到存贮控制器58。这些锁存器通过启动R输入端复位,从而禁止锁存器输出“LOCK”信号。
在上列第五种情况下,或者(ⅰ)数据由I/O控制器58经I/O总线32正以快于它可被经系统总线76写入系统存贮器的速度写入总线接口单元64时,或者(ⅱ)数据正被I/O控制器28以快于总线接口单元可从系统存贮器预取数据的速度从总线接口单元64读出。若数据正在被一I/O控制器过快地写入,在FIFO缓冲器125A-125D中开始累积残留数据。若一半以上的FIFO缓冲器空间包含这类残留数据,锁存器152发出一“LOCK”信号140,以允许向系统存贮器的原子传送。若I/O控制器28经I/O总线32从总线接口单元64读取数据的速度过快,FIFO存贮器125A或125B将变空,表明缓冲器125C和125D中可预取的邻接数据已耗尽。因此锁存器150输出一“LOCK”信号,以便总线接口单元能把数据预取进缓冲器125C和125D。因而,至少一半FIFO缓冲器124保持充满预取数据。
响应于第五种情况的总线控制逻辑,是通过将3位寄存器130编程为1-0-0寄存器内容来确定的。因此,若3位寄存器被编为1-0-0,“或非”门154将译码寄存器的内容并提供“高”选择2启动线156。选择2启动线156是用于响应数据读取操作(图5逻辑的上半部)和数据写入操作(图5逻辑的下半部)来启动控制逻辑的。
在写入操作中,只要缓冲器125A-125D中至少有两个是满的,“或”门160的输出158也是“高”的。一般,这表明缓冲器125A或125B之一已满并已分别向缓冲器125C或125D传送数据,而缓冲器125A或125B中的另一个正在被充满。此时,数据在缓冲器125C或125D之一或二者中,并可被立即写入系统存贮器。当线156和158为高时,“与”门162将置位锁存器152,后者随后向存贮控制器58输出“LOCK”信号。此“LOCK”信号将保持有效,直至锁存器152的R输入端被“与”门164的输出驱成“高”。“与”门164的输出在缓冲器125C和125D均变空时变为“高”,从而表示不必立即把数据从这些缓冲器写入系统存贮器。
在读取操作中,当锁存器150被“与”门166的“高”输出置位时,锁存器150将向存贮控制器58输出“LOCK”信号。当(ⅰ)线156由于选择2有效而是“高”时、(ⅱ)线168由于总线接口单元64检测到从系统存贮器的读取而为“高”时、以及(ⅲ)线170线当缓冲器125A或125B之一变空时被“或非”门172驱成“低”时,“与”门166的输出被驱成“高”。在此情况下,发出了一“LOCK”信号,因为当缓冲器125A或125B之一是空的时,可将缓冲器125C或125D的内容誊到其中,从而在缓冲器125C或125D中为来自系统存贮器的预取邻接数据留出空间。
在读取操作中的“LOCK”信号保持为有效,直到锁存器150的R输入被“或”门174启动。每当(ⅰ)总线接口单元64检测到没有来自系统存贮器的读取或(ⅱ)缓冲器125C和125D之一是满的且缓冲器125A和125B都不空时,“或”门174经“或”门176、“或非”门172和“与”门178被驱成“高”。在这两种情况之任一种下,“LOCK”信号都不是必需的,因而锁存器150被复位。此时对系统存贮器24和26的存取由存贮控制器58实现的正常仲裁方案控制。
至此,已描述了用于有双总互体系结构的计算机的总线控制逻辑系统的最佳实施方案。然而,应理解的是,上面的描述只是以举例的方式进行的,而且本发明也不限于这里描述的具体实施例,而且在不脱离所附权利要求书所请求的本发明的精神和前提下,可进行各种调整、修改、以及替换。
Claims (22)
1、一种计算机系统,包括:
系统存贮器;
用于控制对系统存贮器的存取的存贮控制器,所述系统存贮器和所述存贮控制器由存贮器总线连接;
与所述存贮控制器相电连接的中央处理单元,所述中央处理单元可通过所述存贮器总线把数据读出或写入所述系统存贮器;
经系统总线与所述存贮控制器相电连接的总线接口单元;
经输入/输出总线与所述总线接口单元相电连接的输入/输出设备;
所述计算机系统的特征在于:
所述存贮控制器包括用于在所述中央处理单元与所述输入/输出设备之间进行仲裁以确定所述中央处理单元与所述输入/输出设备中哪一个应被授予经所述存贮总线对所述系统存贮器的存取的逻辑;以及
所述总线接口单元包括用于取代所述存贮控制器仲裁逻辑的逻辑,所述总线接口逻辑响应于一系列预定的操作情况来取代所述存贮控制器仲裁逻辑并把对系统存贮器的独占性存取授予所述输入/输出设备。
2、权利要求1的计算机系统,其特征在于所述总线接口逻辑是由固化在所述总线接口单元的硬件中的算法来实现的。
3、权利要求2的计算机系统,其特征在于所述总线接口单元对所述一系列预定情况的响应是可由计算机的用户编程的。
4、权利要求2的计算机系统,其特征在于所述总线接口单元确定对应于一读出或写入操作的地址是否对应于系统存贮器中的一个地址或对应于处在位于所述输入/输出总线上的输入/输出设备之中的扩展存贮器中的一个地址。
5、权利要求2的计算机系统,其特征在于所述系统总线支持读出或写入数据在所述总线接口单元和所述系统存贮器之间以高达16字节带宽进行的脉冲串传送,且其中所述输入/输出总线支持读出或写入数据在所述输入/输出设备和所述总线接口单元之间以1、2或4字节带宽进行的传送。
6、权利要求4的计算机系统,其特征在于所述总线接口单元包括一个双端口、异步、双向的存贮单元,该单元在所述系统总线和所述输入/输出总线间提供了数据信息的临时存贮。
7、权利要求6的计算机系统,其特征在于所述存贮单元包括至少两对16字节缓冲器,所述缓冲器均被用于读取和写入操作。
8、权利要求1的计算机系统,其特征在于所述预定的一系列操作情况之一发生在当所述输入/输出设备收到所述系统存贮器的读取请求未对准系统存贮器中的预定16字节地址边界时。
9、权利要求1的计算机系统,其特征在于所述预定的一系列操作情况之一发生在当所述输入/输出设备在对所述系统存贮器的写入操作之后有对所述系统存贮器的读取操作的时候。
10、权利要求1的计算机系统,其特征在于所述的预定一系列操作情况之一发生在当所述输入/输出设备完成一数据传送操作时。
11、权利要求1的计算机系统,其特征在于所述的预定一系列操作情况之一发生在当所述输入/输出设备正以流模式对所述系统存贮器进行读取或写入时。
12、权利要求7的计算机系统,其特征在于所述的预定一系列操作情况之一发生在当所述双向存贮单元的一半以上的缓冲空间充满了待写入系统存贮器的数据或在读取系统存贮器的过程中所述的双向存贮单元的一半以上缓冲空间是空的的时候。
13、一种用于控制对计算机系统中的系统存贮器的存取的方法,其特征在于下述步骤:
提供一存贮控制器,该控制器用于在中央处理单元和输入/输出设备间进行仲裁以确定所述中央处理单元和所述输入/输出设备中的哪一个应被授予对系统存贮器的存取以执行对所述系统存贮器的读取或写入操作;以及
提供与所述存贮控制器相电连接的总线接口单元,该单元包括用于取代所述存贮控制器的逻辑,所述总线接口逻辑响应于一系列预定操作情况来取代所述存贮控制器逻辑并授予所述输入/输出设备对系统存贮器的独占存取。
14、权利要求13的方法,其特征在于所述总线接口单元确定对应于一读取或写入操作的地址是否对应于系统存贮器中的一个地址或对应于位于处在所述输入/输出总线上的输入/输出设备中的扩展存贮器中的地址。
15、权利要求14的方法,其特征在于所述系统总线在所述总线接口单元和所述系统存贮器间以高达16字节的带宽传送读取或写入数据,且其中所述输入/输出总线在所述输入/输出设备和所述总线接口单元之间以1、2或4字节的带宽传送读出或写入数据。
16、权利要求13的方法,其特征在于所述总线接口单元包括一个双端口、异步、双向的存贮单元,该单元暂时存贮在所述系统总线和所述输入/输出总线之间传送的数据信息。
17、权利要求16的方法,其特征在于所述存贮单元包括至少两对16字节缓冲器,两对所述缓冲器均被用于读取和写入操作。
18、权利要求13的方法,其特征在于所述预定系列操作情况之一发生在当所述输入/输出装置发给所述系统存贮器的读取请求未与系统存贮器中的预定16字节地址边界对准时。
19、权利要求13的方法,其特征在于所述预定系列操作情况之一发生在当所述输入/输出设备在对所述系统存贮器的写入操作之后有对所述系统存贮器的读取操作的时候。
20、权利要求13的方法,其特征在于所述预定系列操作情况之一发生在当所述输入/输出设备完成一数据传送操作时候。
21、权利要求13的方法,其特征在于所述预定系列操作情况之一发生在当所述输入/输出设备正在以流模式读取或写入所述系统存贮器时。
22、权利要求17的方法,其特征在于所述预定系列操作情况之一发生在当所述双向存贮单元中一半以上的缓冲空间充满了待写入到系统存贮器中的数据或所述双向存贮单元中一半以上的缓冲空间在读取存贮器期间为空的的时候。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81599292A | 1992-01-02 | 1992-01-02 | |
US07/815,992 | 1992-01-02 | ||
US815,992 | 1992-01-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1074050A true CN1074050A (zh) | 1993-07-07 |
CN1029168C CN1029168C (zh) | 1995-06-28 |
Family
ID=25219387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN92114472A Expired - Fee Related CN1029168C (zh) | 1992-01-02 | 1992-12-17 | 具有双总线体系结构的计算机的总线控制逻辑 |
Country Status (10)
Country | Link |
---|---|
US (1) | US5544346A (zh) |
EP (1) | EP0550224A1 (zh) |
JP (1) | JPH05242014A (zh) |
KR (1) | KR950014183B1 (zh) |
CN (1) | CN1029168C (zh) |
AU (1) | AU663536B2 (zh) |
CA (1) | CA2080608A1 (zh) |
NZ (1) | NZ245344A (zh) |
SG (1) | SG44430A1 (zh) |
TW (1) | TW318224B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780806A (zh) * | 2018-07-30 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 促进元数据和数据捆绑存储的原子性保证的方法和系统 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708794A (en) * | 1993-08-10 | 1998-01-13 | Dell Usa, L.P. | Multi-purpose usage of transaction backoff and bus architecture supporting same |
DE4332609A1 (de) * | 1993-09-24 | 1995-03-30 | Esselte Meto Int Gmbh | Schaltungsanordnung zur Dateneingabe und Datenausgabe für einen Drucker |
KR0154840B1 (ko) * | 1995-12-05 | 1998-11-16 | 김광호 | 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치 |
US5815675A (en) * | 1996-06-13 | 1998-09-29 | Vlsi Technology, Inc. | Method and apparatus for direct access to main memory by an I/O bus |
US5881248A (en) * | 1997-03-06 | 1999-03-09 | Advanced Micro Devices, Inc. | System and method for optimizing system bus bandwidth in an embedded communication system |
US5974497A (en) * | 1997-05-22 | 1999-10-26 | Dell Computer Corporation | Computer with cache-line buffers for storing prefetched data for a misaligned memory access |
JP2000010910A (ja) * | 1998-06-22 | 2000-01-14 | Nec Corp | データ転送制御装置およびデータ転送制御方法ならびに記録媒体 |
US6530000B1 (en) | 1999-03-24 | 2003-03-04 | Qlogic Corporation | Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units |
CA2299550A1 (en) * | 1999-03-31 | 2000-09-30 | International Business Machines Corporation | Dynamic i/o allocation in a partitioned computer system |
US7546305B2 (en) * | 2001-04-13 | 2009-06-09 | Oracle International Corporation | File archival |
US7111228B1 (en) | 2002-05-07 | 2006-09-19 | Marvell International Ltd. | System and method for performing parity checks in disk storage system |
US7007114B1 (en) | 2003-01-31 | 2006-02-28 | Qlogic Corporation | System and method for padding data blocks and/or removing padding from data blocks in storage controllers |
US7287102B1 (en) | 2003-01-31 | 2007-10-23 | Marvell International Ltd. | System and method for concatenating data |
US7870346B2 (en) | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
US7457903B2 (en) | 2003-03-10 | 2008-11-25 | Marvell International Ltd. | Interrupt controller for processing fast and regular interrupts |
US7039771B1 (en) | 2003-03-10 | 2006-05-02 | Marvell International Ltd. | Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers |
US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
US7064915B1 (en) | 2003-03-10 | 2006-06-20 | Marvell International Ltd. | Method and system for collecting servo field data from programmable devices in embedded disk controllers |
US7444668B2 (en) * | 2003-05-29 | 2008-10-28 | Freescale Semiconductor, Inc. | Method and apparatus for determining access permission |
DE60307798T2 (de) * | 2003-05-30 | 2006-12-14 | Agilent Technologies, Inc., Palo Alto | Arbitrierung von gemeinsamen Speicher |
US7526691B1 (en) | 2003-10-15 | 2009-04-28 | Marvell International Ltd. | System and method for using TAP controllers |
US7139150B2 (en) | 2004-02-10 | 2006-11-21 | Marvell International Ltd. | Method and system for head position control in embedded disk drive controllers |
US7120084B2 (en) | 2004-06-14 | 2006-10-10 | Marvell International Ltd. | Integrated memory controller |
US8166217B2 (en) | 2004-06-28 | 2012-04-24 | Marvell International Ltd. | System and method for reading and writing data using storage controllers |
US9201599B2 (en) | 2004-07-19 | 2015-12-01 | Marvell International Ltd. | System and method for transmitting data in storage controllers |
US7757009B2 (en) | 2004-07-19 | 2010-07-13 | Marvell International Ltd. | Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device |
US8032674B2 (en) | 2004-07-19 | 2011-10-04 | Marvell International Ltd. | System and method for controlling buffer memory overflow and underflow conditions in storage controllers |
US7386661B2 (en) | 2004-10-13 | 2008-06-10 | Marvell International Ltd. | Power save module for storage controllers |
US7240267B2 (en) | 2004-11-08 | 2007-07-03 | Marvell International Ltd. | System and method for conducting BIST operations |
US7802026B2 (en) | 2004-11-15 | 2010-09-21 | Marvell International Ltd. | Method and system for processing frames in storage controllers |
US7609468B2 (en) | 2005-04-06 | 2009-10-27 | Marvell International Ltd. | Method and system for read gate timing control for storage controllers |
US9838784B2 (en) | 2009-12-02 | 2017-12-05 | Knowles Electronics, Llc | Directional audio capture |
US8798290B1 (en) | 2010-04-21 | 2014-08-05 | Audience, Inc. | Systems and methods for adaptive signal equalization |
US20140082307A1 (en) * | 2012-09-17 | 2014-03-20 | Mobileye Technologies Limited | System and method to arbitrate access to memory |
US9536540B2 (en) | 2013-07-19 | 2017-01-03 | Knowles Electronics, Llc | Speech signal separation and synthesis based on auditory scene analysis and speech modeling |
US9170942B1 (en) * | 2013-12-31 | 2015-10-27 | Emc Corporation | System, apparatus, and method of automatic data padding |
DE112015004185T5 (de) | 2014-09-12 | 2017-06-01 | Knowles Electronics, Llc | Systeme und Verfahren zur Wiederherstellung von Sprachkomponenten |
WO2016049566A1 (en) * | 2014-09-25 | 2016-03-31 | Audience, Inc. | Latency reduction |
WO2016123560A1 (en) | 2015-01-30 | 2016-08-04 | Knowles Electronics, Llc | Contextual switching of microphones |
US9820042B1 (en) | 2016-05-02 | 2017-11-14 | Knowles Electronics, Llc | Stereo separation and directional suppression with omni-directional microphones |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442502A (en) * | 1981-03-30 | 1984-04-10 | Datapoint Corporation | Digital information switching system |
IT1206331B (it) * | 1983-10-25 | 1989-04-14 | Honeywell Inf Systems | Architettura di sistema di elaborazione dati. |
US4967344A (en) * | 1985-03-26 | 1990-10-30 | Codex Corporation | Interconnection network for multiple processors |
US4788640A (en) * | 1986-01-17 | 1988-11-29 | Intel Corporation | Priority logic system |
US4821177A (en) * | 1986-09-02 | 1989-04-11 | Honeywell Bull Inc. | Apparatus for controlling system accesses having multiple command level conditional rotational multiple port servicing priority hierarchy |
US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
DE3782335T2 (de) * | 1987-04-22 | 1993-05-06 | Ibm | Speichersteuersystem. |
US4980854A (en) * | 1987-05-01 | 1990-12-25 | Digital Equipment Corporation | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers |
US4947368A (en) * | 1987-05-01 | 1990-08-07 | Digital Equipment Corporation | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers |
US4982321A (en) * | 1987-10-23 | 1991-01-01 | Honeywell Inc. | Dual bus system |
US5003463A (en) * | 1988-06-30 | 1991-03-26 | Wang Laboratories, Inc. | Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus |
JP2545936B2 (ja) * | 1988-07-18 | 1996-10-23 | 日本電気株式会社 | バスインターフェースユニット |
US5239631A (en) * | 1991-10-15 | 1993-08-24 | International Business Machines Corporation | Cpu bus allocation control |
-
1992
- 1992-10-15 CA CA002080608A patent/CA2080608A1/en not_active Abandoned
- 1992-11-05 TW TW081108847A patent/TW318224B/zh active
- 1992-11-26 JP JP4317364A patent/JPH05242014A/ja active Pending
- 1992-12-02 NZ NZ245344A patent/NZ245344A/en unknown
- 1992-12-02 AU AU29792/92A patent/AU663536B2/en not_active Ceased
- 1992-12-17 CN CN92114472A patent/CN1029168C/zh not_active Expired - Fee Related
- 1992-12-17 KR KR1019920024698A patent/KR950014183B1/ko not_active IP Right Cessation
- 1992-12-18 SG SG1996000358A patent/SG44430A1/en unknown
- 1992-12-18 EP EP92311600A patent/EP0550224A1/en not_active Withdrawn
-
1994
- 1994-12-09 US US08/353,165 patent/US5544346A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780806A (zh) * | 2018-07-30 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 促进元数据和数据捆绑存储的原子性保证的方法和系统 |
CN110780806B (zh) * | 2018-07-30 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 促进元数据和数据捆绑存储的原子性保证的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
KR930016873A (ko) | 1993-08-30 |
AU663536B2 (en) | 1995-10-12 |
SG44430A1 (en) | 1997-12-19 |
TW318224B (zh) | 1997-10-21 |
CN1029168C (zh) | 1995-06-28 |
KR950014183B1 (ko) | 1995-11-22 |
EP0550224A1 (en) | 1993-07-07 |
JPH05242014A (ja) | 1993-09-21 |
US5544346A (en) | 1996-08-06 |
NZ245344A (en) | 1995-09-26 |
AU2979292A (en) | 1993-07-08 |
CA2080608A1 (en) | 1993-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1029168C (zh) | 具有双总线体系结构的计算机的总线控制逻辑 | |
CN1048102C (zh) | 用于总线接口单元的双向数据存储装置 | |
CN1029169C (zh) | 用于具有双总线结构计算机系统的总线接口逻辑 | |
EP0432978B1 (en) | Apparatus for conditioning priority arbitration in buffered direct memory addressing | |
JP2944055B2 (ja) | インテリジェント通信網インタフェース回路 | |
US4949301A (en) | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs | |
US4363094A (en) | Communications processor | |
EP0617368B1 (en) | Arbitration process for controlling data flow through an I/O controller | |
EP0391583B1 (en) | Dual-path computer interconnect system with four-ported packet memory control | |
US4868742A (en) | Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed | |
EP0432076B1 (en) | High performance shared main storage interface | |
US6094532A (en) | Multiprocessor distributed memory system and board and methods therefor | |
EP0165600A2 (en) | Input/output bus for computer | |
CN102291423B (zh) | 控制物理层芯片的方法及控制电路 | |
JPH02103649A (ja) | 制御装置および情報処理システム | |
CN1118029C (zh) | 用于高速总线的流控制的系统和方法 | |
JPS6142049A (ja) | デ−タ処理システム | |
US5463752A (en) | Method and system for enhancing the efficiency of communication between multiple direct access storage devices and a storage system controller | |
CN116566761B (zh) | Spi双主机共享仲裁系统及方法 | |
KR100340815B1 (ko) | 버스시스템의작동방법및이작동방법을수행하기위한장치 | |
JP3379377B2 (ja) | データ処理システム | |
JP3639582B2 (ja) | 通信命令制御システム | |
JP3639321B2 (ja) | 記憶制御装置 | |
JPH09261226A (ja) | プログラマブル・コントローラ | |
JPH07245620A (ja) | パケット管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C15 | Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993) | ||
OR01 | Other related matters | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |