CN100356345C - 访问高速缓存管线的方法和系统 - Google Patents

访问高速缓存管线的方法和系统 Download PDF

Info

Publication number
CN100356345C
CN100356345C CNB2003101005644A CN200310100564A CN100356345C CN 100356345 C CN100356345 C CN 100356345C CN B2003101005644 A CNB2003101005644 A CN B2003101005644A CN 200310100564 A CN200310100564 A CN 200310100564A CN 100356345 C CN100356345 C CN 100356345C
Authority
CN
China
Prior art keywords
cache
decoding
cache line
displacement
component
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
CNB2003101005644A
Other languages
English (en)
Other versions
CN1499377A (zh
Inventor
D·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 CN1499377A publication Critical patent/CN1499377A/zh
Application granted granted Critical
Publication of CN100356345C publication Critical patent/CN100356345C/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
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了这样一种方法和系统,该方法和系统使用预先解码的、通过寄存器堆存储的基地址偏移比特访问指定高速缓存管线,从而避免在高速缓存访问路径中执行完整的地址解码,并且用仅仅一级循环移位器/复用器逻辑替换地址产生加法器多级逻辑。解码的基寄存器偏移比特允许直接选择指定的高速缓存管线,于是不必在每次访问高速缓冲存储器时对基寄存器偏移比特执行加法和解码操作。通过循环移位解码的基地址偏移比特以选择另一个高速缓存字线的方式,访问其它高速缓存管线。

Description

访问高速缓存管线的方法和系统
技术领域
本发明通常涉及计算机领域,尤其涉及计算机系统中的高速缓冲存储器。更具体地,本发明涉及使用存储的解码地址访问高速缓存管线的改进方法和系统。
背景技术
使用高速数据缓冲存储器改进计算系统性能的技术被众所周知和广泛使用。高速缓存是保存最近使用的、来自系统存储器的数据(包含指令)的高速缓冲器。
使用数据的系统存储器地址标识和定位高速缓存中的数据。系统存储器地址在地址的相应左部和右部含有最高有效位(MSB)和最低有效位(LSB)。在逻辑上,MSB可以被视作指向系统存储器中开始位置的指针,而在与MSB连接时,LSB提供偏移以构成完整的地址。在高速缓冲存储器寻址中,MSB被称作″标签″,而LSB被称作″索引″。
每个索引标识高速缓冲存储器的一个管线(块)。标签被用来确认该管线含有来自系统存储器中特定地址的数据。也就是说,连接标签和索引以便与系统存储器地址相比较,从而确认高速缓存管线含有分配给系统存储器地址的数据。
一级(L1)高速缓存具有相对较少的高速缓存管线,通常为64到数百线。每个高速缓存管线含有许多字(计算机可以内部处理的数据的最大比特数,通常为64比特)。通常,每个高速缓存管线含有32个字(128个字节)。
为了访问特定高速缓存管线,地址生成逻辑发送一组使能信号,所述使能信号导致特定高速缓存管线的内容被发送到一组输出管脚。提供给高速缓存管线的信号是解码高速缓存管线的索引以产生信号的结果。也就是说,具有预先解码形式的索引被输入到解码器,解码器具有包括多个(通常为64个)管脚的输出。每个唯一索引导致解码器有且仅有一个输出管脚具有使能信号。
图1描述了用于选择高速缓存管线的现有技术逻辑的典型结构。指令100含有操作数码(OPCD)102和位移104。寄存器堆106含有多个寄存器,包含寄存器A(RA)和寄存器B(RB)。RA含有所请求数据的基地址,RB含有相对所请求数据的基地址的偏移。也就是说,RA含有指向含有所请求数据的系统存储器块的指针,RB含有由指令100定义、用于构成含有所请求数据的完整存储器地址的偏移。可选地,RA含有所请求数据的基地址,位移104直接描述相对所请求数据的基地址的偏移。
加法器/ALU组合来自RA的基地址和偏移(来自RB或位移106),并且向目标寄存器(RT)发送求和结果(地址)。从RT中提取针对L1高速缓存116中正确高速缓存管线的字(根据偏移112选择)的索引110和偏移112。解码器114解码6线的高速缓存地址索引110,并且通过输出64路管线选择器120的管脚中的一个输出信号。在L1高速缓存116内解码偏移112以便从64路管线选择器120选择的管线中选择期望的字。
图1图解的系统具有以下延迟:每当使用组122中示出的逻辑访问高速缓存管线时,将2个操作数相加并且接着解码高速缓存地址索引110的延迟。因此,所需一种能够避免这种延迟的系统。
发明内容
根据本发明的一个方面,提供一种访问高速缓冲存储器中高速缓存管线的方法,所述方法包括:在第一次高速缓存访问操作期间,解码用于标识高速缓存管线的位移;在寄存器中存储所述解码的位移;以及在第二次高速缓存访问操作期间,根据所述解码的位移选择所述高速缓存管线。
根据本发明的另一个方面,提供一种具有高速缓冲存储器的数据处理系统,所述数据处理系统包括:解码用于在第一次高速缓存访问操作期间标识高速缓存管线的位移的装置;在寄存器中存储所述解码的位移的装置;以及在第二次高速缓存访问操作期间根据所述解码的位移选择所述高速缓存管线的装置。
根据本发明的再一个方面,提供一种高速缓存管线选择器,包括:寄存器堆,含有用于标识高速缓存管线的解码位移数据,在第一次高速缓存访问操作期间,所述的解码位移数据在第一次高速缓存访问操作期间从一个修改的寄存器堆地址映射获得;来自所述寄存器堆的多个输出线;以及通过所述多个输出线连接到所述寄存器堆的高速缓冲存储器,其中通过经所述多个输出线向所述高速缓冲存储器发送所述解码位移数据,所述位移数据有选择地导致访问所述高速缓存管线。
于是,本发明是这样一种方法和系统,该方法和系统使用预先解码的、通过寄存器堆存储的基地址偏移比特访问指定高速缓存管线,从而避免在高速缓存访问路径中执行完整的地址解码,并且用仅仅一级循环移位器(rotator)/复用器逻辑替换地址产生加法器多级逻辑。解码的基寄存器偏移比特允许直接选择指定的高速缓存管线,于是不必在每次访问高速缓冲存储器时对基寄存器偏移比特执行加法和解码操作。通过循环移位解码的基地址偏移比特以选择另一个高速缓存管线的方式,访问其它高速缓存管线。
通过存储解码的基地址偏移比特,而不是编码(二进制)的基地址偏移比特,本发明能够减少现有技术中对每次高速缓存访问进行解码的逻辑所导致的必需延迟。于是,图1中如组122所示的现有技术多级逻辑(包含加法器、目标寄存器和管线选择解码器)被图3的组322所示的复用器/循环移位器单级逻辑所替代。这个单级逻辑导致高速缓存访问的净零延迟。
通过下面的详细描述可以理解本发明的上述以及其它目标,特性和优点。
附图说明
在所附权利要求书中提出了被认为是本发明的特征的新颖特性。然而参照下列结合附图对图解实施例进行的详细描述可以更好地理解本发明自身,最优使用模式,其它目标和优点,其中:
图1描述了现有技术的用于选择具体高速缓存管线的系统;
图2图解了本发明使用的数据处理系统;
图3描述了本发明中使用存储的解码信息选择高速缓存管线的逻辑;
图4根据本发明图解了存储解码的位移比特的寄存器的示例性内容;
图5描述了基于本发明的解码器;以及
图6图解了当解码高速缓存地址时处理进位的逻辑。
具体实施方式
现在参照图2,其中描述了示例性的数据处理系统200,数据处理系统200具有处理器205和存储器系统230,并且提供了实施本发明的适当环境。如图所示,处理器205被连接到存储器系统230,存储器系统230包含接口系统总线202、L2高速缓存204和主或系统存储器226。处理器205包含以下功能单元:定点单元(FXU)206,浮点单元(FPU)208,加载存储单元(LSU)210,指令单元(IU)212,指令高速缓存单元(ICU)214,数据高速缓存单元(DCU)216,L2高速缓存控制单元218,处理器接口单元(PIU)220,时钟分配和控制222,以及地址转换单元(ATU)224。如本领域的技术人员众所周知的,在多处理器环境中,若干处理器及其相关的L2高速缓存与系统总线202接口,从而允许共享访问主存储器(也被称为L3存储器)226。
处理器205的各种功能单元通过数据、地址、和/或控制I/O管脚,线路和/或总线(此后更详细地描述)彼此接口。应当注意,″线路″可以指单个信号线或信号线的集合,即总线。通常,处理器205的功能单元以下述方式通信。时钟分配和控制222为处理器芯片205上的所有功能单元提供时钟信号。系统总线202通过双向总线201与PIU 220接口,并且通过总线205与CCU 218接口。L2高速缓存204通过总线203与CCU218通信,CCU 218通过总线209与ICU 214交换指令,并且通过总线211与DCU 216交换指令。CCU通过总线207向ATU 224提供地址信息和接收遗失接口信号。LSU 210和IU 212被用来向ATU 224提供请求接口,并且通过线路229和231接收转换状态信息。接着,ATU 224通过线路215向ICU 214提供转换的地址信息,并且通过线路213向DCU216提供转换的地址信息。ICU 214通过总线219与指令单元212接口,DCU 216通过总线221向FXU 206、FPU 208和LSU 210提供数据,而IU 212通过总线223向FXU 206、FPU 208和LSU 210提供指令。LSU210通过总线225向DCU 216提供数据,FPU 208通过总线227针对DCU 216提供和接收数据。
加载存储单元210内的分配器将来自指令单元212的指令传送到各种执行单元的解码级缓冲器,及最好与加载存储单元210成为整体的加载存储单元流水线缓冲器。加载存储单元210的功能是产生例如64比特宽的总线上的有效地址,用于加载和存储指令,并且充当通用寄存器数据的源和宿。通用寄存器(未示出)是数据处理系统200内的寄存器,可被处理器设计或操作系统任意使用。在写入高速缓存期间,寄存器保存数据和地址,并且由使用地址转换逻辑210a的地址产生例程(AGEN)计算有效地址,在一个最优实施例中,地址转换逻辑210a包括下面参照图3描述的循环移位器308和310。在高速缓存读取期间,来自高速缓存的数据被锁定在寄存器中,并且被发送到通用寄存器或定点单元206。流水线缓冲器的输出被提供给加载存储单元的解码和地址发生器,即AGEN,解码和地址发生器含有通用寄存器和地址产生加法器,并且解码器的数据输出被提供给数据寄存器和数据选择器。接着,AGEN的地址输出被提供给执行级缓冲器。
现在参照图3描述基于本发明的优选实施例、用于选择具体的高速缓存管线的高速缓存管线选择器。寄存器堆306包含解码的列地址选择(CAS)循环移位数据314,解码的行地址选择(RAS)数据312,解码的RAS循环移位数据304,和解码的CAS数据316。
解码的CAS数据316和RAS数据312共同描述了索引,该索引通过将高速缓存管线标识成列和行对具体高速缓存管线进行定位。例如,假定高速缓存系统具有64个管线。不同地64个引线遍布所有逻辑以连通特定高速缓存管线的方式,64个管线被描述成8行8列,从而产生64个描述符。于是,通过其CAS标识符及其RAS标识符标识每个高速缓存管线。
注意,寄存器堆306中示出的RAS/CAS堆的内容来自于解码器500的输出,现有高速缓存寄存器或其它操作单元(例如浮点计算),并且没有增加那些单元的操作延迟,其中解码器500对前面产生RAS/CAS线的加法器/ALU操作的结果进行解码。下面参照图5详细讨论解码器500的操作。
由于寄存器堆306中的RAS/CAS数据被解码以便预先描述具体高速缓存管线,因此不再需要图1的组122中用于确定具体高速缓存管线的逻辑,并且该逻辑被组322中的单级逻辑替代,下面详细讨论该逻辑的组成。
现在参照图4说明寄存器堆306中示出的数据的含义。在图4中,模块402描述了普通寄存器堆地址表示,例如图1示出的系统所使用的。地址线包含编码的基地址,所述基地址被存储在图1的寄存器A(RA)中。编码的RAS和编码的CAS,以及管线内的字节地址(图1中的字选择器偏移112)被存储在图1的寄存器B(RB)中。在图1中,编码的RAS和CAS被组合成索引110。也就是说,假定编码的RAS含有3个比特,编码的CAS具有3个比特,RAS和CAS编码比特加起来产生6个编码比特。
回到图4,模块404描述了根据本发明优选实施例的修改寄存器堆地址映像。虽然管线的基地址和字节地址保持编码形式,然而以解码形式存储RAS和CAS比特,从而允许将它们直接传递给图3示出的RAS循环移位器308和CAS循环移位器310,其中RAS循环移位器308和CAS循环移位器310充当一元加法器。模块404中示出的解码RAS比特包含图3中示出的解码RAS循环移位数据304和解码RAS数据312,模块404中示出的解码CAS比特包含图3中示出的解码CAS循环移位数据314和解码CAS数据316。
再次回到图3,解码RAS循环移位数据304和解码CAS循环移位数据314分别控制8路锁存复用器/循环移位器308和310,以便将RAS和CAS信号设置到适当高速缓存管线。在″与″逻辑302中逻辑组合RAS和CAS管线,从而产生64路高速缓存管线选择输出到L1高速缓存116。64路中只有一个在逻辑上是唯一的(高或低),以便选择期望的高速缓存管线。字选择器312的工作方式类似于参照图1的偏移112描述的方式。
解码RAS和CAS数据(304、306、314、316)来自于例如图5示出的解码器500的输出。例如,假定描述RAS数据的编码二进制数″011″被输入到解码器500。解码器500的输出为8线(0-7)。当输入″011″时,线″3″上的信号改变成逻辑唯一值(最好为高),同时所有其它线(7、6、5、4、2、1、0)的输出保持低。
可以发现,循环移位器会存在进位的情况。然而这种情况的出现时间通常少于10%。于是在优选实施例中,没有使用用于RAS和CAS的进位加法器。然而可选地,可以引入这种进位加法器,从而产生进位以输入循环移位器308和310。然而在一个最优实施例中,使用图6描述的逻辑处理进位。如图6所示,按照参照图3描述的方式产生64路高速缓存管线选择。然而CAS的复用器/循环移位器610是将解码CAS 316额外循环移位一个位置的CAS复用器/循环移位器310。这个单独的额外循环移位消化了进位,从而产生适当的高速缓存管线信号。确定是否存在进位的操作最好与确定64路高速缓存管线选择的操作并行进行。于是,当假定存在进位时,使用逻辑600a,当假定没有进位时,使用逻辑600b。当确定是否存在进位时,2路选择缓冲器608在″进位″选择控制630或″没有进位″选择控制632的选择控制下,选择来自600a的″与″逻辑302a或来自600b的″与″逻辑302b的输出,并且向L1高速缓存阵列116输出所选择的″与″逻辑输出。
在图6中需要注意,2路选择缓冲器608最好被物理地大约设置在″与″逻辑和L1高速缓存阵列的中间,并且″与″逻辑302被物理地大约引向循环移位器和2路选择缓冲器608的中间。循环移位器和L1高速缓存阵列116之间的距离使得始终需要驱动器以驱动所涉及的接线距离所固有的接线电容,于是″与″逻辑302和2路选择缓冲器608在访问高速缓存阵列116时没有增加延迟时间。
于是,本发明利用了低阶有效地址产生的性质,低阶有效地址产生被用来索引L1高速缓存。这个性质包含历史数据以支持这样的情况,其中被加到基寄存器上以形成有效地址的几乎所有位移对于实际使用中的最大工作负载而言均是非常短的,并且开始数据高速缓存访问只需要非常少的有效地址比特(通常为5或6比特)。此外,这种位移通常是固定的,并且基寄存器数值高度重复,尤其是低阶比特(通常为零),这使得低阶8-12比特有效地址加法产生的进位具有非常高的可预测性。于是,以描述的方式存储和操作解码的高速缓存管线访问比特(来自有效地址),从而减少了访问高速缓存管线时的延迟。
虽然针对计算机处理器和软件描述了本发明的各个方面,然而应当理解,本发明的至少某些方面可以被实现成用于数据存储系统或计算机系统的程序产品。定义本发明的功能的程序可以通过各种信号承载介质交付到数据存储系统或计算机系统,所述信号载体介质包含但不限于非可写存储介质(例如CD-ROM)、可写存储介质(例如软盘、硬盘驱动器、读/写CD-ROM、光学介质)、和通信介质(例如包含以太网的计算机和电话网)。应当理解,当携带或编码实现本发明方法功能的计算机可读指令时,这种信号承载介质代表本发明的可选实施例。此外可以理解,可以通过这样的系统实现本发明,该系统具有如这里描述或其等同描述的硬件、软件或软件与硬件组合的形式的装置。
虽然前面参照优选实施例示出和描述了本发明,然而本领域的技术人员会理解,在不偏离本发明的宗旨和范围的前提下可以在形式和细节方面进行各种改变。

Claims (14)

1.一种访问高速缓冲存储器中高速缓存管线的方法,所述方法包括:
在第一次高速缓存访问操作期间,解码用于标识高速缓存管线的位移;
在寄存器中存储所述解码的位移;以及
在第二次高速缓存访问操作期间,根据所述解码的位移选择所述高速缓存管线。
2.如权利要求1所述的方法,还包括:
循环移位所述解码的位移,从而有选择地使能用于访问另一高速缓存管线的另一选择线。
3.如权利要求1所述的方法,其中所述解码的位移包含解码行地址选择(RAS)分量和列地址选择(CAS)分量。
4.如权利要求1所述的方法,其中所述高速缓存是一级(L1)高速缓冲存储器。
5.一种具有高速缓冲存储器的数据处理系统,所述数据处理系统包括:
解码用于在第一次高速缓存访问操作期间标识高速缓存管线的位移的装置;
在寄存器中存储所述解码的位移的装置;以及
在第二次高速缓存访问操作期间根据所述解码的位移选择所述高速缓存管线的装置。
6.如权利要求5所述的数据处理系统,还包括:
用于循环移位所述解码的位移,从而有选择地使能用于访问另一高速缓存管线的另一选择线的装置。
7.如权利要求5所述的数据处理系统,其中所述解码的位移包含解码行地址选择(RAS)分量和列地址选择(CAS)分量。
8.如权利要求5所述的数据处理系统,其中所述高速缓存是一级(L1)高速缓冲存储器。
9.一种高速缓存管线选择器,包括:
寄存器堆,含有用于标识高速缓存管线的解码位移数据,在第一次高速缓存访问操作期间,所述的解码位移数据在第一次高速缓存访问操作期间从一个修改的寄存器堆地址映射获得;
来自所述寄存器堆的多个输出线;以及
通过所述多个输出线连接到所述寄存器堆的高速缓冲存储器,其中通过经所述多个输出线向所述高速缓冲存储器发送所述解码位移数据,所述位移数据有选择地导致访问所述高速缓存管线。
10.如权利要求9所述的高速缓存管线选择器,其中所述解码位移数据包含基寄存器偏移和循环移位数据,所述高速缓存管线选择器还包括:
连接到所述寄存器堆的第一循环移位器,其中所述第一循环移位器根据所述循环移位数据循环移位所述基寄存器偏移,以便选择所述高速缓冲存储器中的高速缓存管线。
11.如权利要求9所述的高速缓存管线选择器,其中所述解码位移包含解码行地址选择(RAS)分量和列地址选择(CAS)分量,所述高速缓存管线选择器还包括:
第二循环移位器,其中所述第一循环移位器循环移位所述RAS分量,而所述第二循环移位器循环移位所述CAS分量。
12.如权利要求10所述的高速缓存管线选择器,还包括用于组合所述RAS和CAS分量以根据所述解码位移产生高速缓存管线的选择的逻辑。
13.如权利要求10所述的高速缓存管线选择器,还包括:
第三循环移位器,其中如果所述CAS分量在与所述RAS分量逻辑″与″组合时具有进位,所述第三循环移位器推测性地将所述CAS分量额外循环移位一个位置;以及
选择器,用于根据是否出现进位选择所述第一和第二循环移位器的输出或所述第一和第三循环移位器的输出。
14.如权利要求10所述的高速缓存管线选择器,还包括:
第三循环移位器,其中如果所述RAS分量在与所述CAS分量逻辑″与″组合时具有进位,所述第三循环移位器推测性地将所述RAS分量额外循环移位一个位置;以及
选择器,用于根据是否出现进位选择所述第一和第二循环移位器的输出或所述第一和第三循环移位器的输出。
CNB2003101005644A 2002-10-29 2003-10-16 访问高速缓存管线的方法和系统 Expired - Fee Related CN100356345C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/282,519 US6941421B2 (en) 2002-10-29 2002-10-29 Zero delay data cache effective address generation
US10/282,519 2002-10-29

Publications (2)

Publication Number Publication Date
CN1499377A CN1499377A (zh) 2004-05-26
CN100356345C true CN100356345C (zh) 2007-12-19

Family

ID=32107384

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101005644A Expired - Fee Related CN100356345C (zh) 2002-10-29 2003-10-16 访问高速缓存管线的方法和系统

Country Status (4)

Country Link
US (1) US6941421B2 (zh)
JP (1) JP3896356B2 (zh)
CN (1) CN100356345C (zh)
TW (1) TWI279675B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2527987A1 (en) * 2008-01-30 2012-11-28 QUALCOMM Incorporated Apparatus and methods to reduce castouts in a multi-level cache hierarchy
US8108621B2 (en) * 2009-05-27 2012-01-31 Via Technologies, Inc. Data cache with modified bit array
US8904109B2 (en) 2011-01-28 2014-12-02 Freescale Semiconductor, Inc. Selective cache access control apparatus and method thereof
US8533400B2 (en) 2011-01-28 2013-09-10 Freescale Semiconductor, Inc. Selective memory access to different local memory ports and method thereof
US8756405B2 (en) 2011-05-09 2014-06-17 Freescale Semiconductor, Inc. Selective routing of local memory accesses and device thereof
US9202532B2 (en) 2012-09-13 2015-12-01 Winbond Electronics Corp. Burst sequence control and multi-valued fuse scheme in memory device
US9916252B2 (en) * 2015-05-19 2018-03-13 Linear Algebra Technologies Limited Systems and methods for addressing a cache with split-indexes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659780A (en) * 1994-02-24 1997-08-19 Wu; Chen-Mie Pipelined SIMD-systolic array processor and methods thereof

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58189738A (ja) * 1982-04-30 1983-11-05 Hitachi Ltd デ−タ処理システム
US4578750A (en) * 1983-08-24 1986-03-25 Amdahl Corporation Code determination using half-adder based operand comparator
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
US5212778A (en) * 1988-05-27 1993-05-18 Massachusetts Institute Of Technology Message-driven processor in a concurrent computer
JP2504156B2 (ja) * 1989-01-25 1996-06-05 日本電気株式会社 情報処理装置
US5097436A (en) * 1990-01-09 1992-03-17 Digital Equipment Corporation High performance adder using carry predictions
JPH0821003B2 (ja) * 1992-08-07 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・キャッシュ・システム用の加算器/ハッシュ回路
US6226722B1 (en) * 1994-05-19 2001-05-01 International Business Machines Corporation Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing
US5829049A (en) * 1994-10-12 1998-10-27 Hewlett-Packard Company Simultaneous execution of two memory reference instructions with only one address calculation
US5532947A (en) * 1995-01-25 1996-07-02 International Business Machines Corporation Combined decoder/adder circuit which provides improved access speed to a cache
US5940877A (en) * 1997-06-12 1999-08-17 International Business Machines Corporation Cache address generation with and without carry-in
US6161166A (en) * 1997-11-10 2000-12-12 International Business Machines Corporation Instruction cache for multithreaded processor
US6415355B1 (en) * 1998-05-11 2002-07-02 Kabushiki Kaisha Toshiba Combined disk array controller and cache control method for parity generation mode and data restoration mode
US6321296B1 (en) * 1998-08-04 2001-11-20 International Business Machines Corporation SDRAM L3 cache using speculative loads with command aborts to lower latency

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659780A (en) * 1994-02-24 1997-08-19 Wu; Chen-Mie Pipelined SIMD-systolic array processor and methods thereof

Also Published As

Publication number Publication date
CN1499377A (zh) 2004-05-26
TWI279675B (en) 2007-04-21
TW200413906A (en) 2004-08-01
US6941421B2 (en) 2005-09-06
US20040083350A1 (en) 2004-04-29
JP2004152291A (ja) 2004-05-27
JP3896356B2 (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
US7663963B2 (en) Apparatus and method for providing multiple reads/writes using a 2Read/2Write register file array
KR100244841B1 (ko) 캐쉬 메모리 및 그 동작 방법
KR101503554B1 (ko) 에일리어스 어드레싱을 이용한 가변 길이 인스트럭션 인코딩의 구현
EP1849081B1 (en) Methods and apparatus for dynamically managing banked memory
US7350016B2 (en) High speed DRAM cache architecture
US11467966B2 (en) Cache memory having a programmable number of ways
US11113145B2 (en) Memory device, semiconductor device, and semiconductor system
CN101918925A (zh) 用于处理器的高关联性高速缓存的第二次机会取代机制
CN100356345C (zh) 访问高速缓存管线的方法和系统
US6647464B2 (en) System and method utilizing speculative cache access for improved performance
JP2001005675A (ja) プログラム変換装置及びプロセッサ
US6553478B1 (en) Computer memory access
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
US7243209B2 (en) Apparatus and method for speeding up access time of a large register file with wrap capability
US6901490B2 (en) Read/modify/write registers
CN114072776B (zh) 小面积高速缓冲存储器
CN112540937A (zh) 一种缓存、数据访问方法和指令处理装置
US6507531B1 (en) Cache column multiplexing using redundant form addresses
US6502179B2 (en) Method and apparatus for compactly storing instruction codes
KR100257750B1 (ko) 메모리 겸용 캐시
US20080263328A1 (en) Orthogonal register access
CN116126749A (zh) 地址映射方法、数据处理方法、装置、设备及介质
JPS5991548A (ja) 分配器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071219

Termination date: 20091116