基于缓冲器充满度而向高速缓存进行预取的制作方法_4

文档序号:8449188阅读:来源:国知局
存储器层次结构145中的下一更高级别高速缓存。
[0047]图5为根据一些实施方案的、基于预取信任级别而在图1的处理器的存储器层次结构上传输预取请求的方法500的流程图。为了便于论述,参照图1的电子装置100上的例示性实施形式来描述方法500。在方框502上,LI高速缓存104上的控制器115接收预取请求。在方框504上,控制器115确定预取请求的信任级别是否低于针对LI高速缓存104的阈值。如果不低于所述阈值,那么所述方法流程便进行到方框506,并且控制器115将表示预取请求的信息存储在MAB 130上的可用时隙处。
[0048]返回到方框504,如果控制器115确定预取请求的信任级别高于针对LI高速缓存104的阈值,那么所述方法流程便进行到方框508,其中控制器115确定其是否为存储器层次结构145中的最低高速缓存。如果是最低高速缓存,那么所述方法流程便移动到方框512,并且控制器向预取器122指示无法满足预取请求。返回到方框508,如果未到达高速缓存N,所述方法流程便进行到方框510,并且控制器115将预取请求传输至存储器层次结构145中的下一更低级别高速缓存一在这种情况下,便是L2高速缓存105。所述方法流程返回到方框504,并且存储器层次结构中的下一更低级别高速缓存确定预取请求的信任级别是否低于对应阈值。
[0049]因此,在方法500下,预取请求继续传输至更低级别高速缓存,直到其到达预取请求的信任级别超过对应阈值的高速缓存,或者直到方法500在方框512上指示无法满足预取请求。如果预取请求到达信任级别不超过对应阈值的高速缓存,那么方法500的流程便将到达方框506处,并且表示预取请求的信息会存储在MAB 130中分配给高速缓存的时隙上。另外,高速缓存的控制器确保被预取请求锁定为目标的数据会存储在其对应存储阵列上,但并不提供给存储器层次结构145中的下一更高级别高速缓存。将了解的是,在图4和图5中示出的方法可进行组合,以使得基于MAB 130上高速缓存的分配时隙的充满度来传输一些预取请求,并且基于相应预取信任级别来传输其它预取请求。
[0050]在一些实施方案中,上文所述功能中的至少一些功能可通过执行切实地存储在计算机可读介质上的一个或多个软件程序的一个或多个处理器来实施,并且据此所述一个或多个软件程序包括相应指令,所述指令在执行时会操纵一个或多个处理器来执行上文所述的处理系统的一个或多个功能。此外,在一些实施方案中,利用一个或多个集成电路(IC)装置(也称为集成电路芯片)来实施上文所述的串行数据接口。可在这些IC装置的设计和制造中使用电子设计自动化(EDA)和计算机辅助设计(CAD)软件工具。这些设计工具通常呈现为一个或多个软件程序。所述一个或多个软件程序包括可由计算机系统执行的代码,以便操纵计算机系统来操作表示一个或多个IC装置的电路的代码,从而执行相应过程的至少一部分来设计或改动加工系统,以便制造电路。这个代码可包括指令、数据或指令和数据的结合。表示设计工具或制造工具的软件指令通常存储在可由计算系统访问的计算机可读存储介质中。同样地,表示IC装置设计和制造的一个或多个阶段的代码可存储在同一计算机可读存储介质或不同计算机可读存储介质中,以及从同一计算机可读存储介质或不同计算机可读存储介质进行存取。
[0051]计算机可读存储介质可包括使用期间可由计算机系统存取的任何存储介质或存储介质的组合,以便将指令和/或数据提供给计算机系统。此类存储介质可包括但不限于光学介质(例如,压缩光盘(CD))、数字多功能光盘((DVD)或蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存)或基于微电子机械系统(MEMS)的存储介质。计算机可读介质可嵌入在计算系统中(例如,系统RAM或ROM)、固定地附接至计算系统(例如,磁性硬盘驱动器)、可移除地附接至计算系统(例如,光盘或基于通用串行总线(USB)的闪存)或经由有线或无线网络而连接至计算机系统(例如,网络可存取储存器(NAS))ο
[0052]图6为流程图,其示出用以设计和制造实施根据一些实施方案的一个或多个方面的IC装置的例示性方法600。如上文所指出的,针对下述过程中的每个过程所生成的代码会存储在计算机可读存储介质中或者以其它方式嵌入在计算机可读存储介质中,以便由对应的设计工具或制造工具来存取和使用。
[0053]在方框602上,生成用于IC装置的功能规格。功能规格(通常称为微架构规格(MAS))可由各种编程语言或建模语言中的任何语言来表示,包括C、C++、SystemC,Simulink 或 MATLAB0
[0054]在方框604上,使用功能规格来生成表示IC装置硬件的硬件描述代码。在一些实施方案中,使用至少一个硬件描述语言(HDL)来表示硬件描述代码,所述硬件描述语言(HDL)包括用于IC装置电路的形式描述和设计的各种计算机语言、规格语言或建模语言中的任何语言。生成的HDL编码通常表示IC装置电路的操作、所述电路的设计和组织,以及用以通过模拟来验证IC装置的正确操作的测试。HDL的示例包括模拟HDL(AHDL) ,VerilogHDL,SystemVerilog HDL以及VHDL。对于实施同步数字电路的IC装置来说,硬件描述符代码可包括寄存器传输级(RTL)代码,以便提供同步数字电路的操作的抽象表现形式。对于其它类型的电路,硬件描述符代码可包括行为级代码,以便提供电路的操作的抽象表现形式。由硬件描述代码所表示的HDL模型通常经受一轮或多轮的模拟和调试,以便通过设计验证。
[0055]在验证硬件描述代码所表示的设计之后,在方框606上使用合成工具来合成硬件描述代码,以便生成表示或界定IC装置电路的初始物理实施形式的代码。在一些实施方案中,合成工具生成包括电路装置实例(例如,门极、晶体管、电阻器、电容器、电感器、二极管等)和电路装置实例之间的网络或连接的一个或多个网络列表。或者,网络列表的全部或一部分可手动生成,而不使用合成工具。正如与硬件描述代码一样,在最终一组的一个或多个网络列表生成之前,网络列表可经受一个或多个测试和验证过程。
[0056]或者,可使用原理图编辑工具来编制IC装置电路的原理图,并且随后可使用原理图捕获工具来捕获最终产生的电路图以及生成表示电路图的部件和连接性的一个或多个网络列表(存储在计算机可读介质上)。所捕获的电路图随后可经受一轮或多轮的模拟而进行测试和验证。
[0057]在方框608上,一个或多个EDA工具使用方框906上所产生的网络列表,以便生成表示IC装置电路的物理布局的代码。这个过程可包括(例如)放置工具使用网络列表来确定或固定IC装置电路的每个元件的位置。此外,布线工具建立在放置过程的基础上,以便添加或布放根据网络列表来连接电路元件所需要的线路。最终产生的代码表示IC装置的三维模型。所述代码可以用数据库文件格式(例如像图形数据库系统II (GDSII)格式)来表示。处于这个格式下的数据通常表示几何形状、文本标签或关于呈层次形式的电路布局的其它信息。
[0058]在方框610上,将物理布局代码(例如,⑶SII代码)提供给生产设施,所述生产设施使用物理布局代码来配置或者以其它方式改动生产设施的制造工具(例如,通过掩膜作业),从而制造IC装置。也就是说,物理布局代码可被编程至一个或多个计算机系统中,所述一个或多个计算机系统随后可整个或部分地控制生产设施的工具的运行或其中所执行的生产操作。
[0059]在一些实施方案中,上文所述技术的某些方面可通过运行软件的处理系统的一个或多个处理器来实施。所述软件包括一组或多组可执行指令,当由所述一个或多个处理器执行时,所述一组或多组可执行指令操纵所述一个或多个处理器来执行上文所述技术的一个或多个方面。软件存储在或者以其它方式切实地嵌入在可由处理系统访问的计算机可读存储介质上,并且可包括指令执行期间所利用的指令和某些数据,以便执行对应方面。
[0060]如本文所公开的,在一些实施方案中,一种方法包括:将指示第一高速缓存上高速缓存未命中的地址存储在缓冲器上的第一组时隙处;并且响应于确定第一组时隙的充满度超过第一阈值,将定向到第一高速缓存的第一预取请求传输至第二高速缓存。在一些实施形式中,确定第一组时隙的充满度,包括确定第一组时隙上存储与未决存储器存取请求关联的地址的时隙数目。在一些实施形式中,确定第一组时隙的充满度,包括确定第一组时隙中存储预取请求的时隙数目。在一些实施形式中,确定第一组时隙的充满度,包括确定第一组时隙中存储预取请求的时隙数目与第一组时隙中存储需求请求的时隙数目的比率。在一些实施形式中,所述方法包括响应于第二高速缓存上的高速缓存未命中而将地址存储在缓冲器上的第二组时隙处。在一些实施形式中,将第一预取请求传输至第二高速缓存,包括将与第一预取请求关联的地址存储在第二组时
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1