컴퓨터 구조

1. 튜링기계와 폰 노이만 구조

냥냥냥냥냥냥 2022. 5. 10. 23:36

안녕하세요 개발자 도도 입니다

개발자로 현업에서 재직하며 기본기가 중요하다는 걸 늘 느끼고 있습니다

물론 이런 지식이 없어도 '코딩'을 하는 데에는 아무 문제가 없겠지만 더 나은 개발자가 되기 위해

집에 굴러다니던 컴퓨터 구조 서적을 한 챕터씩 공부해서 정리해보고자 합니다 ㅎㅎ

혹시나 틀린 개념이 있거나 잘못된 설명이 있다면 댓글 남겨주시면 참고 수정 하도록 하겠습니다

저도 공부하는 입장이라 언제든지 틀릴 수 있거든요 ㅠㅠ

 

오늘은 그 첫 시간인 튜링기계와 폰노이만 구조에 대해서 알아보려고 합니다

 

 

 

우리가 컴퓨터라는 용어를 사용하기 전의 시대에는 컴퓨터는 단순히 계산기 역할이었습니다

 

 

1) 과거의 컴퓨터 형태

input -> 계산기 -> output 

 

 

이런 형태로 input(입력)을 넣었을 때 처리과정을 통해 output(출력)이 되는 거죠

 

 

 

 

그런데, 튜링(물론 튜링외에도 많이 있었겠지만)은 행동표에 따른 규칙에 따라

할 수 있는 일이 정해지는 기계를 제시합니다 

이 개념이 바로 튜링기계 입니다 

 

2) 튜링 기계

 

            프로그램

 

input  -> 컴퓨터   -> output

 

 

이 당시 프로그램이란 개념은 우리가 생각하는 개발 언어로 짜여진 소프트웨어 개념이 아니라 하드웨어 기반입니다

과거 컴퓨터

이런 식으로 말이죠 회로 설계 형태의 컴퓨터 였습니다

 

 

그런데 여기서 한 단계 더 나아갑니다

프로그램이 메모리 안으로 들어 가게 되는 거죠 이게 바로 폰 노이만 구조입니다

지금은 당연할 수 있지만, 저 당시에는 메모리 안에 프로그램을 넣는 다는 생각을 할 만큼 메모리가

발전하지도, 또 프로그램의 기술력이 향상되지도 못했습니다

 

 

3) 폰 노이만 구조

 

                   Central Processing Unit (CPU)

                          Control Unit

input ->           Arithmetic / Logic Unit          -> output

 

   

                           Memory

 

 

폰 노이만 구조는 이후 폰 노이만 병목현상 등 새 문제가 야기 되어 하버드 아키텍쳐라는 개념도 생기지만

이건 다음 포스팅에서 정리해보도록 하겠습니다

 

아무튼 결론을 짓자면

튜링 기계는 프로그램을 통해서 실행할 수 있는 컴퓨터라는 개념을 처음 정립을 하였고,

폰 노이만 구조는 오늘날의 컴퓨터 처럼 CPU, 메모리 등의 구성을 갖춘 컴퓨터라는 개념을 정립을 하였다라고 생각하면 될 것 같습니다