摘要:
A processor is described including a plurality of data path elements which independently perform in parallel different data processing operations. Program instructions are provided which are decoded to generate control signals for controlling the data path elements. Multiple instruction sets are supported with the same data processing operation to be performed by the same data path element being differently encoded within different instructions of different instruction sets. This enables code compaction when little parallelism may be achieved and full parallelism to be specified when this is possible.
摘要:
A processor is described including a plurality of data path elements 2, 4, 6, 8 which independently perform in parallel different data processing operations. Program instructions are provided which are decoded to generate control signals for controlling the data path elements. Multiple instruction sets are supported with the same data processing operation to be performed by the same data path element being differently encoded within different instructions of different instruction sets. This enables code compaction when little parallelism may be achieved and full parallelism to be specified when this is possible.
摘要:
A system and method for compiling a computer program, and software for performing such compilation, are provided, the compilation process determining where to store the computer program in memory for subsequent retrieval by a data processing apparatus that is to execute the computer program. The method can be used to compile a computer program for execution on the data processing apparatus having memory comprising a plurality of memory sections, each memory section having a record associated therewith identifying one or more access properties associated with that memory section. The method comprises the steps of: a) performing a compilation in order to generate an initial mapping of each code portion of the program in the memory; b) evaluating a cost function to generate a cost value associated with the initial mapping; c) if the cost value does not satisfy a threshold cost value, re-performing the compilation having regard to the record of each memory section in order to generate a modified mapping; d) re-evaluating the cost function to generate a revised cost value associated with the modified mapping; e) iteratively repeating steps (c) and (d) until a predetermined condition is met; and f) outputting the mapping whose associated cost value most closely satisfied the threshold cost value. Such an approach enables a reduction in the power consumption resulting from memory accesses, whilst also reducing local memory requirements. Further, it reduces the risk that the total size and complexity of the computer program will be strongly constrained by the given local program memory size without the need to resort to more expensive techniques such as caches and/or modular programming techniques.
摘要:
A method of generating at least one instruction set from a plurality of program instructions, said plurality of program instructions comprising a plurality of instruction fields each of said instruction fields operable on decoding to generate control signals for transmission by individual command buses, said method comprising the steps of: determining which combination of command buses each instruction is operable to communicate control signals to and forming a cluster of instructions from instructions that communicate control signals to a same combination of command buses; developing at least one instruction set for at least some of said instruction clusters, said at least one instruction set having fewer bits than said program instruction; specifying a number of identification bits within said at least one instruction set operable to identify said instruction set; determining a number of bits required for each instruction field within said at least one instruction set to specify all possible control signals that can be sent by said at least one instruction set along a respective one of said command buses and reallocating any bits that are allocated to said instruction field that are in excess of said determined required number to said identification bits, such that an increased number of different instruction sets can be identified by said identification bits.