.

독학사2단계_컴퓨터시스템구조_7장 기억장치

by 담배맛구마

7장 기억장치

가. 기억장치 개요

1) 기억장치 종류 및 특성

주 기억장치

RAM(Random Access Memory), ROM(Read Only Memory), 자기 코어

보조기억장치

자기 디스크, 자기 테이프, CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)


2) 기억장치의 계층적 구조



※) 파괴적 기억장치(Destructive Storage) 비파괴적 기억장치(Non Destructive Storage)

데이터를 읽어 들일때 기존의 데이터가 파괴되느냐 안되느냐? 

대표적 파괴적 기억장치는 RAM으로 쓰였던 자기 코어이다.

※) 휘발성 기억장치(Volatile Memory) 비휘발성 기억장치(Non-Volatile Memory)

i) 휘발성 기억장치의 대표적인것이 RAM

ii) 비휘발성 기억장치의 대표적인것이 ROM, 보조기억장치


※) 정적인 RAM(Static RAM) 동적인 RAM(Dynamic RAM)

i) 플립플롭으로 구성된 정적인 RAM은 전원이 공급되면 기억된 데이터를 유지하는 RAM :: SRAM

ii) 캐시피터에 전하를 충전하는 것으로 정보를 기억하는 동적인 RAM은 전원이 공급되어도 일정 시간마다 충전을 해야 데이터 저장이 유지되는 기억장치 :: DRAM

충전과정을 재생(Refresh라고 한다.


나. 주 기억장치

1) 주 기억장치의 기능

P/G과 Data를 저장하는 기능.


2) RAM(Random Access Memory)의 구조 및 종류

SRAM

사용하기가 쉽고 읽고 쓰는 시간이 짧지만 DRAM에 비해 비싸다.

DRAM

전력소비 낮고 대용량의 정보를 저장하고 일정 시간마다 충전을 해줘야 정보가 유지된다.


3) ROM(Read Only Memory)의 구조 및 종류

읽기만 가능하고 쓰기는 불가능하다

변경이 필요 없는 데이터나 프로그램을 영구히 저장하는데 사용한다.

mask ROM

PROM(Programmable ROM)

한번 사용자가 프로그램가능

EPROM(Erasable PROM)

자외선으로 내용지우고 쓰고

EEPROM(Electrically EPROM)

전기적으로 삭제가 가능하며 RAM처럼 읽고 쓰기가 가능하다. 속도가 느린게 함정

Flash Memory


4) 기억장치 모듈 설계

RAM/ROM은 칩당 저장할 수 있는 용량의 한계가 있기에 다수의 칩이 필요하다. 또한 한 번에 한 단어씩 접근가능할수 있도록 여러개의 칩을 병렬연결한다.


다. 캐시 기억장치(Cache Memory)

CPU와 주 기억장치 사이의 속도차를 완화하기 위해서 사용하는 고속의 기억장치이다. 가격이 비싼게 흠이지만 속도가 빠르다.



1) 동작원리

CPU가 주 기억장치에서 데이터를 읽을때 먼저 캐시 기억장치에 데이터가 존재하는지 확인한다.

캐시 메모리에 있으면 읽어는 속도가 빨라진다.

프로그램이 수행되는 동안에 프로그램 또는 데이터 등 CPU가 한 번 이상 읽었던 많은 부분이 캐시 메모리에 복사가되어 존재한다.

물론 캐시 메모리의 용량의 한계가 있기에 모든 데이터를 담지 못하기에 덜 중요하다고? 느끼는 데이터는 삭제해나간다.

(따로 알고리즘 존재함)


CPU가 찾던 데이터가 캐시 메모리에 존재하는 상태를 캐시 적중(Cache Hit)

CPU가 찾던 데이터가 캐시 메모리에 존재하지 않는 상태를 캐시 미스(Cache Miss)


주 기억장치에서 캐시 메모리에 정보를 인출해오는 방식에는

필요한 정보는 인출하는 요구인출(Demand Fetch) 방식과

필요할 것 같은 정보도 인출하는 선인출(Prefetch) 방식이 있다.


2) 사상(Mapping) 방법

주 기억장치에서 캐시 메모리로 데이터를 전송하는 것을 사상이라고 한다.



블록(block) : 주기억장치로부터 동시에 인출되는 정보들의 그룹으로써 캐시 라인의 크기와 같은 크기다.

라인(line) : 캐시에서 각 블록이 저장되는 장소

태그(tag) : 라인에 적재된 블록을 구분해주는 정보

캐시의 각 라인은 주기억장치의 여러 블록에 의해서 공유됨

태그는 라인을 공유하는 블록들 중 현재 어느 블록이 라인에 적재 되었는지를 알려줌



메모리 주소의 상위 n-w 비트  :: 블록 번호(태그  필드의 값)

메모리 주소의 하위 w 비트 :: 블록 내의 word 주소(캐시의 라인번호)



i) 직접사상(Direct Mapping)

주 기억장치의 한 블록이 특정 라인에만 존재한다. 

다음은 주 기억장치의 주소 형식이다.





ii) 연관사상(Associative Mapping)

주기억장치의 주소를 태그 필드에 모두 저장하는 방식이다.

주기억장치의 블록이 캐시의 라인에 상관없이 어디든지 적재될 수 있어서 직접사상의 단점을 보완

적중 검사가 모든 라인에 대해 이루어져야 하므로 검사시간이 길다.





iii) 집합연관사상(Set Associative Mapping)

하나의 라인에 서로다른 태그를 가지는 데이터들을 저장



3) 쓰기정책 -write-through, write-back

캐시의 블록이 변경되었을때 그 내용을 주기억장치에 갱신하는 시기와 방법을 쓰기 정책이라한다.(Write Policy)

대표적으로 두 가지가 있다.

i) Write Through

캐시뿐만 아니라 주기억장치로도 동시에 기록된다. 시간이 오래걸린다는 단점


ii) Write Back

나중에 캐시의 내용이 제거될때 주기억장치에 기록한다. 주기억장치에 대한 쓰기 동작이 줄어들면서 시간절약이된다.


4) 성능 개선효과

CPU 칩 내부에 있는 L1 캐시 말고도 CPU 외부에있는 L2캐시를 둬서 성능을 개선한다. 여기서 L은 Level을 뜻한다.

L1은 CPU 내부에 있기에 읽고 쓰는 작업이 빠르지만 용량이 작다. 그래서 CPU 외부에 속도는 느리지만 용량이 더큰 L2 캐시를 둔다.


반응형

블로그의 정보

정윤상이다.

담배맛구마

활동하기