제7장: 메모리 시스템(1).

Slides:



Advertisements
Similar presentations
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
Advertisements

Flash SSD 강원대학교 `01 최경집.
컴퓨터는 어떻게 동작?.
컴퓨터와 인터넷.
제5장 기억장치 5.1 기억장치 시스템의 특성들 5.2 기억장치 계층 5.3 반도체 기억 장치 5.4 기억장치 모듈의 설계
03 전자 접촉기 제어 학습목표 ▶ 전자 접촉기의 동작 원리와 기능을 설명할 수 있다.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
4. 컴퓨터 조직 순천향대학교 정보기술공학부 이상정.
제14장 동적 메모리.
정 보 물 리 R a m & R o m 4조 01 박경준 윤여광 정민우 04 김 승.
연결리스트(linked list).
제 9 장 구조체와 공용체.
컴퓨터 프로그래밍 기초 [Final] 기말고사
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
Lecture Notes in Introduction to Computers
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
램( RAM ) 램의 개념 램 선택법 듀얼채널의 의미.
Windows Server 장. 사고를 대비한 데이터 백업.
Lecture #7 제5장 기억장치 (2).
임베디드 시스템.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
제 3장 컴퓨터 시스템의 구조.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
컴퓨터 기억장치 문수영 ` = ,./][.
제10강 중앙처리장치 1.
Chapter 02 시스템 구조(System Structure)
반도체의 어제와 오늘 물리현상의 원리 12조.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
제 3 장 Memory - SRAM.
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
4. LAN의 배선체계 (3장. LAN: Local Area Network)
6장. 주 기억장치 다루는 내용 주기억장치 살펴보기 반도체를 사용한 주기억장치 기억장치 모듈 설계 오류 정정회로
임베디드 시스템이란?.
1장 컴퓨터 시스템의 개요 - 컴퓨터의 기본 시스템(프로세서)을 이해한다. - 명령어 실행 주기를 알아본다.
제4장 제어 시스템의 성능.
제5장 기억장치 5.1 기억장치 시스템의 특성들 5.2 기억장치 계층 5.3 반도체 기억 장치 5.4 기억장치 모듈의 설계
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
디 지 털 공 학 한국폴리텍V대학.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
메모리 관리 & 동적 할당.
뇌를 자극하는 Windows Server 2012 R2
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
제4강 처리장치 1.
13장 CTC and DMA Slide 1 (of 10).
ARM Development Suite v1.2
1 컴퓨터 시스템 소개.
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
데이터 동적 할당 Collection class.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
컴퓨터구조 연습문제 발표 Chapter 3 - 컴퓨터의 기능 및 상호연결의 최상위 관점
논리회로 설계 및 실험 4주차.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
TVM ver 최종보고서
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
제 4 장 Record.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
CHAP 15. 데이터 스토리지.
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Presentation transcript:

제7장: 메모리 시스템(1)

목차 기억장치 시스템의 특성 메모리 계층구조 주 기억장치 반도체 메모리의 설계 에러 검출 및 정정 캐쉬 메모리 캐쉬교체 알고리즘 캐쉬 쓰기 정책 캐쉬 성능 자기디스크 RAID 컴퓨터 구조

RAM, ROM, 캐시 메모리 등의 내부 메모리 요소들과 특성 에러 제어 자기디스크, RAID 등의 외부 메모리 요소들과 사용 이 장에서 다루어질 내용 일반적인 기억장치 시스템의 구성과 특성 RAM, ROM, 캐시 메모리 등의 내부 메모리 요소들과 특성 에러 제어 자기디스크, RAID 등의 외부 메모리 요소들과 사용 기억장치 시스템의 특성 기억장치의 목적: 프로그램의 수행에 있어서 필요한 명령어와 데이터를 저장 하는 것 - RAM, ROM, 자기디스크, 광디스크, 테이프 등 기억장치 시스템의 특성구분 비용: 비트 당 소요되는 금액 액세스 시간: 데이터를 읽거나 쓰기 위해 액세스하는데 걸리는 시간 액세스 모드: 데이터 접근 방식 사용 특성: Read-Only, Read-and-Write 컴퓨터 구조

메모리 용량(capacity): 메모리에 들어갈 수 있는 정보의 양(Words/Bytes) 예) 256 MB, 1Gb, 10 GB 등 * 메모리의 용량 = (저장장소 수) X (하나의 저장장소에 저장되는 데이터크기) 예) 256MB = 256M X 8 = 128M X 16 = 64M X 32 = 32M X 64 단어(Word): 정보의 크기(일반적으로 32비트) 주소 지정 가능한 단위(Addressable unit): 주소 지정되어질 수 있는 기본 데이터 요소의 크기(Fundamental data element size) 예) 1 바이트, 2 바이트, 4 바이트 등 전송단위(Unit of Transfer): 한 번에 메모리와 CPU 사이에 전송되어지는 데이터 단위의 수 컴퓨터 구조

전송률(Transfer rate): 전송되는 데이터의 속도 단위로 bps 혹은 byte/sec를 사용 메모리 액세스 시간(Access Time) - RAM: 데이터를 읽거나 쓰는데 걸리는 시간 - non-RAM: 읽기/쓰기 메커니즘을 원하는 위치로 이동시키는데 걸리는 시간 메모리 사이클 시간(Memory Cycle Time): 메모리 액세스 시간 + 두 번째 액세스까지 요구되는데 걸리는 시간 컴퓨터 구조

메모리 액세스 기술(Access technique) 메모리에 저장되어 있는 내용을 액세스 하는 방법 1) 주소에 의한 메모리 접근 방식(Address Accessible Memory) 메모리의 내용이 메모리 공간의 주소에 의해 접근되어 짐 각 메모리 공간은 고유의 메모리 주소가 할당됨 2) 내용에 의한 메모리 접근 방식(Contents Accessible Memory) - 메모리의 내용이 그의 내용(contents)에 의해 접근 임의 접근(Random Access) 방식 메모리의 각각의 위치는 고유의 물리적 주소를 가짐 이들 데이터의 접근은 임의의 순서대로 이루어 짐 메모리 내의 모든 액세스 시간은 동일한 특성을 가짐 모든 위치마다 액세스 장치가 있으므로 순차 액세스 방식에 비해 비싼 특성을 가짐 예) 주 메모리 컴퓨터 구조

순차 액세스(Sequential Access) 방식 메모리 데이터는 임의 접근 방식과는 달리 고유의 주소를 갖지 않음 원하는 데이터를 찾기까지 모든 메모리는 순차적으로 읽혀짐 모든 저장장치가 액세스 장치를 공유하므로, 헤드가 움직이든 아니면 저장된 자료가 움직임 액세스 시간은 메모리의 위치에 따라 제각기 다른 특성을 가짐 예) 자기테이프, 자기디스크 직접 액세스(Direct Access) 방식 데이터는 물리적 위치에 따르는 고유의 주소를 가짐 일반 메모리로 옮기는 것(직접액세스)과 원하는 데이터까지 순차적 액세스가 조합된 형태를 가짐 데이터 액세스 시간은 가변적인 특성을 가짐 이동식 헤드 디스크(movable head disk) 방식 고정식 헤드 디스크(Fixed head disk) 방식 병렬 디스크(parallel disk) 방식 컴퓨터 구조

연관 액세스(Associate access) 방식 임의 액세스 메모리 방식의 변형된 형태로서 데이터가 그의 주소가 아닌 내용(contents)에 의해 액세스됨 단어 내의 특정 비트들과 원하는 비트들을 비교하여 일치하는 단어를 액세스 하는데 모든 데이터를 메모리의 크기와 무관하게 병렬로 찾음 커다란 메모리가 사용되어 지는 곳에서 매우 빠른 특성 검색에 필요한 시간은 일정하며 비트당의 비용은 RAM보다 5-10배 빠르다는 장점 예) 캐쉬 메모리에서의 데이터 접근 컴퓨터 구조

메모리 계층 구조 메모리 계층화 구조의 특성 * 내부 메모리: 컴퓨터에서 메모리는 임시 데이터나 연산의 결과를 저장 * 외부 메모리: 입력 정보나 영구히 데이터를 저장 메모리 계층화 구조의 목적 ; 메모리를 계층화함으로 메모리의 가장 낮은 구성요소로부터 정보 전송률과 프로세서의 속도를 맞추어 컴퓨터의 성능을 높이기 위함 메모리 시스템의 주 설계 목적 - 적정한 성능에서 - 적정한 가격에서 - 적절한 저장 용량을 제공하기 위함 컴퓨터 구조

그림: 메모리 계층 구조와 그 특성 계층화 구조에서 가지는 특성 액세스 시간이 줄어들수록 비트당의 가격 상승 용량이 커질수록 비트 당 가격 하락 용량이 커질수록 액세스 시간 증가 컴퓨터 구조

1) CPU 레지스터(register) CPU 안에 있는 고속의 작은 저장 장치 명령어와 데이터를 일시적으로 저장하는 장치 그림: 8 비트 길이의 레지스터 구조 레지스터는 여러 비트를 병렬로 입력 받아서 저장 그림에서 레지스터는 8 개의 요소들로 이루어져 있는데, 각 요소(element) 는 하나의 비트를 저장 컴퓨터 구조

4) 보조 메모리(secondary memory) 2) 캐시(Cache) 메모리 캐시 메모리는 CPU 레지스터와 주 메모리 사이에 있음 CPU에서 주메모리를 액세스하는데 많은 시간이 소요되어 일어나는 성능저하를 막기 위하여 사용 캐시의 용량은 주메모리에 비하여 훨씬 작으나, 주로 SRAM을 사용하기 때문에 액세스 속도는 훨씬 빠름 3) 주 메모리(main memory) 실행 중인 프로그램 데이터가 저장되어 있는 대용량의 고속 메모리 주메모리의 주소는 CPU의 명령이나 저장 명령어를 통하여 지정됨 일반적으로 DRAM으로 구성되어지며, 최근 컴퓨터의 주메모리 크기는 1 GB 이상임 4) 보조 메모리(secondary memory) 보조 메모리 혹은 2차 메모리는 주 메모리보다 용량이 훨씬 크나 속도는 훨씬 느린 메모리 일반적으로 시스템 프로그램이나 데이터 파일 또는 CPU에 의해 자주 쓰이지 않는 것들이 저장되어짐 컴퓨터 구조

지역성의 원리(Principal of Locality) 프로그램의 전체 실행 시간 중에서 대부분이 일부 루틴을 수행하는데 많은 시간이 소요 프로그램 실행에서 전체 시간의 90%를 단지 10% 정도의 명령어를 수행 하는데 소요 일부 명령어들이 반복적으로 사용됨 CPU에 의한 루프 명령어에서 수행 서브루틴에서 수행 배열 데이터를 사용 테이블에 있는 데이터를 사용 공간적 지역성(spatial locality): 어느 데이터가 참조되면, 그 참조되어진 데이터 근처에 있는 다른 데이터가 참조될 확률이 높음 시간적 지역성(temporal locality): 어느 데이터가 참조되어지면, 머지 않은 시간에 그 데이터가 다시 참조되어질 확률이 높음 컴퓨터 구조

메모리 칩의 구조 - 2D 형 조직 - 2½ D 형 조직 1) 2D 형 조직 하나의 데이터가 W 개의 기억장치에 저장됨 한 단어를 이루고 있는 모든 데이터 비트들이 같은 주소에 저장됨 주소선의 수= - 주소 선은 열(row)에서만 지정되어 짐 컴퓨터 구조

그림: 2D 형 메모리 칩의 구조 컴퓨터 구조

한 단어를 이루고 있는 비트들이 여러 개의 메모리 위치에 분산 저장됨 2) 2½ D 형 한 단어를 이루고 있는 비트들이 여러 개의 메모리 위치에 분산 저장됨 일반적인 조직은 한 메모리 저장 위치에 하나의 비트만이 저장되는 것 하나의 메모리 위치를 지정하기 위하여서는 메모리 지정이 열과 행 두 방향 에서 이루어짐 컴퓨터 구조

2D 메모리 조직이 2½ D 메모리 조직에 비해 가지는 단점 더 많은 논리회로가 필요 많은 외부 데이터 선들이 필요하다. 2D 메모리 조직에서는 단어의 수 만큼 의 데이터 선이 필요하나, 2½ D 메모리 조직에서는 단 하나의 데이터 선만이 필요 오류 정정회로를 효과적으로 사용할 수 없음 컴퓨터 구조

RAM(random access memory/read-write memory) 전원이 공급되어져야 함 전원 공급이 끊어지게 되면, 저장되어 있던 데이터가 손실 RAM은 일시적인 기억장치로만 사용됨 DRAM(Dynamic RAM)과 SRAM(Static RAM)으로 분류 컴퓨터 구조

DRAM에서 저장 셀은 트랜지스터 안의 콘덴서에 전하 형태로 정보를 저장 콘덴서에 충전된 전하의 유무를 의미 콘덴서 전하는 방전하므로 주기적인 재충전이 필요 DRAM 셀은 한 개의 트랜지스터로 구성될 수 있으므로 6개의 트랜지스터를 필요로 하는 SRAM에 비해 매우 높은 집적도를 가짐 DRAM은 칩당 트랜지스터의 수에 있어서 가장 집적도가 높은 VLSI (Very Large ) 회로에 속함 2) SRAM SRAM은 근본적으로는 플립플롭(flip-flop)저장 셀로 이루어진 배열 구조를 가지며 DRAM보다 5~10(평균 6) 배 더 많은 트랜지스터(transistor)를 사용 DRAM 보다 더 동작 속도가 빠르나 비쌈 SRAM과 DRAM은 모두 휘발성 메모리기 때문에 전원이 꺼지면 저장된 데이터도 없어짐 컴퓨터 구조

ROM(Read Only Memory) ROM의 종류 저장되어 있는 데이터를 읽는 것은 가능하지만 데이터를 쓰는 것은 불가능한 반도체 RAM과 달리 ROM은 데이터를 영구 저장할 수 있으므로 다음과 같은 목적 으로 많이 사용 자주 사용되어지는 함수들을 위한 라이브러리 서브루틴들 (library subroutines) 시스템 프로그램들(system programs) 함수 표들(function tables) ROM의 종류 a) PROMs(Programmable ROM) - 프로그램 가능한 ROM으로 데이터가 사용자에 의해 한 번 쓸 수 있음 b) EPROMs(Erasable PROM) EPROM은 PROM과 마찬가지로 전기적으로 읽을 수도 있고 쓸 수도 있음 쓰기 전에 자외선을 이용하여 저장되어 있는 내용을 지워야 함 컴퓨터 구조

EPROM에서는 여러 번 지우고 쓰는 것이 가능하며, ROM이나 PROM과 마찬가지로 영원히 데이터를 저장할 수 있음 저장 용량이 비슷한 경우에 EPROM이 PROM에 비하여 더 비싸지만, 여러 번 반복하여 지우고 쓸 수 있으므로 유용한 장점을 가짐 c) EEPROMs(Electrically Erasable PROMs) EEPROM은 전기적으로(Electrically) 지울 수 있는 PROM EPROM과 마찬가지로 여러 번 쓸 수 있으나, 쓰기 위해 먼저 지울 필요 없다는 편리함을 가짐 EEPROM은 EPROM보다 더 비싸며, 집적도도 더 낮으므로 칩당 비트의 수가 더 적다는 특성을 가짐 d) 플래쉬(Flash) 메모리 일종의 비휘발성 기억 장치로서 전기적인 처리에 의해 기억 내용을 소거할 수 있는 점에서는 EEPROM과 유사 EEPROM은 한 번에 1바이트씩 소거할 수 있는 데 비해 플래시 메모리는 블록 단위로 소거해야 함 흔히 휴대형 컴퓨터의 하드 디스크 대용 또는 보충용으로 사용 컴퓨터 구조

플래쉬 메모리의 장점 잡음이 없음(noiseless) 빠른 액세스(faster access) 작은 크기(smaller size) 가벼움(lighter) 상용화된 플래쉬 메모리의 예 도시바의 SmartMedia Sandisk의 CompactFlash Sony의 memory Stick SmartMedia card CompactFlash card 컴퓨터 구조

RAM/ROM의 구성도 그림: 전형적인 ROM 칩 구조 컴퓨터 구조

반도체 메모리의 설계 그림: 256 x 8 RAM 구조 전체 용량 = 2 KB 256 개의 기억 장치장소에 8비트(1 바이트)의 정보를 저장 256 개의 기억장치를 위하여서는 256 = 28 이므로 8 개의 주소선이 필요 데이터는 양방향 칩 선택 신호선(Chip Selection: CS) 읽기선/쓰기선 컴퓨터 구조

표: 전형적인 RAM 동작 테이블 컴퓨터 구조

메모리 모듈의 설계 RAM 칩들은 같은 용량의 메모리 일지라도 여러 형태를 가질 수 있음 [예] 1GB(= 8 Gb)의 기억장치 모듈= 256M x 32 = 128M x 64 = 64M x 128 등의 칩들로 구현 해결해야 할 문제 원하는 용량의 메모리 모듈들이 항상 존재하거나 혹은 가용하지 않을 수 있음 사용할 수 있는 작은 용량의 메모리 칩들을 이용하여, 필요한 메모리 모듈로 설계하는 것이 필요 [예] 1G x 8 메모리 모듈이 필요하나 사용할 수 있는 칩은 128M x 8 이라면, 이 경우에 사용할 수 있는 128M x 8 칩들을 8 개 직렬로 연결하여 사용할 수 있음 기억장치의 장소 크기 확장 목적 하나의 기억장치에 저장되어지는 데이터의 길이 확장 목적 컴퓨터 구조

기억장치의 장소 크기 확장 방법 ;주어진 작은 용량의 메모리 칩을 사용하여 더 큰 크기의 기억장치 모듈을 만드는 것을 목적 [예제] 256K x 8 용량의 메모리 칩을 사용하여 1M x 8의 기억장치 모듈을 설계 → 4 개의 메모리 칩을 직렬로 연결함으로 원하는 모듈을 얻을 수 있음 하나의 메모리 칩은 256K의 기억장소를 가지므로 18 비트로 지정 18 개의 주소선이 필요 4 개의 칩으로 직렬 연결하여 구성하므로 각 메모리 칩을 선택하기 위해 2x4 디코더가 필요 2x4 디코더의 입력 선은 두 개 필요 컴퓨터 구조

그림: 256K x 8 메모리 칩을 사용한 1M x 8 메모리 모듈의 설계 컴퓨터 구조

기억장치 모듈 설계에서 기억장소의 확장은 메모리 칩을 직렬로 연결하여 구현할 수 있음 표: 각 RAM에 할당된 주소 기억장치 모듈 설계에서 기억장소의 확장은 메모리 칩을 직렬로 연결하여 구현할 수 있음 컴퓨터 구조

저장 데이터 크기 확장 방법 ; 하나의 기억장소에 저장되어지는 데이터의 크기를 확장하는 것 [예제]256K x 8 메모리 칩을 사용하여 256K x 32 메모리 모듈의 구현 예 하나의 메모리 칩으로부터 각 8비트의 데이터가 출력되기 때문에 4 개의 메모리 칩으로부터 모두 32 비트의 데이터를 얻을 수 있음 각 메모리 칩들을 병렬로 연결되기 때문에, 앞의 기억장소 확장 경우처럼 칩 선택 선은 필요없음 하나의 데이터를 액세스하기 위하여 모든 메모리 칩들이 선택됨 각 칩들은 00000H ~ 3FFFFH 까지의 메모리 장소를 가짐 기억장치 모듈 설계에서 기억되어지는 단어의 확장은 메모리 칩을 병렬로 연결하여 구현할 수 있음 컴퓨터 구조

그림: 256K x 8 메모리 칩을 사용한 256K x 32 메모리 모듈의 설계 컴퓨터 구조

메모리 읽기 동작 메모리로부터 데이터를 읽는 동작이 수행되어질 때, CPU에서 하는 동작 데이터가 저장되어 있는 메모리의 주소를 명시 위에서 명시된 메모리의 주소와 더불어 읽을 데이터의 연속적인 바이트 수를 명시 → 이러한 바이트의 수는 주로 1, 2, 4, 8 바이트 읽기 동작이 수행됨을 알림 메모리가 읽기 신호를 수신하면, 메모리로부터 데이터를 읽어서 데이터 버스에 싣고, CPU에게 알림으로써, CPU로 하여금 데이터 버스로부터 데이터를 읽어서 레지스터에 저장하도록 함 컴퓨터 구조

메모리 쓰기 동작 쓰기 동작을 위하여 CPU가 하는 일 데이터가 쓰여질 메모리의 주소를 명시 위에서 명시된 메모리의 주소와 더불어 쓰여질 데이터의 연속적인 바이트 수를 명시 → 이러한 바이트의 수는 주로 1, 2, 4, 8 바이트 중의 하나 쓰기 동작이 수행됨을 알림 아래의 표는 데이터가 쓰여지거나 읽혀질 경우 데이터 크기에 따르는 메모리 주소의 번호를 보여 줌 표: 단어 정렬의 특성표 컴퓨터 구조