






LOAD나 STORE 명령은 명령어의 기능 중 전달 기능에 속한다.
전달 기능은 레지스터와 주기억장치 사이에서 데이터를 옮기는 역할을 하며, LOAD는 기억장치의 데이터를 레지스터로, STORE는 레지스터의 데이터를 기억장치로 옮기는 명령이다.
- 함수연산 기능은 산술·논리 연산을 수행하는 명령을 가리킨다.
- 제어 기능은 프로그램의 실행 순서를 바꾸는 분기·점프 명령을 가리킨다.
- 입출력 기능은 입출력 장치와 데이터를 주고받는 명령을 가리킨다.
A7B8₁₆ + 1C3D₁₆ = C3F5₁₆이다. 16진수 덧셈은 각 자리를 오른쪽부터 계산하며, 16 이상이 되면 1을 올림한다.
A7B8 + 1C3D를 계산하면:
(1) 맨 오른쪽 자리: 8 + D(13) = 21 = 16 + 5 → 5를 쓰고 1 올림
(2) 두 번째: B(11) + 3 + 1(올림) = 15 = F
(3) 세 번째: 7 + C(12) = 19 = 16 + 3 → 3을 쓰고 1 올림
(4) 맨 왼쪽: A(10) + 1 + 1(올림) = 12 = C
서브루틴을 호출할 때 복귀 주소나 임시 데이터를 저장하는 데는 스택이 사용된다.
스택은 후입선출(LIFO) 구조로 데이터를 쌓아 두었다가 서브루틴이 끝나면 가장 최근에 저장된 복귀 주소부터 꺼내 원래 프로그램 흐름으로 되돌아갈 수 있게 한다.
- 번지 해독기는 주소를 해석해 특정 위치를 선택하는 회로일 뿐 데이터를 저장하지 않는다.
- 프로그램 카운터는 다음에 실행할 명령어의 주소만 가리키는 레지스터다.
- 메모리 주소 레지스터는 접근할 기억장소의 주소를 잠시 담아두는 용도로, 서브루틴 임시 저장용은 아니다.

실행 결과로 두 수의 합 = 600 이 출력된다.
코드는 정수형 a, b, tot 를 선언한 뒤 , 을 대입하고 을 구한다.
출력문은 큰따옴표 안의 문자열 "두 수의 합 = " 와 서식 지정자 %d, 줄바꿈 문자로 이루어져 있다. 문자열 부분은 적힌 그대로 찍히고 %d 자리에는 인자로 넘긴 변수 tot 의 값이 채워진다.
- 600 만 출력된다고 보면 큰따옴표 안의 안내 문자열을 빠뜨린 것이다.
- tot 라는 변수 이름은 결코 찍히지 않는다. %d 는 변수의 값으로 치환되는 자리이기 때문이다.
EX-OR은 두 개의 입력값이 있어야 성립하는 이항(2항) 연산이므로 단항 연산과 거리가 멀다.
단항 연산은 피연산자가 하나뿐인 연산으로, 다음 세 가지가 이에 해당한다.
- 이동(Move)은 하나의 데이터 위치만 옮기는 연산이다.
- 시프트(Shift)는 하나의 데이터 비트를 이동시키는 연산이다.
- 보수(Complement)는 하나의 데이터에 대해 값을 반전시키는 연산이다.
누산기(accumulator)는 연산 결과를 일시적으로 저장하는 용도로 쓰인다.
ALU에서 산술·논리 연산을 수행한 결과는 곧바로 누산기에 임시로 담기며, 이어지는 다음 연산의 입력으로 재사용된다.
- 연산 결과를 일시적으로 삭제한다는 설명은 누산기의 실제 기능과 반대된다.
- 오퍼레이션 코드를 인출하는 것은 명령 레지스터(IR)의 역할이다.
- 오퍼레이션의 주소를 저장하는 것은 주소 지정과 관련된 레지스터의 역할이다.
원시 언어로 작성한 프로그램을 같은 내용의 목적 프로그램으로 번역하는 프로그램은 컴파일러이다.
컴파일러는 원시 프로그램 전체를 한 번에 번역해 목적 프로그램을 만들어 두므로, 실행할 때마다 번역을 되풀이하지 않는다.
- 기계어는 컴퓨터가 곧바로 실행하는 코드 자체이지 번역 프로그램이 아니다.
- 파스칼은 번역의 대상이 되는 고급 언어의 한 종류이다.
- 소스 프로그램은 번역되기 전의 원시 프로그램을 가리키는 말이다.





맵의 1을 묶으면 가 되므로, A와 B에 각각 부정 막대가 붙고 D는 부정 없이 더해진 식이 맞다.
먼저 CD=01 열과 CD=11 열이 위에서 아래까지 모두 1이다. 두 열의 공통 조건은 뿐이므로 8칸이 하나로 묶여 D 항이 나온다.
남은 1은 AB=00 행에만 있고 그 행은 네 칸이 모두 1이므로, 이 행을 통째로 묶으면 가 된다. 두 묶음을 더해 이다.
- D에 부정 막대가 붙은 식들: 1로 가득 찬 두 열은 인 열이므로 가 될 수 없다.
- A와 B 가운데 한쪽만 부정한 항: AB=01·11·10 행에서는 CD=00·10 칸이 모두 0이어서 이외의 조합으로는 맵이 재현되지 않는다.
명령어 인출 → 명령어 해석 → 데이터 인출 → 데이터 처리 순서로 진행되는 것이 마이크로프로세서의 기본 동작 사이클이다.
먼저 프로그램 카운터가 가리키는 명령어를 인출하고 이를 해독한 뒤, 해독 결과가 요구하는 피연산자(데이터)를 인출하여 마지막으로 연산을 수행한다.
- 명령어를 인출한 직후 데이터부터 인출하는 순서는, 아직 해석 전이라 어떤 데이터를 가져와야 하는지 정할 수 없어 성립하지 않는다.
- 데이터를 명령어보다 먼저 인출하는 순서는 실행할 명령 자체가 정해지기 전이므로 성립하지 않는다.
- 데이터 처리부터 시작하는 순서는 인출·해석 단계보다 앞설 수 없다.
부동소수점 표현은 부호, 지수부, 가수부의 세 부분으로 구성된다.
지수부는 소수점의 위치(자릿수)를 정하고 가수부는 유효숫자를 나타내며, 이 구조 덕분에 매우 크거나 작은 수를 표현할 수 있다.
- 부호와 절대값만으로는 지수 범위를 표현할 수 없어 부동소수점의 전체 구조를 설명하지 못한다.
- 2의 보수는 고정소수점 정수 연산에서 주로 쓰이는 방식이다.
- 지수 계산과 정규화 과정이 있어 고정소수점 연산보다 오히려 더 복잡하고 시간이 걸린다.
채널의 종류로 옳게 묶인 것은 멀티플렉서 채널과 실렉터(selector) 채널이다.
입출력을 전담하는 채널은 여러 저속 장치를 동시에 처리하는 멀티플렉서 채널과, 한 번에 하나의 고속 장치를 전담하는 실렉터 채널로 구분하는 것이 일반적인 분류이다.
- 다이렉트 채널은 채널의 표준 분류 명칭이 아니므로 이를 포함한 묶음은 옳지 않다.
- 스트로브는 데이터 전송 시점을 알리는 제어 신호를 가리키는 말이며 채널의 종류가 아니다.














이다.