폰 노이만 구조 이전의 방식
가장 처음에 나온 컴퓨터는 프로그래밍을 물리적으로 진행하였다. 진공관의 회로 스위치 등을 조정하는 등의 방식으로 말이다. 이는 굉장히 불편하고 비효율적이였기에 새로운 컴퓨터 구조를
폰 노이만 구조
폰 노이만 구조는 기본적으로 컴퓨터가 모든 작업을 수행가능하게 만든 다음 소프트웨어만을 바꾸는 방식으로 이루어진다. 쉽게 말하면 프로그래밍을 하고 이를 메모리에 넣은 다음 cpu가 연산하게 만든다. 글로 설명하면 되게 어려울 것이다. 아래의 그림과 함께 보자.

위의 그림은 폰 노이만 구조를 간략하게 만든 것이다. 사실 캐시 메모리라던가 보조 기억장치(ssd,hdd)등이 더 있지만 일단 여기서는 배제하고 간단하게 보자면 입출력 장치, CPU, Memory 세개로 볼 수 있다. 만약 크롬이라는 프로그램을 실행시키고자 한다면 다음과 같이 나타낼 수 있을 것이다.
1. 마우스라는 입력장치로 컴퓨터에 입력한다.
2. 메모리에 크롬이라는 컴퓨터에 내장된 프로그램이 올라간다.
3. 크롬이 메모리에 올라가면 프로그램에 명령어들을 CPU가 순차적으로 처리한다.
4. 모니터라는 출력장치에 크롬화면이 뜬다.
폰 노이만 병목현상
위에는 장점만을 서술하였지만 폰 노이만 구조에는 고질적인 문제가 존재하고 아직 이를 완벽히 해결하지도 못하였다. 바로 병목현상이다. 이는 각 저장장치와 연산장치간의 속도차로 인해서 발생하게 된다. 예를 들면 CPU의 처리속도는 굉장히 빠른데 메모리의 속도는 그에 비해 너무 느리다. 메모리의 속도로 CPU에게 넘겨줄 수 있는 정보는 한계가 있는데 CPU는 그걸 다 처리하고 연산할거 더 줘라고 하는 것이다. CPU 속도의 한계에 다다르기 이전에 메모리 속도의 한계로 인해 컴퓨터의 전체적인 성능이 메모리에 종속되어 버린다.
이를 해결하기 위하여 캐시 메모리를 도입하고 모든 기억장치와 연산장치의 속도를 올렸지만 아직 완화하는 수준이고 근본적으로 해결하지는 못하였다. 컴퓨터의 구조를 바꾼 하버드 구조라는 것이 제창되었지만 실제로 사용하고 있는지 여부조차 알 수 없었다.
'해킹 > 포너블' 카테고리의 다른 글
| 스택 프레임(1) (0) | 2023.10.25 |
|---|---|
| x86, x64 레지스터 (0) | 2023.09.13 |