访问高速缓存管线的方法和系统技术方案

技术编号:2871909 阅读:177 留言:0更新日期:2012-04-11 18:40
一种访问高速缓冲存储器中高速缓存管线的方法,所述方法包括:    解码用于标识高速缓存管线的位移;    在寄存器中存储所述解码的位移;以及    根据所述解码的位移选择所述高速缓存管线。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术通常涉及计算机领域,尤其涉及计算机系统中的高速缓冲存储器。更具体地,本专利技术涉及使用存储的解码地址访问高速缓存管线的改进方法和系统。
技术介绍
使用高速数据缓冲存储器改进计算系统性能的技术被众所周知和广泛使用。高速缓存是保存最近使用的、来自系统存储器的数据(包含指令)的高速缓冲器。使用数据的系统存储器地址标识和定位高速缓存中的数据。系统存储器地址在地址的相应左部和右部含有最高有效位(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内的寄存器,可被处理器设计或操作系统任意使用。在写入高速缓存期间,寄存器保存数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:D·A·卢伊克
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利