CN103077132A - 一种高速缓存处理方法及协议处理器高速缓存控制单元 - Google Patents
一种高速缓存处理方法及协议处理器高速缓存控制单元 Download PDFInfo
- Publication number
- CN103077132A CN103077132A CN2013100049206A CN201310004920A CN103077132A CN 103077132 A CN103077132 A CN 103077132A CN 2013100049206 A CN2013100049206 A CN 2013100049206A CN 201310004920 A CN201310004920 A CN 201310004920A CN 103077132 A CN103077132 A CN 103077132A
- Authority
- CN
- China
- Prior art keywords
- instruction
- module
- backfill
- data
- cache
- 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
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种高速缓存处理方法及协议处理器高速缓存控制单元,高速缓存控制单元包括解析调度模块、标签阵列模块、数据阵列模块、接口通信模块;解析调度模块用于将译码数据发送至标签阵列模块,将译码数据和译码地址发送至标签阵列模块和数据阵列模块。标签阵列模块用于根据译码数据判断出命中的路的标识称为命中信息。数据阵列模块用于选通命中信息中相应路的数据。接口通信模块用于转发命中成功信息或者还同时转发从数据阵列模块接收到的数据。本发明以高速缓存控制单元与协议处理流水线的同步高速缓存操作方式取代现有的异步操作方式,消除了异步操作方式带来的高速缓存访问延迟问题。
Description
技术领域
本发明涉及计算机领域和集成电路设计领域,具体涉及到一种高速缓存处理方法及协议处理器高速缓存控制单元。
背景技术
高速缓存(Cache)通常指介于处理器和主存之间的高速小容量存储器,访问速度比主存快得多,匹配处理器的存取速度。Cache通常基于静态随机存储器(Static Random Access Memory,简称SRAM)实现,SRAM相对动态随机存储器(Dynamic Random Access Memory,简称DRAM)的优点是速度快,缺点是成本高,面积大。Cache以主存几百分之一的容量映射一部分主存地址上的内容,当处理器访问的数据地址正好位于其映射之内时,处理器可直接对Cache进行操作,省却了访问主存的步骤,计算机的处理速度大大提升。
CC-NUMA系统中数据按照地址划分均匀分布在各个结点的主存上,结点和结点之间按照Cache一致性协议进行数据通信,以发包收包的形式完成通信过程。结点和结点之间的通信包以协议报文的形式存在。结点从端口上接收到协议报文后需要通过协议处理器对其进行解析和处理。协议处理器中存在一定容量的Cache,用于存储最近使用的协议信息。若Cache命中,协议处理器直接对Cache进行操作,若Cache未命中,则向下一级存储器发起访问。协议处理器中的Cache控制单元用于接收其发出的Cache访问指令,对指令进行解析后向Cache发起对应的操作。
通常实现协议处理器时将Cache控制单元与协议处理流水线设计成异步模式,即两者之间数据操作流程和时序不存在关联。协议处理流水线向Cache发出访问指令后就将该指令相关的协议报文挂起,等待Cache控制单元响应返回后再重新取出被挂起的协议报文,进入流水线重新进行协议解析和处理。这种实现方式的弊端是协议处理流水线无论Cache命中与否都不能同步操作Cache上的数据,每一条协议报文的处理均需等待若干个时钟周期的Cache访问时间,降低了协议处理的效率,增大了系统延迟。
发明内容
本发明要解决的技术问题是提供一种高速缓存处理方法及协议处理器高速缓存控制单元,解决现有技术中高速缓存控制单元与协议处理流水线异步设计导致的处理效率低并且系统延迟大的问题。
为了解决上述技术问题,本发明提供了一种协议处理器高速缓存控制单元,所述高速缓存控制单元包括解析调度模块、标签阵列模块、数据阵列模块、接口通信模块;
所述解析调度模块,用于接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;还用于在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块;
所述标签阵列模块,用于根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息;
所述数据阵列模块,用于选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,还用于在读出数据后向所述接口通信模块发送读出的数据;
所述接口通信模块,用于转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。
进一步地,上述高速缓存控制单元还可以具有以下特点:
所述解析调度模块,还用于根据接收到的指令的优先级分配处理权限,在多个指令同时有效时为优先级最高的指令分配处理权限。
进一步地,上述高速缓存控制单元还可以具有以下特点:
所述解析调度模块,还用于将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,还用于在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。
进一步地,上述高速缓存控制单元还可以具有以下特点:
所述标签阵列模块,还用于根据所述译码地址对各路标签发起读操作,判断读出结果均与所述译码数据不相同时,向所述接口通信模块发送命中失败信息;
所述接口通信模块,还用于收到所述命中失败信息后,向下级存储器发起异步访问指令。
进一步地,上述高速缓存控制单元还可以具有以下特点:
所述高速缓存控制模块还包括回填模块;
所述接口通信模块,还用于收到所述下级存储器的数据响应后,通知所述回填模块;
所述回填模块,用于向所述解析调度模块发起高速缓存回填指令;
所述解析调度模块,还用于在为所述回填指令分配处理权限时,执行所述回填指令进行高速缓存回填,还用于在未为所述回填指令分配处理权限时,将所述回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。
进一步地,上述高速缓存控制单元还可以具有以下特点:
所述高速缓存控制模块还包括失效缓存模块;
所述解析调度模块,还用于获知一流水线高速缓存访问指令命中失败后,将此流水线高速缓存访问指令写入失效缓存模块;
所述失效缓存模块,用于在收到相应回填指令并完成回填后,激活所述失效缓存模块中相应地址的访问指令并向所述解析调度模块发送此指令。
为了解决上述技术问题,本发明提供了一种高速缓存处理方法,包括:解析调度模块接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块;
所述标签阵列模块根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息;
所述数据阵列模块选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,在读出数据后向所述接口通信模块发送读出的数据;
所述接口通信模块转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。
进一步地,上述方法还可以具有以下特点:
所述解析调度模块在多个指令同时有效时为优先级最高的指令分配处理权限。
进一步地,上述方法还可以具有以下特点:
所述解析调度模块将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。
进一步地,上述方法还可以具有以下特点:
所述标签阵列模块根据所述译码地址对各路标签发起读操作,判断读出结果均与所述译码数据不相同时,向所述接口通信模块发送命中失败信息;
接口通信模块收到所述命中失败信息后向下级存储器发起异步访问指令。
进一步地,上述方法还可以具有以下特点:
所述接口通信模块收到所述下级存储器的数据响应后通知回填模块;
所述回填模块向所述解析调度模块发起高速缓存回填指令;
所述解析调度模块在为所述回填指令分配处理权限时,执行所述回填指令进行高速缓存回填,在未为所述回填指令分配处理权限时,将所述回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。
进一步地,上述方法还可以具有以下特点:
所述解析调度模块获知一流水线高速缓存访问指令命中失败后,将此流水线高速缓存访问指令写入失效缓存模块;
所述失效缓存模块在收到相应回填指令并完成回填后,激活所述失效缓存模块中相应地址的访问指令并向所述解析调度模块发送此指令。
本发明以高速缓存控制单元与协议处理流水线的同步Cache操作方式取代现有的异步操作方式,消除了异步操作方式带来的Cache访问延迟问题,完成了Cache读写操作时序与协议处理器的流水线的全同步,实现高速缓存无缝隙访问和协议报文处理完全流水,减少了系统的延迟,提高了吞吐率。尤其在Cache命中时,使协议处理流水线同步操作Cache上的数据,提高了协议处理的效率,并且对各种指令以最优策略进行调度,减少了系统中的阻塞。
附图说明
图1是实施例一中高速缓存控制单元的结构图;
图2是实施例二中高速缓存控制单元的结构图;
图3是高速缓存访问流程图;
图4是协议处理流水线示意图;
图5是高速缓存指令译码格式示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
如图1所示,协议处理器高速缓存控制单元包括解析调度模块101、标签阵列模块102、数据阵列模块103、接口通信模块104。标签阵列模块102和数据阵列模块103中的路数相同,均为N路,N为正整数,例如N为8。
解析调度模块101,用于接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至标签阵列模块102,将译码数据和译码地址发送至标签阵列模块102和数据阵列模块103;还用于在流水线高速缓存访问指令为写指令时,将待写入数据发送至数据阵列模块103。
标签阵列模块102,用于根据译码数据判断出命中的路的标识称为命中信息后,将命中信息发送至数据阵列模块103,向接口通信模块104发送命中成功信息。
数据阵列模块103,用于选通命中信息中相应路的数据,进行相应的数据读出或待数据写入,还用于在读出数据后向接口通信模块104发送读出的数据。
接口通信模块104,用于转发命中成功信息或者还同时转发从数据阵列模块103接收到的数据。
图1所示的结构中,接口通信模块104与协议处理单元相连,高速缓存访问指令为读指令并且命中成功时,接口通信模块104向协议处理单元发送命中成功信息和命中数据,协议处理单元将此两个数据组装成流水线标准形式。整个高速缓存读操作都在协议流水线的发射站和执行站之间进行,与协议处理器的流水线同步,不带来额外的间隙或系统延迟。执行站得到高速缓存的命中结果和命中数据将作为输入,进行逻辑运算。高速缓存访问指令为写指令并且命中成功时,接口通信模块104向协议处理单元发送命中成功信息,协议处理单元将命中成功信息组装成流水线标准形式。图1的结构实现了高速缓存控制单元与协议处理流水线的同步Cache操作方式,实现了对高速缓存的操作与协议处理流水线同步,消除了现有技术中异步操作方式带来的高速缓存访问延迟问题。
解析调度模块101还用于根据指令的优先级分配处理权限,在多个指令同时有效时为优先级最高的指令分配处理权限;将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,在指令调度仲裁中为流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从流水线指令挂起队列中取出并处理。此队列为先入先出形式,数据宽度等同于或大于高速缓存的指令的长度,队列深度等同于或大于流水线流水站数量的2倍。当此队列中存储的指令个数大于等于一定数量时时,阻塞输入端,即停止接收发出的高速缓存访问指令,等待队列中被挂起的指令处理完毕再重新打开该输入端。
解析调度模块101接收到的需要调度的不同源的指令包括流水线高速缓存访问指令、流水线指令挂起队列输出的指令。
标签阵列模块102实现标签的读出和比较。具体执行为:根据译码地址对N路标签发起读操作,将从各路读出的标签内容分别与译码数据进行比较,两者相等的一路即为命中(hit)的路。如果存在命中的路,将各命中路的标识进行组合构成命中信息发送至数据阵列模块103,向接口通信模块104发送命中成功信息;如果没有命中的路,即各路读出结果均与译码数据不相同时,向接口通信模块104发送命中失败信息。
接口通信模块104除了与协议处理单元相连外还与下级存储器(下级存储器可以是主存,也可以另一级闪存)相连,收到命中失败信息后,向下级存储器发起异步访问指令,若干个时钟周期后下一级存储器访问操作结束返回数据响应,接口通信模块104接收下级存储器返回的响应结果。
实施例二
如图2所示,协议处理器高速缓存控制单元除了包括实施例一所述的解析调度模块101、标签阵列模块102、数据阵列模块103、接口通信模块104外,还包括回填模块105和失效缓存模块106。
回填处理过程中:
接口通信模块104还用于收到下级存储器的数据响应后,通知回填模块105。
回填模块105用于向解析调度模块101发起高速缓存回填指令。
解析调度模块101还用于在为回填指令分配处理权限时,执行回填指令进行高速缓存回填,在未为回填指令分配处理权限时,将回填指令置入回填指令挂起队列,在指令调度仲裁中为回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从回填指令挂起队列中取出并处理。回填指令挂起队列以先入先出方式实现,原理与流水线指令挂起队列相同。
失效缓存处理过程中:
解析调度模块101还用于获知一流水线高速缓存访问指令命中失败后,将此流水线高速缓存访问指令写入失效缓存模块106。
失效缓存模块106用于在收到相应回填指令并完成回填后,激活失效缓存模块中相应地址的访问指令并向解析调度模块101发送此指令。
本实施例中,解析调度模块101接收到需要调度的不同源的指令包括流水线高速缓存访问指令,流水线指令挂起队列输出的指令,回填模块105输出的回填指令,回填指令挂起队列输出的指令,失效缓存模块106输出的缓存的指令。
对于应于上述模块结构,本发明的高速缓存处理方法包括:解析调度模块101接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至标签阵列模块102,将译码数据和译码地址发送至标签阵列模块102和数据阵列模块103;在流水线高速缓存访问指令为写指令时,将待写入数据发送至数据阵列模块103。
标签阵列模块102根据译码数据判断出命中的路的标识称为命中信息后,将命中信息发送至数据阵列模块103,向接口通信模块104发送命中成功信息;数据阵列模块103选通命中信息中相应路的数据,进行相应的数据读出或待数据写入,在读出数据后向接口通信模块104发送读出的数据;接口通信模块104转发命中成功信息或者还同时转发从数据阵列模块104接收到的数据。
解析调度模块101将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。
标签阵列模块102根据译码地址对各路标签发起读操作,判断读出结果均与译码数据不相同时,向接口通信模块104发送命中失败信息;接口通信模块104收到命中失败信息后向下级存储器发起异步访问指令。
接口通信模块104收到下级存储器的数据响应后通知回填模块105;回填模块105向解析调度模块101发起高速缓存回填指令;解析调度模块101在为回填指令分配处理权限时,执行回填指令进行高速缓存回填,在未为回填指令分配处理权限时,将回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。
解析调度模块101获知一流水线高速缓存访问指令命中失败后,将此流水线高速缓存访问指令写入失效缓存模块106;失效缓存模块106在收到相应回填指令并完成回填后,激活失效缓存模块106中相应地址的访问指令并向解析调度模块101发送此指令。
图3描述了高速缓存控制单元的指令处理流程。协议流水线的发射站(SD)发出高速缓存访问指令,解析调度模块101进行指令译码并进行多指令仲裁和调度,调度成功获得仲裁权限的指令得到处理。标签阵列模块102使用指令译码地址和译码数据计算出是否命中(Hit),未命中(Miss)时,标签阵列模块102向接口通信模块104发送命中失败信息,接口通信模块104发出命中失败信息,并向下级存储器发出异步读指令,解析调度模块101将此指令存储失效缓存模块等待后续调度。标签阵列模块102使用指令译码地址和译码数据计算命中(Hit)时,数据阵列模块103进行相应路的数据选通,输出命中路的数据,标签阵列模块102向接口通信模块104发送命中成功信息,接口通信模块104在此指令类型为流水线时,输出命中成功信息和命中数据,等待流水线执行站(EX)完成后发起高速缓存写操作,协议流水线在写回站(WB)发起高速缓存写操作,解析调度模块101分别驱动标签阵列和数据阵列的写端口将数据写入对应地址;接口通信模块104在此指令类型不为流水线时,输出命中失败结果,解析调度模块101将此指令写入流水线挂起队列。上述为一个完整的与高速缓存相关的协议报文处理流程。
图4描述了协议处理流水线的各级流水站。解析调度模块101在发射站(SD)和执行站(EX)之间进行多个不同来源指令的调度仲裁以及选通指令相应的高速缓存读操作。在写回站(WB)之后进行对应的高速缓存写操作。整个过程与协议流水线同步,不占用额外的延迟。协议报文能够以数据流(Packets Flow)的方式在系统中处理,报文与报文之间无需插入气泡。
图5描述了高速缓存的指令译码格式。高速缓存访问指令分为5段,第一段为协议信息索引域(PacketInfo Index),作为Cache Line中协议信息的选择信号。第二段为标签数据域(Tag Data),用于标签阵列内容的比较和回填时标签的写入。第三段为标签地址域(Tag Addr),作为标签阵列和数据阵列的读操作地址。第四段为空洞(Hole),作为缺省域。第五段为指令类型域(Cmd),用于按照不同的指令对其进行编码,高速缓存控制单元根据编码类型做出相应操作。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
Claims (12)
1.一种协议处理器高速缓存控制单元,其特征在于,
所述高速缓存控制单元包括解析调度模块、标签阵列模块、数据阵列模块、接口通信模块;
所述解析调度模块,用于接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;还用于在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块;
所述标签阵列模块,用于根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息;
所述数据阵列模块,用于选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,还用于在读出数据后向所述接口通信模块发送读出的数据;
所述接口通信模块,用于转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。
2.如权利要求1所述的高速缓存控制单元,其特征在于,
所述解析调度模块,还用于根据接收到的指令的优先级分配处理权限,在多个指令同时有效时为优先级最高的指令分配处理权限。
3.如权利要求1所述的高速缓存控制单元,其特征在于,
所述解析调度模块,还用于将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,还用于在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。
4.如权利要求1所述的高速缓存控制单元,其特征在于,
所述标签阵列模块,还用于根据所述译码地址对各路标签发起读操作,判断读出结果均与所述译码数据不相同时,向所述接口通信模块发送命中失败信息;
所述接口通信模块,还用于收到所述命中失败信息后,向下级存储器发起异步访问指令。
5.如权利要求4所述的高速缓存控制单元,其特征在于,
所述高速缓存控制模块还包括回填模块;
所述接口通信模块,还用于收到所述下级存储器的数据响应后,通知所述回填模块;
所述回填模块,用于向所述解析调度模块发起高速缓存回填指令;
所述解析调度模块,还用于在为所述回填指令分配处理权限时,执行所述回填指令进行高速缓存回填,还用于在未为所述回填指令分配处理权限时,将所述回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。
6.如权利要求5所述的高速缓存控制单元,其特征在于,
所述高速缓存控制模块还包括失效缓存模块;
所述解析调度模块,还用于获知一流水线高速缓存访问指令命中失败后,将此流水线高速缓存访问指令写入失效缓存模块;
所述失效缓存模块,用于在收到相应回填指令并完成回填后,激活所述失效缓存模块中相应地址的访问指令并向所述解析调度模块发送此指令。
7.一种高速缓存处理方法,其特征在于,
解析调度模块接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块;
所述标签阵列模块根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息;
所述数据阵列模块选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,在读出数据后向所述接口通信模块发送读出的数据;
所述接口通信模块转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。
8.如权利要求7所述的方法,其特征在于,
所述解析调度模块在多个指令同时有效时为优先级最高的指令分配处理权限。
9.如权利要求7所述的方法,其特征在于,
所述解析调度模块将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。
10.如权利要求7所述的方法,其特征在于,
所述标签阵列模块根据所述译码地址对各路标签发起读操作,判断读出结果均与所述译码数据不相同时,向所述接口通信模块发送命中失败信息;
接口通信模块收到所述命中失败信息后向下级存储器发起异步访问指令。
11.如权利要求10所述的方法,其特征在于,
所述接口通信模块收到所述下级存储器的数据响应后通知回填模块;
所述回填模块向所述解析调度模块发起高速缓存回填指令;
所述解析调度模块在为所述回填指令分配处理权限时,执行所述回填指令进行高速缓存回填,在未为所述回填指令分配处理权限时,将所述回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。
12.如权利要求11所述的高速缓存控制单元,其特征在于,
所述解析调度模块获知一流水线高速缓存访问指令命中失败后,将此流水线高速缓存访问指令写入失效缓存模块;
所述失效缓存模块在收到相应回填指令并完成回填后,激活所述失效缓存模块中相应地址的访问指令并向所述解析调度模块发送此指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310004920.6A CN103077132B (zh) | 2013-01-07 | 2013-01-07 | 一种高速缓存处理方法及协议处理器高速缓存控制单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310004920.6A CN103077132B (zh) | 2013-01-07 | 2013-01-07 | 一种高速缓存处理方法及协议处理器高速缓存控制单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077132A true CN103077132A (zh) | 2013-05-01 |
CN103077132B CN103077132B (zh) | 2016-01-06 |
Family
ID=48153664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310004920.6A Active CN103077132B (zh) | 2013-01-07 | 2013-01-07 | 一种高速缓存处理方法及协议处理器高速缓存控制单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077132B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593306A (zh) * | 2013-11-15 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种协议处理器Cache控制单元的设计方法 |
CN107038125A (zh) * | 2017-04-25 | 2017-08-11 | 上海兆芯集成电路有限公司 | 具有加速预取请求的独立流水线的处理器高速缓存 |
CN107679620A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107679621A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107704922A (zh) * | 2017-04-19 | 2018-02-16 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN111758091A (zh) * | 2017-08-30 | 2020-10-09 | 美光科技公司 | 单电平单元高速缓存管理 |
CN113722244A (zh) * | 2021-11-02 | 2021-11-30 | 北京微核芯科技有限公司 | 一种高速缓存结构、访问方法和电子设备 |
CN113778526A (zh) * | 2021-11-12 | 2021-12-10 | 北京微核芯科技有限公司 | 一种基于Cache的流水线的执行方法及装置 |
CN113835673A (zh) * | 2021-09-24 | 2021-12-24 | 苏州睿芯集成电路科技有限公司 | 一种用于降低多核处理器加载延时的方法、系统及装置 |
CN117389915A (zh) * | 2023-12-12 | 2024-01-12 | 北京象帝先计算技术有限公司 | 缓存系统、读命令调度方法、片上系统及电子设备 |
CN117997852A (zh) * | 2024-04-03 | 2024-05-07 | 北京数渡信息科技有限公司 | 一种交换芯片上的缓存控制装置、方法、芯片及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752916A (zh) * | 2005-10-25 | 2006-03-29 | 威盛电子股份有限公司 | 磁盘阵列的控制器及其工作方法 |
CN101132336A (zh) * | 2007-10-17 | 2008-02-27 | 中国人民解放军国防科学技术大学 | 异构多核处理器高速异步互连通信网络 |
JP2011049815A (ja) * | 2009-08-27 | 2011-03-10 | Nec Corp | 信号処理装置および信号処理方法 |
-
2013
- 2013-01-07 CN CN201310004920.6A patent/CN103077132B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752916A (zh) * | 2005-10-25 | 2006-03-29 | 威盛电子股份有限公司 | 磁盘阵列的控制器及其工作方法 |
CN101132336A (zh) * | 2007-10-17 | 2008-02-27 | 中国人民解放军国防科学技术大学 | 异构多核处理器高速异步互连通信网络 |
JP2011049815A (ja) * | 2009-08-27 | 2011-03-10 | Nec Corp | 信号処理装置および信号処理方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593306A (zh) * | 2013-11-15 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种协议处理器Cache控制单元的设计方法 |
US10824939B2 (en) | 2017-04-19 | 2020-11-03 | Xilinx, Inc. | Device for implementing artificial neural network with flexible buffer pool structure |
CN107679620A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107679621A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107704922A (zh) * | 2017-04-19 | 2018-02-16 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107704922B (zh) * | 2017-04-19 | 2020-12-08 | 赛灵思公司 | 人工神经网络处理装置 |
US10902315B2 (en) | 2017-04-19 | 2021-01-26 | Xilinx, Inc. | Device for implementing artificial neural network with separate computation units |
CN107038125B (zh) * | 2017-04-25 | 2020-11-24 | 上海兆芯集成电路有限公司 | 具有加速预取请求的独立流水线的处理器高速缓存 |
CN107038125A (zh) * | 2017-04-25 | 2017-08-11 | 上海兆芯集成电路有限公司 | 具有加速预取请求的独立流水线的处理器高速缓存 |
CN111758091A (zh) * | 2017-08-30 | 2020-10-09 | 美光科技公司 | 单电平单元高速缓存管理 |
CN111758091B (zh) * | 2017-08-30 | 2024-05-24 | 美光科技公司 | 单电平单元高速缓存管理 |
CN113835673B (zh) * | 2021-09-24 | 2023-08-11 | 苏州睿芯集成电路科技有限公司 | 一种用于降低多核处理器加载延时的方法、系统及装置 |
CN113835673A (zh) * | 2021-09-24 | 2021-12-24 | 苏州睿芯集成电路科技有限公司 | 一种用于降低多核处理器加载延时的方法、系统及装置 |
CN113722244A (zh) * | 2021-11-02 | 2021-11-30 | 北京微核芯科技有限公司 | 一种高速缓存结构、访问方法和电子设备 |
CN113722244B (zh) * | 2021-11-02 | 2022-02-22 | 北京微核芯科技有限公司 | 一种高速缓存结构、访问方法和电子设备 |
CN113778526A (zh) * | 2021-11-12 | 2021-12-10 | 北京微核芯科技有限公司 | 一种基于Cache的流水线的执行方法及装置 |
CN117389915A (zh) * | 2023-12-12 | 2024-01-12 | 北京象帝先计算技术有限公司 | 缓存系统、读命令调度方法、片上系统及电子设备 |
CN117389915B (zh) * | 2023-12-12 | 2024-04-16 | 北京象帝先计算技术有限公司 | 缓存系统、读命令调度方法、片上系统及电子设备 |
CN117997852A (zh) * | 2024-04-03 | 2024-05-07 | 北京数渡信息科技有限公司 | 一种交换芯片上的缓存控制装置、方法、芯片及存储介质 |
CN117997852B (zh) * | 2024-04-03 | 2024-06-11 | 北京数渡信息科技有限公司 | 一种交换芯片上的缓存控制装置、方法、芯片及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103077132B (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077132A (zh) | 一种高速缓存处理方法及协议处理器高速缓存控制单元 | |
KR101611516B1 (ko) | 직렬 포트 메모리 통신 레이턴시 및 신뢰성을 향상시키기 위한 방법 및 시스템 | |
US8930593B2 (en) | Method for setting parameters and determining latency in a chained device system | |
CN101556565B (zh) | 嵌入式处理器的片上高性能dma | |
ITRM20120094A1 (it) | Scheda di interfaccia di rete per nodo di rete di calcolo parallelo su gpu, e relativo metodo di comunicazione internodale | |
CN103593306A (zh) | 一种协议处理器Cache控制单元的设计方法 | |
CN105183662B (zh) | 一种无cache一致性协议的分布式共享片上存储架构 | |
CN101135993A (zh) | 一种嵌入式系统芯片及数据读写处理方法 | |
CN107783727B (zh) | 一种内存设备的访问方法、装置和系统 | |
CN106959929B (zh) | 一种多端口访问的存储器及其工作方法 | |
CN107025184B (zh) | 一种数据管理方法及装置 | |
CN115905086A (zh) | 基于axi同步读写单口sram的控制方法及控制器 | |
CN111290979A (zh) | 数据传输方法、装置及系统 | |
CN102291298A (zh) | 一种高效的面向长消息的计算机网络通信方法 | |
US20170024146A1 (en) | Memory controller, information processing device, and control method | |
CN108664335A (zh) | 通过代理进行队列通信的方法与装置 | |
CN112948322A (zh) | 一种基于弹性缓存的虚通道及实现方法 | |
CN104407992A (zh) | 一种基于双端口寄存器阵列的四端口存储器 | |
CN100471175C (zh) | 一种报文存储转发的方法及报文存储转发电路 | |
EP3627316B1 (en) | Real-time data processing and storage apparatus | |
US6578118B1 (en) | Method and logic for storing and extracting in-band multicast port information stored along with the data in a single memory without memory read cycle overhead | |
CN106911715B (zh) | 一种将读写控制分开的通信控制单元和通信控制方法 | |
JP2018142084A (ja) | 情報処理装置 | |
CN113709061A (zh) | 一种报文转发的方法和电路 | |
CN118152154B (zh) | 基于共享内存开发的通讯控制方法、系统和可读存储介质 |
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 |