• 검색 결과가 없습니다.

3.3 주소지정방식

N/A
N/A
Protected

Academic year: 2021

Share "3.3 주소지정방식"

Copied!
4
0
0

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

전체 글

(1)

www.gisa79.com

139

3.3 주소지정방식

(1) 주소지정방식(Addressing Mode)

프로그램이 수행되는 동안 사용될 데이터의 위치를 지정하는 방법

(2) 주소 설계 시 고려 사항

0007 0505 0509

1) 표현의 효율성 : 주소를 효율적으로 나타내야 함 2) 사용의 편리성 : 사용자에게 편리하도록 해야 함

3) 주소공간과 기억공간의 독립성 : 주소공간과 기억공간을 독립시킬 수 있어야 함

(3) 주소지정 방식의 종류

0109 0205 05059908 0003 0010 0106 0303 0305 0509

1) 암시적(묵시적) 주소지정 방식(Implied Addressing Mode) 0703

① 주소를 지정하는 필드가 없는 0번지 명령어에서 Stack의 Top 포인터가 가리 키는 Operand를 암시하여 이용함

② 누산기의 내용을 좌측으로 1Bit 이동하는 SHL(좌시프트) 명령은 주소를 지정하는 필드가 없는 0번지 명령으로서 묵시적 주소지정방식이 적용

2) 즉시적 주소지정 방식(Immediate Addressing Mode)

① Operand 부분에 데이터를 기억하는 방식 06039904 0109 0603

② 레지스터의 값을 초기화할 때 주로 사용됨

③ 별도의 기억장치를 접근하지 않고 CPU에서 곧바로 자료를 이용

④ 메모리의 참조 횟수를 줄일 수 있으므로 실행속도가 가장 빠름 05030503 0603 3) 직접 주소지정 방식(Direct Addressing Mode) 0603

① 명령어 주소 부분에 유효 주소 데이터가 있음

② 명령어의 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적 4) 간접 주소지정 방식(Indirect Addressing Mode) 06090705

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

② 인스트럭션의 길이가 짧고 제한되어 있어도 이것을 이용하여 긴 주소를 찾아갈 수 있음 9908

③ 기억장치에 최소 2번 접근(access)해야 오퍼랜드(operand)를 얻을 수 있음

④ 명령어가 피연산자의 주소가 아닌 피연산자의 주소가 저장된 곳의 주소를 나타내고 있는 방식 0709

5) 계산에 의한 주소지정 방식 0503

① Operand부와 CPU의 특정 레지스터의 값이 더해져서 유효주소를 계산

② 종류 (사용하는 레지스터의 종류에 따라 구분)

종 류 설 명

상대 주소 지정 방식 (Relative Addressing Mode)

9910 0007 0010 0103 0106 0109 0305 0308 0409 0509 0603 07059910 0308 0409 0703

유효주소: 명령어의 주소 부분 + Program Counter 명령어 자신의 기억장소를 기준으로 하여 데이터의 위치를 지정하는 방식

베이스 레지스터 주소 지정 방식 (Base Register Addressing Mode)

0409

유효주소: 명령어의 주소 부분 + Base Register 프로그램을 재배치(Relocation)할 때 이용 다중 프로그래밍 기법에 많이 사용

※ 베이스 레지스터 0603

명령이 시작되는 최초의 번지를 기억하고 있는 레지스터 인덱스 레지스터

주소 지정 방식 (Indexed Addressing Mode)

유효주소: 명령어의 주소 부분 + Index Register

※ 리엔트란시(Re-entrancy)

1) 한 사람 이상의 사용자들이 동일한 명령어를 동시에 실행할 수 있도록 제공 2) 인덱스 레지스터(Index Register)와 간접번지 방법(Indirect addressing)으로 이용

0103 0209

|오|답|쪽|지|

명령어의 주소부분(Operand)을 데이터로 사용할 경우 장점

오답

✗레지스터의 개수를 줄일 수 있음

✗부동 소수점 레지스터를 사용하므로 속도가 빠름

✗동작을 하는데 많은 시간이 소요됨

|오|답|쪽|지|

간접 주소(Indirect address)에 대한 설명 오답

✗그 자료를 얻기 위해서 정확히 한번 기억장치를 접근하여야 함

✗자료를 기억장치에서 읽어야 할 필요가 없으므로 다른 주소 방식들보다 신속함

✗자료가 기억된 장소에 직접 사상시킬 수 있는 주소 형태

✗명령문 내의 번지는 실제 데이터의 주소를 표시함

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

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

|오|답|쪽|지|

베이스 레지스터 주소 지정 방식에 대한 설명 오답

✗인스트럭션의 길이가 절대 주소지정방식보다 반드시 길어짐

|오|답|쪽|지|

주소 지정 방식(Addressing Mode) 오답

✗임시(Temporary)번지 방식

(2)

PART 2 | 전자계산기 구조

140

|기|출|문|제|

0305

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

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

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

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

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

9910 0007 0010 0103 0106 0109 0305 0308 0409 0509 0603 0705

6. 주소 지정 방식(Addressing Mode) 중에서 프로그램 카운터 값에 명령어의 주소 부분을 더해서 실제 주소를 구하는 방식은?

가. 직접 번지 방식 나. 즉시 번지 방식 다. 상대 번지 방식 라. 레지스터 번지 방식

0409

7. 베이스 레지스터 주소지정방식의 특징이 아닌 것은?

가. 베이스 레지스터가 필요하다.

나. 프로그램의 재배치가 용이하다.

다. 다중 프로그래밍 기법에 많이 사용된다.

라. 인스트럭션의 길이가 절대 주소지정방식보다 반드시 길어진다.

0103 0209

8. 리 엔트란시(re-entrancy)는 멀티프로그래밍이 가능한 계산기에서 여러 명의 사용자가 같은 코드를 함께 이용하기 위한 일차적인 필수조건이 다. 이런 리 엔트란시를 가능하게 한 것은?

가. 인덱스 레지스터(Index register)와 간접번지 방법(indirect addressing)의 사용

나. 결합 기억기(associate memory)의 사용 다. 고속 시프트 레지스터(shift register)의 사용 라. 효율적인 컴파일러(compiler)의 사용

0007 0505 0509

1. 주소 설계 시 고려해야 할 점이 아닌 것은?

가. 주소를 효율적으로 나타낼 수 있어야 한다.

나. 주소 공간과 기억 공간을 독립시킬 수 있어야 한다.

다. 전반적으로 수행 속도가 증가될 수 있도록 해야 한다.

라. 주소 공간과 기억 공간은 항상 일치해야 한다.

0109 0205 0505

2. 주소 지정 방식(Addressing Mode)이 아닌 것은?

가. 직접(Direct) 번지 방식 나. 간접(Indirect) 번지 방식 다. 즉시(Immediate) 번지 방식 라. 임시(Temporary) 번지 방식

0603

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

가. 즉시(immediate) 주소지정 방식 나. 베이스(base) 주소지정 방식 다. 상대(relative) 주소지정 방식 라. 직접(direct) 주소지정 방식

0503

4. 다음 주소 지정 방식 중 속도가 가장 빠른 주소 방식은?

가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register

(3)

www.gisa79.com

141

3.4 연산(Operation)

0109

(1) 논리연산과 산술연산

9906 1) 논리연산

① 연산의 대상 및 결과가 ‘0’또는 ‘1’중 하나의 값을 취하는 연산(비수치적인 연산)

② 예 : MOVE, NOT, AND, OR, 논리 SHIFT, ROTATE, COMPLEMENT, EXCLUSIVE OR 등 0505

2) 산술연산

① 연산의 대상을 수치 데이터로 간주하고 행하는 연산(수치적인 연산)

② 예 : ADD, SUBTRACT, MULTIPLY, DIVIDE, 산술 SHIFT 등

(2) 주요 연산 및 기능

0503 1) AND(Masking Operation) 0005

① 비수치 데이터에서 마스크를 이용하여 불필요한 부분(일부분 혹은 전체)을 + 제거하기 위한 연산 9904

② 삭제할 부분의 비트를 0과 AND시켜서 삭제 2) OR(Selective-Set) 0003 0403

① 두 개의 데이터를 섞거나 일부에 삽입하는데 사용되는 연산

② 특정 비트에 1을 세트(set)시키는 연산 0203

3) XOR(비교, Compare) 0503

① 자료의 특정 비트를 반전시키고자 하는 경우에 사용

② 비교(compare) 동작과 같은 동작을 하는 논리 연산 0103 0303

③ 연산에서 overflow가 발생했을 경우 이것을 검출할 때 사용되는 논리 게이트 0503 4) NOT(보수, Complement)

① 각 비트의 값을 반전시키는 연산

② 보수를 구할 때 사용 5) 논리 Shift

① 왼쪽 또는 오른쪽으로 1 Bit씩 자리를 이동시키는 연산

② 데이터의 직렬 전송에 사용 6) Rotate

① 논리 Shift에서 밀려 나가는 비트의 값을 반대편 값으로 입력하는 연산

② 문자 위치 변환 시 사용 9904 7) 산술 Shift

① 부호 비트(Sign Bit)를 제외한 나머지 비트만 Shift(부호비트는 불변)

② 왼쪽으로 n Bit Shift: 원래 자료에 2n을 곱한 값과 같음 0703

③ 오른쪽으로 n Bit Shift: 원래 자료를 2n으로 나눈 값과 같음 0003 00070010

Shift 수치 표현법 Padding Bit

음수 양수

Shift Left

부호화 절대치 Padding Bit : 0

모든 Padding Bit는 0 1의 보수법 Padding Bit : 1

2의 보수법 Padding Bit : 0 Shift Right

부호화 절대치 Padding Bit : 0 1의 보수법 Padding Bit : 1 2의 보수법 Padding Bit : 1

※ Padding Bit : Shift에서 자리를 이동한 후 생기는 왼쪽 혹은 오른쪽 끝의 빈자리에 채워지는 비트

(4)

PART 2 | 전자계산기 구조

142

|기|출|문|제|

0503

5. 논리 마이크로 동작 중 Exclusive-OR과 같은 동작을 하는 것은?

가. Selective-set 동작 나. mask 동작

다. compare 동작

라. selective-clear 동작

0003

6. 8비트 부호와 2의 보수로 나타낸 수 -77을 오른쪽으로 두 비트 산술 시프트 수행한 결과는?

가. OVERFLOW 나. -20 다. -19.5 라. +19

0007

7. 다음은 이동(shift)의 경우이다. 8-비트로 구성된 레지스터 7번의 내용이 11011001일 때 SRA 7,3을 실행하고 난 후의 레지스터 7의 내용은?

(단, SRA 7, 3은 레지스터 7번을 우측으로 산술 이동(Arithmetic Shift to the right) 3회 수행함을 뜻한다.)

가. 11111101 나. 00011011 다. 11111011 라. 01111011

0109

1. 논리 연산에 들어가지 않는 것은?

가. NOT 나. Complement

다. OR 라. Load

0609

2. AND 마이크로 동작과 유사한 것은?

가. insert 동작 나. OR 동작 다. 패킹(packing) 동작 라. mask 동작

0509

3. 인터럽트 비트(interrupt bits) 10010과 마스크 비트(mask bits) 01110을 상호 AND 하였을 때 의 출력 비트는?

가. 11100 나. 00011 다. 11101 라. 00010

0003 0403

4. 논리 마이크로 연산에 있어서 레지스터 A와 B의 값이 단서와 같이 주어졌을 때 selective-set 연 산을 수행하면 어떻게 되는가?(단, A는 프로세서 레지스터이고, B는 논리 오퍼랜드, A=1010, B=0011)

가. 1100 나. 1011 다. 0011 라. 1010

참조

관련 문서

[r]

도시 근교를 중심으로 봄철은 딸기 철인데 역병으로 인해 사람들이 딸기체험농장 에 갈 수 없고, 운송 인력 부족으로 딸기를 시장이나 슈퍼마켓 등에 공급하 지

» 특정 지역에 가 본 적이 있거나 퀘스트 등을 통해 해당 지역에 가 야할 일이 생길 경우 해당 메뉴에 자동으로 등록. » 혹은

[r]

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

15) 세광음악출판사

[r]

Leung, “A High-Capacity Wireless Network By Quad-Sector Cell and Interleaved Channel Assignment,” IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS,