topic난이도 · 약 15

튜링·폰노이만 — 계산기가 컴퓨터가 된 순간

튜링머신의 수학적 모델 + 폰노이만의 프로그램 내장식 구조 = 현대 컴퓨터의 설계도.

#튜링#폰노이만#프로그램 내장식#튜링완전
왜 배우는가

오늘 돌아가는 모든 CPU는 1945년 폰노이만이 그린 설계도의 직계 후손이다. AI가 '계산할 수 있는 것'과 '없는 것'의 경계를 이해하려면 튜링의 정의를 알아야 한다.

1936년 앨런 튜링이 "계산이란 무엇인가"를 수학적으로 정의했다. 무한한 테이프에 기호를 읽고 쓰며 상태를 바꾸는 가상 기계 — 튜링머신. 이것으로 할 수 있는 것이 곧 계산 가능한 것의 정의가 됐다. 현대의 모든 컴퓨터는 결국 '튜링머신과 동등'하다.

튜링머신 → 폰노이만 구조 — 명령어와 데이터가 같은 메모리에 저장되고 CPU가 꺼내 실행

1945년 폰노이만 보고서는 설계 원리를 제시했다. 핵심은 프로그램 내장식(stored-program) — 프로그램(명령어)도 데이터와 같은 메모리에 저장된다. 이전에는 새 프로그램마다 회로를 재배선했다. 폰노이만 구조 이후엔 메모리에 명령어만 올리면 같은 하드웨어로 무엇이든 할 수 있게 됐다.

구성 요소역할비유
CPU (제어 + ALU)명령어를 꺼내 해석·실행요리사
메모리명령어와 데이터 저장조리대
I/O키보드·모니터·디스크손님 주문·음식 배달
버스CPU↔메모리↔I/O 연결 통로주방 동선

"Code is data, data is code" — 이 한 줄이 폰노이만의 혁명. 덕분에 컴파일러(코드를 데이터로 다뤄서 다른 코드 생성), JIT, 자기수정 프로그램, LLM이 코드를 생성하는 것까지 전부 가능하다.

튜링 완전성(Turing-complete) — 어떤 시스템이 튜링머신이 할 수 있는 모든 계산을 할 수 있으면 '튜링 완전'. Python·C·JavaScript·스프레드시트·심지어 MS Excel 수식까지 튜링 완전. 반대로 HTML·JSON·SQL(재귀 CTE 없는 버전)은 아니다.

AI 시대의 경고 — 튜링의 정지 문제(Halting Problem)는 "임의 프로그램이 언제 멈출지 일반적으로 예측 불가"를 증명했다. LLM이 아무리 영리해도 이 수학적 경계는 깨지 못한다. 버그 없는 코드 생성 AI는 원리적으로 불가능하다는 근거.

실기 드릴 2문항
edit실기 드릴 · 단답형

명령어와 데이터를 같은 메모리에 저장해 범용 컴퓨터를 가능케 한 구조를 제안한 사람은?

check_circle실기 드릴 · OX

어떤 언어가 튜링 완전이라면 이론상 그 언어로 불가능한 계산은 없다.