CN1086036C - 信息处理系统及利用该系统处理信息的方法 - Google Patents

信息处理系统及利用该系统处理信息的方法 Download PDF

Info

Publication number
CN1086036C
CN1086036C CN94116752A CN94116752A CN1086036C CN 1086036 C CN1086036 C CN 1086036C CN 94116752 A CN94116752 A CN 94116752A CN 94116752 A CN94116752 A CN 94116752A CN 1086036 C CN1086036 C CN 1086036C
Authority
CN
China
Prior art keywords
information
cache
storage
instruction
processor
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.)
Expired - Fee Related
Application number
CN94116752A
Other languages
English (en)
Other versions
CN1122027A (zh
Inventor
J·A·卡勒
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.)
International Business Machines Corp
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 CN1122027A publication Critical patent/CN1122027A/zh
Application granted granted Critical
Publication of CN1086036C publication Critical patent/CN1086036C/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

Abstract

一种信息处理系统和操作方法。根据一种第一指令,一个辅助存储器储存来自一系统存储器的第一信息。根据一种第二指令,如果第一信息包括有第二信息,则一个超高速缓冲存储器储存来自辅助存储器的第二信息,否则储存来自系统存储器的第二信息。

Description

信息处理系统及利用该系统处理信息的方法
本专利申请一般涉及信息处理的系统,更具体地涉及一种信息处理系统及利用该系统处理信息的方法。
许多处理信息系统都包括一个系统存储器和一个超高速缓冲存储器。超高速缓冲存储器是一种存贮来自一部分或几部分系统存储器的信息副本的相对小的高速存储器。通常,这种超高速缓冲存储器在实际上是与系统存储器截然不同的。这种超高速缓冲存储器可与系统的处理器形成或不形成整体。
信息可从系统存储器的一部分复制到超高速缓冲存储器去。超高速缓冲存储器内的信息可被变更。而且,变更后的超高速缓冲存储器的信息可被复制到系统存储器的一部分中去。
处理器执行单元可根据指令对存储在超高速缓冲存储器的信息进行处理。这些指令包括为在超高速缓冲存储器和处理器的寄存器之间传递数据信息的存储器指令。在存储器指令(诸如“装入/存储”指令或读出/写入指令)的信息没有存入超高速缓冲存储器的一个超高速缓冲失存情况(miss situation)下,则向系统存储器要求这种信息。这样当响应一个超高速缓冲失存情况在等待来自系统存储器的信息时,会产生很大的延迟。
为了减少这样一个超高速缓冲失存情况的负面影响,处理器可在这信息被处理器的另一指令使用之前,支援一个预取指令(例如一个“接触装入”指令)以便从系统存储器内的一个规定地址为超高速缓冲存储器装入数据信息。尽管如此,如果这种预取指令本身导致一个超高速缓冲失存情况,和如果超高速缓冲存储器是一种“阻塞式”(blocking)的超高速缓冲存储器,那么附加的存储器指令就会被阻塞使用这超高速缓冲存储器直到从系统存储器收到信息为止。无论这些附加的存储器指令是否指明了已存储在这超高速缓冲存储器的信息,它们都被阻塞。
因此,就上述阻塞式超高速缓冲存储器来说,这样一个预取指令是相对无效的,甚至可能降低处理器的性能。对于先有技术,预取操作大大降低了它的实用性,除非超高速缓冲存储器作成非阻塞式的。在一个非阻塞式超高速缓冲存储器中,如果附加的存储器指令指明了已存储在该超高速缓冲存储器,它们就不会被阻塞使用超高速缓冲存储器。
尽管如此,非阻塞式超高速缓冲存储器的逻辑是比阻塞式超高速缓冲存储器的逻辑要复杂得多。而且由于在等待来自系统存储器的信息时,附加的存储指令是不会被阻塞使用超高速缓冲存储器,故难以验证一个非阻塞式超高速缓冲存储器的适当操作。
因此,有必要提出一种信息处理系统和操作方法,其中预取指令对一个具有阻塞式超高速缓冲存储器的系统是有效的。而且,有必要提出一种信息处理系统和操作方法,使之减少超高速缓冲失存情况的负面影响。
在一种信息处理系统和操作方法中,一辅助存储器响应一个第一指令存储来自系统存储器的第一信息。如果第一信息包括有一个第二信息,超高速缓冲存储器便响应第二指令存储来自辅助存储器的第二信息,否则就存贮来自系统存储器的第二信息。
本发明的一个技术优点是,预取指令对一个具有阻塞式超高速缓冲存储器的系统是有效的。
本发明的另一技术优点是,减少了超高速缓冲失存情况的负面影响。
本发明的一个典型实施例和它的优点,通过参考以下说明和附图,可得到更好的了解。附图中,
图1是按照本发明的优选实施例的一信息处理系统的方框图;
图2是操作图1的一预取存储器的方法流程图;
图3是操作图1的一超高速缓冲存储器的一种方法的流程图;
图4是按照本发明另一可供选择的实施例的一信息处理系统的方框图。
参考图1-4,可更好地理解本发明的一典型实施例及其优点,附图中相同和相应部分均采用相同的标号。
图1是以标号10表示的按照本发明一优选实施例的一信息处理系统的方框图。在系统10中,超高速缓冲存储器12是与处理器16集成一整体的。处理器16是一个单片集成电路的超标量(Superscalar)的微处理器。在一可供选择的实施例中,超高速缓冲存储器12是一个不与处理器16集成的。在另一可供选择的实施例中,处理器16是一个多片微处理器。在又一可供选择的实施例中,处理器16是一个非超标量处理器。
处理器16包括一总线接口单元(“BIU”)18,探测(snoop)寄存器20,写入寄存器22和读出寄存器24。而且,处理器16包括执行单元19。这优选实施例的一个重要方面是,处理器16还包括一个由一接触装入寄存器(“TLR”)形成的预取存储器26。除了处理器16之外,系统10还包括系统总线28和与其联接的系统存储器30。而且,处理器16的BIU18被连接到系统总线28。
预取存储器26是一个辅助存储器,它被附加到系统10内的系统存储器30和超高速缓冲存储器12。处理器16从系统存储器30内的一地址输入数据信息。这一数据信息是从系统存储器30通过系统总线28由BIU18输入的,并且这一数据信息是从BIU18存储到读出寄存器24的。这一数据信息是在适当的时刻从读出寄存器24存储到超高速缓冲存储器12的。处理器16通过将地址信息和数据信息一起存储,将数据信息与其相应的地址相联系。
同样,处理器将数据信息输出到系统存储器30的一地址。这样的数据信息是从超高速缓冲存储器12存储到写入寄存器22的。该数据信息是在适当时刻从写入寄存器22输出到BIU18,并且,BIU18通过系统总线28将该数据信息输出到系统存储器30。该数据信息被存储在系统存储器30内的某相应地址上。
为了保持所存储数据信息的相关性,处理器16对系统总线28上的地址信息进行探测。这样的地址信息是从系统总线28经由BIU18输入的,然后将这地址信息从BIU18存储到探测寄存器20。存储在探测寄存器20的地址信息是与超高速缓冲寄存器12,写入寄存器22和读出寄存器24内的地址信息进行比较的。有重要意义的是,将存储在探测寄存器20的地址信息进一步与预取寄存器26(图1中的TLR26)的地址信息进行比较。如果存储在探测寄存器20的地址信息与存储在超高速缓冲存储器12、写入寄存器22、读出寄存器24或预取存储器26内的地址信息相一致,则处理器16报以适当的相关动作。
执行单元19根据指令对存贮在超高速缓冲存储器12内的信息进行处理。这些指令包括为在超高速缓冲存储器12和处理器16的寄存器之间传送数据信息的存储器指令。在一存储器指令(如一“装入/存储”指令或一“读出/写入”指令)的信息没有存储在超高速缓冲存储器12的一个超高速缓冲失存情况下,处理器16便需要从系统存储器30请求这样的信息。这样,在处理器16在随一超高速缓冲失存情况的发生而等待来自系统存储器30的信息时,会发生显著的延迟量。
在这优选实施例中,超高速缓冲存储器12是一个“阻塞式”的超高速缓冲存储器。在优点方面,阻塞式超高速缓冲存储器的逻辑相对于非阻塞式的超高速缓冲存储器的逻辑较为简单。因此,在处理器16响应一超高速缓冲失存情况而等待来自系统存储器30的信息时,附加的存储器指令会被阻塞使用超高速缓冲存储器12直到从系统存储器30接收到这样的信息为止。这些附加的存储器指令无论是否指明了已存储在超高速缓冲存储器12内的信息,他们都会被阻塞。通过比较,在非阻塞式超高速缓冲存储器中,如果附加存储器指令指明了已存储在超高速缓冲存储器内的信息,它们便不会被阻塞使用超高速缓冲存储器。
为减小处理器16等待来自系统存储器30的信息的这样一种超高速缓冲失存情况的负面影响,处理器16在这信息为处理器16的另一指令使用之先,有利地支援一个预取指令(如一“接触装入”指令)以便从系统存储器30内规定的地址给超高速缓冲存储器12装入数据信息。用先前的阻塞式超高速缓冲存储器时,这样的一个预取指令是相对无效的,甚至有可能降低处理器16的性能。这是因为,如果这预取指令导致超高速缓冲失存情况,这些附加的存储器指令会被阻塞使用超高速缓冲存储器12,直到处理器16从系统存储器30收到信息为止。
优选实施例的处理器16的优点在于包括预取存储器26。正如下面对图2和图3要进一步讨论的,预取存储器26在没有使阻塞式超高速缓冲存储器12的逻辑明显复杂化的情况下,支持了这种预取操作。
图2是操作预取存储器26(图1中的TLR26)方法的流程图。开始时,这方法以一判定步骤50自成回路,直到处理器16确定一个预取指令(如一个“接触装入”指令)正在等待执行为止。在另一可供选择的实施例中,这方法以一决定步骤50自成回路,直至处理器16确定一个具有特定型式的指令正等待执行为止;特别是,在这样一种可供选择的实施例中,指令的特定型式可以是指令型式而不是预取指令型式。
继续参考图2,根据一预取指令等待执行,这方法继续一决定步骤51,在这一步骤中,处理器16确定目标数据信息是否已存储在超高速缓冲存储器12中。如果目标数据信息已存储在超高速缓冲存储器12,该方法返回到决定步骤50。若目标数据信息还未存入超高速缓冲存储器12(即超高速缓冲失存情况),该方法则继续从决定步骤51到达处理器16要求从系统存储器30通过系统总线28请求目标数据信息的步骤52。
经过步骤52以后,这方法以一决定步骤54自成回路,直到从系统存储器30通过系统总线28接收被请求的数据信息为止。在图1中,BIU18输入接收到的数据信息。根据被收到的数据信息,该方法继续到步骤56,在此步骤,信息被存入预取存储器26而不是超高速缓冲存储器12。步骤56之后,该方法返回到决定步骤50。
由于一预取指令请求的数据信息是被存储到预取存储器26而不是超高速缓冲存储器12内的,所以,这优选实施例的一个重要方面是,在处理器16等待来自系统存储器30的数据信息时,附加的存储器指令(例如一“装入/存储”指令或“读出/写入”指令)不会被阻塞使用超高速缓冲存储器12。
图3是操作超高速缓冲存储器12的一种方法的流程图。开始时,这方法在一决定步骤60处自成回路,直至处理器16确定一个存储器指令正等待执行为止。根据存储器指令正等待执行,该方法继续到达决定步骤62,在此步骤,处理器16确定目标数据信息是否已存入超高速缓冲存储器12中。如果目标数据信息已存入超高速缓冲存储器12,则该方法继续到达步骤64,在步骤64,处理器16对已存入超高速缓冲存储器12的数据信息执行存储器指令。步骤64后,该方法回到决定步骤60。
若目标数据信息还未存入超高速缓冲存储器12,该方法从决定步骤62继续到决定步骤66,在步骤66,处理器16确定目标数据信息是否被存储在预取存储器26(图1中的TLR26)。若目标数据信息被存入预取存储器26,该方法继续到步骤68,在步骤68,处理器16将目标数据信息从预取存储器26存贮到超高速缓冲存储器12。步骤68之后,该方法继续到达步骤64。
若目标数据信息未存入预取存储器26,该方法从决定步骤66继续到步骤70,在步骤70,处理器16请求从系统存储器30通过系统总线28取得目标数据信息。步骤70之后,该方法在决定步骤72自成回路,直到从系统存储器30通过系统总线28收到所要求的数据信息为止。BIU18输入接收到的数据信息。根据被收到的数据信息,该方法继续来到步骤74,在步骤74,信息被存入读出寄存器24。步骤74以后,该方法继续到步骤76,在步骤76,处理器16将来自读出寄存器24的信息存储到超高速缓冲存储器12。步骤76之后,这方法继续到步骤64。
因此,这优选实施例的一个具有重要意义的方面是,如果目标数据信息不是存储在预取存储器26,则在不给预取存储器26增加信息的情况下,将这信息从系统存储器30存贮到超高速缓冲存储器12。而且,即使在将信息加到预取存储器26的另一可供选择的实施例中,当超高速缓冲存储器12存储来自系统存储器30的信息时,超高速缓冲存储器12会有利地避开预取存储器26。
通过避开预取存储器26,超高速缓冲存储器12更快地从系统存储器30存储这信息而无须等待预取存储器26存储这信息。
图4是以90表示的按照另一可供选择的实施例的一信息处理系统的方框图。图4中,预取存储器26未与处理器16集成成整体。而是预取存储器26是由一联接到系统总线28的存储器阵列形成的。和图1的系统10一样,系统90按照图2和图3的方法操作。
因此,在图2的步骤52,按照一预取指令,处理器16对系统总线28输出一个特别用途的通信信号以对系统总线28设定一个操作作为预取操作。系统总线28支持这样一种特定用途的通信信号,预取存储器26包括有响应它的逻辑。按照对系统总线28的这专用通信信号,预取存储器26在从系统存储器30通过系统总线28收到这样的信息后,于图2的步骤56,贮存信息。
由于一预取指令要求的数据信息被存储到预取存储器26而不是超高速缓冲存储器12,所以,附加的存储器指令(例如一“装入/存储”指令或一“读出/写入”指令)在预取存储器26等待来自系统存储器30的数据信息时,不会被阻塞使用超高速缓冲存储器12。
就优点而言,预取存储器26大大小于系统存储器30。因此,超高速缓冲存储器12从预取存储器26(图3的步骤66和68)输入信息能够大大快于从系统存储器30(图3的步骤70-74)输入信息。和处理器16一样,图4的预取存储器26,通过将地址信息和数据信息一起储存,而使数据信息与其相应地址相关联。
在图1和图4中,预取存储器26用作预取操作的一独立的超高速缓冲线路。如果一存储器指令请求超高速缓冲存储器12中没有的信息(即超高速缓冲失存情况),而这信息被存储在预取存储器26,则将此信息从预取存储器26传送到超高速缓冲存储器12。在这种情况下,有益之处是超高速缓冲失存情况不会导致处理器16从系统存储器30请求这样的信息。在图1所示的实施例中,在对超高速缓冲存储器12进行这种传输之前,预取存储器26中的信息易于被随后的预取操作信息所重写。相反,在图4所示的实施例中,多个预取操作的信息可同时被存入预取存储器26中。
参考图1,如若存储在深测寄存器28的地址信息与存贮在预取存储器26的地址信息一致,则处理器16使预取存储器26的内容无效。在这种情况下,处理器16不会从预取存储器26输出信息,因为信息在预取存储器26内未被变更。
参考图4,为保持所存储数据信息的相关性,与处理器16一样,图4的预取存储器26包括有为探测系统总线28上的地址信息的逻辑。若探测到的地址信息与储存在预取存储器26的地址信息一致,则图4的预取存储器26会使其相应于探测到的地址信息的数据内容无效。继续参考图4,由于信息在预取存储器26内未被变更,故预取存储器26不会输出信息。
值得注意的是,在图1和图4中,预取存储器26起到相对于超高速缓冲存储器12的二级(level-2)超高速缓冲存储器的作用。尽管如此,它和先前典型的2级超高速缓冲存储器不同,预取存储器26比其相应的1级(level-1)超高速缓冲存储器12,有较快的存取时间,较简单的逻辑和较小的尺寸。预取存储器26大大小于和快于系统存储器30,还大大小于和快于超高速缓冲存储器12。
这是可能的,因为存贮在预取存储器26的信息不要求包括所有存贮在超高速缓冲存储器12内的信息。预取存储器26起到一个相对于仅用于预取指令的超高速缓冲存储器12的一个2级超高速缓冲存储器的作用。因此,超高速缓冲存储器12从预取存储器26(图2的步骤66和68)输入信息的速度能够大大快于从系统存储器30(图2的步骤70-74)输入的速度。
如果没有预取存储器26,预取操作是很不实际的,除非使超高速缓冲存储器12为非阻塞的。然而,要验证一个非阻塞式超高速缓冲存储器的正确操作是困难的,因为即使在处理器16等待来自系统存储器30的信息时,附加的存储器指令也不会被阻塞使用超高速缓冲存储器12。而且,非阻塞式超高速缓冲存储器的逻辑比阻塞式超高速缓冲存储器的逻辑要复杂得多。因此,就将超高速缓冲存储器12做成非阻塞式的方案而言,预取存储器26与阻塞式超高速缓冲存储器12相结合是有利的。这样一种组合,对于预取指令是非阻塞的,而对于其它存储器指令是阻塞式的。
虽然前面已对本发明的一个典型实施例及其优点作了具体描述,但它们仅作为例子而并不是作为限制来叙述的。在不脱离本发明的广度,范围和精神的情况下,可对该典型实施例作出各种改变、取代和变更。本发明的广度,范围和精神除只受到下面的权利要求及其等同物的限定外,应不受该典型实施例的限制。

Claims (30)

1.一种信息处理系统,包括:
一个处理器;
一条用于信息传输的总线;
耦合到所述总线用于存储至少部分信息的一个系统存储器;
一个预取存储器;
一个超高速缓冲存储器;
所述处理器与所述总线以及所述预取和超高速缓冲存储器连接,用于:
    响应只请求第一信息的一条预取指令,将该第一信息从
        所述系统存储器存储到所述预取存储器;
    响应请求第二信息的一条存储指令,将该第二信息存储
        到超高速缓冲存储器;当第一信息包括第二信息
        时,该第二信息直接由预取存储器提供;否则,该
        第二信息直接来自系统存储器,而不必加到所述预
        取存储器。
2.如权利要求1所述的系统,其特征在于,所述高速缓冲存储器是一个阻塞式超高速缓冲存储器。
3.如权利要求1所述的系统,其特征在于,所述预取存储器是与处理器集成为整体的。
4.如权利要求1所述的系统,其特征在于,所述预取存储器比所述超高速缓冲存储器小。
5.如权利要求1所述的系统,其特征在于,所述预取存储器比所述系统存储器小。
6.如权利要求1所述的系统,其特征在于所述处理器响应自所述总线的地址信息和存储在所述预取存储器中的地址信息的匹配,将所述预取存储器中的所述第一信息作无效处理。
7.如权利要求1所述的系统,其特征在于所述处理器用于根据所述存储指令将所述第二信息存储到超高速缓冲存储器,而不管该预取存储器是否在等待来自系统存储器的第一信息。
8.一种信息处理系统,包括:
一个处理器;
一条用于信息传输的总线;
耦合到所述总线用于存储至少部分信息的一个系统存储器;
一个辅助存储器;
一个超高速缓冲存储器;
所述处理器与所述总线以及所述辅助和超高缓冲存储器连接,用于:
    响应只请求第一信息的一条第一指令,将该第一信息从
        所述系统存储器存储到所述辅助存储器;
响应请求第二信息的一条第二指令,将该第二信息存储
    到超高速缓冲存储器;当第一信息包括第二信息
    时,该第二信息直接由辅助存储器提供;否则,该
    第二信息直接来自系统存储器,而不必加到所述辅
    助存储器。
9.如权利要求8所述的系统,其特征在于,所述辅助存储器是一个预取存储器。
10.如权利要求8所述的系统,其特征在于,所述第一指令是一个预取指令。
11.如权利要求8所述的系统,其特征在于,所述超高速缓冲存储器是一个阻塞式超高速缓冲存储器。
12.如权利要求8所述的系统,其特征在于,所述辅助存储器是与所述处理器成一整体的。
13.如权利要求8的所述系统,其特征在于,所述辅助存储器比所述超高速缓冲存储器小。
14.如权利要求8所述的系统,其特征在于,所述辅助存储器比所述系统存储器小。
15.如权利要求8所述的系统,其特征在于,所述处理器根据具有第一指令型式的所述第一指令,存储所述第一信息到所述辅助存储器。
16.如权利要求15所述的系统,其特征在于,所述处理器根据具有第二指令型式的所述第二指令,存储所述第二信息到所述超高速缓冲存储器。
17.如权利要求8所述的系统,其特征在于所述处理器响应来自所述总线的地址信息和存储在所述辅助存储器中的地址信息的匹配,将所述辅助存储器中的所述第一信息作无效处理。
18.如权利要求8所述的系统,其特征在于所述处理器用于在所述超高速缓冲存储器中没有所述第一信息时,响应所述第一指令将所述第一信息从所述系统存储器存入所述辅助存储器。
19.如权利要求18所述的系统,其特征在于所述处理器用于响应所述第二指令将所述第二信息存储到所述超高速缓冲存储器,而不管所述辅助存储器是否在等待来自所述系统存储器的所述第一信息。
20.如权利要求18所述的系统,其特征在于所述处理器仅令只在所述超高速缓冲存储器中没有所述第一信息时,才响应所述第一指令将所述第一信息从所述系统存储器存入所述辅助存储器。
21.一种利用信息处理系统处理信息的方法,所述信息处理系统具有一个处理器,所述方法包括以下步骤:
通过一条总线传输信息;
在一个系统存储器中存储至少所述信息的一部分;
响应仅仅请求第一信息的一条第一指令,将所述第一信息从所述系统存储器存储到一个辅助存储器中;
响应请求第二信息的一条第二指令,在所述第一信息包括所述第二信息时,将所述第二信息直接从所述辅助存储器存储到一个高速缓冲存储器中,否则,将所述第二信息直接从所述系统存储器存储到所述高速缓冲存储器,而不必加到所述辅助存储器。
22.如权利要求21所述的方法,其特征在于,将所述第一信息存入所述辅助存储器的所述步骤,包括将所述第一信息储存在一个预取存储器中的步骤。
23.如权利要求21所述的方法,其特征在于,根据所述第一指令储存所述第一信息的所述步骤,包括根据一个预取指令储存所述第一信息的步骤。
24.如权利要求21所述的方法,其特征在于,将所述第二信息储存在所述超高速缓冲存储器的所述步骤,包括将所述第二信息存入一个阻塞式超高速缓冲存储器中的步骤。
25.如权利要求21所述的方法,其特征在于,存储所述第一信息的所述步骤包括根据具有第一指令型式的所述第一指令存储所述第一信息的步骤。
26.如权利要求21所述的方法,其特征在于,存储所述第二信息的所述步骤包括根据具有第二指令型式的所述第二指令存储所述第二信息的步骤。
27.如权利要求21所述的方法,其特征在于包括响应来自所述总线的所述地址信息与存储在所述辅助存储器中的地址信息的相互匹配,将所述辅助存储器中的所述第一信息无效处理的步骤。
28.如权利要求21所述的方法,其特征在于存储所述第二信息的步骤包括以下步骤:响应所述第二指令,将所述第二信息存储到所述高速缓冲存储器,而不管所述辅助信息是否在等待来自所述系统存储器的所述第一信息。
29.如权利要求21所述的方法,其特征在于存储所述第一信息的步骤包括以下步骤:如果所述超高速缓冲存储器没有所述第一信息,那么响应所述第一指令,将所述第一信息从所述系统存储器存储到所述辅助存储器中。
30.如权利要求29所述的方法,其特征在于存储所述第一信息的步骤包括以下步骤:只有在所述超高速缓冲存储器中没有所述第一信息时,才响应所述第一指令,将所述第一信息从所述系统存储器存储到所述辅助存储器中。
CN94116752A 1993-10-01 1994-09-30 信息处理系统及利用该系统处理信息的方法 Expired - Fee Related CN1086036C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13060493A 1993-10-01 1993-10-01
US130604 1993-10-01

Publications (2)

Publication Number Publication Date
CN1122027A CN1122027A (zh) 1996-05-08
CN1086036C true CN1086036C (zh) 2002-06-05

Family

ID=22445466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94116752A Expired - Fee Related CN1086036C (zh) 1993-10-01 1994-09-30 信息处理系统及利用该系统处理信息的方法

Country Status (11)

Country Link
US (1) US5802562A (zh)
EP (1) EP0646870B1 (zh)
JP (1) JP2702414B2 (zh)
KR (1) KR0128272B1 (zh)
CN (1) CN1086036C (zh)
AT (1) ATE220810T1 (zh)
BR (1) BR9403859A (zh)
CA (1) CA2126120C (zh)
DE (1) DE69430973T2 (zh)
ES (1) ES2176225T3 (zh)
TW (1) TW228580B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138212A (en) * 1997-06-25 2000-10-24 Sun Microsystems, Inc. Apparatus and method for generating a stride used to derive a prefetch address
US6317810B1 (en) * 1997-06-25 2001-11-13 Sun Microsystems, Inc. Microprocessor having a prefetch cache
US6098154A (en) * 1997-06-25 2000-08-01 Sun Microsystems, Inc. Apparatus and method for generating a stride used to derive a prefetch address
US6134633A (en) * 1997-10-31 2000-10-17 U.S. Philips Corporation Prefetch management in cache memory
US6078992A (en) * 1997-12-05 2000-06-20 Intel Corporation Dirty line cache
US6549984B1 (en) * 1997-12-17 2003-04-15 Intel Corporation Multi-bus access cache
US6848028B1 (en) * 2000-01-05 2005-01-25 Sun Microsystems, Inc. Microprocessor having a page prefetch cache for database applications
JP4826973B2 (ja) * 2009-09-30 2011-11-30 エヌイーシーコンピュータテクノ株式会社 情報処理装置及び情報処理装置のデータキャッシング方法並びにマルチプロセッサシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0378864A1 (en) * 1989-01-18 1990-07-25 New Holland Belgium N.V. Filter assembly for use in a hydraulic circuit
EP0449540A2 (en) * 1990-03-27 1991-10-02 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53134335A (en) * 1977-04-28 1978-11-22 Fujitsu Ltd Memory control system
US4189770A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Cache bypass control for operand fetches
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
US4363095A (en) * 1980-12-31 1982-12-07 Honeywell Information Systems Inc. Hit/miss logic for a cache memory
US4378591A (en) * 1980-12-31 1983-03-29 Honeywell Information Systems Inc. Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
JPH0291744A (ja) * 1988-09-29 1990-03-30 Toshiba Corp キャッシュメモリシステム
US5201041A (en) * 1988-12-29 1993-04-06 International Business Machines Corporation Cache bypass apparatus
US5123095A (en) * 1989-01-17 1992-06-16 Ergo Computing, Inc. Integrated scalar and vector processors with vector addressing by the scalar processor
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
JPH03100745A (ja) * 1989-09-13 1991-04-25 Nec Corp キャッシュ装置
US5317718A (en) * 1990-03-27 1994-05-31 Digital Equipment Corporation Data processing system and method with prefetch buffers
US5530941A (en) * 1990-08-06 1996-06-25 Ncr Corporation System and method for prefetching data from a main computer memory into a cache memory
US5420994A (en) * 1990-08-06 1995-05-30 Ncr Corp. Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
US5454093A (en) * 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
JPH04369061A (ja) * 1991-06-17 1992-12-21 Mitsubishi Electric Corp キャッシュメモリの制御方式
JP2881049B2 (ja) * 1991-07-30 1999-04-12 株式会社日立製作所 プリフェッチバッファ
JPH06103169A (ja) * 1992-09-18 1994-04-15 Nec Corp 中央演算処理装置のリードデータプリフェッチ機構
JPH06222990A (ja) * 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
US5566324A (en) * 1992-12-24 1996-10-15 Ncr Corporation Computer apparatus including a main memory prefetch cache and method of operation thereof
DE69327981T2 (de) * 1993-01-21 2000-10-05 Advanced Micro Devices Inc Kombinierte Speicheranordnung mit einem Vorausholungspuffer und einem Cachespeicher und Verfahren zur Befehlenversorgung für eine Prozessoreinheit, das diese Anordnung benutzt.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0378864A1 (en) * 1989-01-18 1990-07-25 New Holland Belgium N.V. Filter assembly for use in a hydraulic circuit
EP0449540A2 (en) * 1990-03-27 1991-10-02 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers

Also Published As

Publication number Publication date
CA2126120C (en) 1999-06-22
JP2702414B2 (ja) 1998-01-21
KR950012226A (ko) 1995-05-16
EP0646870B1 (en) 2002-07-17
BR9403859A (pt) 1995-06-20
US5802562A (en) 1998-09-01
ES2176225T3 (es) 2002-12-01
DE69430973T2 (de) 2003-02-13
ATE220810T1 (de) 2002-08-15
CA2126120A1 (en) 1995-04-02
CN1122027A (zh) 1996-05-08
KR0128272B1 (ko) 1998-04-15
JPH07121443A (ja) 1995-05-12
EP0646870A1 (en) 1995-04-05
TW228580B (en) 1994-08-21
DE69430973D1 (de) 2002-08-22

Similar Documents

Publication Publication Date Title
US20230342305A1 (en) Victim cache that supports draining write-miss entries
KR100278328B1 (ko) 캐시 미스 버퍼
US4858111A (en) Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
CA2062910C (en) Optimum write-back strategy for directory-based cache coherence protocols
US6931494B2 (en) System and method for directional prefetching
US5537573A (en) Cache system and method for prefetching of data
US7809888B1 (en) Content-aware caching techniques
KR100704089B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-로드촉진 방법 및 장치
US5423016A (en) Block buffer for instruction/operand caches
US20020138698A1 (en) System and method for caching directory information in a shared memory multiprocessor system
JP2003504757A (ja) 外部メモリアクセス用バッファリングシステムバス
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
JPH04233050A (ja) キャッシュメモリ交換プロトコル
CN1086036C (zh) 信息处理系统及利用该系统处理信息的方法
CN1226023A (zh) 加载/加载检测和重定序方法
US6587920B2 (en) Method and apparatus for reducing latency in a memory system
JP4162493B2 (ja) 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ
JPH06222992A (ja) キャッシュシステムおよびキャッシュコントローラを制御するための方法
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
JPH10501914A (ja) 共用キャッシュ・メモリ装置
EP0741356A1 (en) Cache architecture and method of operation
US6256710B1 (en) Cache management during cache inhibited transactions for increasing cache efficiency
US6477622B1 (en) Simplified writeback handling
GB2271653A (en) Multi-level cache system
EP0173893B1 (en) Computing system and method providing working set prefetch for level two caches

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
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