기본 콘텐츠로 건너뛰기

방송대 방통대 컴퓨터과학개론 10강 - 컴퓨터 구조 (2) - 요약 노트 시험족보 예상문제 - 올에이클래스

컴퓨터과학개론 10강 - 컴퓨터 구조 (2)

컴퓨터과학개론 10강 - 컴퓨터 구조 (2)

하드웨어와 소프트웨어의 접점인 명령어 집합 구조부터 중앙처리장치의 레지스터·처리장치·제어장치까지 살펴본다. 또한 입출력 시스템의 구성과 제어 방식, 파이프라인·멀티코어·GPGPU를 이용한 병렬처리의 원리를 학습한다.

1. 명령어 집합 구조와 CISC·RISC

명령어 집합 구조(ISA, Instruction Set Architecture)는 컴퓨터가 수행할 수 있도록 정의된 기본 명령어와 그 사용 규칙을 가리킨다. 내장 프로그램 개념에서 직접 도출된 개념으로, 하드웨어가 어떤 명령을 이해하고 소프트웨어가 어떤 형식으로 작업을 지시할지를 연결한다. 따라서 ISA는 하드웨어와 소프트웨어 사이에서 교량 역할을 한다.

모든 컴퓨터는 자신만의 명령어 집합을 갖는다. 명령어의 종류, 각 명령어가 수행하는 기능, 명령어 형식, 주소지정방식은 컴퓨터 구조를 고려하여 결정된다. 명령어 집합이 정해지면 그 명령어를 해석하고 실행할 수 있도록 제어장치와 처리장치의 구조도 구체화된다.

CISC 구조

CISC(Complex Instruction Set Computer)는 복합 명령어 집합 컴퓨터이다. 복합적인 기능을 수행하는 명령어를 포함하므로 명령어와 주소지정방식의 수가 많다. 하나의 명령어가 여러 하위 동작을 수행할 수 있어 프로그램에서 사용하는 전체 명령어의 개수를 줄일 수 있고 기억장치 사용을 줄이는 데 유리하다.

다만 복잡한 명령어를 해석하고 실행해야 하므로 제어장치가 복잡해질 수 있다. 강의록에서는 CISC 구조에서 마이크로 프로그램에 의한 제어장치를 주로 사용한다고 설명한다.

RISC 구조

RISC(Reduced Instruction Set Computer)는 단축 명령어 집합 컴퓨터이다. 명령어를 단순화하고 명령어의 수를 줄이는 대신, 각 명령어의 길이를 가능하면 같게 하여 명령어 실행 시간을 최소화한다. 간단한 명령어를 빠르게 처리하는 것을 지향하며, 제어장치는 비교적 간단한 직접 회로로 구성한다.

구분CISCRISC
명령어복합 기능을 포함하고 종류가 많음기능이 단순하고 종류가 적음
주소지정방식다양한 방식을 많이 사용상대적으로 단순화
명령어 길이다양할 수 있음가능하면 같은 길이로 구성
제어장치복잡하며 마이크로 프로그램 방식에 적합간단하며 직접 회로 방식에 적합
지향점한 명령어가 많은 일을 수행간단한 명령어를 빠르게 수행

CISC와 RISC는 단순히 명령어 수만 비교하는 개념이 아니다. 명령어 복잡도, 길이, 실행 방식과 이를 구현하는 제어장치의 구조가 함께 달라진다.

2. 명령어의 종류와 기본 형식

명령어는 컴퓨터가 수행할 작업의 성격에 따라 여러 종류로 구분된다. 데이터 전송 명령어는 레지스터와 레지스터, 주기억장치와 레지스터, 기억장치 사이에서 데이터를 이동한다. 데이터 처리 명령어에는 산술 명령어, 논리 명령어, 비트 단위 명령어와 시프트 명령어 등이 포함된다.

프로그램 제어 명령어는 명령어 실행 흐름을 변경하거나 관리한다. 무조건적 분기는 조건을 확인하지 않고 지정된 위치로 이동하며, 조건적 분기는 특정 조건의 참과 거짓에 따라 흐름을 바꾼다. 입출력 명령어는 보조기억장치와 입출력장치의 정보 교환이나 인터럽트 처리와 관련된다. 인터럽트는 정상적인 프로그램 수행을 잠시 멈추고 CPU가 우선 처리할 작업을 수행하게 하는 기능이다.

명령어 종류주요 기능
데이터 전송장치나 저장 위치 사이의 데이터 이동레지스터-레지스터, 기억장치-레지스터 전송
데이터 처리데이터의 값이나 비트 패턴을 변화산술, 논리, 비트 단위, 시프트
프로그램 제어프로그램 실행 순서 변경무조건적 분기, 조건적 분기
입출력입출력장치와의 정보 교환 및 요청 처리입출력 제어, 인터럽트 관련 명령

연산자 코드와 오퍼랜드

명령어는 실행에 필요한 정보를 모두 포함해야 한다. 가장 기본적인 형식은 연산자 코드(OP code)오퍼랜드(operand)로 이루어진다. 연산자 코드는 CPU가 수행할 연산의 종류를 나타내고, 오퍼랜드는 그 명령어가 사용할 데이터 또는 데이터가 저장된 기억장치 주소를 나타낸다.

연산자 코드에 할당하는 비트 수는 CPU가 구분할 수 있는 최대 명령어 개수를 결정한다. 예를 들어 연산자 코드가 4비트라면 이론적으로 서로 다른 16개의 코드 패턴을 표현할 수 있다. 오퍼랜드의 크기와 개수는 명령어 집합과 컴퓨터 구조에 따라 달라진다.

오퍼랜드는 언제나 데이터 그 자체만 뜻하지 않는다. 실제 데이터, 레지스터 번호, 기억장치 주소 또는 유효주소 계산에 필요한 값이 될 수 있다.

3. 오퍼랜드 개수에 따른 명령어 형식

명령어는 명시적으로 포함하는 오퍼랜드의 개수에 따라 3-주소, 2-주소, 1-주소, 0-주소 명령어로 구분한다. 같은 계산도 명령어 형식에 따라 필요한 명령어 수와 중간 결과를 보관하는 장소가 달라진다.

형식구조특징
3-주소 명령어연산자 코드 + 입력 2개 + 결과 주소 1개한 명령어에 정보가 많고 중간 이동 명령을 줄일 수 있음
2-주소 명령어연산자 코드 + 오퍼랜드 2개한 오퍼랜드를 입력과 결과 저장에 함께 사용하며 가장 많이 사용되는 형식
1-주소 명령어연산자 코드 + 오퍼랜드 1개묵시적으로 누산기 AC를 사용
0-주소 명령어연산자 코드만 존재스택의 맨 위 원소를 묵시적으로 사용

W = X × (Y + Z)를 3-주소 명령어로 처리하면 ADD Y, Z, R1로 덧셈 결과를 R1에 저장하고, MUL X, R1, W로 곱셈 결과를 W에 저장할 수 있다. 2-주소 형식에서는 MOVE Y, R1, ADD Z, R1, MUL X, R1, MOVE R1, W처럼 한 피연산자 위치에 결과가 덮어써지므로 이동 명령이 필요하다.

1-주소 형식에서는 누산기를 묵시적으로 사용한다. LOAD Y로 Y를 누산기에 넣고, ADD Z, MUL X를 거쳐 STORE W로 결과를 저장한다. 0-주소 형식은 PUSH Y, PUSH Z, ADD, PUSH X, MUL, POP W와 같이 스택의 LIFO 원리를 이용한다.

주소 수가 적다는 것은 연산 대상이 없다는 뜻이 아니다. 누산기나 스택처럼 명령어에 쓰지 않아도 정해진 장소를 묵시적으로 이용한다는 뜻이다.

명령어의 메모리 표현

명령어도 기억장치에는 비트 패턴으로 저장된다. 강의록의 1-주소 명령어 예에서는 4비트 연산자 코드와 4비트 오퍼랜드를 결합하여 하나의 명령어를 표현한다. LOAD Y는 LOAD의 코드 0000과 Y의 주소 0011을 결합한 00000011로 저장할 수 있다.

4. 주소지정방식과 유효주소

주소지정방식(addressing mode)은 연산에 사용할 데이터가 기억장치의 어디에 위치하는지를 지정하는 방법이다. 주소지정방식을 다양하게 제공하면 명령어 개수나 길이를 줄이고 기억장치 사용의 유동성을 높일 수 있다.

명령어의 주소 필드에 적힌 값이 언제나 실제 데이터의 주기억장치 주소인 것은 아니다. 주소 필드와 특정 레지스터의 내용을 해석하여 최종적으로 계산한 실제 데이터의 주소를 유효주소(effective address)라고 한다.

주소지정방식오퍼랜드 또는 유효주소를 얻는 방법특징
즉시명령어 안에 실제 데이터가 들어 있음접근이 빠르고 레지스터·변수 초기화에 유용
직접주소 필드가 실제 데이터의 주기억장치 주소기억장치에 한 번 접근하여 데이터를 얻음
간접주소 필드가 가리킨 기억장소에 실제 데이터의 주소가 있음주소를 얻은 뒤 데이터 위치에 다시 접근
레지스터명령어가 지정한 레지스터에 실제 데이터가 있음CPU 내부 레지스터를 사용하여 빠름
레지스터 간접지정된 레지스터에 실제 데이터의 기억장치 주소가 있음레지스터가 포인터 역할을 함
상대레지스터 내용과 명령어의 변위 값을 더해 유효주소 계산사용 레지스터에 따라 분기·배열 등에 활용

즉시·직접·간접 주소지정

즉시 주소지정방식은 명령어 안에 실제 데이터가 들어 있으므로 별도의 데이터 위치를 찾지 않는다. 직접 주소지정방식은 명령어의 주소가 곧 실제 데이터의 주소이다. 간접 주소지정방식에서는 명령어의 주소가 가리키는 기억장소에 또 다른 주소가 들어 있고, 그 두 번째 주소에서 실제 데이터를 찾는다.

레지스터·레지스터 간접 주소지정

레지스터 주소지정방식은 명령어에 레지스터 번호를 기록하고 그 레지스터의 내용을 실제 데이터로 사용한다. 레지스터 간접 주소지정방식도 레지스터 번호를 지정하지만, 레지스터 안의 값은 실제 데이터가 아니라 실제 데이터가 저장된 주기억장치 주소이다.

상대 주소지정

상대 주소지정방식은 명령어에 포함된 내용과 특정 레지스터 내용을 더해 유효주소를 계산한다. 프로그램 카운터를 사용하면 분기형 명령어에서 주로 쓰이고, 인덱스 레지스터를 사용하면 배열 인덱싱에 적합한 인덱스된 주소지정방식이 된다. 베이스 레지스터를 이용하는 경우에는 베이스 레지스터 주소지정방식이라고 한다.

주소지정방식을 구분할 때에는 명령어의 주소 필드, 레지스터, 주기억장치 중 어디에 실제 데이터가 있고 어디에 데이터의 주소가 있는지를 차례로 추적해야 한다.

5. 중앙처리장치의 제어장치 구현과 레지스터

중앙처리장치는 크게 연산을 수행하는 처리장치와 명령어 실행 순서를 통제하는 제어장치로 볼 수 있다. 제어장치를 하드웨어로 구현하는 방법에는 마이크로 프로그램에 의한 제어장치직접 회로로 구성된 제어장치가 있다.

구분마이크로 프로그램 제어직접 회로 제어
동작 원리제어기억장치의 마이크로 연산을 순서대로 수행연산과 명령어 수행 회로가 직접 제어신호 생성
변경 용이성명령어 집합 변경이나 명령어 추가가 비교적 쉬움배선 수정 없이 변경하기 어려움
구조복잡한 명령을 여러 마이크로 연산으로 구현회로 중심으로 구성되어 빠르고 단순함
주요 적용CISC 구조명령어 수가 적은 RISC 구조

범용 레지스터와 특수 레지스터

레지스터는 CPU 내부에서 데이터와 주소, 명령어를 일시 저장하는 고속 기억장소이다. 범용 레지스터는 다양한 데이터 처리에 사용하며, 특수 레지스터는 정해진 기능을 수행한다.

레지스터기능
누산기 AC데이터나 연산 결과를 일시적으로 저장
기억장치 버퍼 레지스터 MBR기억장치에 저장하거나 기억장치에서 읽은 데이터를 임시 저장
기억장치 주소 레지스터 MAR현재 CPU가 읽거나 쓰려는 주기억장치의 주소를 저장
프로그램 카운터 PC다음에 수행할 명령어가 저장된 주기억장치 주소를 저장
명령어 레지스터 IR주기억장치에서 인출되어 현재 실행 중인 명령어를 저장

MAR은 기억장치의 ‘어디’를 접근할지, MBR은 기억장치와 주고받는 ‘무엇’을 저장한다. PC는 다음 명령어의 주소이고 IR은 현재 명령어라는 차이를 정확히 구분한다.

6. 처리장치와 마이크로 연산

처리장치는 연산장치와 레지스터를 묶어 부르는 표현이다. 처리장치의 모든 기능은 비트 패턴으로 구성된 마이크로 연산으로 구현된다. 마이크로 연산은 레지스터에 저장된 데이터를 이동하거나 산술·논리 연산을 수행하는 기본 동작이다.

마이크로 연산 부류의미
레지스터 전송R0 ← R1R1의 내용을 R0로 전송
산술R0 ← R1 + R2덧셈 결과를 R0에 저장
논리R0 ← R1 ∧ R2두 레지스터의 비트별 AND 결과 저장
시프트R1 ← shl R2R2의 비트를 왼쪽으로 이동하여 R1에 저장

강의록의 예처럼 양의 이진수 00100110, 즉 38을 왼쪽으로 한 비트 시프트하면 01001100, 즉 76이 되어 2를 곱한 효과가 난다. 오른쪽으로 한 비트 시프트하면 00010011, 즉 19가 되어 2로 나눈 효과가 난다.

제어단어

제어단어(control word)는 어떤 레지스터를 입력으로 선택하고, 어느 레지스터에 결과를 기록하며, 어떤 연산과 시프트를 수행할지를 지정하는 비트 패턴이다. 처리장치 내부의 MUX, 디코더, 산술논리연산장치와 시프터는 제어단어의 각 필드에 의해 제어된다.

강의록의 16비트 제어단어는 A와 B 필드로 두 입력을 선택하고, D 필드로 결과를 쓸 레지스터를 선택하며, F 필드로 산술·논리 연산을, H 필드로 시프트 동작을 선택한다. 예를 들어 R0 ← R1 + R2를 수행하려면 R1과 R2를 입력으로, R0를 출력으로, 덧셈을 연산으로, 시프트 없음으로 지정한다.

제어단어는 사람이 읽는 명령어보다 더 세부적인 하드웨어 제어 정보이다. 하나의 기계 명령어는 여러 개의 마이크로 연산과 제어단어 순서로 구현될 수 있다.

7. 제어장치와 명령어 사이클

제어장치는 메모리에 저장된 명령어를 어떤 순서로 가져와 수행할 것인지 통제한다. 처리장치를 제어하여 특정 연산을 수행하고 레지스터 값을 갱신하며, 현재 명령을 마친 뒤 다음 명령어의 주소 정보를 만든다.

한 명령어를 처리하는 전체 과정인 명령어 사이클(instruction cycle)은 인출, 해독, 실행, 저장의 네 단계로 설명할 수 있다.

  1. 인출(fetch): PC가 가리키는 주기억장치에서 명령어를 가져온다.
  2. 해독(decode): 명령어의 연산자 코드와 필요한 동작을 해석한다.
  3. 실행(execute): 처리장치가 지정된 연산을 수행한다.
  4. 저장(write-back): 연산 결과를 레지스터나 기억장치에 기록한다.

마이크로 프로그램 제어장치의 구성 요소

제어기억장치(control memory)는 마이크로 연산의 집합을 저장하며 일반적으로 ROM으로 구현한다. 명령어 해독기는 IR에 들어 있는 명령어를 해독하여 해당 마이크로 명령이 시작되는 주소로 매핑한다. 주소 결정회로는 명령어의 주소 정보, 제어단어의 주소 정보와 처리장치의 조건 플래그를 이용하여 다음 마이크로 명령의 주소를 생성한다.

제어기억장치 주소 레지스터 CMAR는 제어기억장치에서 다음에 수행할 마이크로 명령의 위치를 저장한다. 제어기억장치 데이터 레지스터 CMDR는 제어기억장치에서 가져온 다음 마이크로 연산을 저장하며, 그 안의 제어단어가 처리장치와 다른 레지스터에 연결된다.

주기억장치의 명령어 흐름은 PC와 IR이 담당하고, 제어기억장치의 마이크로 명령 흐름은 CMAR와 CMDR이 담당한다.

8. 입출력 시스템의 구성과 제어 방식

기본 입출력 시스템은 중앙처리장치와 주기억장치, 입출력장치, 입출력장치 제어기, 입출력장치 인터페이스와 입출력 버스로 구성된다. 입출력장치에는 키보드, 마우스, 모니터, 프린터, 디스크 등이 있으며 사용자가 컴퓨터 시스템과 정보를 주고받게 한다.

입출력장치 제어기는 장치를 물리적·전자적으로 제어하는 기능을 수행한다. 모터 회전, 헤드 이동, 입출력 매체 위치 지정 등의 작업을 담당한다. 제어기가 입출력장치에 포함되기도 하고 하나의 제어기가 여러 입출력장치를 제어하기도 한다.

입출력장치 인터페이스는 입출력장치와 CPU 또는 주기억장치 사이의 데이터 전송 속도, 처리 단위와 오류 확률의 차이를 조정하여 원활한 전송을 돕는다. 입출력 버스는 입출력 전용 정보 회선의 묶음이며, 여러 장치가 버스를 함께 사용할 때의 충돌을 막기 위한 중재가 필요하다.

입출력 제어 방식

방식CPU의 관여와 동작
CPU에 의한 제어독립된 제어기 없이 입출력 정보가 CPU를 거쳐 주기억장치와 이동
프로그램에 의한 방식CPU가 주기적으로 장치에 신호를 보내 입출력 여부를 확인
인터럽트에 의한 방식장치가 요청할 때 인터럽트를 발생시키고 CPU가 하던 일을 중단하여 처리
DMA 방식CPU는 초기 설정과 허가에 관여하고 DMA 제어기가 장치와 주기억장치 사이의 직접 전송 담당
채널 방식입출력 전용 프로세서가 전송 통로를 제공하고 산술·논리·분기 작업도 수행 가능

프로그램 방식은 CPU가 장치를 계속 확인하지만, 인터럽트 방식은 장치가 필요할 때 CPU에 알린다. DMA는 대량 데이터 이동 자체를 전용 제어기가 맡아 CPU의 직접 관여를 더욱 줄인다.

9. 파이프라인·멀티코어·GPGPU 병렬처리

파이프라인 처리기(pipeline processor)는 프로그램에 내재한 시간적 병렬성을 활용한다. CPU의 하드웨어 요소 일부를 파이프라인 형태로 구성하고, 하나의 연산을 서로 다른 기능을 가진 여러 단계로 나누어 각 단계가 서로 다른 데이터를 동시에 처리하도록 한다.

예를 들어 하나의 연산이 4단계로 나뉘어 있다면 연산 A가 2단계로 이동할 때 연산 B는 1단계를 시작할 수 있다. 시간이 지나면 A, B, C, D가 서로 다른 단계에서 동시에 처리된다. 현재 명령의 특정 단계가 끝나기를 기다리지 않고 다음 명령이 비어 있는 첫 단계를 시작하여 전체 처리량을 높인다. 단, 파이프라인에 넣는 명령어들은 서로 의존 관계가 없어야 원활한 병렬 실행이 가능하다.

멀티코어 구조

멀티코어 구조는 하나의 CPU에 둘 이상의 코어를 넣어 동시에 여러 개의 명령어를 처리한다. 코어는 CPU의 일부로서 명령어를 가져와 수행하는 주 회로이다. 각 코어에는 실행 중인 응용 프로그램의 프로세스나 스레드를 하나씩 담당시킬 수 있다.

GPGPU

GPGPU(General Purpose computing on Graphics Processing Unit)는 원래 그래픽 처리를 위해 설계된 GPU를 범용 연산에 이용하는 기술이다. 그래픽 처리와 같이 많은 데이터를 병렬로 계산하는 구조를 그래픽 이외의 고도 병렬 연산에도 활용한다.

병렬처리 방식병렬성의 핵심
파이프라인하나의 처리 과정을 단계로 나누고 여러 명령이 서로 다른 단계를 동시에 수행
멀티코어여러 CPU 코어가 서로 다른 프로세스나 스레드를 동시에 수행
GPGPUGPU의 대규모 병렬 연산 능력을 범용 계산에 활용

핵심 개념 정리

  • ISA는 하드웨어와 소프트웨어를 연결하며 명령어 종류·형식·주소지정방식을 규정한다.
  • CISC는 복합 명령어와 복잡한 제어장치, RISC는 단순 명령어와 간단한 직접 회로 제어가 핵심이다.
  • 명령어는 연산자 코드와 오퍼랜드로 구성되며 주소 수에 따라 누산기나 스택을 묵시적으로 사용한다.
  • 주소지정방식은 실제 데이터 또는 유효주소를 얻는 경로를 결정한다.
  • AC·MBR·MAR·PC·IR은 각각 연산 결과, 데이터, 주소, 다음 명령어 주소, 현재 명령어를 저장한다.
  • 처리장치는 레지스터 전송·산술·논리·시프트 마이크로 연산을 제어단어에 따라 수행한다.
  • 명령어 사이클은 인출-해독-실행-저장 순서이며 제어장치가 전체 흐름을 통제한다.
  • 입출력 시스템은 장치 특성의 차이를 제어기·인터페이스·버스로 조정하며 여러 제어 방식을 사용한다.
  • 파이프라인, 멀티코어, GPGPU는 서로 다른 구조로 병렬성을 활용한다.

시험 대비 최종 정리: 명령어의 주소 수와 주소지정방식, MAR·MBR 및 PC·IR의 역할을 우선 구분한다. 이어 CISC-마이크로 프로그램과 RISC-직접 회로의 관계, 명령어 사이클, 프로그램·인터럽트·DMA 입출력 방식의 CPU 관여 차이, 파이프라인·멀티코어·GPGPU의 병렬처리 단위를 연결하여 기억한다.

예상문제 20선

1. 하드웨어와 소프트웨어 사이에서 교량 역할을 하는 개념은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
ISA는 소프트웨어가 사용할 명령과 하드웨어가 구현할 동작의 규칙을 정한다.

2. RISC의 특징으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
RISC는 명령어를 단순화하고 길이를 가능한 한 같게 하여 빠르게 실행하는 구조이다.

3. 프로그램의 실행 흐름을 조건에 따라 변경하는 명령어 종류는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
조건적·무조건적 분기와 같이 실행 순서를 바꾸는 명령은 프로그램 제어 명령어이다.

4. 명령어에서 CPU가 수행할 연산의 종류를 나타내는 부분은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
연산자 코드는 LOAD, ADD, MUL처럼 수행할 연산을 구분하고 오퍼랜드는 연산 대상을 나타낸다.

5. 누산기 AC를 묵시적으로 사용하는 명령어 형식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
1-주소 명령어는 하나의 오퍼랜드만 명시하고 다른 연산 대상과 결과 저장 장소로 누산기를 사용한다.

6. 0-주소 명령어가 연산 대상을 얻는 주된 장소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
0-주소 명령어는 명령어에 오퍼랜드를 쓰지 않고 스택 맨 위의 값들을 묵시적으로 사용한다.

7. 명령어 내부에 실제 데이터가 포함되는 주소지정방식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
즉시 주소지정은 주소가 아니라 사용할 데이터 자체를 명령어의 오퍼랜드 필드에 넣는다.

8. 레지스터 간접 주소지정방식에서 지정된 레지스터가 저장하는 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
레지스터가 포인터처럼 주기억장치 주소를 보관하고, 그 주소에서 실제 데이터를 읽는다.

9. 프로그램 카운터를 이용한 상대 주소지정방식이 주로 사용되는 명령은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
현재 실행 위치를 나타내는 PC에 변위를 더하면 가까운 분기 목적지의 유효주소를 계산할 수 있다.

10. 명령어 집합의 변경이나 명령어 추가가 비교적 쉬운 제어장치 구현 방식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
마이크로 프로그램 방식은 제어기억장치의 마이크로 연산 순서를 수정하여 명령을 변경하거나 추가하기 쉽다.

11. CPU가 읽거나 쓰려는 주기억장치의 주소를 저장하는 레지스터는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
MAR은 Memory Address Register로 기억장치 접근 주소를 저장한다. 데이터 자체는 MBR을 거친다.

12. 다음에 수행할 명령어의 주기억장치 주소를 저장하는 레지스터는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
PC는 다음에 인출할 명령어의 주소를 저장하고 IR은 이미 인출되어 현재 실행 중인 명령어를 저장한다.

13. R0 ← R1 + R2가 속하는 마이크로 연산 부류는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
두 레지스터 값을 더하는 동작은 산술 연산이며 그 결과를 R0에 저장한다.

14. 명령어 사이클의 올바른 순서는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
명령어를 기억장치에서 가져오고 해석한 다음 실행하며 결과를 저장한다.

15. 제어기억장치에서 다음에 수행할 마이크로 명령의 위치를 저장하는 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
CMAR은 Control Memory Address Register로 제어기억장치에서 접근할 마이크로 명령 주소를 보관한다.

16. 입출력장치와 CPU·기억장치 사이의 속도와 처리 단위 차이를 조정하는 요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
입출력 인터페이스는 서로 다른 장치 특성의 차이를 조정하여 데이터가 원활하게 전달되도록 한다.

17. CPU가 주기적으로 입출력장치에 신호를 보내 상태를 확인하는 방식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
프로그램 방식은 CPU가 반복적으로 장치를 확인하는 폴링 형태이다. 인터럽트 방식은 장치가 요청할 때 알린다.

18. DMA 방식에서 실제 데이터 이동을 주로 담당하는 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
CPU는 초기 설정과 허가에 관여하고 장치와 주기억장치 사이의 직접적인 정보 이동은 DMA 제어기가 처리한다.

19. 파이프라인 처리의 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
파이프라인은 연산을 여러 단계로 나누고 각 단계가 서로 다른 명령의 데이터를 동시에 처리하게 한다.

20. GPU의 대규모 병렬 연산 능력을 그래픽 이외의 범용 계산에 활용하는 기술은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
GPGPU는 그래픽 처리장치의 병렬 계산 구조를 범용의 고도 병렬 연산에 사용하는 기술이다.

댓글