34
멀멀멀멀멀멀멀멀 멀멀멀 omputer System Architecture 컴컴컴컴컴 컴컴컴컴컴 Computer System Architecture 멀멀멀멀멀멀멀멀 멀 멀 멀 [email protected] 컴 5 컴 컴컴 컴컴

컴퓨터구조 Computer System Architecture 멀티미디어공학과 김 해 영 hykim @tu.ac.kr

Embed Size (px)

DESCRIPTION

제 5 장 기억 장치. 컴퓨터구조 Computer System Architecture 멀티미디어공학과 김 해 영 hykim @tu.ac.kr. 제 5 장 기억 장치. 구성. 개 요 주기억장치 보조기억장치 고성능 기억장치. 개 요. 기억 장치의 계층 구조 여러 수준의 기억 장치가 연결되어 속도와 용량 등을 상호 보완한 기억장치 구조 CPU 내의 레지스터 : CPU 내부에 두어 임시 기억장소로 사용 주기억장치 ( Main Memory) : 현재 수행중인 정보를 저장 , CPU 가 직접 접근 가능 - PowerPoint PPT Presentation

Citation preview

Page 1: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

컴퓨터구조컴퓨터구조Computer System Architecture

멀티미디어공학과 김 해 영[email protected]

제 5 장 기억 장치

Page 2: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

2

제 5 장 기억 장치

개 요 주기억장치 보조기억장치 고성능 기억장치

구성

Page 3: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

3

기억 장치의 계층 구조

여러 수준의 기억 장치가 연결되어 속도와 용량 등을 상호 보완한 기억장치 구조 CPU 내의 레지스터 : CPU 내부에 두어 임시 기억장소로 사용 주기억장치 (Main Memory) : 현재 수행중인 정보를 저장 , CPU 가 직접 접근 가능

: CPU 및 I/O 프로세서와 직접 통신 (RAM) 보조기억장치 (Auxiliary Memory) : 현재 수행에는 직접 필요로 하지 않은 정보 저장

: backup storage (Disk Drives ) 캐시 메모리 (Cache Memory) : 프로그램의 일부와 자주 쓰이는 임시 데이터 저장

: 처리 속도 향상을 위한 고속 메모리 (Cache RAM) 이유 : 입출력의 경제성 용량 , 가격 , 속도

개 요

CPU 내의 레지스터

캐시 메모리

주기억장치

보조기억장치

(High)속도

, (Low용량 가격 )

자기 테이프

자기 디스크

I/O 프로세서

CPU

주기억장치

캐시메모리

보조기억장치1000

1

7

속도 (High)

용량 (High), 가격 (Low)

캐시메모리 : 주기억장치 = 1 : 7

주기억장치 : 보조기억장치 = 1 : 1,000

Page 4: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

4

기억 장치의 계층 구조

메모리 관리 시스템 (Memory Management System) 기억장치 계층 구조 사이의 프로그램과 데이터 전송 흐름을 관리

캐시 메모리 체제와 가상 기억 체제

캐시 메모리 체제 - 주기억장치와 CPU 사이의 정보 전송 담당 - 현재 사용중인 프로그램과 임시 데이터 저장

가상 기억 제체 - 보조기억장치와 주기억장치 사이의 정보 전송 담당 (DMA) - CPU 가 현재 사용하고 있지 않은 프로그램과 대용량의 데이터

접근 방법

직접 접근 메모리 (Direct Access Memory) - 기억장치의 주소를 이용하여 직접 해당 데이터가 저장된 위치에 접근 - RAM, ROM HDD, FDD

순차 접근 메모리 (Sequential Access Memory) - 데이터가 기억된 위치를 처음부터 순차적으로 접근 - 자기 테이프 , 자기 드럼

개 요

Page 5: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

5

접근 시간 (access time) 기억장치에 접근하여 내용을 얻는데 요구되는 평균시간 데이터를 읽는데 소요되는 판독 엑세스 시간 , 기록 엑세스 시간 전기 기계식 장치 메모리

접근 시간 = 탐색시간 + 대기 시간 + 전송 시간

사이클 타임 (cycle time)한 번의 접근을 시작한 시점에서 다음 번 접근을 위한 시점까지 걸리는 시간

파괴 메모리 사이클 타임 = 접근 시간 + 복원 시간 비파괴 메모리 사이클 타임 = 접근 시간

사이클 타임과 접근 시간 사이의 관계

개 요

사이클 타임 ≥ 접근 시간

Page 6: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

6

데이터 전송률 (data transfer rate)

초당 전송되는 정보량 ( 비트 수 , 문자 수 ) 일명 대역폭 (band width)

W : 한 번에 전송되는 데이터의 비트 수

예 : 어떤 기억장치의 사이클 타임이 0.5μs 이고 데이터 버스 폭이 32 비트라면 대역폭은 ? Band Width = 32 / 0.5μs = 8MB/s

기억 방식과 물리적 특성

동적 메모리와 정적 메모리 정적 메모리 (static memory) : 전원 유지되는 한 정보 유지 , 사용간편 , 읽기 / 쓰기가 빠름 동적 메모리 (dynamic memory) : 일정 주기로 충전 (refresh), 전력소비가 적고 , 대용량화

가능

휘발성 메모리와 비휘발성 메모리 (RAM) ( HDD, FDD, ROM, Fresh memory…)

파괴 메모리 ( 자기 코어 ) 와 비파괴 메모리 ( 대부분의 반도체 메모리 )

개 요

Band Width = W / Cycle time (bit/sec) 데이터의 이동 통로

Page 7: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

7

액세스 (Access) 방법에 따른 기억장치 분류

직접 액세스 메모리 ( Direct Access Memory ) 데이터의 순서에 관계없이 직접 원하는 위치로 접근하는 방법 기억장치의 주소를 이용하여 직접 해당 데이터가 저장된 위치에 접근 ROM, RAM, HDD, FDD

MAR

(Decoder)

MAR

(Decoder)Memory

Cell

Memory

Cell

MBRMBR

Address

Read/Write

반도체 메모리 구조

Page 8: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

8

액세스 (Access) 방법에 따른 기억장치 분류

순차 액세스 메모리 ( Sequential Access Memory ) 데이터 접근방식이 순차적으로 접근되는 방법 데이터가 기억된 위치를 처음부터 순차적으로 접근 큐 (Queue) 구조인 FIFO ( First In First Out) 메모리 스택 같은 LIFO (Last in First Out ) 메모리

데이터 4

데이터 3

데이터 2

데이터 1

FIFO

데이터 4

데이터 3

데이터 2

데이터 1

LIFO

Page 9: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

9

컴퓨터 내부 기억장치

저장위치 결정 주소 사용

저장자료 프로그램 명령어 데이터

저장단위 바이트 (byte)

워드 (Word)

주기억장치

Page 10: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

10

기억 소자 : 칩 선택 (CS : Chip Select) 기능 , 읽기 (RD) 기능 , 쓰기 (WR) 기능

자기 코어 기억 소자 : 페라이트 자성물질을 링으로 만들어 도선을 끼워 전류를 흐르게 하여 만듦

한번 읽은 정보는 소멸 파괴 메모리 ,

전원공급이 중단되어도 내용이 소멸되지 않는 비 휘발성 메모리

반도체 기억 소자 : RAM, ROM

주기억장치

positiveflux

(positive current)양 전류

negativeflux

(negative current)음 전류

(a) '1' 을 기억 (b) ‘0' 을 기억

S

R

입력단자 Q

Q'

출력단자

R/W ( : 1, : 0)단자 읽기 쓰기

선택단자

- 비 파괴적 메모리- 플립플롭의 대규모 집적회로- 신뢰성이 높고 , 성능 우수- 소비전력이 적음- 대부분의 컴퓨터의 주기억장치

Page 11: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

11

RAM

주기억장치

I0 I1 I2

Data Input

BC BC BC

BC BC BC

BC BC BC

BC BC BC

D0

D1

D2

D3

CS 칩 선택 단자

/ 읽기 쓰기 단자R/W

2 X 4DECODER

주 소

선 택

단자

A0

A1

O0 O1 O2

Data Output

Fig. 5-3

워드 (word) : 한 번 접근하여 얻을 수 있는 정보

주기억장치 : RAM, 일부가 ROM 으로 구성

ROM : 값이 바뀌지 않는 상수의 표

128 X 8RAM

Chip select 1

Read

CS1

CS2RDWRAD7

Chip select 2

Write7 bit address

8 bit data bus

×

CS1 WRRDCS2 메모리 기능 데이터버스 상태

0

×

×

×

0

0 0

0 0

01 1

1

1

1

1

×

0

×

×

0

1

1

Inhibit

Inhibit

Inhibit

Write

Read

Inhibit

High-impedance

High-impedance

High-impedance

Input data to RAM

Output data from RAM

High-impedance

(a) 블록도

(b)RAM 의 기능표

읽기와 쓰기 기능을 모두 가지고 있어 변경 가능한 프로그램이나 데이터를 저장

(4x3 IC RAM)

00

1

선택

0/1

Page 12: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

12

메모리 동작 MAR, MBR, 제어 신호 (RD, WR, CS)

주기억장치

1. 읽어내려는 워드의 주소 값을 MAR 에 넣는다 .

2. 칩 선택신호 (CS) 와 읽기 (RD) 신호를 활성화한다 .

Memory Uint2K word

n bits per wordAddress bus

RD WR

주소선MAR

MBR

CS

데이터선 Data bus

읽기 동작읽기 동작

쓰기 동작쓰기 동작

1. 저장하고자 하는 위치의 주소 값을 MAR 에 넣는다 .

2. 메모리에 저장될 데이터를 MBR 에 넣는다 .

3. 칩 선택신호 (CS) 와 쓰기 (WR) 신호를 활성화한다 .

Page 13: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

13

ROM 비휘발성 메모리 원하는 자료를 임의의 주소에서 접근 읽을 수만 있는 메모리 시스템 프로그램이나 운영체제 내장 종류

Mask ROM

» 제조단계에서 프로그램을 장착한 상태로 출하

» 다시 프로그램 불가

PROM (Programmable ROM)

» 프로그램 가능한 상태

» 단 한번 포로그램 장착 가능

EPROM (Erasable PROM)

» 사용자가 내용을 지우고 다시 포로그램 할 수 있는 ROM

» 자외선 노출로 지움

주기억장치

Page 14: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

14

ROM

주기억장치

P ower- ON

FFFF :0000(Reset P oint)

P OST

System Init.

INT 19

Load Bootstrap Record(Track 0, Sector 0)

Load Operating System(IO .SYS, MSDOS.SYS, C OMMAND.C OM)

Bootstrap LoaderBootstrap ROMBoot ROM

512 X 8ROM

Chip select 1 CS1

CS2

AD9

Chip select 2

9 bit address

8 bit data bus

같은 크기의 RAM 보다 더 많은 비트의 용량 32 X 4 ROM 구현 예

5×32디코더

A0

A1

A2

A3

A4

번지입력선

128 링크

F1 F2 F3 F4

012

32

32 X 4 ROM

읽기 동작만을 수행하는 기억장치로 한 번 기억된 내용은 전원 공급이 중단 되어도 정보는 유지 . 변경될 가능성이 없는 프로그램과 데이터를 영구히 기억하는데 사용

Page 15: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

15

CPU 로의 메모리 연결 메모리 주소 맵 (memory address map) : Tab. 5-1

메모리 구성 : 1 x 512byte ROM + 4 x 128bytes RAM 각 칩에 지정된 메모리 주소

CPU 로의 연결

주기억장치

CPU

RD WR Data bus16 ~ 11 10 9 8 7 ~ 1

128 X 8RAM 1

CS1

CS2RDWRAD7

128 X 8RAM 2

CS1

CS2RDWRAD7

128 X 8RAM 3

CS1

CS2RDWRAD7

128 X 8RAM 4

CS1

CS2RDWRAD7

512 X 8ROM

CS1

CS2

AD9

2x4Decoder

3 2 1 0

1 ~ 7

98

» Address line 9 8

RAM 1 0 0 : 0000 - 007FRAM 2 0 1 : 0080 - 00FFRAM 3 1 0 : 0100 - 017FRAM 4 1 1 : 0180 - 01FF

» Address line 10ROM 1 : 0200 - 03FF

» 2 x 4 Decoder : RAM select (CS1)» Address line 10 (RAM or ROM select)

RAM select : CS2 ROM select : CS2 의 Invert

» RAM 은 입출력 양방향으로 정보를 전송

» ROM 은 출력 기능뿐

0

0

0

0

1

읽기 / 쓰기의 활성화

1

Page 16: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

16

보조기억 장치

당장 필요치 않으나 필요 시 주기억장치에 전달될 자료 기억 속도는 느리나 용량이 크고 , 반영구적으로 정보 저장 정보 저장 방법

파일 단위로 저장 레코드로 단위데이터를 취급

데이터 접근방법 순차 접근 기억 장치

처음 들어온 데이터부터 순서대로 검색하여 자료에 접근하는 방법 자기테이프

임의 접근 기억 장치 파일 내 특정레코드 검색 시 직접 원하는 레코드로 접근하는 방법 파일 저장에 특정한 순서가 없음 자기디스크 , 자기 드럼

종류 자기 디스크 자기 드럼 자기 테이프 CD-ROM

Page 17: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

17

자기테이프

장점 대용량의 기록 보관 보관 , 운반이 편리 기억매체의 비트 당 가격이 저렴 매체 교환이 용이

단점 순차 액세스이므로 평균 접근시간이 느리다 . 파일 수정 시 전체를 갱신해야 한다 .

보조기억 장치

플라스틱 테이프에 자성 재료를 칠하여 릴에 감아 사용 길이 : 800, 1200, 1600, 2400피트 레코드에 자료 기록 방법

비 블록화 (Unblocking)» 논리레코드 단위로 기억

블록화 (Blocking)» 물리레코드 단위로 기억

논리레코드 : 한건의 자료를 취급하는 단위 데이터

물리레코드 : 입출력 장치로 한번에 입 / 출력되는 데이터

Page 18: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

18

자기 디스크 ( 직접 접근 기억장치 ) 얇은 금속판이나 플라스틱 원판에 자성재료를 입혀 회전을 이용하여 데이터에

접근하는 보조기억장치 블록 (block) : 주소에 의하여 지정할 수 있는 정보의 단위 주기억장치에서 주소에 의하여 지정할 수 있는 정보량인 바이트 혹은 워드에

비하면 주소의 정밀도가 낮음

보조기억장치

섹터

트랙

read/writehead

자기디스크 표면의 구분

실린더주소가 지정되는 최소단위의 영역

이동 헤드 디스크 (moving head disk) 각 디스크 표면마다 하나의 read-write 헤드를 가지고 있으며 access arm 을 움직여 원하는 위치를 찾음 (floppy disk) 고정 헤드 디스크 (fixed head disk) 각 디스크 표면의 트랙마다 지정된 read-write 헤드를 가지고 있음 (Hard disk)

이동 헤드 디스크 의 접근 시간

= 탐색시간 (seek time)

+ 회전 지연 시간 (rotational delay time)

+ 전달 시간 (data transfer time)

Page 19: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

19

자기 디스크 저장단위

섹터 : 512 바이트 저장

보조기억 장치

Page 20: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

20

CD-ROM(Compact Disk Read Only Memory) 읽기 전용 컴팩트 디스크 550 ~ 680MB 의 저장능력 섹터 당 2048 바이트 저장

보조기억 장치

Page 21: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

21

보조기억장치

IRG IRG IRG 1레코드 2레코드 3레코드 IRG

IBG IBGIBG논리 1레코드

논리 2레코드

논리 3레코드

논리 1레코드

논리 2레코드

블록 블록

(a) 고정 길이 레코드

(b) 블록화된 레코드

자기테이프 정보구조

* 전송 바이트 수 = 기록밀도 × 전송속도* 블록화 되지 않은 테이프에 포함된 레코드의 총 수는 레코드 총수 = 테이프 전체 길이 /(IRG + 1 개의 레코드 길이 / 기록밀도 (BPI)* 블록화 된 테이프에 포함된 레코드의 총 수는 레코드 총수 = 테이프 전체 길이 /(IRG + 1 개의 레코드 길이 x 블록수 / 기록밀도(BPI)

자기 테이프 ( 순차 접근 기억장치 ) 플라스틱 테이프 위에 자화 물질이 코팅되어 있으며 릴 (reel) 에 감아서 사용 기록밀도는 1 인치당 저장할 수 있는 문자나 바이트 수 BPI (Byte Per Inch) 로

표시 read-write 헤드는 데이터가 연속적으로 기록되고 읽혀질 수 있도록 각 트랙에 한

개씩 설치

IRG(Inter Record Gap) :

레코드 단위로 기록되며 레코드와

레코드는 레코드 간 갭으로 구분

자기 테이프의 기록 밀도

IBG(Inter Block Gap) : 블록과 블록 간격을 블록간 갭으로 구분

: IRG 사이의 여러 개의 논리 레코드를 묶어서 하나의 물리적 레코드인 블록(Block) 으로 만들어 저장 효율과 전송속도를 증대 시킴

Page 22: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

22

고성능 기억장치

기억장치 모듈

MAR

기억장치

MBR

주소 버스

데이터 버스

MAR

기억장치

MBR

주소 버스

데이터 버스

X+1X+4

MAR

기억장치

MBR

X+2X+5

MAR

기억장치

MBR

XX+3

인터리빙 기억장치 (Interleaving Memory) 명령어의 수행 속도 : 주기억장치의 대역폭에 의해 제한을 받음 사이클 타임

중앙처리장치 ≥주기억장치 기억 장치 버스에 병목 현상 Fig 5-12 메모리 모듈 : 기억장치와 MAR 및 MBR 을 연결한 것

N 개의 오퍼랜드 n 번 기억장치에 접근이 필요하여 많은 접근 시간이 소요

Fig 5-13 인터리빙 (interleaving) 기억장치 여러 개의 메모리 모듈을 공통 주소 버스와 데이터 버스에 연결 한 번의 접근에 의해 n 번의 접근 효과 유효 접근 시간 단축 기억장치를 복수 개의 모듈로 구성하고 주소를 분배하여 번갈아 가면서 메모리에 접근 ( 시분할 방식 )

3-모듈 기억장치

Page 23: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

23

고성능 기억장치

M = 1 일 때 출력

(A)인자 레지스터n bit

(K)키레지스터n bit

연상기억장치m words

n bits per word

M1

M2

매치레지스터(M)

Mm

Input

Read

Write

출력

A Register 101 11110K Register 111 00000

워드 1 101 00100 M1 = 1 워드 2 111 11011 M2 = 0 워드 3 010 01101 M3 = 0 ; ; 워드 m 100 00001 Mm= 0

이름 학번

Match Logic

메모리 내용

Argument

Key (Mask)

연상 기억장치 (Associative Memory) Content Addressable Memory (CAM)

기억된 내용에 의해 접근할 수 있는 기억장치 M( 워드 ) x n( 비트 ) 배열의 셀들로 구성 각 비트의 셀은 찾고자 하는 비트와 비교 , 기억 / 판독 기능 Key 레지스터의 ‘ 1’ 인 부분만 비교 read 신호 검색하고자 하는

정보를 저장n

n검색 과정에서 인자 레지스터 A 의 특정 영역에 대한 마스크를 제공

Key 레지스터의 값이 1 인 A 와 M 을 비교 (앞 3비트 )

Page 24: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

24

직접 매핑 캐시구조의 예

고성능 기억장치

주소

1 2 2 000000

0077701000

0177702000

02777

77777

1 2 3 45 6 7 8

3 6 7 0

4 5 8 0

3 6 9 0

데이터

000

001

777

00 1 2 2 0

00 1 2 7 0

00 1 2 3 4

인덱스주소 태그 데이터

(a) 주기억장치

(b) 캐시 메모리

2 3 1 0

02777 번지를 읽는 경우

1) 우선 인덱스 777 을 캐시에서 찾는다 .

2) 다음은 태그 (Tag) 를 캐시에서 비교한다.

3) 777 인덱스에 있는 캐시 태그는 00 이다. ( 주기억장치의 주소 02 가 아니다 )

4) miss

5) 주기억장치에 접근하여 원하는 워드의 데이터 4850 을 중앙처리장치로 보낸다 .

(address 02777 = 4850 read)

6) 캐시로 보내어진 주소 777 의 캐시 메모리 워드에는 테그 02 와 4850 의 데이터로 바뀜

Page 25: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

25

8 워드의 블록 크기를 가지는 직접 매핑 캐시 예 1 개의 블록이 8 개의 워드로 구성 8 개의 워드가 같은 태그 필드 값을 가짐 하나의 워드로 한 블록을 구성하는 캐시 구조보다 히트율이 높으며 블록의

크기가 클수록 히트율은 놓아 짐 miss 일 때 8 개 워드 전 블록이 주기억장치에서 캐시 메모리로 전송

고성능 기억장치

000

007

777

00 1 2 2 0

00 1 2 7 8

01 1 2 3 4

인덱스주소 태그 데이터

01 2 3 3 0770

010 00 1 3 2 4

017 00 4 3 8 0

0블록

1블록

63블록

태그 블록 워드

6 bits 6 bits 3 bits

인덱스

64 block x 8 word = 512 cache words size (블록 번호 : 6bit, 블록 내의 워드 : 3bit)

8 개의 word 를 1개의 block 단위로 구성

Page 26: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

26

집합 연상 매핑 (Set-associative mapping)

직접 매핑에서 동일 인덱스에 다른 태그에 접근하면 히트률 저하 ( 예제 02777, 01777 ) 캐시의 각 워드에 동일 인덱스를 가지는 서로 다른 태그의 두 개 이상의 메모리

워드를 저장 ( 연상 맵핑 ) 직접 매핑의 단점 보완 set 의 개수를 증가시키면 속도가 향상 set 의 크기가 크면 히트율은 높아지지만 더 많은 비교 논리 회로를 요구해

복잡도가 증가

고성능 기억장치

777

000

인덱스주소 태그 데이터 태그 데이터

00 01

02 00

1 2 2 0 5 6 7 8

4 5 8 0 1 2 3 4

6 bit 6 bit12 bit 12 bit9 bit

두 개의 집합 크기를 가진 집합 연산 캐시 구조

Page 27: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

27

캐시에 기록 (Writing to Cache) 캐시 일관성 (Cache Coherence) 유의

캐시에 있는 내용이 변경된 (WRITE) 경우 , 캐시의 블록 (block) 이 교체되기 전에 주기억장치의 내용도 갱신 (update) 해야 함

고성능 기억장치

Main memory 와 Cache memory 의 내용이 동일해야 함 : 통일성 ( 일관성 ) 유지

Write-through : Cache write 와 동시에 주기억장치에도 기록 ,

주기억 장치의 내용이 항상 최근의 데이터를 유지

Write-back : 쓰기 동작 동안에는 캐시의 내용만 갱신되고 차후에 캐시의 내용이 캐시

에서 제거될 때 주기억장치에 기록하는 방식 , CPU 가 프로그램을 수행하는 중간에는

연산 데이터가 계속 변경 될 수 있음 입출력 장치의 메모리에 대한 접근은 캐시에 교체 알고리즘 (Replacement Algorithm)

캐시가 꽉 차 있는 상태에서 CPU 가 캐시 메모리에 접근하여 원하는 워드의 내용을 찾을 수가 없을때 캐시 메모리의 내용 중 일부를 제거하고 주기억장치 로부터 새로운 데이터 워드를 가져오는 방법

FIFO (First-In First-Out) : 가장 오래된 block 교체

LRU (Least Recently Used) : 최근에 가장 적게 사용된 block 교체 LFU (Least Frequently Used) : 사용 빈도가 가장 적은 block 교체

Page 28: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

28

A프로그램

1,2데이터

1,1데이터

1,1데이터

B프로그램

A프로그램

1,1데이터

보조 기억장치

주 기억장치

주소 공간N = 1024K = 220

메모리 공간M = 32K = 215

가상 기억장치 (Virtual Memory) 가상 기억장치 : 디스크 같은 용량이 큰 보조기억장치를 마치 주기억장치와 같이

사용 보조기억장치에 저장된 프로그램은 주기억장치에 적재 중앙처리장치에 의해 참조되는 가상 주소를 주기억장치의 실제 주소로 변환하는

주소 매핑이 필요 주소 공간과 메모리 공간 (Address Space & Memory Space)

주소 공간 (Address Space) : 프로그래머에 의해 쓰여진 가상 주소 (Virtual Address) 의 집합 메모리 공간 (Memory Space) : 주기억 장치의 물리적 주소 (Physical Address) 의 집합

예제

고성능 기억장치

보조기억장치 주소 공간 (N) = 1024 K = 220

주기억장치 메모리 공간 (M) = 32 K = 215

CPU 는 20 비트의 주소로 명령어와 데이터를 참조 가상 주소는 주기억장치의 실제 주소로 변환 변환 : 메모리 매핑표

Page 29: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

29

메모리 매핑표 독립적인 메모리 혹은 주기억장치의 일부로 저장 빠른 접근을 위해 메모리 매핑표 연상기억 장치로 구현 20 비트의 가상 주소를 15 비트의 실제 주소로 변환

고성능 기억장치

가상 주소

가상 주소레지스터(20 )비트

메모리매핑

테이블

메모리 테이블 버퍼 레지스터

MAR(15 )비트

MBR

주기억장치

Page 30: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

30

매핑 방식 페이지에 의한 매핑 : 주소 공간과 메모리 공간을 고정 크기로 분할

» 주소 공간 : 1K page 로 분할» 메모리 공간 : 1K block 으로 분할» 주소 공간의 4 개 page 가 메모리 공간에의 block 으로 할당

주소 공간의 가상 주소 = 메모리 공간의 실제 주소 (10 비트 )

고성능 기억장치

0(1K)페이지

3 bits

7(1K)페이지

6(1K)페이지

3(1K)페이지

5(1K)페이지

4(1K)페이지

2(1K)페이지

1(1K)페이지

주소 공간8K=213

0(1K)블록

3(1K)블록

2(1K)블록

1(1K)블록

메모리 공간4K=212

Roll In

Roll Out

페이지(p)번호

(d)페이지내의 주소 가상 주소

10 bits

Page 31: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

31

페이지에 의한 매핑에서 메모리 매핑표

고성능 기억장치

1

0

11

0

01

0

00

10

000

메모리 테이블버퍼레지스터

메모

리매핑표

주소

111

110

101

100

011

010

001 1

1

1

0

1

10

(p)페이지 번호 (d)페이지내의 주소

가상 주소 001 0 1 0 1 0 0 0 0 1 1

10 0 1 0 1 0 0 0 0 1 1

0(1K)블록

3(1K)블록

2(1K)블록

1(1K)블록

주기억장치MAR

MBR

주기억장치

현존비트 페이지당 8 개의 워드로 구성

각 워드의 내용은 페이지 가 주기억 장치에 저장 됨

12

56

Page 32: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

32

연상 기억장치를 이용한 메모리 매핑표 메모리 매핑표의 워드의 수와 주기억장치의 블록의 수를 같게 함 메모리 매핑표를 효율적으로 구성

고성능 기억장치

페이지 번호 페이지내의 주소

001 0 1 0 1 0 0 0 0 1 1 (A)인자 레지스터

111 0 0

001

110

101

010

1 0

0 0

0 1

1 1

(K)키레지스터

페이지 번호 블록 번호

연상 기억장치

Fig. 5-25

Page 33: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

33

세그먼트에 의한 매핑 - - 세그먼트 : 논리적으로 연관된 명령이나 데이터의 집합

페이지 매핑 방식은 페이지의 크기를 고정시킴으로써 프로그램의 크기나 논리 구조에 어려움 야기 프로그램과 데이터를 나누는 것이 편리

실행되는 프로그램에 따라 그 크기가 가변적 세그먼트의 크기 : 프로그래머나 운영체제에 의해 조정 세그먼트 방식으로 가상 기억장치를 구현 (1) 프로그래머 / 운영체제에 의해 프로그램을 세그먼트화하고 (2) 다시 시스템에 의해서 각 세그먼트를 페이지화 논리 주소 : 세그먼트로 된 프로그램에 의해 지정되는 주소 논리 주소로부터 물리 주소로의 매핑 : 2 개의 표 ( 세그먼트 , 페이지 )

고성능 기억장치

논리 주소

세그먼트 페이지 워드

+

워드블록 세그먼트 표 페이지 표 물리 주소

Page 34: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해 영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

34

페이지 교체 알고리즘 (Page(Block) Replacement)

페이지 오류 (Page Fault) : CPU 에 의해 참고하고자 하는 페이지가

주기억장치에 없을 경우

» 새로운 페이지가 보조기억장치에서 주기억장치로 전송될 때 주기억 장치가 꽉 차 있으면 제거할 페이지를 선택해야 함 교체 알고리즘

교체 알고리즘 (Replacement algorithm) : FIFO (First-In First Out)

와 LRU (Least Recently Used) 를 주로 사용

고성능 기억장치