Data processing system and method for using an unique identifier to
maintain an age relationship between executing instructions
    1.
    发明授权
    Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions 失效
    用于使用唯一标识符来维护执行指令之间的年龄关系的数据处理系统和方法

    公开(公告)号:US5805849A

    公开(公告)日:1998-09-08

    申请号:US829592

    申请日:1997-03-31

    IPC分类号: G06F9/38

    摘要: A data processor assigns a unique identifier to each instruction. As there are a finite number of unique identifiers, the identifiers are reused during execution of a program within the data processing system. To maintain an age relationship between instructions executing in the pipeline processor, a methodology is developed to ensure that reused identifiers are properly designated as being younger than their older but larger in magnitude, counterparts. To resolve this issue, assume that the identifier assigned to each instruction has N bits, and therefore, there are 2.sup.N identifiers to be assigned to instructions in the program. The 2.sup.N identifiers are separated into 2.sup.m banks. In addition to assigning identifiers to each instruction, an identifier assignment logic circuit within the pipeline processor provides a global signal that indicates which bank is a youngest bank from which the identifiers are assigned to a remaining portion of the pipeline processor. The global signal preconditions portions of the two identifiers being compared. Subsequently, a result of this conditioning is concatenated with a remaining portion of a selected identifier. The modification of the upper bits of the identifier maintains a relative age position for the identifiers and their associated instructions in the pipelined processor.

    摘要翻译: 数据处理器为每个指令分配唯一的标识符。 由于存在有限数量的唯一标识符,所以在数据处理系统内的程序执行期间重新使用标识符。 为了保持在流水线处理器中执行的指令之间的年龄关系,开发了一种方法,以确保重复使用的标识符被正确地指定为年龄小于较大的,较大的数量。 为了解决这个问题,假定分配给每个指令的标识符具有N位,因此,有2N个标识符被分配给程序中的指令。 2N个标识符分成2m个银行。 除了为每个指令分配标识符之外,流水线处理器内的标识符分配逻辑电路提供一个全局信号,其指示哪个存储体是最小的存储体,其中标识符从其被分配给流水线处理器的剩余部分。 两个标识符的全局信号前提条件部分被比较。 随后,这种调理的结果与所选标识符的剩余部分连接。 标识符的高位的修改保持流水线处理器中的标识符及其相关联的指令的相对年龄位置。

    Branch encoding before instruction cache write
    2.
    发明授权
    Branch encoding before instruction cache write 有权
    指令缓存写入前的分支编码

    公开(公告)号:US07487334B2

    公开(公告)日:2009-02-03

    申请号:US11050350

    申请日:2005-02-03

    IPC分类号: G06F9/34

    CPC分类号: G06F9/322 G06F9/382

    摘要: Method, system and computer program product for determining the targets of branches in a data processing system. A method for determining the target of a branch in a data processing system includes performing at least one pre-calculation relating to determining the target of the branch prior to writing the branch into a Level 1 (L1) cache to provide a pre-decoded branch, and then writing the pre-decoded branch into the L1 cache. By pre-calculating matters relating to the targets of branches before the branches are written into the L1 cache, for example, by re-encoding relative branches as absolute branches, a reduction in branch redirect delay can be achieved, thus providing a substantial improvement in overall processor performance.

    摘要翻译: 用于确定数据处理系统中分支目标的方法,系统和计算机程序产品。 一种用于确定数据处理系统中的分支的目标的方法包括在将分支写入级别1(L1)高速缓存之前执行与确定分支的目标有关的至少一个预计算,以提供预解码分支 ,然后将预解码的分支写入L1高速缓存。 通过在将分支写入L1高速缓存之前预先计算与分支目标相关的事项,例如通过将相关分支重新编码为绝对分支,可以实现分支重定向延迟的减少,从而提供了显着的改进 整体处理器性能。

    Method and system for optimizing the fetching of dispatch groups in a superscalar processor
    3.
    发明授权
    Method and system for optimizing the fetching of dispatch groups in a superscalar processor 有权
    用于优化超标量处理器中调度组的获取的方法和系统

    公开(公告)号:US06286094B1

    公开(公告)日:2001-09-04

    申请号:US09263663

    申请日:1999-03-05

    IPC分类号: G06F930

    摘要: A method and system for determining if a dispatch slot is required in a processing system is disclosed. The method and system comprises a plurality of predecode bits to provide routing information and utilizing the predecode bits to allow instructions to be directed to specific decode slots and to obey dispatch constraints without examining the instructions. The purpose of this precode encoding system scheme is to provide the most information possible about the grouping of the instructions without increasing the complexity of the logic which uses this information for decode and group formation. In a preferred embodiment, pre-decode bits for each instruction that may be issued in parallel are analyzed and the multiplexer controls are retained for each of the possible starting positions within the stream of instructions.

    摘要翻译: 公开了一种用于确定处理系统中是否需要调度槽的方法和系统。 所述方法和系统包括多个预解码比特,以提供路由信息并利用所述预解码比特来允许指令被引导到特定解码时隙,并且在不检查指令的情况下服从调度约束。 该预编码系统方案的目的是为了提供关于指令分组的可能性最大的信息,而不增加使用该信息进行解码和组形成的逻辑的复杂性。 在优选实施例中,分析可以并行发出的每个指令的预解码位,并且为指令流内的每个可能的起始位置保留多路复用器控制。

    Instruction group formation and mechanism for SMT dispatch
    5.
    发明授权
    Instruction group formation and mechanism for SMT dispatch 失效
    SMT派遣指导小组组织和机制

    公开(公告)号:US07237094B2

    公开(公告)日:2007-06-26

    申请号:US10965143

    申请日:2004-10-14

    IPC分类号: G06F9/38

    摘要: A more efficient method of handling instructions in a computer processor, by associating resource fields with respective program instructions wherein the resource fields indicate which of the processor hardware resources are required to carry out the program instructions, calculating resource requirements for merging two or more program instructions based on their resource fields, and determining resource availability for simultaneously executing the merged program instructions based on the calculated resource requirements. Resource vectors indicative of the required resource may be encoded into the resource fields, and the resource fields decoded at a later stage to derive the resource vectors. The resource fields can be stored in the instruction cache associated with the respective program instructions. The processor may operate in a simultaneous multithreading mode with different program instructions being part of different hardware threads. When the resource availability equals or exceeds the resource requirements for a group of instructions, those instructions can be dispatched simultaneously to the hardware resources. A start bit may be inserted in one of the program instructions to define the instruction group. The hardware resources may in particular be execution units such as a fixed-point unit, a load/store unit, a floating-point unit, or a branch processing unit.

    摘要翻译: 通过将资源字段与相应的程序指令相关联来处理计算机处理器中的指令的更有效的方法,其中资源字段指示需要哪个处理器硬件资源来执行程序指令,计算用于合并两个或多个程序指令的资源需求 并且基于所计算的资源需求来确定用于同时执行所合并的程序指令的资源可用性。 指示所需资源的资源矢量可以被编码到资源字段中,并且在稍后阶段解码资源字段以导出资源向量。 资源字段可以存储在与相应的程序指令相关联的指令高速缓存中。 处理器可以以同时多线程模式操作,其中不同的程序指令是不同硬件线程的一部分。 当资源可用性等于或超过一组指令的资源需求时,可以将这些指令同时发送到硬件资源。 可以在程序指令之一中插入起始位以定义指令组。 硬件资源可以特别地是诸如定点单元,加载/存储单元,浮点单元或分支处理单元之类的执行单元。

    Apparatus and method for processing multiple cache misses to a single
cache line
    6.
    发明授权
    Apparatus and method for processing multiple cache misses to a single cache line 失效
    用于处理多个高速缓存未命中到单个高速缓存行的装置和方法

    公开(公告)号:US6021467A

    公开(公告)日:2000-02-01

    申请号:US713056

    申请日:1996-09-12

    IPC分类号: G06F12/08

    摘要: An apparatus and method for processing multiple cache misses to a single cache line in an information handling system which includes a miss queue for storing requests for data not located in a level one cache and a comparator for comparing requests for data stored in the miss queue to determine if there are multiple requests for data located in the same cache line of a level two cache. Each new request for data from the same cache line of the level two cache as an older original request for data in the miss queue is marked as a load hit reload. The requests marked as load hit reloads are then grouped together with the matching original request and forwarded together to the level two cache wherein the original request requests the data from level two cache. The load hit reload requests do not access level two cache but instead bypass access of level two cache by extracting data from the cache line outputted from level two cache for the matching original request. The present invention reduces the number of accesses to the level two cache and allows data requests to be satisfied in parallel versus serially when multiple successive level one cache misses occur.

    摘要翻译: 一种用于处理信息处理系统中的多个高速缓存未命中到单个高速缓存行的装置和方法,该信息处理系统包括用于存储不在一级高速缓存中的数据的请求的未命中队列,以及比较器,用于将存储在所述未命中队列中的数据的请求与 确定是否存在针对二级缓存的同一高速缓存行中的数据的多个请求。 来自与二级缓存相同的高速缓存行的数据的新请求作为旧队列中的数据的较早原始请求被标记为加载命中重新加载。 标记为加载命中重载的请求随后与匹配的原始请求分组在一起并一起转发到二级缓存,其中原始请求请求来自二级缓存的数据。 加载命中重新加载请求不访问二级缓存,而是通过从匹配的原始请求的二级缓存输出的高速缓存行中提取数据来绕过二级缓存的访问。 本发明减少对二级高速缓存的访问次数,并且允许当发生多个连续一级高速缓存未命中时并行地对数据请求进行满足。

    Apparatus and method for enforcing data coherency in an information
handling system having multiple hierarchical levels of cache memory
    7.
    发明授权
    Apparatus and method for enforcing data coherency in an information handling system having multiple hierarchical levels of cache memory 失效
    用于在具有多层次高速缓存存储器的信息处理系统中实施数据一致性的装置和方法

    公开(公告)号:US5802571A

    公开(公告)日:1998-09-01

    申请号:US734318

    申请日:1996-10-21

    IPC分类号: G06F12/12 G06F12/08

    CPC分类号: G06F12/0859

    摘要: An age-based arbitration scheme for enforcing data coherency in an information handling system is disclosed. As loads and stores access a cache, if a cache miss occurs, a miss request is generated and tagged with the cycle or age in which the miss is detected. If a castout is required, it is also tagged with the cycle in which the load or store access occurred, and the line being replaced or cast out is marked as being invalid in that level of hierarchy. The arbitration rules for the next level of memory hierarchy are defined such that all requests that are generated during a particular cycle are given priority over all of the requests generated during any subsequent cycle. As a result, if a load miss occurs for a cache line which is present in the castout buffer, the castout request tagged with an earlier age will be arbitrated into the next memory hierarchy level prior to the arrival of the newly generated miss requests. The age-based arbitration scheme can also be used for multiple cache accesses occurring in parallel.

    摘要翻译: 公开了一种用于在信息处理系统中执行数据一致性的基于年龄的仲裁方案。 当加载和存储访问缓存时,如果发生高速缓存未命中,则会生成错误请求并标记检测到未命中的周期或年龄。 如果需要castout,它也会被标记为发生加载或存储访问的循环,并且被替换或丢弃的行在该级别的级别中被标记为无效。 定义下一级存储器层级的仲裁规则,使得在特定周期期间生成的所有请求优先于在任何后续周期期间生成的所有请求。 结果,如果对于存在于转储缓冲器中的高速缓存行发生负载缺失,则在新生成的未命中请求到达之前,具有较早年龄的标记的转换请求将被仲裁到下一个存储器层级中。 基于年龄的仲裁方案也可以用于并行发生的多个高速缓存访​​问。

    OPERATING A STACK OF INFORMATION IN AN INFORMATION HANDLING SYSTEM
    8.
    发明申请
    OPERATING A STACK OF INFORMATION IN AN INFORMATION HANDLING SYSTEM 有权
    在信息处理系统中操作信息堆栈

    公开(公告)号:US20110314259A1

    公开(公告)日:2011-12-22

    申请号:US12817609

    申请日:2010-06-17

    IPC分类号: G06F9/30

    摘要: A pointer is for pointing to a next-to-read location within a stack of information. For pushing information onto the stack: a value is saved of the pointer, which points to a first location within the stack as being the next-to-read location; the pointer is updated so that it points to a second location within the stack as being the next-to-read location; and the information is written for storage at the second location. For popping the information from the stack: in response to the pointer, the information is read from the second location as the next-to-read location; and the pointer is restored to equal the saved value so that it points to the first location as being the next-to-read location.

    摘要翻译: 一个指针用于指向一堆信息中的下一个读取位置。 将信息推送到堆栈中:保存指针的值,该指针指向堆栈内的第一个位置作为下一个读取位置; 指针被更新,使得它指向堆栈内的第二位置作为下一个读取位置; 并且将信息写入第二位置处的存储。 为了从堆栈弹出信息:响应于指针,从第二位置读取信息作为下一个读取位置; 并且指针被恢复为等于保存的值,使得其指向作为下一个读取位置的第一位置。

    METHODS FOR STORING BRANCH INFORMATION IN AN ADDRESS TABLE OF A PROCESSOR
    9.
    发明申请
    METHODS FOR STORING BRANCH INFORMATION IN AN ADDRESS TABLE OF A PROCESSOR 有权
    在处理器的地址表中存储分支信息的方法

    公开(公告)号:US20080276080A1

    公开(公告)日:2008-11-06

    申请号:US12171370

    申请日:2008-07-11

    IPC分类号: G06F9/38 G06F9/44

    CPC分类号: G06F9/3806

    摘要: Methods for storing branch information in an address table of a processor are disclosed. A processor of the disclosed embodiments may generally include an instruction fetch unit connected to an instruction cache, a branch execution unit, and an address table being connected to the instruction fetch unit and the branch execution unit. The address table may generally be adapted to store a plurality of entries with each entry of the address table being adapted to store a base address and a base instruction tag. In a further embodiment, the branch execution unit may be adapted to determine the address of a branch instruction having an instruction tag based on the base address and the base instruction tag of an entry of the address table associated with the instruction tag. In some embodiments, the address table may further be adapted to store branch information.

    摘要翻译: 公开了将分支信息存储在处理器的地址表中的方法。 所公开的实施例的处理器通常可以包括连接到指令高速缓存的指令获取单元,分支执行单元和连接到指令获取单元和分支执行单元的地址表。 地址表通常适于存储多个条目,其中地址表的每个条目适于存储基地址和基本指令标签。 在另一实施例中,分支执行单元可以适于基于与指令标签相关联的地址表的条目的基地址和基本指令标签来确定具有指令标签的分支指令的地址。 在一些实施例中,地址表还可以适于存储分支信息。

    Pipelined two-cycle branch target address cache
    10.
    发明授权
    Pipelined two-cycle branch target address cache 失效
    流水线两循环分支目标地址缓存

    公开(公告)号:US06279105B1

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

    申请号:US09173039

    申请日:1998-10-15

    IPC分类号: G06F1300

    摘要: In a branch instruction target address cache, an entry associated with a fetched block of instructions includes a target address of a branch instruction residing in the next sequential block of instructions. The entry will include a sequential address associated with the branch instruction and a prediction of whether the target address is taken or not taken.

    摘要翻译: 在分支指令目标地址高速缓存中,与获取的指令块相关联的条目包括驻留在下一个顺序指令块中的分支指令的目标地址。 条目将包括与分支指令相关联的顺序地址以及是否采取目标地址的预测。