조합논리회로
: 임의의 시간에서의 출력이 이전의 입력에는 관계없이 현재의 입력조합
(0 또는 1)으로부터 직접 결정되는 논리회로. 순서논리회로
는 외부로부터의 입력과 현재 상태에 따라 출력이 결정됨.n개 입력선
)를 그 Code의 각 Bit 조합에 따라 2^n개의 출력
으로 번역하는 회로.2^n개의 입력선
으로 입력된 값을 n개의 출력선
으로 코드화해서 출력하는 회로.2^n의 입력선
중 1개를 선택하여 그 선으로부터 입력되는 값을 1개의 출력선
으로 출력시키는 회로.n개의 선택선(Select Line)
을 이용함.1개의 입력선
으로 들어오는 정보를 2^n개의 출력선 중 1개를 선택하여 출력
하는 회로.n개의 선택선(Select Line)
을 이용함.순서논리회로
: 외부로부터의 입력과 현재 상태에 따라 출력이 결정되는 회로.
기억 기능이 있음.
플립플롭과 논리 게이트로 구성됨.
신호의 타이밍에 따라 동기식과 비동기식으로 나누어짐.
플립플롭, 카운터, 레지스터, RAM, CPU 등.
동기식과 비동기식 동작 : '비동기식 동작'이란 논리회로가 규칙적인 시간에 관계없이 입력 신호가 입력되면 곧바로 동작하는 것을 말하며, '동기식 동작'이란 컴퓨터의 모든 구성 요소들이 서로 타이밍을 맞추어 정보를 주고받기 위하여, 일정한 시간 간격을 두고 클럭 펄스(CP; Clock Pulse)를 발생시켜서, 클럭 펄스에 동기화되어 동작하는 것을 말함. 동기식 동작을 하는 시스템에서는 클럭 펄스가 발생하기 전에 어떤 값이 입력되어도 동작하지 않음.
플립플롭
은 전원이 공급되고 있는 한, 상태의 변화를 위한 외부 신호가 발생할 때까지 현재의 상태를 그대로 유지하는 논리회로.입력하는 값을 그대로 저장
하는 기능을 수행함.4비트
로 구성되며 16진수 1자리를 표현하기에 적합.8개의 비트
가 모여 1Byte를 구성.보수 : 컴퓨터가 기본적으로 수행하는 덧셈 회로를 이용하여 뺄셈을 수행하기 위해 사용함.
r진법에는 r의 보수와 r-1의 보수가 존재함.
보수는 보정해 주는 수, 즉 같은 자릿수에서 가장 큰 값이 되기 위해 필요한 수(R-1의 보수), 혹은 자릿수를 한 자리 늘리기 위해 필요한 수(R의 보수)를 말함.
10진법에는 10의 보수와 9의 보수가 있고, 2진법에는 2의 보수와 1의 보수가 있음.
'1의 보수'는 주어진 각 자리값을 0일 때는 1로, 1일 때는 0으로 변환함.
'2의 보수'는 1의 보수를 구한 뒤 결과값에 1을 더함.
33의 '10의 보수'는?
33의 '9의 보수'는?
6Bit 코드
로 IBM에서 개발하였음.2개의 Zone 비트
와 4개의 Digit 비트
로 표현함.1Bit의 Parity Bit를 추가
하여 7Bit
로 사용함.7Bit 코드
로 미국 표준협회에서 개발하였음.3개의 Zone 비트
와 4개의 Digit 비트
로 표현함.1Bit의 Parity Bit를 추가
하여 8Bit
로 사용함.8Bit 코드
로 IBM에서 개발하였음.4개의 Zone 비트
와 4개의 Digit 비트
로 표현함.1Bit의 Parity Bit를 추가
하여 9Bit
로 사용함.대형 기종의 컴퓨터
에서 사용함.가중치 코드
자기 보수 코드
이며, 비가중치 코드
이웃하는 코드가 한 비트만 다르기
때문에 코드 변환이 용이함.오류를 스스로 검출하여 교정이 가능
한 코드2Bit의 오류를 검출
할 수 있고, 1Bit의 오류를 교정
할 수 있음.가중치 코드(Weight Code)
: BCD(8421), 2421, 84-2-1, Biquinary(5043210), 5111, Ring-Counter(9876543210)
비가중치 코드(Non-Weight Code)
: 3 초과(Excess-3), Gray, Jonson, 2 out of 5, 3 out of 5
가중치 코드란 2진수 각 자리가 고유한 값을 갖는 코드. 이에 반해 비가중치 코드는 각 자리가 고유한 값을 갖지 않는 코드.
자기 보수 코드(Self-Complement Code)
: 3 초과(Excess-3), 2421, 5111, 84-2-1
오류 검출용 코드
: 해밍 코드, 패리티 검사 코드, Biquinary, Ring-Counter, 2 out of 5, 3 out of 5
중앙처리장치(CPU; Central Processing Unit)
는 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치.제어장치
, 연산장치
, 레지스터
그리고 이들을 연결하여 데이터를 전달하는 버스
로 구성되어 있음.제어장치(Control Unit)
는 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치.연산장치(ALU, Arithmetic & Logic Unit)
는 제어장치의 명령에 따라 실제로 연산을 수행하는 장치.레지스터(Register)
는 CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 기억장소.프로그램 카운터, 프로그램 계수기(PC; Program Counter)
: 다음 번에 실행할 명령어의 번지를 기억하는 레지스터. 분기 명령이 실행되는 경우 그 목적지 주소로 갱신됨.명령 레지스터(IR; Instruction Register)
: 현재 실행중인 명령의 내용을 기억하는 레지스터누산기(AC, Accumulator)
: 연산된 결과를 일시적으로 저장하는 레지스터로 연산의 중심임.상태 레지스터(Status Register)
/ PSWR(Program Status Word Register)
/ 플래그 레지스터
: 시스템 내부의 순간순간의 상태가 기록된 정보를 PSW
라고 함. 오버플로, 언더플로, 자리올림, 계산상태(0,-,+), 인터럽트 등의 PSW를 저장하고 있는 레지스터메모리 주소 레지스터(MAR; Memory Address Register)
: 기억장치를 출입하는 데이터의 번지를 기억하는 레지스터메모리 버퍼 레지스터(MBR; Memory Buffer Register)
: 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터베이스 레지스터(Base Register)
: 명령이 시작되는 시작 번지를 기억하고 있는 레지스터인덱스 레지스터(Index Register)
: 주소의 변경, 서브루틴 연결 및 프로그램에서의 반복 연산의 횟수를 세는 레지스터. 사용자가 내용을 변경할 수 있음.데이터 레지스터(Data Register)
: 연산에 사용될 데이터를 기억하는 레지스터시프트 레지스터(Shift Register)
: 저장된 값을 왼쪽 또는 오른쪽으로 1Bit씩 자리를 이동시키는 레지스터. 2배 길이 레지스터라고도 함.메이저 스테이터스 레지스터(Major Status Register)
: CPU의 메이저 상태를 저장하고 있는 레지스터번지 버스(Address Bus)
: CPU가 메모리나 입·출력기기의 번지를 지정할 때 사용하는 단방향 전송선 자료 버스(Data Bus)
: CPU와 메모리 또는 입·출력기기 사이에서 데이터를 전송하는 양방향 전송선제어 버스(Control Bus)
: CPU의 현재 상태나 상태 변경을 메모리 또는 입·출력장치에 알리는 제어신호를 전송하는 데 사용하는 양방향 전송선연산자부(Operation Code)
와 연산의 수행에 필요한 자료의 정보가 표시되는 자료부(Operand)
로 구성됨.OP-Code부
라고 함.가장 일반적
으로 사용되는 명령어 형식.누산기(AC, Accumulator)
를 이용하여 명령어를 처리함.스택 머신(Stack Machine)
이라고도 함.베이스 레지스터
이며, 베이스 레지스터의 값과 명령어에 포함된 변위값을 더해 접근하고자 하는 기억장소의 유효주소를 얻는 것을 재배치
라고 함. 또한 이러한 재배치 기법에 의해 Operand가 있는 기억장소를 지정하는 방법을 Base Register Addressing Mode
라고 함.명령(Instruction) 한 개를 실행하기 위해서는 그 명령이 기억된 위치를 파악하고 그 곳을 찾아가서 명령을 꺼내온 후 무슨 명령인지 번역하고 그 명령을 처리할 장치를 동작시키는 등의 여러 동작 과정을 거치게 된다. 이때의 작은 동작 하나하나를 마이크로 오퍼레이션(Micro Operation)
이라고 함.
마이크로 오퍼레이션은 Instruction을 수행하기 위해 CPU 내의 레지스터와 플래그가 의미 있는 상태 변환을 하도록 하는 동작.
마이크로 오퍼레이션은 레지스터에 저장된 데이터에 의해 이루어지는 동작.
마이크로 오퍼레이션은 한 개의 Clock 펄스 동안 실행되는 기본 동작. 모든 마이크로 오퍼레이션은 CPU의 Clock 펄스에 맞춰 실행됨.
마이크로 오퍼레이션은 컴퓨터의 모든 명령을 구성하고 있는 몇 가지 종류의 기본 동작으로, 컴퓨터 프로그램에 의한 명령의 수행은 마이크로 오퍼레이션의 수행으로 이루어짐.
마이크로 오퍼레이션의 순서를 결정하기 위해 제어장치가 발생하는 신호를 제어신호
라고 함.
마이크로 오퍼레이션은 Instruction 실행 과정에서 한 단계씩 이루어지는 동작으로, 한 개의 Instruction은 여러 개의 마이크로 오퍼레이션이 동작되어 실행됨.
제어 워드
: 레지스터의 선택과 산술 논리 연산장치의 역할을 결정하고, 어떤 마이크로 연산을 할 것인가를 결정하는 비트의 모임을 제어 워드라고 함. 제어 워드는 마이크로 명령어라고도 함.
마이크로 프로그램
: 어떤 명령을 수행할 수 있도록 구성된 일련의 제어 워드가 특수한 기억장치 속에 저장될 때 이를 마이크로 프로그램이라고 함.
Micro Cycle Time
: 한 개의 Micro Operation을 수행하는 데 걸리는 시간.CPU Clock
이라 하며, 한 개의 Micro Operation은 이 CPU Clock의 발생 주기의 간격 시간 내에 실행됨.CPU Cycle Time
또는 CPU Clock Time
이라고도 하며, CPU 속도를 나타내는 척도로 이용함.메이저 스테이트
: 현재 CPU가 무엇을 하고 있는가를 나타내는 상태.Fetch
, Indirect
, Execute
, Interrupt
이렇게 네 개의 상태가 있음.(그림)
제어 데이터
: 제어장치가 제어 신호를 발생하기 위한 자료. 쉽게 말해, 정해진 제어의 흐름에 변화를 줄 수 있는 데이터.구분 | Fetch | Indrect | Execute | Interrupt |
---|---|---|---|---|
State 간 변이용 | 명령어 종류 주소지정방식 | 주소지정방식 | 인터럽트 요청 신청 | 없음 |
제어점 제어용 | 명령어 | 유효주소 | 명령어의 연산자 | Interrupt 체제에 따라 달라짐 |
수행 순서 제어용 | PC | 없음 | PC | Interrupt 체제에 따라 달리짐 |
제어기(제어장치)
: 필요한 마이크로 연산들이 연속적으로 수행할 수 있도록 제어 신호를 보내는 역할을 하는 장치고정배선 제어장치
와 소프트웨어적으로 구현하는 마이크로 프로그래밍 기법
이 있음.(그림)
스풀링(Spooling, Simultaneous Peripheral Operation On-Line)
은 다중 프로그래밍 환경하에서 용량이 크고 신속한 액세스가 가능한 디스크를 이용하여 각 사용자 프로그램이 입출력할 데이터를 직접 I/O 장치로 보내지 않고 디스크에 모았다가 나중에 한꺼번에 입출력함으로써 입출력장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도를 보완하는 기법외부 인터럽트
내부 인터럽트
: 잘못된 명령이나 데이터를 사용할 때 발생하며, 트랩(Trap)이라고도 부른다.소프트웨어 인터럽트
: 프로그램 처리 중 명령의 요청에 의해 발생하는 것(위로 갈수록 높고, 아래로 갈수록 낮음)
전원 이상(Power Fail)
기계 착오(Machine Check)
외부 신호(External)
입·출력(I/O)
명령어 잘못
프로그램(Program Check)
SVC(Supervisor Call)
Access Time
Cycle Time
Bandwidth(대역폭, 전송률)
비휘발성 메모리
Mask ROM
: 제조공장에서 프로그램화하여 생산한 ROM으로, 사용자가 내용을 변경시킬 수 없음.PROM
(Programmable ROM): PROM 프로그램 장치라는 특수 장비를 이용하여 비어 있는 ROM에 사용자가 한 번만 내용을 기입할 수 있으며, 이후엔 읽기만 가능함.EPROM
(Erasable PROM): 자외선을 쏘여서 기입한 내용을 지울 수도 있고, PROM 프로그램 장치로 내용을 기록할 수도 있음. 사용자가 여러 번 반복해서 지우거나 기록할 수 있음.EAROM
(Erasable Alterable ROM): 전기적 특성을 이용하여 기록된 정보의 일부를 바꿀 수 있는 ROMEEPROM
(Electronic EPROM): 전기적인 방법을 이용하여 기록된 내용을 여러 번 수정하거나 새로운 내용을 기록할 수 있는 ROM휘발성 메모리
DRAM
, Dynamic RAM)과 정적 램(SRAM
, Static RAM)으로 구분함.파괴 메모리(DRO Memory)
이므로, 내용을 읽은 후 지워진 내용을 기록하기 위한 재저장(Restoration Time) 시간이 필요함.인터리빙
이란 여러 개의 독립된 모듈로 이루어진 복수 모듈 메모리와 CPU 간의 주소 버스가 한 개로만 구성되어 있으면 같은 시각에 CPU로부터 여러 모듈들로 동시에 주소를 전달할 수 없기 때문에, CPU가 각 모듈로 전송할 주소를 교대로 배치한 후 차례대로 전송하여 여러 모듈을 병행 접근하는 기법임.캐시 메모리
는 CPU의 처리 속도와 주기억장치의 접근 속도 차이를 줄이기 위해 사용하는 고속 Buffer Memory가상주소(논리주소)
: 보조기억장치 상의 주소. 이들 주소의 집합을 주소공간이라고 함.실기억주소(물리적 주소)
: 주기억장치 상의 주소로 물리적 주소라고도 하며, 이들 주소의 집합을 메모리 공간이라고 함.페이징 기법
: OS가 보조기억장치에 있는 프로그램을 동일한 크기
의 블록으로 나누어서 관리하는 기법세그먼트 기법
: 사용자가 보조기억장치에 있는 프로그램을 가변적인 크기
의 블록으로 나누어서 관리하는 기법기억장치의 관리 전략은 보조기억장치에 저장되어 있는 프로그램을 주기억장치에 효율적으로 적재하기 위한 방법
반입(Fetch) 전략
요구반입(Demand Fetch)
: 실행 프로그램이 요구할 때 비로소 적재하는 방법예상반입(Anticipatory Fetch)
: 실행 프로그램에 의해 참조될 것을 예상하여 미리 적재하는 방법배치(Placement) 전략
최초 적합(First Fit)
, 최적 적합(Best Fit)
, 최악 적합(Worst Fit)
이 있음.교체(Replacement) 전략
페이지 부재(Page Fault)
가 발생하면 교체할 페이지를 결정해서 보조기억장치의 이전 위치에 기억시키고 새로운 페이지를 교체한 페이지의 위치에 놓는 곳을 스테이징(Staging)
이라고 함.병렬 처리
는 폰 노이만 컴퓨터 구조의 순차 처리에 반대되는 구조로, I/O 채널 또는 Processor와 같은 다수의 Processor(처리기)에서 동시에 여러 작업(Process)을 처리하는 것스칼라 프로세서
또는 벡터 프로세서
가 이용됨. 일반적으로 파이프라인 기법이란 스칼라 프로세서를 이용하는 기법.시스톨릭 프로세서(Systolic Processor)
: 시스톨릭 처리기는 데이터 흐름과 제어 흐름이 규칙적인 특징을 갖는 시스톨릭 알고리즘을 이용하여 수행하는 처리기