Patent ID: 8612726

Claim:
A multi-cycle programmable processor, comprising: a plurality of microprocessor functional units and datapaths interconnecting the microprocessor functional units to form a functional unit electronic circuit to perform instruction execution of a plurality of instruction types, wherein each said instruction has 16 bits comprising a first bit set of 8 bits specifying an instruction type and a second bit set of 8 bits specifying a data address, said microprocessor functional units comprising: an Instruction Register; a memory multiplexer; an accumulator multiplexer; an arithmetic logic unit (ALU); an address decoder; an accumulator; a memory; an instruction decoder; and a program counter interoperably connected in said functional unit electronic circuit to perform microprocessing functions; and a programmable controller having a control electronic circuit connected to the functional unit electronic circuit of the microprocessor functional units, the programmable controller selectively altering the datapaths based on a specific instruction type of the plurality of instruction types being executed by the microprocessor functional units, the selective altering of the datapaths limiting clock cycles per instruction (CPI) to a predetermined CPI, wherein said control electronic circuit comprises: a first bidirectional control connection interconnecting said control electronic circuit and an IR write port of said Instruction Register; an Instruction Register input connection interconnecting an output of said Instruction Register to an input of said control electronic circuit; a second bidirectional control connection interconnecting said control electronic circuit and a memory read input of said memory; an output control connection interconnecting said control electronic circuit and a memory write input of said memory; an ALU control connection interconnecting said control electronic circuit and an ALU_OP input of said ALU; a select ALU control connection interconnecting said control electronic circuit and a select ALU input of said ALU multiplexer; an instruction register decoder control connection interconnecting said control electronic circuit and instruction register data select inputs of said instruction register decoder; an address decoder control connection interconnecting said control electronic circuit and an enable input of said address decoder; a first program counter control connection interconnecting said control electronic circuit and an IncPC (increment program counter) input of said program counter; a second program counter control connection interconnecting said control electronic circuit and a program counter jump input of said program counter; a select memory control connection interconnecting said control electronic circuit and a select input of said memory multiplexer; and an accumulator control connection interconnecting said control electronic circuit and a AC_Write input of said accumulator.