用于实现便笺式存储器的装置和方法

文档序号:9252372阅读:577来源:国知局
用于实现便笺式存储器的装置和方法
【专利说明】用于实现便雙式存储器的装置和方法
[000。背景发明领域
[0002] 本发明总体上设及计算机处理器的领域。更确切地,本发明设及一种用于实现便 奚式存储器的装置和方法。
[0003] 相关技术描述
[0004] 便奚式存储器(scratchpadmemory)是由应用程序手动控制的本地高速存储器。 通过精确地控制去往和来自暂存器的数据移动,应用程序可最大化性能、利用率和能效。例 如,IBM的Cell和NVIDIA的最近的CPU提供该种机制。
[0005] 然而,由于高硬件成本和架构状态的大幅增加,有时通常通过调整高速缓存行替 换策略(例如,诸如最少近期使用(LRU)策略)在基于高速缓存的存储器层次体系的顶部 模拟便奚式存储器。例如,处理器将提供用户级指令W便直接调整高速缓存行的替换优先 级,从而使得应用可有效地"钉住(pin)"高速缓存内的存储器区域。
[0006] 然而,允许用户级代码直接修改高速缓存替换优先级暴露出公平性和安全性问 题。例如,恶意代码可侵略性地将其高速缓存行标记为伪钉住的,从而导致共享高速缓存空 间的不公平利用。此外,由于高速缓存替换优先级不是由操作系统维护的,优先级调整可能 逃过(survive)上下文切换边界并且不适当地为不适当软件上下文赋予权限(即,被切换 出的进程可仍暂居具有伪钉住行的高速缓存空间的大部分/全部)。
[0007] 附图简要描述
[0008] 可从W下详细描述结合W下附图获得本发明的更好的理解,在附图中:
[0009] 图1A是框图,示出根据本发明的各实施例的示例性有序流水线W及示例性寄存 器重命名的无序发布/执行流水线两者的框图;
[0010] 图1B是示出根据本发明的各实施例的要包括在处理器中的有序架构核的示例性 实施例和示例性的寄存器重命名的无序发布/执行架构核的框图;
[0011] 图2是根据本发明的各实施例的具有集成存储器控制器和图形器件的单核处理 器和多核处理器的框图;
[0012] 图3示出根据本发明的一个实施例的系统的框图;
[0013] 图4示出根据本发明的一个实施例的第二系统的框图;
[0014] 图5示出根据本发明的一个实施例的第S系统的框图;
[00巧]图6示出根据本发明的实施例的片上系统(SoC)的框图;
[0016] 图7示出框图,该框图根据本发明的各实施例的对比使用软件指令变换器将源指 令集中的二进制指令变换成目标指令集中的二进制指令;
[0017] 图8示出在高速缓存架构内实现的现有技术的便奚式存储器;
[0018] 图9示出在本发明的一个实施例中采用的系统架构;
[0019] 图10示出根据本发明的一个实施例的包括替换优先级字段的页表项;
[0020] 图11示出根据本发明的一个实施例的方法。
[0021] 详细描述
[0022] 在W下描述中,为了解释的目的,列出了许多特定细节W便提供W下描述的本发 明的各实施例的透彻理解。然而,本领域普通技术人员将认识到本发明的各实施例可在没 有该些特定细节中的一些的情况下实践。在其他情况下,W框图的形式示出公知的结构和 设备,W便避免混淆本发明的各实施例的基础原理。
[0023] 示例忡化理器架构巧撒据类巧
[0024] 图1A是示出根据本发明的各实施例的示例性有序流水线和示例性的寄存器重命 名的无序发布/执行流水线的框图。图1B是示出根据本发明的各实施例的要包括在处理 器中的有序架构核的示例性实施例和示例性的寄存器重命名的无序发布/执行架构核的 框图。图1A-B中的实线框示出了有序流水线和有序核,而可选增加的虚线框示出了寄存器 重命名的、无序发布/执行流水线和核。给定有序方面是无序方面的子集的情况下,将描述 无序方面。
[00巧]在图1A中,处理器流水线100包括取出级102、长度解码级104、解码级106、分配 级108、重命名级110、调度(也称为分派或发布)级112、寄存器读取/存储器读取级114、 执行级116、写回/存储器写入级118、异常处理级122和提交级124。
[0026] 图1B示出了包括禪合到执行引擎单元150的前端单元130的处理器核190,且 执行引擎单元和前端单元两者都禪合到存储器单元170。核190可W是精简指令集计算 化ISC)核、复杂指令集计算(CISC)核、超长指令字(VLIW)核或混合或替代核类型。作为又 一选项,核190可W是专用核,诸如例如网络或通信核、压缩引擎、协处理器核、通用计算图 形处理器单元(GPGPU)核、或图形核等等。
[0027] 前端单元130包括禪合到指令高速缓存单元134的分支预测单元132,该指令高速 缓存单元134禪合到指令转换后备缓冲器(TLB) 136,该指令转换后备缓冲器136禪合到指 令取出单元138,指令取出单元138禪合到解码单元140。解码单元140 (或解码器)可解 码指令,并生成从原始指令解码出的、或W其他方式反映原始指令的、或从原始指令导出的 一个或多个微操作、微代码进入点、微指令、其他指令、或其他控制信号作为输出。解码单元 140可使用各种不同的机制来实现。合适的机制的示例包括但不限于查找表、硬件实现、可 编程逻辑阵列(PLA)、微代码只读存储器(ROM)等。一个实施例中,核190包括(例如,在解 码单元140中或W其它方式在前端单元130内的)用于存储某些宏指令的微代码的微代码 ROM或其他介质。解码单元140禪合到执行引擎单元150中的重命名/分配单元152。
[0028] 执行引擎单元150包括重命名/分配器单元152,该重命名/分配器单元152禪 合至引退单元154和一个或多个调度器单元156的集合。调度器单元156表示任何数目的 不同调度器,包括预留站、中央指令窗等。该些调度器单元156禪合到物理寄存器组单元 158。每个物理寄存器组单元158表示一个或多个物理寄存器组,其中不同的物理寄存器 组存储一种或多种不同的数据类型,诸如标量整数、标量浮点、紧缩整数、紧缩浮点、向量整 数、向量浮点、状态(例如,作为要执行的下一指令的地址的指令指针)等。在一个实施例 中,物理寄存器组单元158包括向量寄存器单元、写掩码寄存器单元和标量寄存器单元。该 些寄存器单元可W提供架构向量寄存器、向量掩码寄存器、和通用寄存器。物理寄存器组单 元158与引退单元154重叠W示出可W用来实现寄存器重命名和无序执行的各种方式(例 如,使用重新排序缓冲器和引退寄存器组;使用将来的文件、历史缓冲器和引退寄存器组; 使用寄存器映射和寄存器池等等)。引退单元154和物理寄存器组单元158禪合到执行群 集160。执行群集160包括一个或多个执行单元162的集合和一个或多个存储器访问单元 164的集合。执行单元162可W对各种类型的数据(例如,标量浮点、紧缩整数、紧缩浮点、向 量整型、向量浮点)执行各种操作(例如,移位、加法、减法、乘法)。尽管一些实施例可W包 括专用于特定功能或功能集合的多个执行单元,但其他实施例可包括全部执行所有功能的 仅一个执行单元或多个执行单元。调度器单元156、物理寄存器组单元158和执行群集160 被示为可能有多个,因为某些实施例为某些类型的数据/操作创建分开的流水线(例如,标 量整型流水线、标量浮点/紧缩整型/紧缩浮点/向量整型/向量浮点流水线,和/或各自 具有其自己的调度器单元、物理寄存器组单元和/或执行群集的存储器访问流水线一一W 及在分开的存储器访问流水线的情况下,实现其中仅该流水线的执行群集具有存储器访问 单元164的某些实施例)。还应当理解,在使用分开的流水线的情况下,该些流水线中的一 个或多个可W为无序发布/执行,并且其余流水线可W为有序发布/执行。
[0029] 存储器访问单元164的集合禪合到存储器单元170,该存储器单元170包括禪合到 数据高速缓存单元174的数据TLB单元172,其中数据高速缓存单元174禪合到二级(L2) 高速缓存单元176。在一个示例性实施例中,存储器访问单元164可W包括加载单元、存储 地址单元和存储数据单元,该些单元中的每一个单元禪合到存储器单元170中的数据TLB 单元172。指令高速缓存单元134还禪合到存储器单元170中的二级(L2)高速缓存单元 176。L2高速缓存单元176禪合到一个或多个其他级的高速缓存,并最终禪合到主存储器。
[0030] 作为示例,示例性寄存器重命名的、无序发布/执行核架构可W如下实现流水线 100 ;1)指令取出138执行取出和长度解码级102和104曲解码单元140执行解码级106 ; 3)重命名/分配器单元152执行分配级108和重命名级110 ;4)调度器单元156执行调度 级112 ;5)物理寄存器组单元158和存储器单元170执行寄存器读取/存储器读取级114 ; 执行群集160执行执行级116 ;6)存储器单元170和物理寄存器组单元158执行写回/存 储器写入级118;7)各单元可牵设到异常处理级122;W及8)引退单元154和物理寄存器 组单元158执行提交级124。
[0031] 核190可支持一个或多个指令集(例如,x86指令集(具有与较新版本一起添加 的一些扩展);加利福巧亚州桑巧维尔市的MIPS技术公司的MIPS指令集;加利福巧州桑巧 维尔市的ARM控股的ARM指令集(具有诸如肥ON等可选附加扩展)),其中包括本文中描述 的各指令。在一个实施例中,核190包括用于支持紧缩数据指令集扩展(例如,AVXUAVX2 和/或先前描述的一些形式的一般向量友好指令格式
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1