CN1060916A - 用以保持高速缓冲存储器完整性的方法与装置 - Google Patents

用以保持高速缓冲存储器完整性的方法与装置 Download PDF

Info

Publication number
CN1060916A
CN1060916A CN91109634A CN91109634A CN1060916A CN 1060916 A CN1060916 A CN 1060916A CN 91109634 A CN91109634 A CN 91109634A CN 91109634 A CN91109634 A CN 91109634A CN 1060916 A CN1060916 A CN 1060916A
Authority
CN
China
Prior art keywords
rom
cpu
ram
memory
local 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.)
Granted
Application number
CN91109634A
Other languages
English (en)
Other versions
CN1024599C (zh
Inventor
宋红兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1060916A publication Critical patent/CN1060916A/zh
Application granted granted Critical
Publication of CN1024599C publication Critical patent/CN1024599C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Abstract

维护计算机系统中高速缓存数据完整性的方法 与装置。该系统包括CPU、RAM、ROM及一个局 部存贮控制器,该控制器控制上述CPU、RAM、 ROM间的协调。该系统支持ROM到RAM的映 射。控制器还有以下功能:①提供探测周期以检查 CPU是否执行对ROM的写操作,如果是,②向 CPU提供一高速缓存无效信号。利用该信号,结合 连接CPU与控制器的局部总线上的无效地址,使对 应于CPU与ROM操作的主存目标地址的高速缓 存入口无效。

Description

本发明一般涉及维护一种计算系统中高速缓冲存贮器数据完整性的方法和装置,这个计算系统包括一个中央处理器(CPU)和与此相关联的高速缓冲存贮器,随机存取存贮器(RAM),只读存贮器(ROM),以及一个控制CPU与上述存储器间协调的局部存贮控制器。更具体地,本发明涉及维护一种计算机系统(如上所述的那种系统)中高速缓冲存贮器完整性的方法和装置,这种系统支持ROM到RAM映射的操作方式,且在允许ROM到RAM方式的映射时,执行一个CPU对ROM的写操作。
众所周知的计算机系统,如IBM  PS/2  Model70个人计算系统,支持从ROM到RAM的映射以改进系统的运行速度。术语IBM和IBM  PS/2是国际商用机器公司的注册商标。
在一个计算机中执行“探测(Snoop)”操作也为众所周知,这种操作(如在这里定义的)由一个系统设备执行以查寻一个或一组预先定义信号的出现(或相反,未出现)。例如,在一个包括高速缓冲存贮器的计算机系统中,由局部存贮控制器启动探测周期以查寻对主存的外部写操作(如,由外部总线控制器执行的写操作),这涉及特定存贮控制器控制下的一个高速缓冲存贮器的数据。如果在一个局部存贮控制器探测周期内发现了这种写操作,此控制器将作出已定的答复向局部CPU发一个无效信号和高速缓冲存贮器地址信号使得相应的高速缓冲存贮器的入口被局部CPU宣布无效。
但是,据我们所知,没有这样的计算机系统:(1)支持ROM到RAM的映射并且(2)如果在启动所述映射期间执行CPU对ROM的写操作时(这个系统)将保护数据不被破坏。虽然一个写ROM操作不能修改ROM内容,但是如果在CPU对ROM的写操作之前把ROM数据映射到RAM上且存在高速缓冲存贮器内等待存取,那么在执行CPU到ROM的写操作时存在非常明显的可能性:建立无效高速缓冲存贮器数据。存在这种可能性是因为每个CPU一般都负责修改任何与此处理器关联的高速缓冲存贮器中的数据,使非现有高速缓冲存贮器数据值无效等。
因此,希望提供方法和装置以确保在ROM映射到RAM期间执行CPU写ROM操作时高速缓冲存贮器中数据的完整性。还需要这种方法和装置只需现有系统部件(存贮控制器,CPU等)就可实施,不需要在计算机系统中另加硬件。
而且,希望所考虑的方法和装置可在执行必要的功能以维护高速缓冲存贮器完整性的同时,并行执行CPU到ROM的写操作。
进一步希望,利用一个与已定CPU相关的存贮控制器执行探测循环操作,使得该CPU(具有映射到RAM的ROM)所执行的ROM写操作被检测出来。
进一步地,希望上述查寻CPU写ROM操作的探测循环能与现有使高速缓冲存贮器入口无效的信号协议一起使用,使得此计算机系统的整体设计和复杂性不会因执行所需使高速缓冲存贮器无效的过程而改变。
本发明的主要目的是提供一种方法与装置以确保在ROM映射到RAM操作方式期间,CPU对ROM执行写操作时,高速缓存的数据完整性。
本发明的另一目的是提供方法与数置以检测当计算机系统支持的并以为是可行的从ROM到RAM态映射时的CPU对ROM的写操作。
本发明的另一目的是提供方法和装置,这种方法和装置在ROM被映射到RAM期间执行CPU写ROM操作时,利用现有使高速缓冲存贮器的入口无效的信号协议来维护高速缓冲存贮器的完整性。
本发明的另一目的是能采用局部存贮控制器来执行本发明所考虑的功能,这是通过在这种存贮器中实施一个探测周期以查寻ROM被映射到RAM时的CPU写ROM操作来实现的。
根据本发明,当CPU执行一个写ROM空间的操作,同时启动ROM到RAM的映射时,通过一条局部总部线与此CPU相连的局部存贮控制器:(1)实施一个探测周期以查寻CPU写ROM操作,且如果查到这种操作,(2)向CPU发一个高速缓冲存贮器的无效信号。CPU用这个无效信号,和已在局部总线上的无效地址(CPU指出的ROM写地址)一起,使得与CPU写ROM操作所定主存地址对应的任何高速缓冲存贮器的数据入口无效。无效发生在写操作进行期间。
本发明具有下面特色,这种方法和装置在ROM映射到RAM期间CPU执行写ROM操作时,在支持ROM到RAM映射操作方式的计算系统中维护高速缓冲存贮器的完整性。
本发明的另外的特征包括实施和应用一个存贮控制器的探测周期来查寻在启动从ROM到RAM映射操作方式的期间的CPU写ROM操作;如果在ROM被映射到RAM期间查到一个CPU写RAM操作,则利用上述存贮控制器发出高速缓冲存贮器入口无效的信号;无论何时局部存贮控制器向CPU发出上述无效信号,CPU可利用在局部总线上的地址信号(CPU执行写ROM操作时存在此的)来确定置无效的与高速缓存相关的任何入口地址。
在阅读下述详细的描述及其附图后,熟悉本领域的人将承认这些和其它目的和特征。
图1是实施本发明的个人计算机的透视图。
图2是图1的个人计算机某些元件的分解图。
图3是图1和图2所示个人计算机系统的框图,它详细描绘了一种可较好应用的本发明的计算机体系结构。
图4是如图3所示的、对解释本发明原理有用的计算机系统特殊部分的简略框图。具体地,图4图示了CPU、与此相联的高速缓冲存贮器以及ROM和RAM之间的互连,其中利用一个局部存贮控制器来管理CPU和上述存贮器间的合作。
图5显示了利用本发明的技术,具有探测循环功能的局部存贮控制器的主要功能的流程图。该存贮控制器如果发现在ROM映射到RAM时,CPU执行对ROM的写操作,即可向CPU发出一个无效信号。
图6是图示先有技术局部存贮控制器实施和应用一个探测周期来维护高速缓冲存贮器数据完整性时所发生的典型事件序列的时序图。
图7是图示根据本发明的一个实施例用一个局部存贮控制器来维护在ROM映射到RAM期间执行CPU写ROM操作时高速缓冲存贮器数据的完整性期间所发生的典型事件序列的时序图。
以下将参考图详细地描述了本发明,并示出示意性实施例,详细描述本发明之前,应当理解同行专家可修改这里所述发明并能取得本发明想取得的良好结果。因此,下面的描述应理解成是广泛的,指导同行专家的教学式公开文件,并非要限制本发明的范围。
现在具体参照附图,一般用10标明实施(和支持)本发明的微机(图1)。计算机系统10可具有相联的监控器11,键盘12和打印机或绘图机14。计算机10具有一个由装饰性外层16和内屏蔽层18组层的外壳15,内屏蔽层18和机架19一起定义了一个封闭的、屏蔽的空间,容纳电动的数据处理和存贮部件以处理和存贮数字化信息。在安装于机架19上的平板20上至少装有一定量的这种部件并为计算机10的部件(包括上述部件和其它有关部件,如软盘驱动器,各种形式的直接存取存贮设备,辅助插件和插板等)间的电子互连提供一种手段。
机架19有一个由22标明的底板,由24标明前板和由25标明的后板(见图2)。前板至少有一个开间格(所示机型中有四个间格)用来接纳数据存贮设备如磁盘或光盘驱动器、后备磁带驱动器等。在所示机型中,有一对高间格26和28,和一对底部格29和30。高间格26用来接纳第一尺寸的外设驱动器(如3.5英寸驱动器)而另一间格28用来接纳两种尺寸驱动器(如3.5英寸和5.25英寸)中所选定的一个,两个低间格只用来接纳一种尺寸(3.5英寸)的设备。
在把上述结构与本发明联系起来之前,先回忆一下个人计算机系统10的功能概要。参见图3,它图示了描绘计算机系统10各种部件的个人计算系统框图。图3所示系统包括装在平板20上的部件和把此平板连到此个人计算机系统的I/O端口和其它硬件的连线。连到此平板的有包含微处理器(如图3所示的80486微处理器)的系统处理机32。此处理机又通过总线控制计时器35与一个高速CPU局部总线相连,而总线控制计时器35连到易失的随机存取存贮器(RAM)38上。
在以下参照图3所示系统框图的一部分(更具体地,这些部分将在图4中用实线示出)详细描述本发明之前,必须理解本发明可应用于其它硬件配置。例如,为便于描述,图3图示的CPU32为80486微处理器。此80486微处理器包括高速缓冲存贮器(在CPU32内由虚线和参考号99示出)。但是在一种不同的硬件配置中,高速缓冲存贮器可放在一个处理器如80386的外面(仍然与它相联),而不违背这里所述发明的精神和范围。
现在回到图3,CPU局部总线34(包括数据,地址和控制部件34D,34A,34C)把微处理器32与一个数学协同处理器39(可选)连接起来。缓冲器51也与此CPU局部总线34相连。缓冲器51自己与Micro  Channel总线52相连。Micro  Channel是国际商用机器公司的注册商标。总线34还与包含中央判优装置49和DMA控制器50的DMA装置48相连。缓冲器51提供一个局部总线34和可选总线(如Micro  Channel总线52)间的接口。许多I/O端口连到总线52上以接纳适配器插件,每块插件又与I/O设备或存贮器相连。
判优控制总线57把DMA控制器50和判优单元49与I/O端口54和软磁盘适配器56连起来。同时包含存贮控制器59,地址转换开关60和数据缓冲器61的存贮控制单元56也连到此局部总线34上。存贮控制单元36又经过总线120-122与一个由RAM模块38表示的随机存取存贮器相连。总线120传输存贮器的数据,总线121传输控制信号,总线122传输地址信号。
存贮控制单元36包括把微处理器32的来去地址映射到RAM38的特定区域的逻辑电路。此逻辑电路可用来,例如,回收由基本输入输出系统(BIOS)先已占用的RAM。BIOS是众所周知的、用于系统10的附加I/O设备和微处理器32操作系统之间交互的系统。BIOS一般存在ROM64中并在计算机系统10启动和支持ROM到RAM的映射时可拷贝到RAM38中以缩短BIOS的执行时间。这种情形(即,ROM被映射到RAM)提供了一个用本发明有利于确保与CPU32相联的高速缓冲存贮器中数据完整性的良好例子。
在图3所示计算机系统中,存贮控制单元36还生成一个ROM选择信号(ROM  SEL),这个信号可用来允许或禁止使用ROM64。如果启动ROM64,则BIOS在ROM外执行。如果禁止使用ROM64,则ROM不响应来自微处理器32的查询地址(即,BIOS在RAM外执行)。
为便于描述起见,参照具有1MB(兆位)RAM模块38的微机系统10来描述本发明。同行专家知道可互连另外的存贮器,如图3所示的可选存贮模块65-67。应该注意RAM38在这里有时被称为“主存”。
图3还图示了另一个缓冲器68,它连于总线52和一个平面I/O总线之间。缓冲器68是总线52和69间的有效接口。平面I/O总线69分别包括地址,数据和控制部件。与此平面总线69相连的有各种I/O适配器和其它部件,如显示适配器70(它被用来驱动监控器11),时钟72,非易失性RAM74(以后称为NVRAM),RS232适配器76,并行适配器78,多个计时器80,前述软盘适配器56,中断控制器84,和前述ROM64。如前所术,ROM64可用来存贮BIOS以及其它重要程序和数据集,如IBM  PS/2Model70系统的初始化程序“POST”。
图3所示时钟72可用来计算时间和日期。NVRAM可用来存贮系统配置数据。例如,在支持本发明的一种计算机体系结构中,MVRAM可用来存贮描述固定磁盘或软盘容量,显示类型,存贮量,时间,日期以及系统10是否支持ROM到RAM操作方式的映射等信息。
例如,存贮控制器59可用NVRAM数据位来确定ROM是否被映射到RAM(经过一个方式启动位);BIOS是否在ROM或RAM外执行;是否打算收回由BIOS  RAM占用的RAM空间等。换句话说,这种信息可局部地存贮于存贮控制器内。
如前所述,本发明可用于与图3所示的不同的计算机体系结构中,例如,存贮控制器经总线接口单元(BIU)与Micro  Channel总线52相连作为存贮控制器与Micro  CHannel总线间的接口;例如,存贮控制器包含前述的状态位等。因此,同行专家参照下面的描述将非常理解,便于应用本发明的特定计算机体系结构不会从本质上限制本发明范围。
在描述了便于应用本发明的一种计算机体系结构之后,请看图4,它以简单形式图示了这种计算机系统的那些对解释本发明原理有用的部份。
更具体地,图4中的简化框图集中突出CPU、与此相联的高速缓冲存贮器、RAM和ROM间的互连上。其中采用一个局部存贮控制器来管理CPU和所述存贮器间的协调。
图3和图4间的设备和总线的对应如下:CPU432(图4的)对应于CPU32(图3的);存贮控制器459对应于存贮控制器59;数据缓冲器461对应于数据缓冲器61;RAM438对应于RAM38;ROM464对应于ROM64;Micro  CHannel总线452对应于Micro  Channel总线52;局部总线434对应于局部总线34;局部总线434的地址,控制和数据部件(434A,434C和434D)分别对应于局部总线34的部件34A,34C和34D;总线420-422分别对应于总线120-122。
图4还图示了存贮控制器459和经过Micro  Channel总线452连到ROM464上的CPU432。这些连接(经总线480,482,483和485),与Micro  Channel总线452、总线接口单元481和缓冲器484一起全用虚线所示,表明(1)本发明可用于一种如图3所示的计算机体系结构(即,具有经一个平面总线,与Micro  Channel总线相连的ROM、锁存器/缓冲器解码器等),不需要BIU;(2)另一方面,本发明可用于另一种计算机体系结构,如采用全部图4所示部件(包括用虚线示出的部件),即,存贮控制器459经BIU481与ROM464相连,数据在Micro  Channel总线452和CPU432间通过缓冲器484被缓冲;(3)本发明可用于没有Micro  Channel总线的计算机体系结构。例如,其ROM经局部总线与存贮控制器相连;以及(4)可用于其它的计算机体系结构,所有这些都不违背本发明的精神或范围。
认识到以下一点是至关重要的,那就是通过在一种特殊存贮控制器中加入探测循环功能(将在图5,7中描述),便可使本发明用于各种支持从ROM映射到RAM计算机系统中。如前所述,图3所示NVRAM(RAM74)仅是一种用来存贮前述状态位的工具,此位被存贮控制器用来确定ROM是是否被映射到RAM上。另一方面,如前面所指出的,存贮控制器自己可被用来存贮方式信息等。
根据本发明的一个实施例,本发明所考虑的特殊目的探测周期以图5的流程图所示方式工作。现在参照图4和图5叙述此周期。
更具体地,存贮控制器459首先确定存贮器的写周期是否启动(图5的框501)。如果是,确定ROM地址是否在局部总线434上(图5的框502)。这是一种为实现本发明由存贮控制器459实施的探测形式。可基于由存贮控制器459在局部总线434上(经过局部总线部件434A和434C)提供的控制和地址信号来作出图5的框501和502处的判定(判定顺序不重要)
如果在图5的框501,502或503处的判定是“否”,那么显然不需控制器459作任何进一步的判定以维护高速缓冲存贮器的完整性,支持本发明的前述目的。例如,如果正在执行一个ROM的读操作,如果ROM被映射到RAM且占用了RAM的128K空间(例如在RAM中的地址为896K到1024K);那么在CPU  ROM读期间,任何到地址空间896K-1024K的取操作一般可高速缓存。即,在CPU  ROM读期间,如果目标数据不在高速缓存器中,则可直接从地址空间896K-1024K取数据;在其它情况下,CPU将从高速缓存器中取数据。
熟悉本领域的专家会欣然同意,尽管ROM读操作不可能有害地影响高速缓存器的完整性,但是在CPU写ROM操作期间就不一样了。
如上所述,CPU写ROM操作不应当发生。但是,如果执行了一个这种操作,则存贮控制器将向Micro  CHannel总线发送一个CPU周期信号(其中ROM经图4所示的Micro  Channel总线被连到此存贮控制器上)。在非Micro  CHannel总线的体系结构里,CPU周期信号将被送往,例如,局部总线等。在以下的描述里,为描述方便起见,假设此计算机体系结构包括Micro  Channel总线。
几乎在存贮控制器459向Micro  Channel总线452发送CPU周期信号(为在ROM被映射到RAM期间的一个写ROM操作而发)的同时,如果目标ROM的数据事先被高速缓存的话CPU432将修改与之相关联的高速缓存器。修改与CPU432相联的高速缓存器的数据可导致破坏存贮在高速缓存器内的ROM数据。
为解决这个问题,本发明需要存贮控制器459在ROM被映射到RAM期间查到一个CPU写ROM操作时,向CPU432提供一个高速缓存器入口无效信号。CPU432在执行写ROM操作的同时响应这个信号,使对应于写ROM操作目标的高速缓存器入口无效。
为了了解这些是如何完成的,请参照图5所示流程图。如果对存贮器写周期是否开始和ROM地址是否在局部总线上的回答是“是”,那么根据本发明的实施例,存贮控制器459能检查是否启动了ROM到RAM的映射方式。如上所述,做这项工作的一种方式是检查方式状态位的值。
如果对图5的框503所示问题的回答还是“是”(即,启动了ROM到RAM的映射操作方式),那么存贮控制器459只需经局部总线434向CPU432发一个前述无效信号即可,这些都可在CPU周期被发往Micro  Channel总线的同时有效地发生。
在图4所示的计算机系统中,存贮控制器459还向链480发一个系统地址状态信号(SADS)。假设Micro  Channel总线452在链482上连接一个BIU,Micro  Channel总线452将响应存贮控制器(位BIU)发出的地址和控制信号,禁止ROM空间的写操作。
与此并行,CPU432将响应经局部总线收到的无效信号;使与已在局部总线上地址(CPU自己放在那的)对应的高速缓存器入口无效。这与已知的高速缓存器无效信号协议的方式类似,在此协议中,处理器使特定高速缓存器入口无效所需的只是无效地址和无效信号。
这种协议被IBM  PS/2Modcl70用来查寻到主存的外部写致(如,外部总线主控执行的写操作),这涉及在特定局部存贮控制器控制下的高速缓存器的数据。如果在一个局部存贮控制器的探测周期内查到了这种写操作,已定的响应(如前所述)是,存贮控制器向局部CPU发送无效信号和高速缓存器地址信号使得局部CPU宣布相应的高速缓存器的入口无效。
图6是一个图示先有技术局部存贮控制器实施和应用一个探测周期以维护高速缓存器数据完整性时所发生的典型事件序列的时序图。
更具体地,在图6的行1(“ADD-BUS”所标明)里,图示了由CPU发往局部总线的CPU432地址,“AAAA  FEH”(输出到图4的局部总线434)直到周期2开始结束(图6图示了周期1-7)。
图6的行2,由“A-HOLD”标明,是一个由图4的存贮控制器459(例如,装在PS/2Model70上的那种存贮控制器)输出的信号使得CPU432释放局部总线。存贮控制器(采用先前的探测技术),例如,在查寻到一个总线主控进行对可高速缓存空间的写操作时(如前所述)发出这种信号。
另一方面,先有技术存贮控制器也可设计为识别由Micro  Channel总线上的另一台微处理器(例如,另一台80486)执行的到可高速缓存空间的写操作,或甚至识别由局部总线上的其它微处理器执行的到可高速缓存空间的写操作。
同行专家都会知道,在任何涉及到可高速缓存空间(与ROM映射到RAM时的写ROM空间操作不同)写操作的上述情形里,存贮控制器将接管局部总线(经一个如图6第二行所示的A-HOLD信号),然后经此局部总线向有关的CPU发送将被该CPU宣布无效的高速缓存器入口的地址和无效信号以触发无效过程。
这些事件序列在图6中示出,A-HOLD在周期1升高(示意存贮控制器接管局部总线),CPU在周期2期间释放此局部总线;存贮控制器把无效地址放到局部总线的地址部分(在周期3内,如图6第一行所示),然后在周期4内存贮控制器发送一个无效信号。IBM  PS/2Model70的无效信号协议所用的无效信号是外部地址状态信号(EADS)。相应地,图6的行3信号被标为EADS。
在经局部总线收到无效地址和无效信号(都由存贮控制器发出)后,CPU可进行处理使得相应的高速缓存器入口无效。
作为比较,图7图示了根据本发明的一个实施例用一局部存贮控制器来维护在ROM映射到RAM期间执行CPU写ROM操作时高速缓存器数据的完整性所发生的典型事件的时序图。
更具体地,图7的行1也图示了局部总线的地址部份(ADD-BUS)。但在这个例子里,在周期1开始后的某个时间,执行CPU写RAM操作,其典型的ROM地址为FFFFOH,出现在局部总线上。图7的行2、3和4图示了由CPU发出的另外一些信号以执行到ROM的写操作。
更具体地,行2图示了“M/IO”信号。为便于描述,假设低代表I/O周期,高代表存贮周期。因此参照图7可以看到行2的信号在写ROM操作开始的同时升高。
图7的行3信号是地址状态信号(“ADS”)。此信号低时一般用来通知存贮控制器开始了一个周期(存贮或I/O周期)。也可以看到CPU在执行写ROM操作期间发生这个信号。
图7的行4信号(也由CPU发出)是一个写/读信号(“W/R”)。为便于描述,假设此信号在写周期内为高。参照图7可以看到在CPU执行写ROM操作期间W/R信号为高。
图7的下两行(行5和行6)图示了根据本发明的技术,在查到CPU写ROM操作后,由存贮控制器发生的信号。
在解释图7的行5和行6的目的之前,应当注意本发明所考虑的探测操作可由存贮控制器执行,检查(1)ADD-BUS信号(图7的行1所示)是否在ROM空间内(在ROM被映射到RAM时),(2)什么时候进行存贮器写周期(可从图7的行2和行4所示的CPU输出信号判断出)。这些判定与图5中框501和502所示的判定对应。
至于图7的行5和行6,(行5)示出了在周期4期间由存贮控制器发出的前述SADS信号(在本发明的一个说明性实施例中被用来向Micro  Channel总线发送CPU周期信号),(行6)示出了在周期4期间也由存贮控制器发送的无效信号(IBM  PS/2Model70的外部地址状态信号“EADS”)。参照图4,应该注意,SADS信号在总线480上输出,EADS信号在局部总线434上输出。
还应当注意,CPU所需无效地址已在局部总线的地址部分(在执行写ROM操作时由CPU自己放在那儿的)。因此,对照图6所示的事件序列,存贮控制器不需生成A-Hold信号来获得图7所示事件序列的期望结果。
最后,图7的行7图示了由存贮控制器发出的“Ready”信号以指示写周期结束。
上述详细描述的是达到前述所有目的的方法、装置和计算机系统。如前面指出的,同行专家会承认上述说明只是为了便于描述和说明,并不打算把本发明穷举或死板地限制在所公开的形式内。显然,借鉴上面所授可做许多修改和变化。
这里发表实施例和例子是为了最好地解释本发明的原理和实际应用,使得同特专家能在各种实施例中最好地应用本发明,并可根据特定应用作各修改。

Claims (18)

1、在一个计算机系统中维护高速缓冲存贮器完整性的方法,此计算机系统包括一个中央处理单元(CPU),与所述CPU相联的高速缓冲存贮器,随机存取存贮器(RAM),只读存贮器(ROM),及为控制所述CPU、高速缓冲存贮器、RAM和ROM间协作的局部存贮控制器,以及互连所述局部存贮控制器与所述CPU的局部总线,其中所述计算机系统支持ROM到RAM映射的操作方式。其特征为以下步骤:
(a).执行一个局部存贮控制器探测周期以检测在启动所述ROM到RAM的映射期间的CPU写ROM操作;
(b).在ROM映射到RAM期间查到一个CPU写ROM操作时,向该CPU发出一个高速缓存器入口无效的信号。
2、权利要求1所述方法,其特征为:经过所述局部总线向所述CPU发出所述高速缓存器入口无效信号。
3、权利要求1所述方法,所述步骤特征为:所述CPU响应所述无效信号使得与CPU写ROM操作目标地址处数据入口相对应的任何高速缓存器中高速缓存入口无效。
4、权利要求1所述方法,其特征为以下步骤:
(a).把CPU写ROM操作的目标地址放到所述局部总线上;
(b).一旦所述无效信号发往所述CPU时,所述CPU使任何对应于所述局部总线上地址的高速缓存器的入口无效。
5、权利要求1所述方法,其中执行一个局部存贮控制器探测周期的所述步骤的特征为以下步骤:
(a).判定所述CPU是否启动了一个存贮写周期;
(b).判定ROM空间地址是否在所述总线上;
(c).判定所述系统是否允许ROM到RAM的映射操作方式。
6、用一个存贮控制器来维护一个计算机系统中高速缓冲存贮器完整性的方法,此计算机系统包括一个中央处理单元(CPU),与所述CPU相联的高速缓冲存贮器,随机存取存贮器(RAM),只读存贮器(ROM),以及互连所述存贮控制器和所述CPU的局部总线,其中所述计算机系统能支持ROM到RAM的映射的操作方式,其特征为以下步骤:
(a).监控所述局部总线以判定所述CPU是否已启动了一个存贮器写周期;
(b).判定一个ROM空间地址是否在所述局部总线上;
(c).判定所述系统是否启动ROM到RAM的映射操作方式;
(d).在所述存贮控制器判定存贮器写周期已开始,且局部总线上的地址在ROM空间内,以及所述系统启动所述ROM到RAM的映射操作时,向所述CPU发送一个高速缓存器入口无效的信号。
7、在一个计算机系统中维护高速缓冲存贮器完整性的装置,此计算机系统包括一个中央处理单元(CPU),与所述CPU相联的高速缓冲存贮器,随机存取存贮器(RAM),只读存贮器(ROM),控制所述CPU、高速缓冲存贮器、RAM和ROM间协作的局部存贮控制器,以及互连所述局部存贮控制器和所述CPU的一条局部总线,其中所述计算机系统支持ROM到RAM映射操作方式。其特征为:
(a).检测器件,经所述局部总线与所述CPU相连,用来检测在所述系统启动ROM到RAM的映射方式期间的CPU写ROM操作;
(b).信号传输器件,经所述局部总线与所述CPU相连,它响应由上述检测器对CPU写ROM操作的检测。在ROM被映射到RAM期间发生CPU写ROM操作时,向所述CPU发送一个高速缓存器入口无效信号。
8、权利要求7所述装置,其特征为:在响应所述无效信号时,可操作使所述高速存贮器中任何与所述CPU写ROM操作目标地址处数据入口相对应的高速缓冲存贮器入口无效。
9、权利要求7所述装置,其特征为:所述CPU可把所述CPU写ROM操作的目标地址放到所述局部总线上且为响应所述无效信号使得任何对应于所述局部总线上地址的高速缓存入口无效。
10、权利要求7中所述的装置其特征为,检测器还包括:
(a).判定是否进行一个存贮器写周期的器件;
(b).判定ROM空间的地址是否在所述局部总线上的器件;
(c).判定所述系统是否启动从ROM到RAM的映射方式的器件。
11、用于在计算机系统中维护高速缓存器完整性的存贮控制器,其特征在于此计算机包括一个中央处理器(CPU)、与CPU相联的高速缓存器、随机存贮器(RAM)、只读存贮器(RAM)、以及互连上述存贮器与CPU的局部总线,并且此计算机系统支持ROM到RAM的映射,存贮控制器特征如下:
(a).存贮器写周期检测器,连到所述局部总线上,用以判定所述CPU是否启动了一个存贮器写周期;
(b).ROM地址空间检测器,连到所述局部总线上,用以判定一个ROM空间地址是否在所述局部总线上;
(c).方式判定器件,用以判定所述系统是否启动ROM到RAM的映射;
(d).发射信号装置,用来当存贮控制器判定存贮器写周期已经开始,放在局部总线上的地址在ROM空间内,且系统允许ROM到RAM的映射时,向CPU发送一个高速缓存入口无效的信号。
12、权利11所述的存贮控制器其特征为该存贮控制器至少包含一个状态位以指示所述计算机系统的运行方式。
13、一个计算机系统,它含有支持ROM到RAM的映射操作方式,并可在映射期间执行CPU写ROM操作时,维护高速缓存器完整性的高速缓冲存储器,其特征如下:
(a).一个中央处理器(CPU);
(b).一个与所述CPU相联的高速缓存器;
(c).一个随机存贮器(RAM);
(d).一个只读存贮器(ROM);
(e).一个控制上述CPU,高速缓存器,RAM、ROM间协作的局部存贮控制器;
(f).一条将所述局部存贮控制器与CPU相连的局部总线;
(g).检测器,它经上述局部总线连到CPU上,用来检测系统在启动ROM到RAM映射时是否有CPU写ROM的操作;
(h).传输信号装置,它经所述局部总线连到CPU上,以响应上述检测器对CPU写ROM操作的检测,在ROM映射到RAM期间若发生CPU写ROM操作时,它将向CPU发送一个使高速缓存入口无效的信号。
14、权利要求13所述的计算机系统,其特征为:所述CPU为响应上述无效信号将使在高速缓存内任何与CPU写ROM操作目标地址处数据入口相对应的高速缓存入口无效。
15、权利要求13所述计算机系统,其特征为:所述CPU将CPU写ROM操作的目标地址放在局部总线上,并且响应无效信号使任何对应于该局部总线上地址的高速缓存入口无效。
16、权利要求13所述计算机系统,其特征为其检测器还包括:
(a).判定存贮器写周期是否在进行的器件;
(b).判定ROM空间地址是否在局部总线上的器件;
(c).判定系统是否启动ROM映射的器件。
17、一个含有一个维护高速缓存器完整性的存贮控制器的计算机系统,该系统包括中央处理器(CPU)、与CPU相联的高速缓存器,随机存贮器(RAM),只读存贮器(ROM),和一个连接上述存贮控制器与CPU的局部总线,同时该系统支持ROM到RAM的映射操作方式,该系统特征在于:
(a).用以判定是否由CPU启动存贮器写周期的检测装置;
(b).用以判定ROM空间地址是否在总线上的ROM空间地址检测装置;
(c).用以判定是否启动该系统的ROM到RAM映射操作方式的模式判别装置;
(d).用以一旦发现下述三种情况并存时,向CPU发送高速缓存入口无效信号的装置;即:写存贮器周期被启动;同时ROM空间地址在总线上;并且启动时操作该系统的ROM到RAM的映射方式。
18、权利17要求的计算机系统,其特征在于:上述的存贮器写周期检测装置、ROM空间地址判定装置、模式判别装置、发出高速缓存入口无效信号的装置,都包括在所述的存贮控制器中。
CN91109634A 1990-10-26 1991-10-11 用以保持高速缓冲存储器完整性的方法与装置 Expired - Fee Related CN1024599C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/604,837 1990-10-26
US07/604,837 US5193170A (en) 1990-10-26 1990-10-26 Methods and apparatus for maintaining cache integrity whenever a cpu write to rom operation is performed with rom mapped to ram

Publications (2)

Publication Number Publication Date
CN1060916A true CN1060916A (zh) 1992-05-06
CN1024599C CN1024599C (zh) 1994-05-18

Family

ID=24421248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN91109634A Expired - Fee Related CN1024599C (zh) 1990-10-26 1991-10-11 用以保持高速缓冲存储器完整性的方法与装置

Country Status (9)

Country Link
US (1) US5193170A (zh)
EP (1) EP0482752B1 (zh)
JP (1) JPH0797353B2 (zh)
KR (1) KR950013261B1 (zh)
CN (1) CN1024599C (zh)
AU (1) AU652178B2 (zh)
CA (1) CA2052766C (zh)
DE (1) DE69109803T2 (zh)
HK (1) HK24196A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100383762C (zh) * 2001-12-11 2008-04-23 汤姆森许可贸易公司 存储设备的高速缓冲存储器管理
CN103026351A (zh) * 2010-07-27 2013-04-03 飞思卡尔半导体公司 降低处理器延迟的装置和方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0510242A2 (en) * 1991-04-22 1992-10-28 Acer Incorporated System and method for managing the routing execution in a computer system
US5319768A (en) * 1991-05-01 1994-06-07 Sgs-Thomson Microelectronics, Inc. Control circuit for resetting a snoop valid bit in a dual port cache tag memory
US5341487A (en) * 1991-12-20 1994-08-23 International Business Machines Corp. Personal computer having memory system with write-through cache and pipelined snoop cycles
US5966728A (en) * 1992-01-02 1999-10-12 International Business Machines Corp. Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
US5313593A (en) * 1992-09-17 1994-05-17 International Business Machines Corp. Personal computer system with bus noise rejection
US5603011A (en) * 1992-12-11 1997-02-11 International Business Machines Corporation Selective shadowing and paging in computer memory systems
CN1052550C (zh) * 1993-09-20 2000-05-17 国际商业机器公司 对高速缓冲存储器探测粒度的动态管理
US5526512A (en) * 1993-09-20 1996-06-11 International Business Machines Corporation Dynamic management of snoop granularity for a coherent asynchronous DMA cache
JPH09506988A (ja) * 1993-09-30 1997-07-08 アップル コンピュータ,インコーポレイテッド コンピュータの仮想メモリにおける補助記憶の分散制御システム
US5526503A (en) * 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
US6421776B1 (en) * 1994-10-14 2002-07-16 International Business Machines Corporation Data processor having BIOS packing compression/decompression architecture
US5617557A (en) * 1994-11-14 1997-04-01 Compaq Computer Corporation Using an address pin as a snoop invalidate signal during snoop cycles
DE69628079T2 (de) * 1995-03-31 2004-02-26 Sun Microsystems, Inc., Santa Clara Mechanismus auf Systemebene zum Entwerten von Daten, die im externen Cache eines Prozessors in einem Computersystem gespeichert sind
US5652859A (en) * 1995-08-17 1997-07-29 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5940850A (en) * 1996-10-31 1999-08-17 International Business Machines Corporation System and method for selectively enabling load-on-write of dynamic ROM data to RAM
US5900017A (en) * 1997-05-14 1999-05-04 International Business Machines Corporation Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
US6009522A (en) * 1997-09-30 1999-12-28 Micron Electronics, Inc. Attachment or integration of a BIOS device into a computer system using the system memory data bus
US6076118A (en) * 1997-09-30 2000-06-13 Micron Electronics, Inc. Attachment or integration of a BIOS device into a computer system using the system memory address and data bus
US6182213B1 (en) 1997-09-30 2001-01-30 Micron Electronics, Inc. Method for attachment of a bios device into a computer system using the system memory data bus
US6003103A (en) * 1997-09-30 1999-12-14 Micron Electronics, Inc. Method for attachment or integration of a bios device into a computer system using a local bus
TW480404B (en) * 1999-08-31 2002-03-21 Ibm Memory card with signal processing element
JP4097883B2 (ja) * 2000-07-04 2008-06-11 松下電器産業株式会社 データ転送装置および方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
JPS59121677A (ja) * 1982-12-28 1984-07-13 Mitsubishi Electric Corp 記憶装置
JPS6115252A (ja) * 1984-06-29 1986-01-23 Mitsubishi Electric Corp 主記憶デイスク装置
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
JPS63308653A (ja) * 1987-06-10 1988-12-16 Fujitsu Ltd ブロック・イン方式
DE3852263T2 (de) * 1987-09-28 1995-07-20 Compaq Computer Corp System zur schnellen Auswahl von nicht-cachespeicherbaren Adressenbereichen mittels einer programmierbaren Logikmatrix.
US5091850A (en) * 1987-09-28 1992-02-25 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic
JPH083803B2 (ja) * 1987-12-25 1996-01-17 株式会社日立製作所 Nmi処理方法
JPH01303546A (ja) * 1988-05-31 1989-12-07 Nec Corp メモリ制御方式
JP2613258B2 (ja) * 1988-06-08 1997-05-21 株式会社日立製作所 情報処理方法及び装置
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100383762C (zh) * 2001-12-11 2008-04-23 汤姆森许可贸易公司 存储设备的高速缓冲存储器管理
CN103026351A (zh) * 2010-07-27 2013-04-03 飞思卡尔半导体公司 降低处理器延迟的装置和方法

Also Published As

Publication number Publication date
AU652178B2 (en) 1994-08-18
JPH0581128A (ja) 1993-04-02
CN1024599C (zh) 1994-05-18
JPH0797353B2 (ja) 1995-10-18
HK24196A (en) 1996-02-16
EP0482752A2 (en) 1992-04-29
AU8482491A (en) 1992-04-30
DE69109803T2 (de) 1995-11-30
DE69109803D1 (de) 1995-06-22
KR950013261B1 (ko) 1995-10-26
CA2052766C (en) 1996-01-02
US5193170A (en) 1993-03-09
CA2052766A1 (en) 1992-04-27
EP0482752B1 (en) 1995-05-17
KR920008601A (ko) 1992-05-28
EP0482752A3 (en) 1992-07-08

Similar Documents

Publication Publication Date Title
CN1024599C (zh) 用以保持高速缓冲存储器完整性的方法与装置
CN1153145C (zh) 预加载不同缺省地址转换属性的方法和装置
CN1132107C (zh) 计算机系统中控制对映射到i/o地址空间的寄存器的访问的系统
US6173369B1 (en) Computer system for processing multiple requests and out of order returns using a request queue
US5560003A (en) System and hardware module for incremental real time garbage collection and memory management
US5193163A (en) Two-level protocol for multi-component bus ownership, and implementation in a multi-processor cache write back protocol
CN1622060A (zh) 转换后备缓冲器的惰性转储清除
US5956522A (en) Symmetric multiprocessing system with unified environment and distributed system functions
US5809340A (en) Adaptively generating timing signals for access to various memory devices based on stored profiles
CN100414494C (zh) 根据多组高速缓存组预测来选择执行的指令的装置和系统
US5875201A (en) Second level cache having instruction cache parity error control
US5898883A (en) Memory access mechanism for a parallel processing computer system with distributed shared memory
CN100390764C (zh) 把虚拟存储器地址的数据传送到设备存储器的方法和系统
US6745292B1 (en) Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors
US6463514B1 (en) Method to arbitrate for a cache block
US7120836B1 (en) System and method for increasing cache hit detection performance
CN1912853A (zh) 用于管理高速缓存数据的方法和数据处理系统
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
US6199153B1 (en) Method and apparatus for minimizing pincount needed by external memory control chip for multiprocessors with limited memory size requirements
JPS62120574A (ja) ベクトル処理装置
WO2006027643A1 (en) A virtual address cache and method for sharing data stored in a virtual address cache
US6704820B1 (en) Unified cache port consolidation
US20030225992A1 (en) Method and system for compression of address tags in memory structures
EP0113460A2 (en) Symbolic language data processing system
US20040064655A1 (en) Memory access statistics tool

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
ASS Succession or assignment of patent right

Owner name: LIAN XIANG(SINGAPORE)PRIVATE LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20061027

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20061027

Address after: Singapore Changi

Patentee after: Lenovo (Singapore) Pte. Ltd.

Address before: New York, USA

Patentee before: International Business Machines Corp.

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