Data cache with modified bit array
    11.
    发明授权
    Data cache with modified bit array 有权
    具有修改位数组的数据缓存

    公开(公告)号:US08108621B2

    公开(公告)日:2012-01-31

    申请号:US12472845

    申请日:2009-05-27

    IPC分类号: G06F13/00

    摘要: A cache memory system includes a first array of storage elements each configured to store a cache line, a second array of storage elements corresponding to the first array of storage elements each configured to store a first partial status of the cache line in the corresponding storage element of the first array, and a third array of storage elements corresponding to the first array of storage elements each configured to store a second partial status of the cache line in the corresponding storage element of the first array. The second partial status indicates whether or not the cache line has been modified. When the cache memory system modifies the cache line within a storage element of the first array, it writes only the second partial status in the corresponding storage element of the third array to indicate that the cache line has been modified but refrains from writing the first partial status in the corresponding storage element of the second array. The cache memory system reads both the first partial status and the second partial status to determine the full status.

    摘要翻译: 高速缓冲存储器系统包括:第一阵列的存储元件,每个存储元件被配置为存储高速缓存行;对应于第一存储元件阵列的存储元件的第二阵列,每个存储元件阵列被配置为将高速缓存行的第一部分状态存储在相应的存储元件中 以及与所述第一阵列存储元件相对应的存储元件的第三阵列,每个存储元件被配置为将所述高速缓存线的第二部分状态存储在所述第一阵列的相应存储元件中。 第二部分状态指示高速缓存行是否已被修改。 当高速缓冲存储器系统修改第一阵列的存储元件内的高速缓存线时,它仅将第二部分状态写入第三阵列的相应存储元件中,以指示高速缓存线已经被修改,但是避免写入第一部分 状态在第二个阵列的相应的存储元素中。 缓存存储器系统读取第一部分状态和第二部分状态以确定完整状态。

    MICROPROCESSOR WITH MULTIPLE OPERATING MODES DYNAMICALLY CONFIGURABLE BY A DEVICE DRIVER BASED ON CURRENTLY RUNNING APPLICATIONS
    12.
    发明申请
    MICROPROCESSOR WITH MULTIPLE OPERATING MODES DYNAMICALLY CONFIGURABLE BY A DEVICE DRIVER BASED ON CURRENTLY RUNNING APPLICATIONS 有权
    基于当前运行应用的设备驱动程序动态配置的多种操作模式的微处理器

    公开(公告)号:US20100011198A1

    公开(公告)日:2010-01-14

    申请号:US12170591

    申请日:2008-07-10

    IPC分类号: G06F15/177 G06F12/08 G06F9/44

    摘要: A computing system includes a microprocessor that receives values for configuring operating modes thereof. A device driver monitors which software applications currently running on the microprocessor are in a predetermined list and responsively dynamically writes the values to the microprocessor to configure its operating modes. Examples of the operating modes the device driver may configure relate to the following: data prefetching; branch prediction; instruction cache eviction; instruction execution suspension; sizes of cache memories, reorder buffer, store/load/fill queues; hashing algorithms related to data forwarding and branch target address cache indexing; number of instruction translation, formatting, and issuing per clock cycle; load delay mechanism; speculative page tablewalks; instruction merging; out-of-order execution extent; caching of non-temporal hinted data; and serial or parallel access of an L2 cache and processor bus in response to an instruction cache miss.

    摘要翻译: 计算系统包括接收用于配置其操作模式的值的微处理器。 设备驱动程序监视当前在微处理器上运行的软件应用程序处于预定列表中并且响应地动态地将值写入微处理器以配置其操作模式。 设备驱动程序可以配置的操作模式的示例涉及以下内容:数据预取; 分支预测; 指令缓存驱逐; 指令执行暂停; 高速缓冲存储器的大小,重新排序缓冲器,存储/加载/填充队列; 与数据转发和分支目标地址缓存索引相关的散列算法; 每个时钟周期的指令翻译,格式化和发布的数量; 负载延迟机制; 投机页面 指令合并 无序执行程度; 缓存非时间暗示数据; 以及响应于指令高速缓存未命中的L2高速缓存和处理器总线的串行或并行访问。

    Fast REP STOS using grabline operations
    13.
    发明授权
    Fast REP STOS using grabline operations 有权
    快速REP STOS使用抓取操作

    公开(公告)号:US08392693B2

    公开(公告)日:2013-03-05

    申请号:US12781210

    申请日:2010-05-17

    摘要: A microprocessor includes a cache memory and a grabline instruction. The grabline instruction specifies a memory address that implicates a cache line of the memory. The grabline instruction instructs the microprocessor to initiate a zero-beat read-invalidate transaction on the bus to obtain ownership of the cache line. The microprocessor foregoes initiating the transaction on the bus when executing the grabline instruction if the microprocessor determines that a store to the cache line would cause an exception.

    摘要翻译: 微处理器包括高速缓冲存储器和获取指令。 该grabline指令指定一个内存地址,暗示内存的高速缓存行。 获取指令指示微处理器在总线上启动零跳读取无效事务以获得高速缓存行的所有权。 如果微处理器确定到高速缓存行的存储将导致异常,则微处理器在执行抓取指令时放弃在总线上启动事务。

    FAST REP STOS USING GRABLINE OPERATIONS
    14.
    发明申请
    FAST REP STOS USING GRABLINE OPERATIONS 有权
    快速回复使用格式操作

    公开(公告)号:US20110055530A1

    公开(公告)日:2011-03-03

    申请号:US12781210

    申请日:2010-05-17

    IPC分类号: G06F9/38 G06F12/08 G06F9/312

    摘要: A microprocessor includes a cache memory and a grabline instruction. The grabline instruction specifies a memory address that implicates a cache line of the memory. The grabline instruction instructs the microprocessor to initiate a zero-beat read-invalidate transaction on the bus to obtain ownership of the cache line. The microprocessor foregoes initiating the transaction on the bus when executing the grabline instruction if the microprocessor determines that a store to the cache line would cause an exception.

    摘要翻译: 微处理器包括高速缓冲存储器和获取指令。 该grabline指令指定一个内存地址,暗示内存的高速缓存行。 获取指令指示微处理器在总线上启动零跳读取无效事务以获得高速缓存行的所有权。 如果微处理器确定到高速缓存行的存储将导致异常,则微处理器在执行抓取指令时放弃在总线上启动事务。

    DATA CACHE WITH MODIFIED BIT ARRAY
    15.
    发明申请
    DATA CACHE WITH MODIFIED BIT ARRAY 有权
    数据缓存与修改的位阵列

    公开(公告)号:US20100306475A1

    公开(公告)日:2010-12-02

    申请号:US12472845

    申请日:2009-05-27

    IPC分类号: G06F12/08 G06F12/00

    摘要: A cache memory system includes a first array of storage elements each configured to store a cache line, a second array of storage elements corresponding to the first array of storage elements each configured to store a first partial status of the cache line in the corresponding storage element of the first array, and a third array of storage elements corresponding to the first array of storage elements each configured to store a second partial status of the cache line in the corresponding storage element of the first array. The second partial status indicates whether or not the cache line has been modified. When the cache memory system modifies the cache line within a storage element of the first array, it writes only the second partial status in the corresponding storage element of the third array to indicate that the cache line has been modified but refrains from writing the first partial status in the corresponding storage element of the second array. The cache memory system reads both the first partial status and the second partial status to determine the full status.

    摘要翻译: 高速缓冲存储器系统包括:第一阵列的存储元件,每个存储元件被配置为存储高速缓存行;对应于第一存储元件阵列的存储元件的第二阵列,每个存储元件阵列被配置为将高速缓存行的第一部分状态存储在相应的存储元件中 以及与所述第一阵列存储元件相对应的存储元件的第三阵列,每个存储元件被配置为将所述高速缓存线的第二部分状态存储在所述第一阵列的相应存储元件中。 第二部分状态指示高速缓存行是否已被修改。 当高速缓冲存储器系统修改第一阵列的存储元件内的高速缓存线时,它仅将第二部分状态写入第三阵列的相应存储元件中,以指示高速缓存线已被修改,但是避免写入第一部分 状态在第二个阵列的相应的存储元素中。 缓存存储器系统读取第一部分状态和第二部分状态以确定完整状态。

    Guaranteed prefetch instruction
    16.
    发明授权
    Guaranteed prefetch instruction 有权
    保证预取指令

    公开(公告)号:US08533437B2

    公开(公告)日:2013-09-10

    申请号:US12781337

    申请日:2010-05-17

    IPC分类号: G06F12/00 G06F9/312

    摘要: A microprocessor includes a cache memory, an instruction set having first and second prefetch instructions each configured to instruct the microprocessor to prefetch a cache line of data from a system memory into the cache memory, and a memory subsystem configured to execute the first and second prefetch instructions. For the first prefetch instruction the memory subsystem is configured to forego prefetching the cache line of data from the system memory into the cache memory in response to a predetermined set of conditions. For the second prefetch instruction the memory subsystem is configured to complete prefetching the cache line of data from the system memory into the cache memory in response to the predetermined set of conditions.

    摘要翻译: 微处理器包括高速缓存存储器,指令集具有第一和第二预取指令,每个指令都被配置为指示微处理器将数据的高速缓存行从系统存储器预取到高速缓冲存储器中;以及存储器子系统,被配置为执行第一和第二预取 说明。 对于第一预取指令,存储器子系统被配置为响应于预定的一组条件而将数据的高速缓存行从系统存储器预取到高速缓冲存储器中。 对于第二预取指令,存储器子系统被配置为响应于预定的条件集合来完成从系统存储器将数据的高速缓存行预取到高速缓冲存储器中。

    Data cache with modified bit array
    17.
    发明授权
    Data cache with modified bit array 有权
    具有修改位数组的数据缓存

    公开(公告)号:US08108624B2

    公开(公告)日:2012-01-31

    申请号:US12472766

    申请日:2009-05-27

    IPC分类号: G06F13/00

    摘要: A microprocessor includes first and second functional units and a data cache having a data array having a write port, a modified bit array having a read port and a write port, and a tag array having a read port, each array having the corresponding predetermined organization. The first functional unit writes data to a cache line of the data array. The first functional unit sets a modified bit in the modified bit array to indicate that the corresponding cache line in the data array has been modified. The second functional unit reads the modified bit from the modified bit array to determine whether or not the cache line has been modified. The second functional unit reads a partial status of the corresponding cache line from the tag array. The partial status does not indicate whether the cache line has been modified. The tag array does not include a port by which the first functional unit may update the partial status of the corresponding cache line.

    摘要翻译: 微处理器包括第一功能单元和第二功能单元以及数据高速缓冲存储器,具有具有写入端口的数据阵列,具有读取端口和写入端口的修改的位阵列以及具有读取端口的标签阵列,每个阵列具有相应的预定组织 。 第一个功能单元将数据写入数据阵列的高速缓存行。 第一个功能单元设置修改的位数组中的修改位,以指示数据数组中相应的高速缓存行已被修改。 第二功能单元从修改的比特数组读取修改的比特,以确定高速缓存线是否已被修改。 第二功能单元从标签阵列读取对应的高速缓存线的部分状态。 部分状态不指示高速缓存行是否已被修改。 标签阵列不包括第一功能单元可以更新相应高速缓存行的部分状态的端口。

    DATA CACHE WITH MODIFIED BIT ARRAY
    18.
    发明申请
    DATA CACHE WITH MODIFIED BIT ARRAY 有权
    数据缓存与修改的位阵列

    公开(公告)号:US20100306478A1

    公开(公告)日:2010-12-02

    申请号:US12472766

    申请日:2009-05-27

    IPC分类号: G06F12/08 G06F12/00

    摘要: A microprocessor includes first and second functional units and a data cache having a data array having a write port, a modified bit array having a read port and a write port, and a tag array having a read port, each array having the corresponding predetermined organization. The first functional unit writes data to a cache line of the data array. The first functional unit sets a modified bit in the modified bit array to indicate that the corresponding cache line in the data array has been modified. The second functional unit reads the modified bit from the modified bit array to determine whether or not the cache line has been modified. The second functional unit reads a partial status of the corresponding cache line from the tag array. The partial status does not indicate whether the cache line has been modified. The tag array does not include a port by which the first functional unit may update the partial status of the corresponding cache line.

    摘要翻译: 微处理器包括第一功能单元和第二功能单元以及数据高速缓冲存储器,具有具有写入端口的数据阵列,具有读取端口和写入端口的修改的位阵列以及具有读取端口的标签阵列,每个阵列具有相应的预定组织 。 第一个功能单元将数据写入数据阵列的高速缓存行。 第一个功能单元设置修改的位数组中的修改位,以指示数据数组中相应的高速缓存行已被修改。 第二功能单元从修改的比特数组读取修改的比特,以确定高速缓存线是否已被修改。 第二功能单元从标签阵列读取对应的高速缓存线的部分状态。 部分状态不指示高速缓存行是否已被修改。 标签阵列不包括第一功能单元可以更新相应高速缓存行的部分状态的端口。

    Conditional non-branch instruction prediction
    19.
    发明授权
    Conditional non-branch instruction prediction 有权
    条件非分支指令预测

    公开(公告)号:US09274795B2

    公开(公告)日:2016-03-01

    申请号:US13413258

    申请日:2012-03-06

    IPC分类号: G06F9/30

    摘要: A microprocessor processes conditional non-branch instructions that specify a condition and instruct the microprocessor to perform an operation if the condition is satisfied and otherwise to not perform the operation. A predictor provides a prediction about a conditional non-branch instruction. An instruction translator translates the conditional non-branch instruction into a no-operation microinstruction when the prediction predicts the condition will not be satisfied, and into a set of one or more microinstructions to unconditionally perform the operation when the prediction predicts the condition will be satisfied. An execution pipeline executes the no-operation microinstruction or the set of microinstructions. The predictor translates into a second set of one or more microinstructions to conditionally perform the operation when the prediction does not make a prediction. In the case of a misprediction, the translator re-translates the conditional non-branch instruction into the second set of microinstructions.

    摘要翻译: 微处理器处理指定条件的条件非分支指令,并指示微处理器在条件满足的情况下执行操作,否则不执行操作。 预测器提供关于条件非分支指令的预测。 当预测预测条件不满足时,指令翻译器将条件非分支指令转换为无操作微指令,并且当预测预测条件将被满足时,指令转换为一组或多个微指令以无条件地执行操作 。 执行流水线执行无操作微指令或微指令集。 当预测不进行预测时,预测器转换成第二组一个或多个微指令以有条件地执行操作。 在错误预测的情况下,翻译者将条件非分支指令重新翻译成第二组微指令。

    Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA
    20.
    发明授权
    Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA 有权
    异构ISA微处理器在复位到不同的ISA时保留非ISA特定的配置状态

    公开(公告)号:US09146742B2

    公开(公告)日:2015-09-29

    申请号:US13412914

    申请日:2012-03-06

    摘要: A microprocessor capable of operating as both an x86 ISA and an ARM ISA microprocessor includes first, second, and third storage that stores x86 ISA-specific, ARM ISA-specific, and non-ISA-specific state, respectively. When reset, the microprocessor initializes the first storage to default values specified by the x86 ISA, initializes the second storage to default values specified by the ARM ISA, initializes the third storage to predetermined values, and begins fetching instructions of a first ISA. The first ISA is the x86 ISA or the ARM ISA and a second ISA is the other ISA. The microprocessor updates the third storage in response to the first ISA instructions. In response to a subsequent one of the first ISA instructions that instructs the microprocessor to reset to the second ISA, the microprocessor refrains from modifying the non-ISA-specific state stored in the third storage and begins fetching instructions of the second ISA.

    摘要翻译: 能够同时运行x86 ISA和ARM ISA微处理器的微处理器分别包含第一,第二和第三存储,它们分别存储特定于x86 ISA特定的ISA特定状态和非ISA特定状态。 当复位时,微处理器将第一个存储器初始化为由x86 ISA指定的默认值,将第二个存储初始化为由ARM ISA指定的默认值,将第三个存储初始化为预定值,并开始获取第一个ISA的指令。 第一个ISA是x86 ISA或ARM ISA,另一个ISA是另一个ISA。 微处理器响应于第一ISA指令更新第三存储器。 响应于指示微处理器重置到第二ISA的第一ISA指令中的随后的一个,微处理器不修改存储在第三存储器中的非ISA特定状态,并开始获取第二ISA的指令。