컴퓨터는 범용 기계이며 메모미에서 명령어를 가져오고, 사용자는 메모리에 다른 명령어를 넣음으로써 컴퓨터가 수행하는 계산을 바꿀 수 있다. 명령어와 데이터는 맥락에 따라서만 구별할 수 있다.
즉, 어떤 이의 명령어는 다른이의 데이터이다.
최신 컴퓨터는 코어가 여러개, 프로세서 칩이 여러개, 여러개의 캐시가 있다. 캐싱은 컴퓨터에서 중요한 개념으로 대상에 더 빨리 접근하기 위해서 시간적, 공간적 지역성을 활용한다.
컴퓨터의 명령어 아키텍처를 정의하는데는 다양한 방식이 있지만, 속도, 전력, 명령어 복잡성 요인 간에 트레이드 오프가 관련되어있다. 하드웨어 설계자에게는 중요하지만, 컴퓨터 프로그램을 작성하는 사람들에게는 덜중요하고, 사용하는 이들에게는 전혀 중요하지 않다.
튜링은 컴퓨터의 종류와 상관없이 이 같은 구조의 컴퓨터라면 모두 같은 것을 계산할 수 있다는 의미에서 계산 능력이 같음을 증명했다. 이런 식으로 모든 컴퓨터는 다른 컴퓨터를 모방하여 작동하도록 프로그래밍될 수 있다.
튜링은 이런 식으로 증명했다
"다양한 컴퓨팅 처리를 하기 위해 새 기계를 여러 대 설계할 필요는 없다. 각 용도에 적합하게 프로그래밍된 하나의 디지털 컴퓨터로 모두 처리할 수 있다. "