본문 바로가기

Study/정보처리기사 필기

전자계산기 구조

핵심 개념(Key Concept)


 * 모듈러스-N 카운터

- N가지의 상태를 가지는 카운터

- 이 때 필요한 플립플롭의 개수는 2^(k-1) <= N <=2^k 를 만족하는 k

 

 * 캐시의 미스율 (miss ratio) = 1 - 적중률 ; 적중률 = 적중 횟수 / 액세스 횟수


 * 인터럽트 우선순위 판별 방식 (Vectored Interrupt)

- 하드웨어적인 인터럽트 판별 방식

빠른 응답속도

복잡한 회로와 비융통성으로 인해 추가적인 하드웨어가 필요하므로 비경제적

종류

직렬 우선순위 부여 방식 (Daisy Chain)

병렬 우선순위 부여 방식 

- 소프트웨어적인 인터럽트 판별 방식

Interrupt 발생 시 우선순위가 가장 높은 자원으로부터 차례로 검사

우선순위 변경이 쉽다

속도가 빠른 장치에 높은 등급 부여

간단한 회로, 융통성, 하드웨어 불필요 -> 경제적

인터럽트가 많을 때는 전부 조사하는 데 시간이 오래 걸린다.

예시로 Polling 방식 존재 


 * 명령어 (Instruction) 설계 시 고려사항

- 연산자 수와 종류

처리할 기능에 맞게 연산자의 수와 종류 결정

- 주소 지정 방식

자료의 위치를 표현하기 위한 방법 결정

- 데이터 구조 (워드 크기)

데이터 구조에 맞게 명령어 설계


 * DMA (Direct Memory Access)

- 입출력장치가 주기억장치를 접근해 Data Block을 입출력하는 방식

- CPU의 레지스터를 경유하지 않음

- CPU는 DMA 제어기에 I/O를 알려주고 그 이상 간섭하지 않는 방식

- CPU를 거치지 않으므로, CPU의 부하를 줄여줄 수 있다.

- 인터럽트를 통해서 CPU에게 입출력 종료 알림

- CPU와 메모리, 버스를 공유

- Cycle Steal 방식으로 데이터 전송

- Interrupt 방식과 다르다


 * excess-3 코드

- 대표적인 자기 보수 코드

- BCD + 3 이므로 모든 비트가 동시에 0이 되는 경우가 없다.


 * 마이크로 명령어 형식

- 조건 필드

분기에 사용될 조건 플래그 지정

- 연산 필드

마이크로 연산이 동시 수행

- 주소 필드

분기 발생 시 목적지 마이크로 명령어 주소로 사용

- 분기 필드

분기 종류, 다음 실행 명령어 주소 결정 방법 명시


 * 2의 보수가 갖는 장점 (1의 보수에 비해...)

- 음수 표현 시 숫자 1개를 더 표현할 수 있다.

- end around carry를 할 필요가 없다.

- 0의 표현이 하나밖에 없다.

- 음수의 최대 절대치가 양수의 최대 절대치보다 1만큼 더 크다.


 * Micro Operation

- Instruction을 수행하기 위해 CPU 내의 레지스터와 플래그가 의미 있는 상태 변환을 하도록 하는 동작

- 레지스터에 저장된 데이터에 의해 이루어지는 동작

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

- 컴퓨터의 모든 명령을 구성하고 있는 몇 가지 종류의 기본 동작

- 순서 결정하기 위해 제어장치가 발생하는 신호를 제어 신호라고 한다.

- 한 개의 Instruction은 여러 개의 Micro Operation이 동작되어 실행


 * Micro Cycle Time 부여 방식

- CPU 클락 주기와 Micro Cycle Time의 관계에 따라 동기 고정식, 동기 가변식, 비동기식으로 나뉜다.

- 동기 고정식 (Synchronous Fixed)

모든 Mirco Operation의 동작시간이 같다고 가정하여 CPU 클락의 주기를 MCT와 같도록 정의

모든 Micro Operation의 동작시간이 비슷할 때 유리한 방식

- 동기 가변식 (Synchronous Variable)

수행시간이 유사한 Micro Operation끼리 그룹을 만들어, 각 그룹별로 서로 다른 MCT 정의

동기 고정식에 비해서 CPU 시간 낭비를 줄일 수 있지만, 구현은 복잡

서로 다른 사이클 타임의 동기를 맞추기 위해 그룹 간 사이클 타임을 정수배가 되게 한다.

- 비동기식 (Asynchronous)

모든 Mirco Operation에 대하여 서로 다른 MCT를 정의하는 방식

CPU의 시간 낭비는 없으나, 제어가 매우매우 복잡해진다.


 * 매핑 프로세스 (Mapping Process)의 종류

- 직접 매핑 (Direct Mapping)

- 어소시에이티브 매핑 (Associative Mapping)

- 세트-어소시에이티브 매핑 (Set-Associative Mapping)


 * 연관기억장치 (Associative Memory)

- 기억장치에서 자료를 찾을 때 주소에 의해 접근하지 않고, 기억된 내용의 일부를 가지고 접근

- 구성 요소

인수 레지스터, 키 레지스터, 매치 레지스터

- 특징

주소 접근보다 빠르다

Mapping Table에 사용된다

하드웨어 비용이 증가한다.


 * 그레이 코드 (Gray Code)

- BCD 코드의 인접하는 비트를 XOR 연산하여 만든 코드

- 1 Bit만 변화시켜 다음 수치로 증가시키기 때문에 하드웨어적인 오류가 적다


 * Stack을 사용하는 예

- 부 프로그램 호출 시 복귀 주소를 저장

- 함수 호출의 순서 제어

- 인터럽트에 의해 복귀 주소를 저장

- 후위 표기법 (Postfix Notation)으로 표현된 산술식을 연산

- 0 주소지정방식 명령어의 자료 저장소

- 재귀 프로그램 순서 제어

- 컴파일러를 이용한 언어 번역 시


 * 인터럽트 (Interrupt)

- 외부 인터럽트

외부적인 요인에 의해 발생

종류

전원 이상 인터럽트

정전이 되거나 전원 이상

기계 착오 인터럽트

CPU의 기능적인 오류 동작

외부 신호 인터럽트

타이머

키보드

외부장치

입출력 인터럽트

입출력 데이터의 오류

입출력 장치가 호출 

- 내부 인터럽트

잘못된 명령이나 데이터를 사용할 때 발생

트랩이라고도 부름

종류

프로그램 검사 인터럽트

0으로 나누거나, 오버플로우 또는 언더플로우가 발생한 경우

- 소프트웨어 인터럽트

프로그램 처리 중 명령의 요청에 의해 발생

종류

수퍼바이저 콜

사용자가 SVC 명령을 써서 의도적으로 호출



참고(Reference)


 시나공 기출문제집 - 정보처리기사 필기 



※ 정확하고 부드러운 태클은 언제나 환영입니다.

'Study > 정보처리기사 필기' 카테고리의 다른 글

소프트웨어 공학  (0) 2019.03.02
운영체제  (0) 2019.03.01
데이터베이스  (0) 2019.03.01
데이터 통신  (0) 2019.02.25