[정보처리기사_필기] 전자계산기 구조 <4>
- Life Logs/Study Notes
- 2013. 11. 16. 04:00
■ 기억장치
➀ 특성
- Access Time = Seek Time + Latency Time + Transmission Time
(데이터 탐색) + (대기시간(보조기억장치 가속)) + (전송시간)
- Associative (연관메모리) > Cache Memory> Main > Magnetic Disk
- 사이클 시간 Access Time
- 대역폭(Bandwidth) : 자료의 처리속도(1초동안 전송되는 비트수) ~ 전선의 굵기
➁ 종류
- 접근방식에 따라
SASD(Sequential ASD) - 순차접근방식 : 자기테이프
DASD(Direct ASD) - 직접접근방식
- 재충전 여부에 따라
SRAM(정적메모리) - 재충전 필요 없다, 고속(Cache), 고가
Cache Memory는 RAM의 속도를 보완
DRAM(동적메모리) - 주기적 재충전, 저속(RAM), 저가
■ 주 기억장치
- 주기억장치 성능 - 기억용량, 사이클타임, 엑세스폭
➀ ROM (Read Only Memory)
- 비휘발성
- Micro Program, System Program, Boot Strap Loader, POST, BOIS
- Mask ROM : 공장에서 기입
- PROM : 한번 기록 가능
- EPROM : 자외선을 이용하여 수정가능
- EEPROM : 전기를 이용하여 수정가능
➁ RAM (Random Access Memory)
- 휘발성
- DRAM vs SRAM
➂ 반도체 기억소자 구성
----------------------------------------------
기억장치 용량 =
워드의수 = MAR, PC ,버스의 크기
워드의크기 = IR, MBR
----------------------------------------------
ex1) 워드의 크기가 1Byte 이고, 기억용량이 1Mbyte 이면 주소선의 수는?
sol) 1Mbyte = byte 이므로 20개
ex2) 기억용량이 4096워드이고, 워드길이 16bit일때 PC, AR, DR의 크기?
sol)
워드의수12 = 주소선의수 = 주소레지스터(AR) = PC
워드크기16 = 데이터레지스터(DR)
ex3) 컴퓨터 메모리 용량이 16K*32bit일때 MAR과 MBR은 몇Bit?
sol) IR, MBR = 32
16K= -> MAR, PC =14
■ 보조 기억장치
- 속도는 느리지만 대용량, 비휘발성 -> 백업공간으로 사용
- 자기테이프 :
✴ SASD(순차처리만 가능)
✴ 백업에 유리
✴ IBG | 논리레코드1 | 논리레코드2 | IBG | 논리레코드1 |
|<--------- 블록 -------->|
✴ IBG(Inter Block Factor) : CPU가 데이터 처리할 시간을 준다.
✴ 블록팩터(Block Factor) * 레코드크기 = 블록크기
- 자기디스크 :
✴ Library Program을 저장
✴ DASD(직접처리 가능)
✴ 구성요소 : 헤드, 디스크, 엑서스 암
*실린더(동일트랙들의 모임)는 물리적 구성요소가 아니다
✴ Access Time = Seek Time + RotationalDelayTime + TransmissionTime
✴ HDD는 등각속도 방식(낭비되는 공간이 있지만 간단하다)
■ 특수 기억장치
- 연관기억장치 (Associative Memory)
✴ CAM(Content Addressable Memory)
✴ 기억된 내용의 일부를 이용하여 접근
✴ 별도의장치(색인)이 필요 -> 속도는 빠르지만 비용증가
- 복수모듈기억장치(Memory Interleaving)
✴ CPU에서 여러 모듈로 병행 접근하는 방법
✴ 주기억장치와 CPU의 속도차의 문제 개선
✴ 접근효율(메모리 엑세스)의 향상
- 캐시 메모리(Cache Memory)
✴ SRAM으로 이루어져 있다 (고가, 고속)
✴ CPU의 처리속도와 주기억장치의 접근 속도차를 줄인다.
✴ 적중률 : 요구데이터가 캐시메모리로 미리 옮겨졌는지.
✴ 참조국한성(locality of reference) : CPU에서 RAM을 지역적으로 사용.
✴ 매칭
- 가상기억장치
✴ 보조기억장치의 일부분을 주기억장치로 인식하도록 하는 방법
✴ 주소공간의확대(용량확대)가 가능하다
✴ 속도가 향상되지는 않는다.
✴ Staging : 가상메모리 공간에 있는 데이터를 바로 사용할 수 있게 원래의 주기억장치로 올리는것.
✴ DASD보조장치여야함
✴ 페이징(paging)기법 : 주기억장치와 가상기억장치를 일정한 공간으로 나누어서 관리
✴ Segment 기법 : 주기억장치와 가상기억장치를 프로그램의 크기에 따라 가변적으로 관리
✴ 주소맵핑 : 가상기억장치에서 주기억장치로 데이터를 옮길때 주소를 수정
■ 입력 및 출력
- 입출력 제어장치 : DMA, 채널
- 입출력 인터페이스 : 주변장치와 전자장치의 동기화
- 입출력 버스 : 데이터(data):양방향, 주소(address), 제어(control)
- 입출력 장치에 보조기억장치도 포함 (주기억장치를 기준으로 입출력)
항목 | 입출력장치 | 기억장치 |
속도 | 느림 | 빠름 |
정보단위 | Block | Word |
고장 | 많음 | 적음 |
- 병행처리 : CPU가 느린 입출력장치의 응답을 기다리지 않고 명령을 다른 기억장치에 위임
✴ 스풀링 : Disk 사용 (HDD)
✴ 버퍼링 : RAM 사용
CPU관여 | Program에 의한 입출력 | Interrupt에 의한 입출력 |
CPU관여 x | DMA에 의한 입출력 | Channel에 의한 입출력 |
■ 입력 및 출력 제어방식
- Program에 의한 입출력
Done Flag와 Busy Flag의 값을 통해 입출력 인터페이스의 상태를 확인하여 입출력
CPU가 인터페이스의 상태를 수시로 확인해야 한다.
- Interrupt에 의한 입출력
인터럽트를 요청함으로 CPU가 수시로 확인할 필요 없다.
인터럽트 수행중 CPU 효율이 떨어진다.
- Direct Memory Access에 의한 입출력
CPU를 통하지 않고 직접 메모리로 접근
여러 입출력이 충돌을 일으킨다.
- Channel(IOP)에 의한 입출력
충돌을 막기위해 입출력 전담 Process를 설치
- 사이클 스틸링 : DMA에서사용, 입출력 속도 향상 (작업중 메모리 사용하지 않는 사이클을 이용)