본문 바로가기

Computer Science/Computer Architecture

(24)
[Computer Architecture] Cache Memory: 성능 향상 + 한국항공대학교 길현영 교수님의 컴퓨터구조론 과목 내용을 정리한 글입니다. 캐시 메모리 실패(Miss) 사례 유형: 3C 캐시 성능 향상을 위한 방법으로 캐시 실패율을 낮추기 위해 파악해야한다. 1. 강제 실패 (Compulsory Miss, Cold Miss, First Reference Miss) = 해당 메모리 블록의 최초 접근에 의한 캐시 Miss이다. + 블록 크기를 크게 하거나, 가장 접근 가능성이 큰 블록의 Prefetch(미리 가져오기)로 감소시킬 수 있다. + 캐시 사이즈를 키워도 의미가 없다. 2. 용량 실패 (Capacity Miss) = 캐시 메모리의 유한한 용량 때문에 발생한다. - 블록 교체 후 다시 그 블록을 가져올 때 발생한다. (캐시 용량 < 프로그램 크기) 3. 충돌 실..
[Computer Architecture] Cache Memory: 블록 교체 & 블록 갱신 + 한국항공대학교 길현영 교수님의 컴퓨터구조론 과목 내용을 정리한 글입니다. 블록 교체 캐시 공간이 없는 상황에서, 어느 캐시 블록을 비울 것인지 결정이 필요하다. 상황 1. 캐시의 모든 블록이 사용 중일 경우 상황 2. 일부 캐시 블록이 비어 있으나 불록 사상 방식에 따라 이미 사용중인 캐시 블록에 위치해야할 경우 블록 교체 전략 (Replacement Policy) Belady의 MIN 알고리즘 가장 이상적인 블록 교체 방식으로, 가장 오랫동안 참조되지 않을 블록을 교체한다. - 미래 예측이 필요하다. (거의 구현이 불가능하다.) LRU 방식(Least Recently Used) - 가장 많이 사용 가장 오래전에 참조된 블록을 교체한다. MIN 알고리즘에 근접할 정도의 최고 적중률을 보인다. 모든 블..
[Computer Architecture] Cache Memory: Block Mapping + 한국항공대학교 길현영 교수님의 컴퓨터구조론 과목 내용을 정리한 글입니다. 블록 사상 (Block Mapping) 캐시는 메모리보다 용량이 작기 때문에 다수의 메모리 블록이 동일한 캐시 블록에 사상(위치)한다. 1. 직접 사상 => 메모리 블록을 정해진 하나의 캐시 블록에만 사상할 수 있다. (정해진 한 곳에만 위치 가능) 2. 완전 연관 사상 => 메모리 블록을 어떤 캐시 블록에도 사상할 수 있다. (아무대나 위치 가능) 3. 집합 연관 사상 (직접 사상과 완전 연관 사상 절충) => 메모리 블록을 정해진 블록의 집합 내 어디든 사상할 수 있다. (정해진 여러 곳에 위치 가능) - 시험 메모리 크기 = 512 byte 캐시 크기 = 128 byte 블록 크기 = 16 byte 워드 크기 ..
[Computer Architecture] Cache Memory 개요 + 한국항공대학교 길현영 교수님의 컴퓨터구조론 과목 내용을 정리한 글입니다. Cache 개요 캐시(Cache)의 의미 CPU와 메모리 사이의 속도 차이를 줄이기 위한 고속 메모리이다. 높은 비용으로 인해 작은 용량으로 구성되며, 컴퓨터 성능에 영향을 미친다. 프로그래머는 캐시 메모리를 조작할 수 있는 명령어가 없다. (투명성) 적중(Hit)과 실패(Miss) 적중: 원하는 항목(데이터)이 캐시 메모리에 있음 실패: 원하는 항목(데이터)이 캐시 메모리에 없음 적중률: 메모리 참조에 대한 캐시 성능 = 캐시 메모리의 적중 횟수 ÷ 전체 메모리의 참조 횟수 실패율 = 1 - 적중률 캐시의 Tag Memory 캐시는 데이터 메모리와 태그 메모리 총 2개의 메모리를 갖고 있다. Tag ( = Meta Data):..
[Computer Architecture] 메모리 + 한국항공대학교 길현영 교수님의 컴퓨터구조론 과목 내용을 정리한 글입니다. 주 기억장치 (CPU가) 실행할 프로그램과 데이터를 저장하는 기억장치 - CPU 가까이 위치하여, CPU가 처리할 프로그램과 데이터를 일시적으로 저장한다. - 전원 공급이 중단되면 기억된 내용이 지워진다. (Volatile Memory) 명령어 집합(ISA)에 의해 정의된 메모리이다. (작업장이자 저장소) - 프로그래머에게 보이는 시스템의 속성 중 하나로서, 조작할 수 있는 명령어가 존재한다. ex) load, store 주로 RAM (Random Access Memory)를 의미한다. - 저장된 데이터를 임의의 순서에 따라 접근할 수 있다. (차례로 접근하지 않고 주소를 통해 바로 엑세스) - 주로 DRAM (Dynamic R..
[Computer Architecture] 공격적 파이프라이닝 + 한국항공대학교 길현영 교수님의 컴퓨터구조론 과목 내용을 정리한 글입니다. 공격적 파이프라이닝 파이프라이닝을 적용할 때 이론상 CPI는 1이지만, 해저드로 인해 사실상 CPI가 1보다 크다. => 더 성능을 향상시키기 위해 CPI를 1 이하로 만들자. 명령어 레벨에서의 병렬성(ILP,. Instruction Level Parallel)을 증가시킨다. 슈퍼 파이프라이닝 파이프라인의 각 단계의 클럭 주기를 줄인다. (= 단계 수 증가) 1. Clock Skew 현상이 심화될 수 있다. 2. 파이프라인 해저드 문제 발생률이 더 높아지고, 해저드에 따른 성능 패널티가 높아진다. 3. 클럭이 높아짐에 따라 클럭 주기를 더 작게 나누기 힘들어진다. (어렵다.) 4. 클럭 속도 상승은 발열 문제를 발..