본문 바로가기
Computer System

메모리시스템

by Success T.H.I.E.F 2021. 12. 13.

 

메모리 계층구조( 출처 : www.crocus.co,kr)

메모리는 cpu가 프로그램을 실행하거나 데이터를 참조하기위 해 필요한 정보를 불러오는 공간이다. 

메모리 계층 구조란 메모리를 필요에 따라 여러가지 종류로 나누어 둔 것으로 위에서부터 CPU가 메모리에 더 빨리 접근가능하다.

 

단순히 속도가 빠른 레지스터를 크게 만들면 되지 않을까 싶지만 속도가 빠를수록 단위비트당 생산가격이 높아 메모리 설계를 효율적으로 할 수없다.

 

메모리 설계에 있어 목표는 large capacity, high speed, low cost 인데 이때 지역성의 원칙으로 메모리 시스템을 설계하면 이 세가지 목표를 효율적으로 달성할 수 있다.

 

시간적 지역성(Temporal Locallity) :

최근에 사용된것이 다시 쓰일 가능성이 높다는 것이 시잔적 지역성이다.

ex)

우리의 카톡방만 보아도 가장 최근에 이용한 카톡방이 최상단에 위치하여 채팅창을 찾는데 불필요한 시간을 줄일수 있다.

공간적 지역성(Spatial Locality):

어떤것을 사용했을때 그것 근처의 것들을 사용할 가능성이 높다는 것이 공간적 지역성이다.

ex) 

단체 카톡방을 최근에 사용했다면 그 안에 있는 사람들과 개인카톡을 할 가능성이 높다.

위 이미지는  gcc를 실행하였을때 memory location 에 따른 time을 그래프로 표현한 것이다.

검은 점 하나가 해당시간에 접근한영역이라고 볼때 3.8위치 부근을 보면 3.8 부근 근처로 접근이 일어남을 볼수있다 이부분이 공간적 지역성이다.

또한 그래프에서 선으로 인식되는 부분은 이전에 사용한 데이터를 지속적으로 접근했음을 알수있다 이부분이 시간적 지역성이다.

 

이렇게 어떤데이터가 다음에도 사용가능할것인지 미리 예측하여 가장 빠르게 접근 가능한 메모리에 저장을 해 둔다면 효율적 비용으로도 속도가 빠르다고 인식할 수 이쎄 메모리 설계가 가능하다.

 

 

cpu가 체감하는 속도

cpu 입장에서 각 메모리에 요청했을때 데이터를 받는 속도를 나타낸 표이다.

캐쉬메모리는 cpu체감 최대 1분 이고 RAM(메인메모리)는 4분의 응답을 하드디스크는 cpu가 체감하기로 9달이 걸린다 . 말을 걸면 9달뒤에 답장을 해준다는 의미로 굉장히 느린것이다.

 

따라서 CPU는 먼저 레지스터와 캐쉬에서 데이터를 찾고 아니면 RAM(메인메모리)와 소통한다.

응답이 너무 드린 하드와 직접 소통하지 않고 램을 통해 소통을 하며 데이터에 접근한다

 

보통 메모리를 말할때는 CPU와 상호 작용하는 RAM 을 말하며 따라서 RAM을 메인 메모리라 부르고 그외 HDD,SSD를 보조메모리로 분류한다.

 

왜 Random Access Memmory 일까?

랜덤 엑세스 메모리? 자기 맘대로 무작위로 골라서 랜덤 일까? 라고 생각했지만

여기서 랜덤은

이 의미에 더 가까운것 같다. 램은  CPU가 말하면 닥치는대로 바로 바로 접근하기 때문에 RAM 이라 불린다.

'Computer System' 카테고리의 다른 글

네트워크_TCP/IP  (0) 2021.12.22
네트워크_OSI 7계층  (0) 2021.12.21
Computer network_Client-Server Programming Model  (0) 2021.12.19
가상메모리  (0) 2021.12.14
컴파일 시스템  (0) 2021.12.03