1. A method of optimizing the instruction set of a digital processor, comprising: (i) providing a program having a plurality of different instruction types; (ii) determining the frequency of each of said instruction types from a base instruction set; (iii) determining the number and type of instructions necessary for correct instruction set execution based at least in part on said act of determining the frequency; and (iv) creating a compressed instruction set encoding to generate a compressed instruction set based at least in part on said act of determining.