Microprogramming was invented by M. V. Wilkes of Cambridge University in 1951. It was a means of simplifying the control circuits of a computing system. The first machine to use the technique was the EDSAC 2 which went into service in early 1958.
In a microprogrammed computer the instructions used by the programmer are implemented by executing a sequence of primitive instructions stored in a read-only control memory. For example, a multiply instruction might be implemented using a sequence of simple shift and add instructions. The process is invisible to the user.
The microprogramming principle went commercially mainstream in 1964 when it was adopted for the IBM System/360 family of computers. The technique enabled this series of computers to have a common instruction set despite widely differing costs and speeds. Each machine in the range had an economic balance of instructions executed by microprogram (which was inexpensive but slow) and by hardware (which was faster and but more expensive). Microprogramming remains a fundamental technique of computer design.
An audio recording of an interview with Maurice Wilkes, done by Thomas Lean in 2010, is available through the British Library here. A transcript of the interview is also available from the same site (scroll down to the bottom of the page).
Maurice Wilkes (in white) and Bill Renwick standing in front of EDSAC.
Copyright Cambridge University Computer Lab, used with permission (pending)
Maurice Wilkes examining some of the mercury delay line memory tubes used in EDSAC.