명령어

2023. 11. 30. 09:07learning more/컴퓨터 구조

728x90
반응형

오퍼랜드가 기억되는 장소 [오퍼랜드 수에 따른 명령어 형식]

  1. 누산기를 이용하는 명령어 형식 (1 주소 명령어)
  2. 다중 레지스터를 이용하는 명령어 형식 ( 3 주소 명령어, 2 주소 명령어)
  3. 스택 구조를 이용하는 명령어 형식 (0, 1 주소 명령어)

누산기를 가진 컴퓨터 구조 [1 주소 명령어]

누산기(AC : accumulator)

- 누산기를 가진 컴퓨터 구조에서 중앙처리장치에 있는 유일한 데이터 레지스터로서 명령어가 수행될 때 오퍼랜드를 기억시키는 레지스터

ADD X : AC ← AC +M[X]
누산기(AC)에 있는 내용과 기억장치 X번지에 있는 내용을 더해서 누산기(AC)로 전송하라

LOAD X :  AC ←  M[X]
기억장치 X번지에 있는 내용을 누산기로 적재하라

STORE X M[X] AC
누산기의 내용을 기억장치 X번지에 저장하라

다중 레지스터를 가진 컴퓨터 구조[ 2, 3 주소 명령어]

>> 중앙처리장치 내에 여러 개의 레지스터를 가지고 있는 컴퓨터

ADD R1, R2, R3 : R3 ← R1 + R2
레지스터 R1의 내용과 R2의 내용을 더해서 R3로 전송하라

ADD R1, R2 : R2 ← R1 + R2
레지스터 R1의 내용과 R2의 내용을 더해서 R2로 전송하라

MOVE R1, R2 : R2 ← R1
레지스터  R1의 내용을 R2로 이동하라.

LOAD X, R1 : R1 M[X]
기억장치 X의 내용을 레지스터 R1으로 적재하라

STORE R1, X : M[X] ← R1
레지스터 R1의 내용을 기억장치 X주소에 저장하라

스택 구조를 가진 컴퓨터 구조[0, 1 주소 명령어]

.>> 스택 구조 컴퓨터는 연산에 필요한 오퍼랜드들을 기억장치 스택에 기억시켜야 하고, 연산의 결과도 스택에 기억시키는 구조

[ 주소필드를 사용하지 않는 경우]
ADD : TOS TOS + TOS-1 

[ 주소필드를 사용하는 경우]
PUSH X : TOS ← M[X] 
POP X : M[X] ← TOS

3 주소 명령어 vs 2 주소 명령어

 X= (A + B) x C

3 주소 명령어

ADD A, B, R1 : R1 ← M[A] + M[B]
MUL R1, C, X : M[X] ← R1 x M[C]

 

2 주소 명령어

LOAD A, R1 : R1 ← M[A]
ADD B, R1 : R1 ← R1 + M[B] 
MUL C, R1 : R1 ← R1 x M[C]
STORE R1, X : M[X] ← R1

명령어 주소지정방식

> 프로그램 수행 시 오퍼랜드를 지정하는 방식

> 명령어의 주소 필드를 변경하거나 해석하는 규칙을 지정하는 형식

> 주소지정방식을 사용하면 명령어의 수를 줄일 수 있는 효과적인 프로그래밍 가능

 

※ 유효주소

주소지정방식의 각 규칙에 의해 정해지는 오퍼랜드의 실제 수소

연산코드 필드

- 수행 할 연산의 종류를 지정

 

주소지정방식 필드

- 연산에 필요한 오퍼랜드의 주소를 알아내는 데 사용

 

주소 혹은 오퍼랜드 필드

- 기억장치주소 혹은 레지스터를 나타낸다.


주소지정방식의 종류

 

의미주소지정

주소 필드가 필요없는 방식이 의미방식이다. 이 방식에서는 연산코드 필드에 지정된 묵시적인 의미로 인하여 오퍼랜드를 지정한다.  누산기 저장 방식

 

 

즉치주소지정

오퍼랜드를 명령어 자체 내에서 저장한다. 오퍼랜드 필드에 저장된 내용이 명령어에서 사용될 실제 데이터이다. 

이 방식은 오퍼랜드 필드가 곧 "데이터"이므로 데이터 인출을 위한 기억장치 접근이 필요 없다. 단점으로는 크키가 오퍼랜드 필드의 비트수에 의해 제한된다.

AC에 500에 적재 됨. 유효주소 251

 

직접주소지정방식

오퍼랜드의 조소를 직접 저장시키는 주소지정방

AC에 800에 적재 됨, 유효주소 500

 

간접주소지정방

명령어의 주소 필드에 유효주소가 저장되어 있는 기억장치주소를 기억시키는 주소방식

AC에 300에 적재 됨, 효주소 800

 

상대주소지정방식

유효주소를 계산하기 위해 처리장치 내에 있는 특정 레지스터의 내용에 명령어 오퍼랜드값을 더하는 방식

AC에 600에 적재 됨, 유효주소 500+252

 

인데스주소지정방식

AC에 200에 적재 됨, 유효주소 500+400

 

레지스터 주조지정, 간접주소지정

주소지정 방식은 오퍼랜드 필드에서 지정한 레지스터에 실제 피연사가들어 있다. 오퍼랜드에서 레지스터 번호가 저장되어 있으며 유효주소는 존재하지 않는다.

레지스터 간접주소지정은 명령어 내의 주소 필드가 레지스터 중 하나를 지정하고, 지정된 레지스터의 내용은 실제 오퍼랜드가 저장된 기억장치주소를 저장한다. 지정된 레지스터는 오퍼랜드 그 자체가 아니라 오퍼랜드가 저장된 기억장치주소를 가지고 있다.

반응형

'learning more > 컴퓨터 구조' 카테고리의 다른 글

진수 간의 변환  (1) 2023.11.28
컴퓨터구조의 개요  (0) 2023.11.28
처리 장치  (1) 2023.11.20
명령어 형식 2  (0) 2023.11.04
조합논리(저장x)/순서논리(저장o)  (0) 2023.10.22