会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Optimization of instruction stream execution that includes a VLIW dispatch group
    • 优化包含VLIW调度组的指令流执行
    • US06425069B1
    • 2002-07-23
    • US09263664
    • 1999-03-05
    • Larry Edward ThatcherJohn Edward Derrick
    • Larry Edward ThatcherJohn Edward Derrick
    • G06F1500
    • G06F9/3853G06F9/3834
    • A method and system for optimizing execution of an instruction stream which includes a very long instruction word (VLIW) dispatch group in which ordering is not maintained is disclosed. The method and system comprises examining an access which initiated a flush operation; capturing an indice related to the flush operation; and causing all storage access instructions related to this indice to be dispatched as single-IOP groups until the indice is updated. Storage access to address space which is safe such as Guarded (G=1) or Direct Store (E=DS) must be handled in a non-speculative manner such that operations which could potentially go to volatile I/O devices or control locations that do not get processed out of order. Since the address is not known in the front end of the processor, this can only be determined by the load store unit or functional block which performs translation. Therefore, if a flush occurs for these conditions, in accordance with the present invention the value of the base register (RA) is latched and subsequent loads and stores which use this base register are decoded in a “safe” manner until an instruction is decoded which would change the base register value (safe means an internal instruction sequence which can be executed in order without repeating any accesses). The value of multiple base registers can be tracked in this manner, though the preferred embodiment would not use more than two, one of the base registers could be for input and one could be for output streams.
    • 公开了一种优化执行指令流的方法和系统,该方法和系统包括不维护顺序的非常长的指令字(VLIW)调度组。 该方法和系统包括检查启动冲洗操作的访问; 捕获与冲洗操作相关的指示; 并将与此Indice相关的所有存储访问指令作为单IOP组发送,直到更新指示符。 必须以不推测的方式来处理诸如保护(G = 1)或直接存储(E = DS)等安全的地址空间的存储访问,以使可能进入易失性I / O设备或控制位置的操作 不要处理乱序。 由于地址在处理器的前端是未知的,所以这只能由加载存储单元或执行翻译的功能块来确定。 因此,如果对于这些条件发生冲突,根据本发明,基本寄存器(RA)的值被锁存,并且使用该基本寄存器的后续加载和存储以“安全”的方式被解码,直到指令被解码 这将改变基址寄存器值(安全是指可以顺序执行而不重复任何访问的内部指令序列)。 可以以这种方式跟踪多个基站寄存器的值,尽管优选实施例不会使用多于两个的基本寄存器中的一个可以用于输入,一个可以用于输出流。
    • 2. 发明授权
    • Superscaler processor and method for efficiently recovering from misaligned data addresses
    • 超标量处理器和方法可以有效地从不对齐的数据地址中恢复
    • US06289428B1
    • 2001-09-11
    • US09366599
    • 1999-08-03
    • John Edward DerrickHung Qui LeDavid James ShippyLarry Edward Thatcher
    • John Edward DerrickHung Qui LeDavid James ShippyLarry Edward Thatcher
    • G06F1202
    • G06F9/30043G06F9/3824G06F12/04
    • A superscalar processor and method are disclosed for efficiently recovering from misaligned data addresses. The processor includes a memory device partitioned into a plurality of addressable memory units. Each of the plurality of addressable memory units has a width of a first plurality of bytes. A determination is made regarding whether a data address included within a memory access instruction is misaligned. The data address is misaligned if it includes a first data segment located in a first addressable memory unit and a second data segment located in a second addressable memory unit where the first and second data segments are separated by an addressable memory unit boundary. In response to a determination that the data address is misaligned, a first internal instruction is executed which accesses the first memory unit and obtains the first data segment. A second internal instruction is executed which accesses the second memory unit and obtains the second data segment. The first and second data segments are merged together. All of the instructions executed by the processor are constrained by the memory boundary and do not access memory across the memory boundary.
    • 公开了一种超标量处理器和方法,用于从未对准的数据地址有效地恢复。 处理器包括划分成多个可寻址存储器单元的存储器件。 多个可寻址存储器单元中的每一个具有第一多个字节的宽度。 确定存储器访问指令中包括的数据地址是否不对齐。 如果数据地址包括位于第一可寻址存储器单元中的第一数据段和位于第二可寻址存储器单元中的第二数据段,其中第一和第二数据段由可寻址存储器单元边界分隔,则该数据地址未对准。 响应于确定数据地址未对准,执行访问第一存储器单元并获得第一数据段的第一内部指令。 执行访问第二存储器单元并获得第二数据段的第二内部指令。 第一和第二数据段合并在一起。 由处理器执行的所有指令都受到存储器边界的约束,并且不会跨越存储器边界访问存储器。
    • 4. 发明授权
    • Method and apparatus for instruction sampling for performance monitoring and debug
    • 用于性能监控和调试的指令采样方法和装置
    • US06574727B1
    • 2003-06-03
    • US09435069
    • 1999-11-04
    • Joel Roger DavidsonJohn Edward DerrickAlexander Erik Mericas
    • Joel Roger DavidsonJohn Edward DerrickAlexander Erik Mericas
    • G06F900
    • G06F9/3836G06F9/3017G06F9/3857G06F11/348G06F2201/88
    • A method and apparatus for selecting an instruction to be monitored within a pipelined processor in a data processing system is presented. A plurality of instructions are fetched, and the plurality of instructions are matched against at least one match condition to generate instructions that are eligible for sampling. The match conditions may include matching the opcode of an instruction, the pre-decode bits of an instruction, a type of instruction, or other conditions. The matched instructions may be marked using a match bit that accompanies the instruction through the selection process. The instructions eligible for sampling are then sampled to generate a sampled instruction. A sampled instruction may be marked with a sample bit that accompanies the instruction through the instruction execution process in order to monitor the sampled instruction while it is executing within the pipelined processor.
    • 提出了一种在数据处理系统中选择流水线处理器内要监视的指令的方法和装置。 获取多个指令,并且将多个指令与至少一个匹配条件进行匹配,以生成符合抽样要求的指令。 匹配条件可以包括匹配指令的操作码,指令的预解码位,指令的类型或其他条件。 可以使用通过选择过程伴随指令的匹配位来标记匹配的指令。 然后对符合抽样要求的指令进行采样以产生采样指令。 采样指令可以通过指令执行过程伴随指令的采样位进行标记,以便在流水线处理器中执行时监视采样指令。
    • 5. 发明授权
    • Simplified method to generate BTAGs in a decode unit of a processing system
    • 在处理系统的解码单元中生成BTAG的简化方法
    • US06304959B1
    • 2001-10-16
    • US09263669
    • 1999-03-05
    • Brian R. KonigsburgJohn Edward DerrickDavid Stephen Levitan
    • Brian R. KonigsburgJohn Edward DerrickDavid Stephen Levitan
    • G06F938
    • G06F9/3804G06F9/3836G06F9/384G06F9/3842G06F9/3855G06F9/3857
    • A method and system for assigning unique branch tag (BTAG) values in a decode unit in a processing system are disclosed. The method and system comprise providing at least one BTAG value and incrementing the at least one BTAG value for each fetch group as required. The method includes allowing the decode unit to generate the appropriate BTAG values for all dispatch groups formed by instructions within the same fetch group. In the preferred implementation, the BTAG values comprise a major branch tag and two minor branch tags, a count branch tag, and a link branch tag. The “seed” value for each of the BTAGs is provided each time a branch redirection occurs. Because the branches are passed to the decode unit with little or no processing by the instruction fetch unit, and conditions can cause the branch execution to be delayed, more branches could be decoded and processed than the number of branch entry queues in the instruction fetch unit. Therefore the value of the next entry in the branch entry queue is broadcast to the decode unit and whenever the current branch in the last stage of the decode unit is identical to the broadcast value, the decode unit ceases to process any output instructions until the broadcast value changes.
    • 公开了一种用于在处理系统中的解码单元中分配唯一分支标签(BTAG)值的方法和系统。 该方法和系统包括提供至少一个BTAG值并根据需要递增每个获取组的至少一个BTAG值。 该方法包括允许解码单元为由同一取出组内的指令形成的所有调度组生成适当的BTAG值。 在优选实现中,BTAG值包括主要分支标签和两个次要分支标签,计数分支标签和链接分支标签。 每次发生分支重定向时都提供每个BTAG的“种子”值。 由于分支通过指令获取单元很少或不处理地被传递到解码单元,并且条件可以导致分支执行被延迟,所以可以比指令获取单元中的分支输入队列的数量更多的分支被解码和处理 。 因此,分支输入队列中的下一个条目的值被广播到解码单元,并且每当解码单元的最后一级中的当前分支与广播值相同时,解码单元停止处理任何输出指令直到广播 价值变化。
    • 6. 发明授权
    • Method and apparatus for synchronizing parallel pipelines in a superscalar microprocessor
    • 用于在超标量微处理器中同步并行管线的方法和装置
    • US06385719B1
    • 2002-05-07
    • US09345719
    • 1999-06-30
    • John Edward DerrickBrian R. KonigsburgLee Evan EisenDavid Stephen Levitan
    • John Edward DerrickBrian R. KonigsburgLee Evan EisenDavid Stephen Levitan
    • G06F938
    • G06F9/3804G06F9/3836G06F9/384G06F9/3855G06F9/3857G06F9/3885
    • A transfer tag is generated by the Instruction Fetch Unit and passed to the decode unit in the instruction pipeline with each group of instructions fetched during a branch prediction by a fetcher. Individual instructions within the fetched group for the branch pipeline are assigned a concatenated version (group tag concatenated with instruction lane) of the transfer tag which is used to match on requests to flush any newer instructions. All potential instruction or Internal Operation latches in the decode pipeline must perform a match and if a match is encountered, all valid bits associated with newer instructions or internal operations upstream from the match are cleared. The transfer tag representing the next instruction to be processed in the branch pipeline is passed to the Instruction Dispatch Unit. The Instruction Dispatch Unit queries the branch pipeline to compare its transfer tag with transfer tags of instructions in the branch pipeline. If the transfer tag matches a branch instruction tag the Instruction Decode Unit is stalled until the branch instruction is processed thus, providing a synchronizing method for the parallel pipelines.
    • 传送标签由指令提取单元生成,并在指令流水线中传送给解码单元,每个指令组由读取器在分支预测期间取出。 为分支流水线提取的组中的单独指令被分配用于匹配在刷新任何较新指令的请求上的传送标签的级联版本(组标签与指令通道连接)。 解码流水线中的所有潜在指令或内部操作锁存器必须执行匹配,并且如果遇到匹配,将清除与较新指令相关联的所有有效位或匹配上游的内部操作。 表示在分支管线中要处理的下一条指令的传送标签被传递到指令调度单元。 指令调度单元查询分支流水线以将其传输标签与分支流水线中的指令的传输标签进行比较。 如果转移标签与分支指令标签匹配,则指令解码单元停止,直到处理分支指令为止,为并行管线提供同步方法。