[01-b] 컴퓨터의 구성 요소 - 제어장치의 추가
연산장치(ALU)에서 계산에 필요한 데이터를 메모리에서 가져오고,
계산한 결과를 다시 메모리에 저장하는 등의 일을
사람대신 컴퓨터가 해 주도록 만든 장치가 제어장치(Control Unit, CU)이다.
제어장치(CU)는 ALU, 메모리, I/O에 제어신호를 보내어 이들 작업을 통제한다.
제어장치는 비유적으로 말하자면, 교통의 흐름을 제어하는 교통신호등과 같다고 할 수 있고,
오케스트라의 지휘자와 비슷하다고 할 수 있다.
아래 그림에서 제어장치는 다른 모든 부분을 통제하고 있음을 볼 수 있다.
하나의 작업에는 하나 이상의 명령어들이 필요한 경우가 보통이다.
이러한 명령어들의 집합을 '(컴퓨터) 프로그램(program)'이라 한다.
예를 들면, 학생들의 성적 평균을 계산하려면 데이터를 읽어오는 명령어,
읽어 온 값을 누적하는 명령어, 누계를 학생수로 나누는 명령어,
그리고 마지막으로 결과를 출력하는 명령어가 필요하다.
이와 같이 일반적으로 하나의 프로그램은 다수의 명령어로 구성된다.
이러한 명령어가 각각 필요한 시점에 필요한 데이터를 가져와서 명령을 수행하게 된다.
데이터와 마찬가지로 명령어도 메모리 안에 저장해 두고
하나씩 자동으로 실행되도록 한다면
사람의 개입 없이 효율적인 프로그램의 실행이 가능하게 된다.
이를 위해 프로그램 안에 있는 명령어를 순서에 맞게 실행할 수 있도록
지휘 (또는 통제, 또는 제어) 해 주는 기능이 필요하다.
이와 같이 명령어의 실행을 제어하는 장치를 제어장치라 한다.
따라서 제어장치는 프로그램과 데이터를 메모리에 저장하여두고,
순서에 맞게 메모리에서 명령어와 필요한 데이터를 ALU에 공급하여 계산하도록 제어하고,
ALU의 계산 결과를 메모리에 저장 또는 출력하도록 제어하는 역할을 한다.
이 과정에서 프로그램의 시작에서 끝까지 사람의 개입이 필요 없으므로
초기 컴퓨터의 단점이었던 사람의 개입을 차단할 수 있기 때문에 획기적인 효율성을 얻게 되었다.
이러한 제어장치를 통한 프로그램 실행의 자동화를
'프로그램 내장 방식(stored program)'이라 한다.
이것이 바로 현대식 컴퓨터가 프로그램을 실행하는 원리이다.
1950년대에 개발된 이 구조가 오늘날의 최신 컴퓨터에 이르기까지
컴퓨터의 기본 골격이 되어 왔다.
초창기의 가솔린 엔진을 장착한 자동차와 현재의 가솔린 엔진 자동차는
모양과 성능이 아주 다르지만 동력을 얻는 엔진의 원리는 같은 것과 동일한 이치이다.
프로그램 내장방식은 폰 노이만(Von Neumann)이라는 컴퓨터 과학자가 고안하였고
직접 이 원리로 컴퓨터를 개발한 것이 1952년의 IAS 컴퓨터이다.
John von Neumann (1903-1957)
[Wikipedia]
【연습문제 3】
⑴ 제어장치가 하는 일은 무엇인가?
⑵ 프로그램 내장방식(stored-program)이 무엇인지 간략히 설명하시오.
⑶ '존 폰 노이만'이 컴퓨터 분야에서 이룩한 대표적인 업적은 무엇인가?
//