정보처리기사 필기 - 2과목 전자계산기 구조


6장 기억장치


1. 기억장치의 개요


기억장치의 측성을 결정하는 요소


· Cycle Time

- 기억장치에 접근을 위하여 판독 신호를 내고나서 다음 판독 신호를 낼 수 있을 때까지의 시간

- 기억장치에 대해 접근을 시작하고 종료한 후에, 다시 해당 기억장치를 접근할 때까지의 소요 시간

· 대역폭(Bandwidth)

- 주기억장치가 제공할 수 있는 정보 전달 능력의 한계

- 최고 주파수와 최저 주파수 사이의 간격

- 실질적인 대역폭을 늘리기 위해 메모리 인터리빙

- 기억장치에서 데이터를 읽거나 기억시킬 때 1초동안 사용되는 비트 수

- 대역폭 = 워트 비트수 × 1초당 접근 수

Q. 기억장치접근 속도 0.5 마이크로초, 데이터 워드가 32비트일 때 대역폭은?

A. 1000000/0.5=2000000

1초에 32비트 워드를 2000000번 접근

=> 32*2000000=64000000=64Mbit



2. 주기억장치


· ROM

- 기억된 내용을 읽을 수만 있는 기억장치로 일반적으로 쓰기는 불가능

- 종류

= PROM : 사용자가 한번만 기입할 수 이고 지울 수 없음

= EEPROM : 비휘발성(nonvolatile-전원이 끊겨도 데이터가 없어지지 않는), 전기적인 방법으로 수정과 삭제

· RAM

- 휘발성 메모리

- 종류

= DRAM(동적램) : 방전현상이 있어 재충전 필요

= SRAM(정적램) : 플립플롭(쌍안전 논리회로 성질) 사용하고 속도 빠름(레지스터보단 느리고 DRAM보다는 빠름)

· PLA

- ROM과 유사한 성격을 갖고, AND Array와 OR Array로 구성

- 프로그램이 가능한 논리소자

· CPLD

- PLA로 구성되며, 빠른 성능이나 정확한 타이밍의 예측이 필요로 하는 곳에 사용


※ 용량 계산

· 용량 = 워드의 메모리 용량(=기억장소개수=워드의수=데이터단위용량) × 워드의 크기(bit)

· 워드의 메모리 용량 : 2ⁿ(n이 PC(bit)=n이 MAR(bit)=n이 조수선의 수=n이 Address Register(bit))

· MBR(bit)=워드의 크기=워드의 길이=Data Register(네개 다 동일한 비트수를 갖음)

· 워드의 수=용량/워드의 크기

Q. 4096*16의 용량. 이때 MBR은? 16bit

Q. 65536워드의 메모리 용량. 이때 PC는? 65536은 2의 16승이니까 16bit

Q. 4096워드의 메모리 용량, 1워드가 8비트, 이때 PC와 MBR은? 4096은 2의 12승이므로 PC=12bit/1워드가 8비트이므로 MBR=8bit

Q. 1024K*24bit의 용량, MAR? MAR=1024K=1024*1024=2의 10승*2의 10승이므로 20bit

Q. 1Mbyte의 기억용량, 주소선의 수? 2의 20승이므로 20개

Q. 8192bit 용량, 워드 길이가 16비트, 워드의 수는 8192bit/16bit=512개, 이때 PC,AR,DR?

8192=512(PC, AR)*16(DR) -> PC,AR : 512=2의 9승이므로 9bit / DR=16bit

Q. 데이터 단위가 8비트, 용량이 64Kbyte, 어드레스핀? 64K가 2의 6승*2의10승이므로 6+10=16개

Q. 256*8RAM, 2Kbyte의 용량, 필요한 RAM 개수?

RAM의 개수=용량/워드의 크기 -> 용량:2K=2*1024=2048 / 워드의 크기:256 => 2048/256=8개


· 자기 코어 메모리

- 읽으면 내용이 지워지는 파괴 메모리, 전선에 흐르는 전류의 방향에 따라 1혹은 0 값을 갖음



3. 보조기억장치


· 자기테이프

- 주소개념을 사용하지 않는 순차처리(SASD)

- 랜덤처리 가능X

- 대량의 데이터를 장시간 보관

· 자기디스크

- 즉시 참조할 필요가 있는 Library Program들을 기억

- Cylinder(트랙의 모임으로서 물리적 구성요소가 아니라 논리적인 의미임) 수=트랙 수

· 원체스터 디스크 : 자기 디스크에 헤드가 가까울수록 불순물이나 결함에 의한 오류 발생의 위험이 더 큰데 이러한 문제를 해결


· 디스크 Access Time

Access Time = Seek Time+Latency Time+Transmission Time

*Seek Time(탐색시간):R/W Head가 특정 트랙까지 이동하는데 걸리는 시간

*Latency Time(회전 지연 시간)



4. 연관기억장치(Associative Memory)


· 연관기억장치 

- 주소보다 내용으로 접근할 수 있는 메모리

- 접근 속도가 향상

- CAM이라고도 함

- 병렬 판독 논리 회로를 갖고 있기 때문에 하드웨어 비용이 증가

- 캐시나 가상 메모리에서 사용하는 매핑방식에 주로 사용

· 메모리 인터리빙 Interleaved Memory

- Instruction의 빠른 처리 속도를 위해 중앙처리장치의 속도와 기억장치의 속도를 유효 Cycle 동안 병행 실행

- 기억장치 모듈에 순차적으로 번갈아가며 접근

- 데이터를 디스크에 분산 저장

- 연속된 위치를 서로 다른 뱅크로 구성하여 하나의 주소를 통하여 여러 개의 주소를 동시에 접근 가능

- 모듈 수 만큼 데이터 양에 해당하는 워드의 수를 동시에 읽을 수 있음

- 중앙처리장치와 기억장치 사이에 실질적인 대역폭을 늘리기위한 방법으로 사용

· 메모리 관리 하드웨어 MMU

- 논리 주소를 물리 주소로 변환

- 허용되지 않는 메모리 접근 방지

- 메모리 동적 재배치

- 가상 주소 공간을 물리 주소 공간으로 변환



5. 캐시 메모리(일종의 버퍼 메모리)


· 캐시 메모리

- CPU의 속도와 메모리의 속도 차이를 줄이기 위해 사용, 시행속도를 중앙처리장치의 속도에 근접하게 하기 위해서 memory access 시간 단축

- 분리 캐시를 사용하면 집중률은 떨어지지만 캐시 접근시 충돌을 방지할 수 있음

- 캐시는 많이 쓰이고 있는 프로그램과 데이터를 저장하지만 보조기억장치(가상메로리)는 쓰이지 않는 부분을 저장

- 일관성 문제는 읽기 접근 빈도가 많은 접근 형태에서 캐싱이 우수

- 매핑 프로세스 방법 3가지

= 직접 매칭 : 적중률 낮아질 수 있음

= 어소시에이티브 매핑

= 세트 어소시에이티브 매핑

- 캐시 메모리에서 변화된 내용을 주기억장치에 기록하는 방법

= Write Through : 캐시메모리와 주기억장치의 내용을 동시에 갱신하는 방식

단점 : 쓰기 동작에 걸리는 시간이 김

= Write Back

= Write Once

- 캐시 미스율 : 1-캐시에 있는 횟수/전체 액세스 횟수

- 캐시블럭번호=메모리블록번호 MOD 캐시블록수


Q. 16바이트 블록 크기와 64 블록으로 구성된 캐시에서 바이트 주소 1200이 사상되는 블록 번호는?

메모리 블록번호 : 1200/16=75

블록번호=75 MOD 64=11


- 접근 시간 빠른 순서

Cache Memory > Main Memory > Magnetic Disk > Magnetic Tape


· SSD에서 하나의 셀에 3비트의 정보를 저장하는 방식 : TLC



6. 가상기억장치


· 가상기억장치(Virtual Memory)

- 가상 기억 공간의 구성은 프로그램에 의해 수행

- 가상 기억장치의 목적은 주기억장치의 용량 확보

- 가상 메모리로 보조 기억장치(자기 디스크) 사용

- page fault가 발생하면 요구된 page가 주기억장치로 옮겨질 때까지 프로그램 수행이 중단됨

- 주기억장치에 직접 적용될 수 있는 기억장소의 주소로 변환되어야 할 때 사용하는 것은 사상함수

- 주소공간은 보조기억장치에서 사용 / 페이지로 구분

- 기억공간은 주기억장치에서 사용 / 블록으로 구분

Q. 64K 주소공간과 4K인 기억공간 한 페이지가 512워드로 구성, 페이지와 블록은?

페이지 : 64*1024=65536/512=128

블록 : 4*1024=4096/512=8


- 주소의 구조는 페이지주소+페이지크기

Q. 주기억장치용량이 512KB인 컴퓨터 -> 512*1024=2의 19승

페이지 크기가 1K워드이고 1워드가 4바이트 -> 4KB=4*1024=2의 12승

실제페이지 주소는? 페이지주소+12bit=19bit => 7bit

32비트의 가상 주소를 사용했을 때 가장 페이지 주소는? 페이지주소+12bit=32bit => 20bit


- 전체 페이지 테이블 크기 = 페이지수 * 페이지 테이블 엔트리의 크기

페이지수 = 기억장소의 크기/페이지의 크기

Q. 32비트의 가상 주소, 4KB 페이지, 페이지 엔트리당 4바이트, 전체 페이지 크기는?

먼저, 페이지수=2의 32승/2의 12승=2의 20승=1M

전체 페이지 크기 = 1M*4B=4MB

'정보처리기사 > 전자계산기 구조' 카테고리의 다른 글

전자계산기 구조 오답노트  (0) 2017.02.22
7장 병령 컴퓨터  (0) 2017.02.22
5장 입력 및 출력  (0) 2017.02.22
4장 명령 실행과 제어  (0) 2017.02.22
3장 프로세서  (0) 2017.02.21

+ Recent posts