METHOD AND SYSTEM FOR IMPLEMENTING STORE BUFFER ALLOCATION
    1.
    发明申请
    METHOD AND SYSTEM FOR IMPLEMENTING STORE BUFFER ALLOCATION 有权
    实施存储缓冲区分配的方法和系统

    公开(公告)号:US20090210587A1

    公开(公告)日:2009-08-20

    申请号:US12031897

    申请日:2008-02-15

    IPC分类号: G06F13/00

    摘要: A method and system for implementing store buffer allocation for variable length store data operations are provided. The method includes receiving a store address request and at least one store data request and stepping through data operations for each of the store data requests and an address range for the store data requests to determine alignment and data steering information used to select a storage buffer destination for the data in the store data requests. The method further includes determining availability of the storage buffer by maintaining a reservation list for each storage buffer, maintaining a count of the number of available entries for each storage buffer, updating the reservation list to reflect a reservation acceptance for designated available entries, and clearing entries upon completion of the processing of store data operations. The method also includes reserving the selected storage buffer when the number of available entries meets or exceeds the number of entries required for the data.

    摘要翻译: 提供了一种用于实现可变长度存储数据操作的存储缓冲区分配的方法和系统。 所述方法包括:接收存储地址请求和至少一个存储数据请求,并且逐步地进行存储数据请求中的每一个的数据操作和存储数据请求的地址范围,以确定用于选择存储缓冲目的地的对准和数据指导信息 用于存储数据请求中的数据。 该方法还包括通过维护每个存储缓冲器的预约列表来确定存储缓冲器的可用性,维护每个存储缓冲器的可用条目数的计数,更新预留列表以反映指定的可用条目的预约接受,以及清除 店铺数据处理完成后的条目。 该方法还包括当可用条目的数量满足或超过数据所需的条目数时,保留所选择的存储缓冲器。

    System and method for avoiding deadlocks when performing storage updates in a multi-processor environment
    2.
    发明授权
    System and method for avoiding deadlocks when performing storage updates in a multi-processor environment 有权
    用于在多处理器环境中执行存储更新时避免死锁的系统和方法

    公开(公告)号:US07953932B2

    公开(公告)日:2011-05-31

    申请号:US12030627

    申请日:2008-02-13

    IPC分类号: G06F12/00

    摘要: A system and method for avoiding deadlocks when performing storage updates in a multi-processor environment. The system includes a processor having a local cache, a store queue having a temporary buffer with capability to reject exclusive cross-interrogates (XI) while an interrogated cache line is owned exclusive and is to be stored, and a mechanism for performing a method. The method includes setting the processor into a slow mode. A current instruction that includes a data store having one or more target lines is received. The current instruction is executed, with the executing including storing results associated with the data store into the temporary buffer. The store queue is prevented from rejecting an exclusive XI corresponding to the target lines of the current instruction. Each target line is acquired with a status of exclusive ownership, and the contents from the temporary buffer are written to each target line after instruction completion.

    摘要翻译: 一种用于在多处理器环境中执行存储更新时避免死锁的系统和方法。 该系统包括具有本地高速缓存的处理器,具有临时缓冲器的存储队列,该临时缓冲器具有拒绝排他交叉询问(XI)的能力,同时询问的高速缓存行被独占地存储并被存储,以及用于执行方法的机制。 该方法包括将处理器设置为慢速模式。 接收包括具有一个或多个目标线的数据存储器的当前指令。 执行当前指令,执行包括将与数据存储相关联的结果存储到临时缓冲器中。 防止存储队列拒绝与当前指令的目标行相对应的排他的XI。 每个目标行被采集为具有独占所有权的状态,并且在指令完成之后将来自临时缓冲器的内容写入每个目标行。

    Store data forwarding with no memory model restrictions
    3.
    发明授权
    Store data forwarding with no memory model restrictions 有权
    存储数据转发,无内存模式限制

    公开(公告)号:US08627047B2

    公开(公告)日:2014-01-07

    申请号:US12031898

    申请日:2008-02-15

    摘要: A pipelined microprocessor includes circuitry for store forwarding by performing: for each store request, and while a write to one of a cache and a memory is pending; obtaining the most recent value for at least one complete block of data; merging store data from the store request with the complete block of data thus updating the block of data and forming a new most recent value and an updated complete block of data; and buffering the updated complete block of data into a store data queue; for each load request, where the load request may require at least one updated completed block of data: determining if store forwarding is appropriate for the load request on a block-by-block basis; if store forwarding is appropriate, selecting an appropriate block of data from the store data queue on a block-by-block basis; and forwarding the selected block of data to the load request.

    摘要翻译: 流水线微处理器包括用于存储转发的电路,通过执行以下操作:对于每个存储请求以及对高速缓存和存储器之一的写入待处理; 获取至少一个完整数据块的最新值; 将存储请求的存储数据与完整的数据块合并,从而更新数据块并形成新的最新值和更新的完整数据块; 以及将更新的完整数据块缓冲到存储数据队列中; 对于每个加载请求,其中所述加载请求可能需要至少一个更新的完成的数据块:确定在逐块的基础上存储转发是否适合于所述加载请求; 如果存储转发是适当的,则在逐块的基础上从存储数据队列中选择适当的数据块; 并将所选择的数据块转发到加载请求。

    Method, system and computer program product for storing external device result data
    4.
    发明授权
    Method, system and computer program product for storing external device result data 失效
    用于存储外部设备结果数据的方法,系统和计算机程序产品

    公开(公告)号:US08250336B2

    公开(公告)日:2012-08-21

    申请号:US12036695

    申请日:2008-02-25

    IPC分类号: G06F13/00

    摘要: A method, system, and computer program product for storing result data from an external device. The method includes receiving the result data from the external device, the receiving at a system. The result data is stored into a store data buffer. The store data buffer is utilized by the system to contain store data normally generated by the system. A special store instruction is executed to store the result data into a memory on the system. The special store instruction includes a store address. The executing includes performing an address calculation of the store address based on provided instruction information, and updating a memory location at the store address with contents of the store data buffer utilizing a data path utilized by the system to store data normally generated by the system.

    摘要翻译: 一种用于从外部设备存储结果数据的方法,系统和计算机程序产品。 该方法包括从外部设备接收结果数据,在系统接收。 结果数据存储到存储数据缓冲区中。 存储数据缓冲器被系统用于包含通常由系统生成的存储数据。 执行特殊存储指令以将结果数据存储到系统中的存储器中。 特殊商店指令包括商店地址。 所述执行包括基于所提供的指示信息执行所述存储地址的地址计算,以及利用所述系统利用的用于存储由所述系统正常生成的数据的数据路径来更新所述存储数据缓冲器的存储位置。

    PROCESSOR, METHOD AND COMPUTER PROGRAM PRODUCT INCLUDING SPECIALIZED STORE QUEUE AND BUFFER DESIGN FOR SILENT STORE IMPLEMENTATION
    5.
    发明申请
    PROCESSOR, METHOD AND COMPUTER PROGRAM PRODUCT INCLUDING SPECIALIZED STORE QUEUE AND BUFFER DESIGN FOR SILENT STORE IMPLEMENTATION 有权
    处理器,方法和计算机程序产品,其中包括专门针对存储商店的特殊店铺和缓冲设计,

    公开(公告)号:US20090210655A1

    公开(公告)日:2009-08-20

    申请号:US12031998

    申请日:2008-02-15

    IPC分类号: G06F9/00

    摘要: A processor including an architecture for limiting store operations includes: a data input and a cache input as inputs to data merge logic; a merge buffer for providing an output to an old data buffer, holding a copy of a memory location and two way communication with a new data buffer; compare logic for receiving old data from the old data buffer and new data from the new data buffer and comparing if the old data matches the new data, and if there is a match determining an existence of a silent store; and store data control logic for limiting store operations while the silent store exists. A method and a computer program product are provided.

    摘要翻译: 包括用于限制存储操作的架构的处理器包括:作为数据合并逻辑的输入的数据输入和高速缓存输入; 用于向旧数据缓冲器提供输出的合并缓冲器,保持存储器位置的副本和与新数据缓冲器的双向通信; 比较用于从旧数据缓冲器接收旧数据和来自新数据缓冲器的新数据的比较逻辑,并比较旧数据是否与新数据匹配,以及是否存在确定静默存储的存在的匹配; 并存储用于限制存储操作的数据控制逻辑,同时存在无声存储。 提供了一种方法和计算机程序产品。

    SYSTEM AND METHOD FOR AVOIDING DEADLOCKS WHEN PERFORMING STORAGE UPDATES IN A MULTI-PROCESSOR ENVIRONMENT
    6.
    发明申请
    SYSTEM AND METHOD FOR AVOIDING DEADLOCKS WHEN PERFORMING STORAGE UPDATES IN A MULTI-PROCESSOR ENVIRONMENT 有权
    在多处理器环境中执行存储更新时避免死锁的系统和方法

    公开(公告)号:US20090204763A1

    公开(公告)日:2009-08-13

    申请号:US12030627

    申请日:2008-02-13

    IPC分类号: G06F12/00

    摘要: A system and method for avoiding deadlocks when performing storage updates in a multi-processor environment. The system includes a processor having a local cache, a store queue having a temporary buffer with capability to reject exclusive cross-interrogates (XI) while an interrogated cache line is owned exclusive and is to be stored, and a mechanism for performing a method. The method includes setting the processor into a slow mode. A current instruction that includes a data store having one or more target lines is received. The current instruction is executed, with the executing including storing results associated with the data store into the temporary buffer. The store queue is prevented from rejecting an exclusive XI corresponding to the target lines of the current instruction. Each target line is acquired with a status of exclusive ownership, and the contents from the temporary buffer are written to each target line after instruction completion.

    摘要翻译: 一种用于在多处理器环境中执行存储更新时避免死锁的系统和方法。 该系统包括具有本地高速缓存的处理器,具有临时缓冲器的存储队列,该临时缓冲器具有拒绝排他交叉询问(XI)的能力,同时询问的高速缓存行被独占地存储并被存储,以及用于执行方法的机制。 该方法包括将处理器设置为慢速模式。 接收包括具有一个或多个目标线的数据存储器的当前指令。 执行当前指令,执行包括将与数据存储相关联的结果存储到临时缓冲器中。 防止存储队列拒绝与当前指令的目标行相对应的排他的XI。 每个目标行被采集为具有独占所有权的状态,并且在指令完成之后将来自临时缓冲器的内容写入每个目标行。

    Microprocessor and method for deferred store data forwarding for store background data in a system with no memory model restrictions
    7.
    发明授权
    Microprocessor and method for deferred store data forwarding for store background data in a system with no memory model restrictions 有权
    用于在没有内存模式限制的系统中存储后台数据的延迟存储数据转发的微处理器和方法

    公开(公告)号:US08468306B2

    公开(公告)日:2013-06-18

    申请号:US12031858

    申请日:2008-02-15

    IPC分类号: G06F9/38

    CPC分类号: G06F12/0804 G06F9/30043

    摘要: A pipelined processor includes circuitry adapted for store forwarding, including: for each store request, and while a write to one of a cache and a memory is pending; obtaining the most recent value for at least one block of data; merging store data from the store request with the block of data thus updating the block of data and forming a new most recent value and an updated complete block of data; and buffering the updated block of data into a store data queue; for each additional store request, where the additional store request requires at least one updated block of data: determining if store forwarding is appropriate for the additional store request on a block-by-block basis; if store forwarding is appropriate, selecting an appropriate block of data from the store data queue on a block-by-block basis; and forwarding the selected block of data to the additional store request.

    摘要翻译: 流水线处理器包括适于商店转发的电路,包括:对于每个存储请求,以及在对高速缓存和存储器中的一个进行写入待处理的情况下; 获取至少一个数据块的最新值; 将来自存储请求的存储数据与数据块合并,从而更新数据块并形成新的最新值和更新的完整数据块; 以及将更新的数据块缓冲到存储数据队列中; 对于每个额外的存储请求,其中附加存储请求需要至少一个更新的数据块:确定存储转发是否适合逐块的附加存储请求; 如果存储转发是适当的,则在逐块的基础上从存储数据队列中选择适当的数据块; 以及将所选择的数据块转发到附加存储请求。

    Method and system for implementing store buffer allocation
    8.
    发明授权
    Method and system for implementing store buffer allocation 有权
    实现存储缓冲区分配的方法和系统

    公开(公告)号:US07870314B2

    公开(公告)日:2011-01-11

    申请号:US12031897

    申请日:2008-02-15

    IPC分类号: G06F3/00

    摘要: A method and system for implementing store buffer allocation for variable length store data operations are provided. The method includes receiving a store address request and at least one store data request and stepping through data operations for each of the store data requests and an address range for the store data requests to determine alignment and data steering information used to select a storage buffer destination for the data in the store data requests. The method further includes determining availability of the storage buffer by maintaining a reservation list for each storage buffer, maintaining a count of the number of available entries for each storage buffer, updating the reservation list to reflect a reservation acceptance for designated available entries, and clearing entries upon completion of the processing of store data operations. The method also includes reserving the selected storage buffer when the number of available entries meets or exceeds the number of entries required for the data.

    摘要翻译: 提供了一种用于实现可变长度存储数据操作的存储缓冲区分配的方法和系统。 所述方法包括:接收存储地址请求和至少一个存储数据请求,并且逐步地进行存储数据请求中的每一个的数据操作和存储数据请求的地址范围,以确定用于选择存储缓冲目的地的对准和数据指导信息 用于存储数据请求中的数据。 该方法还包括通过维护每个存储缓冲器的预约列表来确定存储缓冲器的可用性,维护每个存储缓冲器的可用条目数的计数,更新预留列表以反映指定的可用条目的预约接受,以及清除 店铺数据处理完成后的条目。 该方法还包括当可用条目的数量满足或超过数据所需的条目数时,保留所选择的存储缓冲器。

    METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR STORING EXTERNAL DEVICE RESULT DATA
    9.
    发明申请
    METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR STORING EXTERNAL DEVICE RESULT DATA 失效
    用于存储外部设备结果数据的方法,系统和计算机程序产品

    公开(公告)号:US20090216966A1

    公开(公告)日:2009-08-27

    申请号:US12036695

    申请日:2008-02-25

    IPC分类号: G06F12/02

    摘要: A method, system, and computer program product for storing result data from an external device. The method includes receiving the result data from the external device, the receiving at a system. The result data is stored into a store data buffer. The store data buffer is utilized by the system to contain store data normally generated by the system. A special store instruction is executed to store the result data into a memory on the system. The special store instruction includes a store address. The executing includes performing an address calculation of the store address based on provided instruction information, and updating a memory location at the store address with contents of the store data buffer utilizing a data path utilized by the system to store data normally generated by the system.

    摘要翻译: 一种用于从外部设备存储结果数据的方法,系统和计算机程序产品。 该方法包括从外部设备接收结果数据,在系统接收。 结果数据存储到存储数据缓冲区中。 存储数据缓冲器被系统用于包含通常由系统生成的存储数据。 执行特殊存储指令以将结果数据存储到系统中的存储器中。 特殊商店指令包括商店地址。 所述执行包括基于所提供的指示信息执行所述存储地址的地址计算,以及利用所述系统利用的用于存储由所述系统正常生成的数据的数据路径来更新所述存储数据缓冲器的存储位置。

    PROCESSOR AND METHOD FOR STORE DATA FORWARDING IN A SYSTEM WITH NO MEMORY MODEL RESTRICTIONS
    10.
    发明申请
    PROCESSOR AND METHOD FOR STORE DATA FORWARDING IN A SYSTEM WITH NO MEMORY MODEL RESTRICTIONS 有权
    在没有记忆模型限制的系统中存储数据转发的处理器和方法

    公开(公告)号:US20090210679A1

    公开(公告)日:2009-08-20

    申请号:US12031898

    申请日:2008-02-15

    IPC分类号: G06F9/38

    摘要: A pipelined microprocessor includes circuitry for store forwarding by performing: for each store request, and while a write to one of a cache and a memory is pending; obtaining the most recent value for at least one complete block of data; merging store data from the store request with the complete block of data thus updating the block of data and forming a new most recent value and an updated complete block of data; and buffering the updated complete block of data into a store data queue; for each load request, where the load request may require at least one updated completed block of data: determining if store forwarding is appropriate for the load request on a block-by-block basis; if store forwarding is appropriate, selecting an appropriate block of data from the store data queue on a block-by-block basis; and forwarding the selected block of data to the load request.

    摘要翻译: 流水线微处理器包括用于存储转发的电路,通过执行以下操作:对于每个存储请求以及对高速缓存和存储器之一的写入待处理; 获取至少一个完整数据块的最新值; 将存储请求的存储数据与完整的数据块合并,从而更新数据块并形成新的最新值和更新的完整数据块; 以及将更新的完整数据块缓冲到存储数据队列中; 对于每个加载请求,其中所述加载请求可能需要至少一个更新的完成的数据块:确定在逐块的基础上存储转发是否适合于所述加载请求; 如果存储转发是适当的,则在逐块的基础上从存储数据队列中选择适当的数据块; 并将所选择的数据块转发到加载请求。