Q. 2의 보수 표현이 더 널리 사용되고 있는 주요 이유는?

A. 덧셈 연산이 더 간단하다.


Q. 통상적인 사용자 프로그램을 처리함에 있어서 중앙처리장치(CPU)가 가장 많이 실행하는 인스트럭션 종류는?

A. 주기억장치와의 자료 전달(load, store)


이항 연산자 : 사칙연산, AND, OR, XOR, NXOR

단항 연산자 : 이항 연산자 이외에는 모두 단항 연산자

Q. 컴퓨터 연산에서 단항 연산에 해당되지 않는 것은?

A. OR


Q. I/O 장치 인터페이스와 컴퓨터시스템 사이에 데이터의 이동을 제어하는 장치는?

A. I/O 제어기


Q. 기억장치의 자료처리 속도를 나타내는 밴드폭(bandwidth)이란?

A. 계속적으로 기억장치에서 데이터를 읽거나 저장할 때 1초 동안에 사용되는 비트수


Q. 응용프로그램이 단일 프로세서 시스템에서 실행되어 완료되기까지 10초가 소요되었다. 같은 응용프로그램에서 4개의 프로세서로 구성된 SMP시스템에서 실행하여 완료되기까지 5초간 소요되었다면 속도 향상 지수는?

A. 2


Q. cache memory에 대한 설명과 가장 관계가 깊은 것은?

A. 중앙처리장치가 자주 접근하거나 최근에 접근한 메모리 블록을 저장하는 초고속 저장장치


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

A. 캐시블록번호 = 메모리블록번호 MOD 캐시블록수

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

캐시블록번호 = 75 MOD 64 = 11


Q. 가상(virtual) 기억장치에 대한 설명이 아닌 것은?

A. 주목적은 컴퓨터의 속도를 향상시키기 위한 방법이다.(X)

가상 기억장치의 목적은 주기억장치의 용량 확보이다.(O)


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

7장 병령 컴퓨터  (0) 2017.02.22
6장 기억장치  (0) 2017.02.22
5장 입력 및 출력  (0) 2017.02.22
4장 명령 실행과 제어  (0) 2017.02.22
3장 프로세서  (0) 2017.02.21

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


7장 병령 컴퓨터


1. 병렬 컴퓨터의 분류

· 플린(Flynn)의 병렬 컴퓨터 분류

- 다중 프로세싱O / 다중 프로그래밍X

- 처리기를 많이 사용한다고 해서 처리 속도가 정확하게 배만큼 빨라지는 것은 아님

· SISD
· SIMD
- 배열 처리기 구조
- 여러 개의 처리기가 한 개의 제어 처리기에 의해 제어
- 병렬처리 수행
· MISD
- 실제 사용되기 어려움
- Pipeline Process(2개 이상의 명령어를 동시에 수행할 수 있는 프로세서. 속도개선가능)
- 여러 개의 처리기에서 수행되는 인스트럭션들은 각기 다르나 전체적으로 하나의 데이터 스트림을 가지는 형태
- 하나의 데이터 흐름이 다수의 프로세서들로 전달되며, 각 프로세서는 서로 다른 명령어를 실행하는 구조
- 다중 명령어, 단일 데이터 흐름
· MIMD
- n개의 프로세서들이 서로 다른 명령어들과 데이터를 처리


·  병렬 처리시 문제점 : 분할의 문제, 스케줄링의 문제, 동기화의 문제(블록지정의 문제X)


·  연속 로딩 기법 : 기억공간 관리 중 고정 분할 할당과 동적 분할 할당으로 나누어 관리되는 기법


·  RAID-4 : 패리티 디스크에 액세스가 집중되어 병목 현상이 발생하는 문제점 있어 RAID-5 개발됨


· Systolic : 백터 처리기에서 사용할 수 있는 알고리즘


· 약식 주소 : 계산기에 의한 주소


· 스테이징 Staging : 대용량의 보조기억장치의 내용을 직접 접근이 가능한 영역으로 이동하여 컴퓨터 시스템에서 자료를 접근할 수 있도록 하는 기능


· 디스크 배열을 구성하면 여러 개의 디스크에 분산사여 저장하기 때문에 한 디스크라도 결함이 생기면 파일 전체를 사용할 수 없으므로 신뢰도 낮아짐


· Unicode : ASCII 인식 가능하지만 ASCII에서는 Unicode의 특수문자 인식 불가능


· 가변 우선순위 방식 : 회전 우선순위, 동등 우선순위, 최소-최근 우선순위


· 회전 우선순위 방식 : 가장 우선순위가 낮았던 마스터가 최상위 우선순위를 가지도록 하는 가변 우선순위 방식


· 데이터 흐름형 컴퓨터 : 최대의 병렬성을 얻을 수 있는 컴퓨터 구조


· Marshalling : 특정 수신기나 프로그래밍 인터페이스에 맞도록 그 데이터를 조직화하거나 미리 정해진 다른 형식으로 변환하는 과정


· CISC : 인텔 계열의 거의 모든 프로세서에서 사용하는 프로세서 설계 방식


· RISC : 거의 모든 명령어가 레지스터를 대상으로 하며 메모리의 접근을 최소로 하는 프로세서 설계 방식, 수행속도가 빠름, 명령어 단순


· 파이프라인이 정상적인 동작에서 벗어나게 하는 원인 : 자원 충돌, 데이터 의존성, 분기 곤란(지연된 분기X, 유효주소의 계산X)


· 전파지연 : 평균 전이 지연 시간

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

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

정보처리기사 필기 - 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

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


5장 입력 및 출력


1. 입·출력장치의 구성


· 입·출력 제어 장치

- 입·출력 장치의 인터페이스와 컴퓨터 시스템 사이에 데이터의 전송을 제어하는 장치

· 입·출력 인터페이스

- 주변장치와 CPU나 메모리의 동작 방식의 차이, 전송 속도의 차이, 데이터 형식 등의 차이점을 해결하는 것이 목적

- 기억장치는 빠르고 입·출력 장치는 느림

- 입·출력장치에 포함되어야 하는 하드웨어

= 데이터 레지스터, 장치의 동작 상태를 나타내는 플래그, 장치 번호 디코더(단어 계수기X)

· 입출력 제어 방식 중 프로그램에 의한 I/O

- 상태 레지스터 읽기 → 값이 set 상태이면 단계 3

- 그렇지 않으면 단계 1 → 데이터 레지스터 읽기


버퍼링

스풀링

목적

고속의 CPU와 저속의 입·출력 장치의 속도 차이를 해결

저장 위치

주기억장치

보조기억장치(=디스크)

운영 방식

단일작업

다중작업

입·출력 방식



2. 입출력 제어 방식


· Interrupt I/O

- 인터페이스가 CPU에 입·출력을 요구하고 입·출력 전송이 완료되면 CPU는 수행중이던 프로그램으로 돌아가서 수행을 재개

- CPU의 상태 보존 필요

- 인터럽트 제어 방식 : 비동기 제어 방식


· DMA(Direct Memory Access)에 의한 I/O

- 주기억장치와 I/O 장치 간의 정보 교환 때, CPU의 개입 없이 직접 정보 교환이 이루어지는 방식(CPU의 부하 증가X)

- CPU가 어떤 명령과 다음 명령을 수행하는 사이 하나의 데이터 워드를 직접 전송

- DMA의 구성

= 인터페이스 회로, 주소 레지스터, 워드 카운트 레지스터, 제어 레지스터, 데이터 레지스터

- DMA의 전송 절차

① CPU가 DMA에게 명령

② CPU에게 버스 사용 요구

③ CPU가 버스 사용 허가

④ 데이터 전송

⑤ DMA 제어기가 자료 전송을 종료했을 때 CPU에게 인터럽트 신호 발생

- 사이클 스틸(Cycle Steal) 이용

= 중앙처리장치와 입출력장치가 동시에 주기억장치를 접근하려고 할 때, 주기억장치가 입출력장치에 우선순위를 부여하여 중앙처리장치는 주기억장치에 접근 불가


사이클 스틸과 인터럽트의 차이점

#DMA의 사이클스틸은 CPU의 상태 보존 필요 없고, CPU는 메모리 참조가 필요없는 오퍼레이션을 계속 수행

#인터럽트가 발생하면 CPU는 인터럽트를 처리하지만 사이클 스틸은 instruction 수행 도중 사이클스틸이 발생하면 CPU는 그 사이클 스틸동안 정지상태가 됨

- 인터럽트와 비교하여 DMA 방식에 의한 사이클 스틸의 가장 특징적인 차이점 : 주기억장치 사이클의 한 주기만 정지


· Channel에 의한 I/O

-입출력을 위한 명령어를 입출력 프로세서에게 수행토록 하여 CPU 관여 없이 입출력 수행

- 채널은 CPU외 별도의 하드웨어적인 장치라서 CPU와 독립적 처리가 이루어짐

- 자체적으로 자료 수정 또는 코드 변환 가능

- 채널의 종류

= Selector Channel : 고속 입출력장치 / 어느 한 입·출력 장치의 전용인 것처럼 운용

= Multiplexer Channel : 저속 입출력장치 여러개를 동작시킬 수 있으

= block multiplexer channel : 위의 두 개를 결합

- 채널 명령어(CCW)의 구성 요소

=Data Address, Flag, Op-code(처리속도X, 전송속도X)

- 채널 명령어로 알 수 있는 내용

= 명령코드, 데이터 주소, 데이터 크기


· 프로그램 제어 방식은 CPU가 상태 플래그를 계속 조사하여 I/O가 완료되었으면 MBR과 AC사이의 자료 전송도 CPU가 직접 처리

· 데이터 버스는 CPU와 메모리 또는 입출력기기 사이에서 데이터를 전송하는 전송선으로 입출력 제어장치에 포함될 뿐 따로 분류되지는 않음

· 고립형 I/O

- 고립형 I/O는 기억장치의 주소공간과 전혀 다른 입·출력 포트를 갖는 형태

· 스루풋(중앙처리장치의 데이터 처리 능력) : 채널>DMA>인터럽트

※ 디멀티플렉서(demultiplexer) : 1개의 input line과 n개의 selection line을 갖음



3. 인터럽트


· 인터럽트

- 예기치 않은 상황이 발생할 경우 먼저 처리하고 실행중이던 작업으로 복귀

- 이때 복귀주소, PC의 값은 스택에 저장

- 인터럽트의 실질적인 조치를 하는 서비스 루틴을 실행할 때 인터럽트 플래그를 0으로 하면 인터럽트 발생 방지 가능

- 페이지폴트-CPU가 액세스한 가상 페이지가 주기억장치에 없는 경우에도 인터럽트 발생

- 인터럽트 종류

= 외부 인터럽트

# 컴퓨커 자체 내의 기계적인 장애

# 타이머(주어진 CPU사용시간을 해당 프로세스가 모두 소진할 경우)

# 오퍼레이터가 콘솔상의 인터럽트

# 정전

= 내부 인터럽트(=트랩)

# 불법적인 명령

# 0으로 나누기

# overflow / underflow 발생한 경우

# 보호 영역 내의 기억장소 참조

# 인터럽트의 우선순위결정과 관련 없음

= SVC 시스템 호출 인터럽트

# 사용자가 의도적으로 호출한 경우

※ 프린터에 용지 부족 : PC 하드웨어 인터럽트


- 인터럽트 발생 시 CPU가 확인할 사항

= 프로그램 카운터의 내용

= 사용한 모든 레지스터의 내용

= PSW(상태 조건의 내용)


- 인터럽트 동작 순서

① 인터럽트 요청 신호 발생

② 현재 실행중이던 명령어는 끝까지 실행

③ 현재의 프로그램 상태 보존 : 다음 실행할 명령의 번지는 PC가 가지고 있음, 스택에 기억

처리루틴

서비스(취급)루틴

 ④ 인터럽트를 요청한 장치를 식별, 인지

 ⑤ 인터럽트의 실질적인 조치

 ⑥ 상태 복구 : 보존 시켰던 PC의 값을 복구

 

 인터럽트 실행 중에 우선순위가 높은 인터럽트(정전이 우선순위가 가장 높음)를 발생하면 그거 먼저 처리

- 인터럽트 서비스 루틴의 기능 : 상대적으로 낮은 레벨의 마스크 레지스터 클리어


· 인터럽트 백터 Vectored

- 인터럽트를 발생한 장치가 프로세서에게 분기할 곳의 정보를 제공

- 인터럽트가 발생했을 때 특정 장소로 점프하도록 분기번지가 기억, 특정 번지의 서브루틴을 수행하는 것

- 분기 번지가 필수

· 인터럽트 체제의 기본 요소

- 인터럽트 요청, 인터럽트 처리 루틴, 인터럽트 취급 루틴

· 인터럽트 우선순위 판별 방법

- 소프트웨어적인 방법

= 폴링 Polling(인터럽트 요청 신호 플래그를 차례로 검사하여 인터럽트 원인 판별)

= 반응 속도 : 저속

= 회로 복잡도 : 간단

= 경제적임

= 우선 순위 변경이 쉬움

- 하드웨어적인 방법

= 데이지체인(인터럽트가 발생하는 모든 장치를 직렬로 연결), 벡터, 병렬(Parallel)우선순위 부여 방식

= 반응 속도 : 고속

= 회로 복잡도 : 복잡

= 비경제적임

= 융통성 없음


· 인터럽트 우선순위 운영 방식

- LCFS, FCFS, Masking Scheme

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

7장 병령 컴퓨터  (0) 2017.02.22
6장 기억장치  (0) 2017.02.22
4장 명령 실행과 제어  (0) 2017.02.22
3장 프로세서  (0) 2017.02.21
2장 자료의 표현  (0) 2017.02.21

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


4장 명령 실행과 제어


1. 마이크로 오퍼레이션


· 한 개의 Clock 펄스 동안 실행되는 기본 동작

· 한 단계씩 이루어지는 동작

· 명령을 수행하기 위해 CPU 내의 레지스터와 플래그의 상태 변환을 일으키는 작업

· 제어신호 : 마이크로 오퍼레이션의 순서를 결정하기 위하여 제어 장치가 발생하는 신호

· 종류

- 수평 마이크로 명령(각 비트가 각 제어신호에 대응), 수직 마이크로 명령, 나노 명령

· 마이크로 프로그램 : 어떤 명령을 수행할 수 있도록 된 일련의 제어 워드가 특수한 기억장치 속에 저장된 것

- ROM에 저장되고 경제적이며 하드와이어드 방식보다 느림

· 마이크로 오퍼레이션중에 인덱스 레지스터는 플그램으로 레지스터의 내용 변경 가능

 마이크로 프로그램을 이용한 제어방식

 고정배선제어방식(하드웨어방식, 하드와이어 제어 방식)

 구조적이고 임의적인 설계 가능 / 유지보수 용이

 복잡

 경제적, 설계비용 감소

 비쌈

 느림

 빠름

· 마이크로 프로그램 제어기가 다음에 수행할 마이크로 인스트럭션의 주소를 결정하는데 사용하는 정보

- 인스트럭션 레지스터(IR), CPU의 상태 레지스터, 마이크로 인스트럭션에 나타난 주소


· Micro Cycle Time 부여 방식

- 동기 고정식

= 동작 시간이 모두 같음

= 가장 긴 마이크로 오퍼레이션의 동작을 마이크로 사이크 타임으로 정함

= 동작시간이 비슷할 때 유리(시간 지연X)

= 클록 사이클 = 가장 긴 시간 + 지연 시간

- 동기 가변식

= 동작 시간이 그룹별로 다름

= 각 그룹 간 서로 다른 사이클 타임의 동기를 맞추기 위해 그룹 간의 마이크로 사이클 타임을 정수배가 되게함

- 비동기식 : 동작시간이 모두 다름


· data flow machine : 프로그램 내의 모든 인스트럭션들이 그들의 수행에 필요한 피연산자들이 모두 준비되었을 때 그 인스트럭션을 수행하는 것으로 데이터 추진(data driven) 방식이라 할 수 있는 것


※ 하나의 명령을 처리하는 과정

① 인스트럭션 패치

② 인스트럭션 디코딩

③ 오퍼랜드 패치

④ 실행

⑤ 인터럽트 조사



2. 메이저 스테이트

· 메이저 스테이트 : 현재 CPU가 무엇을 하고 있는지를 나타내는 상태


※ PC(프로그램 카운터) : 다음에 실행할 명령어의 버지를 기억

MBR : 기억장치에 출입하는 데이터가 일시적으로 저장

MAR : 기억장치에  출입하는 데이터의 주소 기억


· 인출단계(Fetch Cycle)

- 명령어를 주기억장치에서 중앙처리장치의 명령 레지스터로 셋 시켜 가져와 해독

- 명령어 종류 판별

- 명령어를 가져오기 위해 기억장치에 접근

- 중앙처리장치가 fetch 상태인 경우에 명령어가 제어점을 제어

① MAR ← PC

② MBR ← M[MAR], PC ←PC+1

③ IR ← MBR[OP]


· 간접단계(Indirect Cycle)

- 주소부가 간접주소인 경우에만 수행

- 오퍼랜드의 주소를 읽어내는 단계(기억장치로부터 주소 인출)

- 유효주소를 계산하기 위한 단계

① MAR ← MBR[AD]

② MBR ← M[MAR]


· 실행단계(Execute Cycle)

- 실행상태에서 interrupt 요청이 발생되면 interrupt로 가고 아니면 fetch 상태로 감

- ADD

① MAR ← MBR[AD]

② MBR ← M[MAR]

③ AC ← AC+MBR

 - LDA(load to AC)

① MAR ← MBR[AD]

② MBR ← M[MAR], AC ← 0

③ AC ← AC+MBR

 - STA(store to AC)

① MAR ← MBR[AD]

② MBR ← AC

③ M(MAR) ← MBR

 -BSA(Branch and Save Return Address)

① MAR ← MBR[AD], MBR[AD] ← PC, PC ← MBR[AD]

② M[MAR] ← MBR[AD]

③ PC ← PC+1


· 인터럽트단계(Interrupt Cycle)

- 서브루틴의 호출

- 인터럽트가 끝나면 항상 fetch 상태로 무조건 감

 MBR[AD] ← PC, PC ← 0

② MAR ← PC, PC ← PC+1

③ M[MAR] ← MBR, IEN ← 0

인터럽트가 진행되면 다른 인터럽트를 배제하기 위해 IEN 플래그에 0을 셋 시킴

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

6장 기억장치  (0) 2017.02.22
5장 입력 및 출력  (0) 2017.02.22
3장 프로세서  (0) 2017.02.21
2장 자료의 표현  (0) 2017.02.21
1장 논리 회로  (0) 2017.02.21

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


3장 프로세서


1. 중앙처리장치의 구성요소


· 제어장치

명령 수행시킴

필요한 각종 제어 신호 만드는 장치

주기억장치에 기억된 명령을 꺼내서 해독하고 시스템 전체에 지시 신호 보냄(가상메모리에 있는 프로그램 해독X)

제어 주소 레지스터(CAR)은 다음에 실행할 마이크로 명령어의 주소를 저장하는 레지스터(MAR의 내용이 제어 주소 레지스터에 적재X)

제어장치에 입력되는 항목 : 명령어 레지스터, 플래그, 클록

제어장치를 구현하는 제어 방식

상태 플립플롬 제어 방식, PLA 제어 방식, 마이크로 프로그램 제어 방식(RAM 제어 방식X)


· 연산장치


· 레지스터

임시 기억장소

레지스터 참조 명령어

CLA:Clear AC / CIR : Circulate Right / HLT:halt


주요 레지스터

- 프로그램 카운터(PC) : 다음에 실행할 명령어의 번지 기억

- 명령 레지스터(IR) : 메모리로부터 읽어진 명령어의 오퍼레이션 코드(OP-code)가 들어감

- 누산기 : 연산의 결과를 일시적으로 기억

- 상태 레지스터(플래그 레지스터, PSWR

분기(현재 위치에서 다른 위치로 이동하는 것)를 결정

시스템 내부의 순간순간 상태가 기록된 정보 : PSW

프로그램 제어와 가장 밀접한 관계

- MBR : 기억장치에 출입하는 데이터가 일시적으로 저장

- MAR : 기억장치에 출입하는 데이터의 주소 기억

- 인덱스 레지스터 : 사용자가 내용을 변경할 수 있음

- 시프트 레지스터 : 2배 길이 레지스터라고도 함


입출력(I/O) Bus에 연결될 수 있는 선 중 자료 버스 : 양방향 전송선



2. 명령어의 구조

Operation Code(연산자) | Mode | Operand(자료부)

단어, 동작 연산자, MBR  |         | 주소, PC, MAR, AD, 용량, 메모리, 기억장치

자료부의 길이가 n bit = 최대 2ⁿ개의 기억장소


· 명령어 설계시 고려사항

연산자 수와 종류, 주소 지정 방식, 데이터 구조(워드의 크기)

· 인스트랙션 세트의 효율을 높이기 위해 고려할 사항

기억 공간, 사용 빈도, 주소 지정 방식(레지스터 종류X)

· 폰 노이먼 형 컴퓨터 연산자(Operation Code)의 4가지 기능

- 함수 연산 기능 : 산술 연산 - ADD, SHIFT 등

  논리 연산 - AND, OR 등

- 자료 전달 기능 : CPU와 기억장치 사이에서 정보 교환

  CPU가 가장 많이 실행

  Load, Store, Move 등

- 제어 기능 : 동일한 명령을 반복 실행하거나, 명령의 실행 순서 변경

- 입·출력 기능



3. 이항 연산자 : 사칙연산, AND, OR, XOR, XNOR(이외에는 모두 단항 연산자)



4. 연산


· AND : 삭제, Masking 명령

· OR(Selective Set) : 삽입

· XOR(EX-OR) : 비교

· Rotate : Shift에서 밀려 나가는 비트의 값을 반대편으로 입력(원하는 비트수만큼 왼쪽으로 Rotate한다고 해서 기억영역을 clear할 수 있는 것은 아님)

· 산술 Shift : 곱하거나 나눌 때, 왼쪽으로 n bit Shift - 자료에 2ⁿ 곱한 값과 같음

  오른쪽으로 n bit Shift - 자료에 2ⁿ 나눈 값과 같음

  음수에 대한 패딩비트로 1이 채워짐



5. 명령어 형식


· 3번지 명령어 : 연산의 결과는 주로 Operand 1에 기록됨 / 프로그램 전체의 길이 짧게 할 수 있음

· 2번지 명령어

· 1번지 명령어 : AC(누산기) 이용

· 0번지 명령어 : 가장 짧은 명령어 형식 / Stack 필요 / 수식을 계산하기 위해 Postfix형태로 변경



6. 주소 지정 방식

주소 설계시 주소공간과 기억공간을 독립시킬 수 있도록 해야함


주소 지정 방식의 종류

· 즉시 주소 지정 방식 : 오퍼랜드 부분에 실제 데이터 기억

· 직접 주소 지정 방식 : 사용할 자료의 번지 표현 / 명령어의 주소부를 유효주소로 이용

· 간접 주소 지정 방식 : 명령의 길이가 짧고 제한되어 있어도 긴 주소 접근 / 실제 데이터가 저장된 장소의 번지를 가진 기억장소의 번지를 표현

· 상대 주소 지정 방식 : 명령어의 주소 부분(변위) + PC

*JUMP 명령을 읽을 때 번지에서 PC 값이 1 증가

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

6장 기억장치  (0) 2017.02.22
5장 입력 및 출력  (0) 2017.02.22
4장 명령 실행과 제어  (0) 2017.02.22
2장 자료의 표현  (0) 2017.02.21
1장 논리 회로  (0) 2017.02.21

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


2장 자료의 표현


1. 자료 구성 단위

워드(Word) : 반워드(Half Word) 2Byte

풀워드(Full Word) 4Byte

서로 다른 정보의 가짓수 : 표현할 수 있는 정보 중 가장 큰 수를 이진수로 표현할 때의 비트수


10진수 → 2진수, 8진수, 16진수

2,8,16으로 나누고, 소수가 있을 경우 소수부분이 0이 될 때까지 2,8,16으로 계속 곱함


2진수, 8진수, 16진수 → 10진수

(8 4 2 1 …) (64 8 1 …) (256 16 1 …)을 각각 곱해서 더하기


2진수 → 8진수, 16진수

8진수는 3자리, 16진수는 4자리씩 끊고 각각 곱해서 더하기


8진수, 16진수 → 2진수

숫자 하나를 2진수로 표현



덧셈 : 동일한 컴퓨터에서 처리할 경우 연산속도 가장 빠름

보수

1의 보수 : 0일때는 1로, 1일때는 0으로(1의 보수 이용하여 계산 시 자리올림 발생하면 결과에 자리올림수 더함)

2의 보수 : 1의 보수 구한 뒤 결과값에 1 더함(2의 보수를 이용하여 계산시 자리올림 발생하면 자리올림수 버림)


2진 연산

범위 작지만 연산 속도 빠름

가장 좌측은 부호 비트 → 양수 : 0 / 음수 : 1

양수 : 부호 비트에 0 넣고, 변환된 2진수 값을 오른쪽에서 왼쪽 순으로 채우고 남는 자리에 0 채움

음수

종류

표현 방법

비고

 부호화 절대 치법

 양수 표현에 대하여 부호 비트의 값만 0을 1로

 두 가지 형태의 0 존재

 (+0, -0)

 부호화 1의 보수법

 양수 표현에 대하여 1의 보수 취함

 부호화 2의 보수법

 양수 표현에 대하여 2의 보수 취함

 한 가지 형태의 0만 존재(+0)

2의 보수 표현법이 널리 사용되는 이유

음수 표현시 숫자 1개 더 표현 가능(음수의 최대 절대치가 1만큼 큼)

연산이 더 간단

음수 0이 없으므로 0이 하나만 존재해 0 판단이 쉬움

normalize 정규화는 2의 보수 가산 회로로 정수 곱셈을 이행할 필요 없음



2. 부동 소수점 표현

덧셈, 뺄셈

1. 0인지 여부 조사, 지수의 비교

2. 가수의 위치 조정(=가수의 정렬=지수 통일)

3. 가수부 값끼리 더하거나 뺌

4. 정규화

나눗셈

1. 0인지 여부 조사

2. 부호 결정

3. 피제수 위치 조정(피제수<제수)

4. 지수의 뺄셈

5. 가수의 나눗셈

곱셈

1. 0인지 여부 조사

2. 지수의 덧셈

3. 가수의 곱셈

4. 정규화


부동소수점을 표현하는 표준 IEEE 754

지수 : 8비트

바이어스 : 127

가수 : 23비트

표현 영역 : -10^38



3. 자료 표현 코드

BCD 코드 : 10진수 1자리를 2진수 4비트로 표현

6

3

0110

0011

0100


Express-3(3초과 코드) : BCD 코드에 3을 더해서 만듬

ex) 10진수 9를 3초과 코드로 ? 9+3=12 → 1100

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

6장 기억장치  (0) 2017.02.22
5장 입력 및 출력  (0) 2017.02.22
4장 명령 실행과 제어  (0) 2017.02.22
3장 프로세서  (0) 2017.02.21
1장 논리 회로  (0) 2017.02.21

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


1장 논리 회로


조합논리회로

반가산기, 전가산기, 병렬가산기, 반감산기, 전감산기, 디코더, 인코더, 디멀티플렉서, 멀티플렉서, 다수결회로, 비교기 등


순서논리회로

플립플롭, 레지스터, 카운터, RAM, CPU 등



반가산기

2×4 디코더 1개, 3입력의 OR게이트 1개

S = AB

C = A·B

전가산기

3×8 디코더 1개, 4입력의 OR게이트 1개

n비트의 2진 병렬 가산기는 n개의 전가산기로 구성

회로의 논리함수가 다수결 함수를 포함

S = (AB)⊕C

C = (A⊕B)C + A·B




디코더

중앙처리장치에서 번지 해독, 명령 해독 등에 사용되는 회로

AND 게이트로 구성

논리식

D0 = A' · B'

D1 = A' · B

D2 = A · B'

D3 = A · B


플립플롭

기억기능

두개의 NAND 또는 NOR 게이트로 구성

RS 플립플롭

S=0 R=0 → 상태 변화X

S=0 R=1 → 0

S=1 R=0 → 1

S=1 R=1 → 모순(동작 안 됨)

D 플립플롭

RS 플립플롭의 변형된 형태의 플립플롭

입력 값을 그대로 저장

T 플립플롭

1이 입력될 때마다 출력 단자의 상태 바뀜(외부 입력을 그대로 저장X)

JK 플립플롭의 두 개의 입력을 하나로 묶은 플립플롭

JK 플립플롭

입력 JK에 동시에 0이 입력되면 출력은 현 상태가 됨

S=0 R=0 → 상태 변화X

S=0 R=1 → 0

S=1 R=0 → 1

S=1 R=1 → 보수 toggle

MS 플립플롭

출력 측의 일부가 입력 측에 피드백 되어 유발되는 레이스 현상을 없애기 위해 고안된 플립플롭


레지스터

워드를 구성하는 비트 개수만큼의 플립플롭으로 구성

여러 개의 플립플롭은 공통 클록의 입력에 의해 동시에 여러 비트의 입력 자료가 저장됨

레지스터를 구성하는 플립플롭은 저장하는 값을 임의로 설정하기 위해 별도의 입력 단자를 추가 가능

저장값을 0으로 하는 것 : 설정해제(CLR)


디지털 IC의 특성을 나타내는 중요한 비교 평가 요소

전파 지연시간, 전력 소모, 팬 아웃(공급 전원전압X)



출처 : 2017 시나공 정보처리기사 필기

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

6장 기억장치  (0) 2017.02.22
5장 입력 및 출력  (0) 2017.02.22
4장 명령 실행과 제어  (0) 2017.02.22
3장 프로세서  (0) 2017.02.21
2장 자료의 표현  (0) 2017.02.21

+ Recent posts