快取存储器存取方法及系统技术方案

技术编号:6146281 阅读:186 留言:0更新日期:2012-04-11 18:40
一种快取存储器存取方法及系统。该快取存储器存取方法,包含:根据对多个数据的一读取请求,决定多个数据中的各个数据是否能够在一快取存储器中命中;及当在快取存储器中未命中多个数据中的各个数据,且多个数据的长度大于该快取存储器的长度时,于快取存储器中预留至少一位置不予以锁定,并锁定其余位置。

【技术实现步骤摘要】

本专利技术涉及一种快取存储器,特别是涉及一种三维图形着色器(shader)的快取存储器的存取系统及方法。
技术介绍
在一般电子系统中,系统存储器的存取速度远慢于中央处理器的时钟速度。因此, 当中央处理器欲存取系统存储器时,经常花相当的时间于等待系统存储器,因而造成整个系统效能的低落。为了增进系统效能,因而有快取存储器(cache)架构的提出,藉由内建或外加一小容量的快速存储器,例如静态随机存取存储器(SRAM),用以存放中央处理器较常或较可能存取的数据。当所欲读取的数据已事先存放于快取存储器中,则中央处理器可快速地从快取存储器读取,不需如一般从系统存储器来读取。快取存储器的好处对于指令(instruction)数据而言更为显著,因为,指令的数据量通常比数据(data)的数据量来得小,然而,指令被读取的机率却远比数据被读取的几率来得大。再者,对于影像显示的处理,例如三维图形着色器,不同像素数据的处理往往会使用到相同的指令群,因此,快取存储器架构对于这类影像处理应用将更显重要。然而,一般系统中快取存储器的容量并不会很大,无法在一次写入操作中存放整个指令群,这样,在读取操作时,不能一次读取整个指令群,而是要反复地写入和读取,因而无法显现出快取存储器所带来的效能增进。举例而言,假设指令群的长度较快取存储器的长度大1。当处理第一像素时,首先必须从系统存储器读取指令群并写入快取存储器。由于快取存储器无法容纳最后一条指令,因此,图形处理器必须再从系统存储器读取最后一条指令,并将其更新覆盖于快取存储器内。当处理第二像素时,由于快取存储器已被更新覆盖,因而无法于快取存储器命中(hit)所需指令,因此,又必须重新自系统存储器读取整个指令群。换句话说,当处理每一像素时,图形处理器都无法于快取存储器命中(hit)所需指令,而必须从系统存储器读取指令,因而无法享受到前述快取存储器的好处。因此,亟需提出一种新颖的快取存储器存取系统及方法,用以增进系统存储器频宽的使用效能。
技术实现思路
一种快取存储器存取方法,包含根据对多个数据的一读取请求,决定在存储于一快取存储器中的多个数据中的各个数据是否被命中读取;及当在快取存储器中未命中读取多个数据中的各个数据,且多个数据的长度大于快取存储器的长度时,于快取存储器中预留至少一位置不予以锁定,并锁定其余位置。根据本专利技术实施例,快取存储器存取系统包含快取存储器及快取控制器。快取控制器根据一数据读取请求,决定多个数据中的各个数据是否能够在一快取存储器中命中。 其中,当在快取存储器中未命中多个数据中的各个数据,且多个数据的长度大于该快取存储器的长度时,于快取存储器中预留至少一位置不予以锁定,并锁定其余位置。鉴于上述,本专利技术实施例提出的快取存储器存取系统及方法,有效减少快取存储器对于读取数据的无谓更新覆写,不但可减少系统存储器的数据传送,且能增进快取存储器的命中率。附图说明图IA显示本专利技术实施例的快取存储器存取系统的方块图。图IB显示本专利技术另一实施例的快取存储器存取系统的方块图。图2显示图1A/B的快取控制器的细部方块图。图3显示本专利技术一实施例的快取存储器存取方法的流程图。图4显示本专利技术另一实施例的快取存储器存取方法的流程图。具体实施例方式图IA显示本专利技术实施例的快取存储器(cache)存取系统的方块图。本实施例虽以三维图形着色器(shader)作为例示,但是本实施例也可适用于其他应用。在本实施例中,处理器10为图形处理器(graphics processingunit, GPU),其辅助中央处理器(未显示),以加速图形的处理。处理器10藉由快取控制器(cache controller) 12对快取存储器 14及系统存储器16进行数据存取。快取存储器14可以是静态随机存取存储器(SRAM),其存取速度快于系统存储器16,例如动态随机存取存储器(DRAM)。快取控制器12及快取存储器14可和处理器10位于同一芯片,但不限定于此。在本实施例中,快取存储器14是作为指令快取存储器之用,用以存放着色指令(shader instruction)。鉴于每一像素会执行相同的着色指令,因此本实施例的三维图形着色器非常适合采用多线程(multithreading) 工作型态,让处理器10以多工方式对各线程的像素数据进行多线程处理。此外,本实施例的快取存储器14亦可规划为“多路(multiway)”快取存储器,亦即,将快取存储器14的整个存储空间划分为多个区块,用以减小判断逻辑复杂度。图IB显示本专利技术另一实施例的快取存储器存取系统的方块图。此实施例包含有二阶层快取存储器,亦即,第一阶层快取存储器(一般称为Ll快取存储器)14A及第二阶层快取存储器(一般称为L2快取存储器)14B,其分别受控于第一阶层快取控制器12A及第二阶层快取控制器12B。第一阶层快取控制器12A及第一阶层快取存储器14A可和处理器 10位于同一芯片,但不限定于此。本专利技术的快取存储器存取机制可实施于第一阶层快取控制器12A及第一阶层快取存储器14A当中,但不以此为限。图2显示快取控制器12的细部方块图,主要包含控制逻辑单元120及表格122。 控制逻辑单元120分别提供与图IA中处理器10、快取存储器14及系统存储器16的通信接口。表格122用以纪录管理快取控制器12内所存放的每一笔数据,例如指令或像素数据。在本实施例中,表格122的内容除了存放各笔数据相应于系统存储器16的地址外,还至少包含有快取存储器14的各个位置相应的锁定(lock)标记及置换(!^placement)值。 其中,锁定标记是快取存储器14的每个位置锁定与否的标志,当该位置锁定时,标记为“锁定”,以防止该位置所存储的数据被覆盖写入;置换值则是用以作为快取存储器14中未锁定位置的数据被替换时的判断依据。本实施例使用“最近最少使用(least recently used, LRU) ”演算法,用以追踪各笔数据被存取的频率,以得到LRU置换值,LRU算法不是本专利技术的CN 102156677 A说明书3/5页重点内容,这里不展开描述。下文中将结合实施例对锁定标记和置换值做进一步的详细描述。图3显示本专利技术一实施例的快取存储器14存取方法的流程图。此流程分为两个阶段,设定阶段310与运行阶段320。首先,在设定阶段310,于步骤31,首先分析新的数据(例如指令)特性,比如长度、指令类别及分布状况等。接着,于步骤32,判断数据长度与快取存储器14的长度的关系。如果数据长度小于或等于快取存储器14的长度,表示快取存储器14可以一次存储所有数据。在这种情况下,如步骤33所示锁定全部快取存储器14的空间,即将全部快取存储器14位置的锁定标记修改为“锁定”。从而,在以后多次的数据读取中,都可以直接从快取存储器14中取得相应的数据,完全不需要任何复写;并关闭快取存储器14的命中(hit) 判断逻辑。这样可同时节省功耗和读取时间。如果数据长度大于快取存储器的长度,则接着进入步骤34。在步骤34,判断数据长度与快取存储器14长度的差值是否大于预设临界 (正)值。如果步骤34的结果为否,表示数据长度略大于快取存储器14的长度。此时,预留快取存储器14至少一数据的位置不予以锁定,但锁定其余数据的位置(本文档来自技高网
...

【技术保护点】
1.一种快取存储器存取方法,包含:根据对多个数据的一读取请求,决定在存储于一快取存储器中的该多个数据中的各个数据是否被命中读取;及当在该快取存储器中未命中读取该多个数据中的各个数据,且该多个数据的长度大于该快取存储器的长度时,于该快取存储器中预留至少一位置不予以锁定,并锁定其余位置。

【技术特征摘要】

【专利技术属性】
技术研发人员:高丙须陈弦
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71

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

1