관리 메뉴

나만을 위한 블로그

[혼공컴운] 6. 메모리와 캐시 메모리 본문

책/혼자 공부하는 컴퓨터 구조 + 운영체제

[혼공컴운] 6. 메모리와 캐시 메모리

참깨빵위에참깨빵 2023. 11. 18. 14:29
728x90
반응형
RAM의 특징, 종류

 

RAM의 특징

 

실행할 프로그램의 명령어, 데이터가 저장됨. 전원을 끄면 RAM에 저장된 것들이 모두 날아감

전원을 끄면 저장된 내용이 사라지는 저장장치 : 휘발성 저장 장치

전원이 꺼져도 저장된 내용이 유지되는 저장장치 : 비휘발성 저장 장치 (HDD, SSD, CD-ROM, USB 등)

 

보조기억장치는 전원을 꺼도 내용을 유지하지만 CPU는 보조기억장치에 직접 접근할 수 없음

그래서 일반적으로 비휘발성 저장 장치에는 보관할 대상을 저장하고, 휘발성 저장장치에는 실행할 대상을 저장함

CPU는 실행하려는 프로그램이 보조기억장치에 있다면 RAM으로 복사해서 저장한 뒤 실행

 

RAM의 용량, 성능

 

RAM 용량이 적으면 보조기억장치에서 실행할 프로그램을 가져오는 일이 잦아 실행 시간이 길어진다

RAM 용량이 크면 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할 수 있어 많은 프로그램을 동시에 빠르게 실행할 수 있음

용량이 필요 이상으로 커져도 속도는 그에 비례해 증가하지 않음

 

RAM의 종류

 

- DRAM : Dynamic RAM의 준말. 시간이 지나면 저장된 데이터가 점차 사라짐. 그래서 데이터 소멸을 막기 위해 일정 주기로 데이터를 재활성화(다시 저장)해야 함. 소비 전력이 낮고 저렴하고 집적도가 높아서 대용량 설계가 용이한 장점 때문에 일반적으로 많이 사용

 

- SRAM : Static RAM의 준말. 시간이 지나도 저장된 데이터가 변하지 않는 RAM. 주기적으로 데이터를 재활성화할 필요 없음. DRAM보다 속도가 더 빠름. 그러나 소비 전력이 크고 비싸고 집적도가 낮음. 그래서 대용량일 필요는 없지만 빨라야 하는 저장 장치인 캐시 메모리에서 사용됨

 

- SDRAM : SRAM과 상관없는, 클럭 신호와 동기화되어 발전된 형태의 DRAM. 클럭에 맞춰 동작하면서 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM

 

- DDR SDRAM : 최근 가장 흔하게 쓰이는 RAM. 대역폭을 넓혀 속도를 빠르게 만든 DRAM. 한 클럭 당 하나씩 데이터를 주고받을 수 있는 SDRAM을 SDR SDRAM이라고 함. DDR2 SDRAM은 DDR SDRAM보다 대역폭이 2배 넓음. DDR3 SDRAM은 DDR2 SDRAM보다 대역폭이 2배 넓고 SDR SDRAM보다 8배 넓음

 

메모리의 주소 공간

 

물리 주소 : 메모리 하드웨어가 쓰는 주소

논리 주소 : CPU, 실행 중인 프로그램이 쓰는 주소

논리 주소 <-> 물리 주소 변환은 CPU, 주소 버스 사이의 메모리 관리 장치(MMU)라는 하드웨어에서 수행. MMU는 CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더해 논리 주소를 물리 주소로 변환함

베이스 레지스터 : 프로그램의 가장 작은 물리주소(첫 물리 주소)를 저장하고, 논리 주소는 프로그램의 시작점으로부터 떨어진 거리

 

메모리 보호 기법

 

한계 레지스터 : 다른 프로그램 영역을 침범할 수 있는 명령어는 위엄하기 때문에 논리 주소 범위를 벗어나는 명령어 실행을 방지하고, 실행 중인 프로그램이 다른 프로그램에 영향 받지 않게 보호하는 레지스터. 논리 주소의 최대 크기를 저장한다.

 

캐시 메모리

 

저장 장치 계층 구조

 

컴퓨터가 쓰는 저장 장치들은 CPU에 얼마나 가까운지를 기준으로 계층적으로 나눌 수 있다. 이를 저장 장치 계층 구조라고 함

 

캐시 메모리

 

CPU, 메모리 사이에 위치하고 레지스터보다 용량이 크며 메모리보다 빠른 SRAM 기반 저장 장치

CPU의 연산 속도와 메모리 접근 속도 차이를 조금이라도 줄이기 위해 탄생. CPU가 매번 메모리를 왔다갔다하는 건 시간이 오래 걸려서 메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가져와 활용하자는 것

 

CPU(코어)와 가까운 순으로 계층을 구성. CPU와 가장 가까운 캐시 메모리를 L1 캐시, 그 다음으로 가까운 캐시 메모리를 L2 캐시, 그 다음은 L3 캐시다. 일반적으로 L1, L2 캐시는 CPU 안에 있고 L3 캐시는 CPU 밖에 있다.

 

캐시 메모리 용량은 L1, L2, L3 순으로 커지며 속도는 L3, L2, L1 순으로 빨라진다. 가격은 L3, L2, L1 순으로 비싸진다

 

참조 지역성 원리

 

캐시 히트 : 자주 쓰일 것으로 예측한 데이터가 실제로 들어맞아 캐시 메모리 안의 데이터가 CPU에서 활용되는 경우. 캐시가 히트되는 비율을 캐시 적중률이라고 한다

캐시 미스 : 자주 쓸 것으로 예측해서 캐시 메모리제 저장했는데 예측이 틀려서 메모리에서 필요한 데이터를 직접 가져와야 하는 경우

 

캐시 메모리는 참조 지역성 원리에 따라 메모리로부터 가져올 데이터를 정한다

참조 지역성 원리 : CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리

 

  • CPU는 최근 접근한 메모리 공간에 다시 접근하려는 경향이 있다
  • CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다

 

시간 지역성 : 최근에 접근했던 메모리 공간에 다시 접근하려는 경향

반응형
Comments