Dual access instruction and compound memory access instruction with compatible address fields
    2.
    发明授权
    Dual access instruction and compound memory access instruction with compatible address fields 有权
    双访问指令和具有兼容地址字段的复合存储器访问指令

    公开(公告)号:US06681319B1

    公开(公告)日:2004-01-20

    申请号:US09410653

    申请日:1999-10-01

    IPC分类号: G06F930

    摘要: A processing engine 10 includes an instruction buffer 502 operable to buffer single and compound instructions pending execution. A decode mechanism is configured to decode instructions from the instruction buffer. The decode mechanism is arranged to respond to a predetermined tag in a tag field of an instruction, which predetermined tag is representative of the instruction being a compound instruction formed from separate programmed memory instructions. The decode mechanism is operable in response to the predetermined tag to decode at least first data flow control for a first programmed instruction and second data flow control for a second programmed instruction. The use of compound instructions enables effective use of the bandwidth available within the processing engine. A soft dual memory instruction can be compiled from separate first and second programmed memory instructions. A compound address field of the predetermined compound instruction can be arranged at the same bit positions as the address field for a hard compound memory instruction, that is a compound instruction which is programmed. In this case the decoding of the addresses can be started before the operation code of the instructions have been decoded. To reduce the number of bits in the compound instruction, addressing can be restricted to indirect addressing and the operation codes for at least the first instruction can be reduced in size. In this way, the compound instruction can be arranged to have the same number of bits in total as the sum of the bits of the separate programmed instructions.

    摘要翻译: 处理引擎10包括指令缓冲器502,其可操作用于在执行之前缓冲单个和复合指令。 解码机构被配置为解码来自指令缓冲器的指令。 解码机构被布置成响应于指令的标签字段中的预定标签,该预定标签表示作为由单独的编程存储器指令形成的复合指令的指令。 解码机制可响应于预定标签而操作,以对第一编程指令和第二编程指令的第二数据流控制进行至少第一数据流控制解码。 使用复合指令可以有效利用处理引擎内可用的带宽。 可以从单独的第一和第二编程存储器指令编译软双存储器指令。 预定复合指令的复合地址字段可以被布置在与用于硬化合物存储器指令的地址字段相同的位位置,即,被编程的复合指令。 在这种情况下,可以在指令的操作代码被解码之前开始地址的解码。 为了减少复合指令中的位数,可以将寻址限制为间接寻址,并且可以减小至少第一条指令的操作码的大小。 以这种方式,复合指令可以被布置为具有与分离的编程指令的位的总和相同数量的位。

    Circular buffer management
    3.
    发明授权
    Circular buffer management 有权
    循环缓冲管理

    公开(公告)号:US06363470B1

    公开(公告)日:2002-03-26

    申请号:US09411187

    申请日:1999-10-01

    IPC分类号: G06F1200

    摘要: Data processing apparatus 10 supporting circular buffers CB includes address storage ARx for holding a virtual buffer index and offset storage BOFxx for holding an offset address. Circular buffer management logic 802 is configured to be operable to apply a modifier to a virtual buffer index held in the address storage to derive a modified virtual buffer index and to apply a buffer offset held in the offset storage to the modified virtual buffer index to derive a physical address for addressing a circular buffer. By employing virtual addressing to a buffer index for a circular buffer management, it is possible to make efficient use of memory resources. One or more circular buffers can be located contiguously with respect to each other and/or other data in memory, avoiding fragmentation of the memory. The buffer index forms a pointer for the circular buffer. The apparatus enables circular buffers to be implemented without alignment constraints, while maintaining compatibility with prior circular buffer implementations with alignment constraints.

    摘要翻译: 支持循环缓冲器CB的数据处理装置10包括用于保持虚拟缓冲器索引的地址存储器ARx和用于保持偏移地址的偏移存储器BOFxx。 循环缓冲器管理逻辑802被配置为可操作以将修饰符应用于保存在地址存储器中的虚拟缓冲器索引,以导出修改的虚拟缓冲器索引并将保持在偏移存储器中的缓冲器偏移应用于修改的虚拟缓冲器索引以导出 用于寻址循环缓冲区的物理地址。 通过对循环缓冲器管理的缓冲器索引采用虚拟寻址,可以有效地利用存储器资源。 可以相对于彼此和/或存储器中的其他数据连续地定位一个或多个循环缓冲器,以避免存储器的碎片化。 缓冲区索引形成循环缓冲区的指针。 该装置使得能够实现循环缓冲器而不具有对准限制,同时保持与具有对准约束的先前循环缓冲器实现的兼容性。

    Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution
    4.
    发明授权
    Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution 有权
    基于指示被错误地预编码用于并行执行的指示来防止并行执行一组指令

    公开(公告)号:US06742110B2

    公开(公告)日:2004-05-25

    申请号:US09410731

    申请日:1999-10-01

    IPC分类号: G06F940

    摘要: A processing engine 10 for executing instructions in parallel comprises an instruction buffer 600 for holding at least two instructions, with the first instruction 602 in a first position and the second instruction 604 in a second position. A first decoder 612 provides decoding of the first instruction and generates first control signals. The first control signals include first resource control signals, first address generation control signals, and a first validity signal indicative of the validity of the first instruction in the first position. A second decoder 614 provides decoding of the second instruction and generates second control signals. The second control signals include second resource control signals, second address generation control signals, and a second validity signal indicative of the validity of the second instruction in the second position. Arbitration and merge logic 628, 630 is provided for arbitrating between the first and second control signals and for merging the first and second control signals for controlling power of execution of the instructions in accordance with a set of parallelism rules. A conditional execution unit 634 is responsive to false condition signals from the arbitration and merge logic to inhibit or modify the effect of the control signals. The parallelism rules provide for efficient instruction execution, and the avoidance of resource conflicts.

    摘要翻译: 用于并行执行指令的处理引擎10包括用于保持至少两个指令的指令缓冲器600,其中第一指令602处于第一位置,而第二指令604处于第二位置。 第一解码器612提供第一指令的解码并产生第一控制信号。 第一控制信号包括第一资源控制信号,第一地址产生控制信号和指示第一位置的第一指令的有效性的第一有效信号。 第二解码器614提供第二指令的解码并产生第二控制信号。 第二控制信号包括第二资源控制信号,第二地址产生控制信号和指示第二指令在第二位置的有效性的第二有效信号。 提供仲裁和合并逻辑628,630用于在第一和第二控制信号之间进行仲裁,并且用于合并用于根据一组并行规则控制指令的执行功能的第一和第二控制信号。 条件执行单元634响应来自仲裁和合并逻辑的伪状态信号来抑制或修改控制信号的影响。 并行规则提供有效的指令执行和避免资源冲突。

    Processor with pointer tracking to eliminate redundant memory fetches
    5.
    发明授权
    Processor with pointer tracking to eliminate redundant memory fetches 有权
    具有指针跟踪的处理器,以消除冗余内存提取

    公开(公告)号:US06826679B1

    公开(公告)日:2004-11-30

    申请号:US09716493

    申请日:2000-11-20

    IPC分类号: G06F1202

    摘要: A processor is provided that is a programmable digital signal processor (DSP) with variable instruction length, offering both high code density and easy programming. Architecture and instruction set are optimized for low power consumption and high efficiency execution of DSP algorithms, such as for wireless telephones, as well as pure control tasks. A coefficient data pointer is provided for accessing coefficient data for use in a multiply-accumulate (MAC) unit. Monitoring circuitry determines when the coefficient data pointer is modified (step 1104). When an instruction is executed (step 1102) that requires a coefficient datum from memory in accordance with the coefficient data pointer, a memory access is inhibited (step 1108) if the coefficient data pointer has not been modified since the last time a memory fetch was made in accordance with the coefficient data pointer and the previously fetched coefficient datum is reused. However, if the coefficient data pointer was modified since the last time a memory fetch was made in accordance with the coefficient data pointer, then the required coefficient datum is fetched from memory (step 1106). A shadow register within the MAC unit execution pipeline temporarily saves coefficient data for possible reuse.

    摘要翻译: 提供了一种处理器,它是一个具有可变指令长度的可编程数字信号处理器(DSP),既提供高密码密码又易于编程。 架构和指令集针对低功耗和高效率执行DSP算法进行了优化,如无线电话以及纯控制任务。 系数数据指针被提供用于访问在乘法累加(MAC)单元中使用的系数数据。 监视电路确定何时修改系数数据指针(步骤1104)。 当根据系数数据指针执行需要来自存储器的系数数据的指令(步骤1102)时,如果系数数据指针自上次存储器提取时间以来未被修改,则禁止存储器访问(步骤1108) 根据系数数据指针和先前获取的系数数据进行重新使用。 然而,如果从根据系数数据指针进行存储器提取的最后一次修改系数数据指针,则从存储器取出所需的系数数据(步骤1106)。 MAC单元执行管道内的影子寄存器临时保存系数数据,以便重新使用。

    Linear vector computation
    6.
    发明授权
    Linear vector computation 有权
    线性向量计算

    公开(公告)号:US06557097B1

    公开(公告)日:2003-04-29

    申请号:US09411473

    申请日:1999-10-01

    IPC分类号: G06F1716

    摘要: A processing engine 10 provides computation of an output vector as a linear combination of N input vectors with N coefficients in an efficient manner. The processing engine includes a coefficient register 940 for holding a representation of each of N coefficients of a first input vector. A test unit 950 is provided for testing selected parts (e.g. bits) of the coefficient register for respective coefficient representations. An arithmetic unit 970 computes respective coordinates of an output vector by selective addition/subtraction of coordinates of a second input vector dependent on results of the coefficient representation tests. Power consumption can be kept low due to the use of a coefficient test operation in parallel with an ALU operation. Each coordinate of an output vector {right arrow over (Y)} can be computed with a N+1 step algorithm, the computation being done with bit test unit operating in parallel with an ALU according to the following equation: ∀ 1 ≤ j ≤ M ⁢   ⁢ Y j = ∑ 1 ≤ i ≤ N ⁢   ⁢ ( ( - 1 ) C i * X ij ) . At a step (i+1)1≦i≦N of the computation, a bit Ci+1 of the CPU register is addressed, this bit is tested in a temporary register and a conditional addition/subtraction of a coordinate of the second input vector Xij is performed.

    摘要翻译: 处理引擎10以有效的方式提供输出向量作为具有N个系数的N个输入向量的线性组合的计算。 处理引擎包括用于保持第一输入向量的N个系数中的每一个的表示的系数寄存器940。 提供测试单元950用于测试用于各个系数表示的系数寄存器的选定部分(例如位)。 算术单元970根据系数表示测试的结果,通过选择性地相加/减去第二输入向量的坐标来计算输出向量的各个坐标。 由于与ALU操作并行地使用系数测试操作,所以能够将功耗保持为低。 输出向量的每个坐标{向右箭头(Y可以用N + 1步算法计算,根据以下等式,使用与ALU并行操作的位测试单元进行计算):在步骤(i + 1 )1 <= i <= N,CPU寄存器的位Ci + 1被寻址,该位在临时寄存器中被测试,并且执行第二输入向量Xij的坐标的条件相加/减法。

    Sliding granularity time stamping
    7.
    发明授权
    Sliding granularity time stamping 有权
    滑动粒度时间戳

    公开(公告)号:US08307344B2

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

    申请号:US12201037

    申请日:2008-08-29

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3636 G06F11/3656

    摘要: In a method for tracing data within an integrated circuit, a default time stamp granularity is selected for a sequence of time stamps, wherein each time stamp has a resolution of 2**N. A sequence of trace events is captured and an elapsed time is determined between each time sequential pair of trace events in the sequence of trace events. A time stamp is formed to associate with each trace event of the sequence of trace events, wherein each time stamp has an associated time stamp granularity, wherein the time stamp has the default time stamp granularity if the elapsed time between a current trace event and a sequentially prior trace event is less than 2**N time slots, otherwise the time stamp granularity is slid to a larger value such that the elapsed time can be represented by N bits, whereby a small number N of bits can accurately represent a large range of elapsed times.

    摘要翻译: 在用于跟踪集成电路内的数据的方法中,对于时间戳序列选择默认时间戳粒度,其中每个时间戳具有2 ** N的分辨率。 捕获跟踪事件的序列,并且在跟踪事件序列中的每个时间顺序跟踪事件对之间确定经过的时间。 形成时间戳以与跟踪事件序列的每个跟踪事件相关联,其中每个时间戳具有关联的时间戳粒度,其中如果当前跟踪事件与当前跟踪事件之间的经过时间,则时间戳具有默认时间戳粒度 顺序先前的跟踪事件小于2 ** N个时隙,否则时间戳粒度被滑动到更大的值,使得经过的时间可以由N个比特表示,从而少数N个比特可以精确地表示大范围 经过时间。

    Power management events profiling
    8.
    发明授权
    Power management events profiling 有权
    电源管理事件分析

    公开(公告)号:US08190931B2

    公开(公告)日:2012-05-29

    申请号:US12478273

    申请日:2009-06-04

    IPC分类号: G06F15/00

    摘要: In a method for monitoring power consumption by a system within an integrated circuit, one or more software programs are executed on the system on a chip (SOC). While the program executes, power control settings of a plurality of functional units within the SOC may be adjusted in response to executing the one or more software programs, whereby power consumption within the SOC varies over time. The power control settings may be changed in response to explicit directions from the executing software, or may occur autonomously in response to load monitoring control modules within the SOC. A sequence of power states is reported for the plurality of functional units within the SOC. Each of the sequence of power states may include clock frequencies from multiple clock domains, voltage levels for multiple voltage domains, initiator activity, target activity, memory module power enablement, or power enablement of each of the plurality of functional units.

    摘要翻译: 在用于监视集成电路内的系统的功率消耗的方法中,在芯片上的系统(SOC)上执行一个或多个软件程序。 在程序执行时,可以响应于执行一个或多个软件程序来调整SOC内的多个功能单元的功率控制设置,由此SOC内的功耗随时间而变化。 功率控制设置可以响应于来自执行软件的显式指示而改变,或者可以响应于SOC内的负载监视控制模块自主地发生。 针对SOC内的多个功能单元报告功率状态序列。 功率状态序列中的每一个可以包括来自多个时钟域的时钟频率,多个电压域的电压电平,启动器活动,目标活动,存储器模块功率使能或多个功能单元中的每一个的功率使能。

    DYNAMIC FREQUENCY SCALING FOR JTAG COMMUNICATION
    9.
    发明申请
    DYNAMIC FREQUENCY SCALING FOR JTAG COMMUNICATION 有权
    用于JTAG通信的动态频率调整

    公开(公告)号:US20080163017A1

    公开(公告)日:2008-07-03

    申请号:US11616673

    申请日:2006-12-27

    IPC分类号: G01R31/28

    CPC分类号: G06F11/2242

    摘要: A system comprising a system under test (SUT) having a control logic. The SUT further comprises testing logic coupled to the SUT and adapted to provide to the SUT a clock signal to facilitate communications between the testing logic and the SUT. The control logic monitors a number of activated processors in a scan chain coupled to the control logic. If the number of activated processors is reduced, the control logic dynamically decreases a frequency of the clock signal.

    摘要翻译: 一种包括具有控制逻辑的被测系统(SUT)的系统。 SUT还包括耦合到SUT的测试逻辑,并且适于向SUT提供时钟信号以促进测试逻辑和SUT之间的通信。 控制逻辑监视耦合到控制逻辑的扫描链中的多个激活的处理器。 如果激活的处理器的数量减少,则控制逻辑动态地降低时钟信号的频率。

    Microprocessor with selected partitions disabled during block repeat
    10.
    发明授权
    Microprocessor with selected partitions disabled during block repeat 有权
    在块重复期间禁用选定分区的微处理器

    公开(公告)号:US06795930B1

    公开(公告)日:2004-09-21

    申请号:US09716645

    申请日:2000-11-20

    IPC分类号: G06F126

    摘要: A microprocessor and a method of operating the microprocessor are provided in which a portion of the microprocessor is partitioned into a plurality of partitions. A sequence of instructions is executed within an instruction pipeline of the microprocessor. A block of instructions within the sequence of instructions is repetitively executed in response to a local repeat instruction. Either prior to executing the block of instructions, or during the first iteration of the loop, a determination is made that at least one of the plurality of partitions is not needed to execute the block of instructions. Operation of the at least one identified partition is inhibited during the repetitive execution of the block of instructions in order to reduce power dissipation.

    摘要翻译: 提供微处理器和操作微处理器的方法,其中微处理器的一部分被分割成多个分区。 在微处理器的指令流水线内执行指令序列。 响应于本地重复指令重复地执行指令序列内的指令块。 在执行指令块之前或在循环的第一次迭代期间,确定执行指令块不需要多个分区中的至少一个分区。 在重复执行指令块期间,禁止至少一个识别的分区的操作,以便降低功耗。