Specifying different type generalized event and action pair in a processor
    1.
    发明授权
    Specifying different type generalized event and action pair in a processor 有权
    在处理器中指定不同类型的广义事件和动作对

    公开(公告)号:US06735690B1

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

    申请号:US09598566

    申请日:2000-06-21

    IPC分类号: G06F1500

    摘要: A processor with a generalized eventpoint architecture, which is scalable for use in a very long instruction word (VLIW) array processor, such as the manifold array (ManArray) processor is described. In one aspect, generalized processor event (p-event) detection facilities are provided by use of compares to check if an instruction address, a data memory address, an instruction, a data value, arithmetic-condition flags, or other processor change of state eventpoint has occurred. In another aspect, generalized processor action (p-action) facilities are provided to cause a change in the program flow by loading the program counter with a new instruction address, generate an interrupt, signal a semaphore, log or count the p-event, time stamp the event, initiate a background operation, or to cause other p-actions to occur. The generalized facilities are defined in the eventpoint architecture as consisting of a control register and three eventpoint parameters, namely at least one register to compare against, a register containing a second compare register, a vector address, or parameter to be passed, and a count or mask register. Based upon this generalized eventpoint architecture, new capabilities are enabled. For example, auto-looping with capabilities to branch out of a nested auto-loop upon detection of a specified condition, background DMA facilities, the ability to link a chain of p-events together for debug purposes, and others are all important capabilities which are readily obtained.

    摘要翻译: 描述了具有广泛事件点架构的处理器,其可扩展以用于非常长的指令字(VLIW)阵列处理器,例如歧管阵列(ManArray)处理器。 在一个方面,通过使用比较来提供广义处理器事件(p事件)检测设施,以检查指令地址,数据存储器地址,指令,数据值,算术条件标志或其他处理器状态变化 事件点已发生。 在另一方面,提供通用处理器动作(p-action)功能以通过用新的指令地址加载程序计数器来产生程序流程的改变,生成中断,信号信号,记录或计数p事件, 事件时间戳,启动后台操作,或导致其他动作发生。 广义设施在事件点架构中被定义为由控制寄存器和三个事件点参数组成,即至少要有一个要比较的寄存器,一个包含第二个比较寄存器的寄存器,一个向量地址或要传递的参数,以及一个计数 或屏蔽寄存器。 基于这种广义的事件点架构,启用了新的功能。 例如,在检测到指定的条件时,自动循环具有分支出嵌套自动循环的功能,后台DMA设施,将p个事件链链接在一起用于调试目的的能力等等都是重要的功能 容易获得。

    Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
    2.
    发明授权
    Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution 有权
    在具有子字执行的基于VLIW的阵列处理器中支持条件执行的方法和装置

    公开(公告)号:US06366999B1

    公开(公告)日:2002-04-02

    申请号:US09238446

    申请日:1999-01-28

    IPC分类号: G06F1580

    摘要: General purpose flags (ACFs) are defined and encoded utilizing a hierarchical one-, two- or three-bit encoding. Each added bit provides a superset of the previous functionality. With condition combination, a sequential series of conditional branches based on complex conditions may be avoided and complex conditions can then be used for conditional execution. ACF generation and use can be specified by the programmer. By varying the number of flags affected, conditional operation parallelism can be widely varied, for example, from mono-processing to octal-processing in VLIW execution, and across an array of processing elements (PE)s. Multiple PEs can generate condition information at the same time with the programmer being able to specify a conditional execution in one processor based upon a condition generated in a different processor using the communications interface between the processing elements to transfer the conditions. Each processor in a multiple processor array may independently have different units conditionally operate based upon their ACFs.

    摘要翻译: 使用分层一位,二位或三位编码来定义和编码通用标志(ACF)。 每个添加的位提供了先前功能的超集。 通过条件组合,可以避免基于复杂条件的顺序一系列条件分支,然后可以将复杂条件用于条件执行。 ACF生成和使用可以由程序员指定。 通过改变受影响的标志的数量,条件操作并行性可以被广泛地变化,例如,从VLIW执行中的单处理到八进制处理,以及处理元件(PE)的阵列。 多个PE可以同时生成条件信息,程序员能够基于使用处理元件之间的通信接口在不同的处理器中生成的条件来指定一个处理器中的条件执行以传送条件。 多处理器阵列中的每个处理器可以独立地具有基于它们的ACF有条件地操作的不同单元。

    Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
    3.
    发明授权
    Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution 有权
    在具有子字执行的基于VLIW的阵列处理器中支持条件执行的方法和装置

    公开(公告)号:US06760831B2

    公开(公告)日:2004-07-06

    申请号:US10114652

    申请日:2002-04-01

    IPC分类号: G06F1580

    摘要: General purpose flags (ACFs) are defined and encoded utilizing a hierarchical one-, two- or three-bit encoding. Each added bit provides a superset of the previous functionality. With condition combination, a sequential series of conditional branches based on complex conditions may be avoided and complex conditions can then be used for conditional execution. ACF generation and use can be specified by the programmer. By varying the number of flags affected, conditional operation parallelism can be widely varied, for example, from mono-processing to octal-processing in VLIW execution, and across an array of processing elements (PE)s. Multiple PEs can generate condition information at the same time with the programmer being able to specify a conditional execution in one processor based upon a condition generated in a different processor using the communications interface between the processing elements to transfer the conditions. Each processor in a multiple processor array may independently have different units conditionally operate based upon their ACFs.

    摘要翻译: 使用分层一位,二位或三位编码来定义和编码通用标志(ACF)。 每个添加的位提供了先前功能的超集。 通过条件组合,可以避免基于复杂条件的顺序一系列条件分支,然后可以将复杂条件用于条件执行。 ACF生成和使用可以由程序员指定。 通过改变受影响的标志的数量,条件操作并行性可以被广泛地变化,例如,从VLIW执行中的单处理到八进制处理,以及处理元件(PE)的阵列。 多个PE可以同时生成条件信息,程序员能够基于使用处理元件之间的通信接口在不同的处理器中生成的条件来指定一个处理器中的条件执行以传送条件。 多处理器阵列中的每个处理器可以独立地具有基于它们的ACF有条件地操作的不同单元。

    Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
    4.
    发明授权
    Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution 失效
    在具有子字执行的基于VLIW的阵列处理器中支持条件执行的方法和装置

    公开(公告)号:US06954842B2

    公开(公告)日:2005-10-11

    申请号:US10650301

    申请日:2003-08-28

    摘要: General purpose flags (ACFs) are defined and encoded utilizing a hierarchical one-, two- or three-bit encoding. Each added bit provides a superset of the previous functionality. With condition combination, a sequential series of conditional branches based on complex conditions may be avoided and complex conditions can then be used for conditional execution. ACF generation and use can be specified by the programmer. By varying the number of flags affected, conditional operation parallelism can be widely varied, for example, from mono-processing to octal-processing in VLIW execution, and across an array of processing elements (PE)s. Multiple PEs can generate condition information at the same time with the programmer being able to specify a conditional execution in one processor based upon a condition generated in a different processor using the communications interface between the processing elements to transfer the conditions. Each processor in a multiple processor array may independently have different units conditionally operate based upon their ACFs.

    摘要翻译: 使用分层一位,二位或三位编码来定义和编码通用标志(ACF)。 每个添加的位提供了先前功能的超集。 通过条件组合,可以避免基于复杂条件的顺序一系列条件分支,然后可以将复杂条件用于条件执行。 ACF生成和使用可以由程序员指定。 通过改变受影响的标志的数量,条件操作并行性可以被广泛地变化,例如,从VLIW执行中的单处理到八进制处理,以及处理元件(PE)的阵列。 多个PE可以同时生成条件信息,程序员能够基于使用处理元件之间的通信接口在不同的处理器中生成的条件来指定一个处理器中的条件执行以传送条件。 多处理器阵列中的每个处理器可以独立地具有基于它们的ACF有条件地操作的不同单元。

    Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
    5.
    发明授权
    Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor 有权
    用于在VLIW处理器中提供寄存器寻址的间接控制的寄存器文件索引方法和装置

    公开(公告)号:US06446190B1

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

    申请号:US09267570

    申请日:1999-03-12

    IPC分类号: G06F935

    摘要: A double indirect method of accessing a block of data in a register file is used to allow efficient implementations without the use of specialized vector processing hardware. In addition, the automatic modification of the register addressing is not tied to a single vector instruction nor to repeat or loop instructions. Rather, the technique, termed register file indexing (RFI) allows full programmer flexibilty in control of the block data operational facility and provides the capability to mix non-RFI instructions with RFI instructions. The block-data operation facility is embedded in the iVLIW ManArray architecture allowing its generalized use across the instruction set architecture without specialized vector instructions or being limited in use only with repeat or loop instructions. The use of RFI in a processor containing multiple heterogeneous execution units which operate in parallel, such as VLIW or iVLIW processors, allows for efficient pipelining of algorithms across multiple execution units while minimizing the number of VLIW instructions required.

    摘要翻译: 使用访问寄存器文件中的数据块的双重间接方法来允许有效的实现而不使用专门的向量处理硬件。 此外,寄存器寻址的自动修改不会与单个向量指令相关,也不会重复或循环指令。 相反,称为寄存器文件索引(RFI)的技术允许完全编程器灵活地控制块数据操作设施,并提供将非RFI指令与RFI指令混合的能力。 块数据操作设施嵌入在iVLIW ManArray架构中,允许其在整个指令集架构中被广泛使用,而不需要专门的向量指令,或仅在重复或循环指令时受限制。 在包含多个并行运行的异构执行单元(例如VLIW或iVLIW处理器)的处理器中使用RFI允许在多个执行单元之间有效地流水线算法,同时最小化所需的VLIW指令数量。

    Methods and apparatus for scalable instruction set architecture with dynamic compact instructions
    7.
    发明授权
    Methods and apparatus for scalable instruction set architecture with dynamic compact instructions 失效
    用于具有动态紧凑指令的可扩展指令集架构的方法和装置

    公开(公告)号:US06848041B2

    公开(公告)日:2005-01-25

    申请号:US10424961

    申请日:2003-04-28

    摘要: A hierarchical instruction set architecture (ISA) provides pluggable instruction set capability and support of array processors. The term pluggable is from the programmer's viewpoint and relates to groups of instructions that can easily be added to a processor architecture for code density and performance enhancements. One specific aspect addressed herein is the unique compacted instruction set which allows the programmer the ability to dynamically create a set of compacted instructions on a task by task basis for the primary purpose of improving control and parallel code density. These compacted instructions are parallelizable in that they are not specifically restricted to control code application but can be executed in the processing elements (PEs) in an array processor. The ManArray family of processors is designed for this dynamic compacted instruction set capability and also supports a scalable array of from one to N PEs. In addition, the ManArray ISA is defined as a hierarchy of ISAs which allows for future growth in instruction capability and supports the packing of multiple instructions within a hierarchy of instructions.

    摘要翻译: 分层指令集架构(ISA)提供可插拔指令集功能和阵列处理器的支持。 术语pluggable来自程序员的观点,并且涉及可以容易地添加到处理器架构中以用于代码密度和性能增强的指令组。 本文所述的一个具体方面是独特的压缩指令集,其允许程序员能够通过任务为任务动态地创建一组压缩指令,以提高控制和并行代码密度的主要目的。 这些压缩指令是可并行的,因为它们不特别地限于控制代码应用,而是可以在阵列处理器中的处理元件(PE)中执行。 ManArray系列处理器专为此动态压缩指令集功能而设计,并且还支持从一个到N个PE的可扩展阵列。 此外,ManArray ISA被定义为ISA的层次结构,其允许未来指令能力的增长并且支持在指令层次结构内的多个指令的打包。

    Methods and apparatus for instruction addressing in indirect VLIW processors

    公开(公告)号:US06581152B2

    公开(公告)日:2003-06-17

    申请号:US10073782

    申请日:2002-02-11

    IPC分类号: G06F1500

    摘要: An indirect VLIW (iVLIW) architecture is described which contains a minimum of two instruction memories. The first instruction memory (SIM) contains short-instruction-words (SIWs) of a fixed length. The second instruction memory (VIM), contains very-long-instruction-words (VLIWs) which allow execution of multiple instructions in parallel. Each SIW may be fetched and executed as an independent instruction by one of the available execution units. A special class of SIW is used to reference the VIM indirectly to either execute or load a specified VLIW instruction (called an “XV” instruction for “eXecute VLIW”, or LV for “Load VLIW”). In these cases, the SIW instruction specifies how the location of the VLIW is to be accessed. Other aspects of this approach relate to the application of data memory addressing techniques for execution or loading of VLIWs that parallel the addressing modes used for data memory accesses. These addressing techniques provide tremendous flexibility for VLIW instruction execution.

    Methods and apparatus for providing context switching between software tasks with reconfigurable control
    10.
    发明授权
    Methods and apparatus for providing context switching between software tasks with reconfigurable control 失效
    用于通过可重新配置的控制在软件任务之间提供上下文切换的方法和装置

    公开(公告)号:US06868490B1

    公开(公告)日:2005-03-15

    申请号:US09598558

    申请日:2000-06-21

    摘要: The ManArray core indirect VLIW processor consists of an array controller sequence processor (SP) merged with a processing element (PE0) closely coupling the SP with the PE array and providing the capability to share execution units between the SP and PE0. Consequently, in the merged SP/PE0 a single set of execution units are coupled with two independent register files. To make efficient use of the SP and PE resources, the ManArray architecture specifies a bit in the instruction format, the S/P-bit, to differentiate SP instructions from PE instructions. Multiple register contexts are obtained in the ManArray processor by controlling how the array S/P-bit in the ManArray instruction format is used in conjunction with a context switch bit (CSB) for the context selection of the PE register file or the SP register file. In arrays consisting of more than a single PE, the software controllable context switch mechanism is used to reconfigure the array to take advantage of the multiple context support the merged SP/PE provides. For example, a 1×1 can be configured as a 1×1 with context-0 and as a 1×0 with context-1, a 1×2 can be configured as a 1×2 with context-0 and as a 1×1 with context-1, and a 1×5 can be configured as a 1×5 with context-0 and as a 2×2 with context-1. Other array configurations are clearly possible using the present techniques. In the 1×5/2×2 case, the two contexts could be a 1×5 array (context-0) and a 2×2 array (context-1).

    摘要翻译: ManArray核心间接VLIW处理器由阵列控制器序列处理器(SP)组成,与处理元件(PE0)合并,该处理元件(PE0)将SP与PE阵列紧密耦合,并提供在SP和PE0之间共享执行单元的能力。 因此,在合并的SP / PE0中,单个执行单元集合与两个独立的寄存器文件耦合。 为了有效利用SP和PE资源,ManArray架构指定了指令格式(S / P位)中的一位,以区分SP指令和PE指令。 通过控制ManArray指令格式中的阵列S / P位如何与用于PE寄存器文件或SP寄存器文件的上下文选择的上下文切换位(CSB)结合使用,在ManArray处理器中获得多个寄存器上下文 。 在由多个单独的PE组成的阵列中,软件可控上下文切换机制用于重新配置阵列,以利用合并的SP / PE提供的多个上下文支持。 例如,1x1可以被配置为具有上下文0的1x1和具有上下文-1的1x0,1x2可以被配置为具有上下文-1的1x2和具有上下文-1的1x1,并且1x5可以被配置为具有上下文-1的1x2 配置为具有上下文0的1x5和具有上下文-1的2x2。 使用本技术可以清楚地看出其它阵列配置。 在1x5 / 2x2情况下,两个上下文可能是1x5阵列(上下文0)和2x2阵列(上下文-1)。