把处理器数据突发传送到i/o装置或反向传送的方法

文档序号:6414026阅读:268来源:国知局
专利名称:把处理器数据突发传送到i/o装置或反向传送的方法
技术领域
本发明涉及通过I/O总线把处理器数据突发传送到I/O装置或反向传送的方法。
计算机系统,诸如计算机工作站由于在至少一个微处理器和各种子系统之间信息传递而能工作。微处理器和子系统之间的通信是通过被称为总线的通信路径进行的。在现代系统中,往往需要输入/输出(I/O)子系统,诸如监视器、图形接口和交互式数据录入(IDE)型装置来通过总线接收来自微处理器的信息或发送信息到微处理器。
今天的计算机系统用速度越来越快的微处理器设计;但是,I/O子系统跟不上步伐。就必须穿过的芯片和总线以及向这些装置编程操作的更大的延迟时间而言,I/O装置离开处理器更远了。当处理器用于发送数据到I/O装置或接收来自I/O装置的数据的应用时,这导致潜在的性能损失。这些应用可以包括利用处理器来控制图形适配器和IDE型装置。
一般说来,这些I/O装置都”映射入”处理器的存储器空间。不是象普通较老式的处理器那样发出输入/输出指令,而是今天的处理器发出存储器型指令(例如,Load(取数)或Store(存数))来发送/接收信息到I/O装置,就象I/O装置是存储器的一部分。但是,这些装置不在存储器内,它们实际上附在I/O总线,诸如接口转换装置(ISA)或包电路接口(PCI)上。这些装置必须映射到处理器存储器的非超高速缓存空间,因为这些装置并不遵循可超高速缓存协议的规则,诸如完全相干性、突发排序(burst ordering)、死锁防止等。因为这些装置处在非超高速缓存的空间中,每一次处理器访问都必须发出到外部总线,而且只能完成很小的数据传输,每一个Load或Store一般只传输1-8字节的数据。因为这些总线运行速度比今天的处理器慢几倍,通过总线结构多次传输(仲裁、穿过异步边界等)产生严重的性能损失。
相反,通过总线一次”突发传输”大量的数据,使处理器发送数据到可超高速缓存或从可高速缓存接收数据的能力更有效得多。可超高速缓存系统,不是每条指令传输1-8字节,而是一条指令突发传输整个超高速缓存行的数据(一般32,64或128字节)。
在当前先有技术用来完成非超高速缓存取数的模式中,处理器必须等待接收每一个它所请求的来自I/O装置的数据包。通过使处理器能够借助访问超高速缓存(1-2处理器周期)、而不是完成从映射到要求的I/O装置的非超高速缓存的额外的取数(几百处理器周期)、来访问额外的数据,本发明模拟来自I/O装置的超高速缓存行读,有助于克服先有技术系统的这些限制。
本发明这一方面的第二个好处是,它允许处理器利用其超高速缓存,进行传输前或传输后的数据处理,而同时传输额外的数据到I/O装置或传输来自I/O装置的额外数据。这样一种”流水线”特点用当前的编程I/O传输方法是不可能的。
本发明涉及一种在计算机系统内突发传输处理器数据到I/O装置或把来自I/O装置的数据突发传输到处理器的方法。当处理器写到或从非超高速缓存的I/O装置读时,本发明方法用来模拟可超高速缓存系统的突发传输能力。这样,本发明方法是针对先有技术系统中发现的许多缺点的,即处理器必须利用直接存储器存取(DMA)模式向非超高速缓存的I/O装置发送数据或从其接收数据。
本发明是在允许信息通过至少一条总线在至少一个微处理器和至少一个I/O装置之间进行传输的计算机工作站系统的环境内实现的。最佳实施例包括模拟超高速缓存行的三种数据传输方式从处理器向I/O装置WRITE(写);把数据从I/O装置传输到处理器的READ(读);以及把数据从一个I/O装置传输到处理器以外的另一个I/O装置的MOVE(移动)。这些功能是通过在收到从处理器到系统存储器/I/O控制器的”Write Trigger(写触发)”或”Read Trigger(读触发)”命令而起动的。在最佳实施例中,本发明方法的功能是在I/O桥单元内完成的,该单元是存储器/I/O控制器的一部分。收到触发命令时,I/O桥单元引发在I/O装置和内部超高速缓存模拟缓冲区之间传输数据的中间处理过程。本发明方法还把I/O桥单元设置得能够截获对被指定为准备参与本发明体现的模拟超高速缓存行传输方式的页的存储器页进行的处理器可超高速缓存-读和-写命令。这是通过利用存储器/I/O控制器中的寄存器实现的,后者装入准备映射到主存储器空间以外并用作超高速缓存模拟缓冲区的指定存储器页的地址。然后,I/O桥单元可以使处理器可超高速缓存-读和写指令与I/O空间或存储器映射空间中对应的I/O适配器地址相联系。这是通过使用存储器/I/O控制器中的装入了I/O适配器地址的寄存器完成的。
下面的书面描述将结合附图解释本发明的前景方面和其他特点。附图中

图1是可以利用本发明的计算机系统;图2是描述用于实现本发明方法的各种存储器分配和寄存器的内部存储器映射的示意图;图3是举例说明本发明方法中微处理器超高速缓存、I/O桥单元和I/O总线之间数据流的方框图;图4举例说明”触发”命令的格式;图5是涉及本发明方法WRITE(写)部分的处理器功能的流程图;图6是涉及本发明方法READ(读)部分的处理器功能的流程图;图7是在本发明方法中I/O桥单元(“控制器”)操作的流程图;图8是图7所示流程图的继续,是本发明方法的控制器读触发部分的流程图;及图9是举例说明涉及本发明方法MOVE(移动)部分的处理器功能的流程图,它允许信息从一个I/O装置到另一个I/O装置的模拟超高速缓存行的突发传输。
本发明的方法是在带有至少一个微处理器和至少一个I/O装置的能够利用至少一条总线来彼此传输信息的计算机工作站系统的环境下实现的。计算机系统一般都与软件操作系统一起使用,后者控制微处理器和I/O装置之间的通信,这样的计算机系统举例说明于图1。计算机工作站系统是互联组件的结合。例如,微处理器10通过数据链路14连接到数据总线20,并通过数据链路16连接到地址总线22。外加的微处理器10b,10c用类似的方法连接到处理器数据总线20和处理器地址总线22。仲裁器12一般处理处理器要求分配对数据总线20和地址总线22的访问权的请求。尽管最佳实施例包括多个处理器10a,10b,10c,但是作为另一方案的实施例可以只包括一个处理器。单处理器系统不需要仲裁器12。
计算机工作站系统另外还包括至少一个系统存储插件46或存储模块。一旦仲裁器12应处理器10的请求分配对数据总线20和地址总线22的访问权,这样的请求通常是由存储器控制器逻辑通过数据芯片32和地址芯片34来处理的。存储器控制器可以选择性地与I/O总线控制器功能结合成一个称为存储器/I/O总线控制器30的组件。存储器/I/O总线控制器30控制处理器对存储插件46和对I/O中间总线36的访问。I/O中间总线36通过数据链路38连接到一个或多个I/O桥40,后者的功能也可以包括在存储器/I/O总线控制器30内。在最佳实施例中,本发明的方法是在I/O桥40中完成的。应该指出,尽管在最佳实施例中,模拟逻辑是由处在存储器/I/O总线控制器30中的I/O桥完成的,但是某些支持功能必须由处理器10完成。这些处理器功能将在下面讨论图5,6,7时详细描述。
正如后面将要解释的,I/O桥截获触发命令和处理器10与输入/输出装置60通信的请求。然后,I/O桥40处理这些请求,以便允许数据通过I/O总线50到或自I/O装置60的模拟超高速缓存行的突发传输。下面还将在讨论图7时解释这种功能。
图2是描述实现本发明用的各种寄存器和存储器空间分配的内部存储器映射的示意图。超高速缓存行缓冲区地址寄存器(“CLBAR”)100一般含有页地址112用来”映射出”存储器46,并用来把数据传输到I/O装置。CLBAR 100中的地址112对应于映射页108的初始存储器地址。I/O目标地址寄存器(“IOTAR”)102一般含有非超高速缓存的存储器中的I/O适配器地址114。IOTAR中的地址114对应于I/O装置60的存储器映射I/O空间内的初始地址。
与图2相联系,应该指出,最佳实施例含有多个CLBAR寄存器100和多个IOTAR寄存器102。索引X 308用作访问要求的特定CLBAR 100/IPTAR 102寄存器对的偏移量。
最后,触发地址空间104是由存储器/I/O总线控制器30用来对触发命令进行译码的地址范围,下面将联系图4解释。
图3是微处理器10、微处理器超高速缓存200、I/O桥40和I/O总线50之间数据流的示意图。若处理器10请求发送或接收来自与指出指定”映射页”108的CLBAR 100的内容112相匹配的地址的数据,则I/O桥控制器40将截获该指令,并进行下面将描述的I/O突发传输模拟逻辑,最后在超高速缓存模拟缓冲区120和I/O装置之间通过I/O总线50传输适当数量的数据。否则,系统将用众所周知的方法进行到存储器46的超高速缓存线操作。
图4是”触发”命令300数据格式的示意图。触发命令300是由处理器10向存储器/I/O控制器30发出的。触发命令300最左段各位302含有落在控制器30用来对触发命令进行译码的触发地址空间104范围内的地址。中段各位304含有数字索引308,它指出哪一对地址CLBAR100/IOTAR 102对用于要求的操作。最右段各位306含有代表在要求的操作中要传输的数据字节数的数值310。
处理器写操作图5是举例说明起动本发明方法WRITE(写)操作时处理器10执行的步骤400的流程图。首先,处理器试图用存储器页108的实地址112来初始化(402)存储器/I/O控制器30内的索引CLBAR寄存器100。类似地,处理器10还试图用PCI空间106中映射I/O适配器的实地址114来初始化(404)存储器/I/O控制器30中的IOTAR寄存器102。索引X 308用来确定哪一对CLBAR 100/IOTAR 102寄存器对将用于该操作。应该指出,这些初始化请求(402),(404)将由存储器/I/O控制器30接收(见图7的602)。若读或写未决(见图7的604),则初始化请求(402),(404)被控制器30拒绝(见图7的606),而且必须由处理器10重试。一旦适当的CLBAR 100/IOTAR 102对初始化成功,接着处理器便在处理器超高速缓存200中分配(406)一行202准备用于写操作。所分配的超高速缓存行是与页108相联系的,该页的地址112编程在索引CLBAR寄存器100上。处理器10将指向超高速缓存行202开始地址的指针(未示出)初始化(408)。内部超高速缓存行的字节计数(未示出)也复位到0。接着,处理器10利用处理器对其地址112已装入当前正在使用的索引CLBAR 100中的存储器页108的Store(存数)指令把目的地是I/O装置60的数据输入超高速缓存行202(410)。内部超高速缓存行指针(未示出)随着每一条处理器Store指令而更新。内部超高速缓存行字节计数寄存器(未示出)也进行更新(412),以反映存入超高速缓存行202的字节数。
当处理器10为当前写操作完成了向超高速缓存行202的数据输入(414)时,它使出自超高速缓存200的数据以满的超高速缓存行202的突发交易方式送给存储器/I/O控制器30(416)。这一动作产生处理器写命令,后者被控制器30截获并处理(见图7的680)。为了起动超高速缓存模拟缓冲区120的中间处理,处理器以图4所示的格式发出写触发命令300(418)。写触发命令300在最右段各位含有内部超高速缓存行字节计数(未示出)的当前值308,还在中段各位304含有索引X308。可以重复步骤(408)至(418),以完成额外的I/O写,直至处理器再没有数据要送(420)为止。
处理器读操作图6是举例说明起动本发明方法的READ(读)操作时处理器10执行的步骤500的流程图。首先,用存储器页108的实地址112来初始化(502)存储器/I/O控制器30内的CLBAR寄存器100。类似地,还用PCI空间106中映射I/O适配器的实地址114来初始化(504)存储器/I/O控制器30中的IOTAR寄存器102。索引X 308用来确定哪一对CLBAR100/IOTAR 102寄存器对将用于该操作。若读或写未决(见图7的604,606),则初始化步骤(502),(504)将不由存储器/I/O控制器30处理,而必须由处理器10重试。一旦初始化成功,处理器将以图4所示格式发出(506)读触发命令300。触发命令300最右段各位306中的数值310代表准备从I/O装置60传输到处理器超高速缓存200的数据字节数。应该注意,若超高速缓存模拟缓冲区108已经满,则由处理器10发出(506)的读触发命令存储器/I/O控制器30将不予处理。(见图7的616)在这样一种情况下,处理器10必须重试读触发命令。
为了避免读”陈旧”数据,处理器首先使处理器超高速缓存行202非法化(508)。处理器10通过向处于索引CLBAR寄存器100内的地址112发出一个”数据超高速缓存非法化”指令来完成这个非法化功能。存储器/I/O控制器30处理由处理器10发出(506)的读触发命令,并利用突发传输(见图8的704,706)从I/O填充超高速缓存行缓冲区120之后,超高速缓存行缓冲区120将准备好读入处理器超高速缓存行202。于是,处理器向已经装入索引CLBAR寄存器100的实地址120发出(510)READ(读)指令。这个操作的功能是超高速缓存行数据块从与索引CLBAR寄存器100中的实地址112相联系的超高速缓存行缓冲区120转储到处理器超高速缓存行202。然后处理器10便可以进一步处理(512)超高速缓存行202中的数据。处理器可以重复步骤(506)-(512)来请求下一个I/O读,直至处理器不再请求它们为止(514)。
处理器MOVE(移动)操作对于某些应用,处理器10可以命令控制器30从I/O装置60把一串数据读入超高速缓存模拟缓冲区120,再对IOTAR 102编程并触发写到另一个I/O装置60,而不再命令把数据传输到处理器超高速缓存120。对于压缩或解压数据、编码数据等,这是一种非常有用的功能。这种功能是本发明的MOVE(移动)部分。与此功能相联系的步骤800示于图9的流程图中。为了起动该操作,处理器10请求(802)用准备用于MOVE操作的存储器页108的实地址来将索引CLBAR寄存器100初始化。处理器10还请求用PCI空间106中的I/O装置的实地址114来将索引IOTAR寄存器102初始化。该地址114对应于源I/O装置60。就象处理器READ(读)和WRITE(写)功能一样,若读或写未决(见图7的604,505),对初始化步骤(802)和(804)存储器/I/O控制器30将不予处理。一旦初始化成功,处理器10便以图4所示的格式发出(806)读触发命令300。(这将使存储器/I/O控制器30发出(704)一个读脉冲串到在索引IOTAR 102中发现的I/O地址114,并把读数据放入与CLBAR 100中存储器页地址112相联系的超高速缓存模拟缓冲区120中(706),见图8)。然后处理器请求用目标I/O装置60的实地址来初始化索引IOTAR寄存器102(808)。接着,处理器控制器30发出写触发(810)(这将使存储器/I/O控制器30把超高速缓存模拟缓冲区120中的数据送到目标I/O装置60。见图7)。步骤(804)-(810)可以一直重复到处理器不再请求MOVE操作为止(812)。
存储器控制器的操作图7是在本发明方法中存储器/I/O控制器(“控制器”)30(具体地说,I/O桥单元40)所完成的功能流程图。控制器30完成4基本类功能1)分别初始化CLBAR 100和IOTAR 102寄存器的内容112,114;2)处理触发命令300;3)处理来自处理器10的超高速缓存行”读”命令;及4)处理来自处理器10的超高速缓存行”写”命令。图7中用的步骤(602)-(608)表示的初始化是比较小的功能;本发明方法控制器30的大部分工作涉及触发命令300、”读”命令和”写”命令的处理;初始化当处理器10试图从对应于给CLBAR 100或IOTAR 102分配的地址范围的地址读或写时,这样的试图被控制器30截获。控制器30检查(602)来确定处理器10试图做的读或写的目的地是否就是这些寄存器100,102中的一个。若是,则控制器30确定(604)读或写超高速缓存行突发模拟是否正在进行中。(当处理触发命令时,控制器设置这些”未决”指示器,以锁住到/自寄存器100,102的读或写。见图7的(614)和图8的(702))。若是,则控制器30拒绝读或写,使处理器10重试此操作。若无读或写是未决的,则控制器30将正如处理器10所请求的,更新CLBAR 100或IOTAR 102寄存器的内容112,114。
触发命令模拟的突发超高速缓存行与I/O装置60通信是一个两步过程。为了使最后的步骤(把数据传输到处理器超高速缓存200或传输来自超高速缓存200的数据)能够发生,必须完成中间步骤。对”触发”命令300的处理代表这个中间步骤。这个中间步骤涉及用写操作把数据从内部超高速缓存模拟缓冲区120转储到I/O装置60。对于读操作,这个中间步骤涉及把数据从I/O装置60取入内部超高速缓存模拟缓冲区120。触发命令300向处理器10指出,有多少字节数据310要从或到I/O装置60传输到或从内部超高速缓存模拟缓冲区120,及使用哪一对CLBAR 100/IOTAR 102寄存器。索引IOTAR 102寄存器中的这些地址114向控制器30指出哪一个I/O装置涉及此操作。索引CLBAR100寄存器中的地址112向控制器30指出哪一个映射页涉及此操作。从处理器10接收到触发命令时,控制器30通过确定最左段各位302含有落在作为触发命令空间104的地址范围内的地址而把它识别为触发命令(610)。这个地址104由控制器30使用来对触发命令300进行解码。若控制器30接收到读触发(命令),则控制器正如下面将联系图8说明的那样完成读触发操作。若控制器30接收到写触发(命令),则控制器完成中间I/O缓冲区转储步骤如下。
首先,控制器30设置写未决锁存器(未示出)(614),以便锁住处理器10读至或写自CLBAR 100或IOTAR 102寄存器的试图。所述写未决锁存器对于控制器30写命令的处理也是关键(见图7的688)。若与索引CLBAR寄存器100中地址112对应的超高速缓存模拟缓冲区120满时(616),则该缓冲区已经准备好向I/O装置60的传输。于是,控制器30将通过完成向索引IOTAR 102中的地址突发移动(数据),从这样的超高速缓存模拟缓冲区120向I/O装置60送数据(618)。于是,控制器把写触发命令300中指出的数据的字节数310的通过I/O总线50传输到PCI空间160中的适配器。这样的数据传输之后,控制器30将”缓冲区满”指示器(未示出)和写未决锁存器(未示出)复位。用本发明方法的这一部分,控制器30截获超高速缓存行写,并完成向I/O装置60的适当字节长度的突发传输的中间步骤。
应该指出,处理器10可以以任何顺序发出(418)写触发命令和写(416)超高速缓存行。但是,这两个都必须在超高速缓存模拟缓冲区120中的数据能够送(618)到I/O装置之前发生。这就是为什么要进行检查(616)以核查收到(610)写触发命令时缓冲器120已经填满和进行检查(688)以核查收到(680)写命令时写触发命令已经收到。
若读触发已经收到(612),则控制器30将完成图8所示的步骤(700)-(710)。控制器30将确定(700)中间模拟超高速缓存行突发读操作已经未决。若是这样,控制器30拒绝(710)从控制器30发出的读触发传输,使处理器10重试传输。若以前没有中间超高速缓存行突发模拟读正在进行,则控制器30将接受该传输,并通过设置(702)”读未决”锁存器(未示出)来启动读模拟。然后,控制器30通过发出(704)读突发到其地址在索引IOTAR 102中的I/O装置60而进行中间读。这一传输过程接收以前由控制器30译码(610),(612)的读触发命令最右字节305中指出的字节数310的数据。在中间I/O读操作(704)过程中接收的数据是储存在与索引CLBAR寄存器100中的地址相联系的超高速缓存模拟缓冲区120中的。然后,控制器30设置(706)”缓冲区满”锁存器(未示出)以便指出中间读步骤已完成,所以,数据已经准备好向处理器超高速缓存200传输。因为中间读步骤已经完成,所以控制器30便将”读未决”锁存器(未示出)复位。
读命令正如前面联系图6所描述的,在本发明方法READ(读)部分的过程中,处理器10发出(506)”读触发”命令来启动中间缓冲区的处理(508),然后再向装在索引CLBAR寄存器100中的实地址112发出(510)读指令(“读命令”)。与控制器30处理这个读命令相关的步骤(650)-(660)示于图7。
若控制器30确定,读命令是由处理器10发向控制器30的(510),则控制器30检查(652)以确定处理器10是否已试图从落在CLBAT寄存器100所分配的地址范围内的地址读。若不是,则该读以众所周知的方法作为正常超高速缓存行读操作处理(670)。若该读命令已经对CLBAR 100地址作了尝试,则控制器截获它,并完成下述的步骤(654)-(660)。
首先,控制器30确定(654)与索引CLBAR 100相关的超高速缓存模拟缓冲区120是否满了,因而向处理器10传输就绪。若是,则超高速缓存模拟缓冲区120中的数据用突发方式送到处理器10(656),这样便完成模拟方法的第二步骤。若超高速缓存模拟缓冲区120不满,则控制器30不断查询(654)缓冲区120的状态来等待从I/O装置60填满它(亦即,中间缓冲区填充步骤尚未完成)。若超高速缓存模拟缓冲器120是空的,但是没有中间处理发生,本发明方法的差错检查特征将使控制器30拒绝读命令。在这样的情况下,若控制器30检测到(658)”读未决”锁存器(未示出)已复位(见图8的708),则处理器被强制重试该操作。成功地完成读之后,而且若要从I/O装置60读更多的数据,则本发明方法允许处理器10发出(506)另一个读触发命令300,而同时处理以前读传输(656)接收的超高速缓存202数据。这种重叠使先有技术I/O通信方式所不可能的有效的”流水线”成为可能。
写命令正如前面联系图5所描述的,在本发明方法WRITE(写)部分的过程中,在超高速缓存行202填满准备用写操作来传输时,处理器10将试图强制数据送出超高速缓存200(见图5的416)。这个动作(416)产生由存储器/I/O控制器30接收的写命令。控制器30对这样的写命令的处理举例说明于图7中的步骤(670)-(688)。
接收写命令时,控制器30确定(628)试图写的存储器地址是不是在索引CLBAR寄存器100中编程的地址112。若这样,控制器30截获数据,并将其存入(684)与索引CLBAR寄存器100相关的缓冲器120。然后,控制器30通过设置(686)”缓冲区满”锁存器(未示出)来把与索引CLBAR寄存器100相关的缓冲区120标为已满。
应该指出,处理器10可以以任何顺序发出(418)写触发命令和写(416)超高速缓存行。结果,在处理来自处理器10的写命令时(680)-(688),控制器30必须保证,写触发命令已经收到。为了这样做,在填满(684),(685)超高速缓存模拟缓冲器之后,处理器10检查688来确定写是否未决(亦即,以前收到了写触发)。请注意,在收到写触发命令时(610),控制器30设置写未决锁存器(614)。这样,若1)处理器已经把超高速缓存行202数据写入超高速缓存模拟缓冲区120,而且2)已经收到写触发,则控制器30将把来自超高速缓存模拟缓冲区120的数据送到I/O装置(618),并将使”缓冲区满”锁存器(未示出)和”写未决”锁存器(未示出)复位。当然,若被控制器30截获(680)的写命令不试图写到索引CLBAR寄存器100中的地址,则以众所周知的方法完成正常的超高速缓存行写操作。
从以上的描述和解释可以看到,本发明试图提供一种具有至少一个处理器和至少一个I/O装置的计算机系统。因此,应当指出,所述详细的公开只是作为例子提出的,而不是限制性的。对于本专业的技术人员来说,各种各样的改变、修改和改进是很容易看出的,并且可以在不离开本发明的精神和范围的情况下加以实践。正如所要求的本发明只由下面权利要求书及其同等物限制。
权利要求
1.一种在输入/输出装置和处理器之间突发传输数据的方法,其特征在于包括下列步骤(a)截获处理器的请求与I/O装置通信的可超高速缓存命令;以及(b)完成中间超高速缓存模拟逻辑,以处理所述处理器命令。
2.权利要求1的方法,其特征在于还包括(c)在超高速缓存模拟缓冲区和I/O装置之间传送数据字符串。
3.权利要求2的方法,其特征在于还包括(d)在所述超高速缓存模拟缓冲区和所述处理器之间完成数据传送。
4.权利要求1的方法,其特征在于步骤(a)还包括截获来自处理器写触发命令。
5.权利要求1的方法,其特征在于步骤(a)还包括截获来自处理器读触发命令。
6.权利要求1的方法,其特征在于步骤(b)还包括在存储器/I/O控制器中的I/O桥单元内完成模拟逻辑。
7.权利要求6的方法,其特征在于所述I/O桥单元截获处理器向至少一个存储器页发送的可超高速缓存命令。
8.权利要求7的方法,其特征在于它还包括把准备”映射出”主存储器空间的并用作超高速缓存模拟缓冲区的所述存储器页的地址装入存储器/I/O控制器的至少一个寄存器。
9.权利要求8的方法,其特征在于它还包括把处理器可超高速缓存命令与I/O空间或存储器映射I/O空间中相应I/O适配器的地址相联系。
10.权利要求9的方法,其特征在于它还包括把I/O适配器地址装入存储器/I/O控制器的寄存器。
11.权利要求3的方法,其特征在于还包括截获指定数据传送长度的命令。
12.权利要求1的方法,其特征在于步骤(a)包括指定一组待启动的模拟逻辑。
13.一种具有处理器和输入/输出装置的计算机系统,其特征在于包括(a)截获处理器的请求与I/O装置通信的可超高速缓存命令用的装置;及(b)执行中间超高速缓存模拟逻辑、以处理所述处理器命令用的装置。
14.权利要求13的计算机系统,其特征在于还包括(c)在超高速缓存模拟缓冲区和I/O装置之间传送数据字符串的装置。
15.权利要求14的计算机系统,其特征在于还包括(d)在所述超高速缓存模拟缓冲区和所述处理器之间进行数据突发传送的装置。
16.权利要求13的计算机系统,其特征在于还包括在存储器/I/O控制器中的I/O桥单元内执行模拟逻辑的装置。
17.权利要求16的计算机系统,其特征在于所述I/O桥单元截获处理器向至少一个存储器页发送的可超高速缓存命令。
18.权利要求17的计算机系统,其特征在于还包括把准备映射出主存储器空间的并用作超高速缓存模拟缓冲区的所述存储器页的地址装入存储器/I/O控制器的至少一个寄存器的装置。
19.权利要求18的计算机系统,其特征在于还包括把处理器可超高速缓存命令与I/O空间或存储器映射I/O空间中相应的I/O适配器的地址相联系的装置。
20.权利要求19的计算机系统,其特征在于还包括把I/O适配器地址装入存储器/I/O控制器的寄存器的装置。
全文摘要
一种I/O桥单元用来允许利用正常的可超高速缓存指令在处理器和I/O装置之间进行突发传输,而不必改变处理器或其接口。该I/O桥单元截获处理器向指定存储器页发送的可超高速缓存指令并处理“触发”命令,以执行中间超高速缓存模拟逻辑。最后在超高速缓存模拟缓冲区和处理器或I/O装置之间进行适当字节长度的突发通信。
文档编号G06F12/08GK1196525SQ9810584
公开日1998年10月21日 申请日期1998年3月20日 优先权日1997年4月11日
发明者L·B·阿里米利, J·M·凯萨, K·L·基姆, W·E·穆里 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1