1 / 6

명령어 형식

명령어 형식. 명령어 코드의 필드 (field) 연산코드 필드 : 수행할 연산을 명시 주소 필드 : 메모리의 주소나 레지스터를 지정 모드 필드 : 피연산자나 유효 주소가 결정되는 방법 표시 CPU 구조의 세가지 형식 단일 누산기 구조 범용 레지스터 구조 스택 구조. 3- 주소의 명령어. 주소필드가 레지스터 또는 메모리 주소 지정 X = (A+B)*(C+D) 계산 어셈블리어 ADD R1,A,B R1 ← M[A] + M[B] ADD R2,C,D R2 ← M[C] + M[D]

salma
Download Presentation

명령어 형식

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 명령어 형식 • 명령어 코드의 필드(field) • 연산코드 필드: 수행할 연산을 명시 • 주소 필드: 메모리의 주소나 레지스터를 지정 • 모드 필드: 피연산자나 유효 주소가 결정되는 방법 표시 • CPU 구조의 세가지 형식 • 단일 누산기 구조 • 범용 레지스터 구조 • 스택 구조

  2. 3-주소의 명령어 • 주소필드가 레지스터 또는 메모리 주소 지정 • X = (A+B)*(C+D) 계산 어셈블리어 • ADDR1,A,BR1 ← M[A] + M[B] • ADDR2,C,DR2 ← M[C] + M[D] • MULX,R1,R2 M[X] ← R1 * R2 • 장점: 수식 계산에서 짧은 길이의 프로그램 • 단점: 2진 코드 명령어 표현에 많은 비트가 필요 • 사용 예) • CYBER 170 기종 - 2개의 레지스터와 하나의 메모리 주소 표현

  3. 2-주소의 명령어 • 실제로 가장 많이 사용되는 방식 • 주소필드가 레지스터 또는 메모리 주소 지정 • X = (A+B)*(C+D) 계산 어셈블리어 • MOVR1,AR1 ← M[A] • ADDR1,B R1 ← R1 + M[B] • MOVR2,CR2 ← M[C] • ADDR2,DR2 ← R2 + M[D] • MULR1,R2 R1 ← R1 * R2 • MOVX,R1 M[X] ← R1

  4. 1-주소의 명령어 • 누산기(AC)에 의한 모든 데이타의 처리 • 곱셈이나 나눗셈을 할때는 또 다른 레지스터가 하나 필요 • X = (A+B)*(C+D) 계산 어셈블리어 • LOADA AC ← M[A] • ADDB AC ← AC + M[A] • STORET M[T] ← AC • LOADC AC ← M[C] • ADDD AC ← AC + M[D] • MULT AC ← AC * M[T] • STOREX M[X] ← AC

  5. 무주소의 명령어 • 연산 명령어에서 주소 필드가 없다 • 스택 구조의 컴퓨터 • X = (A+B)*(C+D) 계산 어셈블리어 • PUSHA TOS ← A • PUSHBTOS ← B • ADD TOS ← (A + B) • PUSHC TOS ← C • PUSHD TOS ← D • ADD TOS ← (C + D) • MUL TOS ← (C + D)*(A + B) • POPX M[X] ← TOS

  6. RISC 명령 • RISC 프로세서의 명령어 집합 • 메모리와 CPU사이의 통신을 할 때 • LOAD와 STORE 명령만 사용하도록 제한 • 다른 명령어들의 수행은 메모리 참조없이 • CPU의 레지스터 안에서 수행 • X = (A+B)*(C+D) 계산 어셈블리어 • LOADR1,AR1 ← M[A] • LOADR2,BR1 ← M[B] • LOADR3,CR1 ← M[C] • LOADR4,DR1 ← M[D] • ADDR1,R1,R2R1 ← R1 + R2 • ADDR3,R3,R2R3 ← R3 + R4 • MULR1,R1,R3R1 ← R1 * R3 • STOREX,R1M[X] ← R1

More Related