억장치는 컴퓨터에서 자료를 일시적으로 또는 영구히 보존하는 장치를 말한다. 컴퓨터의 기억장치는 주기억장치와 보조기억장치로 나눌수 있다. 메모리(memory)는 종종 '기억장치' 라는 용어와 혼용되기도 하지만, 대체로 주기억장치를 말하며 특히 램을 가리키는 경우가 많다.

주기억장치

▷ 컴퓨터내에서 명령어와 데이터들을 기억하는 저장장치
▷ 고속 액세스가 가능하나 가격이 높고 저장 용량의 한계
▷ 영구 저장 능력이 없어 프로그램 실행 중 일시적으로 저장
▷ 중앙처리장치와 직접 데이터를 교환
▷ 워드(Word) 단위 접근 (2byte, 4byte, 8byte)

보조기억장치

▷ 중앙처리장치와 직접적인 자료 교환이 불가능해서 주기억장치를 통함
▷ 대량의 자료를 보관하는 장치
▷ 주기억장치에 비해 가격이 저렴하고 용량이 크다
▷ 주기억장치에 비해 전송속도는 느리다
▷ 블록(Block) 단위 접근

캐시(Cache) 메모리

앙처리장치의 속도와 주기억장치의 속도차가 클때 명령어의 수행속도를 중앙처리장치의 속도와 비슷하도록 하기 위하여 사용하는 메모리이다.

연관기억장치

억장치에서 자료를 찾을 때 주소에 의해 접근하지 않고 기억된 내용의 일부를 이용하여 접근할 수 있는 기억장치로 CAM(Content Addressable Memory)라고도 한다. 

복수모듈기억장치

독자적으로 데이터를 저장할 수 있는 기억장치 모듈을 여러개 가진 기억장치

메모리 인터리빙(Memory Interleaving)
여러개의 독립된 모듈로 이루어진 복수 모듈 메모리와 CPU간의 주소 버스가 한개로만 구성되어 있으면 같은 시각에 CPU로부터 여러 모듈들로 동시에 주소를 전달할 수 없기 때문에 CPU가 각 모듈로 전송할 주소를 교대로 배치한 후 차례대로 전송하여 여러 모듈을 병행 접근하는 기법을 말한다.

가상기억장치

억용량이 작은 주기억장치를 마치 큰 용량을 가진것처럼 사용할 수 있도록 하는 운영체제의 메모리 운영기법을 말한다.

전원 단절 시 내용 소멸 여부

휘발성 메모리 (Volatile memory)

발성 메모리는 지속적인 전력 공급을 요구하지 않는 비휘발성 메모리와는 달리 저장된 정보를 유지하기 위해 전기를 요구하는 컴퓨터 메모리를 가리킨다. 동적램(DRAM), 정적램(SRAM)을 포함하여 일반 목적의 랜덤 엑세스 메모리(RAM)의 대부분은 휘발성이다.

비휘발성 메모리 (Nonvolatile memory)

휘발성 메모리는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 컴퓨터 메모리이다. 비휘발성 메모리의 종류에는 롬, 플래시 메모리, 마그네틱 컴퓨터 기억장치(예를 들면, 하드디스크, 디스켓 드라이브, 마그네틱 테이프), 광디스크 드라이브 같은 것들이 있다.

RAM (Random Access Memory)

자유롭게 읽고 쓸수 있는 기억장치

SRAM (Static Random Access Memory)

▷ 전원이 공급된 상태이면 기억된 정보를 계속 유지
▷ 집적도가 낮아서 용량이 적으며 소모 전력이 높다
▷ 주로 캐쉬 메모리에 사용
▷ 비트당 가격이 비쌈

DRAM (Dynamic Random Access Memory)

▷ 전원이 공급된 상태에서 계속해서 재충전(refresh) 해 주어야만 기억된 정보를 유지
▷ 기억 소자가 C_MOS로 구성되어 집적도가 매우 높다. 즉 기억 용량이 매우 큼
▷ SRAM에 비해 접근 속도가 느림
▷ 주로 컴퓨터의 주기억장치로 사용
▷ 비트당 가격이 싸다
DRAM의 리프레시 (Refresh)

지털 정보는 이진수인 '0'과 '1'로 표현되며, '0'과 '1'을 나타내는 한 개의 정보 단위를 비트라고 합니다. DRAM은 이 비트를 집적회로 안의 각기 분리된 캐패시터에 담긴 전하량에 의해 기록하는데 시간이 지남에 따라 캐패시터의 전하가 빠져나가면서 기억된 정보를 잃게 된다. 이를 방지하기 위해 기억장치의 내용을 주기적으로 리프레시(Refresh)시켜야 한다.

ROM (Read Only Memory)

ROM은 공장에서 출하될 때에 이미 프로그램을 내장시켜서 내보내기 때문에 사용자가 프로그램을 구워 넣을 수가 없으며, 대량 생산일 때에 가격이 저렴하다. 전원이 꺼져도 내용이 지워지지 않는 비휘발성 메모리이다. RAM은 OS을 실행하는 용도로 쓰이며, RAM은 컴퓨터가 부팅시 주로 BIOS, 자기진단 프로그그램(POST) 같이 변경 가능성이 적은 시스템 소프트웨어를 기억시키는데 사용된다.

ROM의 종류

Mask ROM

▷ 반도체 공장에서 내용이 기입됨
▷ 대용량 메모리를 내장한 제품 중 프로그램 되어 있는 ROM

PROM

▷ 사용자가 한번만 내용을 기입을 할 수 있으나, 지울 수는 없다.

EPROM

이미 기억된 내용을 자외선을 이용하여 지우고 다시 사용할 수 있는 메모리

EEPROM

▷ 이미 기억된 내용을 전자적인 방법을 이용하여 지우고, 다시 사용할 수 있는 메모리
▷ 전원이 중단되어도 내용이 지워지지 않으며, 전기적으로 삭제하고 다시 쓸수도 있는 기억장치

Flash Memory

래스 메모리에는 셀을 연결한 논리 구조에 따라 여러가지 종류가 있다. 대표적으로 셀을 병렬 구조로 연결한 것이 NOR Flash이고, 셀을 직렬 구조로 연결한 것이 바로 NAND Flash이다. 둘 간의 차이점은 많이 있지만, 가장 큰 차이는 셀을 병렬로 연결했느냐? 아니면 직렬로 연결했느냐는 것이다.

플래시메모리(Flash Memory) 란?

플래시는 사전적으로 "일순간" 또는 "빛난다" 라는 의미로 되어 있다. 플래시 메모리의 플래시는 "일순간"의 의미와 일치한다. 즉 일순간에 데이터를 소거한다. 또는 일순간에 데이터를 읽고 쓴다. 액세스 속도가 빠르다 등의 의미를 포함한다.

전원을 꺼도 데이터를 보존하는 비휘발성 반도체 메모리이다.

플래시 메모리는 기존의 EPROM이 UV(자외선)을 이용하여 부유 게이트로부터 전자들을 이동시키던 방식을 전기적인 방식으로 전환시킨 것으로부터 그 시작의 동기를 볼수 있다.

한번에 한 비이트씩 (블록 또는 페이지)을 일시에 소거하여 보다 빠른 소거동작을 위하여 플래시 메모리가 제안되었다.

래시 메모리가 개발되어진 다른 이유는 컴퓨터 사용장소 범위의 확대이다. 즉 휴대기기의 확대에 동반하여 소형화의 필요성이 높아진 것이다. 소형화를 위해서는 기억매체의 소형화와 기억매체의 소전력화가 포인트이다. 그래서 자기 메모리인 하드디스크 및 플로피 디스크를 필요로 하지 않는 기억매체로서 플래시 메모리가 주목된 것이다.

도체 메모리가 자기메모리를 모두 교체할 수 없었던 이유는자기메모리의 비용이 싸고, 비휘발성 메모리인 점이었다. 종래 EEPROM(전기적 소거 및 프로그램 가능한 읽기 전용 메모리) 즉, 반도체 비휘발성 메모리는 1비트당 2개의 트랜지스터로 이루어져 있고, 1비트당 고유면적이 크기 때문에 비용이 높아 자기메모리를 완전히 교첼할 수 없었다.

래시 메모리는 메모리 셀이 1개의 트랜지스터로 이루어져 셀 면적이 적은 반면 자외선으로 일괄 소거해야 하는 EPROM과 전기적 소거가 가능한 반면 셀이 2개의 트랜지스터로 이루어져 셀 면적이 큰 단점을 지닌 EEPROM의 장점을 조합하여 1개의 트랜지스터로 EPROM의 프로그램 입력방법과 EEPROM의 소거방법을 수행토록 만든 소자이며, 정확한 명칭은 Flash EEPROM이다.

플래시 메모리의 특징
▷ 전원이 없어도 데이터를 보존할 수 있는 비휘발성이다.
▷ 전기적으로 데이터의 변경이 가능하다.
▷ DRAM보다 낮은 bit cost를 실현할 수 있다.
▷ 소거를 블록/섹터 단위로 수행할 수 있다.
▷ 프로그램시 페이지(Page) 혹은 Multiple Bytes단위로 할수 있다.
CMOS 와 BIOS 구분

CMOS

CMOS(Complementary metal-oxide semiconductor, 시모스)는 집적회로의 한 종류로, 마이크로프로세서나 SRAM등의 디지털 회로를 구성하는데 이용된다. '상보성 금속 산화막 반도체' 라는 용어로 통용된다. 달리 말하면 광 다이오드를 사용하여 집적회로를 만들기 위한 기술중 하나이다.

PC의 메인 보드를 보면 수은 건전지 옆에 CMOS 칩(RTC/NVRAM)이 존재한다. CMOS 칩이라고 불리는 이유는 CMOS 방식으로 만들어진 칩이기 때문이다. 수은 건전지는 CMOS 배터리라고 하는데 시스템이 꺼진 경우에도 RTC/NVRAM의 내용을 유지시키기 위해서이다.

RTC(Real-Time Clock)

재의 시간을 유지시키는 컴퓨터 시계이다. RTC는 정확한 시간을 유지해야 하는 모든 전자 기기에 존재한다. RTC는 컴퓨터의 전원이 나가도 수은 건전지의 전원을 통하여 디지털 회로의 카운터를 이용하여 시간을 셀수 있다. 만약 수은 건전지가 방전될 경우에는 시간이 초기화 되는 문제가 발생한다.

NV-RAM(Non-Volatile RAM)

RAM은 전원이 차단되면 저장된 모든 데이터가 사라지는게 특징이다. NV-RAM은 전원이 차단되어도 데이터가 사라지지 않는 비휘발성 RAM입니다. 이게 말장난일수도 있는데, 이게 가능한 이유는 외부에 수은 건전지가 있어서 전원이 차단되어도 데이터를 계속 유지할 수 있기 때문입니다. 

NV-RAM의 또다른 형태는 EEPROM을 이용하는 것입니다. 전원이 차단되기 전에 EEPROM에 데이터를 저장하고, 전원이 인가되면 EEPROM에서 데이터를 읽어서 NV-RAM에 적재하는 방식입니다. NV-RAM의 용도는 컴퓨터 부팅에 필요한 BIOS 정보를 가지고 있습니다. 

BIOS(Basic Input Output System)

웨어(Firmware)의 한 종류로서 IBM 호환 컴퓨터의 경우에 전원이 공급되면 시작되는 부팅 절차에서 하드웨어 초기화를 수행하고, 운영체제나 응용 프로그램에게 런타임 서비스를 제공한다. BIOS 펌웨어는 ROM에 저장되어 있어서 전원이 인가되면 실행이 시작되는 최초의 프로그램이다. 

BIOS는 하드웨어 부품을 초기화하고 검사하는 역할, 부트로더 또는 대용량 장치에 저장된 운영체제를 RAM으로 읽어오는 기능을 수행한다.    

리가 혼동하지 말아야 하는 사항은 BIOS와 CMOS(RTC/NV-RAM)의 차이점이다. BIOS는 ROM에 저장되어 있는 펌웨어 즉 실행되는 프로그램을 말하며, 컴퓨터에 전원이 인가되면 실행되는 최초의 프로그램을 말한다. 이에 반해 CMOS는 BIOS가 실행하는데 필요한 데이터를 저장하고 있는 NV-RAM을 말하는 것이다. 우리가 흔히 말하는 'CMOS 설정화면' 또는 'BIOS 설정' 을 말할때 CMOS와 BIOS에 대한 차이점을 연상할수 있는 내공을 키워야 할 것이다.


'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

06. 명령 실행과 제어  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02





제1절 명령 실행과 제어
제1항 마이크로 오퍼레이션
(1) 마이크로 오퍼레이션과 제어장치의 관계
1) 제어장치는 CPU의 마이크로 오퍼레이션을 순차적으로 수행하는데 필요한 신호를 생성하는 장치이다즉 제어장치는 레지스터 상호간에 데이터를 전송한다거나 ALU에서 임의의 지정된 연산을 수행시킨다거나 혹은 기억장치와 입출력 장치와의 데이터 전송에 필요한 제어신호를 발생시킨다제어장치의 기능은 다음과 같다.
① 명령어의 해독
② 명령어 실행에 필요한 제어 신호의 발생
 

 
(2) 마이크로 명령어
1) 프로그램은 일련의 명령어의 집합으로 구성된다.
2) 하나의 명령어는 Fetch, Indirect, Execute, Interrupt cycle 등의 부-사이클로 구성된다
3) 명령어의 각 부사이클은 마이크로 오퍼레이션의 동작을 제어하는 마이크로 명령어(micro instruction)로 이루어져 있다.

 
(3) 마이크로 오퍼레이션 (micro operation: 마이크로 동작)
1) 마이크로 오퍼레이션이란 레지스터 혹은 메모리에 저장된 정보에 작용되는 기본 동작이다. CPU의 각 명령어를 실행하기 위해서는 일련의 마이크로 오퍼레이션이 필요하며각 마이크로 오퍼레이션은 한 클럭펄스 동안 수행된다
2) 마이크로 오퍼레이션의 종류
① 전송 마이크로 오퍼레이션
• 레지스터 전송 : R2  R1

• 메모리 전송 : MDR  M[MAR] or M[MAR]  MDR

 
② 산술 마이크로 오퍼레이션
• R0 ← R1 + R2
 
③ 논리 마이크로 오퍼레이션
• R0 ← R1 ^ R2
 
④ 시프트 마이크로 오퍼레이션
• R0  shl R1 or R0 ← shr R1
 

마이크로로 오퍼레이션에 대한 설명 중 옳지 않은 것은?
 
.마이크로로 오퍼레이션은 CPU 내의 레지스터들과 연산 장치에 의해서 이루어진다.
프로그램에 의한 명령의 수행은 마이크로 오퍼레이션의 수행으로 이루어진다.
마이크로 오퍼레이션 중에 CPU 내부의 연산 레지스터인덱스 레지스터는 프로그램으로 레지스터의 내용을 변경할 수 없다.
마이크로로 오퍼레이션은 실행될 때마다 CPU 내부의 상태는 변하게 된다.

다음음 중 마이크로 오퍼레이션은 어디에 기준을 두고서 실행되나?
 
Flag
Clock
Memory
RAM

중앙연산 처리장치에서 micro-operation이 순서적으로 일어나게 하려면 무엇이 필요한가?
 
스위치 (switch)
레지스터 (register)
누산기 (accumulator)
제어신호 (control signal)

명령을 수행하기 위해 CPU내의 레지스터와 플래그의 상태 변환을 일으키는 작업을 무엇이라 하는가?
 
fetch
program operation
micro operation
count operation

 
제2항 명령어 사이클

(1) CPU에서 한 개의 명령어를 실행하는데 필요한 처리과정을 명령어 사이클 (instruction cycle)이라고 한다명령어 사이클은 다음 4단계의 부사이클로 이루어진다.
1) 페치 사이클
2) 간접 사이클
3) 실행 사이클
4) 인터럽트 사이클
(2) 명령어 사이클을 상기 4단계의 부사이클로 구분할 때는 이들 상태를 나타내기 위해 일반적으로 F와 플립플롭의 두 비트를 사용한다.

F
R
부 사이클
0
0
Fetch cycle
0
1
Indirect cycle
1
0
Execute cycle
1
1
Interrupt cycle

 
(3) Micro cycle time : 한 개의 Micro operation을 수행에 필요한 시간
 
제3항 Micro cycle time 부여방식
(1) 동기 고정식 (Synchronous fixed)
1) 모든 Micro operation의 동작시간이 같다고 가정하여 CPU clock의 주기를 Micro cycle time과 같도록 정의한 방식이다.
2) 모든 Micro operation 중에서 동작시간이 가장 긴 Micro operation의 동작시간을 Micro cycle time으로 정한다.
3) 동기고정식은 모든 Micro operation의 동작시간이 비슷할 때 유리한 방식이다.
4) 장점제어기의 구현이 단순하다.
5) 단점: CPU의 시간 낭비가 심하다.
 
(2) 동기 가변식 (Synchronous variable)
1) 수행시간이 유사한 Micro operation끼리 그룹을 만들어각 그룹별로 서로 다른 Micro cycle time을 정의하는 방식이다.
2) Micro operation 수행시간이 현저한 차이를 나타낼 때 사용한다.
3) 동기 고정식에 비해 CPU 시간 낭비를 줄일 수 있지만제어기 구현이 복잡하다.
 
(3) 비동기식 (Asynchronous)
1) 모든 Micro operation에 대하여 서로 다른 Micro cycle time을 정의하는 방식이다.
2) CPU 시간 낭비가 없으니제어기 구현이 매우 복잡하기 때문에 거의 사용되지 않는다.
 

다음 마이크로 사이클에 대한 내용 중 가장 관계가 적은 것은?
 
마이크로 오퍼레이션 수행에 필요한 시간을 마이크로 사이클 타임이라 한다.
마이크로 오퍼레이션 중에서 수행 시간이 가장 긴 것을 정의한 방식이 동기 고정식이다.
마이크로 오퍼레이션에 따라서 수행시간을 다르게 하는 것을 동기 가변식이라 한다.
마이크로 오퍼레이션 중에서 수행시간의 차이가 큰 것을 약 30개로 구분해서 사용한다.

동기 가변식(Synchronous variable) 동작에 대한 설명 중 옳지 않은 것은?
 
각각 마이크로 오퍼레이션의 사이클 타임이 현저한 차이가 나타날 때 사용한다.
모든 마이크로 오퍼레이션의 수행 시간이 유사한 경우에 사용된다.
중앙처리장치의 시간을 효율적으로 이용할 수 있다.
마이크로 오퍼레이션에 대하여 서로 다른 사이클을 정의할 수 있다.
F
R
부 사이클
0
0
Fetch cycle
0
1
Indirect cycle
1
0
Execute cycle
1
1
Interrupt cycle

 
 
(1) 인출 단계 (Fetch Cycle)

 

T1
MAR ← PC
PC에 있는 번지를 MAR에 전송
T2
MBR  M[MAR], PC  PC+1
ü  메모리에서 MAR이 지정하는 위치의 값을 MBR로 전송
ü  다음에 실행할 명령의 위치를 지정하기 위해 PC의 값을 증가시킴
T3
IR  MBR[OP], I ← MBR[I]
ü  명령어의 OPERATION 부분을 명령 레지스터에 전송
ü  명령어의 모드 비트를 플립플롭 I에 전송
T4
 1 or R  1
ü  F(0), R(1)  indirect or F(1), R(0)  execute

 
1) 주기억장치의 지정 장소로부터 명령을 읽어서 중앙처리장치에 가지고 오는 단계
2) 명령의 오퍼레이션(Operation)부를 명령 레지스터(Instruction Register)에 세트시켜 해독시킴
 
(2) 간접 단계 (Indirect Cycle)
1) 인스트럭션의 수행 시 유효 주소를 구하기 위한 상태를 말한다.
2) Fetch 단계에서 해석된 명령의 주소부가 간접주소인 경우 수행된다.
 

T1
MAR  MBR[AD]
MBR에 명령어의 번지부분을 MAR에 전송
T2
MBR ← M[MAR]
MAR이 지정하는 위치의 값을 MBR로 전송
T3
No Operation
동작 없음.
T4
 1 or R ← 0
F(1), R(0)  execute

 
 
(3) 실행 단계 (Execute Cycle)
* ADD, AND 명령어

T1
MAR  MBR[AD]
MBR에 번지부분을 MAR에 전송
T2
MBR ← M[MAR]
MAR이 지정하는 위치의 값을 MBR로 전송
T3
AC  AC + MBR (ADD 명령)
AC  AC AND MBR (AND 명령)
 
T4
← 0 or R ← 1
F(1), R(1)  interrupt or F(0), R(0)  fetch

 
* LDA (Load accumulator) 명령

T1
MAR  MBR[AD]
MBR에 번지부분을 MAR에 전송
T2
MBR ← M[MAR], AC  0
피연산자를 읽음누산기를 클리어 함
T3
AC  AC + MBR 
누산기와 덧셈 연산함
T4
← 0 or R ← 1
F(1), R(1)  interrupt or F(0), R(0)  fetch

 
* STA (Store accumulator) 명령

T1
MAR  MBR[AD]
MBR에 번지부분을 MAR에 전송
T2
MBR ← AC
피연산자를 읽음누산기를 클리어 함
T3
M[MAR]  MBR 
누산기와 덧셈 연산함
T4
← 0 or R ← 1
F(1), R(1)  interrupt or F(0), R(0)  fetch

 
1) 실제로 명령을 실행하는 단계
2) Execute 단계에서는 Interrupt 요청 신호를 나타내는 플래그 레지스터의 상태변화를 검사하여 Interrupt 상태로 진입할지 아니면 Fetch 단계로 진입할지를 판단한다.
 
(4) 인터럽트 단계 (Interrupt Cycle)
1) 인터럽트는 프로그램 실행 중에 돌발적인 사태에 의해 수행중인 정상적인 처리를 중단하고 요구된 인터럽트를 위한 서비스 프로그램을 수행한다.
2) 복귀 주소를 저장하고제어 순서를 인터럽트 처리 프로그램의 첫 명령으로 옮기는 단계이다.
3) 인터럽트 단계를 마친 후에는 Fetch로 진입한다.

T1
MBR[AD] ← PC, PC  0
ü  PC가 가지고 있는 주소를 MBR의 주소 부분으로 전송
ü  복귀 주소를 저장할 0번지를 PC에 전송
T2
MAR  PC, PC  PC+1
ü  PC가 가지고 있는 값 0번지를 MAR로 전송
ü  인터럽트 처리 루틴으로 이동할 수 있는 인터럽트 벡터의 위치를 지정하기 위해 PC의 값을 증가시킴
T3
M[MAR]  MBR, IEN  0
ü  MBR에 있는 주소를 메모리의 MAR이 가르키는 위치에 저장
ü  인터럽트 단계가 끝날 때까지 다른 인터럽트가 방생하지 않게 IEN에 0을 전송
T4
← 0, R ← 0
ü  F플립플롭에 0을 전송 또는 R플립플롭에 0을 전송
ü  F에 0을 전송하면 F=0, R=0이 되어 Fetch cycle로 천이

 


 

CPU의 명령어 사이클 (instruction cycle) 4단계에 해당되지 않는 것은?
 
Fetch cycle
Control cycle
Indirect cycle
Interrupt cycle

CPU가 인스트럭션을 수행하는 순서는?
 
1. 인터럽트 조사 2. 인스트럭션 디코딩 3. 인스트럭션 fetch 4. Operand fetch 5. execution
 
3-1-2-4-5
3-2-4-5-1
2-3-4-5-1
4-3-2-5-1

명령(instruction)이 실행되기 위해 가장 우선적으로 처리되어야 하는 마이크로 오퍼레이션은?
 
PC  MAR
PC  MBR
PC  CPU
PC  M

기억장치에서 instruction을 읽어서 CPU로 가져오는 상태를 무엇이라 하는가?
 
interrupt 상태
indirect 상태
execute 상태
fetch 상태

다음의 마이크로 오퍼레이션 (micro-operation)은 무엇을 수행하는 것인가?
 
MAR  MBR(AD)
MBR  M, ACC  0
ACC  ACC + MBR
 
store ACC
load to ACC
AND to ACC
ADD to ACC

다음과 같은 마이크로 오퍼레이션이 일어나는 상태는?
 
MBR(AD)  PC, PC  0
MAR ← PC, PC ← PC+1
 MBR, IEN  0
 0, R  0
 
fetch
indirect
interrupt
execute

Interrupt cycle에 대한 micro-operation 중에서 관계가 없는 것은?
(, MAR: Memory Address Register, PC: Program Counter, M: Memory, MBR: Memory Buffer Register, IEN: Interrupt Enable 이며, Interrupt Handler 0번지에 저장되어 있다.)
 
MAR  PC, PC  PC +1
MBR  MAR, PC  0
 MBR, IEN  0
GO TO fetch cycle
 

 


'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

07. 기억장치  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02





제1항 명령어(Instruction)

(1) 컴퓨터의 명령어

1) 컴퓨터에 대한 일련의 연산을 기술한 2진 코드를 말한다.

2) 컴퓨터에게 특수한 동작(명령어)을 수행할 것을 알리는 비트들의 집합이고연산코드부분과 주소부분(피연산자)으로 나뉘어지고 메모리에 저장된다.


명령레지스터에 호출된 OP 코드를 해독하여 그 명령을 수행시키는데 필요한 각종 제어신호를 만들어 내는 장치는

 

instruction decoder

instruction encoder

instruction counter

instruction multiplexor

 

(.)

 

① op(operation) code

• 연산코드 부분은 동작(Operation)을 정의한 비트들의 집합으로 n비트로 구성되며 최대 2n 개의 서로 다른 연산이 실행 가능하다.

 

• 연산기능

                             i.         산술연산 (ADD, SUB, MUL, DIV, SHIFT, etc…)

                            ii.         논리연산 (NOT, Complement, Shift, Rotate, etc…)

                           iii.         단항연산자(Unary Operator)

1.      피연산자가 1개만 필요한 연산자

2.      NOT, Complement, Shift, Rotate, MOVE 

                           iv.         이항연산자(Binary Operator)

1.      피연산자가 2개 필요한 연산자

2.      사칙연산, AND, OR, XOR, XNOR 

                            v.         AND (Masking Operation) : 특정 비트를 삭제 시키는 연산

                           vi.         OR (Selective-Set) : 특정 비트를 삽입하거나 1로 세트 시키는 연산

                          vii.         XOR(Compare) : 두개의 데이터를 비교하거나특정 비트를 반전시킬 때 사용

                         viii.         NOT(Complement) : 각 비트의 값을 반전시키는 연산보수를 구할 때 사용

 

 

                           ix.         논리 shift: 왼쪽 또는 오른쪽으로 1bit씩 이동하는 연산직렬 전송에 사용

                            x.         Rotate : shift에서 밀려 나가는 비트값을 반대편으로 입력하는 연산문자의 위치를 변환할 때 사용

                           xi.         산술 shift: 부로흘 고려하여 자리를 이동시키는 연산곱하거나 나눌 때 사용

 

• 전달기능

                             i.         Load: 기억장치의 내용을 중앙처리장치에 전달하는 명령어

                            ii.         Store: 중앙처리장치의 정보를 기억장치에 기억시키는 명령어

                           iii.         Move: 특정 레지스터의 내용을 다른 레지스터로 옮기는 명령어

                           iv.         Push, pop: 스택에 자료를 저장인출하는 명령어

  

연산자 기능에 대한 명령어를 나타낸 것 중 옳지 않은 것은?

 

함수 연산 기능 – ROL, ROR

전달기능 – CMP, CLC

제어기능 – JMP, SMA

입출력기능 – INP, OUT

 

전달기능에는 load, store, move, push, pop 등이 있다. (.)

 

• 제어기능

                             i.         무조건 분기 명령 (GOTO, JUMP, etc…)

                            ii.         조건 분기 명령 (IF, SPA, SNA, SZA, etc…)

                           iii.         Call, Return

 


컴퓨터에서 사용하는 명령어를 기능별로 분류할 때 동일한 분류에 포함되지 않는 것은?

 

JMP (jump 명령)

ADD (Addition 명령)

ROL (Rotate Left 명령)

CLC (Clear Carry 명령)

 

ADD, ROL, CLC는 연산기능, JMP는 제어기능에 속한다. (.)

 

• 입∙출력 기능

                             i.         CPU와 I/O 장치또는 메모리와 I/O장치 사이에서 자료를 전달하는 기능

                            ii.         INPUT(입출력 → 주기억), OUTPUT(주기억 → 입출력)

 

② operand

• 피연산자(operand)는 처리할 데이터가 저장되어 있는 레지스터나 메모리 워드주소또한 연산결과가 저장될 장소의 주소를 나타낸다.

 

3) 4096 * 16 메모리

① 주소지정방식

• 묵시적 주소지정방식 (Implied mode)

                             i.         명령어의 형식 상 이미 Operand가 묵시적으로 정해지는 주소 지정 방식

                            ii.         0-주소 명령의 경우 Operand 없이 Stack을 사용한다.

                           iii.         1-주소 명령의 경우 누산기임을 알수 있다.

 

• 즉시 주소지정방식 (Immediate mode)

                             i.         명령어 자체에 실제 데이터를 가지고 있는 방식이다.

                            ii.         별도의 기억장소를 액세스하지 않고 CPU에서 곧바로 자료를 이용할 수 있어서 실행 속도가 빠르다는 장점이 있다.

                           iii.         명령어의 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적이다.

 

명령어의 operand 부분에 실제 데이터를 갖고 있는 방식은?

 

즉시(Immediate) 주소 지정방식

베이스(base) 주소 지정방식

상대(relative) 주소 지정방식

직접(direct) 주소 지정방식

 

(.)

 

• 직접주소지정방식(dicrect mode)

                             i.         명령의 주소부(operand)가 사용할 자료의 번지를 표현하는 방식이다.

 

• 간접주소지정방식(indirect mode)

                             i.         명령어 내의 operand부에 실제 데이터의 주소가 아니고실제 데이터의 주소가 저장된 곳의 주소를 표현하므로최소한 주기억장치를 두번 이상 접근하여 데이터가 있는 기억장소에 도달한다.

 

                            ii.         명령어에 나타낼 주소가 명령어 내에서 데이터를 지정하기 위해 할당된 비트(operand 부의 비트수로 나타낼 수 없을 때 사용하는 방식이다.

                           iii.         명령의 길이가 짧고 제한되어 있어도 긴 주소에 접근 가능한 방식이다.

                           iv.         간접 주소지정방식을 사용하는 컴퓨터에서의 명령어 형식

I=0이면 직접 주소지정방식이고, I=1이면 간접 주소지정 방식이 된다.



CPU내의 레지스터들과 주기억장치에 다음과 같이 저장되어 있다간접주소지정방식을 사용하는 명령어의 주소 필드에 저장된 내용이 172일 때유효주소와 그로 인해 인출되는 데이터는?

 

유효주소 : 172, 데이터 : 202

유효주소 : 172, 데이터 : 3256

유효주소 : 202, 데이터 : 3256

유효주소 : 202, 데이터 : 172

 

(.)


간접주소(indirect addressing) 방식을 설명한 것은?

 

명령문 내의 번지는 실제 데이터의 주소를 표시한다.

명령문 내의 번지는 절대 주소이므로 더 이상의 연산이 필요하지 않다.

명령문 내의 번지는 상대주소이므로 기본 번지를 더하여 절대 주소가 생성된다.

명령문 내의 번지는 실제 데이터의 위치를 찾을 수 있는 번지가 들어 있는 장소를 표시한다.

 

직접주소지정방식즉시주소지정방식 다상재주소지정방식 (.)

 

• 계산에 의한 주소지정방식

                             i.         상대 주소 지정 방식

기본주소에 상대적으로 표시되는 주소 지정 방식

 

                            ii.         베이스 레지스터

 

                           iii.         인덱스 레지스터

 

② Op-code, operand size 구하기

• 하나의 워드의 크기가 16bit이고 워드가 4096개가 모여있다면

• 주소선은 4096 (212 (210 * 22)) 을 필요하기 때문에 12개의 주소선이 필요하다.

• 명령어 코드는 16-12 = 4개의 선이 필요하며명령어의 개수는 24 = 최대 16개이다.

 

 

명령어의 길이가 16bit이다이중 OP code 6bit, operand 10bit를 차지한다면 이 명령어가 가질 수 있는 연산자 종류는 최대 몇개인가?

 

16

32

64

256

 

(.)


명령어 형식(instruction format) opcode, addressing mode, address 3부분으로 되어 있는 컴퓨터에서 주기억장치가 1024 워드일 경우명령의 크기는 몇비트로 구성되어야 하는가? (, op-code 4비트이며, addressing mode는 직접/간접 주소지정방식 구분에만 사용한다라고 가정한다.)

 

10

15

20

25

 

(.)

 


16-bit 컴퓨터 시스템에서 다음과 같은 2가지의 명령어 형식을 사용할 때 최대 연산자 수는?

 

64

72

86

144

 

(23 = 8) + (26= 64) = 72  (.)

 

(2) 주소(Operand) 형식

 

1) 0-주소

① 오퍼랜드용 주소를 두지 않음

② 스택에 있는 데이터를 사용한다.

③ ADD

 

 

기억장치의 구조가 stack 구조를 가질 때 가장 밀접한 관계가 있는 명령어는?

 

one-address 명령어

two-address 명령어

three-address 명령어

zero-address 명령어

 

(.)

 

2) 1-주소

① AC (Accumulator)를 묵시적으로 이용하여 연산을 수행한다.

② ADD a             ; AC  a + AC

③ LOAD X          ; AC  M[X]

 


주소 부분이 하나밖에 없는 1주소 명령 형식에서 결과 자료를 넣어 두는데 사용하는 레지스터는?

 

accumulator

stack

index register

범용 레지스터

 

(.)

 

3) 2-주소

① 명령어에 2개의 오퍼랜드 주소가 포함

② ADD a, b

 a + b

③ 장점

• 실행속도가 빠르고 기억장소를 많이 차지하지 않는다.

④ 단점

• 연산의 결과는 주소 Operand1에 저장되므로 Operand1에 있던 원래 자료가 파괴된다.

 

4) 3-주소 방식

⑤ 명령어에 3개의 오퍼랜드 주소가 포함

⑥ Add a, b, c

 a + b

⑦ 장점

• 원래의 자료를 파괴하지 않는다.

• 프로그램 전체의 길이를 짧게 할 수 있다.

• 주기억장치에 접근하는 횟수가 줄어든다.

⑧ 단점

• 한 개의 명령어 길이가 길어진다.

'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

07. 기억장치  (0) 2017.08.02
06. 명령 실행과 제어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02






제1절 프로세서

 

제1항 중앙처리장치 구성요소

실행 파일이 중앙처리장치에서 실행되려면 주 메모리에 탑재되는 과정이 필요하다.

  

(1) 중앙처리장치(CPU, Central Processing Unit)

1) 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치

2) 제어장치연산장치레지스터로 구성

 

 

(2) 연산장치(ALU, Arithmetic and Logic Unit)

1) 산술연산논리연산등의 연산기능을 수행한다.

2) 상태 플래그 : ALU내의 상태를 표시한다.

3) 이동기 데이터를 좌우로 이동한다.

4) 보수기 보수 연산

5) 산술 및 부울 로직 산술 연산과 논리 연산을 담당한다.

 

(3) 제어장치(Control Unit)

1) 프로그램에 의해 주어진 연산의 순서대로 실행하기 위해 기억연산입출력장치에 제어신호를 발생한다.

2) 제어장치의 동작

① 1단계명령어를 해독 제어장치내의 명령어 레지스터에 저장

② 2단계명령어 레지스터에 저장된 명령어를 실행 (명령어 실행단계)

3) 명령레지스터명령해독기타이밍 및 제어신호을 발생한다.

 

주기억장치에에 기억된 명령을 꺼내서 해독하고시스템 전체에 지시 신호를 내리는 것은?

 

채널(channel)

제어기구(control unit)

연산논리장치(ALU)

입출력 장치(I/O unit)

 

(.)


다음 설명 중 옳지 않은 것은?

 

PC는 다음에 실행할 번지를 갖고 있는 레지스터이다.

제어신호는 마이크로 동작이 순서적으로 일어나게 한다.

fetch 사이클은 cpu가 메모리에서 명령을 가져오는 사이클이다.

CPU의 제어 장치는 명령 레지스터와 신호 발생장치만으로 구성되어 있다.

 

명령레지스터명령해독기타이밍 및 제어신호을 발생한다.  (.)

 

(4) 레지스터(Registers)

1) 프로세서 내부에서 메모리 기능을 수행한다.

2) 레지스터는 컴퓨터 기억장치들 중 액세스 속도가 가장 빠르다.

3) 범용 레지스터시스템 레지스터상태 레지스터 등으로 구성

 

4) 특수 레지스터와 범용 레지스터 종류.

① 범용 레지스터

• CPU 연산을 빠르게 처리하기 위해 ALU와 직접 연결

• 연산 대상이 되는 오퍼랜드 값을 가진다.

② 특수 레지스터

• 명령어를 실행할 때 필요한 범용 데이터가 아닌 특수한 데이터를 처리하기 위한 레지스터

• 프로그램 카운터(PC), 명령어 레지스터(IR), 상태 레지스터(SR), 메모리 주소 레지스터(MAR), 메모리 버퍼 레지스터(MBR) 

③ 프로그램 카운터 (PC, Program Counter)

• 인출할 명령어가 있는 메모리의 주소를 갖는 특수 레지스터

• 프로그램 메모리에서 한 개의 명령어 인출이 끝나면그 명령어의 크기가 더해진 값으로 자동 변경되어 다음 명령어 인출을 위한 주소를 가진다.


다음에 실행할 명령의 번지를 갖고 있는 레지스터는?

 

MBR

MAR

IR

PC

 

(.)

 

④ 명령어 레지스터 (IR, Instruction Register)

• 프로그램 메모리에서 인출된 명령어를 기억하고 있는 특수 레지스터

• 인출된 명령어에는 연산동작(opcode), 연산대상(operand), 연산결과(result) 어드레싱 모드 등의 정보를 설정한다.

⑤ 상태 레지스터 (PSW, Program Status Word)

• 시스템 내부의 순간 상태가 기록된 정보를 PSW라고 한다.

• 명령어를 실행한 후의 연산 결과 정보를 기록한다.

• 기록된 상태 레지스터의 각 비트는 연속되는 다음 명령어 실행에 영향을 미침


컴퓨터 시스템 내부에서 순간 순간의 시스템 상태를 기록하고 있는 특별한 레지스터를 무엇이라고 하는가?

 

interrup

machine check

psw(program status word)

svc 명령

 

(.)

 

⑥ 메모리 주소 레지스터 (MAR, Memory Address Register)

• 기억장치를 출입하는 데이터의 번지를 기억하는 레지스터

⑦ 메모리 버퍼 레지스터 (MBR, Memory Buffer Register)

• 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터

⑧ 누산기 (AC, Accumulator)

• 데이터 인출 또는 기록 과정에서 데이터나 주소를 임시로 저장하기 위한 특수 레지스터

 

누산기(AC)에 대한 설명으로 올바른 것은?

 

연산장치에에 있는 레지스터의 하나로서 연산 결과를 기억하는 장치이다.

기억장치 주변에 있는 회로인데가감승제 계산 논리연산을 행하는 장치이다.

일정한 입력 숫자들을 더하여 그 누계를 항상 보존하는 장치이다.

정밀 계산을 위해 특별히 만들어 두어 유효 숫자 개수를 늘리기 위한 것이다.

 

(.)

 

⑨ 플래그 레지스터

• CPU 내부에서 방금 행한 연산의 결과로 나타나는 상태 (결과가 0인지음수인지양수인지), 캐리 및 오버플로의 발생 여부 등의 상태를 나타내는 레지스터

 

레지스터 가운데 명령어를 수행 할 때마다 결과가 0인지 여부부호(음수인지 양수인지), 캐리 및 오버플로의 발생 여부 등을 각각 1비트로 나타내며 분기를 결정하는 중요한 역할을 하는 레지스터는?

 

카운터 레지스터

플래그 레지스터

인덱스 레지스터

주소 레지스터

 

(: 나.)

 

CPU의 하드웨어 요소들을 기능별로 분류할 때 포함되지 않는 것은?

 

연산기능

제어기능

입출력기능

전달기능

 

(.)


연산자(OP code)의 수행에 필요한 자료를 보관시켜 놓은 장소로서 적당하지 않는것은?

 

. 주기억장치

. 레지스터

. 스택

. 마크네틱 디스크

 

처음엔 자기디스크(마그네틱 디스크)라는 이름으로 불렸다. 이 때문에 플로우차트심벌은 아직도 데이터베이스나 하드디스크의 심벌 명칭이 마그네틱 디스크이다. 나중에 플로피 디스크가 등장하면서 구별을 위해 딱딱한 디스트, 즉 하드 디스크로 이름이 바뀌었다. (: .)


'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

06. 명령 실행과 제어  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02
01. 불대수  (0) 2017.08.02





제1항 순서논리회로

(1) 순서논리회로

1) 출력이 입력에 의해서만 결정되지 않고기존에 들어왔던 입력들의 영향 또한 받는 논리회로를 말한다조합논리와 순차논리회로의 차이점은 조합논리회로는 현재 입력만을 통해서 출력이 결정되지만 순차논리회로는 이전에 입력되었던 값에 의해서도 영향을 받는다.

2) 플립플롭카운터레지스터, RAM, CPU등이 있다.


(2) 플립플롭 (Flip-Flop, FF)

1) 1비트의 정보를 보관 유지할 수 있는 회로이며 순차 회로의 기본요소이다플립플롭은 이전상태를 계속 유지한다.

2) 디지털 시스템 설계에서의 회로를 구성할 때조합논리와 결합하여 순차회로의 기능을 구현한다마이크로프로세서와 같은 디지털 로직을 사용하는 많은 전자회로에 사용된다.

3) 지연된 하나의 출력을 피드백하여 입력에 넣음으로써 정보를 보관 유지하는데 사용하는 특징이 있다.

4) 플립플롭은 구조상 휘발성이다정보는 전원이 있을때만 보관유지되며 전원이 차단되면 정보는 사라진다.

 

1비트를 기억하는 소자 장치인 것은?

 

register

accumulator

flip-flop

delay

 

(.)

 

(3) S-R Flip-Flop

1) 여기서 S(set)는 출력 ‘1’, R(reset)은 출력을 ‘0’으로 설정한다. S와 R입력이 모두 ‘0’이면이전상태가 유지된다.

  

(4) D Flip-Flop

1) 입력선을 하나만 구성한 플립플롭이다.

2) S-R 플립플롭에서 원하지 않은 상태 S(1), R(1)을 제거한 플립플롭이다.

3) 플립플롭이라는 이름은 Data를 전달하는 것과 지연(Delay)하는 역할에서 유래되었다.

 

(5) J-K Flip-Flop

1) J-K플립플롭은 S-R플립플롭에서 S(1), R(1)인 경우 출력이 불안정한 상태가 되는 문제점을 개선하여 S(1), R(1)에서도 동작하도록 개선한 회로이다.

2) J-K 플립플롭의 J는 S(set), K는 R(reset)에 대응된다.

3) J(1), K(1)인 경우 J-K 플립플롭의 출력은 이전 출력의 보수 상태로 변한다.

4) J-K 플립플롭은 플립플롭중에서 가장 많이 사용되는 플립플롭이다.


J-K 플립플롭에서 J(1), K(0)일 때 Q의 출력 상태는?

 

반전

불변

세트

리셋셋

 

(.)

 

(6) T Flip-Flop

1) J-K 플립플롭의 J와 입력을 묶어서 하나의 입력신호 T로 동작시키는 플립플롭이다.

2) J-K 플립플롭의 동작 중에서 입력이 모두 ‘0’이거나 ‘1’인 경우만을 이용하는 플립플롭이다.

3) 플립플롭의 입력 T(0)이면, J(0), K(0)인 J-K 플립플롭과 같이 동작하므로 출력은 변하지 않는다. T(1)이면, J(1), K(1)인 J-K 플립플롭과 같이 동작하므로 출력은 보수가 된다.

 


플립플롭 중 입력 단자가 하나이며 “1”이 입력될 때 마다 출력 단자의 상태가 바뀌는 것은?

 

SC flip-flop

T flip-flop

SCT flip-flop

ST flip-flop

 

(.)


'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

06. 명령 실행과 제어  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02
01. 불대수  (0) 2017.08.02





제1항 조합논리회로

(1) 현재 입력에 따라 출력이 항상 결정되는 논리회로를 말한다현재 입력뿐만 아니라 이전 입력의 영향 또한 함께 받는 순차논리회로와는 구별된다실제 컴퓨터 회로에서는 일반적으로 조합논리회로와 순차논리회로가 함께 쓰인다산술논리 연산장치(ALU)의 경우 수학적인 계산은 조합논리회로로 구성하고처리순서를 조절할때에는 순차논리회로를 이용한다.

(2) 종류

1) 가산기비교기 디코더인코더멀티플렉서디멀티플렉서코드 변환기패리티 발생기/검출기

 

(3) 반가산기 (Half Adder, HA)

1) 1비트의 2개 2진수를 더하는 조합논리회로

2) 2개의 입력과 2개의 출력으로 구성된다.

3) 2개의 입력은 피연산수 x와 연산수 y이며출력은 sum과 carry이다.

 

Half-Adder 2bit(x,y)를 산술적으로 가산하는 조합회로이며이에 해당하는 진리표는 다음과 같다캐리(C) 와 합(S)를 논리적으로 구한 것은?

S=xy, C=xy

xy+xy, C=xy

S=xy, C=xy

S=xy+y, C=xy

 

()

 

그림과 같은 회로는 무엇인가?

반가산기        전가산기        반감산기        전감산기

 

()

 

(4) 전가산기 (Full Adder, FA)

1) 하위비트에서 발생한 올림수를 포함하여 3개의 입력 비트들의 합을 구하는 조합논리회로

2) 3개의 입력과 2개의 출력으로 구성된다.

3) 3개 입력은 피연산수 x와 연산수 y, 그리고 하위 비트에서 발생한 올림수 ci 가 되고출력변수는 출력의 합s(sum)과 올림수 c(carry)를 발생하는 회로이다.


4) 전가산기의 부울 대수식

S = (A ⊕B) ⊕Ci

Ci+1=(A ⊕B)C+AB

 

5) 전가산기의 조합논리회로

 

전가산기기(full adder) carry 비트를 논리식으로 나타낸 것은, x, y, z는 입력, C(carry)는 출력

 

C=xy⊕z

C=xy+x⊕z+y⊕z

C=xy+(xy)z

C=xyz

 

()

 

하나의 전가산기를 구성하는데 필요한 최소의 반 가산기 수는 몇 개인가?

. 5      . 4      . 3      . 2

 

()

 

(5) 디코더 (Decoder)

디코더(decoder)란 n비트의 2진 코드를 입력으로 받아들여 최대 2n개의 서로 다른 정보로 바꿔주는 조합논리회로이다입력값에 따라 선택된 하나의 출력선이 나머지 출력선들과 반대값을 갖는다예를 들어 AB값이 01일 경우에는 D1만이 1이고 나머지 출력선 D0, D2, D3은 모두 0이 되다.

 

디코더

 

              

n비트 입력단자를 통하여 들어온 2진 신호를 최대 2n 개 출력단자 중 하나를 선택하는 회로는

 

인코더

디코더

멀티플렉서

디멀티플렉서

 

()

 

디코더(decoder)의 출력이 4개일 때 입력은 보통 몇 개인가?

. 1      . 2      . 8      . 16

 

()

 

다음 회로는 무엇인가?

. Decoder        . Multiplexer     . Encoder        . Shifter

 

()

 

(6) 인코더 (Encoder)

인코더(encoder)는 디코더의 반대되는 기능(입력과 출력이 바뀐 기능)을 수행하는 회로이다즉 2n개 이하의 입력선과 n개의 출력선을 갖는다.

 


(7) 멀티플렉서(Multiplexer)

여러 개의 데이터 입력을 받아 그 중 하나를 선택하여 출력하는 조합논리회로이며데이터 선택선이라고도 한다.

 

 

(8) 디멀티플렉서(Demultiplexer)

하나의 입력선에 정보를 싣고 2n개의 가능한 출력선 중 하나로 정보를 전송하며 특정 출력의 선택선은 n개의 선택선에 의해 제어된다.

'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

06. 명령 실행과 제어  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
01. 불대수  (0) 2017.08.02





제1절 논리회로

논리회로는 불 대수를 물리적 장치에 구현한 것으로하나 이상의 논리적 입력값에 대해 논리 연산을 수행하여 하나의 논리적 출력값을 얻는 전자회로를 말한다AND, OR, NOT의 기본 불 대수를 수행하며이 기본적인 불 대수들의 결합으로 복합적인 논리 기능을 수행한다.

 

논리회로에 앞서 선행되어야 하는 토픽들

 

제1항 불 대수

(1) 기본적인 논리함수

1) 논리곱(AND)

① 모든 입력이 1인 경우에만 1을 출력한다.

② AND 게이트 기호와 진리표

③ AND 게이트의 대수적 표현

 

2) 논리합(OR)

① 입력 중 최소한 한 개 이상의 입력이 1을 갖는 경우 1을 출력한다.

② OR 게이트 기호와 진리표

③ OR 게이트의 대수적 표현

 

3) 부정(NOT)

① 입력에 대하여 반대로 출력한다.

② NOT 게이트 기호와 진리표

③  NOT 게이트의 대수적 표현

 

4) XOR 게이트

① 두 입력이 서로 반대되는 조건인 경우 1을 출력한다.

② XOR 게이트 기호와 진리표

③  NOT 게이트의 대수적 표현

 

5) NAND 게이트

① AND와 NOT 게이트의 결합형태로 결과는 AND게이트와 반대로 동작한다.

② NAND 게이트 기호와 진리표

③  NAND 게이트의 대수적 표현

 

6) NOR 게이트

① OR와 NOT 게이트의 결합형태로 결과는 OR게이트와 반대로 동작한다.

② NOR 게이트 기호와 진리표

③  NOR 게이트의 대수적 표현

 

7) NXOR 게이트

① XOR와 NOT 게이트의 결합형태로 결과는 XOR게이트와 반대로 동작한다.

② NXOR 게이트 기호와 진리표

③  NXOR 게이트의 대수적 표현

 

 

(2) 불 대수 (Boolean Algebra)

1) 하나의 명제가 참 또는 거짓인가를 판단하는 데 이용되는 수학적인 방법

2) 동일한 성능을 갖는 더 간단한 회로로 만들 수 있다.

3) 부울 대수를 사용하면 변수들의 진리표 관계를 대수식으로 표현하기에 용이하다.

 

(3) 불 대수의 기본 공식

1) 교환법칙

∙ B = B ∙ A

A + B = B + A

 

2) 결합법칙

∙ (B ∙ C) = (A ∙ B) ∙ C

(A + B) + C = A + (B + C)

 

3) 분배법칙

∙ (B + C) = (A ∙ B) +(A ∙ C)

A + (B ∙ C) = (A + B) ∙ (A + C)

 

 

4) 멱등법칙

A + A = A

 A = A

 

5) 보수법칙

A + A’ = 1

∙ A’ = 0

 

6) 항등법칙

A + 0 = A

A + 1 = 1

∙ 0 = 0

∙ 1 = A

 

7) 콘센서스법칙

AB + BC + CA’ = AB + CA

 

8) 드모르강

(A + B)’ = A’ ∙ B

(A ∙ B)’ = A’ + B

 

9) 복원법칙

A’’ = A

 

10) 흡수법칙

A + A  B = A

 A + B = A

 

(4) 불 대수의 간소화

1) 방법

① 불 대수의 기본공식을 이용하여 간소화 한다.

 

2) 예제

① Y = AB + AB’ + AB

∙ (B+B) + AB

A(1) + AB

A + AB

(A+A∙ (A+B)

∙ (A+B)

(A+B)

 

② A + AB = A

 

③ A+AB

(A+A (A+B)

 (A+B)

A+B

 

④ A+AB = A

 

⑤  (A+B) = A

 

⑥  (A+B)

(A ∙ A) + (A  B)

0 + (A  B)

 B

 

⑦ 불 대수가 옳지 않은 것은?

가. A+AB=A                  . AA=A     

. A+A∙ B=A                . A∙ (A+B)=A

. A+AB = (A+A)(A+B) = 1(A+B) = A+B

. AA=A

. A+A∙ B=A (흡수법칙)

. A∙ (A+B)=A (흡수법칙)

 

(5) 카르노 맵 (K-map : Karnaugh Map)

1) 최소항과 최대항

최소항(Minterm)과 최대항(Maxterm)은 논리회로에서 카르노 맵 간략화를 위해 필요하다.

 

① 최소항

•  진리표에서 1의 값을 가지는 변수를 모두 찾아서 곱의합으로 표시할수 있는데  이를 최소항이라고 한다.

•  정사각형은 함수의 최소항들을 나타낸다.

 

② 최대항(Maxterm)

•  최소항은 곱들의 합 형태이고최대항은 합들의 곱 형태이다.

•  최대항은 최소항의 보수라고 볼수 있다.

 

2) 카르노 맵 간소화 규칙

① 함수에서 사용될 최소항들을 표 안에 표시한다.

② 입력변수가 2(a,b), 3(a,b,c), 4(a,b,c,d)인 경우에 사용된다.

③ 2의 거듭제곱으로 묶는다 (1,2,4,8,16)

④ 이웃한 항끼리 묶는다.

⑤ 직사각형이나 정사각형의 형태로 묶는다.

 

3) 2, 3, 4 변수 맵

① 2변수 맵

•  A’B’ + AB 

② 3변수 맵

 

•  A’B’C’ + A’B’C = A’B’(C’+C) = A’B’(1) = A’B’

 

Or 

 

•  AB’C’ + ABC’ = AC’(B’+B) = AC’(1) = AC’

•  A’B’C’ + AB’C’ = B’C’(A’+A) = B’C’(1) = B’C’

 

③ 4변수 맵

 

•  2개 그룹

가.   ABC’D + AB’C’D = C’D(AB+AB’) = C’D(A(B+B’)) = C’D(A(1)) = C’DA = AC’D 

나.   A’B’CD+AB’CD=B’CD(A’+A)=B’CD(1) =B’CD 

• 4개 그룹

• 8개 그룹

 

4) 예제

① 논리 함수식 F(A,B,C) = ∑(2,4,5,7)으로 간략화하면

                       A’BC’ + AB’ + AC

 

② 다음과 같이 표시된 카르노(karnaugh)도를 간소한 식은 

A+ C’ 

③ 다음과 같이 표시된 카르노(karnaugh)도를 간소한 식은 

C’

'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

06. 명령 실행과 제어  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02

+ Recent posts