YZ ZONE

[ 컴퓨터구조 ] 5.2 계층적 기억장치시스템 본문

IT/컴퓨터구조

[ 컴퓨터구조 ] 5.2 계층적 기억장치시스템

러블리YZ 2023. 2. 6. 23:35

계층적 기억장치시스템

 CPU와 기억장치 사이의 속도 격차 문제

 컴퓨터시스템의 성능에 가장 중요한 영향일 미치는 요소는 CPU 

▪  CPU가 아무리 빠르더라도 기억창지가 느리다면, CPU는 명령어나 데 이터를 액세스하는 과정에서 많은 시간을 기다리게 되어 시스템 성능 이 저하될 수밖에 없음

▪  최근 기억장치 제조 기술의 발전으로 인하여 반도체 기억장치의 속도 가 계속 높아지고는 있지만 CPU의 속도는 더욱 향상되고 있기 때문에, 속도 격차는 줄어들지 않고 있음

▣ 계층적 기억장치시스템이란?

기억장치들은 유형에 따라 기능, 속도, 용량 및 가격이 매우 다양함
 컴퓨터시스템에서 기억장치는 속도뿐 아니라 다른 측면들도 함께 고려하여 구성되어야 함

 계층적 기억장치시스템이란 속도, 가격 및 크기가 다양한 기억장치들 을 계층적으로 설치함으로써 성능대 가격비(performance/cost ratio) 를 높이는 시스템 구성 방식

▣ 계층적화의 필요성 및 효과

 필요성
기억장치들은 속도, 용량 및 가격 측면에서 매우 다양 

적절한 성능(속도), 용량 및 가격의 기억장치 구성 필요

효과
기억장치시스템의 성능 대 가격비(performance/cost ratio) 향상

 

▣ 기억장치 특성

 액세스 속도가 높아질수록, 비트당 가격은 높아진다 

 용량이 커질수록, 비트당 가격은 낮아진다
 용량이 커질수록, 액세스 시간은 길어진다

▣ 컴퓨터 설계의 목표에 따른 기억장치 구성

 성능 향상이 목표인 경우
가격이 비싸고 용량은 적더라도 액세스 속도가 높은 기억장치 사용

 용량도 증가시키고 동시에 비용도 낮추기를 원하는 경우 

액세스 속도가 낮은 기억장치도 사용할 수 밖에 없음

 

▣ 계층적 기억장치시스템의 기본 구성 개념

첫 번째 계층 기억장치
속도가 빠르지만 가격은 높은 기억장치 사용

두 번째 계층 기억장치
속도는 느리지만 가격이 낮은 기억장치 사용

2-단계 계층적 기억장치

 2-단계 계층적 기억장치(1단계: 고속, 소용량 / 2단계: 저속, 대용량)
 [원리] 원하는 데이터가 첫 번째 계층 기억장치(ML1)에 있다면 즉시 액세스하고, 약 없다면 두 번째 계층의 기억장치(ML2)를 액세스하는 방식

[] 첫번째계층기억장치의액세스시간=10ns
두 번째 계층 기억장치의 액세스 시간 = 100ns
액세스할 정보가 첫 번째 계층 기억장치에 있을 확률 = 50 %

평균 기억장치 액세스 시간 = (0.5 × 10ns) + (0.5 × 100ns) = 55ns

지역성의 원리 (principle of lacality)

▣ 지역성의 원리

 프로그램이 처리되는 과정에서 기억장치 액세스들이 특정 영역에 집 중되는 현상

이유: 일반적으로 프로그램이 반복 루프들과 서브루틴들을 포함하고 있 기 때문

 짧은 시간을 기준으로 보면, 프로세서가 기억장치의 한정된 몇 위치들 을 집중적으로 액세스하면서 작업을 수행

프로그램이 실행되는 동안, 지역성의 원리에 의해 첫 번째 계층의 기 억장치에 대한 액세스 횟수가 두 번째 계층의 기억장치에 대한 액세스 보다 훨씬 더 많음

평균 기억장치 액세스 시간 단축

기억장치 계층

▣ 기억장치 계층

 상위 층으로 갈수록
 비트당 가격이 높아지고, 용량은 감소하며,
액세스 시간이 짧아지고, CPU에 의한 액세스 빈도는 상승

 하위 계층으로 내려갈수록
용량이 더 커지고,
비트당 가격은 떨어지며,
지역성의 원리로 인하여 액세스 빈도는 더 낮아진다.

▣ 캐시 메모리 (cache memory)

 주기억장치의 액세스 속도가 CPU에 비하여 현저히 느리기 때문에 주 기억장치로부터 데이터를 읽어오는 동안에 CPU가 오랫동안 기다려야 하므로, 그에 따른 성능 저하를 줄이기 위하여 CPU와 주기억장치 사 이에 설치하는 고속의 반도체 기억장치

 

▣ 내부 기억장치 (internal memory)

CPU가 직접 액세스 할 수 있는 기억장치들
 CPU가 주소를 발생하고, 그 주소에 의해 지정된 기억장치로부터 데이터를 읽거나 쓰는 동작을 CPU가 직접 수행할 수 있음

 [예시] CPU 레지스터, 캐시 메모리, 주기억장치

 

▣ 외부 기억장치 (external memory)

 CPU가 직접 액세스할 수 없고, 장치 제어기(device controller)를 통해 서만 액세스할 수 있는 기억장치들

 [예시] 하드 디스크, SSD, CD-ROM

▪ 각 저장장치의 제어기 혹은 I/O 프로세서를 통해서만 데이터 저장 및 검색이 가능함

▪ 이와 같은 장치들을 2차 기억장치(secondary memory) 또는 보조저장 장치(auxiliary storage device)라고 부름

▪ 이 저장장치들에는 주로 프로그램 파일들과 데이터 파일들이 저장되 며바이트나 단어 단위가 아닌블록(block)이나 페이지(page) 단위로 만 액세스 할 수 있음

▣ 계층적 기억장치시스템 구성

 하위 계층으로 내려갈수록 용량이 더 커지고 비트당 가격은 떨어지는 반면에, 지역성의 원리로 인하여 액세스 빈도가 더 낮아짐

 , 하위 계층의 기억장치들은 속도가 느리지만 액세스 빈도는 낮으며, 더 많이 액세스되는 상위 계층의 기억장치들은 속도가 빠르기 때문에, 전체적으로 평균 기억장치 액세스 시간은 더 짧아지게 됨

 결과적으로, 계층적 방식을 이용함으로써 더 적은 비용으로, 더 빠르 고, 더 큰 용량의 기억장치시스템을 구성할 수 있게 됨