• 검색 결과가 없습니다.

3.2 명령어

N/A
N/A
Protected

Academic year: 2021

Share "3.2 명령어"

Copied!
5
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

PART 2 | 전자계산기 구조

3.2 명령어

(1) 명령어(Instruction)의 구성

연산자(Operation Code)부 자료(Operand)부 0405 1) 연산자부(Op-Code, Operation Code부)

① 실행할 명령이 들어 있음

② 명령어의 연산자 부분이 나타낼 수 있는 것 9910 0203

• 명령어의 형식

• 연산자

• 자료의 종류

③ 연산자부의 비트수가 n Bit → 2n개의 명령어(연산자) 수행 가능 0203 0305 0405 0509 0603 0705 0709 9910 0003 0103 0203 0703 0705

④ 연산자부에는 주소부의 유효 주소가 결정되는 방법을 지정하기 위한 모드 비트를 추가하기도 함(0 : 직접, 1 : 간접)

2) 자료(Operand)부

① 자료부 = 어드레스 필드(Address Field) = 주소부

② 실제 데이터에 대한 정보를 표시하는 부분

③ 어드레스 필드(주소부)의 크기 = 최대 메모리 용량 0308 0503

예) 명령어가 오퍼레이션 코드(OP-Code) 6비트, 어드레스 필드 16비트로 되어 있을 때, 이 명령어를 쓰는 컴퓨터의 최대 메모리 용량은

64K Word (216= 65536 = 64K)

(2) 연산자(Op-Code, Operation Code)의 기능

0010 0106 0109 0203 0205 0303 0305 0405 0409 0503 0505 0509 0609 9906 0010 0106 0109 0305 0409 0605 0709

1) 함수 연산 기능 02050103 0503

① 중앙처리장치에서 데이터를 처리하는 기능

② 산술・논리 연산 명령(ADD, AND, CPA, CPC, CLC, ROR, ROL 등) 2) 자료 전달 기능

① 중앙처리장치와 기억장치 사이에서 정보를 교환하는 기능

② Load 0209 0503 0609

기억장치(메모리)의 내용을 중앙처리장치(레지스터)에 전달하는 명령

③ Store 9904 0403 0405 0509 0603

중앙처리장치(레지스터)의 정보를 기억장치(메모리)에 기억시키는 명령

④ Move 0503

특정 레지스터의 내용을 다른 레지스터로 옮기는 명령

⑤ Push, Pop 0103

스택에 자료를 저장, 인출하는 명령 3) 제어 기능 0005 0103

① 프로그램의 수행 흐름을 제어하는데 사용

② 무조건 분기 명령 : GOTO, JMP(Jump) 0106 0308

③ 조건 분기 명령 : IF, SPA, SNA, SZA

|오|답|쪽|지|

명령어의 연산자 부분이 나타낼 수 있는 것 오답

✗인스트럭션의 순서

|오|답|쪽|지|

연산자의 기능 오답

✗주소 지정 기능

✗증폭 기능

✗추적 기능

✗번지 기능

✗주소 계산 기능

✗기억 기능

(2)

4) 입 ․ 출력 기능

① 중앙처리장치와 입출력장치, 또는 기억장치와 입출력장치 사이에서 자료를 전달하는 기능

② INPUT, OUTPUT

※ 단항연산자와 이항연산자

9906 0403 0503 0505 0709

1) 단항연산자(Unary Operator)

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

② NOT, Complement, Shift, Rotate, MOVE 등 2) 이항연산자(Binary Operator)

① 피연산자가 2개 필요한 연산자

② 사칙연산, AND, OR, XOR, XNOR 등 0005

(3) 명령어 설계 시 고려할 사항

9904 0007

1) 연산자의 종류 2) 주소 지정 방식

3) 해당 컴퓨터 시스템 단어(word)의 크기(비트수)

(4) 명령어 형식

0005 0705

1) Operand부의 개수에 따라, 3 / 2 / 1 / 0주소 명령어 형식이 있음 2) 3-주소 명령어

① Operand부가 3개로 구성 (연산의 결과는 Operand 3에 기록됨) 0109

OP-Code Operand 1 Operand 2 Operand 3 자료1의 주소 자료2의 주소 결과의 주소

② 여러 개의 범용 레지스터를 가진 컴퓨터에 사용됨

③ 장점

• 연산 후에 입력 자료가 변하지 않고 보존됨 0308 0609

• 전체 명령어를 읽어오는 시간 단축

• 프로그램의 길이가 짧아짐 0605

④ 단점

• 명령어 한 개의 길이가 길어짐

• 하나의 명령을 수행하기 위해서 최소한 4번 기억장소에 접근해야 하므로 전체적인 수행시간 길어짐

3) 2-주소 명령어

① Operand부가 2개로 구성 (연산의 결과는 Operand 1에 기록됨) OP-Code Operand 1 Operand 2

자료1의 주소

결과의 주소 자료2의 주소

|오|답|쪽|지|

3-주소 명령어의 장점 오답

✗1개의 명령어만을 사용하여 프로그램을 작성해야 함

✗주소지정을 할 수 있는 기억장치 주소 영역이 증가함

✗임시 저장 장소가 필요함

(3)

PART 2 | 전자계산기 구조

③ 장점

• 3주소 명령에 비해 명령어의 길이가 짧음

• 계산 결과를 시험할 필요가 있을 때 계산 결과가 기억장치에 기억 될 뿐 아니라 중앙처리장치에도 남아 있어서 중앙처리장치 내에서 직접 시험이 가능하므로 시간이 절약 0103 0205

④ 단점

• Operand 1에 있던 원래의 자료가 파괴됨

• 전체 프로그램 길이 증가 4) 1-주소 명령어

① Operand부가 1개로 구성 (연산의 결과는 Operand 1에 기록됨) OP-Code Operand 1

자료1의 주소

② 반드시 누산기(Accumulator)가 필요한 주소지정방식 (하나의 operand가 누산기 속에 포함되고, 연산 결과를 항상 누산기에 저장) 9910 0403 0505 07030303

③ 모든 명령은 누산기에 기억되어 있는 자료를 사용함 0705

④ 1-주소 명령의 예(C = A + B) 0405 0609 LOAD A

ADD B STORE C

5) 0-주소 명령어 0503 0609

① Operand부가 없이 OP-code부만으로 구성 0503 (자료의 주소를 지정할 필요가 없음)

OP-Code

② 모든 연산은 스택(Stack)에 있는 자료를 이용하여 수행 9904 0010 0303 0305 0505 0509 0603 0709 9906 0106 0205 0305 0405

※ 스택(Stack) 0403 0509 0705

• 자료의 삽입(Push)・삭제(Pop)가 한쪽에서 가능한 자료구조

• 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 방식 (LIFO, Last-In First-Out) 0403

• 0주소 명령어 형식에서 뿐만 아니라 부프로그램(서브루틴) 호출시 복귀 주소 저장, 인터럽트 발생 시 복귀 주소 저장, 재귀(Recursive)프로그램의 순서 제어, 역 polish형 산술식의 처리 등에 쓰임 9908 0003 0005 0007

※ 재귀(Recursion)프로그램 0205 0403 0705

한 루틴(Routine)이 자기를 다시 불러 실행하는 프로그램

③ 자료를 얻기 위하여 스택에 접근할 때는 top이 지정하는 곳에 접근

④ binary 연산인 경우 2개 자료가 필요하고, 스택 상단부 2자리에 지정함

⑤ 주소의 사용 없이 스택에 연산자와 피연산자를 넣었다 꺼내어 연산한 후 결과를 다시 스택에 넣으면서 연산하기 때문에 원래의 자료가 남지 않음 0106 0010 0209

|오|답|쪽|지|

스택에 관한 설명 오답

✗Push 명령으로 데이터를 꺼냄

✗1-address 구조를 가짐

✗FIFO 구조를 가짐

|오|답|쪽|지|

0-주소 인스트럭션 형식을 사용하는 컴퓨터의 특징

오답

✗연산 후에 입력 자료가 변하지 않고 보존됨

✗연산에 필요한 자료의 주소를 모두 구체적으로 지정해 주어야 함

✗연산을 위해 입력 자료의 주소만을 지정해 주면 됨

(4)

⑥ 수식을 계산할 때 수식을 미리 처리되는 순서인 역 polish(또는 postfix) 형 식으로 바꾸어야 함 03080409

⑦ Instruction cycle time이 가장 짧은 명령어 형식 0503

⑧ 스택 머신(Stack Machine)이라고도 함 (0-주소 명령형을 갖는 컴퓨터 구조 원리: Stack architecture) 9908 0003 0103 0203 0205 0308 0403 0503 0605

※ 이터레이션(Iteration) 0007

해당 루틴(Routine)이 정확한 결과를 산출할 때까지 해당 루틴에서 발생한 결과를 가지고 처음에 사용한 자료를 다시 수정하여 계산 작업을 반복적으로 수행하는 것

※ 프로그램 디버깅(Debugging)

① 프로그램의 오류를 발견하고 그 원인을 밝히는 작업

② 디버깅에 필요한 것들 0103 0209

• 트레이서(tracer) : 프로그램의 실행과정을 출력하는 프로그램. 기계어 명령이 하나씩 수행될 때마다 프로그램 카운터, 스택, 변수, 레지스터의 내용을 출력함

• 덤프(dump) : 주기억장치의 내용을 그대로 화면이나 프린터, 디스크 등에 출력하는 것으로 정적(static) 덤프와 동적(Dynamic) 덤프가 있음

※ 부프로그램(서브루틴, Subroutine)과 매크로(Macro)

① 부프로그램 : 반복적으로 사용되는 코드를 별도의 프로그램으로 작성하여 필요할 때 호출하여 사용할 수 있도록 제작한 프로그램

② 매크로

• 반복적으로 사용되는 코드를 프로그램 내에 삽입하여 해당 프로그램의 어디서든 호출하여 사용할 수 있게 만든 프로그램 코드의 모임

• 프로그래머가 어셈블리(assembly)언어로 프로그램을 작성할 때 반복되는 일련의 같은 연산을 효과적으로 프로그램 하기 위해서 필요한 것 9910 0405

0409 0303

• 매크로(Macro)의 인수(因數) 사용에 해당 되는 것 : 인수의 위치, 인수를 지정, 인수의 수를 변동 0709

③ 부프로그램과 매크로의 공통점 : 여러 번 중복되는 부분을 별도로 작성하여 사용 0203 0403 0705

※ 데이터 처리 명령어 종류 0703

① 산술 명령어 : ADD, SUB, MUL, DIV, 산술 Shift 등

② 논리 명령어 : NOT, AND, OR, XOR, 논리적 Shift, ROTATE, COMPLEMENT, CLEAR 등

※ 종류별 연산자의 우선순위 0705

• 산술 연산자 → 관계 연산자 → 논리 연산자

|오|답|쪽|지|

이터레이션(iteration) 방법에서 반복 시 입력 데이터(data)를 얻는 방법

오답

✗한 루틴(routine)이 외부로 부터 데이터(data)를 얻음

✗한 루틴이 다른 루틴으로 부터 데이터를 얻음

✗데이터가 필요하지 않음

|오|답|쪽|지|

프로그램 디버깅에 필요한 것 오답

✗스왑(Swap) 또는 스와핑 (Swapping)

(5)

PART 2 | 전자계산기 구조

|기|출|문|제|

9904 0010 0303 0305 0505 0509 0603

9. 0-주소 인스트럭션과 관계있는 것은?

가. Scratch-pad register 나. Accumulator

다. Stack

라. Instruction buffer

0205 0403 0705

10. 리커션(recursion) 프로그램에 해당하는 것은?

가. 한 루틴(routine)이 반복될 때

나. 한 루틴(routine)이 자기를 다시 부를 때 다. 다른 루틴(routine)이 다른 루틴을 부를 때 라. 한 루틴(routine)에서 다른 루틴으로 갈 때

9908 0003 0103 0203 0205 0308 0403 0503 0605

11. 0-번지 명령형(zero-address instruction format) 을 갖는 컴퓨터 구조 원리는?

가. An accumulator extension register 나. Virtual memory architecture 다. Stack architecture

라. Micro-programming

0007

12. 이터레이션(iteration) 방법에서 반복 시 입력 데이터(data)를 얻는 방법은?

가. 한 루틴(routine)이 외부로부터 데이터(data)를 얻는다.

나. 한 루틴이 그 루틴에서 데이터를 얻는다.

다. 한 루틴이 다른 루틴으로부터 데이터를 얻는다.

라. 데이터가 필요하지 않다.

0103 0209

13. 프로그램 디버깅(debugging)에 필요하지 않는 것은?

가. 트레이서(tracer)

나. 스태틱 덤프(static dump) 다. 다이나믹 덤프(dynamic dump) 라. 스왑(swap) 또는 스왑핑(swapping)

9910 0303 0405 0409

14. 프로그래머가 어셈블리 언어(Assembly language) 로 프로그램을 작성할 때 반복되는 일련의 같은 연산을 효과적으로 하기 위해 필요한 것은?

가. 매크로(MACRO) 나. 함수(function)

다. reserved instruction set

라. 마이크로 프로그래밍(micro-programming)

0203 0403 0705

15. 다음 설명 중 부프로그램과 매크로(Macro)의 공통점은?

가. 삽입하여 사용한다.

나. 분기로 반복을 한다.

다. 다른 언어에서도 사용한다.

라. 여러 번 중복되는 부분을 별도로 작성하여 사용 한다.

0203 0305 0405 0509 0603 0705

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

가. 8개 나. 16개

다. 32개 라. 256개

0308 0503

2. 명령어가 오퍼레이션 코드(OP code) 6비트, 어드레스 필드 16비트로 되어 있다. 이 명령어를 쓰는 컴퓨터의 최대 메모리 용량은?

가. 16K word 나. 32K word 다. 64K word 라. 1M word

0209 0603

3. 컴퓨터의 주기억장치 용량이 8192비트이고, 워드 길이가 16비트일 때 PC(Program Counter), AR(Address Register)와 DR(Data Register)의 크기는?

가. PC=8, AR=9, DR=16 나. PC=9, AR=9, DR=16 다. PC=16, AR=16, DR=16 라. PC=8, AR=16, DR=16

0010 0106 0109 0203 0205 0303 0305 0405 0409 0503 0505 0509 0609

4. 명령어에서 실행할 동작 부분을 나타내는 연산자 (op code)의 기능과 관련 없는 것은?

가. 함수연산 기능 나. 입ㆍ출력 기능 다. 제어 기능 라. 주소지정 기능

9904 0007

5. 인스트럭션의 설계 과정과 가장 거리가 먼 것은?

가. 연산자의 종류 나. 주소 지정 방식

다. 기억장치의 대역폭(bandwidth)

라. 해당 컴퓨터 시스템 단어(word)의 크기(비트수)

0605

6. 3-주소 명령어의 장점에 해당하는 것은?

가. 프로그램 길이가 짧아진다.

나. 1개의 명령어만을 사용하여 프로그램을 작성해야 한다.

다. 주소지정을 할 수 있는 기억장치 주소 영역이 증가한다.

라. 임시 저장 장소가 필요하다.

9910 0403 0505 0703

7. 연산 결과를 항상 누산기(Accumulator)에 저장하는 명령어 형식은?

가. 0-주소 명령어 나. 1-주소 명령어 다. 2-주소 명령어 라. 3-주소 명령어

0405 0609

8. 다음과 같은 보기는 어느 유형의 주소 명령 방식인가?

<보기> LOAD A ADD B STORE C

가. zero-address 나. one-address 다. two-address 라. three-address

참조

관련 문서

본 연구원에서는 공개채용 서류접수와 관련하여 귀하의 개인정보를 아래와 같이 수집·이용하고자 합니다. 수집된 개인정보는 채용업무

멘토링 과정에서는 많은 어려움이 발생하기 때문에 초지일관 자신 감과참을성을 가지고 끈질기게 멘토링에 참여하는 것이 필요하다. 계획된 멘토링에 진지하고 헌신적으로

그러므로 ㉥ ‘김 선생님’은 현재의 담화 상황에 참여하지 않는 인물을 지칭하는 표현이라는 설명은 적절하다.. 그러므로 ㉤이 아버지가 지금까지 은주와 나눈 대화의 화제

*단어 사이의 공통성과

약국은 당초 수집 목적과 합리적으로 관련된 범위에서 정보주체에게 불이익이 발생하는지 여부, 암호화 등 안전성 확보에 필요한 조치를 하였는지 여부 등을

(Taekwondo, Weight Lifting Players) (90 min × 6 days/week) Warming

15) 세광음악출판사

철근에 해당하는 것은 교원 섬유로 짜여진 바구니이며, 그 그물눈을 채우고 있는 시멘트에 해당하는 것이 골질이다.. 골질은 탄산 칼슘·인산 칼슘