Out-of-order processor with a memory subsystem which handles
speculatively dispatched load operations
    1.
    发明授权
    Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations 失效
    具有处理推测性调度负载操作的内存子系统的乱序处理器

    公开(公告)号:US5751983A

    公开(公告)日:1998-05-12

    申请号:US538594

    申请日:1995-10-03

    IPC分类号: G06F9/38 G06F3/38

    CPC分类号: G06F9/3834

    摘要: A method and apparatus for speculatively dispatching and/or executing LOADs in a computer system includes a memory subsystem of a out-of-order processor that handles LOAD and STORE operations by dispatching them to respective LOAD and STORE buffers in the memory subsystem. When a LOAD is subsequently dispatched for execution, the store buffer is searched for STOREs having unknown addresses. If any STOREs are found which are older than the dispatched LOAD, and which have an unknown address, the LOAD is tagged with an unknown STORE address identification (USAID). When a STORE is dispatched for execution, the LOAD buffer is searched for loads that have been denoted as mis-speculated loads. Mis-speculated loads are prevented from corrupting the architectural state of the machine with invalid data.

    摘要翻译: 用于在计算机系统中推测调度和/或执行LOAD的方法和装置包括无序处理器的存储器子系统,其通过将它们分派到存储器子系统中的相应LOAD和STORE缓冲器来处理LOAD和STORE操作。 当随后调度LOAD进行执行时,搜索具有未知地址的STORE的存储缓冲区。 如果发现任何比发送的LOAD更旧的存储区,并且具有未知地址,则LOAD被标记为未知的存储地址标识(USAID)。 当调度STORE执行时,LOAD缓冲区将搜索已被表示为误推测负载的负载。 可以防止误导的负载破坏机器的无效数据的架构状态。

    Methods and apparatus for fordwarding buffered store data on an
out-of-order execution computer system
    3.
    发明授权
    Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system 失效
    在无序执行计算机系统上缓存存储数据的方法和装置

    公开(公告)号:US5588126A

    公开(公告)日:1996-12-24

    申请号:US446030

    申请日:1995-05-19

    IPC分类号: G06F9/38 G06F9/30

    CPC分类号: G06F9/3834

    摘要: In an out-of-order execution computer system, a store buffer is conditionally signaled to output buffered store data of buffered memory store operations, when a buffered memory load operation is being executed. The determination on whether to signal the store buffer or not is made using control information that includes the allocation state of the store buffer at the time the memory load operation being executed was issued. The allocation state includes the identification of the buffer slot storing the last memory store operation stored into the store buffer, and the wraparound state of a circular wraparound allocation approach employed to allocate buffer slots to the memory store operations, at the time the memory load operation being executed was issued.

    摘要翻译: 在无序执行计算机系统中,当执行缓冲存储器加载操作时,存储缓冲器有条件地发信号通知缓冲存储器存储操作的缓冲存储数据。 使用包含在执行存储器加载操作的时刻存储缓冲器的分配状态的控制信息来确定是否发出存储缓冲器的信号。 分配状态包括存储存储到存储缓冲器中的最后存储器存储操作的缓冲器槽的标识,以及在存储器加载操作时用于将缓冲器时隙分配给存储器存储操作的循环环绕分配方法的环绕状态 正在执行中。

    Cache memory system having data and tag arrays and multi-purpose buffer
assembly with multiple line buffers
    6.
    发明授权
    Cache memory system having data and tag arrays and multi-purpose buffer assembly with multiple line buffers 失效
    具有数据和标签数组的高速缓冲存储器系统以及具有多个行缓冲器的多用途缓冲器组件

    公开(公告)号:US5680572A

    公开(公告)日:1997-10-21

    申请号:US680109

    申请日:1996-07-15

    IPC分类号: G06F12/08

    CPC分类号: G06F12/0859

    摘要: A data cache and a plurality of companion fill buffers having corresponding tag matching circuitry are provided to a computer system. Each fill buffer independently stores and tracks a replacement cache line being filled with data returning from main memory in response to a cache miss. When the cache fill is completed, the replacement cache line is output for the cache tag and data arrays of the data cache if the memory locations are cacheable and the cache line has not been snoop hit while the cache fill was in progress. Additionally, the fill buffers are organized and provided with sufficient address and data ports as well as selectors to allow the fill buffers to respond to subsequent processor loads and stores, and external snoops that hit their cache lines while the cache fills are in progress. As a result, the cache tag and data arrays of the data cache can continue to serve subsequent processor loads and stores, and external snoops, while one or more cache fills are in progress, without ever having to stall the processor.

    摘要翻译: 具有对应的标签匹配电路的数据高速缓存和多个伴随填充缓冲器被提供给计算机系统。 每个填充缓冲器独立地存储和跟踪填充有响应于高速缓存未命中从主存储器返回的数据的替换高速缓存行。 当缓存填充完成时,如果内存位置是可高速缓存的,并且缓存填充正在进行时,缓存线尚未被窥探,则会为高速缓存标签和数据高速缓存的数据阵列输出替换高速缓存行。 此外,填充缓冲区被组织并提供有足够的地址和数据端口以及选择器,以允许填充缓冲区响应后续处理器负载和存储,以及在高速缓存填充正在进行时触发其缓存行的外部监听。 因此,数据高速缓存的高速缓存标签和数据阵列可以在一个或多个缓存填充正在进行的同时继续提供后续的处理器加载和存储以及外部监听,而无需停止处理器。

    Methods and apparatus for caching data in a non-blocking manner using a
plurality of fill buffers
    7.
    发明授权
    Methods and apparatus for caching data in a non-blocking manner using a plurality of fill buffers 失效
    使用多个填充缓冲器以非阻塞方式高速缓存数据的方法和装置

    公开(公告)号:US5671444A

    公开(公告)日:1997-09-23

    申请号:US731545

    申请日:1996-10-15

    IPC分类号: G06F12/08 G06F13/00

    CPC分类号: G06F12/0859 G06F12/0831

    摘要: A data cache and a plurality of companion fill buffers having corresponding tag matching circuitry are provided to a computer system. Each fill buffer independently stores and tracks a replacement cache line being filled with data returning from main memory in response to a cache miss. When the cache fill is completed, the replacement cache line is output for the cache tag and data arrays of the data cache if the memory locations are cacheable and the cache line has not been snoop hit while the cache fill was in progress. Additionally, the fill buffers are organized and provided with sufficient address and data ports as well as selectors to allow the fill buffers to respond to subsequent processor loads and stores, and external snoops that hit their cache lines while the cache fills are in progress. As a result, the cache tag and data arrays of the data cache can continue to serve subsequent processor loads and stores, and external snoops, while one or more cache fills are in progress, without ever having to stall the processor.

    摘要翻译: 具有对应的标签匹配电路的数据高速缓存和多个伴随填充缓冲器被提供给计算机系统。 每个填充缓冲器独立地存储和跟踪填充有响应于高速缓存未命中从主存储器返回的数据的替换高速缓存行。 当缓存填充完成时,如果内存位置是可高速缓存的,并且缓存填充正在进行时,缓存线尚未被窥探,则会为高速缓存标签和数据高速缓存的数据阵列输出替换高速缓存行。 此外,填充缓冲区被组织并提供有足够的地址和数据端口以及选择器,以允许填充缓冲区响应后续处理器负载和存储,以及在高速缓存填充正在进行时触发其缓存行的外部监听。 因此,数据高速缓存的高速缓存标签和数据阵列可以在一个或多个缓存填充正在进行的同时继续提供后续的处理器加载和存储以及外部监听,而无需停止处理器。

    Method and apparatus for calculating effective memory addresses
    8.
    发明授权
    Method and apparatus for calculating effective memory addresses 失效
    用于计算有效存储器地址的方法和装置

    公开(公告)号:US5860154A

    公开(公告)日:1999-01-12

    申请号:US778969

    申请日:1997-01-06

    IPC分类号: G06F9/318 G06F9/355 G06F12/00

    CPC分类号: G06F9/3555 G06F9/3017

    摘要: A macro instruction is provided for a microprocessor which allows a programmer to specify a base value, index, scale factor and displacement value for calculating an effective address and returning that result in a single clock cycle. The macro instruction is converted into a micro operation which is provided to the single-cycle execution unit with the required source operands for performing the calculation. Within the single-cycle execution unit, the index and scale factor are provided to a left shifter for multiplying the two values. The result of the left shift operation is added to the sum of the base and displacement. This results in the effective address which is then returned from the single-cycle execution unit to a predetermined destination. This provides for the calculation of an effective address in a single cycle pipeline execution unit that is independent of the memory system execution units.

    摘要翻译: 为微处理器提供宏指令,允许程序员指定基值,索引,比例因子和位移值,用于计算有效地址并在单个时钟周期内返回该结果。 宏指令被转换为微操作,其被提供给具有用于执行计算的所需源操作数的单周期执行单元。 在单周期执行单元内,将索引和比例因子提供给用于乘以两个值的左移位器。 左移操作的结果被加到底座和位移之和上。 这导致有效地址然后从单周期执行单元返回到预定的目的地。 这提供了独立于存储器系统执行单元的单周期流水线执行单元中的有效地址的计算。