컴퓨터의 명령형태
( 기본 컴퓨터 구조 )
-
기본 컴퓨터의 구조
-
내부 Register
-
Timing과 제어구조 마이크로 동작의 sequence에 의해 정의
-
명령어 집합
-
-
기본 컴퓨터 종류
-
전용 ( Special purpose ) 컴퓨터 시스템
-
범용 ( general purpose ) 컴퓨터 시스템
-
-
명령코드 ( Instruction Code )
->특정 동작을 수행하기 위해 컴퓨터에 지시하는 한 묶음의 bit
-
수행할 연산을 지정해주는 연산코드 필드 ( Operation Code field )
-
메모리 주소나 프로세서 레지스터를 표시하는 주소 필드 ( Address field )
-
주소 필드를 결정하는 방법(직접/간접)을 지정하는 모드필드 ( Mode field )
-
2.1 주소필드 ( Address field )
-
컴퓨터 구조 Register : 수행될 동작
명령코드 : 번지지정 ( 3주소명령어, 무 주소 명령어 )
-
단일 누산기 구조 : AC <- AC +M[x]
-
범용 레지스터 구조 : R1 <- R2 + R3
-
스택 구조 : 데이터 入力 데이터 出力
-
공통버스 시스템
-
레지스터와 레지스터사이 정보전송 Path
-
레지스터와 메모리 사이 (내부신호선 연결)
-
-
레지스터의 종류 (기본컴퓨터의 경우 8개의 레지스터로 구성)
-
PC (Program Counter) : 메모리에 저장된 내용을 순차적으로 읽어내는 기능
-
MAR (Memory Address Register) : AR = Address Register
-
MBR (Memory Buffer Register) : DR = Data Register
-
AC (Accumulator)
-
OPR (Operand R) : IR = Instruction Register
-
INPR (Input Register)
-
OUTR (Output Register)
-
SC (Stack Counter) : TR = Temporary Register
-
2.2 주소 지정 방식
-
연산코드에서 지시한 명령의 대상이 되는 데이터나 그 데이터가 보관되어 있는 메모리 주소 등이 있는데 이와 같이 명령에서 목적하는 데이터가 들어 있는 주소를 가리키는 방식을 말한다.
-
기본 연산 사이클
-
Instruction fetch Cycle (명령어 Decoding 과정 ): 메모리에서 명령을 읽어오는 과정
-
Indirect Cycle : 메모리에서 읽혀진 word가 OPR의 address일 때
-
Execution Cycle : 메모리에서 읽혀진 word가 OPR일 때
-
Interrupt Cycle : 특정 入出力명령을 지정할 때 수행
-
-
지정방식의 종류
-
함축 주소 지정 방식 (Implied 방식)
-
ADD R1 : 누산기를 사용하는 명령 (누산기 내용과 R1레지스터 내용을 더하기)
-
-
즉치 주소 방식 (Immediate 방식)
-
LD R1, 100 : 레지스터 R1에 데이터 100을 로드 하라는 명령
-
-
레지스터 방식 / 레지스터 간접방식
-
직접 주소 지정방식 / 간접 주소 지정방식
-
2.3 스택구조 ( Stack )
-
SC ( Stack Counter )
-
SP ( Stack Point ) : 주소 레지스터
-
LIFO ( Last In First Out )
FIFO ( First In First Out )
예)
-> PUSH ( 데이터 入力 )
-> POP ( 데이터 出力 )
2.4 데이터 전송, 처리, 제어 명령
전송 (Transfer) -> 데이터를 컴퓨터의 한 장소에서 다른 장소로 내용을 변화 시키지 않고 전달하는 명령어
처리 (Manipulation) -> 데이터 조작
-
산술명령
-
논리 및 비트처리 명령
-
시프트 명령어
제어명령 (Control) -> 프로그램 카운터 (PC) 의 값을 바꾸어 프로그램 진행 위치를 변경하는 명령
인터럽트 명령 (Interrupt) -> 비정상적 프로그램의 일종으로 외부 또는 내부적으로 발생한 요구에 의해 현재 진행중인 프로그램을 중지하고 다른 서비스 프로그램을 수행하는 행위 (일종의 서브루틴 과정 )
-
외부 인터럽트
-
내부 인터럽트 Hardware 인터럽트
-
소프트웨어