레지스터와 캐시메모리...기억장치 이해하기

정보통신 기술/컴퓨터 기술정보

레지스터와 캐시메모리...기억장치 이해하기

리챠드후앙 2021. 1. 7. 21:43
반응형

컴퓨터에는 다양한 기억장치가 있는데요,

기억장치란 보통 메모리를 의미합니다.

메모리의 종류를 간단히 살펴보면, 보통

레지스터, 캐시, RAM 있습니다.

메모리 계층 구조

레지스터는 제일 빠른 메모리로,

CPU 계산과정의 일부로 작동합니다.

 

캐시메모리는 레니스터 다음으로 빠른 메모리로

L1, L2, L3 캐시 여러 단계로 나뉘어지는데,

숫자가 작을수록 용량이 작고 빠르며,

숫자가 클수록 용량이 크고 느립니다.

 

RAM 매우 빠르기는 하나,

레지스터, 캐시 보다는 빠르지는 않습니다.

그러나, 보조기억장치 보다는 훨씬 빠르답니다.

 

RAM 대한 상세한 내용은 지난 포스팅을 참고하세요.

 

컴퓨터 주기억장치 & 보조기억장치 란...무엇인가

컴퓨터에 있어 기억장치는 필요한 정보를 보관하고, 저장하는 매우 중요한 장치 중 하나 입니다. CPU의 저장장치 레지스터가 있고, CPU의 명령이나, 자료를 일시적으로 저장하는 캐시가 있습니다.

mindstation.tistory.com

지금부터는 CPU 바로 안에 있는 고속 저장공간이라 부르는

레지스터 CPU 메인 메모리 사이에 위치한 저장공간

캐시메모리 대하여 알아보도록 하겠습니다.

 

저장공간들은 CPU 프로세스를 실행하기 위해서는

사용해야 하는 기억장치들입니다.

반응형

먼저, 레지스터란 CPU 바로 안에 자리하고 있기 때문에

일반 메모리보다 훨씬 빠른 속도로

접근 있는 고속의 기억장치입니다.

 

데이터와 명령어를 저장하는 역할을 합니다.

CPU 작동을 제어하기 위해 사용하고,

프로그램 실행 제어 특권 모드의 운영체제 루틴에 의해 사용됩니다.

 

종류에는 사용자가 프로그램에 의해 변경할 있는 가시 레지스터와

사용자가 임의로 변경 없는 불가시 레지스터로 구분됩니다.

 

[사용자 가시 레지스터] 에는

 

데이터 레지스터(DR) :

CPU가 명령어 처리하는데 필요한 일반 데이터를

임시로 저장하는 범용 레지스터입니다

 

주소 레지스터(AR) :

데이터 또는 명령어가 저장된 메모리의 주소를 저장합니다.

그리고, [사용자 불가시 레지스터]에는 

 

프로그램 카운터(PC) : 다음에 실행할 명령어의

위치 정보(코드의 행번호,메모리주소)를 저장합니다.

 

명령어 레지스터(IR) :

현재 실행 중인 명령어를 저장합니다.

 

메모리 주소 레지스터(MAR) :

메모리 관리자가 접근해야 할 메모리의 주소를 저장합니다.

 

메모리 버퍼 레지스터(MBR) :

메모리 관리자가 메모리에서 가져온 데이터를 임시로 저장합니다.

 

프로그램 상태 레지스터(PSR) : 

연산 결과를 저장합니다.


캐시메모리 CPU 메인메모리(RAM) 사이에 위치한 고속 기억장치로

CPU 메인 메모리의 특정 주소에 접근할

주변까지 캐시메모리로 읽어내서 접근 속도를 높이는 목적입니다.

동작과정 보면

 

1. CPU 메인 메모리에 있는 데이터를 읽어야 캐시메모리를 검색

2. 캐시메모리에 데이터가 있으면 바로 전달

3. 데이터가 없다면 메인 메모리에서 블록 단위로 가져와 확인

4. CPU에는 워드 단위로 전송

저장장치 계층 구조

성능 향상 으로 SSD 같은 플래시 메모리나,

메모리를 하드디스크만큼 확장하거나,

캐시를 크게 늘려 캐시 적중률을 높이는것은 성능은 높아지겠으나

비용적인 측면이나 물리적인 한계가 있습니다.

 

그래서 가격과 성능의 타협점으로 계층 구조가 있습니다.

 

속도가 빠르고 비싼 저장 장치는 CPU 가깝게 배치하고

속도가 느리고 저장 장치는CPU 멀게 배치하여

적당한 가격으로 빠른 속도와 큰 용량을 얻을 수 있도록 해줍니다.

 

계층 구조는 데이터의 일관성을 유지하는것이 중요합니다.

 

이상과 같이 주기억장치와 달리 CPU 명령어를 저장하는

레지스터와 캐시메모리에 대해서 알아보았습니다.

반응형