It was Turing that first observed that general purpose computers are possible, by showing a universal Turing machine that can simulate the execution of every other TM M given M's description as input. Of course, since we are so used to having a universal computer on our desktops or even in our pockets, today we take this notion for granted. But it is good to remember why it was once counterintuitive. The parameters of the universal TM are fixed -alphabet size, number of states, and number of tapes. The corresponding parameters for the machine being simulated could be much larger.

 

 

from Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak(p23)