CS59 [Chapter 5.5 컴퓨터 구조 및 설계] 가상 메모리와 페이지 부재 지금까지는 캐시와 메인 메모리 사이의 메모리 계층 구조를 살펴보았다면, 이번에는 메인 메모리와 Disk 간의 메모리 계층 구조를 살펴보려 한다. 가상 메모리 메인 메모리를 2차 저장 장치를 위한 캐시로 사용하는 기술을 가상 메모리 (Virtual Memory) 라고 한다. 쉽게 생각하면 앞장에서 메모리 접근을 최대한 줄이고 캐시를 사용하려고 했던 것처럼 2차 저장 장치에 대한 접근을 최대한 줄이기 위해 메인 메모리를 사용한다고 생각하면 된다. 이러한 가상 메모리 기술을 사용하는 이유는 다음과 같다. 다수의 프로그램이 효과적으로 메모리를 공유할 수 있게 한다. 메인 메모리의 크기는 작기 때문에 해당 사이즈에 맞춰 프로그래밍해야 하는 제약을 제거하기 위해서이다. 2차 저장 장치의 크기가 메인 메모리보다 훨씬.. 2022. 7. 30. [Chapter 5.4 컴퓨터 구조 및 설계] 캐시의 성능, Multilevel Caches, set associative cache 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 캐시의 성능 CPU time = (CPU cycles + memory stall cycles) x CPU cycle time memory stall cycles = 명령어의 수 x miss rate x miss penalty CPU시간은 CPU가 프로그램을 수행하는 데 쓰이는 클럭 사이클과 메모리 시스템을 기다리는 데 쓰이는 클럭 사이클로 나누어 진다. cache hit 되었을 때는 CPU cycles에 포함되고, cache miss 되었을 때는 memory 접근이 필요해지므로 memory stall cycle에 포함된다. 캐시로 성능을 .. 2022. 7. 29. [Chapter 5.3 컴퓨터 구조 및 설계] 캐시 참조 실패와 성공의 처리 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 캐시의 참조는 Read가 성공한 경우 실패한 경우, Write가 성공한 경우 실패한 경우 두 가지가 있다. 1. Read hits 캐시에 데이터가 있어서 바로 읽어올 수 있는 경우를 말한다. 해당 경우가 대부분이어야 컴퓨터의 성능이 비약적으로 증가한다. 2. Read misses 캐시에 원하는 데이터가 없어서 메인 메모리로부터 캐시에 원하는 데이터를 가져와야하는 경우이다. 메인 메모리로부터 데이터를 가져오는 절차는 다음과 같다. 현재 진행하던 명령어를 stall 한다. 원래의 PC 값을 메모리로 보낸다. 메인 메모리에 읽기 동작을 지시하고.. 2022. 7. 28. [Chapter 5.2 컴퓨터 구조 및 설계] 직접 사상 캐시의 구조와 원리 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 캐시의 구조 메모리 계층 구조에서는 상위 계층에서 먼저 데이터를 찾고 없다면 하위 계층에서 데이터를 요구하여 상위 계층에 채운다. 여기서 우리가 해결해야할 문제는 두가지다. 데이터가 캐시 내에 있는지 어떻게 알 수 있는가? 알 수 있다면, 어떻게 찾을 수 있는가? 각 워드가 캐시 내의 딱 한 장소에만 있을 수 있다면 워드가 캐시 내에 있는지 없는지를 바로 알 수 있다. 메모리의 각 워드에 캐시 내의 위치를 할당하는 가장 간단한 방법은 메모리 주소에 기반을 두고 할당하는 것이다. 이러한 캐시 구조를 바로 직접 사상( Direct mapped.. 2022. 7. 26. 이전 1 ··· 4 5 6 7 8 9 10 ··· 15 다음