ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [전산기초] 주소지정방식
    비전공자 공부일기/:: Computer Science 2021. 7. 8. 01:06

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

     

     

    1. 접근방식에 따른 분류

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

    주소를 지정하는 필드가 없는 0번지 명령어에서

    Stack의 Top 포인터가 가리키는 Operand를 암시하여 이용

     

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

    명령어 자체에 오퍼랜드(실제 데이터)를 가지고 있는 방식

    - 메모리 참조 횟수: 0

    - 별도의 기억장소를 액세스하지 않고 CPU에서 곧바로 자료 이용 -> 실행속도 빠름

     

    3) 직접 주소지정방식(Direct Mode)

    명령의 주소부(Operand)에 있는 값이 실제 데이터가 기억된 번지를 지정하는 방식

    - 메모리 참조 횟수: 1

     

    4) 간접 주소지정방식(Indirect Mode)

    명령어의 주소부(Operand)가 지정하는 곳에 있는 값이 실제 데이터를 기억하는 또 다른 메모리의 번지를 지정하는 방식

    - 메모리 참조 횟수: 2 이상

    - 주기억장치를 최소한 두 번 이상 접근하여 데이터가 있는 기억장소 도달

     

     

    2. 계산에 의한 주소지정방식

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

    - 대부분 주소의 일부분을 생략하는 약식주소

    - 사용하는 레지스터의 종류에 따라 상대, 베이스, 인덱스 주소지정방식으로 구분

     

    1) 상대주소(Relative Mode)

    - 유효주소 : 명령어의 주소부분 + PC

    - 명령어 자신의 기억장소를 기준으로 데이터의 위치를 지정하는 방식

     

    2) 베이스 레지스터(Base Register Mode)

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

    - 프로그램을 재배치(Relocation) 할 때 이용

     

    3) 인덱스 레지스터(Index Register Mode)

    - 명령어의 주소부분 + Index Register

    - 주소지정에 2개의 레지스터를 사용하는 방식으로 순차적인 주소지정에 유리

     

     

     

    3. 실제 기억공간 주소에 따른 구분

    1) 절대주소(Absolute Address)

    임의의 기억장소에 대한 실제주소(유효주소)로,

    기억장치의 맨 처음부터 1 Byte마다 0, 1, 2, 3, ... 의 순서로 16진수의 번호가 차례대로 지정

     

    2) 상대주소(Relative Address)

    기준주소를 기준으로 하여 상대적으로 얼마만큼 떨어져 있는지 변위(Displacement; Offset)로 표현하는 주소

    상대주소는 절대주소로 변환해야만 실제 데이터에 접근할 수 있음

    (ex. 기준주소 100을 A라고 하면 103은 A+3)

    댓글

coding wanee