Computer Science/컴퓨터 과학이 여는 세계

튜링기계를 컴퓨터 회로로

피터파스칼 2017. 4. 30. 23:39
 ':)'을 계속 쓰는 스마일 튜링기계가 있다고 하자.
그렇다면 다음과 같이 A와 B상태가 번갈아가면서 :) 을 계속 쓸 것이다.

(악필이다.. 그러려니 넘어가자)

 이 튜링기계를 전기회로 바꾸고 싶은데 우선 'A'나 '>' 같은 기호를 표현해주기 위해 이진수로 표현해 보도록 한다.

 그런다음 상태와 심볼, 움직임에 따른 각각의 이진수를 표로 나타낸 뒤 어떤 연관을 가지는 지 알아보자.


 튜링기계가 간단하기 때문에, 이진수 표도 간단하게 나타낼 수 있다.

이제 이 표를 가지고 회로도를 나타내는데 이번엔 회로도 자체보단 메모리와의 관계를 알아보도록 하자.

 먼저 긴 메모리와 작은 메모리에서 S, I0, I1을 받아온다. 그 후 위에 표와 같은 연산을 마치고

S', O0, O1, D0, D1을 다시 메모리에 쓴다. 이 과정이 한번의 연산이다.


 간혹, CPU성능에서 클럭수에 2.7GHz 나 3.5GHz 같은 문구를 본적이 있을 것이다.

[출처-다나와 용어사전]

 이는 1초에 몇번 연산하는지에 대한 정보를 나타낸 것인데, G는 기가라는 단위로 10^9을 이야기한다. 따라서 3GHz이라면 1초에 3십억번 연산을 하는 것이다.