상온에서 진공 상태의 금속에 108V/m 정도의 매우 강한 전기장을 가할 때 열을 공급하지 않고도 전자가 방출되는 현상을 전계 방출(field emission)이라 한다.
이는 강한 외부 전기장이 금속 표면의 포텐셜 배리어를 낮추거나 뭉뚱그려서 전자가 터널링 효과로 금속 표면을 빠져나가는 원리에 기반한다.
나머지는 주어진 조건(상온, 열을 가하지 않음, 진공)과 맞지 않는다.
- 열전자 방출은 고온 가열이 필요하다.
- 광전자 방출은 빛의 조사가 필요하다.
- 2차 전자 방출은 고에너지 입자의 충돌이 필요하다.






위쪽은 A·B를 받는 AND, 아래쪽은 B·C를 받는 NOR이고 두 출력이 OR로 합쳐지므로 이며, A=1, B=0, C=0일 때 Y=1인 표가 옳다.
이 값을 대입하면 AND 출력은 , NOR 출력은 이므로 OR를 거친 이 된다.
- 세 입력이 모두 0인 표는 NOR 출력이 이어서 Y=1이 되어야 하는데 Y를 0으로 적어 틀렸다.
- A=0·B=1·C=1인 표는 AND 출력 0, NOR 출력 이라 Y=0이고, 세 입력이 모두 1인 표는 AND 출력이 1이므로 Y=1이어서 각각 적힌 값과 어긋난다.
주파수 특성은 RC 결합이 더 우수하다. 변압기 결합은 변압기의 인덕턴스와 기생 용량에 의한 공진으로 인해 대역폭이 제한되고 저주파·고주파 특성이 좋지 않아 RC 결합보다 주파수 특성이 열등하다.
- 임피던스 정합: 변압기의 권선비를 이용해 임피던스 정합이 가능하다.
- 직류 바이어스 설계: 변압기가 DC를 차단하므로 바이어스 설계가 독립적이다.
- 부피·가격: 변압기의 물리적 크기와 고가의 비용이 실제 단점이다.
구형파 입력에 대해 폭이 좁은 트리거 펄스를 생성하려면 입력 신호의 급격한 변화(상승·하강 에지)에만 반응해야 한다. 미분회로는 입력 신호의 시간 미분값을 출력하므로, 구형파의 가파른 에지 부분에서만 큰 진폭의 좁은 펄스를 발생시키고 평탄한 부분에서는 0에 가까운 출력을 내보낸다. 반면 적분회로는 신호를 적분하여 완만하게 변화시키고, 발진회로와 클리핑회로는 이와 무관한 기능을 수행한다.
K 입력에 NOT 게이트를 통해 D를 반전시킨 신호(D')를 연결하고 J에 D를 직접 연결하면, 아래 조건을 만족하여 J-K 플립플롭이 D 플립플롭으로 동작하게 된다.
J-K 플립플롭에서 D 플립플롭을 구현하려면 D 입력을 J와 K에 적절히 연결해야 한다. D 플립플롭의 동작은 D=1일 때 다음 상태가 1, D=0일 때 다음 상태가 0이어야 하므로, J와 K는 항상 서로 반대 값을 가져야 한다. 즉, D=1이면 J=1, K=0이고, D=0이면 J=0, K=1이어야 한다.
정류 직후의 맥류에서 리플(교류) 성분을 걸러 내고 직류만 남겨야 하므로, 평활회로는 저역 통과 여파기로 구성한다.
직렬 인덕터와 병렬 커패시터를 조합한 형태가 대표적이며, 주파수가 0에 가까운 직류 성분만 통과시키고 리플 주파수 성분은 감쇠시킨다.
- 고역 통과 여파기는 높은 주파수를 통과시켜 오히려 리플만 남기므로 평활에 쓸 수 없다.
- 대역 통과 여파기는 특정 대역만 골라내는 선택용 회로이다.
- 고역 소거 여파기는 높은 대역을 잘라 내는 선택용 회로로, 평활회로의 표준 구성으로 제시되지는 않는다.
부하 변동이 발진부에 되돌아가 주파수를 흔드는 것을 막기 위해 발진기와 부하 사이에 넣는 회로는 완충 증폭기이다.
입력 임피던스가 높고 출력 임피던스가 낮아 발진기 쪽과 부하 쪽을 전기적으로 분리하므로, 부하가 바뀌어도 발진 조건이 흔들리지 않는다.
- 동조 증폭기는 특정 주파수 대역만 선택해 증폭하는 회로이다.
- 직류 증폭기는 직류를 포함한 낮은 주파수 신호를 증폭하는 회로이다.
- 결합 증폭기는 증폭단 사이를 이어 주는 결합 방식에 관한 회로이다.
'점유 주파수 대역폭이 좁다'는 AM의 특징으로, FM은 점유 주파수 대역폭이 넓다는 것이 오히려 단점이자 핵심 특징이다.
- 주파수 변별기를 이용한 복조: 주파수 변별기(discriminator)를 이용한 복조는 FM의 표준 복조 방식이다.
- S/N 개선: Carson의 법칙에 따라 점유 대역폭은 약 2(Δf + fm)으로 광대역이며 S/N 개선 효과가 있다(협대역 AM 대비 우수).
- 페이딩·신호 방해: FM은 진폭 변화에 무관하므로 페이딩과 진폭 잡음에 강하고 간섭 신호 영향이 적다.
R-S 플립플롭에서 R과 S가 동시에 1이 되는 입력은 출력이 하나로 정해지지 않는 불능(금지) 상태이다.
세트와 리셋을 동시에 요구하는 셈이어서 두 출력이 서로 반대여야 한다는 조건이 깨지고, 입력이 풀릴 때 어느 쪽으로 안정될지 알 수 없으므로 사용을 금지한다.
- R=1, S=0이면 출력이 0으로 리셋된다.
- R=0, S=1이면 출력이 1로 세트된다.
- R=0, S=0이면 이전 출력이 그대로 유지된다.

그림은 X-TAL이 위아래 두 출력 단자 사이에 놓이고 각 단자에서 접지 쪽으로 가지가 하나씩 내려오는 대칭 구조인데 위 가지가 콘덴서 C이므로, A에는 커패시터가 들어간다.
수정 발진기의 가장 기본이 되는 형태는 수정 진동자 양끝에 부하 용량 두 개를 달아 용량 분압으로 귀환을 만드는 구성이며, 이 두 용량이 수정의 발진 주파수를 미세 조정하는 역할도 한다.
- A 자리는 접지 레일과 출력 단자를 잇는 2단자 소자 자리여서 단자가 셋인 TR은 들어갈 수 없다.
- 저항이나 코일을 넣으면 위쪽 C와 대칭을 이루는 용량 분압 귀환 구조가 되지 않아 수정의 안정된 발진 조건을 만들지 못한다.
증폭기 내부에서 잡음이 전혀 생기지 않는 이상적인 경우의 잡음지수는 1이다.
잡음지수는 입력의 신호대잡음비를 출력의 신호대잡음비로 나눈 값 이므로, 잡음이 더해지지 않으면 분자와 분모가 같아져 1이 된다.
이 값을 데시벨로 환산하면 0 dB 이지만 비로 나타낸 잡음지수 자체는 1이며, 실제 증폭기는 내부 잡음 때문에 항상 1보다 큰 값을 갖는다.

각 발진 회로의 특성을 비교하면 다음과 같다. RC 발진 회로는 저항과 캐패시터만으로 구성되어 부품 수가 적고 비용이 낮아 가격이 저가인 것이 맞다. LC 발진 회로는 인덕터의 손실과 온도 변화에 민감하여 안정성이 RC 회로보다 떨어진다. 수정 발진 회로는 Q값이 매우 높아 주파수 안정성이 우수하며, 세라믹 발진기는 고주파 대역(MHz 이상)에서 사용되는 것이 일반적이다.
최대 진폭의 90% 지점에서 10% 지점까지 내려가는 데 걸리는 시간은 하강시간이다.
펄스 가장자리의 기울기를 나타내는 값으로, 파형의 맨 위아래 끝부분은 왜곡이 심해 10%와 90% 사이 구간만으로 정의한다.
- 지연시간은 입력이 가해진 뒤 출력이 최대 진폭의 10%에 이르기까지 걸리는 시간이다.
- 상승시간은 10%에서 90%까지 올라가는 데 걸리는 시간이다.
- 오버슈트는 파형이 정상값을 넘어 솟구친 양을 가리키는 용어이다.
Von Neumann형 컴퓨터의 다섯 가지 기본 기능은 제어, 연산, 기억, 입출력, 전달이다. 제어 기능(1번)은 명령어 해석 및 실행 순서 제어, 전달 기능(3번)은 데이터와 명령어의 이동, 함수 연산 기능(4번)은 산술·논리 연산을 수행하므로 모두 연산자의 기능에 속한다. 기억 기능(2번)은 기억장치가 담당하는 역할이므로 연산자(ALU 및 제어장치)의 기능이 아니다.
주 기억 장치(주메모리, RAM)의 역할은 프로그램과 데이터를 저장하고 중간·최종 결과를 기억하며 CPU와의 고속 데이터 교환을 수행하는 것이다. 1번 최종 결과 기억, 3번 중간 결과 기억, 4번 프로그램 기억은 모두 주 기억 장치의 핵심 기능이지만, 2번 데이터 연산은 CPU의 역할이며 주 기억 장치는 데이터를 보관할 뿐 연산 자체를 수행하지 않는다.




누산기(Accumulator, AC)는 마이크로프로세서에서 산술논리연산(ALU)의 결과를 일시적으로 저장하는 레지스터로, 가장 중요한 범용 레지스터다. 산술연산, 논리연산, 이동연산 등 대부분의 연산 결과가 누산기에 저장되며, 이를 메모리나 다른 레지스터로 옮기거나 다음 연산의 입력값으로 사용한다.
- 명령의 해독: 명령 해독기(Instruction Decoder)의 기능이다.
- 명령의 저장: 명령 레지스터(IR)의 기능이다.
- 다음 명령의 주소 저장: 프로그램 카운터(PC)의 기능이다.
구성이 가장 단순하고 번역 과정 없이 실행되어 처리 속도가 가장 빠른 것은 기계어이다.
0과 1의 명령 코드로 이루어져 CPU가 곧바로 해독·실행하지만, 사람이 읽고 쓰기 어렵고 기종마다 명령 형식이 달라 호환성이 없다.
- 베이직은 대화형으로 쓰기 쉬운 고급 언어로 번역 과정이 필요하다.
- 포트란은 과학·공학 계산용 고급 언어로 컴파일한 뒤 실행된다.
- C는 시스템 기술에 적합한 고급 언어이지만 역시 컴파일 과정을 거친다.
가상기억장치는 보조기억장치의 일부를 주기억장치처럼 사용해 주소공간을 실제 용량보다 크게 확대하는 기법이다.
프로그램을 페이지나 세그먼트로 나누어 두고 필요한 부분만 주기억장치로 올려 실행하므로, 주기억장치보다 큰 프로그램도 수행할 수 있다.
- 하드웨어를 직접 늘려 용량을 키우는 것은 기억장치 증설이지 가상기억 기법이 아니다.
- 순차 접근만 가능한 자기테이프는 가상기억의 보조기억장치로 쓰기에 적합하지 않다.
- 보안을 위한 차폐 시스템은 기억장치 관리 기법과 목적이 전혀 다르다.
오퍼랜드가 가리키는 곳을 다시 찾아가지 않고 곧바로 피연산자를 얻는 방식은 직접 주소 지정 방식이다.
명령어의 오퍼랜드부가 연산에 쓸 값을 그대로 지정하므로 별도의 주소 계산이나 추가 참조 없이 한 번에 피연산자를 가져올 수 있어 명령 형식이 단순하고 실행이 빠르다.
- 상대 주소 지정 방식은 프로그램 카운터 값에 오퍼랜드의 변위를 더해 주소를 계산한다.
- 간접 주소 지정 방식은 오퍼랜드가 가리킨 자리에 들어 있는 주소를 다시 찾아가므로 참조가 한 번 더 필요하다.
- 레지스터 방식은 피연산자가 기억장치가 아니라 CPU 내부 레지스터에 놓여 있는 경우이다.
상태 레지스터는 CPU의 현재 상태를 나타내며 각 비트가 플래그(Zero, Carry, Sign, Overflow 등)로 할당되어 연산 결과와 실행 상태를 표시하므로 정확하다. 레지스터의 명칭과 기능을 정확히 대응시켜야 한다.
- 명령 레지스터(PC): 명령 레지스터는 PC(Program Counter)가 아니며, 주소를 기억하는 것은 MAR(기억 레지스터의 주소 부분)이고, PC는 다음에 수행할 명령어의 주기억 번지를 기억한다.
- 기억 레지스터(MAR): 주기억 장치의 주소를 지정하는 것이지 명령어 내용을 기억하는 것은 아니며, 명령어 내용은 명령 레지스터(IR)가 기억한다.
- 번지 레지스터(MBR): 주기억 장치와 CPU 사이에서 자료를 임시 저장하는 버퍼 역할을 하는데, 보기 표현이 부정확하다.

그림에서 명령어의 주소부 300과 별도 상자의 값 500을 더해 800번지를 가리키고 그 번지의 내용 700을 꺼내므로, 기준값에 변위를 더해 유효주소를 만드는 상대주소 형식이다.
유효주소는 으로 계산되며, 명령어의 주소부는 번지 자체가 아니라 기준 레지스터(프로그램 카운터 등)로부터 떨어진 거리(변위)를 나타낸다.
- 직접주소 형식이라면 주소부 300이 그대로 번지가 되어 덧셈 과정 자체가 필요 없다.
- 간접주소 형식은 주소부가 가리킨 곳에 들어 있는 값을 다시 번지로 삼는 방식이고, 직접데이터 형식은 주소부 값이 곧 데이터여서 기억장치를 참조하지 않는다.
0-주소 명령은 모든 피연산자를 스택에서 자동으로 가져오고 결과를 스택에 저장하므로 스택을 반드시 필요로 한다. 스택 구조는 암묵적 피연산자 주소 지정을 통해 작동하는 명령 형식을 필요로 한다.
1·2·3-주소 명령들은 명령어 내에 피연산자 주소가 명시되어 있어 스택 없이도 동작 가능하다. 예를 들어 0-주소 형식에서 덧셈은 "ADD" 하나만으로 스택 상단의 두 값을 더하지만, 1-주소 형식은 "ADD A"처럼 주소를 지정해야 하므로 스택이 필수가 아니다.
주 기억 장치(주메모리)는 CPU가 직접 접근하여 프로그램과 데이터를 임시로 저장하는 고속 메모리다. RAM은 휘발성 메모리로서 CPU와 직접 통신하며 즉시 접근 가능하므로 주 기억 장치에 해당한다. FDD, SSD, HDD는 모두 보조 기억 장치로, 용량은 크지만 접근 속도가 느리고 CPU가 직접 접근할 수 없으며 데이터를 영구 보관한다.
프로그래밍 언어는 컴파일러 방식과 인터프리터 방식으로 구분되는데, 컴파일러 언어는 소스코드를 기계어로 한 번에 번역한 후 실행하고, 인터프리터 언어는 한 줄씩 해석하며 실행한다. 포트란은 컴파일러 언어이고 코볼도 컴파일러 언어인 반면, 베이직은 인터프리터 방식이 주로 사용되었다. 어셈블리 언어와 기계어는 저급언어(기계 중심)이므로 고급언어가 아니다. 따라서 포트란과 코볼만이 인간중심의 고급언어이면서 동시에 컴파일러 언어로 짝지어진다.







