Chapter 12 Memory Organization

Slides:



Advertisements
Similar presentations
© DBLAB, SNU 화일구조. 강의 소개 - 화일구조  Instructor : Prof. Sukho Lee (301 동 404 호 )  홈페이지 :  교과목 개요 – 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와.
Advertisements

1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Understanding of Ubiquitous & Computers Plus
OS 소개 Introduction 설계목표 기본 용어 Resource Management History.
화일구조.
마이크로 컨트롤러 Microcontroller.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
6주차:『GPU(CUDA) Programming』
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
제 2장 컴퓨터 구조.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
Chap. 12 Memory Organization
3장. 컴퓨터의 기억장치 학번 : 이름 : 김현화.
7장 : 캐시와 메모리.
임베디드 하드웨어 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
컴퓨터 구조학 정보보호학과.
12. 데이터베이스 설계.
연습문제풀이/도움말.
6장. 기 억 장 치 Lecture #6.
컴퓨터 구조.
컴퓨터 중앙처리장치, 기억장치, 입력장치 및 출력장치를 알아보자.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chap. 12 Memory Organization
정보(information) 데이터(data) 어떤 사물에 대한 소식이나 자료 가공된 데이터
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
컴퓨터 시스템의 개요.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
운영체제 (Operating Systems)
Xen and the Art of Virtualization
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
Computer System Architecture
Chap. 12 Memory Organization
제10,11,12장 파일시스템 디스크 스케줄링.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제 4 장 가상 메모리 관리 4.1 개요 가상 메모리는 하나의 프로세스 전체가 한 번에 주기억 장치 내에 존재하지 않고 일부만 있어도 수행하게 하는 방법을 제공함. 가상 메모리를 사용하면 사용자는 실제 주소 공간의 크기에 구애 받지 않고 보다 큰 가상 주소 공간상에서 프로그래밍을.
제4강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
Design of Flash-Based DBMS: An In-Page Logging Approach
기억장치 관리(Memory Management)
1조 김성수 백현기 석광우 김지원 박광연.
운영체제 (Operating Systems) (Memory Management Strategies)
제15강 기억장치 3.
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
분산 파일 시스템의 구조 GFS 와 CEPH SW공학센터 융합SW공학팀 장원석 책임 연구원
Computer System Overview
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
5장. 캐시 기억장치 다루는 내용 컴퓨터 본체에서 기억장치 위치 살펴보기 컴퓨터 기억장치의 계층적 구조 캐시 기억장치 원리
UNIT 21 Flash Memory Controller 로봇 SW 교육원 조용수.
Lecture #6 제5장 기억장치 (1).
화일구조.
CHAPTER 04 파일 설계(FiLE Design).
16장. 컴퓨터 구조에 대한 네 번째 이야기 작성자: 윤성우.
제9장 가상 메모리 관리.
기억장치 관리(Memory Management)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
1. 가상 메모리의 개념 프로그램에 의해 빈 프레임은 부재된 페이지를 수용하기 위해 사용. 페이지 대치 과정.
데이터 베이스의 내부 구조.
Microprocessor Design and Application 마이크로 프로세서 설계 및 응용 2017 Spring
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
가상 기억장치 (Virtual Memory)
Presentation transcript:

Chapter 12 Memory Organization 충남대학교 컴퓨터전공 http://sslab.cnu.ac.kr 이 철 훈

Fig. 12-1 Memory hierarchy in computer system Chapter 12 Memory Hierarchy CPU register, Cache, Main Memory, Disk, Tape access time ( ti ) : t0 < t1 < t2 < t3 < t4 memory size ( si ) : s0 < s1 < s2 < s3 < s4 cost per byte ( ci ) : c0 > c1 > c2 > c3 > c4 transfer bandwidth ( bi ) : b0 > b1 > b2 > b3 > b4 unit of transfer ( xi ) : x0 < x1 < x2 < x3 < x4 Fig. 12-1 Memory hierarchy in computer system Computer System Architecture 1

Chapter 12 Memory Hierarchy Memory characteristic of a typical mainframe computer in 1993 Inclusion Property : Mn ⊃ Mn-1 … ⊃ M2 ⊃ M1 All information items are originally stored in outmost level Mn During the processing, subset of Mn is copied into Mn-1, Mn-1 into Mn-2, … Information in Mi can be also found in Mi+1, Mi+2, … Word miss in Mi implies miss in Mi-1, Mi-2, … Memory Characteristics CPU Register Cache Main Memory Disk Storage Tape Unit Access time ti 10 ns 25 ~ 40 ns 60 ~ 100 ns 12 ~ 20 ms 2 ~ 20 min Capacity si 512 bytes 128 Kbytes 512 Mbytes 60 ~ 228 GB 0.5 ~ 2 TB Bandwidth bi 400~800 MB/s 250~400 MB/s 80~133 MB/s 3~5 MB/s 0.18 ~ 0.23 MB/s Unit of transfer xi 4 ~ 7 bytes per word 32 bytes per block 0.5 ~ 1 Kbytes per page 5 ~ 512 Kbytes per file Backup storage Allocation management Compiler assignment Hardware Control Operating system system / user Computer System Architecture 1

Chapter 12 Memory Hierarchy Inclusion property and data transfer (Fig. 4-18 of Kai Hwang) Computer System Architecture 1

Main Memory RAM and ROM chips Chapter 12 1024 × 8 main memory with 128 × 8 RAM chips and 512 × 8 ROM chip Fig. 12-2 Typical RAM chip Fig. 12-3 Typical ROM chip Computer System Architecture 1

Tab. 12-1 Memory address map for microcomputer Chapter 12 Main Memory Memory Address Map Tab. 12-1 Memory address map for microcomputer Computer System Architecture 1

Fig. 12-4 Memory connection to the CPU Chapter 12 Main Memory Memory connection to CPU Computer System Architecture 1 Fig. 12-4 Memory connection to the CPU

Auxiliary Memory Auxiliary Memory로 가장 많이 사용되는 것이 disk및 tape이다 Chapter 12 Auxiliary Memory Auxiliary Memory로 가장 많이 사용되는 것이 disk및 tape이다 Access time = seek time + transfer time seek time : read-write head를 원하는 위치까지 이동시키는데 걸리는 시간 transfer time : device로부터 data를 transfer하는데 걸리는 시간 transfer rate : head가 원하는 위치에 도달한 후, 초당 transfer하는 데이터 양 Seek time이 transfer time보다 상당히 길기 때문에 data가 block 혹은 record 단위로 저장된다 Magnetic Disks 각 disk는 track과 sector로 나뉘어져 있으며, read / write head를 가진다 disk address = (disk # + surface # + track # + sector #) Computer System Architecture 1 Fig. 12-5 Magnetic disk

Fig. 12-6 Block diagram of associative memory Chapter 12 Associative Memory Address 대신에 data의 내용 (content)으로 access하는 메모리를 associative memory 혹은 content addressable memory (CAM)이라고 부름 Parallel search를 하며, search는 전체 word나 혹은 word내의 특정 field에 대해 할 수 있다 각 메모리 cell에 대하여 storage 기능 및 content matching circuit이 요구되므로 random access memory에 비해 비싼 대신에 search time이 빠르다 Hardware Organization Computer System Architecture 1 Fig. 12-6 Block diagram of associative memory

Fig. 12-8 One-cell of associative memory Chapter 12 Associative Memory Match Logic Fig. 12-8 One-cell of associative memory Computer System Architecture 1

Fig. 12-9 Match logic for one word of associative memory Chapter 12 Associative Memory Fig. 12-9 Match logic for one word of associative memory Mi = Computer System Architecture 1

Cache Memory Locality of references Chapter 12 Cache Memory Locality of references 1. temporal locality : 최근에 reference된 item은 가까운 미래에 다시 reference될 확률이 높다 (예) iterative loops, process stack, temporary variable, subroutine, 등 2. Spatial locality : 인접한 item 들이 access 되는 경향이 있다 (예) operations on tables and arrays 3. Sequential locality : branch instruction을 만나지 않는 한 프로그램 상의 순서대로 수행된다 이와 같은 locality 때문에 cache의 size가 작아도, 가장 자주 reference되는 instruction이나 data를 cache에 둠으로써 hit ratio 를 높일 수 있다 (예) cache access time이 10ns, main memory access time이 100ns, 그리고 cache hit ratio가 0.9인 경우, 평균 memory access time은 0.9 × 10 + 0.1 × 100 = 19ns Computer System Architecture 1

Chapter 12 Cache Memory Coherence Property : cache와 main memory에 있는 같은 item에 대해서 consistence를 유지하기 위해서는 cache에 있는 내용이 main memory에 즉시 혹은 언젠가는 update 시켜야 한다 1. write-through : cache update시마다 즉시 main memory에 update한다 2. write-back : 즉시 update 하지 않고 나중에 필요 시에 update한다. Replacement Algorithm : cache가 full인 상태에서 cache miss가 발생하면 main memory로부터 읽어 온 block을 위해 cache에 있는 기존의 한 block을 replace시켜야 한다. 다음과 같이 FIFO, LRU, random algorithm 들이 있다 1. FIFO (First-In, First-Out) : cache에 가장 오래 전에 들어온 block을 replace시킴 2. LRU (Least-Recently Used) : 최근에 가장 reference가 안된 block을 replace시킴 (가장 hit-ratio 가 높다 (why?)) 3. Random : 임의의 block을 replace시킨다 Main memory와 cache 사이의 block mapping 방법에 따라 다음의 세 가지 cache 구조가 있다 1. Fully-associative cache 2. Direct mapping cache 3. Set-associative cache Computer System Architecture 1

Cache Memory (1) Fully-associative cache Chapter 12 각 메모리 block이 임의의 cache block frame에 mapping 가능 Cache에 있는 모든 block tag들은 동시에 compare해야 하므로 tag size가 커짐 Parallel search를 하므로 속도는 빠르나, cost가 비싸다 Computer System Architecture 1

Fully associative cache organization and a mapping example Chapter 12 Cache Memory Fully associative cache organization and a mapping example Computer System Architecture 1

Cache Memory (2) Direct mapping cache Chapter 12 각 메모리 block은 unique한 cache block frame에 mapping된다 Associative search를 하지 않고 block replacement algorithm이 필요 없으므로 구현이 간단하나 hit ratio가 낮다 Computer System Architecture 1

Direct-mapping cache organization and a mapping example Chapter 12 Cache Memory Direct-mapping cache organization and a mapping example Computer System Architecture 1

Cache Memory (3) Set-associative cache Chapter 12 Direct mapping cache와 fully-associative cache를 절충한 구조 Performance-cost ratio가 가장 높다 K-way set-associative cache Computer System Architecture 1

Cache Memory Chapter 12 Computer System Architecture 1 Set-associative cache organization and a two-way associative mapping example Computer System Architecture 1

Chapter 12 Virtual Memory Virtual memory : 실제 main memory의 memory space보다 훨씬 큰 address space를 address 할 수 있는 기법 핵심 기법은 실제 main memory의 address와 수행중인 프로세스가 reference하는 address를 분리하는 것이다 따라서 main memory보다 큰 프로그램을 수행할 수 있다 프로세스가 수행하면서 reference하는 address는 physical address로 mapping되어야 한다 Fig. 12-16 Relation between address and memory space in a virtual memory system Computer System Architecture 1

Virtual Memory Address mapping Chapter 12 ft : V → M ∪ {0} Physical memory가 dynamic하게 allocation / deallocation되기 때문에 이 함수는 시간에 따라 변한다 ft (v) = m, if m ∈ M has been allocated to store the data identified by virtual address v (memory hit) ft (v) = 0, if data v is not in M (memory miss) 만약 memory miss 이면 (이것을 page fault라 부름), disk로부터 해당하는 page를 memory에 읽어와야 한다 이와 같은 address mapping의 효율성이 virtual memory system의 성능에 결정적인 영향을 미치므로 이것은 memory management unit (MMU)라는 hardware에 의해 수행된다 Computer System Architecture 1

Fig. 4-21 (b) of Kai Hwang. PT와 TLB를 이용한 address translation Chapter 12 Virtual Memory Translation Lookaside Buffer (TLB) and Page Table (PT) PT : 모든 virtual page에 대한 physical page frame number를 기록한 table TLB : 최근에 reference된 page entry들만을 모아 놓은 high-speed lookup table Page entry : (virtual page #, physical frame #) Virtual address (virtual page #, page내의 word (혹은 line) address) Fig. 4-21 (b) of Kai Hwang. PT와 TLB를 이용한 address translation Computer System Architecture 1

Fig. 12-19 Address translation in a paged memory Chapter 12 Virtual Memory Paged Memory Paging : physical main memory와 virtual memory들 모두 fixed-size page로 partition하는 기법 원하는 virtual page가 physical memory 상에 mapping되어 있지 않으면 page fault가 발생되며 disk로부터 그 page를 physical memory에 읽어 온 후, page table을 update시킨다 Page table로부터 direct mapping을 통해 translation한다 Fig. 12-19 Address translation in a paged memory Computer System Architecture 1

Virtual Memory Address translation with pure associative mapping Chapter 12 Virtual Memory Address translation with pure associative mapping Associative memory상에 있는 모든 page entry들은 동시에 search된다 따라서 address translation은 상당히 빠르나, 구현 cost가 비싸다 Address translation with combined associative / direct mapping Direct mapping과 associative mapping을 절충한 방법 Memory의 page table entry중에 최근에 reference된 entry들만 associative memory page table에 기록 먼저 associative page table로부터 search하고, 만약 miss인 경우 memory의 page table을 search한다 Computer System Architecture 1

Fig. 12-21(a) Addressing translation with paged segment Chapter 12 Virtual Memory Paged segment Programmer 입장에서 logical하게 partition한 것을 segment라고 하며 size가 가변 Paging과 segmentation을 합친 방법 Virtual address v = (segment #, page #, word address) Fig. 12-21(a) Addressing translation with paged segment Computer System Architecture 1

Chapter 12 Virtual Memory Memory management : 수행 중인 프로세스들을 위해 memory page를 allocation 및 deallocation하고, 또한 page들을 replacement한다 Page replacement : page fault로 인해 disk로부터 원하는 page를 memory에 읽어 올 때, memory에 space가 없으면 기존의 특정 page를 선택하여 이것을 disk로 swap-out시켜 space를 만들어 주는 방법으로 FIFO, LRU, random 등의 알고리즘이 있다 Memory replacement 알고리즘의 목적은 effective memory access time을 줄이기 위해 가능한 fault 수를 줄이는 것이다. Computer System Architecture 1