메모리(Memory)란? :
컴퓨터 메모리 또는 랜덤 액세스 메모리(RAM)는 시스템의 단기 데이터 스토리지로, 정보에 빠르게 액세스할 수 있도록 컴퓨터가 실시간으로 사용하는 정보를 저장하는 매개체라 볼 수 있다.
메모리 RAM의 약어 :
Random Access Memory
※ Random Access와 Sequential Access의 차이
- 위 그림처럼 아파트 101호부터 106호가 1층에 쭉 있다 가정해보자.
- 104호에 가고 싶다면 Random Access는 한번에 104호로 순간이동식으로 이동 가능
- 반면 Sequential Access는 104호로 가기 위해서는 101,102,103,104 순차적으로 한단계 한단계 지나가야만 가능
- 즉, RAM은 순간이동이 가능한 Random Access 방식을 사용하는 메모리
▣ RAM을 사용하는 이유
- 메모리의 역할 : 데이터를 저장
- 메모리 장점 : 데이터 처리 속도가 매우 빠름
- 메모리 단점 : 컴퓨터를 끄면 메모리에 저장했던 데이터가 다 사라짐.
- 이러한 단점이 있음에도 RAM을 사용하는 이유 :
1) 컴퓨터에서 가장 빠른 부품은 CPU
2) CPU는 빠르게 처리하고 싶은데 HDD는 데이터 처리 속도가 느림
3) 메모리가 CPU와 HDD 사이에 위치하여 처리 속도 보완.
※ 메모리가 중간에 위치하면 왜 성능이 개선될까?
CPU는 자주 쓰는 프로그램은 메모리에 저장해두고 사용하게 됨.
예를 들어 엑셀을 자주 사용하다고 가정하면 CPU가 엑셀을 열때마다 하드디스크에서 열어보면 너무 오래 걸리게 됨. 하지만 엑셀을 메모리에 저장해두고 CPU가 불러오면 메모리가 하드디스크보다 속도가 훨씬 빠르기 때문에 빠른 데이터 처리가 가능하다.
메인 메모리
- 메인 메모리는 CPU가 직접 접근할 수 있는 기억 장치
- 프로세스가 실행되려면 프로그램이 메모리에 올라와야 함
- 주소가 할당된 일련의 바이트들로 구성되어 있음
- CPU는 레지스터가 지시하는대로 메모리에 접근하여 다음에 수행할 명령어를 가져옴
- 명령어 수행 시 메모리에 필요한 데이터가 없으면 해당 데이터를 우선 가져와야 함
- 이 역할을 하는 것이 바로 MMU.
MMU (Memory-Management Unit)
- Logical address(논리주소)를 Physical address(물리주소)로 매핑해주는 Hardware device
- 메모리 보호나 캐시 관리 등 CPU가 메모리에 접근하는 것을 총 관리해주는 하드웨어
- Scheme : 사용자 프로세스가 CPU에서 수행되며 생성해내는 모든 주소값에 대해 base register (=relocation register)의 값을 더한다.
- User program : logical address만을 다루고, 실제 physical address를 볼 수 없고 알 필요도 없다.
- CPU가 Logical Address 346을 요청
- MMU 안에 있는 14000을 더하여 Physical 메모리 14346번지에 있는 내용을 참조한다.