Transcript 10장

Chapter 10
기억장치
기억장치 계층 구조와 성능 평가
Computer Architecture
기억장치 계층 구조 – P310
–속도가 빠른 것에서 낮은 순서로 계층화시킴
–액세스 속도가 빠를수록 우수하지만 가격은 고가임
–캐시 기억장치, 주기억장치, 보조기억장치의 최적화된 조합을 위해 속도와
비용 및 용량을 고려한 기억장치 구성에서의 계층간의 관계를 나타낸 것
레지
스터
레지
스터
주기억장치
레지
스터
주기억장치
캐시
주기억장치
버퍼 및 디스크 캐시
보조기억장치
보조기억장치
2/70
기억장치 계층 구조와 성능 평가
Computer Architecture
기억장치의 성능 평가_1 – P311
–기억 용량(Capacity)
데이터가 저장되는 크기
사용되는 단위에는 비트(bit), 바이트(byte), 워드(word)가 있음
–액세스 시간(Access time)
컴퓨터 기억장치에서 데이터를 판독하거나 기록하는 데 걸리는 시간
RAM과 ROM에서는 임의 번지에 읽기나 쓰기 명령을 내린 다음 그 데이터가 실
제로 출력될 때까지 걸리는 시간을 말함
자기 디스크 기억장치에서는 트랙을 찾아가는 탐색시간(seek time), 해당 트랙
에서 섹터를 찾는 검색 시간(search time), 그리고 데이터 전송(transmission
time) 시간을 합하여 액세스 시간이라 함
–Access time = seek time + search time + transmission time
3/70
기억장치 계층 구조와 성능 평가
Computer Architecture
기억장치의 성능 평가_2
–사이클 시간(Cycle time)
기억장치에 단위 정보를 판독과 기록하는 시간, 또는 연속적인 기억장치 액세스
를 할 때 두 번의 액세스 사이에 요구되는 최소의 시간
기억장치에 읽기 신호를 보낸 후 다시 읽기 신호를 보낼 때까지의 시간 간격
비 파괴 기억 장치인 SRAM 기억장치는 사이클 시간이 액세스 시간이 같으나
파괴 기억장치인 자기코어 기억장치는 액세스 시간과 복원 시간을 합한 시간임
–SRAM : Cycle time(사이클 시간) = Access time(액세스 시간)
–자기코어 : Cycle time(사이클 시간) = Access time + Restoration time(복원 시간)
–DRAM : Cycle time(사이클 시간) = Access time + Refresh time(재충전 시간)
4/70
기억장치 계층 구조와 성능 평가
Computer Architecture
기억장치의 성능 평가_3
–기억장치의 대역폭(Bandwidth)
기억장치에서 데이터를 1초 동안에 받아들일 수 있는 최대 비트 수
1초 동안 전송되는 최대 정보량으로 기억장치의 처리 속도를 나타내는 단위
–데이터 전송률(Data transportation)
기억장치로부터 데이터를 읽을 때 초당 몇 비트가 전송되는가로 결정
단위시간에 전달되는 데이터 량
–가격(Cost)
CPU와 직접 연결된 기억장치는 용량이 적고 속도가 빠른 것을 장치하여 처리
속도를 높여야 하는데 기억장치의 가격은 데이터 전송률에 비례함
5/70
주기억장치
Computer Architecture
주기억장치 – P313
–실행될 프로그램과 데이터를 저장
–한 명령씩 제어장치로 보내져 해독되고 처리된 후 결과를 보관
–프로세서(CPU)와 주기억장치 간의 관계
6/70
주기억장치
Computer Architecture
주기억장치의 구조
–주기억장치는 휘발성 기억장치로서 전원이 ON인 상태에서만 데이터를
기록 및 판독할 수 있으며, 전원이 OFF되면 기억된 내용이 모두 지워짐
–주기억장치의 구조
7/70
주기억장치
Computer Architecture
주기억장치에서 명령어의 처리 – P315
–머신 사이클(machine cycle)
프로그램 수행을 위해 CPU가 진행하는 명령어 처리에 관한 일련의 동작
인출, 해석, 실행, 저장의 4 단계로 분류
–시스템 클록
컴퓨터 시스템의 모든 하드웨어 장치의 동작 기준시간
시스템 클록을 이용해 컴퓨터 내의 모든 처리에 대한 속도를 제어
8/70
주기억장치
Computer Architecture
주기억장치의 분할 – P315
–주기억장치의 분할구조
–시스템 프로그램 영역
운영체제(operating system)가 저장된 부분
상주 구역(resident area) : 자주 사용되는 프로그램이 항상 저장되는 부분
비상주 구역(transient area) : 가끔 사용되는 프로그램들의 공용 저장 구역
9/70
주기억장치
Computer Architecture
주기억장치의 분할
–사용자 프로그램 영역
일반적인 프로그램이 기억되는 장소
사용자 프로그램 영역은 여러 부분으로 분할하여 각각에 독립된 프로그램을
기억시켜 이들이 다중 프로그래밍 방식으로 동작하도록 함
주기억장치를 분할하였을 때 사용자 프로그램이 시스템 프로그램 영역에 어떤
내용을 기억시키면 비정상 상태를 만들게 됨
기억 보호(storage protection)는 주 기억장치를 여러 개로 분할하여 독립적
으로 사용할 때 각 영역을 운영체제가 보호해주는 기능을 말함
필요에 따라 시스템 프로그램 영역 내의 특정 정보를 이용해야 할 경우 시스템
프로그램의 서비스 루틴을 호출하여 사용할 수 있음
10/70
주기억장치
Computer Architecture
주기억장치와 레지스터 – P317
–주기억장치의 번지는 MAR(Memory Address Register)에 의해 전달
–주기억장치의 데이터는 MBR(Memory Buffer Register)에 의해 전달
–주기억장치와 이들 레지스터의 관계
주기억장치에서 데이터를 읽기 위한 절차
–MAR에 읽기 위한 단어의 번지를 저장
–판독 신호를 전송
–MBR에 있는 데이터를 판독
주기억장치에 데이터를 쓰기 위한 절차
–MAR에 쓰시 위한 단어의 번지를 저장
–MBR에 데이터를 저장
–기록 신호를 전송
11/70
주기억장치
Computer Architecture
주기억장치의 종류 – P318
–자기 코어
자석을 만드는 금속(ferrite)으로 매우 작은 반지 모양으로 만든 것을 말함
자기 코어에 1 또는 0을 기억시킬 때, 전류가 흘러갈 때 발생시키는 자기장에
의해 자기 코어가 자화되도록 하는 것
자화시켜서 기록하며 주기억장치용 소자이고 비소멸성 소자임
자기 코어는 2개의 구동선(driving wire)과 센스선, 금지선을 가짐
12/70
주기억장치
Computer Architecture
주기억장치의 종류 – P319
–반도체 기억장치
도체나 절연체의 중간 성질을 반도체(semiconductor)를 이용
다이오드(diode), 트랜지스터(transistor), 집적회로(IC) 등이 주요 소자임
주기억장치로 사용되는 것은 RAM과 ROM이 있음
13/70
스택과 큐 기억장치
Computer Architecture
스택 기억장치 – P319
–후입선출(LIFO, last-in first-out) 방식의 구조로 가장 나중에 저장된
데이터를 가장 먼저 꺼낼 수 있는데 이를 위하여 스택 포인터(SP)를 둠
–스택에 넣는 동작을 PUSH, 꺼내는 동작을 POP이라고 하는데 이는 현재
SP가 가리키는 곳에서 일어남
–스택 포인터(SP)라는 레지스터에 의해 더 이상 저장될 기억 장소가 없을
때를 오버 플로 (overflow), 더 이상 꺼낼 데이터가 없을 때를 언더 플로
(underflow)라고 하며 RAM 기억장치에서의 스택 구조는 그림과 같음
3
1
2
3
14/70
2
1
3
스택과 큐 기억장치
Computer Architecture
스택 기억장치
–스택 구조의 PUSH, POP 동작 알고리즘
–한 개 이상의 스택을 사용하는 경우도 있으며 각각 독립적으로 존재함
–중앙 처리 장치에 연결된 RAM의 일부분으로 구성할 수 있음
–스택 포인터가 지적한 번지의 기억 내용이 액세스되어 짐
15/70
스택과 큐 기억장치
Computer Architecture
스택 기억장치
–스택 구조에서 A,B,C를 입력(PUSH)하고 C,B를 출력(POP)하는 과정
–스택 구조의 산술식 표현은 Reverse Polish notation을 사용
–수식 A+(B/2)에 대한 각 표현 방법
16/70
스택과 큐 기억장치
Computer Architecture
스택 기억장치
–Infix는 변수와 변수 중간에 연산자가 위치
–prefix는 연산자를 변수 앞에 위치시키는 방법
–Postfix는 연산자를 변수 뒤에 위치시키는 방법으로 스택 처리 과정에
가장 적합한 구조로 이를 역 폴리시 표현이라 함
–A+(B/2)의 스택을 통한 연산 과정
17/70
스택과 큐 기억장치
Computer Architecture
큐 기억장치 – P321
–순차 접근 방식의 기억장치로 선입선출(FIFO, first-in first-out) 방식
으로 운영되며 데이터의 입력과 출력이 각각 다른 곳에서 발생
–컴퓨터 구성 장치들간의 데이터 전송 시 발생하는 속도 차이를 해결
–한 데이터를 저장할 수 있는 많은 레지스터들이 연속적으로 연결된 구조
–컴퓨터와 주변 장치 사이에 기억 버퍼로 사용될 수 있으며, 처리 용량은
큐의 크기를 초과할 수 없음
18/70
스택과 큐 기억장치
Computer Architecture
큐 기억장치
–큐 기억장치 구조
–입출력 동작의 알고리즘
19/70
보조기억장치
Computer Architecture
보조기억장치 – P322
–주기억장치를 보완하기 위해 사용되는 대용량 데이터 저장용
반영구적인 기억장치
–프로그램이나 데이터를 외부에 저장시키기 위해 사용하는 기억장치
–CPU, ROM, RAM, 보조기억장치의 관계
20/70
보조기억장치
Computer Architecture
보조기억장치 접근 방식
–순차적 액세스(sequential access)
자기 테이프, 카세트 테이프
–직접 액세스(direct access)
자기 디스크, 자기 드럼, 플로피 디스켓, 하드디스크, CD-ROM, DVD
21/70
보조기억장치의 평가 기준
Computer Architecture
평가 기준 – P323
–저장 장치 용량
많은 프로그램과 커다란 DB는 큰 용량을 요구하므로 비용도 높아짐
저장 장치 용량 문제를 해결하기 위해 압축 소프트웨어를 사용하기도 함
–액세스 속도
기억장치에서 데이터를 판독/기록하는데 걸리는 시간을 의미함
액세스 속도는 밀리 초로 측정되며 하드디스크는 플로피 디스켓보다
빠르고 자기 디스크는 자기 테이프보다 빠름
기억장치의 사이클 타임(cycle time)
22/70
보조기억장치의 평가 기준
Computer Architecture
–전송률
보조 저장 장치에서 주기억장치로 데이터 전송에 걸리는 시간
–크기
상황에 따라 적절한 기억장치의 크기를 선택해야 함
–분리 가능성
착탈식 하드 디스크와 같은 분리 가능한 저장 장치가 필요할 수도 있음
–비용
단가에 비해서 용량이 적으며 속도가 빠를수록 높은 가격의 기억장치
23/70
보조기억장치의 종류
Computer Architecture
자기 테이프(magnetic tape) – P325
–폴리에스터 필름에 자화 물질을 발라서 자화 형태로 정보를 기록 및 판독
–순차적 액세스 기억장치 중에서 가장 많이 사용되는 매체
–간편하며 용량이 커서 자료를 장기간 보관시키는데 많이 사용됨
–트랙(track)
폭을 7~9등분하고 이렇게 구획된 하나하나를 트랙이라 함
–테이프에 데이터를 기록할 때에는 테이프 폭을 세로로하여 지정되는 각
트랙에 정보 코드로 기록하고, 가장 위쪽 트랙은 기계적 에러를 알아내기
위한 검사 비트로 사용하는 것이 일반적임
–한 번에 1문자씩 기록하거나 읽어내므로 7~9개의 헤드가 한 조를 이룸
EBCDIC코드로 기록하도록 9등분한 것을 9트랙이라 함
BCD코드를 기록하기 위해 7등분한 것을 7트랙이라 함
24/70
보조기억장치의 종류
Computer Architecture
자기 테이프(magnetic tape)
–9트랙 자기 테이프
25/70
보조기억장치의 종류
Computer Architecture
자기 테이프(magnetic tape)
–데이터를 기록하는 밀도는 1600~6250BPI(bit per inch)
하나의 트랙을 기준으로 한 것이므로 1인치에 1600~6250문자를 기억
–감개에 감아서 사용하므로 테이프에 데이터를 기록하는 지점과 끝나는
지점을 기계적으로 알 수 있도록 해야 함
–시작점을 BOT(beginning of tape 또는 load point)라 함
–끝나는 지점은 EOT(end of tape)라 하며, 은박지로 붙여서 빛으로 구별
할 수 있도록 함
26/70
보조기억장치의 종류
Computer Architecture
자기 테이프(magnetic tape)
–데이터를 기록할 때 모든 레코드의 길이를 같도록 하여 기록할 때는 고정
길이(fixed length)형식이라 함
–레코드는 파일에 데이터를 읽고 쓰는 단위
–레코드 몇 개를 하나로 묶어서 블록(block)이라 함
–컴퓨터가 자기 테이프에서 데이터를 읽을 때는 블록 단위로 읽음
–블록과 블록 사이는 움직이는 물체에 대한 관성의 법칙에 따라 데이터가
기록되지 못하는 공간(gap)이 있음
27/70
보조기억장치의 종류
Computer Architecture
자기 테이프(magnetic tape) – P326
–IRG(inter record gap): 레코드와 레코드 사이의 공백
–IBG(inter block gap): 블록과 블록 사이의 공백
28/70
보조기억장치의 종류
Computer Architecture
자기 테이프(magnetic tape)
–고정 길이 형식과 가변 길이 형식
29/70
보조기억장치의 종류
Computer Architecture
자기 테이프(magnetic tape)
–가변 길이(variable length) 형식
각 레코드의 길이가 일정하지 않고 각 레코드에 자신의 길이를 표시한 형식
각 레코드 앞에 자신의 길이를 표현하고, 각 블록의 앞에는 블록의 길이가 표현
–부정 형식(undefined format)
레코드의 길이가 각각 다르고 자신의 길이를 표현하지 않은 형식
–기억 용량이 매우 크지만, 순서대로 기록하고 순서대로 찾아 내는 순차적
처리방식이기 때문에 정보의 기억된 위치에 따라 찾아내는 시간이 다름
30/70
자기 디스크
Computer Architecture
자기 디스크(Magnetic disk) – P328
–레코드 판과 같이 얇고 둥근 원판에 자성 물질을 입힌 자기 디스크에
정보를 자기 헤드(magnetic head)를 통해 읽고 쓰는 장치
–원형의 디스크를 몇 장 겹쳐서 중심을 서로 연결시킨 모양으로 이것들은
함께 일정한 속도로 회전하며, 이를 디스크 팩(disk pack)이라 함
–프로그램이나 데이터에 순서적 또는 직접 액세스가 가능하며 속도가
빠르고 기억 용량도 크기 때문에 보조 기억장치로 널리 사용됨
31/70
자기 디스크
Computer Architecture
자기 디스크(Magnetic disk)
–실린더(cylinder)
동심원들의 집합을 말함
헤드가 1 번에 판독 및 기록할 수 있는 원통형의 트랙 군
–섹터(sector)
트랙을 일정한 구간으로 나누는 하나 하나
–트랙과 섹터
32/70
자기 디스크
Computer Architecture
자기 디스크(Magnetic disk)
–액세스 암(access arm)
디스크 팩에 있는 데이터를 읽거나 쓰는 헤드는 하나의 축에 고정되어서 같이
움직이는데 이때 헤드와 연결된 막대를 말함
헤드가 한곳에 정지해 있고 디스크가 한번 회전하면 그 아래는 원이 만들어지며
이러한 동심원들을 트랙이라 함
–디스크 팩과 컴퓨터실의 자기 디스크 장치들
33/70
자기 디스크
Computer Architecture
자기 디스크(Magnetic disk)
–탐색 시간(seek time)
디스크 팩에서 특정 위치를 찾기 위해 헤드가 해당 트랙까지 이동하는 시간
–검색 시간(search time/latency time)
헤드가 해당 트랙 내에서 해당 섹터의 위치를 찾는 시간
–전송 시간(Transmission time)
해당 내용을 전송하는데 걸리는 시간
–Access time(접근 시간) = 탐색 시간 + 검색 시간 + 전송 시간
34/70
자기 드럼
Computer Architecture
자기 드럼 – P329
–북(원통)처럼 생긴 드럼의 표면에 자화 물질을 입힌 다음에 트랙 단위로
나누어 자화시켜 정보를 읽고 쓰는 장치
35/70
자기 드럼
Computer Architecture
자기 드럼
–자기 디스크 장치보다 용량은 적지만 액세스 속도는 빠름
–회전하는 자기 드럼의 표면에 자성체를 입힌 것으로 자기 디스크와 같이
데이터가 기록되는 수백 개의 트랙이 띠를 이루는 구조
–트랙에는 각 트랙에 맞추어 판독 기록 헤드가 하나씩 고정되어 있음
–트랙은 고유 번호가 주어져 있으며, 각 트랙은 몇 개의 단어를 묶음으로
해서 판독과 기록을 하게 되는데 이것을 섹터라 하고 각각 번호를 붙임
36/70
디스켓
Computer Architecture
디스켓(diskette) – P330
–기억 용량은 작지만 가격이 저렴하고 다루기 용이해서 개인용 컴퓨터의
대표적인 보조기억장치로 사용됨
–한 장의 얇은 플라스틱으로 만든 디스크로 플로피 디스크라고 함
–5.25인치와 3.5인치 규격이 주로 사용됨
–디스크 면의 일부가 노출되어 있어서 자성체, 먼지, 열 등에 의해 기록된
내용이 파괴되기 쉬우므로 주의하여 다루어야 함
37/70
디스켓
Computer Architecture
디스켓(diskette)
–트랙과 섹터
디스켓 위에 있는 데이터는 트랙이라 불리는 동심원에 기록됨
각각의 트랙은 섹터들로 나뉘어 짐
시스템 소프트웨어는 판독/기록 헤드를 원하는 데이터의 위치로 이동시킨 다음,
디스크를 빠르게 회전시켜 데이터에 접근(판독 및 기록)
–비포맷 디스크 대 포맷 디스크
포맷 또는 초기화란 디스크를 사용할 수 있게 준비시켜 작동 시스템이 그 위에
정보를 읽고 쓸 수 있게 하는 것을 의미함
포맷에는 디스크 위에 트랙과 섹터를 정하는 것이 포함
포맷은 몇 개의 단순한 소프트웨어 명령어들로 신속하게 이루어짐
38/70
디스켓
Computer Architecture
디스켓(diskette)
–데이터 용량
디스켓의 양쪽 면에 정보를 저장할 수 있는 경우, DS(Double Sided)라고 함
디스크의 용량은 저장밀도에 따라 다름
저장 밀도란 디스크의 표면에 기록될 수 있는 인치당 비트의 수와 관계됨
디스켓 기억장치의 용량
–기록방지 기능
디스켓이 바이러스에 감염되거나 데이터가 손실되는 것을 막게 해줌
39/70
하드디스크
Computer Architecture
하드디스크(HDD, Hard Disk Drive) – P332
–소형의 자기 디스크를 헤드와 함께 밀봉한 형태로 만든 것
–가격이 싸고 기억 용량이 커서 개인용 컴퓨터에서 많이 사용됨
–드라이브 주축 위에 디스크 평판이 있음
–앞뒤로 움직이는 작동 장치 위에는 판독/기록 헤드가 장착되어 있음
–디스켓 드라이브와 같은 방법으로 작동됨
–트랙, 섹터, 실린더 개념은 자기 디스크에서와 동일
–속도에 있어서 디스켓보다 몇 배 빨리 회전하므로 고속 처리가 가능함
40/70
하드디스크
Computer Architecture
하드디스크 드라이브 유형
–SCSI(small computer system interface)
PC와 주변장치를 빠르고 더 유연하게 통신할 수 있도록 해주는 인터페이스로서
ANSI 표준으로 발전하고 있음
애플 컴퓨터에서 개발되었고 매킨토시에서 사용되고 있으며, 병렬 인터페이스임
–EIDE(enhanced integrated drive electronics)
마더 보드의 확장 슬롯/보드를 통해 리본 케이블로 하드디스크를 연결하는 방식
SCSI에 비해 가격이 저렴함
41/70
하드디스크
Computer Architecture
단편화 그리고 조각정리
–단편화
데이터 파일이 서로 인접해 있지 않은 수많은 클러스터에 분산되는 것을 의미함
단편화된 파일은 데이터를 찾기 위해 판독/기록 헤드의 부가적인 움직임을 유발
하므로 데이터에 액세스하는 속도가 떨어지게 됨
–조각 정리
하드디스크의 데이터가 재정리되어 인접한 클러스터들 안에 저장되는 것을 의미
윈도우에서의 디스크정리와 조각 모음 대화상자
42/70
하드디스크
Computer Architecture
하드디스크의 종류
–외장 디스크 드라이브
컴퓨터 본체에 내장 하드디스크를 수용할 자리는 없을 때 추가로 저장 장치가
필요할 경우 외장 하드디스크 드라이브를 추가시킬 수 있음
–착탈식 하드디스크나 카트리지 시스템
일반 디스켓보다 훨씬 많은 양의 데이터를 담을 수 있는 저장 장치가 등장함
이러한 것들 중의 하나가 ZIP 드라이브임
–외장형과 내장형 ZIP 드라이브
43/70
CD-ROM
Computer Architecture
CD-ROM(Compact Disk Read Only Memory) – P334
–알루미늄에 특수 플라스틱을 씌워서 만들고 데이터는 레이저 광선으로
미세한 구멍을 뚫어 기록하고 필요할 때 읽어서 사용하는 장치
–디지털 방식으로 문자는 물론 영상 데이터와 음성까지 저장시킬 수 있음
–A4 용지로 30 만장 정도의 많은 양의 데이터를 저장시킬 수 있으므로
대 용량 정보의 영구 보관 업무 또는 멀티미디어 업무에 사용됨
44/70
CD-ROM
Computer Architecture
CD-ROM(Compact Disk Read Only Memory)
–타이틀(title)
CD-ROM에 담겨진 정보나 소프트웨어
–CD-ROM을 삽입하는 방식
플라스틱 상자를 이용하는 캐디(Caddy) 방식
일반 오디오와 같이 전면에서 선반이 나와 CD-ROM을 삽입하는 트레이 방식
–피트(pit)
레이저 광선을 사용하여 플라스틱 표면 안의 알루미늄에 데이터를 나타내기
위해 만든 작은 홈
–데이터를 판독하기 위해 저동력 레이저 광선이 디스크의 표면을 스캔
홈이 난 지역은 반사되지 않고 0비트로 해독하며 편편한 지역은 반사되고 1비
트로 해독됨 (홈이 아주 작아서 많은 데이터가 저장됨)
45/70
DVD
Computer Architecture
DVD(Digital Versatile Disk / Digital Video Disk)-P336
–CD-ROM과 음악 CD를 빠르게 교체할 것으로 예측되는 광학 디스크 기술
–DVD 장치 구분
–DVD는 일반 CD보다 훨씬 많은 데이터를 저장함
–MPEG-2 파일과 압축 표준을 사용
–MPEG-2 이미지들은 MPEG-1 이미지의 4배나 되는 해상도를 가짐
46/70
보조기억장치
Computer Architecture
데이터 셀(data cell) – P337
–수 백만 개의 자기 필름(magnetic film)을 수용할 수 있는 보조기억장치
–서로 분리 될 수 있는 10개의 셀로 구성된 기억장치이며, 각 셀은 20개의
서브 셀로 이루어지고, 이 서브 셀에는 10개의 자기 필름이 들어 있음
대용량 기억장치(MSS, mass storage system)
–대용량 기억장치와 자기 디스크로 구성
–사용자 요구에 따라 대용량 기억장치로부터 자기 디스크로 필요한 자료를
이동시킴으로 중앙처리장치가 언제라도 처리할 수 있게 하는 기능을 가짐
–기록 보관용의 저속 대용량 기억장치로 자기디스크와 연동
47/70
보조기억장치
Computer Architecture
자기 버블 메모리
–자기 버블의 존재 유무로 한 비트의 ON/OFF 상태를 나타내는 기억장치
–수백만 비트의 데이터를 저장할 수 있고 데이터를 매우 빠르게 액세스할
수 있으며 전원이 꺼지더라도 저장된 데이터가 유지되는 보조기억장치
–자기장에 의한 원통형 기포인 자기 버블을 이용하는 기술
전하 결합 장치(Charge Coupled Device)
–MOS(금속 산화막 반도체) 축전기로 구성한 기억 장치
–전자 유동장의 영향에 따라 시프트 레지스터를 통하여 연속적으로 회전
하여 저장된 정보를 얻는 기억 소자
–반도체 내부에서 전위를 통해 순차적으로 전하를 축적 및 전송하는 장치
48/70
캐시기억장치
Computer Architecture
캐시기억장치(cache memory) – P338
–중앙 처리 장치와 주 기억 장치 사이에 고속의 기억 장치를 만들어 두고,
이곳에서 블록 단위로 명령을 가져다 놓고 처리
–주 기억장치와 중앙 처리 장치의 속도 차이를 보완
–캐시 기억장치의 위치
–주기억장치에 기억된 프로그램이나 데이터는 반드시 캐시 기억장치를
통하여 CPU에 전해지도록 함
49/70
캐시기억장치
Computer Architecture
캐시기억장치(cache memory) – P339
–적중율(hit ratio)
캐시를 가진 컴퓨터의 성능을 나타내는 척도의 하나
CPU가 캐시기억장치에서 필요한 명령을 찾았을 때는 적중(hit)되었다고 함
캐시기억장치는 적중률이 높을수록 속도가 향상됨
캐시 적중 횟수와 실패 횟수의 합으로 적중 횟수를 나눈 것
–페이지
캐시 기억장치와 주기억장치를 일정한 크기로 나눈 것
각 페이지는 연속된 일정 크기의 블록으로 구성
50/70
캐시기억장치
Computer Architecture
캐시기억장치(cache memory)
–주기억장치와 캐시기억장치를 사용할 때의 내부 번지
–어떤 명령이 수행될 때 그 명령어의 번지부에 표시된 번지가 캐시 내에
있는 번지이면 캐시 페이지 번호를 바꾸어야 하는데 이때 아래 그림과
같은 캐시 번지표를 사용
캐시 페이지 번지는 캐시기억장치 내에 있는 번지이며, 그 오른편의 1과 0은
페이지 내의 각 블록에 대한 상태를 나타내는 것
블록 상태 비트가 1이면 그 블록이 캐시 기억장치 내에 있는 것이고 0이면 캐시
기억장치 내에 없음을 나타냄
51/70
캐시기억장치
Computer Architecture
매핑 프로세스 – P340
–주 기억 장치로부터 캐시 기억 장치로 데이터를 전송하는 방법
어소시에이티브 매핑
직접 매핑
세트 어소시에이티브 매핑
52/70
캐시기억장치
Computer Architecture
–어소시에이티브 매핑(Associative mapping) – P340
가장 빠르고 융통성 있는 구조
기억장치 워드의 번지와 데이터를 함께 저장
주기억장치의 어떤 단어도 캐시의 임의의 위치에 저장할 수 있는데 만약 캐시가
가득 차 있으면 라운드로빈(round-robin)방식 등으로 번지-데이터쌍을 교체함
아래 그림은 CPU의 15비트 번지에 대한 데이터를 찾는 매핑 과정
53/70
캐시기억장치
Computer Architecture
–직접 매핑(Direct mapping) – P341
CPU가 메모리의 참조를 요청할 때 CPU 번지의 tag 필드와 캐시의 tag 필드가
비교되어 일치하면 원하는 데이터를 찾게 되고, 그렇지 않으면 원하는 워드를
주기억장치로부터 다시 읽는 방식
만약 같은 인덱스를 가졌으나 다른 태그를 가진 두 개 이상의 워드가 반복해서
인덱스된다면 히트율이 상당히 떨어질 수 있다는 단점이 있음
54/70
캐시기억장치
Computer Architecture
–직접 매핑(Direct mapping)
아래 그림에서 0번지 워드는 현재 캐시에 기억되어 있으며, 이때 인덱스는 000,
태그는 00, 데이터는 1111 임
55/70
캐시기억장치
Computer Architecture
–세트 어소시에이티브 매핑(Set associative mapping) – P342
기억장치 참조 요청시 CPU 번지 태그와 매핑 표의 2개 이상의 태그 필드를 비교
–이때 히트율은 같은 인덱스를 가지나 태그가 다른 많은 인덱스를 캐시 안에 저장 할 수
있기 때문에 세트 크기가 클수록 향상될 수 있으나 세트 크기의 증가는 캐시 내의 워드
비트 수를 증가시키고 많은 비교 논리회로를 요구함
이 방식은 캐시의 각 워드에 같은 인덱스 번지에 해당하는 두 개 이상의 기억장치
값을 저장함으로써 직접 매핑의 단점을 보완함
캐시기억장치에 기록하는 방식
–write-through 방식
기록 동작 시 캐시 기억장치와 주 기억장치를 동시에 갱신
–write-back 방식
기록 동작 시 캐시 내용만이 갱신되고 플래그로 표시하여 워드가 캐시로부터 제거될
때 주 기억장치에 복사됨
56/70
연관 기억장치
Computer Architecture
연관 기억장치(associative storage) – P342
–기억된 데이터 내용에 의해 그 위치에 접근할 수 있는 기억장치
–정보검색이 신속하고 병렬검색이 가능하나 고가임
–캐시 기억장치의 내부에서 사용됨
–검색이 전체 워드 또는 일부만 가지고도 시행될 수 있음
–CAM(content addressable memory)이라 하기도 함
57/70
연관 기억장치
Computer Architecture
연관 기억장치(associative storage) – P343
–연관기억장치에 대한 개념도
58/70
연관 기억장치
Computer Architecture
연관 기억장치(associative storage)
–하드웨어 구성
m 개의 워드
n 비트의 메모리 어레이 (memory array)와 논리 회로
인수 레지스터
키 레지스터
매치 레지스터
–인수 레지스터는 검색할 내용을 저장
–키 레지스터는 검색할 인수 레지스터의 내용 일부의 비트에 1을 set
59/70
연관 기억장치
Computer Architecture
연관 기억장치(associative storage)
–1비트 연산 기억 회로
인수 A는 키 K에 의해 걸러지고, 일치 논리 회로에 의해 기억 회로의 내용과
비교하며, 이때 서로 일치되면 일치 레지스터를 1로 함
60/70
연관 기억장치
Computer Architecture
연관 기억장치(associative storage) – P344
–기억장치 자료 중 나이가 20세 이상 35세 이하인 데이터의 검색 원리
인수 레지스터의 나이 항목에 20을 기억시키고 나머지는 모두 0으로 함
데이터 중에 나이가 20보다 크거나 같으면 일치 레지스터 C1에 1을 기억시킴
인수 레지스터의 나이 항목에 35를 기억시키고 다른 항은 모두 0으로 만듬
나이가 35보다 작거나 같으면 일치 레지스터 C2를 1로 함
61/70
연관 기억장치
Computer Architecture
연관 기억장치(associative storage)
1
62/70
가상기억장치
Computer Architecture
가상기억장치(virtual memory) – P345
–주기억장치의 용량을 보다 크게 만드는 메모리 운영기법
–보조기억장치를 사용하여 주기억장치가 확장된 것과 같이 처리
프로그램을 작은 블록으로 보조기억장치에 보관하다가 실행 시 필요한 부분만
주기억 장치에 적재하여 사용하는 기술
–가상 번지 vs. 실제 번지
가상 번지
보조기억장치 번지 , 번지 공간
실제 번지
주기억장치 번지 , 기억 공간
–블록 관리 기법
페이징 기법
동일한 크기로 블록을 관리
세그먼트 기법
가변 크기로 블록을 관리
63/70
가상기억장치
Computer Architecture
페이징 기법
–가상기억장치 관리에 페이지를 사용하는 기법
–번지 공간과 기억 공간의 분할
주 기억장치
CPU
실제 번지
기억 공간
0 1 2 3
매핑(mapping)
보조기억장치
가상 번지
번지 공간
0 1 2 3
4 5 6 7
64/70
가상기억장치
Computer Architecture
페이징 기법
–가상 번지 (p, d)로 표현
p는 가상기억장치 내에서 참조될 항목이 속해 있는 페이지 번호
d는 페이지 p 내에서 참조될 항목이 위치하고 있는 곳까지의 변위(offset)
–가상 번지 vs. 실 기억장치 번지의 변환 (매핑)
가상 번지 V=(p, d)에 대해 페이지 매핑 표에서 p에 대응되는 p’을 찾음
페이지 프레임 p’에 d를 더하여 실기억장치의 번지를 구함
65/70
가상기억장치
Computer Architecture
페이징 기법
–가상 번지에 의하여 실번지로 매핑되는 원리
보조기억장치
66/70
가상기억장치
Computer Architecture
세그먼트 기법 – P350
–가상기억장치 관리에 세그먼트를 사용하는 기법
–가상 주소는 아래 그림과 같이 순서쌍 V=(s, d)로 표현됨
s는 참조될 항목이 속해 있는 가상기억장치에서의 세그먼트 번호
d는 세그먼트 s내에서 참조될 항목이 위치해 있는 곳까지의 변위
–V=(s,d)에 대한 세그먼트 기법의 동적 주소 변환 과정
세그먼트 사상표에서 s에 대응되는 세그먼트 s’를 찾음
세그먼트 s’에 d를 더하여 실기억장치의 주소 r을 구함
67/70
가상기억장치
Computer Architecture
세그먼트 기법
–세그먼트 사용 시스템에서의 가상 주소 변환 과정
68/70
메모리 인터리빙
Computer Architecture
복수 모듈 기억장치 – P352
–독립적인 기억장치의 역할을 담당하는 여러 개의 기억 모듈로 구성
–시간적 분할(time sharing) 개념을 사용하여 속도 개선
–번지와 데이터를 전달하는 회선이 버스로 연결되어 서로 공유
69/70
메모리 인터리빙
Computer Architecture
메모리 인터리빙
–인터리빙
기억 장치를 액세스(접근)하는 순서가 하나의 모듈에서 차례대로 수행하지 않고
여러 모듈을 병행해서 접근하는 것
주기억장치와 CPU의 속도 차이 문제를 해결
n번째부터 3개의 명령을 수행할 경우
–n번째는 1번모듈에, n+1번째는 2번모듈에, n+2번째는 3번모듈에 각각 할당
–1번 기억장치 모듈에서 n번째에 액세스할 때 n+1, n+2번째 명령을 2번과 3번 기억
장치 모듈을 통해 병행 처리하게 됨
일반 기억장치
복수모듈 기억장치
n
n+3
n+6
n
n+1
n+2
n+1
n+4
n+7
n+3
n+4
n+5
n+2
n+5
n+8
n+6
n+7
n+8
70/70