SPRUIY2 November 2024 F29H850TU , F29H859TU-Q1
The C29x CPU has a variable size instruction set. The supported instruction sizes are 16-bit, 32-bit, and 48-bit. The VLIW architecture of the CPU allows multiple instructions to be issued in a single cycle. The number of instructions that are executed in parallel is decided at build time and all the parallel instructions are packed into a single instruction packet. This section explains the formation and structure of the instruction packets. The maximum allowed instruction packet size is 128-bits. Hence, any combination of 16-bit, 32-bit, and 48-bit instructions can form an instruction packet as long as the maximum packet size is not exceeded.
The following is a non-exhaustive list of examples of valid instruction combinations within an instruction packet:
Table 2-7 shows the structure of the three possible instruction sizes.
Instruction Size | Word 0 (low address) | Word 1 (next address) | Word 2 (next address) | |||
---|---|---|---|---|---|---|
15 | 14 | 13 | 12:0 | 31:16 | 47:32 | |
16 | I_Link | 1 | opcode | |||
32 | I_Link | 0 | 1 | opcode | 16-bit parameters | |
48 | I_Link | 0 | 0 | opcode | Low 16 bits of 32-bit parameters | High 16 bits of 32-bit parameters |