컴퓨터과학이 여는 세계 6~9강 정리

sith-call.dev·2023년 6월 1일
0

지금까지 정리

컴퓨터의 원천 설계도는 튜링이 튜링 머신으로서 제시하였다.

그리고 튜링 머신 중에서도 입력된 튜링 머신을 따라할 수 있는 것을 유니버셜 튜링 머신이라고 하는데, 이 유니버셜 튜링 머신이 지금의 컴퓨터에 해당한다.

그러나 여기까지는 이론적으로 설계가 존재했을 뿐, 실물로서 이 설계를 구현할 기술은 다른 영역에서 비슷한 시기에 발전해왔다.

부울 논리는 부울이란 학자가 사람들의 사고방식이 세 가지 간단한 규칙의 조합이라 주장한 것이다.

그런데 이 부울 논리에서 제시한 AND, OR, NOT이란 사고방식의 규칙이 스위치 회로의 소자들과 대응된다는 것을 클로드 섀넌은 발견하게 된다. 그리고 이것이 발전하여 논리회로를 설계할 시에 부울 논리가 개입하게 된다.

즉,사람의 다양한 생각을 표현할 수 있는 힘이 있는 부울 논리를 사용하여 스위치 회로를 설계할 수 있게 된 것이다.

그리하여 유니버셜 튜링 머신의 개념과 논리 회로의 개념이 만나 실물로서 설계 가능한 컴퓨터의 설계도가 폰 노이만 구조로서 제시되었다. 이것은 AND, OR, NOT 게이트로 설계 가능한 컴퓨터이다.

이로서 하드웨어적인 컴퓨터의 구현은 완성된 것이다.

참고로 튜링 머신을 하드웨어로도 구현할 수 있다. 즉, 튜링 머신은 하드웨어, 소프트웨어로 모두 구현할 수 있다.

튜링 머신의 구성 요소 중에서, 상태 확인 및 쓰기 읽기 장치, 명령표는 CPU에 해당하고, 테이프는 메모리에 해당한다. 그래서 CPU + 메모리를 좁은 의미의 컴퓨터라고 한다. 이때 상태는 CPU의 레지스터(상태 레지스터)로도 구현되었다고 개인적으로 생각한다. 읽기 쓰기는 MAR, MBR로 구현되었다고 생각한다.

이제부터는 소프트웨어의 세계로 넘어가게 된다.

소프트웨어 세계의 주 무대는 메모리이다. 메모리 상에 수로서 표현 가능한 튜링 머신이 수로 변환되어 플립플롭이란 기계들 위에 저장이 된다. 그러면, 유니버셜 튜링 머신인 컴퓨터가 이를 읽고 그 튜링 머신을 따라하면서 문제를 해결해 나간다.

이때 소프트웨어를 구성하는 요소로 알고리즘이 나온다. 알고리즘의 주요 이슈는 비용이자 복잡도이다. 그런데 여기서 첨부하고 싶은 내용은 알고리즘은 데이터 구조와도 관련된 내용인 것이다.

profile
Try again, Fail again, Fail better

0개의 댓글