1. 캐시 기억 장치
2. 연관 기억 장치
3. 가상 기억 장치
4. 복수모듈 기억장치
1. 캐시 기억 장치
cpu내의 초고속 기억 장치인 레지스터와 하드웨어적으로는 차이가 없다.
cpu와 주기억 장치 사이에 위치 ★★★ 중간 버퍼 역할
SRAM (집적도가 낮다)
속도가 빠르고 가격이 고가이다.
캐시 메모리의 적중률 (Hit Ratio)
캐시 메모리에 찾는 내용이 있을 확률
적중률 = 적중 횟수 / 총 접근 횟수
분리 캐시 방식 (캐시 메모리를 분리) : 캐시 액세스 충돌을 제거하기 위함)
L1 캐시 : 주로 명령어 저장 캐시
L2 캐시 : 주로 데이터 저장하는 캐시
[암기]
(문제 잘 읽기)
캐시 메모리의 매핑 프로세스
주기억장치로부터 캐시 기억장치로 데이터를 전송하는 방법
캐시메모리에 어떻게, 어디에 적재할 것인가, 매핑할 것인가
종류 ★★★
- 직접 매핑 (Direct Mapping) : 적중률이 떨어질 수 있다는 단점이 있다.
- 연관 매핑 (Associative Mapping) : 발전된 방식
- Set-Associated Mapping : 더 발전된 방식
직접매핑은 태그주소만을 이용하여 매핑, 태그 주소가 겹치면 적중률 떨어짐
*계속 비슷한 곳에서 데이터를 집중적으로 가져오므로 지역성(국한성)을 응용해서 접근 속도를 빠르게함
앞 문장은 신경쓸것 없고
변화된 캐시의 내용을 주기억장치에 기록하는 방법
1. write through : 연산과 동시에 캐시메모리와 주기억장치 모두의 값을 바꿈 (계속 갱신)
속도는 떨어지나 안정성 높음
2. write back : 하나의 연산이 끝나면 캐시 메모리까지만 변동 사항을 저장하고,
모든 과정이 끝나고 난 뒤에 캐시메모리, 주기억 장치 모두 바꿈
속도 ↑ 안정성은 떨어짐
3. write once
페이지는 가상메모리 관련
캐시메모리는 메인메모리에서 데이터를 가져올 때 페이지가 아닌, 블럭이라는 단위로 데이터 이동
cpu에서 읽어들일 땐 word 단위. cpu 내부의 레지스터는 용량이 작기때문
(운영체제에서 나오는 내용)
2. 연관 기억장치(Associated Memory, CAM : Content Addressable Memory )
주소에 의한 접근이 아닌 기억된 정보의 일부분을 이용하여 원하는 정보가 기억된 위치를 알아낸 후 그 위치에서 나머지 정보에 접근하는 기억장치이다.
ex) 키워드로 검색하는 방식
[암기]
캐시 메모리에서 특정 내용을 찾는 방식 중 매핑 방식에 주로 사용됨 ( 주소매핑 X )
연관 기억장치의 특징 : 빠르고 비싸다
고속★ ( 빠르게 검색하기 위한 것이지 용량을 늘리기 위한게 아니다. )
캐시 기억장치나 가상기억장치에서 사용하는 매핑 테이블 구성에 주로 사용된다.
>> 가상주소를 물리주소로 변환하는 방법의 하나로 CAM을 사용한다.
병렬 판독 회로가 있어야 하므로 하드웨어의 비용이 크다.
[암기]
구성 요소 : 검색 데이터 레지스터, 마스크 레지스터, 일치 지시기 + ( 플래그 레지스터 )
3. 가상 기억장치
운영체제가 제어
논리적 공간을 주소화한 것
미스율은 캐시메모리에서 나오는 개념
하드디스크같은 용량이 큰 보조기억장치의 공간 일부를 마치 주기억장치 처럼 사용 // 목적 : 용량(주소공간) 확대
동시에 실행하고 있지만 사용자가 당장 사용하고 있지 않은 프로그램을 하드웨어의 가상 기억장치에 위치시켜두고
가상기억장치로 옮겨가면서 자리가 난 RAM에 현재 실행하는 프로그램이 위치한다.
>> CPU(중앙처리장치)는 주기억장치에만 접근할 수 있기 때문
가상메모리를 사용하게되면 가상메모리 <-> 주기억장치 를 옮겨다니기때문에 속도는 떨어진다.
다중 프로그래밍의 효율을 높일 수 있다.
가상메모리로 활용되는 보조기억장치는 자기디스크와 같은 DASD(직접 접근 기억(storage)장치)여야한다. ex) HDD
( 자기테이프는 속도가 느리기 때문에 적절하지 X )
매핑(mapping) : CPU에 의해 참조되는 각 주소는 가상주소를 주기억장치의 실제 주소로 변환하는 것
캐시메모리는 블럭단위, 가상메모리는 page단위. 캐시 메모리는 캐시미스, 가상 메모리는 page fault(운영체제에서 자세히다룸)
page fault가 발생하면 요구된 page가 주기억 장치로 옮겨질 때까지 프로그램 수행이 중단된다.
가상메모리에 있는 페이지를 주기억장치로 올리는 과정을 staging 이라고 한다.
4. 복수 모듈 기억장치
RAM은 하나가 아니라 여러개의 RAM으로 (모듈)로 구성돼있다. CPU가 시분할 접근 = 교대로 접근 = 메모리 인터리빙 기법
인터리브 > 처리속도의 증가
복수모듈 RAM이면 CPU는 하나의 모듈에서 가져온 데이터를 해독하고 처리하는 동안
다른 모듈에 접근하여 데이터를 가져오는 동작을 수행할 수 있다.
4번은 설명이 애매하나 1-3번이 모두 맞는 설명
엄밀하게 말하면 "동시에"가 아니지만 속도가 아주 빠르기 때문에 동시에라고 표현해도 틀리진 않다.
주기억 장치와 CPU의 속도 파의 문제점을 개선 (캐시메모리와 같은 특징)
메모리 인터리빙
cpu가 여러 모듈에 교차로 병행 접근하는 기법, 속도 향상
cpu가 버스를 통해 주소를 전달하는 속도는 빠르지만 모듈의 처리 속도가 느리기 때문에 병행 접근이 가능
중앙처리 장치와 기억장치 사이에 실질적인 대역폭(band width)을 늘리기 위한 방법
CPU에서 메모리에 접근할때는 무조건 word 단위로 데이터 전송 // 블록단위 X
'기타' 카테고리의 다른 글
정보처리 필기_전자계산기 구조_18강_인터럽트 (0) | 2019.07.28 |
---|---|
정보처리 필기_전자계산기 구조_17강_입출력 제어 (0) | 2019.07.28 |
정보처리 필기_전자계산기 구조_15강_명령 실행 및 제어 (0) | 2019.07.28 |
정보처리 필기_전자계산기 구조_14강_마이크로 오퍼레이션 (0) | 2019.07.28 |
정보처리 필기_전자계산기 구조_13강_주소지정 방식 (0) | 2019.07.28 |