7장 : 캐시와 메모리.

Slides:



Advertisements
Similar presentations
1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
Advertisements

컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
2.1 컴퓨터 시스템의 구성 2.2 컴퓨터 시스템의 정보 표현 2.3 중앙처리장치 2.4 저장장치 2.5 컴퓨터 주변기기
Understanding of Ubiquitous & Computers Plus
LOGO 주기억장치와 보조기억장치 한재성.
Flash SSD (Solid State Disk)
마이크로 컨트롤러 Microcontroller.
6주차:『GPU(CUDA) Programming』
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
Chapter 7 ARP and RARP.
컴퓨터 하드웨어 Computer Hardware
제 2장 컴퓨터 구조.
하드웨어 3 : RAM.
CPU (central Processing Unit)
기본 컴퓨터 프로그래밍 Lecture #6.
Ⅵ. 메모리와 프로그램 가능한 논리소자 1. 메모리의 개요 2. ROM 3. RAM 4. 프로그램 가능한 논리소자
Operating Systems Overview
Chap. 12 Memory Organization
3장. 컴퓨터의 기억장치 학번 : 이름 : 김현화.
임베디드 하드웨어 Lecture #6.
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
DSP와 TMS320F28x의 이해.
6장. 기 억 장 치 Lecture #6.
On the computation of multidimensional Aggregates
컴퓨터 구조.
컴퓨터 중앙처리장치, 기억장치, 입력장치 및 출력장치를 알아보자.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
CAVE : Channel-Aware Buffer Management Scheme for Solid State Disk
Chapter 7. Pentium Processor
Chap. 12 Memory Organization
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
컴퓨터 시스템의 개요.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제 2장 컴퓨터동작의 기본 개념.
Xen and the Art of Virtualization
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
Computer System Architecture
Chapter 4 The Von Neumann Model.
Chap. 12 Memory Organization
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제 4 장 가상 메모리 관리 4.1 개요 가상 메모리는 하나의 프로세스 전체가 한 번에 주기억 장치 내에 존재하지 않고 일부만 있어도 수행하게 하는 방법을 제공함. 가상 메모리를 사용하면 사용자는 실제 주소 공간의 크기에 구애 받지 않고 보다 큰 가상 주소 공간상에서 프로그래밍을.
제4강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
메모리란?? 조대민 -1-.
기억장치 관리(Memory Management)
운영체제 (Operating Systems) (Memory Management Strategies)
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
Computer System Overview
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
5장. 캐시 기억장치 다루는 내용 컴퓨터 본체에서 기억장치 위치 살펴보기 컴퓨터 기억장치의 계층적 구조 캐시 기억장치 원리
UNIT 21 Flash Memory Controller 로봇 SW 교육원 조용수.
Chapter 12 Memory Organization
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture #6 제5장 기억장치 (1).
16장. 컴퓨터 구조에 대한 네 번째 이야기 작성자: 윤성우.
제9장 가상 메모리 관리.
기억장치 관리(Memory Management)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
데이터 베이스의 내부 구조.
Microprocessor Design and Application 마이크로 프로세서 설계 및 응용 2017 Spring
임베디드 하드웨어 Lecture #6.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture 7 7-Segment LED controller using u-controller
가상 기억장치 (Virtual Memory)
Presentation transcript:

7장 : 캐시와 메모리

메모리 계층 사용자들은 값싸고 빠른 메모리를 크면 클수록 갖고 싶어한다! - 나에게 하드디스크 (300GB) 만큼의, 속도는 RAM 정도이고 비휘발성 메모리가 있다면….. 그런데 돈이 없다. 2008년 현재 RAM은 1GB/15,000원 HD는 500GB/9만원 (1GB/180원) 캐시 가격을 정확히 산정하기는 어려우나 2MB/2만원 (1GB/1000만원) 이 된다. 캐시는 DRAM에 비해 몇십배 빠르고, DRAM의 액세스 속도는 몇십 ns 이며 HDD보다 수백배 빠르다. 이러니, 캐시는 HDD보다 수천배 이상 빠르다. 컴퓨터 메모리 시스템 설계의 핵심은 어떻게 이 다양한 성능, 가격비를 갖는 메모리를 조합해서, 가장 적은 돈을 써서 용량은 HDD같이 많게 하고, 성능은 캐시같이 빠르게 할 수 있는가이다.

메모리 계층 저장용량 크기 성능 가격 C P U L e v e l 1 L e v e l s i n t h e L e v e l 2 m e m o r y h i e r a r c h y L e v e l n 저장용량 크기

Locality (지역성) : 메모리 액세스는 지역성을 갖는다 Our initial focus: 우리는 인접한 두 메모리 계층 ( 상위 (upper), 하위(lower) )간의 메모리 액세스 특성을 다룬다. 블록 (block): 두 계층에 존재 또는 이동하는 데이터의 최소 단위 (minimum unit of data) 적중 (hit): access 하려는 데이터가 상위 계층에 있을 때 실패 (miss): access 하려는 데이터가 상위 계층에 없을 경우

캐시 : 데이터나 인스트럭션 모두 담을 수 있다. Two issues: 우리가 원하는 아이템 (데이터, 인스트럭션)이 캐시에 있는지? 캐시에 있으면 어디에 있는지? Our first example: block size is one word of data "direct mapped" For each item of data at the lower level, there is exactly one location in the cache where it might be. e.g., lots of items at the lower level share locations in the upper level

Direct Mapped Cache Mapping: address is modulo the number of blocks in the cache C a c h e 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M e m o r y

Direct Mapped Cache For MIPS: What kind of locality are we taking advantage of?

Direct Mapped Cache Taking advantage of spatial locality: A d r e s ( w i n g b t p ) 1 6 2 B y f V T a D H 3 4 K 8 M u x l c k I 1 6 1 5 4 3 2 1

찾는 아이템이 캐시에 있는지, 없는지 : Hits vs. Misses this is what we want! 읽기 miss 이면 stall the CPU, fetch block from memory, deliver to cache, restart Write hit 이면: can replace data in cache and memory (write-through) write the data only into the cache (write-back the cache later) Write miss 이면: read the entire block into the cache, then write the word

Hardware Issues Make reading multiple words easier by using banks of memory It can get a lot more complicated... C P U a c h e B u s M m o r y . O n - w d i g z t b W l p x k 1 M e m o r y M e m o r y b a n k k 2 b a n k 3 c . I n t e r l e a v e d m e m o r y o r g a n i z a t i o n

Performance Increasing the block size tends to decrease miss rate: Use split caches because there is more spatial locality in code:

캐시 성능 Simplified model: execution time = (execution cycles + stall cycles)  cycle time stall cycles = # of instructions  miss ratio  miss penalty 성능을 향상하려면: miss 율을 줄여야 하며 miss 했을 시 손실 (miss penalty) 을 줄여야 한다. What happens if we increase block size?

캐시를 또다시 몇 단계로 나누어 캐시 미스 시 부담을 줄인다. Add a second level cache: often primary cache is on the same chip as the processor use SRAMs to add another cache above primary memory (DRAM) miss penalty goes down if data is in 2nd level cache Example: CPI of 1.0 on a 5 Ghz machine with a 5% miss rate, 100ns DRAM access Adding 2nd level cache with 5ns access time decreases miss rate to .5% Using multilevel caches: try and optimize the hit time on the 1st level cache try and optimize the miss rate on the 2nd level cache  요즈음 CPU는 그 내부에 멀티레벨 캐시를 갖고 있다. 인텔 코어2쿼드 켄츠필드 : L1 캐쉬 ; 8way data cache 32KB x 2, & 8way Instruction cache 32KB x 2 L2 캐쉬 ; 4MB x 2

Virtual Memory (가상 메모리) : 운용체제에서 중요 하드디스크와 메모리사이에서 어떻게 하면 하드디스크를 메모리와 같이 사용할 수 있을까 하는 요구에서 나왔음. 즉 캐시-RAM 관계를 RAM-HDD에 적용 Advantages: illusion of having more physical memory program relocation protection V i r t u a l a d d r e s s e s P h y s i c a l a d d r e s s e s A d d r e s s t r a n s l a t i o n D i s k a d d r e s s e s

Pages: virtual memory blocks Page faults: the data is not in memory, retrieve it from disk huge miss penalty, thus pages should be fairly large (e.g., 4KB) reducing page faults is important (LRU is worth the price) can handle the faults in software instead of hardware using write-through is too expensive so we use writeback 3 2 1 9 8 5 4 7 P a g e o f s t V i r u l p n m b d h y c T r a n s l a t i o n a l a d d r e s s

Page Tables P h y s i c a l m e o r D k t g V d 1 b u p n

Modern Systems Things are getting complicated!

앞으로는 어떻게 될 것 같은가? CPU 속도가 계속 빨라져 메모리 특히 HDD와 격차 커짐 저장 장치간의 속도 격차가 더욱 커짐에 따라 이들을 어떻게 조합하여 최적의 메모리 구조를 설계할 것인가? 트랜드: redesign DRAM chips to provide higher bandwidth or processing (DDR, DDR2, RAMBUS) restructure code to increase locality : 항상 해 왔던 것 use prefetching (make cache visible to ISA) HDD 시대가 마감되고 FLASH 메모리시대로? 값싸고 성능 좋은 비휘발성의 Solid State 메모리가 많이 등장하고 있음.