CN102541510A - 一种指令缓存系统及其取指方法 - Google Patents
一种指令缓存系统及其取指方法 Download PDFInfo
- Publication number
- CN102541510A CN102541510A CN2011104455318A CN201110445531A CN102541510A CN 102541510 A CN102541510 A CN 102541510A CN 2011104455318 A CN2011104455318 A CN 2011104455318A CN 201110445531 A CN201110445531 A CN 201110445531A CN 102541510 A CN102541510 A CN 102541510A
- Authority
- CN
- China
- Prior art keywords
- instructions
- cache
- instruction
- storage block
- memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000015654 memory Effects 0.000 claims abstract description 104
- 238000003860 storage Methods 0.000 claims description 83
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 244000188472 Ilex paraguariensis Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种指令缓存系统及其取指方法。该指令缓存系统包括微处理器、系统控制协处理器、内存管理单元(MMU),MMU通过总线与内存或外部存储器建立连接,该系统中还设有零级缓存(L0)和一级缓存(L1),L0包括两个存储块,每个存储块设有标签值,并分别存储四条指令。本发明采用L0代替流水线中的取指令模块,通过两个存储块交替运行,最大限度地提高取指速度,实现指令预取功能。采用比较器对存储块标签值进行比较,实现自动检测填充指令。L0与L1或内存之间一次可传输四条指令,减少MMU、L1和内存的访问次数,并提高了指令获取速率,降低系统功耗。
Description
技术领域
本发明涉及微处理器系统中的指令缓存,尤其涉及一种新型高效指令缓存系统及其取指方法。
背景技术
众所周知,CPU的存取速度非常快,而内存的存取速度相对较慢。为解决CPU与内存之间存取速度不匹配的问题,通常会采用一个访问速度极快的小容量存储器即缓存(简称CACHE),如一级缓存,并将可能要访问的数据或指令预先存储在缓存中。当CPU需要读取一个数据时,首先以较快的速度在缓存中查找,如果找到就立即读取并送给CPU处理;如果在缓存中没找到匹配的数据,则以相对慢的速度向下一级的内存中继续查找并将数据读取送给CPU处理。尽管缓存的使用能够极大提高CPU读写数据的速度,但由于缓存的容量有限,仅能够存储内存中的少量数据。为了提高CPU访问的命中率,可采用一级缓存、二级缓存甚至三级缓存的多级缓存系统,使CPU能够逐级顺序访问多个缓存,直至查找到匹配的数据。为了进一步提高缓存的利用率,还可采用一些特定的替换算法,如最近最少使用算法,将最近最少被访问的数据淘汰出缓存。
由于CPU流水线一般都包括五个步骤,即每条指令的执行一般都经过IF(指令获取)、DE(指令译码)、EX(执行)、MEM(访问存储器)和WB(数据写回)。为了使CPU的性能得到最大程度的发挥,除了缓存之外,很多芯片内部都有预取指令和数据的功能。如MIPS早期适用于嵌入式领域的Mips4kc核就具有四字节大小的预取指令功能,它设计在取指令模块中。但该预取是针对顺序执行指令情况下而设计,如果遇上跳转或中断则一般是舍弃预取的指令。
同时,大部分CPU(包括mips4kc)向外部(例如CACHE或RAM)取指令时一般都是发出一个请求信号和相应32位的指令虚拟地址。该信号和虚拟地址被内存管理单元(简称MMU)接收。此时MMU根据指令的虚拟地址和CPU对虚拟地址空间的划分,将虚拟地址转换为相应的物理地址,就到CACHE(CACHE开启以及该地址对应的数据可在CACHE中有备份情况下)或内存RAM中获得32位的指令,然后将指令返回给CPU去执行。
在这种情况下,如果CPU执行的是顺序的四条指令,则MMU需要做四次地址转换,CACHE要匹配四次或者MMU四次经过总线向RAM获取指令。这在一定程度上增加了总线的带宽压力,也不利于降低芯片功耗。
发明内容
根据本发明的第一个方面,提供一种指令缓存系统,包括微处理器、系统控制协处理器、内存管理单元,该微处理器与系统控制协处理器、微处理器与内存管理单元、以及系统控制协处理器与内存管理单元之间分别建立连接,以进行指令的存取控制及处理,其中,内存管理单元通过总线与内存或外部存储器建立连接,微处理器中还设有零级缓存,其包括两个存储块,每个存储块中分别存储四条指令,且每个存储块设有标签值。
所述每个存储块的标签值为29位,其中,高28位为虚拟地址高位,最低位为有效位,每个存储块的容量为4字(即四条指令)。
所述新型指令缓存系统中还包括一级缓存,该一级缓存是一个四路组相联的传统缓存,其指令读写通道均为128位。
所述内存管理单元中还设有衔接零级缓存、一级缓存与内存之间逻辑控制的控制模块。
所述控制模块具有六个可转换的状态,分别是:空闲、一级缓存关闭、一级缓存命中、一级缓存未命中、一级缓存填充以及异常出错。
所述零级缓存通过内存管理单元中的控制逻辑,从一级缓存或利用总线突发传输从内存一次获取4条指令。所述零级缓存与一级缓存或内存的数据传输为每次4字。
根据本发明的第二个方面,提供一种指令缓存系统的取指方法,其中所述指令缓存系统包括零级缓存和一级缓存两个缓存存储器,该零级缓存包括两个存储块,每个存储块中分别存储四条指令,且每个存储块设有标签值,该指令缓存系统还包括内存管理单元,其可从一级缓存或通过总线向内存获取指令,该方法包括如下步骤:
(1)判定指令的虚拟地址是否与零级缓存的存储块的标签值匹配;
(2)执行所述步骤(1),若结果为是,则取出命中存储块中相应的指令,送至流水线;并判定未命中存储块中的指令是否为顺序执行的下一批指令;
(2’)执行所述步骤(1),若结果为否,则刷新零级缓存,并向内存管理单元发出请求,内存管理单元从内存或一级缓存中获得指令,并将指令填充分别至存储块中。
(3)执行所述步骤(2),若结果为是,则等待向流水线传送指令,执行步骤(1);
(3’)执行所述步骤(2),若结果为否,则向内存管理单元发出请求,内存管理单元从内存或一级缓存中获取四条指令,并将指令填充至该未命中存储块中,执行步骤(1)。
所述步骤(1)进一步包括以下步骤:
A)判定指令的虚拟地址的高28位是否与存储块标签值的高28位是否匹配;
B)判定所述存储块的最低位是否有效。
本发明的新型指令缓存系统采用零级缓存代替CPU流水线中的取指令模块,该零级缓存中包括两块存储单元,通过两存储块交替运行,可以最大限度地提高取指速度,实现指令预取功能。此外,零级缓存中的两存储块实现了自动检测填充指令的功能,通过比较标签值可自动确定是否需要填充新的指令,同时,零级缓存和一级缓存之间、零级缓存和内存之间一次传输四条指令,即内存管理单元只需做一次虚拟地址到物理地址的转换,极大程度上减少内存管理单元和缓存之间、内存管理单元和内存之间的访问次数,并且提高了指令获取速率,降低系统功耗。
附图说明
图1是本发明实施例一的指令缓存系统的构成示意图。
图2是本发明实施例二的指令缓存系统的构成示意图。
图3是本发明中一级缓存L1的标签值Tag的划分示意图。
图4是本发明中控制模块的状态机状态转换图。
图5是本发明中取指方法的工作流程图。
具体实施方式
下面结合说明书附图对本发明做进一步说明:
实施例一
请参阅图1,本发明的新型指令缓存系统的一个实施例的构成示意图,以SoC芯片为例。新型指令缓存系统包括微处理器、系统控制协处理器(CP0)、内存管理单元(MMU),在本实施例中,微处理器采用MIPS 4Kc体系的单核结构。MIPS 4Kc与CP0、MIPS 4Kc与MMU以及CP0与MMU分别建立连接,以进行指令的存取控制及处理。CP0能够基于MIPS 4Kc体系结构,协助处理器完成异常/中断处理、高速缓存填充、旁视转换缓冲器(TLB)译码填充、操作模式转换等操作。MMU是用于管理虚拟内存、物理内存的控制线路,其通过总线与内存(RAM)或其他外部存储器(如:Flash)建立连接,同时也负责虚拟地址映射为物理地址,并提供硬件机制的内存访问授权。
此外,本发明指令缓存系统的微处理器中还设有零级缓存(L0),其作用是代替流水线中的取指令模块。L0包括两块存储单元,分别称为存储块A和存储块B(图1中未示出),每个存储块的大小为4个字,均设有29位的标签值(Tag),相应分别为Tag 0和Tag 1,其中高28位为虚拟地址位,最低位为有效位(V)。每个存储块中存储着与Tag值对应的四条指令,两存储块共对应八条指令。
当流水线获取指令时,L0将指令的虚拟地址(简称PC)的第31至第4位,共28位即VAddr[31:4]与Tag 0、Tag 1的高28位进行比较,判断地址是否匹配,并判断Tag 0、Tag 1的最低位是否有效;当某一存储块(如本实施例中,存储块A)的地址与指令虚拟地址匹配,并且其Tag 0的最低位有效(即V为1)时,则表示存储块A匹配,称为PC命中,此时根据指令的虚拟地址的第3至2位(即VAddr[3:2])索引存储块A中的四条指令,并将命中的指令返送至流水线中。
此时,未命中的存储块(即存储块B)则通过一个简单的比较器,来确定存储块B中存储的指令是否为存储块A执行完之后接下来要顺序执行的四条指令。将存储块B的Tag 1高28位与存储块A的Tag 0的高28位加1进行比较,判断是否相等;如果是,则表明存储块B中存储的指令是存储块A执行完之后即将顺序执行的四条指令;如果不是,则表明存储块B中存储的指令不是存储块A执行完之后即将顺序执行的四条指令,为了方便下一次读取,需要向MMU发送填充请求,通过总线的突发传输向内存中获取接下来要顺序执行情况下的四条指令,并填充至存储块B中。
如果存储块A和存储块B都没有被命中,则L0被刷新并请求MMU,通过总线从内存中获取八条指令,分别填充到存储块A和存储块B中。本发明零级缓存采用两个存储块交替工作,提高了取指速度,降低了总线的带宽压力。此外,由于嵌入式系统在上电复位后、运行操作系统之前,一般都会运行一小段程序(简称Boot Loader)来初始化硬件、建立内存空间映射等等。这段程序一般被放在不可被缓存映射的地址范围。此时,L0相当于一个小缓存,起到了很大的加速作用,它一次通过MMU经总线从内存中获取四条指令,与传统的取指令相比,系统相当于提高了三倍的速度。另外L0总是开启的,不存在地址范围限制的问题。
实施例二
实施例二与实施例一的指令缓存系统结构大致相同,在此不赘述,不同之处在于:实施例二中还设有一级缓存(简称CACHE,在此称为L1),请参阅图2,本发明的新型指令缓存系统的另一个实施例的构成示意图。其中,CP0与L1建立连接,MMU与L1也建立连接,可管理存储在L1的指令存取。微处理器通过MMU可以读取存储在L1或RAM中的指令。L1是一个四路组相联的传统缓存,每路128块,每块大小为四个字。L1具有标签值,其Tag有27位,包括高21位的物理地址位、4位有效位、1位替换位(采用最近填入算法,即若某缓存线被填充,则该缓存线的替换位为1,所在行的其它缓存线替换位为0)以及1位锁住位(与CACHE指令有关,同时配合替换位裁决替换的缓存块),L1标签值Tag的划分请参阅图3。
此外,本实施例二中在MMU内部还设有控制模块(Iconter),其作用是衔接L0与L1之间的控制逻辑,实现从L1或RAM中读取数据到L0。Iconter是由一个状态机来实现逻辑控制,该状态机设有6个状态,分别是:FSM_IDLE(空闲)、FSM_CACHE_CLOSE(L1缓存关闭)、FSM_CACHE_HIT(L1缓存命中)、FSM_CACHE_UNHIT(L1缓存缺失)、FSM_CACHE_FILL(L1缓存填充)以及FSM_EXCP_OCCUR(异常出错)。只要满足条件,则可以在不同状态之间互相转换,请参照图4,示出了该状态机的不同状态的转换图。
其中,本发明所述新型指令缓存系统的取指方法,请参阅图5,包括如下步骤:
S1:判断VAddr[31:4]是否等于Tag 0[28:1]或Tag 1[28:1],并判断Tag 0[0]或Tag1[0]是否为1;
S2:若VAddr[31:4]=Tag 0[28:1],且Tag 0[0]=1,表示存储块A命中,则根据VAddr[3:2]索引存储块A中的四条指令,将命中的相应指令送至流水线中;
S3:判断Tag 1[28:1]是否等于Tag 0[28:1]+1;若为是,则等待向流水线传送指令;若为否,则向MMU发送填充请求,将接下来要执行的四条指令从L1或RAM中取出填充到存储块B中。
S2’:若VAddr[31:4]=Tag 1[28:1],且Tag 1[0]=1,表示存储块B命中,则根据VAddr[3:2]索引存储块B中的四条指令,将命中的相应指令送至流水线中;
S3’:判断Tag 0[28:1]是否等于Tag 1[28:1]+1;若为是,则等待向流水线传送指令;若为否,则向MMU发送填充请求,将接下来要执行的四条指令从L1或RAM中取出填充到存储块A中。
S2”:若VAddr[31:4]不等于Tag 0[28:1],也不等于Tag 1[28:1],表示存储块A、B均不命中,则刷新L0,向MMU发送填充请求,MMU将接下来要执行的八条指令从L1或RAM中取出,分别填充到存储块A和存储块B中。
也就是说,首先,将VAddr与L0的Tag 0和Tag 1比较,并且检查相应的有效位V是否有效。如果存储块A命中,则根据VAddr[3:2]位索引存储块A中的指令,并将命中的指令返送到流水线中。此时,未命中存储块B通过比较器与存储块A比较Tag值,确定存储块B中是否储存了存储块A接下来要执行的另外四条指令,如果不是,则向MMU发送请求,MMU从L1或RAM中取出接下来应执行的四条指令,并将这四条指令填充到存储块B中。如果存储块B命中,同样也是如此,不再赘述。如果存储块A和存储块B都没有命中,则L0被刷新,并请求MMU从L1或通过总线从内存中获取8条指令,分别填充到存储块A和存储块B中。存储块A和存储块B交替工作,提高了取指速度,降低了总线的带宽压力。
在本实施例中,L1采用虚拟地址做索引,物理地址做标签的检测命中方式。其中,虚拟地址来自微处理器,而物理地址(取高位21位)来自MMU。L1首先用指令的虚拟地址第11至4位,即VAddr[11:4]位索引读取L1所在行的四路标签值,然后利用Tag值的高21位与物理地址PAddr高21位进行比较,如果相等并且有效位V都为1,则缓存命中,并将命中所在块的128位数据经MMU送往L0。如果缓存未命中,则L1请求填充,一次填充四个字,并将填充的值送到L0。其工作过程请参阅图5所示。
由L0和L1组成的新型指令缓存系统能够极大程度上减少MMU和L1的访问次数并且提高了指令获取速率。而且,如果在L1没有开启或访问的地址不在L1映射的范围,L0同样可以从内存中一次取四条指令,提高了取指速度,降低了功耗。与传统的取指令相比,系统相当于提高了三倍的速度。如果在L1开启或者CPU访问的地址范围在L1映射的范围情况下,由于一般的流水线取指模块都有预取指令的功能,所以L0和L1组成的缓存系统在CPU的取指速度上并没有呈现出多少加速的优势,但是却减少了MMU和L1的访问次数。因为L0通过MMU从L1中一次取回四条指令,并且只做了一次的地址转换,相当于减少了三倍的MMU和L1的访问次数而达到了相同的取指效果,可以降低系统功耗。L0和L1组成的缓存系统优势可参照表1的测试结果。
表1本发明新型指令缓存系统与传统缓存系统运行测试结果比较
实施例三
本发明实施例三的新型指令缓存系统的构成与实施例二大致相同,不同之处在于:所述微处理器采用的是双核或四核等SMP技术,而不是单核技术。由于每个核都独立拥有自己的取指令模块和一级缓存,因此本发明所述由L0与L1组成的新型指令缓存系统,同样可以提高每个核的取指令速度,降低系统功耗,从而提高执行速度,完成更多的任务。关于L0和L1的具体工作原理及实现方法可参照实施例一和实施例二,此处不再赘述。
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
Claims (10)
1.一种指令缓存系统,包括微处理器、系统控制协处理器、内存管理单元,该微处理器与系统控制协处理器、微处理器与内存管理单元、以及系统控制协处理器与内存管理单元之间分别建立连接,以进行指令的存取控制及处理,内存管理单元通过总线与内存或外部存储器建立连接,其特征在于:所述微处理器中还设有零级缓存,其包括两个存储块,每个存储块中分别存储四条指令,且每个存储块设有标签值。
2.根据权利要求1所述的一种指令缓存系统,其特征在于:所述每个存储块的标签值为29位,其中,高28位为虚拟地址高位,最低位为有效位,每个存储块的容量为4字。
3.根据权利要求1或2所述的一种指令缓存系统,其特征在于:所述指令缓存系统中还包括一级缓存,该一级缓存是一个四路组相联的传统缓存,其指令读写通道均为128位。
4.根据权利要求3所述的一种指令缓存系统,其特征在于:所述内存管理单元中还设有衔接零级缓存与一级缓存、内存之间逻辑控制的控制模块。
5.根据权利要求4所述的一种指令缓存系统,其特征在于:所述控制模块具有六个可转换的状态,分别是:空闲、一级缓存关闭、一级缓存命中、一级缓存未命中、一级缓存填充以及异常出错。
6.根据权利要求1所述的一种指令缓存系统,其特征在于:所述零级缓存可从一级缓存或通过总线突发传输向内存一次获取4条指令。
7.一种指令缓存系统的取指方法,其中,所述指令缓存系统包括零级缓存和一级缓存两个缓存存储器,该零级缓存包括两个存储块,每个存储块中分别存储四条指令,且每个存储块设有标签值,该指令缓存系统还包括内存管理单元,其可从一级缓存或通过总线向内存中获取指令,所述取指方法包括如下步骤:
(1)判定指令的虚拟地址是否与零级缓存的存储块的标签值匹配;
(2)执行所述步骤(1),若结果为是,则取出命中存储块中相应指令,送至流水线;并判定未命中存储块中的指令是否为顺序执行的后四条指令;
(3)执行所述步骤(2),若结果为是,则等待向流水线传送指令,执行步骤(1)。
8.根据权利要求7所述的一种指令缓存系统的取指方法,其特征在于,执行所述步骤(1),若结果为否,则刷新零级缓存,并向内存管理单元发出请求,内存单元管理从内存或一级缓存获取指令,并将指令分别填充至两存储块中。
9.根据权利要求7所述的一种指令缓存系统的取指方法,其特征在于,执行所述步骤(2),若结果为否,则向内存管理单元发出请求,内存单元管理从内存或一级缓存获取指令,并将指令填充至该未命中存储块中,执行步骤(1)。
10.根据权利要求7所述的一种指令缓存系统的取指方法,其特征在于,所述步骤(1)进一步包括以下步骤:
A)判定指令的虚拟地址的高28位是否与存储块标签值的高28位匹配;
B)判定所述存储块标签值的最低位是否有效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110445531.8A CN102541510B (zh) | 2011-12-27 | 2011-12-27 | 一种指令缓存系统及其取指方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110445531.8A CN102541510B (zh) | 2011-12-27 | 2011-12-27 | 一种指令缓存系统及其取指方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102541510A true CN102541510A (zh) | 2012-07-04 |
CN102541510B CN102541510B (zh) | 2014-07-02 |
Family
ID=46348489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110445531.8A Expired - Fee Related CN102541510B (zh) | 2011-12-27 | 2011-12-27 | 一种指令缓存系统及其取指方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541510B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207844A (zh) * | 2013-04-18 | 2013-07-17 | 上海云间半导体科技有限公司 | 缓存系统及缓存访问方法 |
CN103777920A (zh) * | 2012-10-23 | 2014-05-07 | Ca公司 | 基于数据特性来识别对应指令的数据处理系统 |
CN104516829A (zh) * | 2013-09-26 | 2015-04-15 | 晶心科技股份有限公司 | 微处理器及使用指令循环高速缓存的方法 |
CN104636268A (zh) * | 2013-11-08 | 2015-05-20 | 上海芯豪微电子有限公司 | 一种可重构缓存组织结构 |
CN105138474A (zh) * | 2015-08-11 | 2015-12-09 | 中国电子科技集团公司第三十二研究所 | 低功耗组相联高速缓存的预访问方法 |
CN109460254A (zh) * | 2018-09-25 | 2019-03-12 | 杭州旗捷科技有限公司 | 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 |
CN110727463A (zh) * | 2019-09-12 | 2020-01-24 | 无锡江南计算技术研究所 | 一种基于动态信用的零级指令循环缓冲预取方法及装置 |
CN111078592A (zh) * | 2019-12-27 | 2020-04-28 | 无锡中感微电子股份有限公司 | 一种低功耗片上系统的多级指令缓存 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283881A (en) * | 1991-01-22 | 1994-02-01 | Westinghouse Electric Corp. | Microcoprocessor, memory management unit interface to support one or more coprocessors |
US6397296B1 (en) * | 1999-02-19 | 2002-05-28 | Hitachi Ltd. | Two-level instruction cache for embedded processors |
US6449693B1 (en) * | 1999-04-05 | 2002-09-10 | International Business Machines Corporation | Method and apparatus for improving caching within a processor system |
US20050223172A1 (en) * | 2004-03-31 | 2005-10-06 | Ulrich Bortfeld | Instruction-word addressable L0 instruction cache |
-
2011
- 2011-12-27 CN CN201110445531.8A patent/CN102541510B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283881A (en) * | 1991-01-22 | 1994-02-01 | Westinghouse Electric Corp. | Microcoprocessor, memory management unit interface to support one or more coprocessors |
US6397296B1 (en) * | 1999-02-19 | 2002-05-28 | Hitachi Ltd. | Two-level instruction cache for embedded processors |
US6449693B1 (en) * | 1999-04-05 | 2002-09-10 | International Business Machines Corporation | Method and apparatus for improving caching within a processor system |
US20050223172A1 (en) * | 2004-03-31 | 2005-10-06 | Ulrich Bortfeld | Instruction-word addressable L0 instruction cache |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103777920A (zh) * | 2012-10-23 | 2014-05-07 | Ca公司 | 基于数据特性来识别对应指令的数据处理系统 |
CN103777920B (zh) * | 2012-10-23 | 2018-04-13 | Ca公司 | 基于数据特性来识别对应指令的数据处理系统 |
CN103207844A (zh) * | 2013-04-18 | 2013-07-17 | 上海云间半导体科技有限公司 | 缓存系统及缓存访问方法 |
CN104516829A (zh) * | 2013-09-26 | 2015-04-15 | 晶心科技股份有限公司 | 微处理器及使用指令循环高速缓存的方法 |
CN104516829B (zh) * | 2013-09-26 | 2017-07-21 | 晶心科技股份有限公司 | 微处理器及使用指令循环高速缓存的方法 |
CN104636268A (zh) * | 2013-11-08 | 2015-05-20 | 上海芯豪微电子有限公司 | 一种可重构缓存组织结构 |
CN104636268B (zh) * | 2013-11-08 | 2019-07-26 | 上海芯豪微电子有限公司 | 一种可重构缓存产品与方法 |
CN105138474A (zh) * | 2015-08-11 | 2015-12-09 | 中国电子科技集团公司第三十二研究所 | 低功耗组相联高速缓存的预访问方法 |
CN109460254A (zh) * | 2018-09-25 | 2019-03-12 | 杭州旗捷科技有限公司 | 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 |
CN110727463A (zh) * | 2019-09-12 | 2020-01-24 | 无锡江南计算技术研究所 | 一种基于动态信用的零级指令循环缓冲预取方法及装置 |
CN110727463B (zh) * | 2019-09-12 | 2021-08-10 | 无锡江南计算技术研究所 | 一种基于动态信用的零级指令循环缓冲预取方法及装置 |
CN111078592A (zh) * | 2019-12-27 | 2020-04-28 | 无锡中感微电子股份有限公司 | 一种低功耗片上系统的多级指令缓存 |
Also Published As
Publication number | Publication date |
---|---|
CN102541510B (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541510B (zh) | 一种指令缓存系统及其取指方法 | |
JP5440067B2 (ja) | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 | |
JP5417879B2 (ja) | キャッシュ装置 | |
CN101300555B (zh) | 运算处理装置、信息处理装置、以及运算处理装置的存储器访问方法 | |
US5848432A (en) | Data processor with variable types of cache memories | |
KR100678372B1 (ko) | 고속 프로세서 시스템, 이를 이용한 방법, 및 기록 매체 | |
TWI393050B (zh) | 促進多重處理器介面之板內建快取記憶體系統之記憶體裝置及方法及使用其之電腦系統 | |
KR100395756B1 (ko) | 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서 | |
US20090055591A1 (en) | Hierarchical cache memory system | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
CN100377117C (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
US7222217B2 (en) | Cache residency test instruction | |
CN111142941A (zh) | 一种非阻塞高速缓存缺失处理方法及装置 | |
CN101515295B (zh) | 片上硬件数据库的高速缓冲器支持实现方法 | |
KR100710922B1 (ko) | 캐시 관리 방법 | |
US20160217079A1 (en) | High-Performance Instruction Cache System and Method | |
EP2128771B1 (en) | Method and apparatus for controlling cache memory | |
JP2002007373A (ja) | 半導体装置 | |
CN111736900B (zh) | 一种并行双通道的cache设计方法和装置 | |
CN100414518C (zh) | 改进的虚拟地址变换方法及其装置 | |
US9507725B2 (en) | Store forwarding for data caches | |
CN101930344A (zh) | 确定链接数据储存器中存储和重写的项目的数据存储协议 | |
US20040078544A1 (en) | Memory address remapping method | |
US7111127B2 (en) | System for supporting unlimited consecutive data stores into a cache memory | |
US7543113B2 (en) | Cache memory system and method capable of adaptively accommodating various memory line sizes |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140702 Termination date: 20161227 |
|
CF01 | Termination of patent right due to non-payment of annual fee |