会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 72. 发明授权
    • Method and apparatus for five bit predecoding variable length
instructions for scanning of a number of RISC operations
    • 用于扫描多个RISC操作的五位预解码可变长度指令的方法和装置
    • US5898851A
    • 1999-04-27
    • US873115
    • 1997-06-11
    • Rammohan NarayanThang M. Tran
    • Rammohan NarayanThang M. Tran
    • G06F9/30G06F9/345G06F9/318G06F9/40
    • G06F9/382G06F9/30152G06F9/3816
    • A superscalar microprocessor is provided that includes a predecode unit configured to predecode variable byte-length instructions prior to their storage within an instruction cache. The predecode unit is configured to generate a plurality of predecode bits for each instruction byte. The plurality of predecode bits associated with each instruction byte include an end bit and two ROP bits. The ROP bits indicate a number of microinstructions required to implement the instruction. The plurality of predecode bits are collectively referred to as a predecode tag. An instruction alignment unit then uses the predecode tags to identify microinstructions. The instruction alignment unit dispatches the microinstructions simultaneously to a plurality of decode units which form fixed issue positions within the superscalar microprocessor. Because the instruction alignment unit identifies microinstructions, the multiplexing of instructions from the instruction alignment unit to the decoders is simplified. Accordingly, relatively fast multiplexing may be attained, and high performance may be accommodated.
    • 提供了一种超标量微处理器,其包括预定解码单元,其被配置为在可变字节长度指令存储在指令高速缓存之前预解码。 预解码单元被配置为为每个指令字节生成多个预解码位。 与每个指令字节相关联的多个预解码位包括结束位和两个ROP位。 ROP位指示实现该指令所需的微指令数。 多个预解码比特统称为预解码标签。 指令对齐单元然后使用预解码标签来识别微指令。 指令对准单元将微指令同时分配到在超标量微处理器内形成固定发行位置的多个解码单元。 由于指令对准单元识别微指令,简化了从指令对准单元到解码器的指令的复用。 因此,可以实现相对快速的复用,并且可以适应高性能。
    • 75. 发明授权
    • Apparatus for aligning instructions using predecoded shift amounts
    • 用于使用预解码移位量对准指令的装置
    • US5872943A
    • 1999-02-16
    • US690382
    • 1996-07-26
    • James K. PickettThang M. Tran
    • James K. PickettThang M. Tran
    • G06F9/30G06F9/38G06F9/312
    • G06F9/382G06F9/30152G06F9/3816G06F9/3822
    • A predecode unit within a microprocessor predecodes a cache line of instruction bytes for storage within the instruction cache of the microprocessor. The predecode unit produces multiple shift amounts, each of which identify the beginning of a particular instruction within the instruction cache line. The shift amounts are stored in the instruction cache with the instruction bytes, and are conveyed when the instruction bytes are fetched for execution by the microprocessor. An instruction alignment unit decodes the shift amounts to locate instructions within the fetched instruction bytes. Each shift amount directly identifies a corresponding instruction for dispatch, and therefore decoding the shift amount directly results in controls for shifting the instruction bytes such that the identified instruction is conveyed to a corresponding issue position. The number of shift amounts stored may be equal to the number of issue positions within the microprocessor. The instruction alignment unit scans the start and end byte predecode data (which is also provided by the predecode unit and stored in the instruction cache) to detect any additional instructions within the cache line (e.g. instructions not identified by the shift amounts). Additional shift amounts are generated and used by the instruction alignment unit to dispatch instructions during subsequent clock cycles.
    • 微处理器中的预解码单元预先对指令字节的高速缓存行进行存储,以存储在微处理器的指令高速缓存内。 预解码单元产生多个移位量,每个移位量标识指令高速缓存行内特定指令的开始。 移位量存储在具有指令字节的指令高速缓存中,并且当指令字节被提取以由微处理器执行时被传送。 指令对准单元对移位量进行解码,以定位取出的指令字节内的指令。 每个移位量直接识别用于调度的相应指令,因此解码移位量直接导致用于移位指令字节的控制,使得所识别的指令被传送到相应的发行位置。 存储的移位量的数量可以等于微处理器内的发放位置的数目。 指令对准单元扫描开始和结束字节预解码数据(其也由预解码单元提供并存储在指令高速缓存中)以检测高速缓存行内的任何附加指令(例如,未被移位量标识的指令)。 附加移位量由指令对准单元产生并用于在随后的时钟周期期间调度指令。
    • 76. 发明授权
    • Instruction alignment using a dispatch list and a latch list
    • 指令对齐使用调度列表和锁存列表
    • US5859992A
    • 1999-01-12
    • US815566
    • 1997-03-12
    • Thang M. TranRammohan NarayanJagadish V. Nayak
    • Thang M. TranRammohan NarayanJagadish V. Nayak
    • G06F9/30G06F9/38G06F9/00
    • G06F9/382G06F9/30152G06F9/3816G06F9/3836G06F9/384G06F9/3855G06F9/3857
    • An instruction alignment unit includes a byte queue configured to store instruction blocks. Each instruction block includes a fixed number of instruction bytes and identifies up to a maximum number of instructions within the fixed number of instruction bytes. Additionally, the instruction alignment unit is configured to form a pair of instruction lists: a dispatch list and a latch list. The dispatch list includes instruction locators corresponding to instructions within the instruction blocks stored in the byte queue. Additionally, the first three instructions from instructions blocks being received from the instruction cache during a particular clock cycle are appended to the dispatch list. The dispatch list is used to select instructions from the byte queue for dispatch to the decode units. The latch list is used for receiving instruction locators for the remaining instructions from the instruction blocks received from the instruction cache during the particular clock cycle. Furthermore, the latch list receives instruction locators from the dispatch list which correspond to instructions not selected for dispatch to the decode units. The latch list is stored until a succeeding clock cycle, in which the stored program-ordered list is used as a basis for forming the dispatch list during that succeeding clock cycle. The instruction identification information and instruction bytes corresponding to the instruction can be located by selecting the instructions corresponding to the instruction locators at the front of the dispatch list.
    • 指令对准单元包括被配置为存储指令块的字节队列。 每个指令块包括固定数量的指令字节,并且在固定数目的指令字节内识别最多指令数。 此外,指令对准单元被配置为形成一对指令列表:调度列表和锁存列表。 调度列表包括对应于存储在字节队列中的指令块内的指令的指令定位符。 此外,在特定时钟周期期间从指令高速缓存接收到来自指令块的前三个指令被附加到调度列表。 调度列表用于从字节队列中选择用于调度到解码单元的指令。 锁存列表用于从特定时钟周期内从指令高速缓存接收到的指令块接收剩余指令的指令定位器。 此外,锁存列表从调度列表接收与未被选择用于发送到解码单元的指令对应的指令定位器。 存储锁存列表直到下一个时钟周期,其中存储的程序排序列表用作在该后续时钟周期期间形成分派列表的基础。 可以通过选择与调度列表前面的指令定位符相对应的指令来定位与该指令相对应的指令识别信息和指令字节。
    • 77. 发明授权
    • Way prediction unit and a method for operating the same
    • 方式预测单元及其操作方法
    • US5848433A
    • 1998-12-08
    • US838680
    • 1997-04-09
    • Thang M. TranJames K. Pickett
    • Thang M. TranJames K. Pickett
    • G06F9/38G06F12/08G06F12/00G06F13/00
    • G06F9/3806G06F12/0864G06F9/3832G06F2212/6082
    • A way prediction unit for a superscalar microprocessor is provided which predicts the next fetch address as well as the way of the instruction cache that the current fetch address hits in while the instructions associated with the current fetch are being read from the instruction cache. The way prediction unit is intended for high frequency microprocessors in which associative caches tend to be clock cycle limiting, causing the instruction fetch mechanism to require more than one clock cycle between fetch requests. Therefore, an instruction fetch can be made every clock cycle using the predicted fetch address until an incorrect next fetch address or an incorrect way is predicted. The instructions from the predicted way are provided to the instruction processing pipelines of the superscalar microprocessor each clock cycle.
    • 提供了一种用于超标量微处理器的方式预测单元,其预测下一个提取地址以及当前提取地址所在的指令高速缓存的方式,同时从指令高速缓存读取与当前提取相关联的指令。 预测单元用于高频微处理器的方式,其中关联高速缓存趋向于是时钟周期限制,导致指令获取机制在提取请求之间需要多于一个时钟周期。 因此,可以使用预测的提取地址进行每个时钟周期的指令提取,直到预测到不正确的下一个提取地址或错误的方式。 来自预测方式的指令被提供给超标量微处理器每个时钟周期的指令处理流水线。
    • 78. 发明授权
    • Apparatus for providing memory and register operands concurrently to
functional units
    • 用于向功能单元同时提供存储器和寄存器操作数的装置
    • US5835968A
    • 1998-11-10
    • US633302
    • 1996-04-17
    • Rupaka MahalingaiahThang M. Tran
    • Rupaka MahalingaiahThang M. Tran
    • G06F9/38G06F12/08G06F12/10
    • G06F12/0875G06F9/3826G06F9/3832
    • An apparatus including address generation units, corresponding reservation stations, and a speculative register file is provided. Decode units provide memory operation information to the corresponding reservation stations while the associated instructions are being decoded. The speculative register file stores speculative register values corresponding to previously decoded instructions. The speculative register values are generated prior to execution of the previously decoded instructions. If the register operands included in the address operands of an instruction are stored in the speculative register file, then the memory operation may be passed through the corresponding reservation station to an address generation unit. The address generation unit generates the data address from the address operands and accesses a data cache while register operands corresponding to the instruction are requested from a register file and reorder buffer.
    • 提供了包括地址生成单元,相应的保留站和推测寄存器文件的装置。 解码单元在对相关指令进行解码的同时向对应的保留站提供存储器操作信息。 推测寄存器文件存储与先前解码的指令相对应的推测寄存器值。 在执行先前解码的指令之前生成推测寄存器值。 如果包含在指令的地址操作数中的寄存器操作数存储在推测寄存器文件中,则存储器操作可以通过相应的保留站传递给地址生成单元。 地址生成单元从地址操作数生成数据地址,并访问数据高速缓存,同时从寄存器文件和重排序缓冲器请求与指令对应的寄存器操作数。
    • 79. 发明授权
    • Method and apparatus for predecoding variable byte-length instructions
within a superscalar microprocessor
    • 用于在超标量微处理器内预编码可变字节长度指令的方法和装置
    • US5822558A
    • 1998-10-13
    • US790394
    • 1997-01-29
    • Thang M. Tran
    • Thang M. Tran
    • G06F9/30G06F9/38
    • G06F9/30036G06F9/30152G06F9/30167G06F9/3806G06F9/3816G06F9/382G06F9/3832
    • A superscalar microprocessor is provided that includes a predecode unit configured to predecode variable byte-length instructions prior to their storage within an instruction cache. The predecode unit is configured to generate a plurality of predecode bits for each instruction byte. The plurality of predecode bits associated with each instruction byte are collectively referred to as a predecode tag. An instruction alignment unit then uses the predecode tags to dispatch the variable byte-length instructions simultaneously to a plurality of decode units which form fixed issue positions within the superscalar microprocessor. With the information conveyed by the functional bits, the decode units can detect the exact locations of the opcode, displacement, immediate, register, and scale-index bytes. Accordingly, no serial scan by the decode units through the instruction bytes is needed. In addition, the functional bits allow the decode units to calculate linear addresses (via adder circuits) expeditiously for use by other subunits within the superscalar microprocessor. Accordingly, relatively fast decoding may be attained, and high performance may be accommodated.
    • 提供了一种超标量微处理器,其包括预定解码单元,其被配置为在可变字节长度指令存储在指令高速缓存之前预解码。 预解码单元被配置为为每个指令字节生成多个预解码位。 与每个指令字节相关联的多个预解码位被统称为预解码标签。 指令对准单元然后使用预解码标签将可变字节长度指令同时分配到在超标量微处理器内形成固定发布位置的多个解码单元。 通过功能位传送的信息,解码单元可以检测操作码,位移,立即数,寄存器和缩放索引字节的确切位置。 因此,不需要通过指令字节的解码单元的串行扫描。 此外,功能位允许解码单元计算线性地址(通过加法器电路),以便迅速地由超标量微处理器内的其他子单元使用。 因此,可以获得相对快速的解码,并且可以适应高性能。
    • 80. 发明授权
    • Predecode unit adapted for variable byte-length instruction set
processors and method of operating the same
    • 适用于可变字节长度指令集处理器的预编码单元及其操作方法
    • US5819059A
    • 1998-10-06
    • US421663
    • 1995-04-12
    • Thang M. Tran
    • Thang M. Tran
    • G06F9/30G06F9/38
    • G06F9/382G06F9/30152G06F9/3816G06F9/3885
    • A superscalar microprocesor is provided that includes a predecode unit adapted for predecoding variable byte-length instructions. The predecode unit predecodes the instructions prior to their storage within an instruction cache. In one system, a predecode unit is configured to generate a plurality of predecode bits for each instruction byte. The plurality of predecode bits associated with each instruction byte are collectively referred to as a predecode tag. An instruction alignment unit then uses the predecode tags to dispatch the variable byte-length instructions simultaneously to a plurality of decode units which form fixed issue positions within the superscalar microprocessor. By utilizing the predecode information from the predecode unit, the instruction alignment unit may be implemented with a relatively small number of cascaded levels of logic gates, thus accommodating very high frequencies of operation. Instruction alignment to decode units may further be accomplished with relatively few pipeline stages. Finally, since the predecode unit is configured such that the meaning of the functional bit of a particular predecode tag is dependent upon the status of the start bit, a relatively large amount of predecode information may be conveyed with a relatively small number of predecode bits. This thereby allows a reduction in the size of the instruction cache without compromising performance.
    • 提供了一种超标量微处理器,其包括适于预编码可变字节长度指令的预解码单元。 预解码单元在指令存储之前对指令进行预解码。 在一个系统中,预解码单元被配置为为每个指令字节生成多个预解码位。 与每个指令字节相关联的多个预解码位被统称为预解码标签。 指令对准单元然后使用预解码标签将可变字节长度指令同时分配到在超标量微处理器内形成固定发布位置的多个解码单元。 通过利用来自预解码单元的预解码信息,指令对准单元可以用相对较少数量的级联的逻辑门来实现,从而适应非常高的操作频率。 解码单元的指令对准可以在相对较少的流水线阶段进一步完成。 最后,由于预解码单元被配置为使得特定预解码标签的功能位的含义取决于起始位的状态,所以相对大量的预解码信息可以用相对较少数量的预先解码位来传送。 这样就可以减小指令高速缓存的大小,而不会影响性能。