공부 Note/컴퓨터 구조

Chapter 03 중앙처리장치 (4)

AmyG 2022. 2. 24. 10:06

마이크로 명령어 집합과 구성

   * 명령어 (instruction) 집합

   * 주소 지정 모드 (addressing mode)

 

명령어 (instruction) 집합

   * 실행 순서에 따른 명령어 분류

      - 순차적 실행 명령어 - 전체 실행 명령어의 70 ~ 80% 차지

      - 분기 명령어

      - 함수 호출 명령어

      - 복귀 명령어

 

   * 명령어 구문 형식

   명령 코드 오퍼랜드 주소

 

명령코드         주소지정 모드 오퍼핸드 주소

      명령 코드 : CPU 실행할 있도록 디자인 연산

      오퍼랜드 : 연산에 사용되는 자료 , 자료가 저장 주소에 관한 정보

      주소 지정 모드 (addressing mode) : 오퍼랜드가 저장된 위치를 인덱싱 (지정)하는 방법

 

   * 명령어 집합의 설계

설계 관점 자연어에 가까운 명령 코드         기계 중심의 명령 코드
프로그램의 관점    
CPU 구조 설계 측면    

 

   * 협업에서 활용되는 명령어군의 활용 비율

명령 코드         실행 비율
Load, store, move 38% 자료전송 명령어
Compare, add, and, sub 35% 산술/논리 연산 명령어
Condition blench, call, return 22% 실행제어 명령어

이상의 명령어가 전체 실행 명령어의 90% 이상임을 확인

 

주소 지정 모드 (addressing mode)

   * 명령어의 구조상 자료가 저장되어 있는 장소를 지정하는 방법이 필요하다 최대한 하드웨어와 소프트웨어의 독립성을 유지하여 프로그램의 유연성을 가능하게 하여 명령어의 수와 길이를 줄이기 위한 세계적 표준화 기법이 주소 지정 모드이다

   * 묵시적 모드 (oprand 명령어에 포함되어 있지 않은 특수 모드)

      - NOP : NO operation, 오퍼랜드가 필요 없는 명령어

      - INC : 묵시적 오퍼랜드인 누산기(AC) 연산 명령어

      - ADD : 스택 수조의 명령어 (스택에 오퍼랜드가 저장)

   * 직접 모드 : operand 자체가 명령어에 포함되어 있는 모드

   * 레지스터 모드 (Register mode) : 오퍼랜드가 레지스터에 저장된 모드

   * 메모리 직접 주소 모드 (Direct mode) : 오퍼랜드가 저장된 메모리 주소를 나타내는 모드

   * 메모리 간접 주소 모드 (Memory indirect addressing mode) : 메모리를 이용하여 간접적으로 주소를 지정하는 모드

 

   * 주소 지정 모드의 ) R1 = 100, R2 = 200 이라고 가정

      MOV R1, #150 => 직접 모드, R1 = 150 / R1 직접 150 지정

      MOV R1, R2 => 레지스터 모드, R1 = 200 / R1 R2 (200) 지정

      MOV R1, 192 => 직접 모드, R1 = 300 / R1 192 값인 300 지정

      MOV R1, @191 => 메모리 간접 모드, R1 = 350 / 191 값인 200 다시 주소로 받아서 200 값인 350 R1 지정

Add Con
190 150
191 200
192 300
200 350
201 700

 

출처 : 제로베이스