ggoggo

5.2 메모리 계층구조 본문

3-1/컴퓨터구조 및 운영체제

5.2 메모리 계층구조

chchae01 2022. 5. 12. 00:00

5.2 메모리 계층구조

 

1. 읽기와 쓰기

 

CPU가

(1)메모리 읽기 (2)메모리 쓰기 (3) 입출력장치 읽기 (4) 입출력장치 쓰기 수행

 

- 읽기 : 메모리나 입출력장치에서 CPU쪽으로 데이터가 입력

- 쓰기 : CPU에서 데이터가 출력

- 읽기시간 & 쓰기시간 : 주소를 보낸 순간부터 동작이 완료되기까지

 

2. 액세스 타임

  • Access(액세스) : 이미 저장된 내용을 읽기 위해 혹은 데이터를 새로 저장하기 위해 특정위치에 신호가 도달하는 동작
  • Access time(액세스 타임, 접근시간)

- CPU가 데이터의 저장 위치에 접근을 완료하거나 응답을 받기 시작하는 데 걸린 시간

기억장치나 입출력장치의 동작속도를 나타내는 척도

 

- 메모리나 I/O에 새로운 주소가 도달한 시점부터 데이터를 출력하거나, 기록하기 시작하는 데 걸린 시간

단위는 시간(sec)

  • 기억장치의 액세스 타임

 

3. 메모리 계층구조

 

- 여러 종류의 기억장치를 계층적인 구조로 사용 about 가격, 용량, 속도

- 적은 비용으로 기억장티 용량을 늘리고ㅓ 전체 기억장티의 평균 액세스 속도를 높이는 방법

- CPU에 가까울수록 상위계층으로 분류

(상위계층 -> 액세스 타임 빠른 소자 배치, 가격↑ & 용량↓

하위계층 -> 속도↓&가격대비 용량이 큰 장치 배치)

 

  • 캐시 사용 이유

CPU에 가까운 상위계층에 데이터가 있을 확률이 높을수록 전체 기억장치의 평균 액세스 타임은 빨라짐.

기억장치 계층구조

 

4. 가상 메모리

 

프로그램이 실행되려면 동작에 필요한 최소한의 메모리가 작업공간으로 남아있어야 한다.

 

가상메모리(virtual memory)

- 주로 하드디스크의 일부를 확장된 램으로 가정해 부족한 메인메모리의 일부로 사용하는 것 -> 논리적 공간(연속적일 필요x)

- 부족한 메인메모리 크기를 외형적으로 늘리는 방법

- 운영체제가 자동으로 관리

  • 하드디스크 스와핑

메인메모리의 내용과 보조기억장치인 하드디스크의 내용을 상호 교환하는 것

 

- 스왑 파일은 가상메모리를 사용할 떄 실제 메모리인 램에 대한 확장으로 하드디스크에 만들어지는 파일

(일반적인 운영체제 -> 페이지, 페이징)

- 파일 단위로 연속된 공간을 구성할 수 있어 적은 횟수의 읽기, 쓰기로 가상메모리를 관리

(메모리가 부족하면 오래 전 사용된 내용은 필요할 때까지 임시로 하드디스크에 스왑 파일로 보내짐)

Swaping

  • 페이지와 페이징

 페이지

가상메모리 공간을 일정한 크기로 나누어, 메인메모리와 하드디스크 사이에 한번에 이동하는 단위(OS에 의해 관리됨)

 

- 페이지 프레임

가상의 기억공간을 다룰 수 있도록 할당된 메인메모리 영역, 하드디스크의 페이지들 중 하나를 복사해 할당

여러 개의 페이지 프레임들이 존재

 

- 페이징, 페이지 교체

메인메모리와 하드디스크 사이의 페이지 교환 동작

OS가 참고하려는 페이지가 메인메모리에 없으면 하드디스크에 저장해둔 페이지를 참조해 가져옴

 

메인메모리와 가상메모리

페이지 교체 : 빈 페이지 프레임에 새로운 페이지를 할당

if 빈공간 X, 기존에 저장된 페이지 하나를 꺼내 HDD에 저장하고 필요한 페이지를 바꾸어 넣음

  • 가상주소와 물리주소

물리메모리 : 실제 메모리 ↔ 가상메모리

가상주소

가상메모리를 관리하는 주소

물리주소로 변환해서 사용해야 함

물리주소

실제 메모리 주소

오프셋(offset) 값을 이용해 가상주소의 비트 수 줄임

가상주소와 물리주소

페이지 테이블

현재 관리되는 가상메모리의 모든 페이지와 메인 메모리의 페이지 프레임과의 매핑 관계를 저장

 

- 가상주소에서 물리주소로의 변환

가상주소형식 : 페이지 번호(HDD) + offset

페이지 테이블 : 페이지 번호(HDD) + 프레임 번호(DRAM)

물리주소 형식 : 프레임 번호(DRAM) + offset

5. 메인메모리와 가상메모리

 

메인메모리 크기를 충분히 늘릴 경우

- HDD 액세스 횟수나 가상메모리의 크기가 줄어 시스템 성능↑

- 가상메모리 사용은 권장x (HDD 액세스 횟수가 늘어 성능 저하)

- 성능이 높은 CPU일수록 메모리 늘리면 효과 큼

 

스래싱

전체 시스템 성능이 저하괴어 작업의 진전이 아주 느리거나 아예 없는 상태

가상메모리 페이징 동작이 과도하기 일어나는 상태

메모리나 기다 시스템 자원이 고갈되어 필요한 연산을 수행하기에 너무 부족한 상태

'3-1 > 컴퓨터구조 및 운영체제' 카테고리의 다른 글

운영체제 : Ch 1.3 Storage Management  (0) 2022.06.10
운영체제 : Ch 1.2 Overview of Computer System Structure  (0) 2022.06.10
5.4 캐시 매핑 방식  (0) 2022.05.29
5.3 캐시메모리  (0) 2022.05.28
5.1 기억장치  (0) 2022.05.11