










휘트스톤 브리지 형태의 회로로, a→b→c 경로는 5Ω+10Ω=15Ω, a→d→c 경로는 15Ω+15Ω=30Ω이다. 전체 전압 30V가 각 경로에 그대로 걸리므로 a-b 구간 전압은 , a-d 구간 전압은 이다. 따라서 b점과 d점의 전위차는 가 된다.

서브루틴 호출이나 인터럽트 처리 시 복귀할 다음 명령의 주소는 스택에 임시로 저장되며, 이 저장 위치를 관리하는 것이 스택 포인터이다.
호출이 일어나면 현재 실행 중이던 다음 주소가 스택에 쌓이고, 복귀할 때 그 값을 다시 꺼내 프로그램 계수기에 넣어 실행을 이어간다.
- 상태 레지스터는 연산 결과의 플래그를 저장하는 역할이다.
- 프로그램 계수기는 다음에 실행할 명령의 주소를 담는 레지스터일 뿐, 임시 저장 위치를 스스로 관리하지는 않는다.
- 메모리 주소 레지스터는 기억장치에 접근할 때 사용할 주소를 잠시 담아두는 레지스터이다.
10진수 -113을 1의 보수 8비트로 나타내면 10001110이 된다.
먼저 113을 이진수로 바꾸면 이므로 8비트로 이다.
1의 보수는 모든 비트를 반전시키는 것이므로 의 각 비트를 뒤집어 10001110 을 얻는다.
- 10001111은 1의 보수에 1을 더한 2의 보수 표현이다.
- 01110001은 부호 없이 나타낸 +113이고, 11110001은 부호비트만 1로 바꾼 부호-절대값 표현이다.
기억장치에서 명령이나 데이터를 읽을 때 가장 먼저 하는 일은 어드레스 지정이다.
읽고자 하는 대상의 번지를 주소 레지스터에 실어 지정한 뒤에야 그 번지에 실린 내용을 인출할 수 있으므로, 주소 지정이 인출 동작보다 앞선다.
- 명령 지정은 인출된 명령의 종류를 확정하는 이후 단계에 해당한다.
- 명령 출력은 처리 결과를 내보내는 것으로 인출 이전 단계와는 무관하다.
- 어드레스 인출은 지정된 주소를 근거로 실제 내용을 읽어오는 다음 단계이다.




왼쪽 끝이 뾰족하게 모이고 오른쪽 변이 바깥으로 볼록한 도형이 표시장치(display) 기호이다.
화면(브라운관)의 단면을 본뜬 모양으로, 순서도에서 처리 결과를 화면에 보여 주는 단계에 사용한다.
나머지 기호는 매체나 장치가 다르다.
- 원에서 오른쪽 아래로 접선이 뻗어 나간 모양 — 자기 테이프
- 왼쪽 위 모서리를 비스듬히 잘라낸 직사각형 — 천공 카드
- 위아래 변이 물결 모양인 도형 — 인쇄된 서류(문서) 계열
착오를 검출하고 교정까지 할 수 있는 오류 정정 코드는 해밍 코드이다.
해밍 코드는 데이터 비트 사이에 여러 개의 패리티 비트를 배치해 오류가 발생한 비트의 위치까지 찾아내어 스스로 정정할 수 있는 오류 정정 코드이다.
- 아스키 코드는 문자를 표현하기 위한 코드로 오류 검출·정정 기능이 없다.
- 그레이 코드는 인접한 값 사이에 한 비트만 바뀌는 코드로 오류 정정과는 무관하다.
- EBCDIC은 문자 표현을 위한 코드로 오류 정정 기능이 없다.
마이크로컴퓨터의 시스템 버스에는 레지스터 버스(register bus)라는 종류가 없다. 레지스터끼리 값을 주고받는 일은 프로세서 내부에서 일어나는 동작이라 모듈 사이를 잇는 외부 버스로 분류하지 않는다.
마이크로프로세서와 주기억장치·주변장치 모듈을 잇는 버스는 데이터 버스·주소 버스·제어 버스 세 가지로 이루어진다.
- 데이터 버스는 읽고 쓰는 자료를 실어 나르는 양방향 버스이다.
- 주소 버스는 접근할 기억장소나 장치의 번지를 내보내는 단방향 버스이다.
- 제어 버스는 읽기·쓰기·인터럽트 요구 같은 제어 신호를 주고받는 버스이다.
주소 선 8개, 데이터 선 8개인 ROM의 기억용량은 256 바이트이다.
주소 선이 8개이면 지정할 수 있는 번지 수는 개이고, 데이터 선이 8개이면 한 번지에서 한꺼번에 읽히는 폭이 8비트, 곧 1바이트다. 따라서 용량은 번지 256 × 1바이트 = 256 바이트가 된다.
- 1,024 바이트가 되려면 번지 수가 이어야 하므로 주소 선이 10개여야 한다.
- 512 바이트가 되려면 번지 수가 이어야 하므로 주소 선이 9개여야 한다.
- 64 바이트가 되려면 번지 수가 이어야 하므로 주소 선이 6개여야 한다.
기존 내용을 그대로 둔 채 원하는 비트 위치에 값을 끼워 넣는 문자 삽입은 OR 연산으로 수행한다.
- AND 연산은 특정 비트를 지우거나 걸러내는 마스크 용도로 사용된다.
- ROTATE 연산은 비트 위치를 순환 이동시키는 데 사용된다.
- MOVE 연산은 데이터를 그대로 옮기기만 할 뿐 값을 끼워 넣지 못한다.
마이크로프로세서의 기계어 명령 형식은 OP CODE(연산자부)와 OPERAND(피연산자부)로 구성된다.
OP CODE는 덧셈·이동·분기처럼 어떤 동작을 할지 지정하고, OPERAND는 그 동작의 대상이 되는 자료나 자료가 놓인 번지를 지정한다.
- 그레이 코드는 이웃한 값 사이에 한 비트만 바뀌도록 만든 자료 표현 코드여서 동작의 종류를 지정하는 자리에 올 수 없다.
- BCD 코드 역시 십진수를 네 비트로 나타내는 표현 방식일 뿐 명령의 동작을 지정하지 않는다.
- OP CODE와 그레이 코드를 짝지은 조합은 연산 대상을 가리킬 자리가 없어 명령 형식으로 성립하지 않는다.
순서도의 역할과 거리가 먼 것은 입력과 출력의 설계이다. 순서도는 처리 절차와 논리의 흐름을 기호로 나타내는 도구일 뿐, 입력 양식이나 출력 서식을 정하는 도구가 아니다.
어떤 항목을 어떤 모양으로 넣고 내보낼지 정하는 일은 화면·장표를 설계하는 별도의 입출력 설계 단계에서 이루어진다.
- 처리 순서가 기호로 정리되어 있으면 그대로 명령문으로 옮길 수 있어 코딩이 쉬워진다.
- 흐름을 따라가며 조건과 분기를 짚어 볼 수 있어 문제의 정확성 여부를 판단하기 쉽다.
- 전체 처리 과정을 한눈에 보여 주므로 업무의 개요를 파악하는 데 유용하다.
연산자의 기능에 해당하지 않는 것은 번지 기능이다. 자료가 놓인 번지를 나타내는 일은 명령어에서 연산자부가 아니라 주소부(피연산자부)가 맡는다.
연산자부는 '무엇을 할 것인가'를 지정하는 자리이므로, 그 기능은 자료를 옮기고 수행 순서를 바꾸고 계산을 수행하는 쪽으로 나뉜다.
- 전달 기능은 레지스터와 기억장치 사이에서 자료를 옮기는 기능이다.
- 제어 기능은 분기·정지처럼 명령의 수행 순서를 바꾸는 기능이다.
- 함수연산 기능은 사칙연산과 논리연산을 수행하는 기능이다.
주기억장치의 명령어를 읽어 해독하고 각 장치에 제어신호를 보내 동작을 지시하는 것은 제어장치의 기능이다.
이처럼 명령어 해독과 제어신호 전달은 연산이나 입출력 자체가 아니라 전체 동작을 지휘하는 역할이다.
- 입력장치는 데이터를 컴퓨터 내부로 받아들이는 장치이다.
- 출력장치는 처리 결과를 외부로 내보내는 장치이다.
- 연산장치는 산술·논리 연산을 수행하는 장치이다.







