Hello Computer Vision

비전공생의 컴퓨터 구조 14주차 강의 기록 본문

컴퓨터구조

비전공생의 컴퓨터 구조 14주차 강의 기록

지웅쓰 2022. 12. 1. 00:52

시험공부에 대해서 계획을 한번 세워봤는데 조금 여유있어서 후다닥 들어보려고 합니다.

 


 

작은 CPU들도 다 파이프라인화 되어있다 --> 명령어들을 병렬적으로 처리한다.

(파이프라인 내용은 전 주차에 설명)

20년전 CPU들과 비교했을 때 10,000배 이상의 성능을 낸다.

but 이에 비해 DRAM의 성능은 발전 속도가 빠르지 않다.

 

메모리는 크고, 빠르면 좋다. 

-> 문제 : 빠르면 비싸다. 

해결 : Locality를 활용한다. (한 명령어를 참조하면 그 주변에서 다시 참조하여 사용)

(주변이라는 것은 메모리의 hierarchy에 따라 밑으로 가면 더 커진다고 합니다)

spatial locality 를 활용하기 위해서는 한번에 block(대량의) 명령어들을 가져온다.

 

우리가 프로그래밍 할 때 캐시, 메모리 고려하지 않는다. Why? Virtual memory

Main Memory : DRAM (Physical memory)

 

CPU에서 로드하면 먼저 캐시메모리를 찾게된다.(가장 빠르다. 95%는 여기서 참조한다)

만약 없다면 내려가서 더 큰 캐시에서 찾아보고 그 다음에도 없다면 DRAM으로 가서 찾아본다.

DRAM 에도 없다면 DISK에서 찾아본다

메모리의 계층은 레지스터 - 캐시 - 메인메모리 - 디스크 - 네트워크

이렇게 구성되며 밑으로 갈 수록 속도는 느리지만 찾을 수 있는 범위가 크다.

 

캐시 : 프로세스와 메인메모리 사이에 있는 small memory이다.

들어오면 버리지 않고 보관하며 참조하는데 도움을 준다.

캐시에도 3가지 종류가 있는데

Fully associative cashe, Direct mapped cashe, Set associative cashe가 있다.

 


오늘 강의는 캐시에 대하여 강의가 진행됬는데요, 캐시도 단순한 것이 아니라

상당히 복잡한 형식으로 이루어져있더라고요.. 많은 것을 이해하기가 힘들었습니다..

 

해당 강의는 최린 교수님 강의를 기록한 것입니다.

https://www.youtube.com/watch?v=Sb16Hu6eCXQ&list=PLL3t9Nt4Hrfv-6V3ylNL4N90TztqlSJOe&index=7