일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C
- JavaScript
- 프로그래밍언어
- 지혜를가진흑곰
- 주식
- 알고리즘트레이닝
- 서평
- 자바스크립트
- 자바
- 알고리즘 공부
- 화장품
- 독후감
- Java
- algorithmTest
- 독서
- 프로그래머스 알고리즘 공부
- 재테크
- 책을알려주는남자
- 돈
- C++
- 알고리즘공부
- 투자
- 채권
- 백준알고리즘
- 성분
- algorithmtraining
- algorithmStudy
- 다독
- 책알남
- 경제
- Today
- Total
탁월함은 어떻게 나오는가?
메모리 계층 구조(Memory hierarchy)에 대해서 본문
메모리 계층 구조(Memory hierarchy)에 대해서
Snow-ball 2021. 1. 27. 20:01메모리 계층 구조란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미합니다. 이때 필요한 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이며, 일반적으로 레지스터와 캐시는 CPU내부에 존재합니다. 당연히 CPU는 아주 빠르게 접근할 수 있고, 메모리는 CPU 외부에 존재합니다. 레지스터와 캐시보다 더 느리게 접근 할 수 밖에 없으며, 하드 디스크는 CPU가 직접 접근할 방법 조차 없습니다. CPU가 하드 디스크에 접근하기 위해서는 하드 디스크의 데이터를 메모리로 이동시키고, 메모리에서 접근해야 하고, 아주 느린 접근 밖에 불가능합니다.
그렇다면 메모리 계층구조는 어째서 피라미드 형태로 말할까?(실제로 논문으로도 발표됬다고 합니다.)
이는 컴퓨터 과학에서 증명된 법칙인데, 큰 메모리를 사용한다고 해도 그 안의 모든 데이터를 고르게 접근하지 않습니다. 자주 쓰이는 데이터는 계속 자주 쓰이고, 자주 쓰이지 않는 데이터는 계속 자주 쓰이지 않기 때문이져. 쉽게말해서 멱법칙 따르는 것입니다.(멱법칙을 잘모르신다면 파레토의법칙을 생각하면 됩니다.)
이를 이용해서 운영체제나 CPU는 자동으로 자주 쓰이는 데이터, 또는 자주 쓰일 것 같은 데이터를 메모리에서 캐시로 읽어오며, 자주 쓰이는 데이터는 전체 데이터 양에 비해 작은 양이기 때문에, 캐시는 메모리보다 더 작아도 됩니다. 메모리와 하드 디스크의 관계도 마찬가지이며, 그리고 이러한 법칙을 토대로 경제성을 고려하여 만들어진것이라고 봅니다.
간단하게 메모리 구조의 상층으로 갈수록 비싸지기 때문입니다. 비싼 하드웨어는 꼭 필요한 만큼만의 크기만 사용하고, 싼 하드웨어를 넉넉한 크기만큼 사용하기 때문에 피라미드 형태가 되는 것입니다.
'[Snow-ball]프로그래밍(컴퓨터) > 프로그래밍 및 컴퓨터 개론 이론' 카테고리의 다른 글
매개변수(parameter 파라미터) 란? (0) | 2021.02.02 |
---|---|
스핀락(SpinLock), 컨텍스트 스위칭(Context Switching),인터럽트(Interrupt) 란? (0) | 2021.01.28 |
시분할 방식 및 시스템에 대하여 (0) | 2021.01.22 |
프로그램 언어와 API가 없이 간단히 코드 조회하기 (0) | 2021.01.07 |
C/C++ 초보자들이 코딩연습하기 좋은 코드업사이트 (0) | 2020.11.25 |