Just how small can a computer instruction set get? 32 instructions? 16?
Well in fact you can get away with just one instruction, subleq, or Subtract if Less Than or Equal To
subleq a,b,c
where the contents of address a are subtracted from the contents of address b, and if the result is not positive jump to address c.
http://en.wikipedia.org/wiki/One_instruction_set_computer
Interesting but not much use you might think. Well consider a computer doing encryption with a secret key. If each different instruction consumes a slightly different amount of power, then by accurately measuring tiny variations in power consumption you might get an idea of which instructions are being executed, and hence you might be able to determine the key. This is a very real problem and such methods are known as side-channel attacks. But if there only is one instruction such attacks are useless.
http://www.iacr.org/workshops/ches/ches2010/presentations/04-Invited_Talk_1/CHES2010-Naccache.pdf
In this talk by David Naccache (who we had over here in DCU giving a talk a few years ago), as you can read here (page 59) some-one has actually built it, and even produced a C compiler for it!
Well in fact you can get away with just one instruction, subleq, or Subtract if Less Than or Equal To
subleq a,b,c
where the contents of address a are subtracted from the contents of address b, and if the result is not positive jump to address c.
http://en.wikipedia.org/wiki/One_instruction_set_computer
Interesting but not much use you might think. Well consider a computer doing encryption with a secret key. If each different instruction consumes a slightly different amount of power, then by accurately measuring tiny variations in power consumption you might get an idea of which instructions are being executed, and hence you might be able to determine the key. This is a very real problem and such methods are known as side-channel attacks. But if there only is one instruction such attacks are useless.
http://www.iacr.org/workshops/ches/ches2010/presentations/04-Invited_Talk_1/CHES2010-Naccache.pdf
In this talk by David Naccache (who we had over here in DCU giving a talk a few years ago), as you can read here (page 59) some-one has actually built it, and even produced a C compiler for it!