#6 기억장치

1. 기억장치 - 분류




1. 기억장치 - 계층구조


- 기억장치의 특성을 결정하는 요소
: 기억 용량
: Access Time
: Cycle Time - 기억장치에 읽기 신호를 보낸 후 다시 읽기 신호를 보낼 수 있을 때까지의 시간 간격
: Bandwidth(대역폭, 전송률) - 대역폭은 메모리까지 1초 동안 전송되는 최대한의 정보량, 전송단위는 baud(보) = bps




2. 주기억장치

1) ROM(Read Only Memory)
: 기억된 내용을 읽을 수 만 있는 기억장치
: 전원이 꺼져도 내용이 지워지지 않는 비 휘발성 메모리
: BIOS, POST등 변경 가능성이 희박한 시스템 소프트웨어를 기억시키는데 이용

- ROM의 종류와 특징


2) RAM(Random Access Memory)
: 자유롭게 읽고 쓸 수 있는 기억장치
: 현재 사용중인 프로그램이나 데이터가 저장됨
: 전원이 꺼지면 내용이 모두 사라지는 휘발성 메모리

- RAM의 종류와 특성

- 자기 코어
: 데이터를 읽으면 읽은 내용이 지워지는 파괴 메모리(DRO Memory)
: 내용을 읽은 후 지워진 내용을 기록하기 위한 재저장 시간이 필요
: 자기 코어는 부피에 비해 용량이 적고 가격이 비싸 현재는 사용되지 않음

- RAM/ROM의 용량 계산
: 주소선이 7개이고, 데이터 버스가 8Bit일때, 2의7승 * 8Bit의 용량을 가짐
: 주소선의 수는 주소를 지정하는 MAR 그리고 다음에 실행할 명령어 주소를 가지고 있는 PC의 크기와 같고, 데이터 버스의 비트수는 읽어온 자료를 잠시 보관하는 MBR 그리고 읽어온 명령어를 저장하는 IR의 크기와 같음
: 주소선의 수 = MAR =PC
: 데이터 버스의 비트수 = MBR =IR




3. 보조 기억장치

1) 자기 테이프(Magnetic Tape)
: 주소의 개념이 없고, 처음부터 차례대로 처리하는 순차 처리(SASD)만 할 수 잇는 대용량 저장 매체
: 가격이 저렴하고 용량이 커서 자료의 백업용으로 많이 사용
: 블록 단위로 데이터를 전송하고, 블록과 블록 사이에는 데이터를 기록할 수 없는 GAP있음



2) 자기 디스크(Magnetic Disk)
: 자성 물질을 입힌 금속 원판을 여러 장 겹쳐서 만들 기억 매체로, 용량이 크고 접근 속도가 빠름
: 순차, 직접처리가 모두 가능한 DASD(Direct Access Storage Device)방식
: 개인용 컴퓨터의 하드디스크나 디스켓으로 이용

- 자기 디스크의 구조
: 회전축에 여러 장의 디스크를 연결하고, 디스크에 엑세스암을 연결하여 구성
: 가장 윗면과 아랫면은 사용하지 않음
: 트랙 - 디스크 표면에서 회전축을 중심으로 데이터가 기록되는 동심원
: 섹터 - 트랙들을 일정한 크기로 구분한 부분, 정보의 기록 단위
: 실린더 - 서로 다른 면들에 있는 동일 위치의 트랙의 모임
: 실린더 수는 트랙의 수와 동일함



- 디스크의 Access Time
: Access Time = Seek Time + Latency Time + Transmission Time
: Seek Time(탐색 시간) - R/W Head가 특정 트랙까지 이동하는 데 걸리는 시간
: Latency Time(회전 지연 시간) = Search Time - 디스크가 회전하여 특정 섹터에 도달하는 데 걸리는 시간
: Transmission Time(전송 시간) - R/W Head가 Access한 섹터와 주기억장치의 자료를 전송하는데 걸리는 시간

- 자기 드럼(Magnetic Drum)
: 순차, 직접 처리가 가능한 DASD방식으로 데이터 처리
: 크기에 비해 용량이 적어 현재는 거의 사용하지 않음




4. 연관 기억 장치

1) 연관기억장치(Associative Memory)
: 메모리에서 자료를 찾을 때 주소로 검색하지 않고, 기억된 내용의 일부를 이용하여 Access하는 기억장치, CAM(Content Addressable Memory)
: 주소에 의한 접근방식보다 접근 속도가 빠름
: 연관기억장치 구조 - 인수(데이터) 레지스터, 키(마스크) 레지스터, 매치 레지스터(일치 지시기)로 구성

2) 복수 모듈 기억장치
: 독자적으로 데이터를 저장할 수 있는 기억장치 모듈을 여러 개 가진 기억장치
: 주기억장치와 CPU의 속도 차이 문제점 개성
: 기억장치의 버스를 시분할하여 사용
: 접근을 보다 빠르게 함
: 인터리빙 기법에 의해 동시 접근이 가능





5. 캐시 메모리(Cache Memory)

1) 캐시 메모리(Cache Memory)
: CPU와 주기억장치의 접근 속도 차이를 줄이기 위해 사용하는 고속의 버퍼 메모리
: 캐시 주소표는 검색시간을 단축시키기 위해 주로 연관기억장치를 사용
: 캐시 설계시 고려할 사항 - 캐시의 크기, 전송 Block Site, 교체 알고리즘

2) 매핑 프로세스(Mapping Process)
: 주기억장치로부터 캐시 메모리로 데이터를 전송하는 방법

2-1) 직접 매핑: 지정된 한 개의 캐시 라인으로만 맵핑. 간단하고, 구현비용이 적게드는 장접이 있지만, 적중률이 낮아질 수 있다는 단점이 있음

2-2) 어소시에이티브 매핑(연관 매핑): 직접 매핑의 단점을 보완한 방식

2-3) 세트-어소시에이티브 매핑: 직접 매핑과 연관 매핑의 장점만 모아 만든 방식

- 쓰기 정책
: 데이터에 수정이 발생했을 때 그 내용을 주기억장치에 갱신하기 위해 시기와 방법을 결정하는 것
: Write-Through, Write-Back, Write-Once

- 캐시 적중률
: 적중률은 캐시 기억장치가 있는 컴퓨터의 성능을 나타내는 척도로 이용되며, 적중률이 0.95 ~ 0.99 일 때 우수하다고 함
: 적중률 = 적중 횟수 / 총 접근 횟수




6. 가상 기억장치(Virtual Memory)
: 기억 용량이 적은 주기억장치를 마치 큰 용량을 가진 것 처럼 사용할 수 잇는 용량 확대 기법
: 소프트웨어적인 방법으로 보조기억장치의 일부를 주기억장치로 사용
: 주기억장치의 이용률과 다중 프로그래밍의 효율을 높일 수 있음

- 가상기억장치 관리 기법
1) 페이징 기법
: 보조기억장치에 있는 프로그램을 동일한 크기의 블록으로 나누어 관리하는 기법

2) 세그먼트 기법
: 보조기억장치에 있는 프로그램을 가변적인 크기의 블록으로 나누어서 관리하는 기법


- 기억장치 관리 전략
1) 반입(Fetch) 전략
: 보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지 결정하는 전략
: 요구반입(Demand Fetch)과 예상반입(Anticipatory Fetch)가 있음

2) 배치(Placement) 전략
: 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬것인지를 결정하는 전략
: 최초 적합(First Fit), 최적 적합(Best Fit), 최악 적합(Worst Fit)

3) 교체(Replacement) 전략
: 주 기억장치의 모든 분할된 영역이 이미 사용중인 상태에서 새로운 프로그램을 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 페이지 프레임중에서 어느 하나를 선택할지 결정하는 전략
: 가상기억체제에서 페이지 부재가 발생하면 교체할 페이지를 결정해서 보조기억장치의 이전 위치에 기억시키고, 새로운 페이지를 교체한 페이지의 위치에 놓는 것을 스테이징이라고 함
: FIFO, OPT, LRU, NUR, LFU, MFU


- 주소 매핑(주소 변환)
: 가상주소를 실기억주소로 변환하는 작업
: 주소 매핑에 사용되는 함수를 사상함수라고 함
: 주소 매핑 시 메모리의 효율적인 사용을 위해 연관 메모리를 사용하기도 한다.

댓글 없음:

댓글 쓰기