본문 바로가기

컴퓨터 구조

(6)
[컴퓨터 구조] Associative Cache 예전에 Direct- mapped Cache에 대해서 설명하였다. 그러면서 잠깐 Set Associative Cache에 대해서 언급했는데 오늘은 Cache의 종류에 대해서 알아보자. 💻 Type of Cache 캐시의 종류는 Direct-mapped cache, Fully associative cache, Set associative cache 3가지로 분류 할 수 있다. Direct- mapped cache는 이전에 작성한 포스트를 참고하면 좋을 것 같다. Set associative cache는 일반 캐시처럼 Tag, Data ,valid 모두 다있다. 다른점은 index가 Set으로 묶여있다는 점이다. 그리고, 데이타는 index에 해당하는 Set 중 아무 곳이나 들어 갈 수 있다. 그 Set 안..
[컴퓨터 구조] Cache Performance 이번 포스팅에서는 Cache의 성능을 측정해보자. 💻Cache Performance 캐시의 성능을 측정할 때, Hit 일 때, Miss일 때로 크게 두 분류로 볼 수 있다. Hit 일 때는 Hit time이고, Miss 일때는 Miss penalty이다. 따라서, CPU time을 계산하는 과정은 위와 같이 표현되어진다. 여기서 total clock cycled = CPU cycles + Memory stall cycles로 표현되어 질 수 있다. CPU cycles는 CPU가 실행하는 시간이고 Memory stall cycles는 DATA에 접근하는 시간을 의미한다. 여기서, Memory stall cycle에 대해서 더 알아보도록 하자. CPU가 Cache에 요청을 하였는데 해당 데이터가 없을때, M..
[컴퓨터 구조] Cache Miss Handling 이번 포스팅에서는 캐시 에서 Miss 가 났을때 무슨일이 일어나는지 봐보자. 💻 Cache Miss Handling in processor 캐시 Miss가 일어나면 무슨일이 프로세서에서 일어나는지 보자. 먼저 앞서 말했지만, 캐시에는 여러종류가 있다. 그중 Multi-level Cache는 캐시를 여러개를 들여 멀티레벨로 사용하는 것이다. 위 그림을 보자. 하나의 Core안에는 L1i, L1d가 존재하고, L2 Cache가 존재한다. L1i,L1d는 level 1을 존재한다. 이는 L2보다 사이즈가 작다. 앞에서 말했었다. 사이즈를 보면 L1
[컴퓨터 구조] Direct- mapped Cache 캐시에는 여러가지 종류가 있다. 크게 보면 모두 다 Set- associative Cache로 볼 수 있는데, 이중 Set이 1-way 인 경우를 Direct-mapped Cache로 본다. 이번 포스팅에서는 Direct - mapped Cache에 대해서 알아보도록 하자. 💻 Direct - mapped Cache Direct - mapped Cache는 메모리 주소에 따라, 이미 캐시에 들어갈 위치가 정해져 있다. 위그림에서, 밑에 길다란 블록들의 집합이 메모리이고, 각각 화살표를 캐시로 가리키고 있다. 초록색 위치의 블록들을 모아보겠다. 00001, 01001, 10001,11001 공통점을 보면 주소의 뒤 3비트가 001이다. 파란색칸 주소들을 보면 맨뒤 3비트가 101로 끝난다. 이처럼 주소에 ..
[컴퓨터 구조] Cache 이번 포스팅에서는 Cache에 관한 내용을 알아보자. 💻 Cache Memory 컴퓨터에는 여러가지 메모리가 있다. 메모리란 데이타를 저장하는 어떠한 것을 의미하며 레지스터,Dram 등 여러가지 종류가 있다. 오늘은 그 중 Cache에 대해서 알아보자. 캐시(Cache) 메모리란 CPU와 Main Memory 사이에 있는 메모리로 레지스터보다는 느리지만, DRAM보다는 빠른 메모리이다. 자주 쓰는 것들을 캐시에 넣어놓고 CPU가 MM에 요청을 보낼때 먼저 캐시에 들러서 해당하는 데이터가 있는지 확인한다. 있다면 캐시에 있는 데이타를 갖고오면 빠르지 않을까? 예를 들어보자. 내가 있는 곳과 먼 곳에 책장이 있다. 책을 읽을때마다 책장에 가야하면 매우 번거롭다. 그럴때 오늘도 읽고, 내일도 읽고 하는 책들을..
[컴퓨터 구조] Performance 💻 Perforamance 말그대로 컴퓨터가 한 작업을 하는 성능을 의미한다. 1. 2 key metrics in computer performance Execution time (response time) 처음부터 끝까지 걸리는 시간 Execution time과 response time이 같은것은 아니다. Throughput 주어진 시간동안 처리한 작업량 2. Performance = 1/ExecutionTIme 성능과 ExecutionTIme은 반비례함. 💻 Time Performance 먼저, 시간 측면에서의 성능에 대해 얘기해보고자 한다. 시스템 전체의 시간 측정에는 Elapsed time이라는 것이 쓰인다, CPU 작업 시간, I/O에 걸리는 시간 등 여러가지가 이에 해당된다. 그 중 CPU t..