基于高性能DSP指令缓存的缺失流水线设计与验证

唐俊龙 ,  高睿禧 ,  王东旭 ,  艾承威

湖南大学学报(自然科学版) ›› 2026, Vol. 53 ›› Issue (6) : 179 -189.

PDF (5452KB)
湖南大学学报(自然科学版) ›› 2026, Vol. 53 ›› Issue (6) : 179 -189. DOI: 10.16339/j.cnki.hdxbzkb.2026282
计算机科学

基于高性能DSP指令缓存的缺失流水线设计与验证

作者信息 +

Design and verification of high-performance DSP instruction cache miss pipeline

Author information +
文章历史 +
PDF (5582K)

摘要

为解决CPU(central processing unit) 与存储器之间速度不匹配问题,提出一种针对低功耗、高性能数字信号处理器的指令缓存优化设计策略.该设计通过构建独立于取指流水线的内部指令缓存流水线,解决指令缓存与取指流水线之间信号交互频繁、线路延迟较大的问题.通过引入重叠流水线处理缺失方法,显著降低非缺失流水线在处理连续缺失时的周期损失.通过利用内部缺失状态循环先进先出队列记录缺失处理状态,并通过缺失模块状态机进行相应的跳转,实现了指令缓存缺失流水线的高效处理.为验证该优化策略,采用UVM(universal verification methodology)和库函数系统级验证手段对优化后的指令缓存进行了全面验证.结果显示,在连续缺失情境下,指令缓存缺失流水线每个缺失平均可优化4.5个周期,平均访存失效代价降低了27.5%;基于40 nm工艺的综合与布局布线,该指令缓存可在600 MHz主频下稳定工作,总功耗为309.97 mW,满足高性能DSP的设计需求.

Abstract

To address the speed mismatch between CPU and memory, an optimized design for instruction cache in low-power, high-performance digital signal processor (DSP) is proposed. An internal instruction cache pipeline independent of the instruction fetch pipeline is established to address the issues of frequent signal interaction and significant line delay between the instruction cache and the instruction fetch pipeline. By introducing an overlapping pipeline method to handle misses, the cycle losses of the non-miss pipeline in dealing with consecutive misses are significantly reduced. The efficient handling of instruction cache miss pipelines is achieved by using an internal state circular FIFO to record miss handling states and employing a miss module state machine for the corresponding transitions. To validate this optimization strategy, comprehensive verification of the optimized instruction cache is conducted using universal verification methodology (UVM) and library function system-level verification techniques. Simulation results show that, in scenarios with consecutive misses, each miss in the instruction cache miss pipeline can be optimized by an average of 4.5 cycles, and the average memory access penalty is reduced by 27.5%. Furthermore, post-synthesis and place-and-route results on a 40 nm process confirm that the instruction cache can operate stably at 600 MHz with a total power consumption of 309.97 mW, meeting the design requirements for high-performance DSP.

Graphical abstract

关键词

指令缓存 / 缺失流水线 / 数字信号处理器 / 存储器 / UVM验证

Key words

instruction cache / miss pipeline / digital signal processor / memory / UVM verification

引用本文

引用格式 ▾
唐俊龙,高睿禧,王东旭,艾承威. 基于高性能DSP指令缓存的缺失流水线设计与验证[J]. 湖南大学学报(自然科学版), 2026, 53(6): 179-189 DOI:10.16339/j.cnki.hdxbzkb.2026282

登录浏览全文

4963

注册一个新账户 忘记密码

随着数字处理器的发展,微处理器的处理速度大幅提升.然而,存储器与微处理器的性能提升步伐并不一致,每年存储器访问速度的增长率仅约 7%,显著低于微处理器的提升速度.同时,存储器存储容量的持续增加导致当今存储器与微处理器性能差异愈发明显,出现“存储墙”1-3问题.
为提升高性能数字处理器中缓存(cache)系统的整体性能,传统方法通常采用预取和非阻塞cache等技术,以降低cache缺失带来的访问延迟,从而提高数据访问效率.文献[4-5]采用传统非阻塞cache策略,将指令同后续不相关指令的处理重叠来隐藏缺失延迟.但其应用范围是采用指令动态调度的处理器,指令是乱序执行的,对于实时性和低功耗要求很高的DSP来说,支持指令动态调度是不可取的.文献[6]提出的预取策略,是通过将所需要数据提前从存储体系的底层(如二级cache或内存)读取到高层(如一级指令cache)而达到延迟隐藏的目的.文献[7]B-Fetch使用的分支预测的预取和文献[8-9]提出的基于表的预取可能造成从二级缓存取来的数据替换掉一级缓存中有用的cache块,而取过来的数据不被使用,最终又需要将原来被替换的cache块取回,造成cache抖动10.文献[11]提出的基于流缓冲器的预取方法,在访存路径中引入额外缓冲资源,能够有效减少cache抖动,但同时也增加了硬件复杂度.本文设计的数字信号处理器兼具低功耗和实时性特点,要求预取数据在cache缺失时必须有效,并且程序需事先编译好再执行,不支持指令乱序流出.因此,就本文所针对的要求达到600 MHz高性能DSP的指令缓存优化而言,传统的非阻塞cache技术以及基于预取的策略均不适用.
本文提出一种面向一级指令缓存连续读缺失请求的重叠流水线处理优化策略,构建了支持连续处理两个读缺失请求的cache控制机制.相较于传统仅能处理一个缺失的cache,本文设计能连续处理两个读缺失并实时返回正确结果,不仅显著提升了指令cache连续读缺失操作的处理速度,同时功耗和时延都满足600 MHz高性能DSP的需求.

1 一级指令缓存流水线设计

图1所示,本文采用了两级缓存架构12,一级指令缓存(level 1 program cache, L1P)容量为32 kB,直接映射结构13-14,一级数据缓存(level 1 data cache, L1D)容量也为32 kB,采用二路组相联结构15.二级缓存(level 2 cache, L2)作为L1D、 L1P共用的下一级缓存,总容量为1 MB,其中二级缓存内的数据可以在一级缓存中存在备份.

针对八发射VLIW(very long instruction word)结构16,L1P向CPU内核提供的指令码位宽为256位,且每条指令长度为32位.同时,CPU内核向L1P发送的指令地址位宽为32位.当L1P发生缺失时,它会向L2发送一个32位的读请求地址.L2接收到L1P的请求后,进行缺失处理.如果L1P的请求在L2的cache或SRAM中命中,则经过6到8个时钟周期后,L2会向L1P返回一个256位宽的指令包,随后L1P再将相应的指令包返回给CPU内核.

1.1 一级指令缓存总体流水线设计

在设计处理器架构的过程中,本文基于L1P与取指流水线深度协同的特性,采用流水线拆分策略:将传统取指流水线中与L1P存在强耦合关系的F1-F4四级流水站解耦,构建独立运行的L1P专用处理流水线.图2所示的一级指令缓存流水线结构遵循经典流水线技术原理17-18,通过功能单元空间隔离与资源分区配置(L1P_F1至L1P_F4),在可控的面积代价下实现关键路径优化与时序收敛强化.重构后的架构有以下改进:1)原始取指流水线专注于执行指令地址生成、分支预测状态维护等核心功能; 2)L1P相关操作(包括Tag存储体访问、缓存阵列存取等)独立于专用流水线,形成指令供给子系统.

本文的一级指令缓存流水线结构,其拆分策略不可避免地带来了资源占用19的增加.具体表现为新增的L1P内部站点需要额外的逻辑电路、寄存器及控制信号,导致芯片面积、功耗有所上升,但流水线部分仅占L1P整体面积的1.8%,对整体性能与资源规模的影响较小. 结合其在连续缺失场景下降低周期损失、改善缺失处理效率的效果,该设计在资源开销与性能收益之间取得了较好的折中.同时,各站之间通过停滞(Stall)信号机制,确保了L1P与取指部件之间流动的一致性,有效规避了因流速差异可能引发的性能瓶颈问题,如指令预取与缓存返回数据速度的不匹配20等.

由此可见,本文流水线拆分与重组的策略,不仅显著减少了L1P与取指流水线间的频繁信号交互,降低了线路延迟,而且通过内部化处理访问Tag体和L1P_Mem体的操作,提升了处理器内部的协同效率,为实现高性能、低延迟的处理器架构提供了支撑,并有助于提升系统整体吞吐量21.

1.2 缺失流水线设计

1.2.1 缺失流水线分析

图3为L1P处理缺失流程:1)L1P_F1站向L1P控制器发送读Tag请求;2)L1P_F2站接收读Tag值,进行命中缺失判断;3)若L1P_F2站判断地址为缺失,向L1P控制器发送缺失地址,并在下一周期发出Stall信号用以停滞取指流水线,L1P也会随之向L2发送缺失地址;4)L2接收到缺失地址后,会进行一系列缺失请求的处理;5)L2返回L1P缺失数据到L1P控制器,并解除Stall信号用以启动流水线;6)L1P控制器将L2返回的缺失数据送L1P_F3站,并完成缓存回填.

图4为L1P向L2发送单个读缺失请求的时序情况.在L2处理单个缺失地址的过程中,单个缺失地址的处理会导致系统流水线停滞8个周期(L2处理缺失数据),即CPU在L2处理缺失地址时会产生8个时钟周期的Stall.系统流水线指的是CPU内核流水线,与专门处理缺失请求的缺失流水线相对,包含系统全流程的取指、派发与执行阶段.

图5为L1P向L2连续发送两个读缺失请求的时序情况.通过引入缺失处理流线,系统能够在处理完两个连续缺失请求后,仅使L2停滞9个周期.若按照非流水化的缺失处理模式,每个缺失请求在L2停滞中都将分别导致8个周期的流水线停滞.因此,通过流水化处理缺失请求,相较于非流水化处理,在发生连续缺失的情况下,系统流水线能够在L2处理缺失地址过程时减少7个周期的L2停滞,从而有效降低缺失代价,并提升指令缓存系统的整体性能.

1.2.2 一级指令缓存缺失模块设计

L1P缺失流水线的设计目标是实现对连续缓存缺失的高效处理,从而有效隐藏L2的访问延迟.为实现此目标,L1P缺失处理模块被设计为一个流水化结构,如图6所示.该模块主要由三个核心组件构成:缺失状态循环先入先出队列(state first input first output,State_FIFO),缺失地址先入先出队列(program counter first input first output,PC_FIFO),以及缺失请求缓冲(Request_Buffer).

该模块的工作流程如下:当L1P流水线的L1P_F2站检测到Tag不匹配时,便会立即断言一个缺失请求信号(MissReq).该信号触发以下并行操作:1)32位缺失地址写入PC_FIFO队列;2)将状态位1压入State_FIFO(若命中则压入0).这两个深度为2的循环队列与Request_Buffer形成流水化处理链:PC_FIFO[31∶0][1∶0]存储当前及后续缺失地址,State_FIFO[1∶0]则通过二进制状态码控制请求优先级.

Request_Buffer将首个缺失地址发送至L2后,L2进入8周期的处理流程(地址比对、存储体访问、数据返回).在此期间,Request_Buffer持续监控后续地址:若L1P_F2再次检测缺失,PC_FIFO存储第二个地址,State_FIFO更新为2'b11.当L2返回数据时,Req_Point信号触发队列指针更新:PC_FIFO[31∶0][1]地址与256位指令包同步写入L1P_Mem/Tag体,完成缓存更新;State_FIFO[1]复位为0,[0]位根据当前请求状态刷新.

State_FIFO通过2位二进制状态码(图7)动态控制缺失处理过程的请求优先级.例如,状态2'b11表示模块已锁存两个连续的缺失请求,处于双缺失并行处理模式;状态2'b10则表示正在处理单个缺失,此时将暂停接收新的缺失请求以保证时序的确定性.PC_FIFO则采用循环写入策略,当L1P_F2站检测到一次缓存缺失时,相应的32位PC地址被压入PC_FIFO.当L2返回数据时,PC_FIFO弹出其队头地址,该地址确定L2返回的数据块被写入L1P_Mem体和Tag体的指定行.这种“先进先出”模式确保了每一个L2数据响应都能与其发起请求的地址一一对应.

值得注意的是,L1P缺失处理模块的设计依赖于一个严格执行顺序处理请求的L2控制器.具体而言,L2控制器对其接收到的所有一级缓存(L1D、L1P)请求执行序列化处理.即使一个后到达的请求在L2中命中(Hit),而其前序请求导致了L2缺失(Miss),L2控制器仍会暂停对命中请求的处理,直到从主存完成该缺失请求.该机制确保了L2返回给L1P的数据响应流与L1P发出的请求流顺序严格一致,并将复杂的乱序处理从L1P控制器中剥离,使其能够专注于其内部的连续缺失处理流水线,避免L2返回数据乱序风险.

该架构的核心优势体现在连续缺失处理场景:当L1P发生两个连续缺失并发送给L2后,L2在首个请求处理后期启动第二个请求的预解码操作,使总停滞周期从非流水化方案的16周期(8×2)压缩至9周期,效率提升43.7%.PC_FIFO的地址追踪机制与State_FIFO的状态锁存功能协同工作,实测使L1P缺失处理吞吐量达到3.8请求/周期,较传统架构提升82%.通过双队列的流水化调度与L2访问延迟隐藏技术,有效解决了指令预取与缓存返回速率失配问题.

1.2.3 一级指令缓存缺失模块状态机实现

L1P缺失处理模块由一个有限状态机(finite state machine, FSM)进行控制,该状态机用于调度单缺失与连续缺失两种场景.如图8所示,该FSM定义了两条核心处理路径:处理单个缺失的路径A (Path_A),以及处理两个连续缺失的路径B (Path_B)

FSM的初始状态为IDLE.当L1P的L1P_F2站检测到首次缓存缺失(L1PMiss1)时,FSM便转换至Miss1_Dispatch状态.在此状态下,模块向L2发出访存请求,并将缺失状态压入State_FIFO,同时断言流水线Stall以停滞取指流水线,确保程序执行的正确性.

FSM从Miss1_Dispatch状态开始的路径选择.若在L2处理第一个缺失期间,L1P_F2站检测到第二次缺失(L1PMiss2),FSM则立即沿路径B转换至Miss2_Dispatch状态.在此状态下,第二个缺失地址被锁存,同时流水线Stall被解除,允许处理器继续执行后续指令,从而开始重叠两次L2访问的延迟.若无后续缺失,FSM则沿路径A进入Data_Wait状态,等待L2的数据返回.

数据返回阶段的处理逻辑由State_FIFO的状态码决定.对于Path_A的单缺失场景(State=2'b10),FSM进入Miss1_OneReceive状态,完成数据返回操作后直接返回IDLE.对于Path_B的连续缺失场景(State=2'b11),FSM则依次进入Miss1_Receive和Miss2_Receive&Judge_Dispatch状态,顺序完成两次数据返回.特别地,Miss2_Receive&Judge_Dispatch状态在处理第二次数据写回的同时,能够立即响应新的缺失请求,实现了连续缺失处理间的衔接,有效消除了流水线气泡.

该FSM通过Path_A与Path_B两条处理路径的动态切换,使连续缺失处理效率提升超60%.关键优化在于Path_B路径支持缺失请求的流水化叠加,即当首个缺失处于Miss1_Dispatch阶段时,系统仍可接收并暂存第二缺失地址,使得L2访问延迟周期被部分重叠.因此本文的缺失流水线策略相较传统预取策略,能够在消除冗余数据搬运的同时,避免存储带宽与功耗的无效消耗,实现效率与能效的协同优化.

2 一级指令缓存缺失流水线的验证

2.1 UVM验证平台搭建

本文构建了基于UVM架构22-23的验证平台,针对L1P缺失流水线实施全流程验证,图9为L1P缺失流水线整体UVM验证平台框架.该平台采用受约束的随机测试用例,并收集测试用例覆盖率24-25,实现对测试结果的全面对比.Fetch_Agent模块中的Sequence生成动态取指请求事务,Driver根据Stall信号状态控制激励时序,即Stall激活时暂停请求发送,解除后恢复传输,Monitor同步捕获L1P返回的指令包并传输至Scoreboard.L2_Agent模块通过Driver模拟L2响应延迟,在检测到缺失请求后按预设周期返回数据,Monitor同步采集响应数据建立双向追踪通道.PerBus_Agent模块负责配置L1P存储参数(Cache/SRAM容量),通过寄存器读写操作验证功能可配置性.

Reference_Model参考模型精确模拟被测设备DUT在L1P_F2站命中/缺失判定逻辑工作行为:命中时从内部存储提取数据,缺失时等待L2响应,输出结果通过TLM接口26传输至Scoreboard.验证核心层通过Scoreboard执行事务级比对,利用FIFO通道接收DUT与参考模型数据,调用Compare函数进行字段级校验(地址/指令码/状态标识),匹配则显示“pass”,否则报错.比对前后,Scoreboard会打印数据字段,帮助快速定位问题.图10是验证环境中各个端口的连接情况.

2.2 UVM验证结果分析

基于图9所示的UVM验证平台,本文针对L1P缺失流水线在600 MHz时钟下的混合场景(单缺失+命中)实施严格验证.如图11所示:周期1触发L1P_F1站接收L1PMiss1地址,周期2完成Tag校验并触发MissReq信号.当周期3命中地址PC2进入L1P_F2站时,State_FIFO已进入Miss1_ Dispatch状态,冻结新请求接收并跳转至Data_ Wait状态.L2在周期12完成缺失数据返回,触发Miss1_OneReceive状态更新L1P_Mem体和Tag体数据,同时Stall信号解除,从而使命中数据在周期13返回L1P_F3站.该流程验证了从缺失判定(周期2)至缺失数据返回(周期13)的12周期时序逻辑,证明FSM在连续缺失场景下的稳定性.

图12为L1P缺失流水线处理双连续缺失的时序行为.周期1触发L1P_F1站接收L1PMiss1地址,周期2完成Tag校验并触发MissReq信号.此时状态机处于IDLE状态,立即接收第二缺失地址L1PMiss2.周期3状态机跳转至Miss1_Dispatch状态,并行启动双缺失处理流程:L1PMiss1通过Request_Buffer派发至L2,L1PMiss2暂存至PC_FIFO队列.周期5完成双请求L2并行派发,系统进入Data_Wait等待状态.周期12完成L1PMiss1数据返回与L1P_F3站更新,解除Stall信号;周期13实现L1PMiss2缺失数据从L2返回,同时触发新缺失地址L1PMiss3的判定流程.双缺失处理在L2中处理总耗时12周期,通过L2访问阶段重叠与状态机预判机制,较传统串行处理模式减少了大量周期开销.该设计验证了流水线架构在连续缺失场景下的时序收敛能力,实现了吞吐效率与资源利用率的双重优化.

图13中,本文按照DSP指令派发规则进行了随机化激励测试.测试环境运行了约476 300 ns,Scoreboard共对比了1 952次,且DUT输出结果与参考模型数据结果一致.

经过随机测试和定向测试的严格检验,整体覆盖率情况如图14所示.具体而言,代码覆盖率、行覆盖率、条件覆盖率、跳转覆盖率以及状态机覆盖率等各项指标均达到了较高水平,综合覆盖率达98.29%.由于LIP的缺失命中取指功能仅是其众多功能中的一部分,缺失模块中涉及其他功能模块的部分信号并未使用,模块覆盖率虽未能达到100%,但缺失模块的每个状态都经过了充分的分析与验证.综上所述,整体验证工作仍然达到了预期目标.

2.3 性能分析

相较于传统缓存优化策略,本文设计并实现的L1P缺失流水线具有以下优势:1)通过L2返回数据直写机制确保数据立即可用,进而提升了访存效率;2)硬件设计精简,仅需L1P_F2站执行缺失判定,配合深度为2的State_FIFO队列即可实现双缺失流水线处理;3)通用性强,兼顾DSP实时性与通用处理器能效需求.关键性能指标显示,双连续缺失处理周期从23个周期压缩至14个周期,即连续缺失的情况下每个缺失能够平均优化4.5个周期,处理速度得到大幅提升.表1表2为实现缺失流水线后的优化对比:表中的F1站地址为L1P_F1站向L1P控制器发送的请求地址;F2站读Tag为L1P_F2站的读Tag请求的地址;L2返回F3站为L2处理完缺失地址后返回缺失数据到L1P_F3站的地址;F3站等待为L1P_F3站等待L2返回的地址;取指包到F4站为L1P_F3站地址和对应取指包随流水线流到L1P_F4站的地址;CPU_Stall为整个取指系统因为缺失处理造成的Stall.

为验证L1P缺失流水线优化效果,本文选取了DSP/BIOS的DSPLIB库中的六个关键库函数:Dsp_fft 32×32、Dsp_ifft16×16、DSPF_sp_bitrev_cpl、DSP_fir_ cplx、DSPF_sp_lud_cmplx和DSPF_sp_mat_mul.通过对实现了和未实现缺失流水线的L1P缺失流水线进行性能统计,测试其优化效果.这些函数涵盖了复数FFT运算、位反转操作、FIR滤波、复数矩阵的LU分解以及单精度浮点数矩阵乘法等多种运算.

表3为缺失流水线在DSPLIB库函数下优化周期数的纵向对比,优化周期数指的是在执行DSPLIB系列库函数过程中,通过L1P缺失流水线优化所减少的L2命中时间的总周期数.优化周期数越多,意味着优化前缺失的周期数相对减少,从而表明优化效果更为显著.L1P实现缺失流水线优化后,系统运行各种cache性能均有所提升,提升幅度最高可达30.80%,最低为3.27%,平均访存失效代价降低了27.5%.

为了更直观地呈现优化效果,图15以分组柱状图的形式对比了各函数在优化前后的缺失周期数.从图表中可清晰地看到,所有测试函数的缺失周期数均有下降. DSPLIB库中的Dsp_ifft16×16与Dsp_fft32×32,其功能分别为处理16位和32位复数的快速傅里叶逆变换(IFFT)与快速傅里叶变换(FFT).由于这些函数在信号转换过程中需处理大量重复且高度相关的数据,优化后它们的cache性能大幅增强. DSPF_sp_mat_mul执行矩阵乘法操作,而DSPF_sp_bitrev_cpl负责FFT或IFFT算法中的位反转排列,这两类操作涉及的数据间相关性较弱,因此,在L1P缺失流水的情况下,它们所表现出的性能提升相较于前述的变换函数而言较为有限.

相比之下,文献[7]提出的分支预测方法降低了23.2%的失效代价,文献[9]的基于表预取策略降低了25.5%,文献[10]的Stream Buffer方法则降低了20.0%.本文所设计的优化方案在访存效率上展现出了更为显著的改善效果.图16为缺失流水线优化与其他几种设计在降低失效代价方面的横向对比,实验结果表明本文缺失流水策略有明显的访存优化.

本文采用某厂家提供的40 nm的低阈值库,在Worst Case Slow环境(即温度为125 ℃,电压为0.99 V),以综合后网表的路径延迟不超过1.47 ns为目标,对综合出现的关键路径进行分析,关键路径如表4所示.各关键路径满足时序约束要求,导入全芯片中布局布线后无时序违反.其功耗报告如图17所示,一级指令缓存的总功耗为309.577 mW,达到在600 MHz高性能DSP下稳定运行的需求.

3 结 论

本文采用了一种缺失流水线的cache优化策略以降低缺失延迟,在连续缺失的情况下,每个缺失能够平均优化4.5个周期,平均访存失效代价降低了27.5%.在部件级验证中,基于UVM验证方法学搭建了验证环境.验证结果表明,所设计的L1P缺失流水线通过了验证,并且覆盖率总体达到了98.29%.本文设计缓解了存储系统的效率与高性能DSP不匹配的问题,提高了指令cache的处理速度.

参考文献

[1]

KE LZHANG X,SO J,et al .Near-memory processing in action:accelerating personalized recommendation with AxDIMM[J].IEEE Micro202242(1):116-127.

[2]

RAJBHANDARI SRUWASE ORASLEY Jet al .ZeRO-infinity:breaking the GPU memory wall for extreme scale deep learning[C]//SC21:International Conference for High Performance Computing,Networking,Storage and Analysis.November 14-19,2021,St.Louis,MO,USA.IEEE,2022:1-15.

[3]

LEE SKANG S HLEE Jet al .Hardware architecture and software stack for PIM based on commercial DRAM technology:industrial product[C]//2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA),June 14-18,2021,Valencia,Spain. IEEE,2021:43-56.

[4]

KROFT D. Lockup-free instruction fetch/prefetch cache organization[C]//25 Years of the International Symposia on Computer Architecture (Selected Papers). Barcelona Spain. ACM,1998:195-201.

[5]

CHEN T FBAER J L. Reducing memory latency via non-blocking and prefetching caches[J]. ACM SIGPLAN Notices199227(9): 51-61.

[6]

AINSWORTH SJONES T M. Graph prefetching using data structure knowledge[C]//Proceedings of the 2016 International Conference on Supercomputing. Istanbul Turkey. ACM,2016:1-11.

[7]

KADJO DKIM JSHARMA Pet al. B-fetch:branch prediction directed prefetching for chip-multiprocessors[C]//2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.December 13-17,2014,Cambridge,UK. IEEE,2015:623-634.

[8]

裴颂文, 赵梦旖, 姬燕飞. 异构内存系统全局优化的数据预取算法[J].上海理工大学学报201941(1):22-29.

[9]

PEI S WZHAO M YJI Y F .Data prefetching algorithm for globally optimizing heterogeneous memory system[J].Journal of University of Shanghai for Science and Technology201941(1):22-29.(in Chinese)

[10]

KIM YKIM HSONG W J .NOMAD:enabling non-blocking OS-managed DRAM cache via tag-data decoupling[C]//2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA).February 25 - March 1,2023,Montreal,QC,Canada.IEEE,2023:193-205.

[11]

张淑,田泽,郑新建, .面向低抖动GPU像素Cache的像素写合并缓冲技术[J].微电子学与计算机201936(7):93-97.

[12]

ZHANG STIAN ZZHENG X Jet al. Pixel write combining buffer technology for pixel cache low thrash of GPU[J]. Microelectronics & Computer201936(7): 93-97.(in Chinese)

[13]

李鹏,王剑,曾露,. 多核片上系统主控式内存控制器预取[J].高技术通讯201929(5):423-431.

[14]

LI PWANG JZENG Let al.Proactive control method for memory controller prefetching on multi-processor system-on-chip[J]. Chinese High Technology Letters201929(5): 423-431.(in Chinese)

[15]

FALTELLI MBELOCCHI GQUQGLIA Fet al. COREC: concurrent non-blocking single-queue receive driver for low latency networking[J/OL].Computer Networks,2026-03-18.DOI:10.1016/j.comnet.2024.110982 .

[16]

YAMAKI H .Effective cache replacement policy for packet processing cache[J]. International Journal of Communication Systems202033(14):e4526.

[17]

GHOSH S NBHARGAVA LSAHULA V .SRCP:sharing and reuse-aware replacement policy for the partitioned cache in multicore systems[J]. Design Automation for Embedded Systems202125(3): 193-211.

[18]

LIANG K KWU JREN H Qet al .Design and implementation of DSP cache[C]//2021 IEEE 21st International Conference on Communication Technology (ICCT),October 13-16,2021,Tianjin,China. IEEE, 2022: 993-997.

[19]

刘仲, 李程, 田希, .MVSim:面向VLIW多核向量处理器的快速、可扩展和精确的体系结构模拟器[J].计算机工程与科学202446(2): 191-199.

[20]

LIU ZLI CTIAN Xet al .MVSim:a fast,scalable and accurate architecture simulator for VLIW multi-core vector processors[J].Computer Engineering & Science202446(2):191-199.(in Chinese)

[21]

郝振和,焦继业,李雨倩 .基于AHB总线的RISC-V微处理器设计与实现[J].计算机工程与应用202056(20): 52-58.

[22]

HAO Z HJIAO J YLI Y Q. Design and implementation of RISC-V microprocessor based on AHB bus[J]. Computer Engineering and Applications202056(20):52-58.(in Chinese)

[23]

RAO J LAO T YXU Set al .Design exploration of SHA-3 ASIP for IoT on a 32-bit RISC-V processor[J]. IEICE Transactions on Information and Systems2018,E101. D(11):2698-2705.

[24]

QIU Z YYANG J CZHANG J Cet al .FrozenHot cache:rethinking cache management for modern hardware[C]//Proceedings of the Eighteenth European Conference on Computer Systems.May 8 - 12,2023,Rome,Italy.ACM,2023:557-573.

[25]

GARG SZHANG JPITCHUMANI Ret al .CrossPrefetch:accelerating I/O prefetching for modern storage[C]//Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems,Volume 1.27 April 2024,La Jolla,CA,USA.ACM,2024:102-116.

[26]

WU KGUO Z HHU G Zet al. The storage hierarchy is not a hierarchy: optimizing caching on modern storage devices with orthus[C]//19th USENIX Conference on File and Storage Technologies (FAST 21). 2021: 307-323.

[27]

王泽华 .基于UVM的Cache验证平台的设计与研究[D].西安:西安电子科技大学,2019

[28]

WANG Z H. Design and research of cache verification platform based on UVW[D]. Xi’an: Xidian University,2019.(in Chinese)

[29]

高秋辰,胡勇华 .基于UVM的SoC环境中PCIe验证平台设计[J].计算机工程202450(9):189-196.

[30]

GAO Q CHU Y H .Design of PCIe verification platform in SoC environment based on UVM[J].Computer Engineering202450(9): 189-196.(in Chinese)

[31]

LIU CXU X YCHEN Z Jet al .A universal-verification-methodology-based testbench for the coverage-driven functional verification of an instruction cache controller[J]. Electronics202312(18): 3821.

[32]

DWIVEDI PMISHRA NSINGH-RAJPUT A. Assertion & functional coverage driven verification of AMBA advance peripheral bus protocol using system verilog[C]//2021 International Conference on Advances in Electrical,Computing,Communication and Sustainable Technologies (ICAECT),February 19-20, 2021, Bhilai,India. IEEE,2021:1-6.

[33]

ZHOU S YGENG S QPENG X Het al .The design of UVM verification platform based on data comparison[C]//Proceedings of the 2020 4th International Conference on Electronic Information Technology and Computer Engineering.November 6 - 8,2020,Xiamen,China.ACM, 2021: 1080-1085.

基金资助

湖南省制造业关键产品“揭榜挂帅”项目―高性能高可靠国产DSP芯片(2022GXGG012)

Hunan Province’s Key Manufacturing Products “Unveiling the Leader” Project―High-performance and High-reliability Domestic DSP Chips(2022GXGG012)

AI Summary AI Mindmap
PDF (5452KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/