首页> 中国专利> 运算处理装置、信息处理装置、以及运算处理装置的存储器访问方法

运算处理装置、信息处理装置、以及运算处理装置的存储器访问方法

摘要

本发明在具有高速缓冲存储器、TLB以及TSB的信息处理装置中,在进行存储器访问时发生了TLB失败的情况下,为了能大幅缩短此情况下的该存储器访问的处理时间,而使该信息处理装置构成为具有:第2检索部(14),其使用与第1虚拟地址一一对应的第2虚拟地址,从地址转换缓冲单元(13)中进行第2物理地址的检索;以及预取控制部(22),其使用作为该检索结果的第2物理地址,将与第1虚拟地址有关的第1地址转换对从地址转换用表(11)向高速缓冲存储单元(12)进行登记。

著录项

  • 公开/公告号CN101300555A

    专利类型发明专利

  • 公开/公告日2008-11-05

    原文格式PDF

  • 申请/专利权人 富士通株式会社;

    申请/专利号CN200680040941.1

  • 发明设计人 木村启昭;

    申请日2006-01-20

  • 分类号G06F12/10;G06F12/08;

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人黄纶伟

  • 地址 日本神奈川县

  • 入库时间 2023-12-17 20:53:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-13

    未缴年费专利权终止 IPC(主分类):G06F12/10 授权公告日:20101229 终止日期:20170120 申请日:20060120

    专利权的终止

  • 2010-12-29

    授权

    授权

  • 2008-12-31

    实质审查的生效

    实质审查的生效

  • 2008-11-05

    公开

    公开

说明书

技术领域

本发明涉及具有MMU(Memory Management Unit-存储器管理单元)等高速缓冲存储器和TLB(Translation Lookaside Buffer-转换后援缓冲区)的信息处理装置,并涉及在发生MMU-MISS-TRAP(TLB失败)时向高速缓冲存储器进行数据预取的技术。

背景技术

一般,与CPU(Central Processing Unit-中央处理器)的工作速度相比,主存储部的工作速度较慢,并且,由于CPU与主存储部的距离也较远,因此,CPU为了从主存储部取得数据,当发生主存储访问时,耗费处理时间。

因此,在CPU内部的执行处理命令控制和运算控制的命令运算部与主存储部之间安装高速缓冲存储器的系统已成为当前的主流。

高速缓冲存储器与主存储部比较,其可存储的容量小,但能以高速进行工作,并且,由于其与命令运算部之间的距离也比其与主存储部之间的距离近,因此,命令运算部可以用比访问主存储部远为短暂的时间将数据取出。

接着,对MMU(Memory Management Unit)进行描述,例如,在SPARC(注册商标)体系结构中,OS(Oprating System-操作系统)管理着从虚拟地址到物理地址的转换表,将其一部分项目存储到主存储部上的TSB(Translation Storage Buffer:转换存储缓冲区;地址转换用表)中,该项目由称为TTE(Translation Table Entry-转换表项目)的虚拟地址(TTE-Tag)和物理地址(TTE-Data)的对构成。

另外,还将其一部分项目存储在MMU内的TLB(TranslationLookaside Buffer)中。

此处,TSB虽然容量大,但来自命令运算部的访问相当耗费时间,而TLB虽然容量小,但能够从命令运算部进行高速的访问。

在具有这样的TSB和TLB的系统中,在所指定的虚拟地址没有被登记到位于MMU内的TLB中的情况下,就会产生MMU-MISS-TRAP(MMU失败;TLB失败)。

此时,命令运算部将该MMU-MISS-TRAP报告给OS,接收报告后的OS向CPU内部的命令运算部请求存储器访问处理,由此CPU内部的命令运算部按照图9的流程(步骤S100~S118)和图10的时间图(T1~T33)所示执行该存储器访问处理。并且,图10所示的T1~T33表示CPU内部的命令运算部的处理单位时间。

即,命令运算部根据虚拟地址,开始进行存储器访问(图9的步骤S100),从TLB中检索采用该虚拟地址和对应该虚拟地址的物理地址的对的项目(参照图9的步骤S101、图10的T1)。

此处,如果包含该虚拟地址的项目被登记在TLB中(即,在没有发生MMU-MISS-TRAP的情况下;图9的步骤S102的否分支),命令运算部为了取得与所检索的该虚拟地址对应的物理地址所表示的数据,而使用该物理地址检索高速缓冲存储器(图9的步骤S103)。

并且,若高速缓冲存储器中登记了包含该数据的高速缓冲项目(图9的步骤S104的是分支),则通过命令运算部读出该数据,完成存储器访问(步骤S105),结束处理。

另外,在高速缓冲存储器中没有登记采用该物理地址与数据的对的高速缓冲项目的情况下(图9的步骤S104的否分支),则命令运算部使用该物理地址进行主存储访问,将该物理地址的数据登记到高速缓冲存储器中(图9的步骤S106),再次开始基于该虚拟地址的处理(图9的步骤S107;即,返回到上述步骤S100)。

另一方面,在TLB中没有登记采用进行了检索的该虚拟地址的对的项目的情况下(即,发生MMU-MISS-TRAP的情况;参照图9的步骤S102的是分支,图10的T2),接收到MMU-MISS-TRAP报告后的OS向命令运算部请求后述的图9的步骤S108~S118的处理。

即,命令运算部将发生了MMU失败的该虚拟地址设定在寄存器中,并且根据该虚拟地址生成与该虚拟地址对应的TSB上的虚拟地址(以下称为TSB虚拟地址),将其设定在寄存器中之后,从寄存器中读出这些虚拟地址和TSB虚拟地址(参照图9的步骤S108、S109以及图10的T3~T8)。

并且,将该虚拟地址设定在寄存器中的处理以及生成TSB虚拟地址并将其设定在寄存器中的处理,在图10的T2到T3期间被执行。

接着,对虚拟地址与TSB虚拟地址之间的关系进行说明。如上所述,采用虚拟地址和物理地址的对的项目被保存在主存储部上的TSB中,保存有采用该虚拟地址和物理地址的对的项目的TSB上的地址是TSB物理地址,与该TSB物理地址对应的虚拟地址是TSB虚拟地址。另外,在该MMU中,采用TSB虚拟地址和TSB物理地址的对的项目被登记并保存在TLB中。

接着,命令运算部开始进行使用了所读出的TSB虚拟地址的存储器访问(图9的步骤S110),从TLB中检索采用该TSB虚拟地址以及与该TSB虚拟地址对应的TSB物理地址的对的项目(参照图9的步骤S111以及图10的T9)。另外,当从TLB中检索出(命中)这样的项目时(参照图9的步骤S112以及图10的T10),命令运算部使用该TSB物理地址在高速缓冲存储器中检索(参照图9的步骤S113以及图10的T11)。

此处,当在高速缓冲存储器中检索出(命中)采用该TSB物理地址和该TSB物理地址所表示的主存储部上所保存的数据(TTE-Tag/Data;虚拟地址和物理地址的对)的对的项目时(图9的步骤S114的是分支),则通过将检索出的该项目登记到TLB中(图9的步骤S115),从而将采用在上述步骤S101中进行检索、在上述步骤S102中发生MMU失败的虚拟地址以及与该虚拟地址对应的物理地址的对的项目登记到TLB中。然后,命令运算部再次开始进行使用了该虚拟地址的存储器访问(图9的步骤S116;即,返回到上述步骤S100)。

另一方面,当在高速缓冲存储器中没有登记采用该TSB物理地址和数据的对的高速缓冲项目时(即,发生了高速缓冲存储器失败的情况;参照图9的步骤S114的否分支以及图10的T12),则使用该TSB物理地址,对主存储部进行访问(参照图9的步骤S117以及图10的T13),从主存储部读出该TSB物理地址和数据的对,并登记到高速缓冲存储器中(参照图10的T14),再次开始进行使用了该TSB物理地址的存储器访问(参照图9的步骤S 118以及图10的T15以后;即,返回到上述步骤S110)。

另外,图10的T15~T22的处理相当于上述图9的步骤S110~S116,图10的T23~T28的处理相当于上述图9的步骤S100~S104、S106、S107,图10的T29~T33的处理相当于上述图9的步骤S100~S105的处理。

另外,迄今为止,在TLB中发生了转换失败(TLB失败)的情况下的处理技术,已提出了各种方案(例如,参照下述专利文献1~3)。

专利文献1:日本特开2000-112821号公报

专利文献2:日本特开平02-285440号公报

专利文献3:日本特开平02-178750号公报

如上所述,在现有的MMU中,因为采用进行了检索的虚拟地址对的项目没有被登记到TLB中,因此,在发生MMU-MISS-TRAP的情况下,命令运算部在OS的主导下进行下述(1)~(6)的处理。

(1)将MMU-MISS-TRAP报告给OS。

(2)从寄存器读出指定的虚拟地址。

(3)从寄存器读出根据该虚拟地址生成的TSB虚拟地址。

(4)使用TSB虚拟地址进行存储器访问。

(5)当对应TSB虚拟地址的数据存在于高速缓冲存储器或主存储部中时,则将TTE-Tag/Data(虚拟地址和物理地址的对)登记到TLB中。

(6)再次进行所指定的虚拟地址的存储器访问。

此处,在上述(5)的处理中,在高速缓冲存储器中没有该数据的情况下,发生对主存储部的存储器访问,因此,处理耗费时间,为了完成上述(1)~(6)的所有处理,就需要很多的时间。

此外,如图10所示,在现有技术中,OS在生成TSB虚拟地址之后,将该虚拟地址设定在寄存器中,从寄存器读出该设定的TSB虚拟地址(参照T6~T8),使用根据该TSB虚拟地址得到的TSB物理地址来检索高速缓冲存储器(参照T11),此处,在高速缓冲存储器中不存在数据的情况下(参照T12),开始主存储访问(参照T13)。这样,在现有技术中,存在从TSB虚拟地址生成后直到开始主存储访问为止时间太长的问题。

即,在现有技术中,无论在T2~T3期间是否生成TSB虚拟地址,在作为结果判明了高速缓冲失败之后的T13的定时之前,不会开始主存储访问,因此存在直到数据(此处,与TSB物理地址对应的TTE)到达高速缓冲存储器为止需要很长时间的问题。

另外,如图10所示,在现有技术中,无论与TSB物理地址对应的TTE在T14的定时是否到达,与该TTE的物理地址(TTE-Data)有关的数据相对于高速缓冲存储器的取出,在作为结果判明了高速缓冲存储器失败之后的T27的定时之前不被执行,因此存在直到数据到达高速缓冲存储器为止需要很长时间的问题。

此外,在连续进行的存储器访问中存在如下问题,即:在前面的存储器访问和后续的存储器访问两者中,在发生TLB失败的情况下,如果针对前面的存储器访问的上述(1)~(6)的处理没有完成,则针对后续的存储器访问不能执行上述(1)~(6)的处理。

即,如图11的时间图(T1~T56)所示,在连续的存储器访问中,在连续发生TLB失败的情况下,在前面的存储器访问中,在将发生了TLB失败的虚拟地址登记到TLB中的处理(参照T1~T22)完成之前,不会开始后续的存储器访问(参照T24),因此,当在该后续的存储器访问中也发生TLB失败时,为了完成后续的存储器访问,就会非常耗费时间(参照T56)。并且,图11中的前面的存储器访问的处理内容(T1~T33)与图10所示的存储器访问的处理内容(T1~T33)相同,并且,关于图11中的后续的存储器访问的处理(T24~T56),只有处理对象的地址不同,其处理内容与前面的存储器访问的处理(T1~T33)相同。

发明内容

本发明是鉴于上述问题而完成的,其目的在于,在具有高速缓冲存储器、TLB以及TSB的信息处理装置中,当在进行存储器访问时发生了TLB失败的情况下,可以大幅缩短此情况下存储器访问的处理时间,并且,即使在相互连续的存储器访问均发生了TLB失败的情况下,也可以大幅缩短针对这些连续的存储器访问的处理时间。

为达成上述目的,本发明的运算处理装置的特征在于,其连接到存储单元,该存储单元将第1地址转换对作为地址转换用表加以保存,该第1地址转换对是保存数据的第1物理地址和与所述第1物理地址对应的第1虚拟地址的对,所述运算处理装置具有:高速缓冲存储单元;地址转换缓冲单元,其保存第2地址转换对,并且可保存所述第1地址转换对,该第2地址转换对是第2物理地址和与该第2物理地址对应的第2虚拟地址的对,所述第2物理地址表示在所述存储单元中保存所述第1地址转换对的地址;第1检索部,其使用上述第1虚拟地址,从上述地址转换缓冲单元中进行上述第1物理地址的检索;第2检索部,其使用与上述第1虚拟地址一一对应的第2虚拟地址,从上述地址转换缓冲单元中进行上述第2物理地址的检索;以及预取控制部,其使用作为上述检索结果的第2物理地址,将与上述第1虚拟地址有关的上述第1地址转换对,从上述地址转换用表向上述高速缓冲存储单元进行登记。

另外,本发明的运算处理装置的特征在于,其还具有虚拟地址生成部,在与上述第1虚拟地址对应的第1地址转换对没有被保存在上述地址转换缓冲单元中的情况下,通过上述虚拟地址生成部进行与上述第1虚拟地址一一对应的上述第2虚拟地址的生成。

另外,本发明的运算处理装置的特征在于,上述第1检索部、上述虚拟地址生成部、上述第2检索部以及上述预取控制部被进行流水线控制,上述第1检索部、上述虚拟地址生成部、上述第2检索部以及上述预取控制部依次地执行对连续命令的处理。

另外,本发明的运算处理装置的特征在于,上述预取控制部具有:第1预取控制部,其使用上述第2物理地址从上述地址转换用表中检索上述第1地址转换对,将上述第2物理地址和检索出的上述第1地址转换对的组在上述高速缓冲存储单元中进行登记;以及第2预取控制部,其在上述地址转换缓冲单元开始进行上述第1地址转换对的登记的情况下,根据包含在上述第1地址转换对中的第1物理地址,将保存在上述第1物理地址中的数据从上述存储单元向上述高速缓冲存储单元进行登记。

另外,本发明的信息处理装置的特征在于,该信息处理装置具有:存储单元,其将第1地址转换对作为地址转换用表加以保存,该第1地址转换对是保存数据的第1物理地址和与上述第1物理地址对应的第1虚拟地址的对;高速缓冲存储单元;地址转换缓冲单元,其保存第2地址转换对,并且可保存所述第1地址转换对,该第2地址转换对是第2物理地址和与该第2物理地址对应的第2虚拟地址的对,所述第2物理地址表示在所述存储单元中保存所述第1地址转换对的地址;第1检索部,其使用上述第1虚拟地址,从上述地址转换缓冲单元中进行上述第1物理地址的检索;第2检索部,其使用与上述第1虚拟地址一一对应的第2虚拟地址,从上述地址转换缓冲单元中进行上述第2物理地址的检索;以及预取控制部,其使用作为上述检索结果的第2物理地址,将与上述第1虚拟地址有关的上述第1地址转换对,从上述地址转换用表向上述高速缓冲存储单元进行登记。

另外,本发明的信息处理装置的特征在于,上述信息处理装置还具有虚拟地址生成部,在与上述第1虚拟地址对应的第1地址转换对没有被保存在上述地址转换缓冲单元中的情况下,通过上述虚拟地址生成部进行与上述第1虚拟地址一一对应的上述第2虚拟地址的生成。

另外,本发明的信息处理装置的特征在于,上述第1检索部、上述虚拟地址生成部、上述第2检索部以及上述预取控制部被进行流水线控制,上述第1检索部、上述虚拟地址生成部、上述第2检索部、以及上述预取控制部依次地执行对连续命令的处理。

另外,本发明的信息处理装置的特征在于,上述预取控制部具有:第1预取控制部,其使用上述第2物理地址从上述地址转换用表中检索上述第1地址转换对,将上述第2物理地址和检索出的上述第1地址转换对的组在上述高速缓冲存储单元中进行登记;以及第2预取控制部,其在上述地址转换缓冲单元开始登记上述第1地址转换对的情况下,根据包含在上述第1地址转换对中的第1物理地址,将保存在上述第1物理地址中的数据从上述存储单元向上述高速缓冲存储单元中进行登记。

另外,本发明的存储器访问方法的特征在于,该方法具有如下步骤:将第1地址转换对作为地址转换用表保存在存储单元的步骤,该第1地址转换对是保存数据的第1物理地址和与上述第1物理地址对应的第1虚拟地址的对;保存第2地址转换对并且保存所述第1地址转换对的步骤,该第2地址转换对是第2物理地址和与该第2物理地址对应的第2虚拟地址的对,所述第2物理地址表示保存所述第1地址转换对的地址;使用上述第1虚拟地址从上述地址转换缓冲单元中进行上述第1物理地址的检索的步骤;使用与上述第1虚拟地址一一对应的第2虚拟地址,从上述地址转换缓冲单元中进行上述第2物理地址的检索的步骤;以及使用作为上述检索结果的第2物理地址,将与上述第1虚拟地址有关的上述第1地址转换对从上述地址转换用表向高速缓冲存储单元中进行登记的步骤。

另外,本发明的存储器访问方法的特征在于,上述运算处理装置的存储器访问方法在保存上述第1地址转换对的步骤中还具有如下步骤:根据包含在上述第1地址转换对中的第1物理地址,将保存在上述第1物理地址中的数据从上述存储单元向上述高速缓冲存储单元中进行登记的步骤。

这样,若根据本发明,在针对TLB失败的通常处理中,为了取得作为虚拟地址(TTE-Tag)和物理地址(TTE-Data)的对的项目的TTE,在执行主存储访问之前,第1预取控制部就提前执行主存储访问,由此,该第1地址转换对到达高速缓冲存储器的定时变早,具有可以大幅缩短发生了TLB失败的存储器访问的处理时间这一效果。

此外,通过流水线处理,在根据来自OS的请求的处理被执行之前,通过执行该处理,即使在相互连续的命令均发生了TLB失败的情况下,也不必等待针对前面命令的存储器访问处理完成,而可以执行该存储器访问处理、以及依次地执行针对后续命令的存储器访问处理,从而可以提前执行针对后续命令的由第1预取控制部进行的预取处理。其结果,可以在较早的阶段,将数据(上述的TTE或与第1物理地址对应的数据)保存在高速缓冲存储器中,在连续存储器访问中,即使在发生了TLB失败的情况下,也具有可以大幅度缩短所述连续存储器访问的处理时间这一效果。

另外,在向TLB进行上述TTE登记的登记部开始登记该TTE的同时,第2预取控制部(数据预取控制部)根据包含在该TTE中的第1物理地址,将保存在该第1物理地址表示的地址中的数据,从主存储部向上述高速缓冲存储器进行预取;第2预取控制部针对保存在包含于该TTE中的第1物理地址中的数据,根据该第1物理地址,从主存储部向高速缓冲存储器中进行预取,因此,在执行根据来自OS的请求的主存储访问之前,该第2预取控制部通过提前执行主存储访问,具有可以大幅缩短这种存储器访问的处理时间这一效果。

附图说明

图1是表示作为本发明的第1实施方式和第2实施方式的信息处理装置的结构的方框图。

图2是表示作为本发明的第1实施方式的信息处理装置的主要结构的方框图。

图3是表示作为本发明的第1实施方式的信息处理装置的主要结构的方框图。

图4是用于说明作为本发明的第1实施方式的预取控制方法的步骤的流程图。

图5是表示作为本发明的第1实施方式的预取控制方法的步骤的一例的时间图。

图6是表示作为本发明的第2实施方式的信息处理装置的主要结构的方框图。

图7是用于说明作为本发明的第2实施方式的预取控制方法的步骤的流程图。

图8是表示作为本发明的第2实施方式的预取控制方法的步骤的一例的时间图。

图9是用于说明具有现有的MMU(Memory Management Unit)的信息处理装置的动作步骤的流程图。

图10是表示现有的具有MMU的信息处理装置的动作步骤的一例的时间图。

图11是表示现有的具有MMU的信息处理装置的动作步骤的一例的时间图。

符号说明

1、1′...信息处理装置

10...主存储部

11...TSB(Translation Storage Buffer-转换存储缓冲区;TSB区域;地址转换用表)

12...高速缓冲存储器

13...TLB(Translation Lookaside Buffer-转换后援缓冲区;地址转换用缓冲器)

14...VA(Virtual Address-虚拟地址)比较器(第1检索部;第2检索部;检索部)

15...TSB-VA生成逻辑(第1生成部)

16...寄存器

17...PA(Physical Address-物理地址)生成逻辑(生成部;第2生成部)

18...PA比较器(高速缓冲存储器检索部)

19...高速缓冲存储器控制部

20...登记部

21...预取控制部

22...第1预取控制部

23...第2预取控制部(数据预取控制部)

具体实施方式

以下参照附图对本发明的实施方式进行说明。

[1]关于本发明的第1实施方式

首先,参照图1所示的方框图,对作为本发明的第1实施方式的信息处理装置的结构进行说明。如图1所示,本信息处理装置1构成为具有:主存储部10;以及运算处理装置2,其例如包含有:命令运算部3、高速缓冲存储器12、TLB 13、VA(Virtual Address-虚拟地址)比较器(第1检索部;第2检索部;检索部)14、TSB-VA生成逻辑(第1生成部)15、寄存器16、PA(Physical Address;物理地址)生成逻辑(生成部;第2生成部)17、PA比较器(高速缓冲存储器检索部)18、高速缓冲存储器控制部19、登记部20、以及预取控制部21。

主存储部10具有TSB(Translation Storage Buffer-转换存储缓冲区;地址转换用表,以下称为TSB区域)11,该TSB11保存与执行命令的命令运算部3所执行的命令有关的数据,并且保存采用地址转换对(第1地址项目;TTE)的项目,该地址转换对是表示保存该数据的地址的物理地址(第1物理地址;TTE(Translation Table Entry)-Data)和与该物理地址对应的虚拟地址(第1虚拟地址;TTE-Tag)的地址转换对。

高速缓冲存储器12安装在命令运算部3与主存储部10之间,用于临时保存数据。

TLB 13构成为:其既可保存作为物理地址(第2物理地址,以下称为TSB物理地址)以及与该TSB物理地址对应的虚拟地址(第2虚拟地址;以下称为TSB虚拟地址)的地址转换对的项目(第2地址项目;以下称为TSB地址项目),还可保存地址转换对(第1地址项目),所述物理地址表示在TSB区域11中保存作为地址转换对的项目的地址。

另外,如上所述,在以下的说明中,在仅提及“虚拟地址”的情况下,表示第1虚拟地址,在仅提及“物理地址”的情况下,表示第1物理地址,在仅提及“地址转换对”的情况下,表示第1地址项目。与此相对,在以下的说明中,将第2物理地址称为“TSB物理地址”,将第2虚拟地址称为“TSB虚拟地址”,将第2地址项目称为“TSB地址项目”。

此处,对高速缓冲存储器12和TLB 13的数据保存方法进行说明。

高速缓冲存储器12在保存作为物理地址和保存在该物理地址表示的主存储部10的地址中的数据的对的高速缓冲项目时,将物理地址保存为作为检索标志的“Cache-Tag”,并且将这种数据作为检索对象的数据保存为“Cache-data”。

另外,高速缓冲存储器12在保存TSB物理地址和作为保存在该TSB物理地址表示的TSB区域11的地址中的数据的地址转换对(TTE)时,将TSB物理地址保存为“Cache-Tag”,并且将地址转换对保存为“Cache-data”。

TLB 13在保存虚拟地址和物理地址的地址转换对时,将虚拟地址保存为作为检索标志的“Tag”,并且将物理地址保存为作为检索对象的数据的“Data”。

另外,TLB 13在保存TSB虚拟地址和TSB物理地址的TSB地址项目时,将TSB虚拟地址保存为作为检索索引而使用的“Tag”,并且将TSB物理地址保存为作为检索对象的“Data”。

此外,如图1所示,VA比较器14针对作为与命令运算部3的处理对象的虚拟地址(图中记载为“访问地址”)有关的地址转换对的TSB地址项目,根据该虚拟地址从TLB 13中进行检索。

另外,与通过TSB-VA生成部15根据该访问地址生成一一对应的TSB虚拟地址同时,VA比较器14针对与生成的该TSB虚拟地址有关的TSB地址项目,根据该TSB虚拟地址从TLB 13中进行检索。

在通过VA比较器14进行检索的结果是与处理对象的虚拟地址有关的地址转换对没有保存在TLB 13中(即,发生TLB失败)的情况下,TSB-VA生成逻辑(以下,称为TSB-VA生成部)15生成与该虚拟地址一一对应的TSB虚拟地址。

寄存器16临时保存发生了TLB失败的虚拟地址、或由TSB-VA生成部15生成的TSB虚拟地址。

PA生成逻辑(以下,称为PA生成部)17根据VA比较器14检索TLB 13的结果得到的、与发生了TLB失败的TSB虚拟地址对应的TSB物理地址,生成表示TSB区域11的实际地址的最终的TSB物理地址,与VA比较器14完成检索同时,生成最终的TSB物理地址。

例如,PA生成部17通过在与发生了上述TLB失败的TSB虚拟地址对应的TSB物理地址中添加该TSB虚拟地址的一部分,从而生成最终的TSB物理地址。

另外,PA生成部17根据发生TLB失败后从TSB区域11读出的物理地址和与该物理地址对应的虚拟地址,生成与该虚拟地址对应的、表示主存储部10的实际地址的最终的物理地址。

例如,PA生成部17通过将虚拟地址的一部分添加到物理地址中,生成该最终的物理地址。

PA比较器18用于检索保存在高速缓冲存储器12中的数据,根据物理地址,检索保存在该物理地址表示的主存储部10的地址中的数据。

另外,PA比较器18根据TSB物理地址检索地址转换对,该地址转换对是保存在该TSB物理地址表示的TSB区域11的地址中的项目。

高速缓冲存储器控制部19用于控制高速缓冲存储器12,在通过PA比较器18进行检索的结果是检索对象的高速缓冲项目没有被保存在高速缓冲存储器12中的情况下,高速缓冲存储器控制部19从主存储部10读出作为检索对象的数据,并将其作为高速缓冲项目保存在高速缓冲存储器12中。

登记部20用于将保存在高速缓冲存储器12中的高速缓冲项目中的地址转换对登记在TLB 13中。并且,在本信息处理装置1中,TSB地址项目由OS(Operating system-操作系统)来管理,被预先登记保存到TLB13中。

预取控制部21构成为具有第1预取控制部22和第2预取控制部(数据预取控制部)23。

第1预取控制部22在通过VA比较器14检索出与TSB虚拟地址对应的TSB物理地址的同时,使用由PA生成部17生成的最终的TSB物理地址,将与发生了TLB失败的处理对象的虚拟地址有关的地址转换对从主存储部10的TSB区域11向高速缓冲存储器12中进行预取。

此处,参照图1和图2对第1预取控制部22进行更加详细的说明,第1预取控制部22在通过VA比较器14从TLB 13中检索出与设定在寄存器16中的TSB虚拟地址对应的TSB物理地址的同时,使PA比较器18根据该检索出的TSB物理地址从高速缓冲存储器12中检索高速缓冲项目,该高速缓冲项目是该TSB物理地址和被保存在该TSB物理地址表示的TSB区域11的地址中的地址转换对的对。

即,在由PA生成部17生成了最终的TSB物理地址的情况下,第1预取控制部22使PA比较器18执行使用了该最终TSB物理地址的高速缓冲存储器的检索。

另外,在通过PA比较器18进行检索的结果是没有从高速缓冲存储器12中检索出作为TSB物理地址和地址转换对的对的该高速缓冲项目(即,在高速缓冲存储器12中没有保存这种高速缓冲项目)的情况下,第1预取控制部22使高速缓冲存储器控制部19将TSB物理地址和地址转换对的对作为高速缓冲项目登记到高速缓冲存储器12中。

即,第1预取控制部22通过控制高速缓冲存储器控制部19,从而根据这种最终的TSB物理地址,从主存储部10的TSB区域11读出地址转换对,使TSB物理地址与该读出后的地址转换对的对作为高速缓冲项目保存到高速缓冲存储器12中。

第2预取控制部23针对被保存在高速缓冲存储器12中的高速缓冲项目,在登记部20开始将发生了TLB失败的虚拟地址的地址转换对向TLB 13中登记的同时,根据该地址转换对的物理地址,仅在发生了高速缓冲失败的情况下,将保存在该物理地址中的数据从主存储部10向高速缓冲存储器12进行预取。

并且,在本信息处理装置1中,至少TSB-VA生成逻辑15、寄存器16、PA生成逻辑17、PA比较器18、高速缓冲存储器控制部19以及登记部20起到如下第1地址项目登记部的作用:在通过检索部14进行检索的结果是与发生了TLB失败的虚拟地址有关的地址转换对没有被保存在TLB 13中的情况下,根据与该虚拟地址一一对应的TSB虚拟地址的TSB地址项目,将与该虚拟地址对应的地址转换对向TLB 13中进行登记。此外,也可以使预取控制部21的第1预取控制部22起到第1地址项目登记部的作用。

此处,参照图1和图3对第2预取控制部23进行更加详细的说明,在通过VA比较器14检索的结果是与处理对象的虚拟地址有关的地址转换对没有被保存在TLB 13内的情况下,在起到第1地址项目登记部的作用的TSB-VA生成部15、寄存器16、PA生成部17、PA比较器18、高速缓冲存储器控制部19、登记部20以及第1预取控制部22开始将与这种虚拟地址有关的地址转换对登记到TLB 13中的同时,第2预取控制部23将这种地址转换对的物理地址所表示的地址上的数据仅在发生高速缓冲存储器访问失败的情况下才向高速缓冲存储器12进行预取。

即,第2预取控制部23以登记部20开始向TLB 13中登记地址转换对作为触发来控制高速缓冲存储器控制部19,在高速缓冲存储器控制部19中,根据这种地址转换对的物理地址,将保存在该物理地址所表示的主存储部10上的地址中的数据从主存储部10读出,向高速缓冲存储器12中进行登记。

接着,参照图4所示的流程图(步骤S10~S32)和图5所示的时间图(t1~t40)对本信息处理装置1的动作(预取控制方法)进行说明。并且,图5中的t1~t40分别表示本信息处理装置1的处理单位时间。

首先,命令运算部3根据虚拟地址开始存储器访问(图4的步骤S10),VA比较器14针对该虚拟地址和与该虚拟地址对应的物理地址的地址转换对,从TLB 13中进行检索(参照图4的步骤S11,图5的t1;第1检索步骤)。

此处,在这种地址转换对没有被登记在TLB 13中的情况下(即,发生MM-MISS-TRAP的情况;参照图4的步骤S12的是分支和图5的t2),命令运算部3向OS报告MMU-MISS-TRAP,并且,TSB-VA生成部15根据发生了TLB失败的虚拟地址,生成与该虚拟地址一一对应的TSB虚拟地址(TSB-VA)(参照图5的t3;第1生成步骤)。

此时,在图5的t3~t5所示的期间,通过OS将这种虚拟地址与该生成后的TSB虚拟地址临时设定在寄存器16中。

然后,在通过TSB-VA生成部15生成TSB虚拟地址的同时(即,在TSB虚拟地址生成后紧接着),VA比较器14从TLB 13中检索与所生成的TSB虚拟地址有关的TSB地址项目(参照图4的步骤S13和图5的t4;第2检索步骤)。

接着,在通过VA比较器14从TLB 13中检索出TSB地址项目(即,发生TLB-HIT的情况;参照图4的步骤S14,图5的t5)的同时(即,通过VA比较器14检索出TSB地址项目后紧接着),第1预取控制部22使用检索出的TSB物理地址,将发生了TLB失败的虚拟地址的地址转换对(TTE-Data)从主存储部10的TSB区域11向高速缓冲存储器12进行预取(参照图4的步骤S15和图5的t6~t8;第1预取控制步骤)。

并且,在第1预取控制步骤中,根据来自第1预取控制部22的信号,PA比较器18从高速缓冲存储器12中检索这种地址转换对(高速缓冲存储器检索步骤),在该检索结果是这种地址转换对没有被保存在高速缓冲存储器12中(发生了高速缓冲失败)的情况下(参照图5的t7),高速缓冲存储器控制部19根据来自第1预取控制部22的信号,开始对主存储部10的TSB区域11进行访问(参照图5的t8),以便将TSB物理地址和地址转换对的对预取到高速缓冲存储器12中。并且,当接收该地址转换对时,高速缓冲存储器控制部19将该地址转换对以及该TSB物理地址作为高速缓冲项目保存在高速缓冲存储器12中(保存步骤)。但是,在图5所示的例子中,由于在进行后述的根据来自OS的请求的通常处理(图5的t12~t16)后接收该地址转换对,因此,在图5所示的例中,保存步骤在t19的定时被执行。

此处,在本信息处理装置1中,在第1预取控制部22开始预取的同时,根据来自OS的请求开始针对TLB失败进行通常处理(参照图5的t6)。

即,根据来自OS的请求,命令运算部3从寄存器16读出发生了TLB失败的虚拟地址(参照图4的步骤S16,图5的t6~t8),另外,从寄存器16中读出由TSB-VA生成部15生成的TSB虚拟地址(参照图4的步骤S17和图5的t9~t11)。

然后,开始根据所读取的TSB虚拟地址进行存储器访问(图4的步骤18),首先,VA比较器14根据TSB虚拟地址从TLB13中检索与该TSB虚拟地址对应的TSB物理地址(参照图4的步骤S19和图5的t12)。

接着,当检索出TSB物理地址时(TLB命中的情况;参照图4的步骤S20和图5的t13),PA比较器18根据检索出的TSB物理地址,从高速缓冲存储器12中检索该TSB物理地址和与该TSB物理地址对应的地址转换对(TTE-Data)(参照图4的步骤S21和图5的t14)。

此处,在通过PA比较器18检索的结果是在高速缓冲存储器12中没有将该TSB物理地址和该地址转换对的对作为高速缓冲项目进行保存的情况下(即,发生高速缓冲失败的情况;参照图4的步骤S22的否分支和图5的t15),高速缓冲存储器控制部19为了将该TSB物理地址和该地址转换对的对取出到高速缓冲存储器12中,而对主存储部10的TSB区域11进行访问(参照图4的步骤S23和图5的t16)。

这样,在本信息处理装置1中,在将MM-MISS-TRAP报告给OS之后的、根据来自OS的请求对TLB失败执行处理(参照图4的步骤S16~S23,图5的t12~t16)之前,通过TSB-VA生成部15生成TSB虚拟地址,紧接着VA比较器14和第1预取控制部22为了将与发生了TLB失败的虚拟地址有关的地址转换对保存在高速缓冲存储器12中,而执行预取处理(参照图4的步骤S13~S15,图5的t4~t7),因此,相对于根据来自OS的请求的通常处理,在本例中,可以提前相当于8t(8个处理时间单位)对主存储部10执行访问(参照图5的t8)。

从而,该地址转换对到达高速缓冲存储器12、并将该地址转换对登记到高速缓冲存储器12中的定时,比起只执行这种通常处理的情况,可以大大提前,从而可以缩短发生了TLB失败的情况下的处理时间。

然后,在根据OS的请求而进行主存储访问(参照图4的步骤S23和图5的t16)之后,在地址转换对到达高速缓冲存储器12的情况下,该地址转换对和与该地址转换对对应的TSB物理地址的对作为高速缓冲项目被登记到高速缓冲存储器12中(参照图5的t19;保存步骤),再次开始根据由TSB-VA生成部15生成的TSB虚拟地址进行存储器访问(参照图4的步骤S24)。即,返回到图4的步骤S18。

此处,VA比较器14根据由TSB-VA生成部15生成的、与发生了TLB失败的虚拟地址一一对应的TSB虚拟地址,再次检索TLB 13(参照图4的步骤S19、S20和图5的t20、t21),PA比较器18使用命中的TSB物理地址,从高速缓冲存储器12中检索发生了TLB失败的虚拟地址的地址转换对(TTE-Data)(参照图4的步骤S21和图5的t22)。

该TSB物理地址和地址转换对的对由于在上述步骤S23(即,参照图5的t19;保存步骤)中作为高速缓冲项目已经被登记到高速缓冲存储器12中,因此,在本次通过PA比较器18进行的检索中,作为该TSB物理地址和地址转换对的对的高速缓冲项目被命中(参照图4的步骤S22的是分支和图5的t23),完成由TSB-VA生成部15生成的TSB虚拟地址的存储器访问(TSB-VA访问)(参照图5的t24)。

接着,登记部20将高速缓冲命中后的地址转换对登记到TLB 13中(参照图4的步骤S25和图5的t25、t26、t27;第1地址项目登记步骤)。

此时,在本信息处理装置1中,在登记部20开始将地址转换对登记到TLB 13中的同时,第2预取控制部23根据该地址转换对的物理地址,将保存在该物理地址表示的主存储部10的地址中的数据从主存储部10向高速缓冲存储器12进行预取(参照图4的步骤S26和图5的t25~t28;第2预取控制步骤,预取控制步骤)。

即,第2预取控制部23以登记部20开始将地址转换对向TLB 13中登记作为触发,或者以输入到登记部20中的TLB登记请求信号作为触发,开始进行预取。

具体地,第2预取控制部23首先根据这种地址转换对的虚拟地址和物理地址,使PA生成部17生成最终的物理地址(参照图5的t25;第2生成步骤,生成步骤)。

接着,第2预取控制部23使用由PA生成部17生成的最终的物理地址,使PA比较器18执行高速缓冲存储器12的检索(参照图5的t26;高速缓冲存储器检索步骤)。

此处,在发生了高速缓冲失败的情况下(参照图5的t27),第2预取控制部23使高速缓冲存储器控制部19使用发生了高速缓冲失败的物理地址,针对被保存在该物理地址表示的主存储部10的地址中的数据执行预取(即,执行主存储访问;参照图5的t28)。

并且,在接收了该数据的情况下,高速缓冲存储器控制部19将该数据和该物理地址的对作为高速缓冲项目保存在高速缓冲存储器12中(保存步骤)。但是,在图5所示的例子中,由于该数据在后述的通常处理(图5的t28~t32)之后到达,因此,在图5所示的例子中,保存步骤在t35的定时被执行。

另一方面,当完成图4的步骤S25和图5的t25~t28所示的TTE-Data的登记处理时,命令运算部3再次开始进行发生了TLB失败的虚拟地址的存储器访问处理(图4的步骤S27)。即,返回到上述步骤S10。

然后,VA比较器14使用发生了TLB失败的虚拟地址,再次进行TLB13的检索(参照图4的步骤S11和图5的t28)。

此处,通过上述图4的步骤S25和图5的t25~t28中的登记处理,该虚拟地址的地址转换对作为项目已被登记在TLB 13中,因此,并不会发生MMU-MISS-TRAP(TLB失败),而发生TLB命中(参照图4的步骤S 12的否的分支和图5的t29)。

接着,PA比较器18使用发生了TLB命中的与该虚拟地址对应的物理地址,从高速缓冲存储器12中检索被保存在该物理地址表示的主存储部10的地址中的数据(参照图4的步骤S28和图5的t30)。

此处,在通过PA比较器18进行检索的结果是作为该物理地址和该数据的对的该高速缓冲项目没有被保存在高速缓冲存储器12中的情况下(即,高速缓冲存储器失败发生的情况;参照图4的步骤S29的否的分支和图5的t31),为了将该物理地址和该数据的对取出到高速缓冲存储器12中,高速缓冲存储器控制部19对主存储部10进行访问(参照图4的步骤S30和图5的t32)。

这样,在本信息处理装置1中,在发生了TLB失败的虚拟地址和物理地址的地址转换对向TLB 13中登记的处理(参照图4的步骤S25和图5的t25~t28)之后被执行的、使用了该虚拟地址的处理(VA访问;图5的t28~t32)开始之前,开始这种登记处理,同时,为了使与该虚拟地址对应的物理地址、以及该物理地址表示的地址上的数据作为高速缓冲项目保存到高速缓冲存储器12中,第2预取控制部23执行预取处理(参照图4的步骤S26和图5的t25~t28)。

从而,针对该处理,例如在本例中可以提前4t(4个处理时间单位)执行对主存储部10的访问(参照图5的t28)。

因此,比起只执行这种通常处理的情况,高速缓冲存储器12接收该数据、将该数据登记到高速缓冲存储器12中的定时可以提前,从而可以缩短发生了TLB失败情况下的处理时间。

然后,在根据OS的请求而进行主存储访问(参照图4的步骤S30和图5的t32)之后,当高速缓冲存储器12接收到物理地址表示的地址上的数据时,该物理地址和该数据的对作为高速缓冲项目被登记到高速缓冲存储器12中(参照图5的t35;保存步骤),再次开始根据发生了TLB失败后的虚拟地址进行存储器访问(参照图4的步骤S31)。即,返回到图4的步骤S10。

此处,VA比较器14使用发生了TLB失败的虚拟地址,第3次对TLB13执行检索(参照图4的步骤S11和图5的t36)。

接着,利用TLB命中(参照图4的步骤S12的否的分支和图5的t37)后的结果得到的、与该虚拟地址对应的物理地址,PA比较器18从高速缓冲存储器12中再次检索该物理地址表示的数据(参照图4的步骤S28和图5的t38)。

该物理地址和该数据的对在上述步骤S30(即,参照图5的t35)中已经作为高速缓冲项目被登记到高速缓冲存储器12中,因此,在本次由PA比较器18进行的检索中,该物理地址和数据的对作为高速缓冲项目被命中(参照图4的步骤S29的是分支和图5的t39)。

然后,通过将检索到的该数据发送到命令运算部3,完成该存储器访问处理(参照图4的步骤S32和图5的t40)。

这样,根据作为本发明的第1实施方式的信息处理装置1和预取控制方法,VA比较器14在通过TSB-VA生成部15生成TSB虚拟地址的同时,使用该TSB虚拟地址从TLB 13中检索TSB地址项目(第2检索步骤),在通过该VA比较器14检索出与该TSB虚拟地址对应的TSB物理地址的同时,第1预取控制部使用检索出的该TSB物理地址,将发生了TLB失败的虚拟地址的地址转换对从主存储部10的TSB区域11向高速缓冲存储器12进行预取(第1预取控制步骤),因此,在本信息处理装置1的针对TLB失败进行的通常处理中,在执行主存储访问以便取得该地址转换对之前,第1预取控制部22提前执行主存储访问,使高速缓冲存储器12接收该地址转换对的定时变早,其结果,能够大幅缩短发生了TLB失败的存储器访问的处理时间。

另外,在登记部20开始将该地址转换对向TLB 13中的登记(登记步骤;第1地址项目登记步骤)的同时,第2预取控制部23根据该物理地址,将保存在该地址转换对的物理地址所表示的地址中的数据从主存储部10向高速缓冲存储器12进行预取(第2预取控制步骤),因此,在本信息处理装置1的针对TLB失败进行的通常处理中,在执行主存储访问以便取得该数据以前,第2预取控制部23提前执行主存储访问,使该数据到达高速缓冲存储器12的定时变早,其结果,能够缩短发生了TLB失败的存储器访问的处理时间。

[2]关于本发明的第2实施方式

接着,对作为本发明的第2实施方式的信息处理装置进行说明。如图1所示,作为本发明的第2实施方式的信息处理装置1′具有与上述图1所示的第1实施方式的信息处理装置1相同的结构,但相对于第1实施方式的信息处理装置1,VA比较器14、TSB-VA生成部15、PA生成部17、PA比较器18、高速缓冲存储器控制部19、登记部20、以及预取控制部21构成为:在发生了TLB失败的情况下,在向OS报告MMU-MISS-TRAP之前,根据所生成的表示发生了TLB失败的信号(以下,称为TLB失败信号)来执行该MMU-MISS-TRAP处理;并且构成为:通过流水线控制,依次地执行针对连续命令的处理(存储器访问处理)。

从而,如图6所示,在本信息处理装置1′中,VA比较器14根据发生TLB失败时所生成的TLB失败信号来进行检索,第1预取控制部22在通过VA比较器14从TLB 13中检索出设定在寄存器16中的与TSB虚拟地址对应的TSB物理地址的同时,根据这种TLB失败信号执行预取处理。

此处,关于作为本发明的第2实施方式的预取控制方法,参照图7所示的流程图(步骤S10、S11、S12′、S13~S32)进行说明。并且,在图7中,与已描述的符号相同的符号,表示相同的步骤或基本相同的步骤。

如该图7所示,本预取控制方法相对于上述图4所示的第1实施方式的预取控制方法,除了第1实施方式的预取控制方法中的将MMU-MISS-TRAP报告给OS的步骤(步骤S12)变成发送TLB失败信号的步骤(步骤S12′)这点外,其他相同。

即,在开始发生TLB失败的情况下(步骤S12′的是分支),当通过TSB-VA生成部15生成与发生了TLB失败的虚拟地址一一对应的TSB虚拟地址时,VA比较器14使用该TSB虚拟地址检索TLB 13(步骤S13),第1预取控制部22使用命中(步骤S14)的TSB物理地址,将这种虚拟地址的地址转换对向高速缓冲存储器12中进行预取。

另一方面,在发生了这种TLB失败(步骤S12′的是分支)后,在命令运算部3向OS报告MM-MISS-TRAP之后,与上述第1实施方式的预取控制方法相同,执行步骤S16~S27的处理。

从而,根据本信息处理装置1′和本预取控制方法,可以得到与上述第1实施方式同样的作用效果。

另外,本信息处理装置1′如上所述,VA比较器14、TSB-VA生成部15、PA生成部17、PA比较器18、高速缓冲存储器控制部19、登记部20、以及预取控制部21被进行流水线控制,关于本信息处理装置1′的流水线动作(即,由本信息处理装置1′进行的、针对连续的2个命令的存储器访问处理),参照图8所示的时间图(t1~t71)进行说明。并且,在图8中,对于与已描述的处理内容相同的处理内容,此处省略其详细说明。此外,图8中的t1~t71分别表示本信息处理装置1′的处理单位时间。

如图8所示,本信息处理装置1′在命令运算部3中连续被输入2个命令时,首先,VA比较器14使用前面的处理对象的虚拟地址检索TLB 13(参照t1)。此处,在发生了TLB失败的情况下(参照t2),由TSB-VA生成部15、VA比较器14、以及第1预取控制部22(PA比较器18和高速缓冲存储器控制部19)进行的处理顺次被执行(参照t3~t8)。并且,该t3~t8的各处理与图5所示的t3~t8的各处理相同。

此时,在本信息处理装置1′中,VA比较器14在使用前面的虚拟地址完成检索(参照t1)的同时,执行使用后续的虚拟地址的TLB 13的检索(参照t2)。

然后,关于后续的虚拟地址,在发生了TLB失败的情况下,由TSB-VA生成部15、VA比较器14、以及第1预取控制部22完成对前面的虚拟地址的处理,同时(即,在下一处理单位时间中),执行针对后续虚拟地址的处理(参照t4~t9)。

从而,在图8所示的例子中,由TSB-VA生成部15、VA比较器14、以及第1预取控制部22分别进行的针对后续虚拟地址的处理,相对于对前面虚拟地址的处理是错开1t(1个处理单位时间)来执行,依次地执行针对前面虚拟地址的处理和针对后续虚拟地址的处理。

对于后续虚拟地址,通常,在t29的定时处理被执行,根据来自OS的请求进行的、与TSB物理地址对应的发生了TLB失败的虚拟地址的地址转换对从TSB区域11的取出(主存储访问),在t44的定时被执行,但在本信息处理装置1′中,如上所述,由于能够提前到t9的定时执行主存储访问,因此,比起只执行通常处理的情况,可以使数据登记到高速缓冲存储器12的定时更早,其结果,能够缩短连续的存储器访问和发生了TLB失败的情况下的处理时间。

并且,在图8中,列举了在针对后续虚拟地址的通常处理(参照t29~t71)中,通过PA比较器18使用TSB物理地址进行检索的结果(参照t42)是高速缓冲存储器失败(参照t43)的情况,但如上所述,由于在t9的定时已经执行主存储访问,因此,此处有时也有高速缓冲存储器命中的情况。在此情况下,能够进一步缩短存储器访问处理的处理时间。

另外,此处列举了2个命令连续的情况为例进行了说明,但在3个以上的命令连续的情况下,该命令处理中的由预取控制部21进行的预取处理,在比通常处理更早的阶段被执行,由此,越是后续命令,预取处理的处理时间缩短的效果越高。

并且,在图8中,针对前面虚拟地址的t1~t40中的处理(图中的“前面的VA访问”、以及“前面的TSB-VA访问”),与上述图4的t1~t40中的处理相同。另外,针对后续虚拟地址的t29~t71中的处理(图中的“后续的VA访问”、以及“后续的TSB-VA访问”)只有处理对象的虚拟地址不同,其处理内容与针对前面虚拟地址的t1~t40中的处理相同。

这样,根据作为本发明的第2实施方式的信息处理装置1′,VA比较器14、TSB-VA生成部15、PA生成部17、PA比较器18、高速缓冲存储器控制部19、登记部20、以及预取控制部21,根据向OS报告MMU-MISS-TRAP之前生成的TLB失败信号进行动作,并且,由于进行流水线控制,因此,即使在连续命令中均发生了TLB失败的情况下,也不等待针对前面命令的存储器访问处理完成,而能够执行该存储器访问处理、以及依次地执行针对后续命令的存储器访问处理。针对后续命令的由预取控制部21进行的预取处理能够大幅提前执行,可以在非常早的阶段将数据(地址转换对或与物理地址对应的数据)保存到高速缓冲存储器12中。从而,在连续的存储器访问中,即使在发生了TLB失败的情况下,也可以缩短这种处理时间。

[3]其他

并且,本发明并不仅限于上述实施方式,在不脱离本发明主旨的范围内,可以进行种种变形和组合后实施。

并且,在本发明中,并不仅限于上述图5、图8的时间图中的处理单位时间。即,图5、图8的时间图中所示的各处理被执行的处理时间(各处理的处理时间的长短)在本发明中不受限定。

如以上详述的那样,本发明的信息处理装置的特征在于具有:命令运算部,其执行命令;主存储部,其具有地址转换用表,该地址转换用表保存与通过该命令运算部执行的命令有关的数据,并且保存第1地址转换对,该第1地址转换对是表示保存该数据的地址的第1物理地址、以及与该第1物理地址对应的第1虚拟地址的地址转换对;高速缓冲存储器,其介入安装在上述命令运算部与上述主存储部之间,用于临时保存数据;地址转换用缓冲器,其保存第2地址转换对,同时可保存第1地址转换对,该第2地址转换对是表示在上述地址转换用表中保存第1地址转换对的地址的第2物理地址、以及与该第2物理地址对应的第2虚拟地址的地址转换对;第1检索部,其从上述地址转换用缓冲器中检索与处理对象的第1虚拟地址有关的第1地址转换对;第1生成部,在由该第1检索部进行检索的结果是与上述处理对象的第1虚拟地址有关的第1地址转换对没有被保存在上述地址转换用缓冲器内的情况下,根据该第1虚拟地址,生成与该第1虚拟地址对应的第2虚拟地址;第2检索部,其在通过该第1生成部生成上述第2虚拟地址的同时,从上述地址转换用缓冲器中检索与被生成的上述第2虚拟地址有关的第2地址转换对;第1预取控制部,其在通过该第2检索部检索出与上述第2虚拟地址对应的第2物理地址的同时,利用检索出的该第2物理地址,将与上述处理对象的第1虚拟地址有关的第1地址转换对,从上述主存储部的上述地址转换用表预取到上述高速缓冲存储器中。

并且,优选方式为,上述第1检索部、上述第1生成部、上述第2检索部、以及上述第1预取控制部被进行流水线控制,上述第1检索部、上述第1生成部、上述第2检索部、以及上述第1预取控制部并行地执行针对连续命令的处理。

并且,优选方式为,上述信息处理装置还具有高速缓冲存储器检索部,其从上述高速缓冲存储器中检索上述第2物理地址和上述第1地址转换对的对。上述第1预取控制部使上述高速缓冲存储器检索部根据上述第2物理地址从上述高速缓冲存储器中检索该第2物理地址和保存在该第2物理地址表示的地址中的第1地址转换对的对。在通过上述高速缓冲存储器检索部检索的结果是该第2物理地址和该第1地址转换对的对没有被保存在上述高速缓冲存储器中的情况下,从上述地址转换用表中读出该第1地址转换对,将该第2物理地址和该第1地址转换对的对保存在上述高速缓冲存储器中。

并且,优选方式为,上述信息处理装置构成为还具有:登记部,其将保存在上述高速缓冲存储器中的、与上述处理对象的第1虚拟地址有关的第1地址转换对登记到上述地址转换用缓冲器中;第2预取控制部,其在该登记部开始将上述第1地址转换对向上述地址转换用缓冲器中登记的同时,根据该第1地址转换对的第1物理地址,将保存在该第1物理地址表示的地址中的数据从上述主存储部预取到上述高速缓冲存储器中。

并且,优选方式为,上述信息处理装置还具有第2生成部,其根据第2虚拟地址和第2物理地址,生成针对该第2虚拟地址的最终的物理地址,上述第1预取控制部使用由上述第2生成部生成的最终的物理地址执行上述预取。

此外,本发明的信息处理装置的特征在于具有:命令运算部,其执行命令;主存储部,其具有地址转换用表,该地址转换用表保存与通过该命令运算部执行的命令有关的数据,并且保存第1地址转换对,该第1地址转换对是表示保存该数据的地址的第1物理地址和与该第1物理地址对应的第1虚拟地址的地址转换对;高速缓冲存储器,其介入安装在上述命令运算部与上述主存储部之间,用于临时保存数据;地址转换用缓冲器,其保存第2地址转换对,并且可保存第1地址转换对,该第2地址转换对是表示在上述地址转换用表中保存第1地址转换对的地址的第2物理地址、以及与该第2物理地址对应的第2虚拟地址的地址转换对;检索部,其从上述地址转换用缓冲器中检索与处理对象的第1虚拟地址有关的第1地址转换对;第1地址转换对登记部,其在通过该检索部检索的结果是与上述处理对象的第1虚拟地址有关的第1地址转换对没有保存在上述地址转换用缓冲器中的情况下,根据与该第1虚拟地址对应的第2地址转换对,将与该第1虚拟地址有关的第1地址转换对登记到上述地址转换用缓冲器中;数据预取控制部,其在该第1地址转换对登记部开始将上述第1地址转换对向上述地址转换用缓冲器中登记的同时,根据该第1地址转换对的第1物理地址,将保存在该第1物理地址表示的地址中的数据从上述主存储部预取到上述高速缓冲存储器中。

另外,优选方式为,上述信息处理装置还具有高速缓冲存储器检索部,其从上述高速缓冲存储器中检索上述第1物理地址和上述数据的对。上述数据预取控制部根据上述第1物理地址,从上述高速缓冲存储器中检索该第1物理地址、以及保存在该第1物理地址表示的地址中的上述数据的对,在通过上述高速缓冲存储器检索部检索的结果是该第1物理地址和该数据的对没有被保存在上述高速缓冲存储器中的情况下,读出该数据,将该第1物理地址和该数据的对保存到上述高速缓冲存储器中。

另外,优选方式为,上述信息处理装置还具有生成部,其根据第1虚拟地址和第1物理地址,生成对应该第1虚拟地址的最终的物理地址。上述数据预取控制部使用由上述生成部生成的最终的物理地址执行上述预取。

此外,本发明的预取控制方法是在信息处理装置中,将第1地址转换对预取到上述地址转换用缓冲器中的方法,该信息处理装置具有:命令运算部,其执行命令;主存储部,其具有地址转换用表,该地址转换用表保存与通过该命令运算部执行的命令有关的数据,并且保存第1地址转换对,该第1地址转换对是表示保存该数据的地址的第1物理地址、以及与该第1物理地址对应的第1虚拟地址的地址转换对;高速缓冲存储器,其介入安装在上述命令运算部与上述主存储部之间,用于临时保存数据;地址转换用缓冲器,其保存第2地址转换对,并且可保存第1地址转换对,该第2地址转换对是表示在上述地址转换用表中保存第1地址转换对的地址的第2物理地址、以及与该第2物理地址对应的第2虚拟地址的地址转换对,该预取控制方法的特征在于具有如下步骤:第1检索步骤,在该步骤中,从上述地址转换用缓冲器中检索与处理对象的第1虚拟地址有关的第1地址转换对;第1生成步骤,在该步骤中,在该第1检索步骤中的检索结果是与上述处理对象的第1虚拟地址有关的第1地址转换对没有被保存在上述地址转换用缓冲器内的情况下,根据该第1虚拟地址,生成与该第1虚拟地址对应的第2虚拟地址;第2检索步骤,在该步骤中,与在该第1生成步骤中生成上述第2虚拟地址同时,从上述地址转换用缓冲器中检索与所生成的上述第2虚拟地址有关的第2地址转换对;第1预取控制步骤,在该步骤中,与在该第2检索步骤中检索出与上述第2虚拟地址对应的第2物理地址同时,使用检索出的该第2物理地址,将与上述处理对象的第1虚拟地址有关的第1地址转换对,从上述主存储部的上述地址转换用表预取到上述高速缓冲存储器中。

并且,优选方式为,使上述第1检索步骤、上述第1生成步骤、上述第2检索步骤、以及上述第1预取控制步骤,通过流水线控制,并列地执行连续命令。

另外,优选方式为,上述第1预取控制步骤包含有:高速缓冲存储器检索步骤,在该步骤中,根据上述第2物理地址,从上述高速缓冲存储器中检索该第2物理地址和保存在该第2物理地址表示的地址中的第1地址转换对的对;保存步骤,在该步骤中,在上述高速缓冲存储器检索步骤中的检索结果是该第2物理地址与该第1地址转换对的对没有被保存在上述高速缓冲存储器中的情况下,从上述地址转换用表中读出该第1地址转换对,使该第2物理地址和该第1地址转换对的对保存到上述高速缓冲存储器中。

此外,优选方式为,还包含:登记步骤,在该步骤中,将保存在上述高速缓冲存储器中的、与上述处理对象的第1虚拟地址有关的第1地址转换对登记到上述地址转换用缓冲器中;第2预取控制步骤,在该步骤中,与在该登记步骤中开始将上述第1地址转换对登记到上述第1地址转换对的上述地址转换用缓冲器中同时,根据该第1地址转换对的第1物理地址,将保存在该第1物理地址表示的地址中的数据从上述主存储部预取到上述高速缓冲存储器中。

并且,优选方式为,还包含第2生成步骤,在该步骤中,根据第2虚拟地址和第2物理地址,生成对应该第2虚拟地址的最终的物理地址;上述第1预取控制步骤利用在上述第2生成步骤中生成的最终的物理地址,执行上述预取。

此外,本发明的预取控制方法是在信息处理装置中,将与上述命令有关的数据预取到上述高速缓冲存储器中的方法,该信息处理装置具有:命令运算部,其执行命令;主存储部,其具有地址转换用表,该地址转换用表保存与通过该命令运算部执行的命令有关的数据,并且保存第1地址转换对,该第1地址转换对是表示保存该数据的地址的第1物理地址、以及与该第1物理地址对应的第1虚拟地址的地址转换对;高速缓冲存储器,其介入安装在上述命令运算部与上述主存储部之间,用于临时保存数据;地址转换用缓冲器,其保存第2地址转换对,并且可保存第1地址转换对,该第2地址转换对是表示在上述地址转换用表中保存第1地址转换对的地址的第2物理地址、以及与该第2物理地址对应的第2虚拟地址的地址转换对,该预取控制方法的特征在于具有如下步骤:检索步骤,在该步骤中,从上述地址转换用缓冲器中检索与处理对象的第1虚拟地址有关的第1地址转换对;第1地址转换对登记步骤,在该步骤中,在该检索步骤的检索结果是与上述处理对象的第1虚拟地址有关的第1地址转换对没有被保存在上述地址转换用缓冲器内的情况下,根据与该第1虚拟地址对应的第2地址转换对,将与该第1虚拟地址有关的第1地址转换对登记到上述地址转换用缓冲器中;数据预取控制步骤,在该步骤中,与在该第1地址转换对登记步骤中开始将上述第1地址转换对登记到上述地址转换用缓冲器中同时,根据该第1地址转换对的第1物理地址,将保存在该第1物理地址表示的地址中的数据,从上述主存储部中预取到上述高速缓冲存储器中。

并且,优选方式为,上述数据预取控制步骤具有:高速缓冲存储器检索步骤,在该步骤中,根据上述第1物理地址,从上述高速缓冲存储器中检索该第1物理地址、以及保存在该第1物理地址表示的地址中的上述数据的对;保存步骤,在该步骤中,在上述高速缓冲存储器检索步骤中的检索结果是该第1物理地址与该数据的对没有被保存在上述高速缓冲存储器中的情况下,读出该数据,将该第1物理地址与该数据的对保存到上述高速缓冲存储器中。

另外,优选方式为,还包含有生成步骤,在该步骤中,根据第1虚拟地址和第1物理地址,生成对应该第1虚拟地址的最终的物理地址;上述数据预取控制步骤使用在上述生成步骤中生成的最终的物理地址来执行上述预取。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号