컴퓨터지식/메모리
메모리 계층구조 및 캐시 메모리와 가상 메모리 비교
공부시러요
2024. 10. 27. 14:29
단답 정리
1.
- 메모리 계층구조는 속도와 용량의 상호보완을 위해 사용
- 캐시 메모리는 데이터의 액세스 시간을 줄이기 위해 사용되는 고속 메모리
- 가상 메모리는 가상의 주소를 활용해 메인 메모리의 용량 한도를 초과하여 프로그램을 사용하게 해주는 메모리 기법
가. 메모리 계층 구조의 필요성과 효과
- 필요성: 기억장치들은 속도, 용량 및 가격 측면에서 매우 다양, 이들의 효율적인 활용이 필요
- 효과: 기억장치 시스템의 가격대비 성능을 향상 시킴 (저비용 고효율 정책 필요)
나. 기억장치 특성들 간의 관계
- 접근 속도가 빠를수록 bit당 가격이 높아짐
- 용량이 커질수록 bit당 가격이 낮아짐
- 용량이 커질수록 접근 시간이 길어짐
2. 캐시 메모리와 가상 메모리 비교
가. 캐시 메모리 정의
- 캐시메모리는 데이터의 액세스 시간을 줄이기 위해 사용되는 고속 메모리
- CPU와 주기억 장치의 속도차이로 인한 CPU 대기 시간을 최소화하기 위해 CPU와 주기억장치 사이에 설치하는 고속 반도체 (SRAM)
- cache hit, cache miss, hit ratio, miss ratio, 평균 캐시메모리 access 시간
나. 가상 메모리 정의
- 가상 메모리는 가상의 주소를 활용해 주 메모리의 용량 한도를 초과하여 프로그램을 사용하게 해주는 메모리기법
- 각 프로그램에 실제 주소가 아닌 가상의 주소를 주는 것으로 주기억장치 (DRAM)보다 큰 용량의 프로그램을 사용할때 이용하는 메모리기법
- 실제로 프로그램 수행에 필요한 부분만 메모리에 적재하여 주기억장치의 용량보다 큰 프로그램 파일이라도 사용자가 메모리에 적재 가능
- 애플리케이션이 실행될 때, 실행에 필요한 일부분만 메모리에 올라가며 애플리케이션의 나머지는 디스크에 남게 됨. 즉, 디스크가 RAM의 보조 기억장치(backing store)처럼 작동
다. 캐시 메모리 VS 가상 메모리
- 캐시는 메모리 저장 장치 이지만 가상 메모리는 기술
- 가상 메모리는 메인 메모리보다 큰 프로그램의 실행을 가능하게합니다. 반면에 캐시 메모리는 최근에 사용 된 원본 데이터의 복사본 을 저장
- 가상 메모리 관리는 운영 체제에 의해 수행됩니다. 반면에 캐시 메모리 관리는 하드웨어에 의해 수행
- 가상 메모리 기술은 매핑 구조 가 가상 주소를 물리적 주소에 매핑하는 반면 캐시 메모리 는 매핑 구조를 필요로 하지 않음
항목 | 캐시 메모리 | 가상 메모리 |
위치 | CPU와 주기억장치 사이 | 주기억장치와 디스크 사이 |
목적 | 느린 주기억 장치의 속도차 극복 | 주기억 장치의 용량 한계 극복 |
구현 | 물리적으로 구현 | 논리적으로 구현 (OS가 운영) |
속도 | 빠름 | 캐시보다는 느림 |
교체단위 | Block | page & segment |
교체후보 | 동일 SET 내에서 결정 | 전체 페이지 중에서 결정 |
LRU교체 정책 구현 가능여부 | LRU (Least Recently Use) 구현 가능 | page 크기 상 LRU 불가능 |
특징 | - 캐시 미스 발생시 성능 저하 - 병렬 처리에서 일관성 문제 개선 필요 |
- 하드웨어 MMU 활용 - 스레싱으로 인한 성능 저하 |
3. 가상 메모리 요소
- MMU (Memory Management Unit): 가상주소를 물리주소로 변환하고, 메모리를 보호하는 기능 수행 / CPU 는 가상주소를 참조하고, 가상주소에 해당하는 실제 물리주소를 참고하는 방식이지만, 이러면 느려지니까 MMU가 가상주소를 물리주소로 빠르게 변환해주는 역할을함