알아두면 좋을 컴퓨터 작동원리. 폰 노이만 아키텍처
[작성 : 2021년 5월 19일]
애플 M1 칩 덕분에 아이맥 24형은 11.5mm 라는 얇은 두께 속에 디스플레이와 컴퓨터 본체를 모두 수납해냈습니다. 최신형 컴퓨터 기술에 놀랄 때가 많은데요. 이러한 기술에 대해 차근차근 다가갈 수 있는 기회를 마련해 보고자 합니다. 이번 포스팅에서는 컴퓨터 작동원리와 현대의 컴퓨터에 적용된 폰 노이만 아키텍처에 대해 알아보도록 하겠습니다.
글의 순서
컴퓨터 작동원리
컴퓨터 메인보드, 데이터버스, CPU
아키텍처(Architecture)
폰 노이만(Von Neumann) 아키텍처
폰 노이만(Von Neumann)
컴퓨터 작동원리
우리가 컴퓨터를 어떤 방법으로 사용하는지부터 살펴보면, 컴퓨터 작동원리를 유추해 볼 수 있습니다. 우리의 책상 앞에는 모니터, 키보드, 마우스가 있습니다. 모니터를 보면서 키보드나 마우스로 컴퓨터에게 작업을 지시합니다. 데이터와 명령을 입력하는 과정입니다. 입력 데이터는 기억장치인 메모리에 저장됩니다. 중앙처리장치는 명령을 처리할 때, 메모리로부터 명령문과 데이터를 불러들입니다. 중앙처리장치가 처리한 연산 결과는 다시 메모리에 저장됩니다. 이후 메모리에 있던 연산 결과가 모니터에 출력됩니다. 여기서, 연산 결과는 출력 데이터인 것입니다. 그렇다면, 이런 장치들이 어떤 방식으로 연결되어 있는지 알아보겠습니다.
컴퓨터 메인보드, 데이터버스, CPU
컴퓨터의 뚜껑을 열면, 큼직한 기판에 카드들이 꽂혀 있는 것을 발견하게 됩니다. 이 기판을 메인보드(Main Board)라고 합니다. 메인보드는 CPU, 메모리, 하드디스크와 같은 구성품들을 꽂을 수 있게 되어 있습니다. 각각의 자리에 꽂히면 이들은 메인보드를 통해 서로 연결됩니다. 메인보드는 인쇄회로기판(PCB, Printed Circuit Board)의 형태이며, 각 부품들이 서로 연결될 수 있게 전류가 흐르는 전선이 깔려있습니다. 마치 기판에 전선이 인쇄된 것처럼 보입니다.
이때 데이터를 각 장치로 전송할 수 있게 만들어놓은 규격화된 통로를 데이터 버스라고 합니다. 중앙처리장치(CPU, Central Processing Unit)에서 기억장치인 메모리나 입출력 기기에, 입출력 기기에서 CPU로 데이터를 보낼 수 있습니다.
아키텍처(Architecture)
아키텍처(Architecture)는 각 기능들이 어떻게 작동하는지를 정의합니다. 세상의 모든 물건들, 심지어 생명체도 고유한 아키텍처가 있습니다. 컴퓨터 아키텍처는 컴퓨터가 어떻게 작동하는지를 정해놓은 것입니다. 보통 가장 좋은 성능을 낼 수 있도록 각 구성요소들을 조합합니다. 컴퓨터 아키텍처를 컴퓨터 모델이라고도 부릅니다.
컴퓨터에 적용된 대표적인 아키텍처는 2가지인데, 각각 폰 노이만(Von Neumann) 아키텍처와 하버드(Havard) 아키텍처입니다. 폰 노이만 아키텍처는 기억장치인 메모리에 프로그램 명령과 데이터를 함께 기억시키는 방식인 반면, 하버드 아키텍처는프로그램 명령과 데이터를 위해 별도의 기억장치들이 각각 연결되어 있습니다. 이 중 오늘날 슈퍼컴퓨터와, 개인용 컴퓨터 등 거의 모든 컴퓨터의 기본이 된 아키텍처는 폰 노이만 아키텍처입니다.
폰 노이만 아키텍처
폰 노이만 아키텍처 (Von Neumann Architecture) 는 메모리에 프로그램과 데이터를 함께 넣어놓고, 차례로 불러내 처리하는 방식입니다. 입력 데이터는 기억장치인 메모리에 저장되고, 중앙처리장치는 명령을 처리할 때, 메모리로부터 명령문과 입력 데이터를 불러들입니다. 중앙처리장치가 처리한 연산 결과는 다시 메모리에 저장됩니다. 이후 메모리에 있던 연산 결과가 모니터에 출력됩니다.
이와 같이 폰 노이만 아키텍처에서 중앙처리장치가 데이터를 처리하는 방식은 데이터를 메모리에서 가져오고, 처리 후 다시 메모리로 보내는 방식입니다. 이때 메모리에 올라온 명령문을 하나씩 차례로 처리합니다. 데이터 저장을 위한 메모리와 프로그램 실행을 위한 메모리가 공통으로 사용되고 있고, 명령문을 하나씩 순차적으로 처리한다는 것이 폰 노이만 아키텍처의 특징입니다.
폰 노이만(Von Neumann)
이왕 여기까지 온 김에 폰 노이만이라는 인물에 대해 잠시 생각해보는 기회를 가질까 합니다. 수학자이자, 최초의 컴퓨터 과학자 중 한명이기도 한 폰 노이만은 수학 뿐만아니라 양자역학과 게임 이론 등 다양한 학문분야에서 업적을 남긴 천재입니다. 컴퓨터 과학 분야에서는 순서도와 서브루틴, 몬테카를로법을 처음으로 사용한 사람입니다. 1942년 8월에 ‘맨해튼계획’에 참여하였고, 컴퓨터 아키텍처를 제안하였습니다. 1949년 마침내 에드삭(EDSAC; Electronic Delay Storage Automatic Computer)이라는 새로운 개념의 컴퓨터를 만들었습니다, 폰 노이만으로부터 시작된 디지털 컴퓨터는 인터넷을 통해 정보화 혁명을 완성해가고 있습니다.
그런데, 폰 노이만은 그가 제시한 폰 노이만 아키텍처의 한계를 알고 있었으며, 그 한계를 극복하기 위한 다른 아키텍처에 대해서도 고민하고 있었습니다. 폰 노이만이 고민한 것은 바로 디지털 컴퓨터가 아니라 뇌를 닮은 아날로그 컴퓨터에 대한 아이디어입니다. 구지 분류해보자면 우리의 뇌는 아날로그 컴퓨터입니다. 우리가 실제로 우리 주변의 일들을 처리해나가는 과정으로부터 디지털 컴퓨터에 적용해야 할 것들을 고민했었습니다.
인터넷이 정보화 혁명을 완성해가고 있는 것과는 대조적으로, 우리 뇌의 학습과 일 처리 메커니즘을 컴퓨터에 적용하고자 하는 노력은 한참 진행되고 있는 분야입니다. 머신러닝, 딥러닝이라고 하는 분야가 바로 뇌를 닮은 컴퓨터를 구현하는 방법 중 하나입니다. 현재 활발히 연구가 진행되고 있는 분야인 만큼 커피 마시며 살펴볼 중요한 아이템 중 하나입니다. 관련되는 내용들을 지속적으로 다뤄보도록 하겠습니다.
마치며 …
이 글에서는 최신 컴퓨터 기술을 이해하기 위해 알아두면 유용한 컴퓨터 작동원리를 살펴보았습니다. 현재의 컴퓨터 작동원리는 폰 노이만 아키텍처를 기반으로 합니다.
컴퓨터의 뚜껑을 열면, 메인보드(Main Board)에 CPU, 메모리, 하드디스크와 같은 구성품들이 꽂혀 있는 것을 발견할 수 있습니다. 메인보드는 중앙처리장치(CPU), 기억장치인 메모리, 입출력 기기들을 데이터 버스를 통해 연결시키는 역할을 합니다. 이렇게 연결된 장치들을 통해서 데이터를 처리하게 되는데, 현재 사용되고 있는 거의 모든 컴퓨터 들은 폰 노이만 아키텍처를 기반으로 하고 있습니다.
폰 노이만 아키텍처는 데이터 저장을 위한 메모리와 프로그램 실행을 위한 메모리를 공통으로 사용하며, 명령문을 하나씩 순차적으로 처리한다는 것이 특징입니다. 폰 노이만 아키텍처 기반의 디지털 컴퓨터로부터 시작된 정보화 혁명은 인터넷을 통해 완성되고 있습니다. 폰 노이만이 우리 뇌의 학습과 일 처리 방식을 컴퓨터에 적용하고자 했던 노력이 머신러닝이라는 형태로 구현되고 있는데, 이 부분에 대해서는 관심을 가지고 다뤄보도록 하겠습니다.
연관 포스팅 :
1. 애플 M1 칩, 그리고 컴퓨터 기본 구조
참고자료
[1] Architecture of Computer | What is Von Neumann Architecture
[2] [위키백과] 폰 노이만 구조(Von Neumann architecture)
[3] [위키백과] 프로그램 내장식 컴퓨터
[4] [네이버 지식백과] 노이만형 컴퓨터 [Neumann type computer, -形-] (전자용어사전, 1995. 3. 1., 월간전자기술 편집위원회)
[5] [네이버 지식백과] 폰노이만 컴퓨터 (시사상식사전, pmg 지식엔진연구소)
[6] 장병탁(2017), 폰 노이만, 정보화 시대
[7] [네이버 지식백과] 존 폰 노이만 [Johann Ludwig von Neumann] (두산백과)