1 / 46

7장 메모리 시스템

7장 메모리 시스템. 메모리 시스템의 성능 요구 ★ CPU 가 요구하는 충분히 빠른 접근 시간 제공 ★ 프로그램/자료의 충분히 커다란 저장 용량 제공 ★ 저렴한 구현 비용 및 관리가 용이하도록 설계와 구현. 7.1 메모리의 성능 1) 처리 시간(메모리 접근 시간) (1) 메모리 접근 시간( memory access time) 메모리 참조의 요청이후 응답까지의 시간 (2) 메모리 사이클 시간( memory cycle time) 연속적 메모리 접근의 최소 주기 2) 처리율(메모리 대역폭)

alain
Download Presentation

7장 메모리 시스템

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 7장 메모리 시스템 7장 메모리 시스템

  2. 메모리 시스템의 성능 요구 ★CPU가 요구하는 충분히 빠른 접근 시간 제공 ★프로그램/자료의 충분히 커다란 저장 용량 제공 ★저렴한 구현 비용 및 관리가 용이하도록 설계와 구현 • 7.1 메모리의 성능 • 1)처리 시간(메모리 접근 시간) • (1) 메모리 접근 시간(memory access time) • 메모리 참조의 요청이후 응답까지의 시간 • (2) 메모리 사이클 시간(memory cycle time) • 연속적 메모리 접근의 최소 주기 • 2) 처리율(메모리 대역폭) • 단위 시간 동안 가능한 메모리 참조의 용량: MB/sec 7장 메모리 시스템

  3. 7.2 메모리 소자 1) 메모리 소자의 발달 CPU의 클록 주기 매년 27%씩 감소 SRAM의 접근 시간 매년 25%씩 감소 DRAM의 접근 시간 매년 23%씩 감소 7장 메모리 시스템

  4. 7.2 메모리 소자 • 2) 접근 동작에 따른 분류 • (1) ROM(Read Only Memory) • PROM(Programmable ROM) • EPROM(Erasable PROM) • EEPROM(Electrically EPROM) • (2) RAM(Random Access Memory) • 정적 RAM(SRAM), 동적 RAM(DRAM) • 3) 접근 방식에 따른 분류 • 랜덤 접근 메모리 • RAM,ROM • (2) 순차 접근 메모리 • 마그네틱 테이프 7장 메모리 시스템

  5. 7.2 메모리 소자 4) 메모리 소자의 연결 256×8의 RAM 소자의 외부 연결을 보이고, 이 소자를 이용하여 1KB의 주메모리를 구성하라. • 256 x 8 메모리소자 • 주소선 : 256개의 주소(A0 ~ A7) • 자료선 : 전송 8비트(D0 ~ D7) • 제어선 : 읽기/쓰기 7장 메모리 시스템

  6. 7.2 메모리 소자 4) 메모리 소자의 연결 7장 메모리 시스템

  7. 7.2 메모리 소자 5) DRAM 메모리의 내부 구조 콘덴서의 충/방전을 이용하여 정보 저장 주기적인 재 충전(refesh) (1) DRAM의 기본구조 ◈ 열과 행의 두단계 접근, refresh로 인한 접근 시간 증가 ◈ 대역폭 낭비 7장 메모리 시스템

  8. 7.2 메모리 소자 (2) Page mode DRAM • ◈ 한번에 N개의 배열 접근 • 접근시간 감소 • 대역폭 N배 증가 (3) EDODRAM(Extented Data Out DRAM) • ◈page mode DRAM에 출력 버퍼 사용 • 각 배열에서 n비트가 동시 제공 • N x n비트 동시 접근 7장 메모리 시스템

  9. 7.2 메모리 소자 (4) SLDRAM(Synchronous Link DRAM) • ◈ 한번에 N개의 배열 접근 • 접근시간 감소 • 대역폭 N배 증가 7장 메모리 시스템

  10. 7.3 메모리 주소 지정 • 메모리의 주소 지정 • ◑워드 주소 • ◑바이트 주소 • 2) 메모리 저장 방식 • ◑ Little endian • 인텔 팬티엄 프로세서 • ◑ Big endian 7장 메모리 시스템

  11. 7. 4. 메모리 참조의 특성과 계층적 메모리 • 메모리 참조의 특성 • (1)실행 시간의 90%를 그 프로그램의 10%에서 반복 실행 • (2) 참조의 지역성(locality of reference) : • ◑참조의 공간적 지역성(spatial locality of reference) • ◑참조의 시간적 지역성(temporal locality of reference) 2)계층적 메모리 구조 7장 메모리 시스템

  12. 7. 4. 메모리 참조의 특성과 계층적 메모리 3)계층적 메모리가 처리하는 기능 ◑참조되는 계층에 원하는 정보가 있는 조사 ◑각 계층 사이의 주소를 매핑 ◑하위 계층으로부터 상위 계층으로 복사 ◑각 계층에서 제거 CPU는 캐쉬로부터 워드 단위로 정보를 읽거나 쓰는 것과 비교해, 블록 및 페이지의 크기가 워드에 비해 큰 이유를 설명하라. ◈ 참조의 지역성을 활용하기 위함 7장 메모리 시스템

  13. 7. 4. 메모리 참조의 특성과 계층적 메모리 메모리 접근 시간(T), 구현 비용(C)을 비교하라. 접근 시간이 Tc이고 구현 비용은 단위 용량 당 Cc인 메모리와 접근 시간이 Tm이고 구현 비용이 단위 용량 당 Cm=Cc/5인 메모리 소자를 사용하려 한다. 캐쉬의 용량은 단위 용량이고 이는 주메모리 용량의 1/20이다. (1) 접근 시간이 Tc인 주메모리로 구현 (2) 접근 시간이 Tc인 캐쉬와 접근 시간이 Tm인 주메모리로 구현 원하는 정보가 캐쉬에 존재할 확률은 Ph으로 가정한다. (3) 접근 시간이 Tm인 주메모리로 구현 7장 메모리 시스템

  14. 7. 4. 메모리 참조의 특성과 계층적 메모리 (1) 접근 시간 = 주메모리의 접근 시간 T=TcC=20×Cc=20Cc (2) 캐쉬 히트율이 Ph라 하자. T=Ph×Tc+(1­Ph)×Tm C=Cc+20×Cm=Cc+Cc×20/5=5Cc (3) 접근 시간은 구현된 주메모리의 접근 시간인 Tm이다. T=Tm C=20×Cm=4Cc 7장 메모리 시스템

  15. 7.5 캐쉬 메모리 1) 캐쉬 메모리의 효율성 CPU가 참조할 정보를 미리 캐쉬에 저장 ◑ 성능 평가 캐쉬 히트 및 캐쉬 미스로 구분 평균 메모리 접근 시간(ta) = Ph x tc + (1 - Ph) x tm tc: 캐쉬의 접근 시간 tm: 주메모리의 접근 시간 Ph: 캐쉬의 히트율 2) 전송 단위 주메모리와 캐쉬 사이의 정보 이동은 블록(또는 라인) 단위 : 참조의 지역성을 활용 7장 메모리 시스템

  16. 7.5 캐쉬 메모리 3) 캐쉬 미스시의 두 가지 접근 방식 ◑순차 접근 방식 ◑동시 접근 방식 7장 메모리 시스템

  17. 7.5 캐쉬 메모리 4) 캐쉬의 매핑 (1) 직접 매핑(direct mapping) 주메모리의 블록은 캐쉬의 지정된 위치에만 매핑 옵셋: 블록 크기 = 2옵셋 블록: 캐쉬내의 블록 수 = 2블록 장점) 매핑을 간단하고 신속하게 처리 단점) 높은 캐쉬 미스율 7장 메모리 시스템

  18. 7.5 캐쉬 메모리 [그림 7-15] 구조를 갖는 경우에 다음 순서로 캐쉬를 참조할 경우에 캐쉬 미스율을 설명하라. 캐쉬내의 태그값은 아래와 같다. 참조 주소: 07, 84, 1A, 9B 00번째 캐쉬 블록의 태그값:1 01번째 캐쉬 블록의 태그값:0 10번째 캐쉬 블록의 태그값:0 11번째 캐쉬 블록의 태그값:1 ◈ 항상 캐쉬 미스가 발생한다. 캐쉬 내의 저장 블록 위치가 고정되고 계속 캐쉬 미스가 발생하게 되어, 캐쉬 히트율 감소될 수 있다. 7장 메모리 시스템

  19. 7.5 캐쉬 메모리 (2) 어소시어티브 매핑(associative mapping) 주메모리의 블록들은 캐쉬의 어느 위치에도 매핑 장점) 낮은 캐쉬 미스율 단점) 복잡한 매핑 옵셋: 직접 매핑과 동일 태그: 메모리 주소의 비트수 -옵셋 비트수 7장 메모리 시스템

  20. 7.5 캐쉬 메모리 [그림 7-16]과 같이 어소시어티브 매핑을 갖는 캐쉬를 다음 순서로 참조할 때, 캐쉬의 히트율을 구하라. 캐쉬 내의 태그값들은 아래와 같다. 참조 주소 : 07, 84, 1A, 9B 00번째 캐쉬 블록의 태그값 ; 000 01번째 캐쉬 블록의 태그값 : 100 10번째 캐쉬 블록의 태그값 : 101 11번째 캐쉬 블록의 태그값 : 111 ◈ 모두 캐쉬 히트(히트율 100%)이다. 7장 메모리 시스템

  21. 7.5 캐쉬 메모리 (3) 셋 어소시어티브 매핑 (Set Associative Mapping) 앞의 두 방법의 장점을 혼합한 매핑 방법 캐쉬를 셋(여러 블록들로 구성되는)으로 분할 셋의 위치 : 직접 매핑 셋 내의 블록 : 어소시어티브 매핑 7장 메모리 시스템

  22. 7.5 캐쉬 메모리 1-way 어소시어티브 캐쉬 구조와 하나의 셋으로 구성되는 캐쉬 구조를 설명하라. 1-way 어소시어티브 캐쉬 구조는 직접 매핑 구조 캐쉬가 하나의 셋으로 구성된 경우는 어소시어티브 매핑 구조 7장 메모리 시스템

  23. 7.5 캐쉬 메모리 5) 캐쉬 미스의 환경 (1) 과도적 상태(transient state) 캐쉬가 비어있는 초기 상태 (2) 안정상태(steady state) ◑강제 미스(compulsory miss): 처음 참조되는 블록 ◑용량 미스(capacity miss): 한정된 캐쉬의 용량 ◑셋 충돌 미스(set conflict miss): 동일 셋에 대한 충돌 6) 캐쉬 미스에 대한 영향 요소: ◑ 캐쉬의 크기, 블록의 크기, 셋의 크기등 구조적 특성 ◑ 매핑 방법 ◑ 캐쉬 제거 방법 7장 메모리 시스템

  24. 7.5 캐쉬 메모리 7) 캐쉬 제거 (Replacement) 캐쉬가 차있는 상태에서, 캐쉬 미스 발생=> 캐쉬의 블록을 제거 (1) LRU :가장 오래전에 사용된 블록제거 (2) FIFO :저장된 순서로 블록 제거 (3) RANDOM :랜덤하게 블록 제거 8)캐쉬 쓰기 정책 (1) write through 정책 캐쉬에 쓰기 시마다 동시에 주메모리에도 쓰기 (2) write back 정책 캐쉬에만 쓰기를 하고, 후에 주메모리에 복사 동일한 블록 내에 여러번 캐쉬 쓰기시에 효율적 7장 메모리 시스템

  25. 7.5 캐쉬 메모리 앞 절에서 다룬 어소시어티브 매핑의 캐쉬가 다음과 같은 주소로 참조될 때, 각 참조 후에 캐쉬에 저장된 블록의 태그 값을 참조 시간 순서대로 나열하라. 또한 제거된 블록의 태그 값을 표시하라. 초기에 캐쉬는 비어있다고 가정하고, LRU방법을 적용하라. 참조 주소 : 02, 23, 4A, 83, AB, 42, 23, FE, 65 7장 메모리 시스템

  26. 7.5 캐쉬 메모리 현재 A가 저장된 주소에 B를 쓸 경우에, 각 쓰기 정책에 의해 캐쉬와 주메모리가 어떻게 변경되는가를 보여라. write through 정책 : 캐쉬와 주메모리 사이의 일관성(coherency)을 유지할 수 있다. ◈ 7장 메모리 시스템

  27. 7.5 캐쉬 메모리 ◈ Write back 정책시 읽기와 쓰기 모두 고려한 접근시간 7장 메모리 시스템

  28. 7.5 캐쉬 메모리 캐쉬 메모리의 접근 시간은 10ns, 주메모리의 접근 시간은 100ns이다. 메모리 요청의 80%는 읽기이고, 20%는 쓰기이다. 읽기 접근시의 캐쉬 미스율이 10%이고, 쓰기 정책은 write through라 하자. (1) 읽기만을 고려할 때, 평균 메모리 참조 시간은 얼마인가? (2) 쓰기만을 고려할 때, 평균 메모리 참조 시간은 얼마인가? (3) 읽기와 쓰기를 모두 고려할 때, 평균 메모리 참조 시간은 얼마인가? ◈ 7장 메모리 시스템

  29. 7.5 캐쉬 메모리 9)캐쉬 블록의 구성 ◑ 캐쉬의 전체 용량 : 블록수 x (태그 크기 + 자료의 크기+ 제어 비트의 크기) ◑ 유효 비트(V, Valid bit) :유효한 정보가 저장 ◑ 더티 비트(D, Dirty bit) :쓰기에 의해 변경 ◑ LRU 비트 : 캐쉬 제거에 활용 7장 메모리 시스템

  30. 7.5 캐쉬 메모리 다음과 같은 특성을 갖는 4-way 셋 어소시어티브 매핑 캐쉬에 대해 블록의 크기와 전체 캐쉬의 크기를 구하라. 주메모리 저장 용량 : 64K × 32비트 (워드=32비트) 캐쉬 저장 용량 : 1K 워드 블록의 저장 용량 : 4 워드 쓰기 정책 : write back, 제거 방법 : LRU 주메모리에는 64K 워드주소는 16비트 블록 수 =1K/4=256개, 셋 수 = 256/4=64개 이로부터, 각 블록은 태그(8비트), 제어 비트(4비트), 자료(4×32=128비트)로 구성되어 모두 140비트의 크기이다. 전체 캐쉬는 140비트/블록 × 256 블록 = 35,840비트이다. ◈ 7장 메모리 시스템

  31. 7.5 캐쉬 메모리 10)다양한 캐쉬 구조 7장 메모리 시스템

  32. 7.6 메모리 인터리빙 단위 시간에 여러 메모리의 접근이 가능 => 대역폭 향상 1) 주소 할당 모듈1 모듈 2 모듈 3 모듈 4 0000(0) 0001(1) 0010(2) 0011(3) 0100(4) 0101(5) 0110(6) 0111(7) 1000(8) 1001(9) 1010(10) 1011(11) 1100(12) 1101(13) 1110(14) 1111(15) 모듈에 연속적인 주소를 번갈아 부여 ◑장점) 대역폭 증가 = 한 모듈의 대역폭 x 모듈의 수 ◑단점) 메모리 확장의 문제점 7장 메모리 시스템

  33. 7.6 메모리 인터리빙 단위 시간에 여러 메모리의 접근이 가능 => 대역폭 향상 7장 메모리 시스템

  34. 7.7 가상 메모리 대용량의 주메모리가 존재한다는 가상하에서 프로그램 실행 1) 메모리 할당 스와핑에 의한 과부하와 비효율성 250KB Fragmentation 발생 이동에 의한 과부하 주메모리보다 큰 프로그램 수행 불가 압축 7장 메모리 시스템

  35. 7.7 가상 메모리 대용량의 주메모리가 존재한다는 가상하에서 프로그램 실행 2) 페이징 기법 7장 메모리 시스템

  36. 7.7 가상 메모리 3) 가상 주소 변환 7장 메모리 시스템

  37. 7.7 가상 메모리 페이지의 크기가 1KB, 가상 주소는 30비트, 주메모리는 4MB인 경우에 1단계 페이지표의 크기를 구하고, 페이지표의 문제점을 설명하라. ◈ 가상 주소: 가상 페이지 번호(20비트) + 옵셋(10비트) 물리 주소: 물리 페이지 번호(12비트) + 옵셋(10비트) 페이지표의 크기는 220×12비트 = 1.5MB 만약 페이지표가 주메모리에 구현된다며, 주메모리의 실제 저장 용량이 대폭 감소되는 문제가 발생한다. 하지만, 전체 페이지표의 저장 주소 중에서 물리 페이지 번호를 저장한 주소의 비율은 212/220= 1/256에 불과하다. 7장 메모리 시스템

  38. 7.7 가상 메모리 3) 가상 주소 변환 7장 메모리 시스템

  39. 7.7 가상 메모리 2K의 주소 공간(11비트)과 1K의 메모리 공간(10비트)을 가진 컴퓨터가 있다. 페이지 크기는 256바이트(8비트 주소)인 경우, 가상 페이지 번호에 의해 참조되는 페이지표를 이용하여 다음의 가상 주소들을 페이지 폴트가 발생할 때까지 물리 주소로 변환하라. 페이지표의 존재 비트가 1이면 가상 페이지 번호에 해당하는 페이지는 주메모리에 존재한다. 7장 메모리 시스템

  40. 7.7 가상 메모리 4) TLB(Translation Lookaside Buffer) 5) 페이지 제거 7장 메모리 시스템

  41. 7.7 가상 메모리 6) 캐쉬를 고려한 가상 메모리 페이지 폴트를 줄이는 것이 우선=> 어소시어트 매핑을 사용 ◑장점) 주메모리가 프로그램의 크기보다 클 필요는 없다 7장 메모리 시스템

  42. 7.8 프로그램 수행시 메모리 구조 7장 메모리 시스템

  43. 7.9 디스크 ◎디스크로부터 정보를 읽거나 쓰는데 필요한 시간 ① 탐색 시간(deek time) ② 레이턴시(latency time) ③ 자료 전송 시간(data transfer time) 7장 메모리 시스템

  44. 7.9 디스크 7장 메모리 시스템

  45. 7.9 디스크 10개의 면으로 구성된 디스크가 있다. 각 면의 저장 영역은 지름 20cm와 30cm 사이이다. 각 트랙의 최대 저장 밀도가 2000비트/cm이고, 트랙의 폭과 트랙간의 간격은 0.25mm이다. 이 디스크의 회전 속도는 3600rpm이다. (1)이 디스크에 저장 가능한 용량은? (2)이 디스크의 자료 전송율은 얼마인가? (3)이 디스크의 주소 형식을 표현하라. (1)디스크당 면수 = 10 면당 트랙수 = (30-20)÷(2×0.025) = 200 트랙 트랙당 비트(가장 작은 지름의 트랙에 대해) =3.14×20×2000= 125,600비트 전체 저장 용량 : 10×200×125,600=251,200,000비트= 251.2M비트 7장 메모리 시스템

  46. 7.9 디스크 (2) 1초에 60회전, 1회전에 1트랙을 전송하므로, 전송율 = 125,600 × 60 = 7.536K 비트/초 = 942KB/초 (3)면 : 4비트, 트랙 : 8비트 트랙당 14개의 섹터가 있다면, 섹터 : 4비트 포맷 이후에 각 섹터에는 1024 바이트 저장 : 섹터 내의 옵셋 : 10비트 따라서, 면(4비트)+트랙(8비트)+섹터(4비트)의 주소 형식을 가지면 된다. 7장 메모리 시스템

More Related