dongdorodongdong
기억 장치 본문
특성 결정 요소
- 기억 용량
- 사용 목적에 다라 성능당 경비 비율이 적은 것을 사용하는 것이 바람직 - Access Time
- 읽기 요청이 발생한 시간 ~ 요구한 정보를 꺼내 사용 가능할 때까지의 시간
- 한 Word 단위의 정보를 읽거나 기록하는 데 걸리는 시간
- Seek Time + Latency Time + Transmission Time - Cycle Time
- 기억장치에 읽기 신호를 보낸 후 다시 읽기 신호를 보낼 수 있을 때까지의 시간 간격
- Cycle Time >= Access Time - Bandwidth
- 메모리로부터 또는 메모리까지 1초 동안 전송되는 최대한의 정보량
- 기억장치의 자료 처리 속도를 나타내는 단위
- Word의 길이가 작을수록 대역폭이 좋음
- H/W 특성상 주기억장치가 제공할 수 있는 정보 전달능력의 한계를 의미
분류
- 전원 공급의 유무
- 휘발성 (RAM)
- 비 휘발성 (ROM) - 내용 보존 유무
- 내용 파괴 (자기코어)
- 내용 비파괴 - 시간의 흐름
- 정적 (SRAM)
- 동적 (DRAM / Refresh 필요) - 액세스
- DASD (디스크/직접 접근)
- SASD (테이프/순차 접근)
계층 구조
주 기억장치
- 정의
- CPU가 직접 액세스
- 현재 수행되는 프로그램/데이터 - ROM(Read Only Memory)
- 데이터를 읽을 수만 있는 기억장치
- 비 휘발성
- 주기억장치보다는 기본 I/O 시스템(BIOS), 자가 진단 프로그램(POST) 같이 변경 가능성이 희박한 시스템 S/W를 기억시키는데 이용
- Mask ROM
"제조공장부터 프로그램화 되어 생산한 ROM"
- PROM
"사용자가 한 번만 내용 기입 가능, 이후에 읽기만 가능"
- EPROM
"자외선을 이용하여 내용을 지울 수 있음"
"PROM 프로그램 장치로 기록할 수 있음"
- EAROM
"전기적 특성을 이용하요 정보의 일부를 변경할 수 있음"
- EEPROM
"전기적 특성을 이용하여 정보의 일부를 변경하거나 쓸 수 있음" - RAM (Random Access Memory)
- 자유롭게 데이터를 읽고 쓸 수 있어 "RWM" 이라고도 함
- 휘발성
- 현재 사용중인 프로그램이나 데이터가 저장되어 있음
- 일반적으로 주기억장치, 메모리 라고 하면 램을 의미 - 자기 코어
- 전류 일치 기술에 의하여 기억장소를 선별
- 데이터를 읽으면 읽은 내용이 지워지는 파괴메모리, 따라서 내용을 읽은 후 지워진 내용을 기록하기 위해 재저장 시간이 필요
- 부피에 비해 용량이 작고 가격이 비싸 거의 사용하지 않음
- 저장을 위해 1bit마다 하나의 코어 플레인이 필요
보조 기억장치
- 정의
- 주기억장치에 비해 느리지만 용량이 큼
- 전원이 차단되어도 내용이 그대로 유지
- CPU와 직접 자료 교환이 불가능
- 일반적으로 주기억장치에 데이터를 저장할 때는 DMA 방식 사용 - 자기 테이프
- 순차처리만 할 수 있는 대용량 저장 매체
- 저렴하고 용량이 커서 백업용으로 많이 사용
- 자성 물질이 코팅된 얇은 플라스틱 테이프를 동그란 릴에 감아 놓은 형태 - 자기 디스크
- 용량이 크고 속도도 빠름
- 자성 물질을 입힌 금속 원판을 여러 장 겹쳐서 만든 기억매체
- 순차, 비순차 처리 모두 가능함
- 트랙
> 디스크 표면에서 회전축을 중심으로 데이터가 기록되는 동심원
- 섹터
> 트랙들을 일정한 크기로 구분한 부분
> 정보 기록의 기본 단위
- 실린더
> 서로 다른 면들에 있는 동일 위치의 트랙들의 모임
> 실린더의 수는 한 면의 트랙 수와 동일
연관 기억장치
- 정의
- 기억장치에서 자료를 찾을 때 주소에 의해 접근하지 않고, 기억된 내용의 일부를 이용하여 접근할 수 있는 기억장치
- CAM(Content Addressable Memory)이라고도 함 - 특징
- 주소에 의해서만 접근이 가능한 기억장치보다 정보 검색이 신속
- Mapping Table에 사용
- 내용 비교를 위해 병렬 판독 논리 회로가 필요하여 H/W 비용이 증가
메모리 인터리빙 (Memory Interleaving)
- 정의
- 복수 모듈 메모리와 CPU 간의 주소 버스가 한 개로만 구성되어 있으면 같은 시각에 CPU로부터 여러 모듈들도 동시에 주소를 전달할 수 없기 때문에 CPU가 각 모듈로 전송할 주소를 교대로 분산 배치한 후 차례로 전송하여 복수 모듈을 병행 접근하는 기법 - 특징
- CPU의 쉬는 시간을 줄일 수 있고 단위 시간당 수행할 수 있는 명령어의 수를 증가시킬 수 있음
- 이 기억장치를 구성하는 모듈의 수 만큼 단어들에 동시 접근이 가능
- CPU와 기억장치 사이의 실질적인 대역폭을 높일 수 있으므로 캐시, 고속 DMA 전송 등에서 많이 사용
캐시 메모리
- 정의
- CPU의 속도와 메모리의 속도 차이를 줄이기 위해 사용하는 고속 버퍼 메모리 - 특징
- CPU와 주기억장치 사이에 위치
- 메모리 계층 구조에서 가장 빠른 소자
- 처리속도가 거의 CPU와 비슷할 정도
- 캐시를 사용하면 기억장치를 접근하는 횟수가 줄어들기 때문에 컴퓨터 처리 속도가 향상
- 캐시메모리에 접근하는 경우에 원하는 정보가 있을 때 Hit, 없을 때 실패 했다고 함 - 매핑 프로세스
- 주기억장치로부터 캐시메모리로 데이터를 전송하는 방법
- 종류
> Direct Mapping
"같은 인덱스를 가졌지만 다른 tag를 가진 두 개 이상의 워드가 반복 접근할 경우 적중률이 낮아질 수 있음"
> Associative Mapping
> Set-Associative Mapping - 쓰기 정책
- 캐시에 저장되어 있는 데이터에 수정이 발생했을 때 그 수정된 내용을 주기억장치에 갱신하기 위해 시기와 방법을 결정하는 것
- Wirte-Through
> 캐시에 쓰기 동작이 이루어질 때마다 캐시 메모리와 주기억장치의 내용을 동시에 갱신하는 방식
> 쓰기 동작에 걸리는 시간이 길다
- Wirte-Back
> 캐시에 쓰기 동작이 이루어지는 동안은 캐시의 내용만 갱신
> 캐시의 내용이 캐시로부터 제거될 때 주기억장치에 복사
- Write-Once
> 캐시에 쓰기 동작이 이루어질 때 한 번만 기록하고 이후의 기록은 모두 무시
가상 기억장치
- 정의
- 기억 용량이 작은 주기억장치를 마치 큰 용량을 가진것처럼 사용할 수 있도록 OS의 메모리 운영 기법 - 특징
- 주기억장치의 용량 확보가 목적
- H/W 적으로 실제 존재하는 것이 아니고 S/W적 방법으로 보조기억장치를 주기억장치처럼 사용하는 것
- 사용자 프로그램을 여러 개의 작은 블록으로 나누어서 보조기억장치 상에 보관해 놓고 프로그램 실행 시 필요한 부분들만 주기억장치에 적재
- 주기억장치의 이용률과 다중 프로그래밍의 효율을 높일 수 있음 - 주소의 사용
- 보조기억장치에 저장된 사용자 프로그램을 블록으로 나누어 블록에 대한 주소를 주기억장치와는 별도의 주소로 표현하여 필요시 해당 블록만을 주기억장치에 적재
- 가상 주소(논리 주소)
> 보조기억장치 상의 주소로, 이들 주소의 집합을 주소 공간
> 교체 단위는 페이지를 사용
- 실기억 주소(물리적 주소)
> 주기억장치 상의 주소
> 이들 주소의 집합을 메모리 또는 기억 공간이라고 함
> 교체 단위는 블록
- 페이지 부재
> CPU가 액세스한 가상 페이지가 주기억장치에 없는 경우
> Page Fault가 발생하면 요구된 Page가 주기억장치로 옮겨질 때까지 프로그램 수행이 중단
- 주소 매핑
> 가상주소를 실기억주소로 변환하는 작업
> 가상기억장치에 보관 중이던 프로그램을 실행하기 위해 주기억장치에 Loda했다 하더라도 프로그램을 구성하는 각 기계명령에 포함된 주소는 가상주소로 남아 있기 때문에 CPU에서 주기억장치를 Access하기 위해서는 가상주소를 실주소로 변환해야 한다.
> 주소 매핑에는 사상함수가 사용된다.
'Electronic Calculator Architecture' 카테고리의 다른 글
I/O 제어 (0) | 2019.10.17 |
---|---|
Interrupt (인터럽트) (0) | 2019.10.17 |
명령어 (0) | 2019.10.17 |
논리 회로 (0) | 2019.10.17 |
병렬 컴퓨터 (0) | 2019.10.17 |