임베디드

[시스템] 폰노이만 구조와 캐시메모리

히똔 2022. 4. 16. 16:38
728x90
반응형

폰노이만 구조 / 폰노이만 아키텍처 / CPU 와 메모리 / 메모리 / 캐시메모리 / DRAM vs SRAM / 메인메모리와 캐시메모리 차이점 / 컴퓨터구조 / 시스템구조

컴퓨터 구조가 어떻게 되어있는지 알아보자. 컴퓨터 공학도라면 폰노이만 구조를 정확히 알고 있어야한다. 이를 기본으로 캐시메모리까지 배워보자.

 

CPU

CPU 는 0과 1로 구성된 명령어를 하나씩 수행하는 장치이다.
여기에는 명령어를 저장할 넉넉한 공간이 없기 때문에 하드디스크에 CPU가 동작할 명령어를 저장해두어야한다.

CPU와 하드디스크

CPU에 명령어가 하나씩 전달되고, 이에 따라 명령어를 수행한다.

하지만 CPU와 하드디스크만 두고 컴퓨터를 만든다면 CPU 효율이 너무 떨어진다는 문제점이 있다.
CPU는 엄청 빠른데, 하드디스크는 너무 느리다.
하드디스크는 모터의 성능으로 속도가 결정되기 때문에 데이터를 처리하는데 아무리 열심히 해도 느리다.
CPU에게 명령어가 전달되기 전 까지는 CPU가 할일이 없어서 쉬고있을 것이다.

CPU가 이런 쉬는 시간을 줄이기 위해 폰노이만은 메모리를 이용하여 해결하고자 하는 아이디어를 냈다.

 

폰노이만 구조

폰노이만은 인류 역사상 천재 중 한명으로, 1941년 프로그램 내장방식을 통해 메모리가 필요하다고 주장했다.

메모리는 빠르고 저장하는 기능이 있지만, 전원을 끄면 모두 소멸된다.
이런 장점을 이용하여 CPU와 하드디스크 사이에 메모리를 두어 CPU에게 명령어를 대신 전달해주는 역할을 한다.

폰노이만 구조

하드디스크에 저장된 0과 1 명령어가 메모리에 한꺼번에 복사가 되는데, 이 작업을 적재(Load) 라고 한다. 이때 프로그램 전체를 모두 불러와야하기 때문에 시간이 꽤 걸린다. 그래서 흔히 로딩중이라고 부르는 말이 이런 뜻이다.

이렇게 구성하면 디스크 대신 메모리가 CPU에게 명령어를 전달하기 때문에 이전 방법에 비해서는 훨씬 빠르다.
하지만, 메모리가 디스크보단 빠르지만 여전히 CPU보단 느리다.

 

캐시메모리

이전 같은 경우에는 메모리가 명령어를 전달하는 동안 속도가 더 빠른 CPU는 아무것도 할일 없이 놀고 있는 상태가 될 수 있다.

이를 해결하기 위해 기본적인 폰노이만 구조에서 캐시메모리를 이용하여 더 속도를 올릴 수 있다.
CPU 안에 메인메모리보다 더 빠른 메모리인 캐시메모리를 내장하면 된다.

메인메모리는 DRAM이고 캐시메모리는 SRAM이다.
둘다 휘발성이지만 DRAM은 값이 더 싼 대신 느리고, SRAM은 비싼 대신 빠르다.
그래서 DRAM을 메인메모리로 이용하여 단가를 낮추고, SRAM을 작게 만들어 CPU에 부착하여 성능을 높이는 것이다.

메인메모리에서 캐시메모리로 여러줄의 명령어를 한꺼번에 전달한다.
전달받으면 SRAM은 CPU에게 한줄씩 명령어를 전달한다.
캐시메모리에 저장된 명령어를 다 수행했을 경우 다음 명령어 덩어리를 메인메모리에게서 전달받는다.

캐시메모리의 Hit / Miss 전략을 통해 효율성을 높이는 방법도 존재한다.
Hit은 다음 수행할 명령어가 캐시에 이미 있는 경우이고, Miss는 없는 경우인데,
Hit 비율을 높여야만 더 빠르게 작업이 이루어지기 때문이 Hit / Miss 전략이 성능의 중요한 포인트가 될 수 있다. 

 

 

[C언어] Byte / Bit 단위 데이터 파싱

바이트 단위 데이터 파싱과 비트 단위 데이터 파싱에 대해 알아보겠다. 임베디드 개발자는 비트 / 바이트 단위 데이터 파싱에 대해 매우 잘 알고 있어야한다. 하드디스크 데이터시트를 보고 비

asdfmelody.tistory.com

 

728x90
반응형