Methods and apparatus for fordwarding buffered store data on an
out-of-order execution computer system
    2.
    发明授权
    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.

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

    Methods and apparatus for caching data in a non-blocking manner using a
plurality of fill buffers
    5.
    发明授权
    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.

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

    Cache memory system having data and tag arrays and multi-purpose buffer
assembly with multiple line buffers
    7.
    发明授权
    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.

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

    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.

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

    Method and apparatus for preventing incorrect fetching of an instruction
of a self-modifying code sequence with dependency on a bufered store
    10.
    发明授权
    Method and apparatus for preventing incorrect fetching of an instruction of a self-modifying code sequence with dependency on a bufered store 失效
    用于防止对依赖于已经存储的商店的自修改代码序列的指令的不正确取出的方法和装置

    公开(公告)号:US5434987A

    公开(公告)日:1995-07-18

    申请号:US350379

    申请日:1994-12-05

    IPC分类号: G06F9/38 G06F9/30

    CPC分类号: G06F9/3812

    摘要: A number of identical matching circuits are integrated into the store address buffer, one matching circuit to each buffer slot, for generating a number of match signals, one for each detected match, using at most the entire source address of an instruction being fetched and the corresponding portions of the store destination addresses of the buffered store instructions. Additionally, a stall signal generator complimentary to the store address buffer is provided for generating a single stall signal for the bus controller, using the match signals, thereby stalling an instruction fetch from a source address that is potentially a store destination of one of the buffered store instructions with minimal performance cost.

    摘要翻译: 将多个相同的匹配电路集成到存储地址缓冲器中,每个缓冲器时隙具有一个匹配电路,用于生成多个匹配信号,每个检测到的匹配一个,最多使用正在读取的指令的整个源地址, 缓存存储指令的存储目标地址的对应部分。 此外,提供与存储地址缓冲器相互补充的失速信号发生器,用于使用匹配信号产生用于总线控制器的单个停止信号,从而阻止来自潜在地存储缓冲器之一的存储目的地的源地址的指令获取 存储指令,性能成本最低。