1.一种数字数据处理设备,其包括:
中央处理单元核心,其响应于程序指令而执行数据处理操作,所述中央处理单元核心经由请求地址发出对额外程序指令的指令请求;
一级指令高速缓存器,其将程序指令子集暂时存储于第一数据大小的一级高速缓存行中,所述一级指令高速缓存器连接到所述中央处理单元核心并且接收每一请求地址,在接收到请求地址后,所述一级指令高速缓存器即刻:
确定所述一级指令高速缓存器是否将程序指令存储于所述请求地址处,
如果所述一级指令高速缓存器将程序指令存储于所述请求地址处,那么将所述程序指令供应到所述中央处理单元核心,和
如果所述一级指令高速缓存器不将程序指令存储于所述请求地址处,那么供应所述请求地址;
二级高速缓存器,其将程序指令子集暂时存储于第二数据大小的二级高速缓存行中,所述第二数据大小是所述第一数据大小的两倍,所述二级高速缓存器连接到所述一级指令高速缓存器并且接收所述一级指令高速缓存器供应的每一请求地址,在接收到请求地址后,所述一级指令高速缓存器即刻:
确定所述二级高速缓存器是否将程序指令存储于所述请求地址处,
如果所述二级高速缓存器将程序指令存储于所述请求地址处,那么
确定所述请求地址的所述对应一级指令高速缓存行是对应于对应二级指令高速缓存行的上半部还是下半部
如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的下半部,那么将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的上半部,那么将所述对应二级指令高速缓存行的所述上半部供应到所述一级指令高速缓存器并且在后续二级高速缓存存储器循环上,将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器。
2.根据权利要求1所述的数字数据处理设备,其中:
所述中央处理单元核心、所述一级指令高速缓存器和所述二级高速缓存器安置于单个集成电路上;且
其中所述二级高速缓存器在确定所述二级高速缓存器不将程序指令存储于所述请求地址处后,即刻将所述请求地址供应到另一存储器以获得高速缓存服务。
3.根据权利要求2所述的数字数据处理设备,其中:
所述额外存储器包含不安置于所述单个集成电路上的三级高速缓存器。
4.根据权利要求2所述的数字数据处理设备,其中:
所述额外存储器包含不安置于所述单个集成电路上的主存储器。
5.根据权利要求1所述的数字数据处理设备,其中:
所述二级高速缓存器包含
二级高速缓存存储器,其将所述程序指令子集暂时存储于所述二级高速缓存行中,
寄存器,其存储从所述二级高速缓存存储器召回的二级高速缓存行,所述寄存器具有存储所述二级高速缓存行的所述上半部的上半部和存储所述二级高速缓存行的所述下半部的下半部,
多路复用器,其具有连接到接收所述上半部高速缓存行的所述寄存器的第一输入、连接到接收所述下半部高速缓存行的所述寄存器的第二输入、连接到所述一级指令高速缓存器的输出和控制输入,所述多路复用器取决于所述控制输入上的信号而将所述第一输入或所述第二输入中的一个供应到所述输出。
6.根据权利要求5所述的数字数据处理设备,其中:
所述二级高速缓存器另外包含
多路复用器控制器,其接收所述请求地址并且连接到所述多路复用器的所述控制输入,所述多路复用器控制器取决于所述请求地址而控制所述多路复用器的选择。
7.根据权利要求6所述的数字数据处理设备,其中:
所述多路复用器控制器
控制所述多路复用器在对应于所述第一高速缓存器大小的所述请求地址的预先确定的位是0的情况下选择存储于所述寄存器中的所述下半部高速缓存行,
控制所述多路复用器在所述请求地址的所述预先确定的位是1的情况下选择存储于所述寄存器中的所述上半部高速缓存行。
8.根据权利要求1所述的数字数据处理设备,其中:
所述中央处理单元产生程序指令存储器按需请求和依据每一存储器按需请求的第一地址的所预测连续存储器存取的数目的指示;
在接收到预提取请求地址后,所述一级指令高速缓存器即刻另外:
产生等于先前按需请求地址的预提取请求地址,所述预提取请求地址以下一个一级高速缓存行大小递增直到达到所预测连续存储器存取的所述所指示数目,
确定所述一级指令高速缓存器是否将程序指令存储于所述预提取请求地址处,且
如果所述一级指令高速缓存器不将程序指令存储于所述预提取请求地址处,那么将所述预提取请求地址供应到所述二级高速缓存器;
在接收到预提取请求地址后,所述二级高速缓存器即刻:
确定所述二级高速缓存器是否将程序指令存储于所述预提取请求地址处,
如果所述二级高速缓存器将程序指令存储于所述预提取请求地址处,那么
确定所述对应一级指令高速缓存行是对应于对应二级指令高速缓存行的上半部还是下半部,
如果所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的下半部,那么将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
如果所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的上半部,那么将所述对应二级指令高速缓存行的所述上半部供应到所述一级指令高速缓存器;且
所述二级高速缓存器
仅在所述请求地址是按需请求地址时,将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
仅在所述请求地址是预提取请求地址时,不将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器。
9.根据权利要求8所述的数字数据处理设备,其中:
在从所述二级高速缓存器接收到一半高速缓存行后,所述一级指令高速缓存器即刻另外:
确定所述半高速缓存行从所述二级高速缓存器的所述供应是响应于按需请求地址还是预提取请求地址抑或是下半部高速缓存行响应于对应上半部高速缓存行的按需请求,
如果所述半高速缓存行从所述二级高速缓存器的所述供应是响应于按需请求地址,那么存储来自所述二级高速缓存器的所述半高速缓存行并且将来自所述二级高速缓存器的所述半高速缓存行供应到所述中央处理单元核心,
如果所述半高速缓存行从所述二级高速缓存器的所述供应是响应于预提取请求地址,那么存储来自所述二级高速缓存器的所述半高速缓存行,且
如果所述半高速缓存行从所述二级高速缓存器的所述供应是下半部高速缓存行响应于所述对应上半部高速缓存行的按需请求,那么存储来自所述二级高速缓存器的所述半高速缓存行。
10.一种操作数字数据处理设备中的高速缓存系统的方法,其包括以下步骤:
通过来自中央处理单元核心的请求地址发出对额外程序指令的指令请求;
将程序指令子集暂时存储于具有第一数据大小的一级高速缓存行的一级指令高速缓存器中;
确定所述一级指令高速缓存器是否将程序指令存储于所述中央处理单元核心的请求地址处;
如果所述一级指令高速缓存器将程序指令存储于所述请求地址处,那么将所述程序指令供应到所述中央处理单元核心;
如果所述一级指令高速缓存器不将程序指令存储于所述请求地址处,那么将所述请求地址供应到二级高速缓存器;
将程序指令子集暂时存储于具有第二数据大小的二级高速缓存行的二级高速缓存器中,所述第二数据大小是所述第一数据大小的两倍;
确定所述二级高速缓存器是否将程序指令存储于所述一级指令高速缓存器供应的所述请求地址处,
如果所述二级高速缓存器将程序指令存储于所述请求地址处,那么
确定所述请求地址的所述对应一级指令高速缓存行是对应于对应二级指令高速缓存行的上半部还是下半部,
如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的下半部,那么将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的上半部,那么将所述对应二级指令高速缓存行的所述上半部供应到所述一级指令高速缓存器并且在后续二级高速缓存存储器循环上,将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器。
11.根据权利要求10所述的操作数字数据处理设备中的高速缓存系统的方法,其另外包括以下步骤:
将所述中央处理单元核心、所述一级指令高速缓存器和所述二级高速缓存器安置在单个集成电路上;和
在确定所述二级高速缓存器不将程序指令存储于所述请求地址处后,即刻将所述请求地址供应到另一存储器以获得高速缓存服务。
12.根据权利要求11所述的操作数字数据处理设备中的高速缓存系统的方法,其中:所述额外存储器包含不安置于所述单个集成电路上的三级高速缓存器。
13.根据权利要求11所述的操作数字数据处理设备中的高速缓存系统的方法,其中:所述额外存储器包含不安置于所述单个集成电路上的主存储器。
14.根据权利要求10所述的操作数字数据处理设备中的高速缓存系统的方法,其另外包括以下步骤:
将从所述二级高速缓存存储器召回的二级高速缓存行存储于寄存器中,所述寄存器具有存储所述二级高速缓存行的所述上半部的上半部和存储所述二级高速缓存行的所述下半部的下半部,
将所述上半部二级高速缓存行或所述下半部二级高速缓存行中的被选择半部二级高速缓存行供应到所述一级指令高速缓存器。
15.根据权利要求14所述的操作数字数据处理设备中的高速缓存系统的方法,其中:所述选择所述上半部二级高速缓存行或所述下半部二级高速缓存行中的一个供应到所述一级指令高速缓存器的步骤包含
在对应于所述第一高速缓存器大小的所述请求地址的预先确定的位是0的情况下选择所述下部二级高速缓存行,和
在所述请求地址的所述预先确定的位是1的情况下选择所述上部二级高速缓存行。
16.根据权利要求10所述的操作数字数据处理设备中的高速缓存系统的方法,其中:
从所述中央处理单元产生程序指令存储器按需请求和依据每一存储器按需请求的第一地址的所预测连续存储器存取的数目的指示;
在接收到预提取请求地址后,所述一级指令高速缓存器即刻另外:
产生等于先前按需请求地址的预提取请求地址,所述预提取请求地址以下一个一级指令高速缓存行大小递增直到达到所预测连续存储器存取的所述所指示数目,
确定所述一级指令高速缓存器是否将程序指令存储于所述预提取请求地址处,且
如果所述一级指令高速缓存器不将程序指令存储于所述预提取请求地址处,那么将所述预提取请求地址供应到所述二级高速缓存器;
在接收到预提取请求地址后,所述二级高速缓存器即刻:
确定所述二级高速缓存器是否将程序指令存储于所述预提取请求地址处,
如果所述二级高速缓存器将程序指令存储于所述预提取请求地址处,那么
确定所述对应一级指令高速缓存行是对应于对应二级指令高速缓存行的上半部还是下半部,
如果所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的下半部,那么将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
如果所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的上半部,那么将所述对应二级指令高速缓存行的所述上半部供应到所述一级指令高速缓存器,
仅在所述请求地址是按需请求地址时,将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
仅在所述请求地址是预提取请求地址时,不将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器。
17.根据权利要求16所述的操作数字数据处理设备中的高速缓存系统的方法,其中:
在从所述二级高速缓存器接收到一半高速缓存行后,所述一级指令高速缓存器即刻另外:
确定所述半高速缓存行从所述二级高速缓存器的所述供应是响应于按需请求地址还是预提取请求地址抑或是下半部高速缓存行响应于对应上半部高速缓存行的按需请求,
如果所述半高速缓存行从所述二级高速缓存器的所述供应是响应于按需请求地址,那么存储来自所述二级高速缓存器的所述半高速缓存行并且将来自所述二级高速缓存器的所述半高速缓存行供应到所述中央处理单元核心,
如果所述半高速缓存行从所述二级高速缓存器的所述供应是响应于预提取请求地址,那么存储来自所述二级高速缓存器的所述半高速缓存行,且
如果所述半高速缓存行从所述二级高速缓存器的所述供应是下半部高速缓存行响应于所述对应上半部高速缓存行的按需请求,那么存储来自所述二级高速缓存器的所述半高速缓存行。