5.1 기억장치 시스템의 특성들
-액세스 : CPU가 어떤 정보를 기억장치에 쓰거나 기억장치로부터 읽는 동작.
*기억장치의 엑세스 유형들
-순차적 액세스 : 기억장치에 저장된 정보들을 처음부터 순서대로 액세스한다.
-직접 액세스 : 읽기/쓰기 메카니즘이 각 레코드나 블록의 근처로 직접 이동한 후에 순차적 검색을 통하여 최종 위치에 도달한다.
-임의 액세스 : 기억장치 내의 모든 저장 위치들이 고유의 주소를 가지고 있어서 별도의 읽기/쓰기 메카니즘을 가지고 있다.
-연관 액세스 : 각 기억장소에 키값에 해당하는 비트들과 데이터가 함께 저장되어 있어서 액세스 요구에 포함되어 있는 비트 패턴과 기억장소의 키 비트를 비교하여 일치하는 기억장소의 데이터가 읽혀진다.(특수한 용도로만 사용)
*기억장치 시스템을 설계하는 데 있어서 고려해야 할 주요 특성 : 용량, 액세스 속도
1. 용량
-기억장치에서 용량을 나타내는 단위 : 바이트 또는 단어(=CPU가 내부 연산에서 한 번에 처리할 수 있는 데이터 비트의 수)
-전송 단위 : CPU가 한 번의 기억장치 액세스에 의하여 읽거나 쓸 수 있는 비트 수.
-내부 기억장치에서는 전송 단위가 기억장치 모듈로 들어가고 나오는 데이터 선들의 수(버스의 폭)와 같다.
-주소 지정 단위는 보통 워드이지만 더 작은 바이트 단위를 사용하는 경우도 있음.
2. 액세스 속도
-액세스 시간 : 주소와 읽기/쓰기 신호가 기억장치에 도착하는 순간부터 데이터가 저장되거나 읽혀지는 동작이 완료되는 순간까지의 시간.
-사이클 시간 : 액세스 시간과 데이터 복원 시간을 합친 시간. 데이터를 읽은 후에 내용이 지워지는 기억장치에만 해당한다.
-데이터 전송률 : 기억장치로부터 읽혀지거나 쓰여질수 있는 초당 비트 수를 말한다. 액세스 시간의 역수에 한번에 읽혀지는 데이터 비트 수를 곱해서 구한다.
*기억장치의 유형
1. 물리적인 재료에 의한 분류 : 반도체 기억장치, 자기-표면 기억장치
2. 데이터를 저장하는 성질에 이ㅡ한 분류 : 휘발성 기억장치, 비 휘발성 기억장치.
5.2 기억장치 계층
-컴퓨터 기억장치 설계에 있어서 가장 중요한 요소들 : 용량, 속도, 가격
*특성들 간의 상관관계
-액세스 속도가 높아질수록, 비트 당 가격도 높아진다.
-용량이 커질수록, 비트당 가격은 낮아진다.
-용량이 커질수록, 액세스 속도는 낮아진다.
-위와 같은 어려움을 해결하기 위하여 여러 종류의 기억장치들을 이용하여 계층적 기억장치 시스템을 구성한다.
-계층적 구조에서는 하위 레벨로 갈수록 비트당 가격이 감소, 용량 증가, 접근 시간이 증가, 접근빈도가 감소한다.
*성능 향상
-적중률 : 접근하고자 하는 데이터가 그 레벨에 있을 확률.
- 1레벨의 접근 시간 T1, 2레벨의 접근시간 T2, 첫 레벨의 적중률이 H이면, 평균접근시간 T는 다음과 같다.
T = H * T1 + (1-H)*(T1+T2) = T1 + (1-H)*T2
- 적중률이 100%에 가까워질수록 평균접근시간은 1레벨의 접근시간에 가까워진다.
-캐쉬 기억장치 : 주기억장치와 CPU의 속도차이로 인한 성능저하를 줄이기 위해 설치하는 고속의 반도체 기억장치
-참조의 지역성 : 기억장치의 액세스가 몇몇 특정 영역에 집중되는 현상
-프로그램이 실행되는 동안에 일반적으로 지역성의 원리에 의하여 첫 번째 계층의 기억장치에 대한 액세스 횟수가 두번째 계층의 기억장치에 대한 액세스보다 훨씬 더 많음
-지역성의 원리가 적용되면 높은 성능 향상을 얻을 수 있음.
5.3 반도체 기억장치
- 반도체 기억장치의 기본 요소는 기억장치 셀(memory cell)
* 셀의 특징
-두 개의 안정된 상태(Write,Read)를 가진다.
-상태를 설정할 수 있다.
-현재 상태를 감지할 수 있다.
-선택,제어,입출력 단자를 가지고 있다.
5.3.1 RAM
-RAM(Random Access Memory) : 임의 액세스 방식을 이용하는 반도체 집적회로 기억장치.
-칩 내의 어느 위치에 있든, 액세스에 걸리는 시간이 같다.
-데이터를 읽는 것과 쓰는 것이 모두 가능하다.
-휘발성(volatile)이다. 즉, 전원 공급이 중단되면 데이터가 소실된다. 따라서 일시적 저장장치로 사용된다.
-칩 선택(CS), 읽기(RD), 쓰기(WR) 신호들과 주소 버스(AD0~9)와 데이터버스가 있다.
-RAM은 제조기술에 따라 DRAM과 SRAM으로 분류된다.
-DRAM(Dynamic RAM) : capacitor에 전하를 충전하는 방식으로 데이터를 저장하는 기억 소자들로 이루어져 있다. capacitor가 방전하는 성질이 있기 때문에 주기적으로 재충전이 필요하다.
-SRAM(Static RAM) : 기억소자로서 플립-플럽을 이용한다. 재충전이 필요없다.
-DRAM의 소자가 SRAM의 소자보다 더 작다. 따라서 단위 면적당 더 많은 소자들을 집적시킬 수 있으므로 밀도가 더 높고, 같은 용량의 SRAM보다 가격이 싸다. 다만 재충전시간이 필요하기 때문에 약간 느리다.
-DRAM은 용량이 큰 주기억장치로 많이 사용되고, SRAM은 높은 속도가 필요한 캐쉬 기억장치로 사용된다.
* 기억장치 설계
-예) 16Mbit DRAM 칩의 조직
1M X 16 비트로 구성 : 1M개의 16비트 워드로 구성. 하나의 칩으로 16비트 처리 가능. 1M개의 칩으로 구성.
4M X 4 비트로 구성 : 4M개의 4비트 워드로 구성. 하나의 칩으로 4비트 처리 가능. 4M개의 칩으로 구성.
16M X 1 비트로 구성 : 16M개의 1비트 워드로 구성. 하나의 칩으로 1비트 처리 가능. 16M개의 칩으로 구성.
-1K개의 칩은 10비트의 주소버스 필요.(1M개의 칩은 20비트)
5.3.2 ROM
-ROM(Read Only Memory) : 영구 저장이 가능한 반도체 기억장치. 읽는 것만 가능하고 쓰는 것은 불가능하다.
-시스템 초기화 프로그램, 진단 프로그램, 자주 사용되는 함수들을 위한 서브루틴들, 제어 유니트의 마이크로 프로그램등에 사용된다.
-PROM(Programmable ROM) : 제조과정에서 기록하지 않고 나중에 전자적으로 기록한다. ROM보다 저렴하다.
-EPROM(Erasable Programmable ROM) : 쓰기 연산을 수행하기 전에 자외선을 이용하여 데이터를 전부 지우는 과정이 필요하다. PROM보다 비싸다.
-EEPROM(Electrically Erasable ROM) : 쓰기 전에 데이터를 지울 필요가 없다. 바이트 단위의 쓰기가 가능하다. 쓰기 연상에 많은 비용이 소요된다. 가격이 더 비싸다.
-플래쉬 기억장치 : 가격과 기능면에서 EPROM과 EEPROM의 중간 정도. 쓰기 전에 기존 데이터를 지워야 하지만 EPROM보다 훨씬 빠르게 지울 수 있다. 블럭 단위로 지우고 쓸 수 있다. 집적 밀도가 높다.