快取存储器存取方法及系统的制作方法
专利名称:快取存储器存取方法及系统的制作方法
技术领域:
本发明涉及一种快取存储器,特别是涉及一种三维图形着色器(shader)的快取存储器的存取系统及方法。
背景技术:
在一般电子系统中,系统取存储器(一般称为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至少一数据的位置不予以锁定,但锁定其余数据的位置(步骤35)。这样, 对于锁定位置中的数据,在之后的多次应用中,可以直接从快取存储器14中读取,而不需要访问系统存储器,减少了系统存储器的数据传送,而且,有效减少了快取存储器14对读取数据的无谓更新复写,与不锁定任何位置的现有技术相比,大大节省了读取时间,而且也提高了命中率。对于未锁定数据的位置,则留待后续从系统存储器16读取数据时交替写入使用。如果步骤34的结果为是,表示数据长度远大于快取存储器14的长度。此时,锁定快取存储器1
快取存储器存取方法及系统的制作方法 来自淘豆网m.daumloan.com转载请标明出处.