会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Stack push/pop tracking and pairing in a pipelined processor
    • 在流水线处理器中堆栈推/弹跟踪和配对
    • US5687336A
    • 1997-11-11
    • US584836
    • 1996-01-11
    • Gene ShenShalesh ThusooJames S. Blomgren
    • Gene ShenShalesh ThusooJames S. Blomgren
    • G06F9/34G06F9/38G06F9/32
    • G06F9/3816G06F9/34G06F9/3824
    • A pipelined processor executes several stack instructions simultaneously. Additional shadow registers for stack pointers of instructions in the pipeline are not needed. Instead the new stack pointer is generated once at the end of the pipeline and written to the register file. The stack pointer is needed for generating the stack-top address in memory. The stack-top address is generated early in the pipeline. Other stack instructions in the pipeline which have not yet incremented the stack pointer are located with a stack valid bit array. The stack valid array indicates the increment or decrement amounts for stack instructions in each pipeline stage. An overall displacement or increment value is computed as the sum of all increments and decrements for stack instructions in the pipeline which have not yet updated the stack pointer. The overall displacement which accounts for all unfinished stack instructions is added to the stack pointer from the register file to generate the stack-top address. Thus the new stack pointer does not have to be generated before the stack memory is accessed. Pushes or pops are paired by doubling the increment amount in the stack valid bit array and performing a double-width data transfer.
    • 流水线处理器同时执行多个堆栈指令。 不需要额外的影子寄存器用于管道中指令的堆栈指针。 相反,新的堆栈指​​针在流水线的末尾生成一次并写入寄存器文件。 需要堆栈指针来生成内存中的堆栈顶部地址。 栈顶地址在管道中提前生成。 流水线中尚未增加堆栈指针的其他堆栈指令位于堆栈有效位数组中。 堆栈有效数组表示每个流水线阶段堆栈指令的增量或减量量。 总体位移或增量值被计算为流水线中尚未更新堆栈指针的堆栈指令的所有增量和减量的总和。 考虑到所有未完成的堆栈指令的总体位移从寄存器文件添加到堆栈指针以生成堆栈顶部地址。 因此,在访问堆栈内存之前,不必生成新的堆栈指​​针。 通过将堆栈有效位数组中的增量量加倍并执行双宽度数据传输,推送或弹出配对。
    • 2. 发明授权
    • Reduced register-dependency checking for paired-instruction dispatch in
a superscalar processor with partial register writes
    • 在具有部分寄存器写入的超标量处理器中减少了配对指令调度的寄存器依赖性检查
    • US5790826A
    • 1998-08-04
    • US618636
    • 1996-03-19
    • Shalesh ThusooGene ShenJames S. Blomgren
    • Shalesh ThusooGene ShenJames S. Blomgren
    • G06F9/30G06F9/312G06F9/38G06F9/28
    • G06F9/30043G06F9/30112G06F9/3824G06F9/3834G06F9/3836G06F9/3857
    • The dispatch unit of a superscalar processor checks for register dependencies among instructions to be issued together as a group. The first instruction's destination register is compared to the following instructions' sources, but the destinations of following instructions are not checked with the first instruction's destination. Instead, instructions with destination-destination dependencies are dispatched together as a group. These instructions flow down the pipelines. At the end of the pipelines the destinations are compared. If the destinations match then the results are merged together and written to the register. When instructions write to only a portion of the register, merging ensures that the correct portions of the register are written by the appropriate instructions in the group. Thus older code which performs partial-register writes can benefit from superscalar processing by dispatching the instructions together as a group and then merging the writes together at the end of the pipelines. The dispatch and decode stage, which is often a critical path on the processor, is reduced in complexity by not checking for destination-register dependencies. Performance increases because more kinds of instructions can be dispatched together in a group, increasing the use of the superscalar features.
    • 超标量处理器的调度单元检查要作为一组发放在一起的指令之间的寄存器依赖性。 第一个指令的目的地寄存器与以下指令的源进行比较,但是第一个指令的目的地不检查以下指令的目的地。 相反,具有目的地 - 目的地依赖关系的指令一起作为一组分派。 这些指令沿着管道流下。 在管道末端比较目的地。 如果目的地匹配,则结果合并在一起并写入寄存器。 当指令仅写入寄存器的一部分时,合并确保寄存器的正确部分由组中的相应指令写入。 因此,执行部分寄存器写入的较旧的代码可以通过将指令一起发送为一组然后在管道末端合并在一起的超标量处理而受益。 调度和解码阶段(通常是处理器上的关键路径)通过不检查目标寄存器依赖关系来降低复杂度。 性能提高,因为可以在一组中一起调度更多种类的指令,从而增加超标量特征的使用。
    • 3. 发明授权
    • Mixed-modulo address generation using shadow segment registers
    • 使用影子段寄存器的混合模地址生成
    • US5790443A
    • 1998-08-04
    • US618632
    • 1996-03-19
    • Gene ShenShalesh ThusooJames S. BlomgrenBetty Kikuta
    • Gene ShenShalesh ThusooJames S. BlomgrenBetty Kikuta
    • G06F7/50G06F7/509G06F9/30G06F9/355G06F12/02G06F7/38G06F9/26
    • G06F9/30116G06F12/0292G06F7/509G06F9/3013G06F9/355G06F9/3552G06F7/49931G06F7/49994
    • A mixed-modulo address generation unit has several inputs. The unit effectively adds together a subset of these inputs in a reduced modulus while simultaneously adding other inputs in a full modulus to the partial sum of reduced-modulus inputs. The subset of inputs receives reduced-width address components such as 16-bit address components which are effectively added together in modulo 64K. The other inputs receive full-width address components such as 32-bit components which are added in the full modulus, 4G. Reduced-width components are zero-extended to 32 bits before input to a standard 32-bit adder. A 16-bit carry generator also receives the reduced-width components and generates the carries out of the 16th bit position. When one or more carries is detected, a correction term is subtracted from the initial sum which is recirculated to the adder's input in a subsequent step. The correction term is the number of carries out of the 16th bit position multiplied by 64K. The full-width segment bases for all active segments are stored in the register file, but the most commonly accessed segments, the data and stack segments, have a copy of their segment bases also stored in a shadow register for input to the adder. Thus the number of read ports to the register file is reduced by the shadow segment register. Less-frequently-used segments require an additional step through the adder to generate the address, but addresses in the data and stack segments are generated in a single cycle.
    • 混合模地址生成单元具有多个输入。 该单元有效地将减少的模数中的这些输入的子集合在一起,同时将全模数的其他输入添加到减模量输入的部分和。 输入子集接收减少宽度的地址组件,例如16位地址组件,这些组件以64K模式实际加在一起。 其他输入接收全宽地址组件,例如以完全模数4G格式添加的32位组件。 在输入到标准32位加法器之前,缩减宽度分量将零扩展到32位。 16位进位发生器还接收减小宽度分量并产生第16位位置的执行。 当检测到一个或多个载波时,在随后的步骤中从初始和减去校正项,该初始和再循环到加法器的输入。 校正项是执行第16位位乘以64K的次数。 所有活动段的全宽段基准存储在寄存器文件中,但是最常访问的段,数据和堆栈段都具有其段基准的副本,也存储在阴影寄存器中,以输入加法器。 因此,通过影子段寄存器减少寄存器文件的读端口数。 较不频繁使用的分段需要通过加法器的附加步骤来生成地址,但是在单个周期中生成数据和堆栈段中的地址。