according to a compression code previously stored in the compression buffer 100 the program memory 30 may be outside the processor 10 such as for example a main memory unit or a cache outside the processor the program memory 30 also may be in the processor 10 such as for example an instruction cache in the processor not shown the compression buffer 100 inside the processor 10 also may be provided to an instruction buffer or the compression buffer 100 may be integrated with the instruction buffer however in the example shown in fig1 since the compression information and instructions are not related each other the compression buffer 100 is provided separately the compression code read out from the program memory 30 is buffered by the compression buffer 100 and is provided to the instruction decompression unit 500 the instruction decompression unit 500 uses a compression code stored in the compression buffer 100 from a previous clock cycle to decompress an instruction fetched from the program memory 30 the compression code of the program memory 30 does not include the compression information of an instruction currently being executed rather it includes the compression information of an instruction to be executed at a later time fig2 shows examples of instructions and compression codes that may be stored in a memory in fig2 characters u201c a u201d u201c b u201d u201c c u201d and so on represent instructions and subscripts represent compression codes to be stored corresponding to the instructions among the instructions n denotes u201c no operation u201d nop in this example the number of instructions to be executed in parallel at a time is three and an instruction bundle is composed of three instructions also instructions are fetched from the memory.