6장 기억장치

Standard

메모리 시스템



주소영역 



– 데이터는 1개의 메모리 셀에 저장되거나 큰 데이터는 여러 개의 셀에 교차하여 저장


– 각각의 셀은 개별적으로 읽거나 쓰여진다.



CPU-메모리 인터페이스



– 데이터버스는 데이터를 위한 입력과 출력버스를 지원하고 있으며 어떤 칩은 입력과 출력버스를 분리


– 주소버스는 RAM칩에 주소를 운송하고 있으며 제어버스는 연산을 제어한다. 이러한 RAM칩을 이용하여 메모리를 구성한다.



– 메모리 액세스시간(memory access time) : 기억장치 속도는 동작 시작과 그 동작의 종료 사이에 경과한 시간 즉 명령 발생 후부터 목표의 번지를 검색하여 데이터의 기록(판독)을 시작할 때까지의 시간



– 메모리 사이클 시간(memory cycle tiom) : 두 번의 연속적인 메모리 동작 사이에 필요한 최소 지연 시간 즉 두 번의 연속적인 판독 동작 사이의 시간



메모리 참조



※ 메모리 계층구조를 이용할 수 있는 이유


– 시간 지역성(Temporal Locality)


1. 만약 어떤 항목이 참조되었다면 다시 참조되는 경향이 있다.


2. 즉 최초에 참조된 항목은 가까운 미래에도 계속 참조될 가능성이 높다.


  예) 순환, 재사용(reuse), 서브프로그램, 스택, 계산이나 집계의 변수



– 공간 지역성(Spatial Locality)


1. 만약 어떤 항목이 참조되었다면 그 항목이 갖고 있는 인접 주소가 다시 가까운 장래에 참조될 수 있다.


  예) 배열 액세스, 직선코드(straight-line code)


 


메모리 형태



ROM(Read Only Memory)


– 저장된 내용을 읽기만 할 수 있는 메모리


– 데이터와 프로그램은 전기가 공급되지 않더라도 내용이 보존되는 영구적인 성격



1) 기능


– 기억된 정보를 읽을 수만 있는 기억 장치.


– 메인 메모리의 일부로 사용.


– 항상 같은 정보를 보관할 필요가 있는 부분에 사용.



2) 종류 : Mask ROM, PROM, EPROM, PLA, EEPROM, 플래시 메모리



읽기/쓰기 메모리 – RAM



가. SRAM


– 컴퓨터의 캐시 메모리



나. DRAM


– 재생(refresh), 대용량 메모리, 일반적인 종류의 RAM



2) 휘발성과 비 휘발성


– 휘방성 메모리 : SRAM, DRAM


-비 휘발성 메모리 : 자기 코어, 플래시, EEPROM, EPROM, ROM



메모리의 논리적 구조의 특성



1) 주소 메모리


– 읽기 또는 쓰기 셀을 선택하기 위하여 주소를 사용


2) 연상 메모리


– 읽기나 쓰기 셀을 선택하기 위하여 메모리 워드의 일부인 내용을 사용


3) 순차 액세스


– 자기 테이프


메인 메모리 시스템



– 정적 또는 동적 RAM으로 구성


– 컴퓨터 내부에 있기 때문에 ‘내부 기억장치’라고 부름


– CPU와 직접 데이터를 주고받는다.


– 다중프로그래밍의 중요한 구조적 특성 :①프로그램 재할당, ②메모리 보호, ③연산의 특권모드, ④시간 인터럽터



프로그램 재할당



– 재할당에서 프로그램은 프로그램이 사용한 논리적 주소에서 재할당 오프셋(Ro)이라고 불리는 다른 상수의 물리적 주소에 적재된다.


– 프로그램 시작의 논리적 주소는 0이고 재하당 오프셋은 재할당 주소(RA)와 같다.


– 운영체제는 RO 상수 값에 의해 메모리에 프로그램을 재할당 한다 


캐시 기억장치



느린 메모리에 의해 발생하는 성능저하를 감소시킬 수 있는 하나의 방법이 메모리 시스템에 캐시 메모리를 결합



개념과 동작


– 캐시메모리 : 빠른 속도를 처리되는 CPU와 상대적으로 느린 속도를 처리되는 메인 메모리 사이에서 자료나 정보를 저장하는 고속 버퍼



1) 참조의 지역성


– 자주 참조되는 프로그램과 데이터가 속도가 빠른 조그만 메모리(캐시 메모리로 구현)에 저장된다면 평균 액세스 시간이 감소되어 시스템 성능이 향상된다.



캐시기록 동작



1) 바로쓰기(write-through) 방식


– 가장 간단하고 일반적인 방법으로 쓰기 동작이 이루어질 때마다 동시에 캐시메모리와 메인 메모리를 갱신한다.



2) 쓰기지연(write-back) 방식


– 쓰기동작 동안 캐시의 내용만 표시하였다가 나중에 블록이 다른 블록으로 대체 될 때 메인 메모리에 기록 복사하는 방법



메모리 필드와 주소 번역


– 32비트 주소는 2개의 필드 블록필드(26비트)와 워드필드(6비트)로 나누어진다.


– 워드필드는 블록필드에서 지정한 블록의 오프셋을 나타낸다.



캐시 구조와 조직


캐시는 2개의 중요한 서브시스템과 제어기로 구성된다.



– 태그 서브시스템(TRAM) : 요청된 데이터의 매치 여부를 결정하고 캐시에 저장된 데이터의 주소를 보관


– 메모리 서브시스템(SRAM) : 데이터를 전송 또는 보관하며 SRAM의 크기는 캐시의 크기에 의해서 결정된다.


– 캐시 제어기 : SRAM과 TRAM의 정보 및 기록 수정보완



1) 연상 캐시


– 메인메모리 블록을 임의의 캐시 블록에 적재할 수 있는 가장 빠르고 융통성 있는 캐시구조이다.



3) 셋(Set)-연상 캐시


– 셋 별로 두 블록을 가지는 캐시



캐시 성능 평가



캐시를 이용할 경우 CPU의 유효 기억장치 액세르 시간


h = 적증율


유효 액세스 시간 = (h x 캐시 액세스 시간) + ((1-h) x 메인 메모리 액세스 시간)



평균 액세스 시간


= (0.9 * 30) + (0.1 * 100) -> 37ns 


가사 메모리


 


메인 메모리의 유효 크기를 증가시키기 위하여 사용



논리적 주소와 물리적 주소 영역



– 현재진행중인 프로세스가 참조하는 자신의 주소


– 가상주소(논리적 주소, 프로그램 주소)


– 가상주소를 실제의 물리적 주소로 변환하는 과정 – > 사상 또는 메모리 맵



메모리 관리 장치



– 논리주소(logical address)를 실제적인 메인 메모리 즉 물리적 주소(physical address)로 변환하는 메카니즘



페이징



– 물리적 메모리를 관리하는 하드웨어 기술로 작은 물리적 공간을 큰 프로그램이 실행될 수 있도록 소개한 방법



※ 페이지 크기


① 1K에서 8K 바이트 


② 메인 메모리와 보조 기억장치를 오가는 정보의 기본 단위가 된다.



세그먼테이션



1) 하드웨어


– 세그먼트 테이블의 논리 주소는 두 부분으로 구성


– 세그먼트 번호 s와 그 세그먼트내에서의 변위(offset) d로 구성 






댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다