디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[CS:APP 11] The Memory Hierarchy

츄럴(59.22) 2016.12.21 20:57:56
조회 1918 추천 10 댓글 29
														

첫 댓글에 인강을 볼 수 있는 URL을 달았습니다



11화 The Memory Hierarchy

이번에는 하라부지 교수님이 아니라 아조시 교수님이 수업하신다

개인적으로는 이분 영어가 더 잘 들려서 좋다...


Memory Hierarchy를 설명하기 위해 갖가지 storage device들의 스펙들에 대해 설명한다

오늘은 이론적이고 전체적인 부분에 대해 개관한다.



1. 저장장치들 storage devices


내용은 많지만 핵심은 

-----------------------------

값이 쌀수록 용량이 크고 대신 느리다

비쌀수록 용량은 작고 빠르다

-----------------------------

그러하다.


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f81781709e1a40ca9e40d6d09




기억에 남는 것은 SSD는 다음과 같은 구조를 이루며 

HDD처럼 쓰기 위해서 logical disk block이란 가상의 개념(원래 HDD가 쓰던 개념)을 따른단다

뭔가.. 가상 메모리 같은 개념인 거 같다(그림의 block은 그거는 아니고 진짜 하드웨어 블록임)


저런 게 OOP랑 일맥상통하는 부분이 있지만 그런 이야기는 나중에 하자..

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f8b2f4301e0f457f5e40d6d09


그리고 SSD는 그림의 블록 하나를 다 지워야만 page에 데이터를 쓸 수 있다. 왜? 는 설명 안 해줌 뭐 장치가 그렇다는데 그런거겠지..

그래서 쓰는 게 읽는 거보다 느리고(읽는 건 제한 없음) 10000번을 쓰면 못 쓴댄다.



아 그리고 왜 함슬람이 요즘 뜨는지, 왜 Clojure가 미래의 언어라고 주장하는 사람이 있는지도 조금 이해가 갔다.

다음 그림을 보면 

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f81781709e1a40ca9e40d6d09


1985에서 2003년까지는 2년마다 2배씩 꾸준히 성능이 증가한다. 그런데 2003년에는 그 한계를 맞는다.

더이상 clock frequency를 증가시킬 수 없게 된 것이다. 공짜 점심은 끝났다...


이 때부터 CPU 제조사들은 코어를 늘릴 생각을 하게 된다

그래서.. 병렬 프로그래밍이 중요해진 것이고

CPU cycle time과 Effective CPU cycle time이 차이 나는 이유가 바로 병렬 프로그래밍 때문인 것이다.


그런데 그 병렬 프로그래밍을 가장 하기 쉬운 패러다임이 바로 함슬람이다.


람다후 함크바르!


Clojure가 미래의 언어라는 과격한 주장이 나오는 이유도 이걸 참 잘 해서라는 거 같다

그리고 JVM의 지원도 끝내주고..


그건 그렇구요


그다음은 지역성에 대해 이야기한다.



2. locality

지역성의 법칙: 

후로그램은 최근에 사용한 인스트럭션이나 데이터들의 주소와 가깝거나 

동일한 곳의 데이터를 많이 사용하는 경향이 있다.


가까운 곳의 데이터를 쓰면 spatial locality

동일한 주소의 데이터를 쓰면 temporal locality


이걸 지켜야 빠르다. 왜? 캐시를 쓰니까


멍청한 예제도 하나 소개해 준다

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f8e791759b3a456f5e40d6d09

이런 짓은 아무도 안 하지만 어쨌든 이러면 안 되요


근데 전에 이런 거 일일이 생각하면 머머리된다는 개드립을 친 적이 있는데...

배워보니 locality 정도는 생각해야 되겠다. 너무 중요하다. 머머리가 되는 걸 강요받고 있다!



3. The Memory Hierarchy

솔직히 빠른 놈이 용량도 크고 값까지 싸다면 그놈으로 메모리를 도배하면 되겠으나

응 아니야~

그러한 현실의 제약을 해결하기 위해 cache를 사용한다.


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f892f4459e3f204a7e40d6d09


아래쪽의 큰 용량을 가지며 느리지만 값싼 저장장치에서

위쪽의 비싸고 용량은 작지만 빠른 저장장치로

지금 쓰려는 데이터들을 옮긴다.

(지역성의 법칙에 의해 지금 쓰려는 데이터는 어차피 하부에 저장된 데이터의 일부이므로 가능)


이것이 cache이다.

그리고 k레벨의 저장장치는 k+1레벨 저장장치의 cache 역할을 한다.



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07fdc2f120ab7f100f2e40d6d09

cache hit는 CPU가 지금 쓰려는 데이터cache(즉 상위 저장장치)있는 경우를 의미한다 

캐시 히트는 좋은 것이다!



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07f8b28170cb1fd56a0e40d6d09

cache miss는 CPU가 지금 쓰려는 데이터 cache(즉 상위 저장장치)에 존재하지 않는 경우를 의미한다 

당연히 더 하위의 저장장치에까지 데이터를 요청해야 되고 시간이 오래 걸린다.

이 현상은 해로운 현상이다!



그러하다. 


근데 우리 후로그래머들에게 결국 중요한 것은 무엇인가? 

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e44cb2e73e339192efea132e4c07fdc7c4008b6f456a0e40d6d09


그렇다. 후로훼셔널 후로그래머라면 코드를 딲! 보는 순간 지역성이 있는지 없는지 파악할 수 있어야 한다

아무리 메모리를 서열로 잘 구성해놔도 프로그램이 안 쓰면 말짱 황이다


이 맛에 제가 CS:APP빱니다... 후로그래머한테 진정으로 중요한 걸 말해준다 이겁니다...





--------------------------------------

어제 오랜만에 개념글 뽕 맞아서 또 글 썼읍니다

그리고 머리 속에 정리도 되고 해서요.


틀린 부분이 있다면 반드시 지적해주십시오. 사실상 오늘 처음 배우고 썰 푸는 겁니다...


매일 연재 해 볼 생각입니다 가능하면 말이지요


CS:APP 읽는 여러분 모두 화이팅!



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28177a16fb3dab004c86b6f1241ce450ebd83e293e9e6afef9bca2958ff278d465e0a977d1feb391e28fbc7920e656ed340a7e461bc73b0

2학년 필독서! 꼭봐라 두번봐라 세번봐라 계속봐라!

추천 비추천

10

고정닉 6

1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 며느리, 사위되면 시댁, 처가에 잘할 것 같은 스타 운영자 25/10/13 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47915 65
2896214 구글코리아 부사장에 조선일보·화이자 출신 영입 발명도둑잡기(118.216) 13:26 0 0
2896213 반중을 혐한으로 대항하는 친중극좌 민주당 ♥덩냥이♥갤로그로 이동합니다. 13:18 8 0
2896212 틀튜브 중국 망한다더니 [1] 발명도둑잡기(118.216) 13:13 12 0
2896211 이재명 불법대북송금? 비공개 예산 논란 ♥덩냥이♥갤로그로 이동합니다. 13:06 12 0
2896210 [대한민국] 카카오톡과 캄보디아 사건 프갤러(121.172) 13:04 10 0
2896209 김현지,이재명 범죄 대법원 판결문 공개 ♥덩냥이♥갤로그로 이동합니다. 13:03 13 0
2896208 확실히 환절기는 환절기임 ♥덩냥이♥갤로그로 이동합니다. 13:02 9 0
2896207 미술이나 작곡 기술 다 배워도 만들고 싶은게 없어서 프갤러(60.196) 12:58 12 0
2896206 증권사 개발자임 [4] ㅇㅇ(106.101) 12:57 41 0
2896204 이 대통령 "계엄 연루 군 승진대상자, 발각되면 취소하라" [2] 발명도둑잡기(118.216) 12:28 19 0
2896203 좇센이캄보디아평가할수준임??ㅋㅋㅋ 타이밍뒷.통수한방(1.213) 12:20 11 0
2896202 맘터는 ㄹㅇ 돈 받고 먹어줘도 먹을까말까임 ♥덩냥이♥갤로그로 이동합니다. 12:10 17 0
2896201 '캄보디아 사망' 서세원, 미완의 '카지노 대부' 발명도둑잡기(118.216) 12:08 13 0
2896200 누가 나님 냥덩이 만진거야? [2] ♥덩냥이♥갤로그로 이동합니다. 12:08 26 0
2896199 맘터는 ㄹㅇ 믿거 공짜로 줘도 안 머금 [3] ♥덩냥이♥갤로그로 이동합니다. 12:04 28 0
2896198 미국 여행 중 실종된 한국인 여성 3명…“생사불명, 흔적도 없어” 발명도둑잡기(118.216) 12:03 11 0
2896197 [단독] 캄보디아에 1천7백억 지원‥또 '김건희-통일교' 유착 의혹? 발명도둑잡기(118.216) 11:59 10 0
2896195 AGI << 이거 만들수 있는거 맞냐? [5] 루도그담당(58.239) 11:52 37 0
2896194 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 11:50 12 0
2896193 캄보디아 범죄단체에 극좌 정부기관 연관 가능성? ♥덩냥이♥갤로그로 이동합니다. 11:47 14 0
2896192 캄보디아 한국인피해 이재명 때문이었다 ♥덩냥이♥갤로그로 이동합니다. 11:41 26 0
2896191 "이명박 전 대통령, 캄보디아 총리 '경제 자문' 그만둬야" 발명도둑잡기(118.216) 11:40 18 0
2896190 [긴급] 김현지 종북간첩 경기동부연합과 연관 폭로 [2] ♥덩냥이♥갤로그로 이동합니다. 11:36 35 0
2896189 근데 솔직히 주식 프로그램<<이거 만든게 존나 운이 좋았음 [31] ㅆㅇㅆ(124.216) 11:33 114 0
2896188 국정농단 비선실세 의혹 김현지 대법원 판결문에 기록된 저급한 욕설 ♥덩냥이♥갤로그로 이동합니다. 11:33 27 0
2896187 AI 이후로 개발자 직업은 ㅇㅇ(218.234) 11:31 21 0
2896186 나 이런 글 존나 좋아함 진짜 [1] ㅇㅇ갤로그로 이동합니다. 11:30 35 0
2896185 제일 이해가 안가는게 그거임 나 경력 좆밥인데 [2] ㅆㅇㅆ(124.216) 11:28 44 0
2896184 펜타곤·美언론 전운…'허락받아 쓰라' 보도지침에 집단 거부 발명도둑잡기(118.216) 11:27 16 0
2896183 비선실세 김현지 국민의혹 해소해야 국감을 넘어 특검과 처벌 필요성 ♥덩냥이♥갤로그로 이동합니다. 11:24 17 0
2896182 근데 사고 자체가 기이하네 [2] 루도그담당(118.235) 11:24 51 0
2896181 프로그래머 괜히했나 [1] ㅇㅇ(223.39) 11:22 35 0
2896180 애미추가 이끌어낸 찢두순 유죄 가짜대통령 지위박탈 재판 재개만 남았다 ♥덩냥이♥갤로그로 이동합니다. 11:22 16 0
2896179 "K팝, 복사 붙여넣기 역겹다"…뮤직비디오 표절에 분노 발명도둑잡기(118.216) 11:19 20 0
2896178 42경산 3기 3차 라피신 교육생 모집 (~10/17) 프갤러(14.32) 11:19 21 0
2896177 극좌 찢두순 캄보디아 국민구출 보다 국민입틀막에 급급 ♥덩냥이♥갤로그로 이동합니다. 11:19 17 0
2896176 무능극좌 찢두순 레임덕 시작 ㅋㅅㅋ ♥덩냥이♥갤로그로 이동합니다. 11:18 18 0
2896175 대체 나님을 왜 나무위키에 박제한것임? ♥덩냥이♥갤로그로 이동합니다. 11:16 25 0
2896174 인정 받으려고 애쓰는 게 뭐 어쨌단 거임 [3] 에이도비갤로그로 이동합니다. 11:10 61 1
2896173 안녕하세요 신입 QA입니다 [1] cvs.갤로그로 이동합니다. 11:01 31 0
2896172 [SeSAC] 생성형 AI 활용한 클라우드 & 보안 전문가 양성 캠프 ( 프갤러(14.32) 10:55 18 0
2896171 냥덩이도 납치되서 캄보디아로 끌려가는거 아닐까? 발명도둑잡기(118.216) 10:46 16 0
2896170 아 씨방 맞나이거 [1] ㅇㅇ(223.39) 10:42 41 0
2896169 인간극장->짱깨극장 자연인->나는짱깨다 타이밍뒷.통수한방(1.213) 10:40 17 0
2896168 AI 때문에 프로그래머 취업이 줄어들었다고?! 프갤러(112.162) 10:37 30 0
2896167 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 10:35 17 0
2896166 직장 내 '전자 노동감시' 심화됐지만…노동자 보호 대책은 '부족' 발명도둑잡기(118.216) 10:33 11 0
2896165 저거 8.46 아이피 저거 보니까 어려울건 없는듯 [4] ㅆㅇㅆ(124.216) 10:32 55 0
2896164 한국영화계가 망한 이유는 넷플릭스 독과점 때문이다 [6] 발명도둑잡기(118.216) 10:28 29 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2