Computer Architecture

Similar documents
Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

PowerPoint 프레젠테이션

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

PowerPoint 프레젠테이션

PowerPoint Presentation

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

PowerPoint 프레젠테이션

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 CPU 명령어

정보보안 개론과 실습:네트워크

학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능

Microsoft PowerPoint - DSD06c_ISA.pptx

Microsoft PowerPoint - M07_RTL.ppt [호환 모드]

슬라이드 1

Microsoft PowerPoint - M09_CPUarchi.ppt [호환 모드]

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Computer Architecture

Microsoft PowerPoint - hw8.ppt [호환 모드]

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt

PowerPoint 프레젠테이션

Computer Architecture

<C6F7C6AEB6F5B1B3C0E72E687770>

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770>

PowerPoint Presentation

Microsoft Word - FunctionCall

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - o8.pptx

3차시.ppt

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

슬라이드 1

Chapter ...

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

JVM 메모리구조

마이크로프로세서 개요

Microsoft PowerPoint - ch07 - 포인터 pm0415

OCW_C언어 기초

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft PowerPoint - [2009] 02.pptx

hlogin2

Microsoft PowerPoint - 15-MARS


11장 포인터

03_queue

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - a2.ppt [호환 모드]

No Slide Title

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

ch15

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt

<4D F736F F F696E74202D20C1A63134C0E520C6F7C0CEC5CD5FC8B0BFEB>

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

금오공대 컴퓨터공학전공 강의자료

구문 분석

설계란 무엇인가?

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint 명령어.pptx

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770>

Chapter 4. LISTS

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770>

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

슬라이드 1

Microsoft PowerPoint - Chapter_08.pptx

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PRO1_09E [읽기 전용]

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

Microsoft PowerPoint - e pptx

슬라이드 제목 없음

초4-1쌩큐기본(정답)본지

Microsoft PowerPoint - hy1.pptx

adfasdfasfdasfasfadf

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

ADP-2480

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제11장 포인터

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

Microsoft PowerPoint - chap01-C언어개요.pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Deok9_Exploit Technique

Data Structure

Transcription:

명령어의구조와주소지정방식 명령어세트명령어의형식주소지정방식실제명령어의형태 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다.

2.4 명령어세트 (instruction set) 어떤 CPU 를위하여정의되어있는명령어들의집합 명령어세트설계를위해결정되어야할사항들 2 연산종류 (operation repertoire) CPU 가수행할연산들의수와종류및복잡도 데이터형태 (data type) 연산을수행할데이터들의형태, 데이터의길이 ( 비트수 ), 수의표현방식등 명령어형식 (instruction format) 명령어의길이, 오퍼랜드필드들의수와길이, 등 주소지정방식 (addressing mode) 오퍼랜드의주소를지정하는방식 IT 융합공학부컴퓨터구조 2

2.4.1 연산의종류 데이터전송 레지스터와레지스터간, 레지스터와기억장치간, 혹은기억장치와기억장치간에데이터를이동하는동작 3 산술연산 덧셈, 뺄셈, 곱셈및나눗셈과같은기본적인산술연산들 논리연산 데이터의각비트들간에대한 AND, OR, NOT 및 exclusive-or 연산 입출력 (I/O) CPU 와외부장치들간의데이터이동을위한동작들 프로그램제어 명령어실행순서를변경하는연산들 분기 (branch), 서브루틴호출 (subroutine call) IT 융합공학부컴퓨터구조 3

서브루틴호출을위한명령어들 4 CALL 명령어 현재의 PC 내용을스택에저장하고서브루틴의시작주소로분기하는명령어 RET 명령어 CPU 가원래실행하던프로그램으로복귀 (return) 시키는명령어 IT 융합공학부컴퓨터구조 4

CALL/RET 명령어의마이크로연산 CALL X 명령어에대한마이크로 - 연산 t 0 : MBR PC t 1 : MAR SP, PC X 5 t 2 : M[MAR] MBR, SP SP - 1 현재의 PC 내용 ( 서브루틴수행완료후에복귀할주소 ) 을 SP 가지정하는스택의최상위 (top of stack) 에저장 만약주소지정단위가바이트이고저장될 주소는 16 비트라면, SP SP 2 로변경 RET 명령어의마이크로-연산 t 0 : SP SP + 1 t 1 : MAR SP t 2 : PC M[MAR] IT 융합공학부컴퓨터구조 5

2.4.2 명령어형식 명령어의구성요소들 연산코드 (Operation Code) 6 수행될연산을지정 ( 예 : LOAD, ADD 등 ) 오퍼랜드 (Operand) 연산을수행하는데필요한데이터혹은데이터의주소 각연산은한개혹은두개의입력오퍼랜드들과한개의결과오퍼랜드를포함 데이터는 CPU 레지스터, 주기억장치, 혹은 I/O 장치에위치 다음명령어주소 (Next Instruction Address) 현재의명령어실행이완료된후에다음명령어를인출할위치지정 분기혹은호출명령어와같이실행순서를변경하는경우에필요 IT 융합공학부컴퓨터구조 6

명령어형식 7 명령어형식 (instruction format) 명령어내필드들의수와배치방식및각필드의비트수 필드 (field) 명령어의각구성요소들에소요되는비트들의그룹 명령어의길이 = 단어 (word) 길이 [ 예 ] 세개의필드들로구성된 16-비트명령어 IT 융합공학부컴퓨터구조 7

명령어형식의결정에서고려할사항들 연산코드필드길이 : 연산의개수를결정 8 [ 예 ] 4 비트 2 4 = 16 가지의연산정의가능 만약연산코드필드가 5 비트로늘어나면, 2 5 = 32 가지연산들정의가능 다른필드의길이가감소 오퍼랜드필드의길이 : 오퍼랜드의범위결정 오퍼랜드의종류에따라범위가달라짐 데이터 : 표현가능한수의범위결정 기억장치주소 : CPU 가오퍼랜드인출을위하여직접주소를지정할수있는기억장치용량결정 레지스터번호 : 데이터저장에사용될수있는레지스터의개수결정 오퍼랜드1은레지스터번호를지정하고, 오퍼랜드2는기억장치주소를지정하는경우 오퍼랜드1 : 4 비트 16 개의레지스터사용가능 오퍼랜드2 : 8 비트 기억장치의주소범위 : 0 255 번지두개의오퍼랜드들을하나로통합하여사용하는경우 오퍼랜드가 2의보수로표현되는데이터라면, 표현범위 : - 2048 + 2047 오퍼랜드가기억장치주소라면, 2 12 = 4096 개의기억장치주소들지정가능 IT 융합공학부컴퓨터구조 8

오퍼랜드의수에따른명령어분류 1- 주소명령어 (one-address instruction) 9 오퍼랜드를한개만포함하는명령어. ( 다른한오퍼랜드는묵시적으로 AC가됨 ) [ 예 ] ADD X ; AC AC + M[X] 2- 주소명령어 (two-address instruction) 두개의오퍼랜드를포함하는명령어. [ 예 ] ADD R1, R2 ; R1 R1 + R2 MOV R1, R2 ADD R1, X ; R1 R2 ; R1 R1 + M[X] 3- 주소명령어 (three-address instruction) 세개의오퍼랜드들을포함하는명령어. [ 예 ] ADD R1, R2, R3 ; R1 R2 + R3 IT 융합공학부컴퓨터구조 9

1-3 주소명령어의예 10 1- 주소명령어의예 길이가 16 비트인 1-주소명령어, 연산코드가 5 비트인경우주소지정가능한기억장치용량을결정하라주소지정가능한기억장치용량 : 2 11 = 2048 바이트 2- 주소명령어의예 16-비트 CPU에서연산코드가 5 비트, 레지스터의수는 8 개일때 (a) 두오퍼랜드들이모두레지스터번호인경우 (b) 한오퍼랜드는기억장치주소인경우 3- 주소명령어형식의예 IT 융합공학부컴퓨터구조 10

명령어형식이프로그래밍에미치는영향 ( 예 ) 11 [ 예 ] X = (A + B) x (C - D) 계산을위한어셈블리프로그램작성 아래와같은니모닉을가진명령어들을사용 ADD : 덧셈 SUB : 뺄셈 MUL : 곱셈 DIV : 나눗셈 MOV : 데이터이동 LOAD : 기억장치로부터데이터적재 STOR : 기억장치로데이터저장 IT 융합공학부컴퓨터구조 11

1-2-3 주소명령어를사용한프로그램 1- 주소명령어를사용한프로그램 2- 주소명령어를사용한프로그램 LOAD A ; AC M[A] MOV R1, A ; R1 M[A] ADD B ; AC AC + M[B] ADD R1, B ; R1 R1 + M[B] STOR T ; M[T] AC MOV R2, C ; R2 M[C] 12 LOAD C ; AC M[C] SUB D ; AC AC - M[D] SUB R2, D ; R2 R2 - M[D] MUL R1, R2 ; R1 R1 R2 MUL T ; AC AC M[T] MOV X, R1 ; M[X] R1 STOR X ; M[X] AC 프로그램의길이 = 6 단, M[A] 는기억장치 A 번지의내용, T 는기억장치내임시저장장소의주소 프로그램의길이 = 7 3- 주소명령어를사용한프로그램 ADD R1, A, B ; R1 M[A] + M[B] SUB R2, C, D ; R2 M[C] - M[D] MUL X, R1, R2 ; M[X] R1 R2 프로그램의길이 = 3 명령어의길이가증가한다명령어해독과정이복잡해진다 IT 융합공학부컴퓨터구조 12

2.4.3 주소지정방식 (addressing mode) 명령어실행에필요한오퍼랜드 ( 데이터 ) 의주소를결 정하는방식 13 기억장치주소 : 데이터가저장된기억장치의위치를지정 레지스터번호 : 데이터가저장된레지스터를지정 데이터 : 명령어의오퍼랜드필드에데이터가포함 다양한주소지정방식을사용하는이유 제한된수의명령어비트들을이용하여, 사용자 ( 프로그래머 ) 가여러 가지방법으로오퍼랜드의주소를결정하도록해줌 더큰용량의기억장치를사용할수있도록하기위함 IT 융합공학부컴퓨터구조 13

기호 14 EA : 유효주소 (Effective Address), 즉데이터가저장된기억장치의실제주소 A : 명령어내의주소필드내용 ( 오퍼랜드필드의내용이기억장치주소인경우 ) R : 명령어내의레지스터번호 ( 오퍼랜드필드의내용이레지스터번호인경우 ) (A) : 기억장치 A 번지의내용 (R) : 레지스터 R의내용 IT 융합공학부컴퓨터구조 14

주소지정방식의종류 15 직접주소지정방식 (direct addressing mode) 간접주소지정방식 (indirect addressing mode) 묵시적주소지정방식 (implied addressing mode) 즉시주소지정방식 (immediate addressing mode) 레지스터주소지정방식 (register addressing mode) 레지스터간접주소지정방식 (register-indirect addressing mode) 변위주소지정방식 (displacement addressing mode) 상대주소지정방식 (relative addressing mode) 인덱스주소지정방식 (indexed addressing mode) 베이스 - 레지스터주소지정방식 (base-register addressing mode) IT 융합공학부컴퓨터구조 15

1) 직접주소지정방식 (direct addressing mode) 16 오퍼랜드필드의내용이유효주소 (EA) 가되는방식 EA = A 장점 : 데이터인출을위하여한번의기억장치액세스만필요 단점 : 연산코드를제외하고남은비트들만주소비트로사용될수있기때문에직접지정할수있는기억장소의수가제한 IT 융합공학부컴퓨터구조 16

17 IT 융합공학부컴퓨터구조 17

[ 예제 2-6 ( 계속 )] 18 IT 융합공학부컴퓨터구조 18

2) 간접주소지정방식 (indirect addressing mode) 오퍼랜드필드에기억장치주소가저장되어있지만, 그주소가가리키는기억장소에데이터의유효주소를저장해두는방식 EA = (A) 장점 : 19 최대기억장치용량이단어의길이에의하여결정 주소지정가능한기억장치용량확장 단어길이가 n 비트라면, 최대 2 n 개의기억장소주소지정이가능 단점 실행사이클동안에두번의기억장치액세스가필요 첫번째액세스 : 주소인출 두번째액세스 : 그주소가지정하는기억장소로부터실제데이터인출 명령어형식에간접비트 (I) 필요 만약 I = 0 이면, 직접주소지정방식 만약 I = 1 이면, 간접주소지정방식 다단계 (multi-level) 간접주소지정방식 EA = ( (.. (A).. ) ) IT 융합공학부컴퓨터구조 19

20 IT 융합공학부컴퓨터구조 20

3) 묵시적주소지정방식 (implied addressing mode) 21 명령어실행에필요한데이터의위치가묵시적으로지정되는방식 [ 예 ] SHL 명령어 : 누산기의내용을좌측으로시프트 (shift) PUSH R1 명령어 : 레지스터 R1 의내용을스택에저장 장점 : 명령어길이가짧다 단점 : 종류가제한된다 IT 융합공학부컴퓨터구조 2-21

4) 즉시주소지정방식 (immediate addressing mode) 22 데이터가명령어에포함되어있는방식 ( 오퍼랜드필드의내용이연산에사용할실제데이터 ) 용도 프로그램에서레지스터나변수의초기값을어떤상수값 (constant value) 으로세트하는데사용 장점 데이터를인출하기위하여기억장치를액세스할필요가없음 단점 상수값의크기가오퍼랜드필드의비트수에의해제한됨 IT 융합공학부컴퓨터구조 2-22

5) 레지스터주소지정방식 23 연산에사용될데이터가내부레지스터에저장되어있는경우, 명령어의오퍼랜드가해당레지스터를가리키는방식 EA = R 주소지정에사용될수있는레지스터들의수 = 2 k 개 ( 단, k 는 R 필드의비트수 ) 장점 오퍼랜드필드의비트수가적어도된다데이터인출을위하여기억장치액세스가필요없다 단점 데이터가저장될수있는공간이 CPU 내부레지스터들로제한 IT 융합공학부컴퓨터구조 2-23

6) 레지스터간접주소지정방식 24 오퍼랜드필드 ( 레지스터번호 ) 가가리키는레지스터의내용을유효주소로사용하여실제데이터를인출하는방식 EA = (R) 장점 : 주소지정할수있는기억장치영역이확장 레지스터의길이 = 16 비트라면, 주소지정영역 : 2 16 = 64K 바이트레지스터의길이 = 32 비트라면, 주소지정영역 : 2 32 = 4G 바이트 IT 융합공학부컴퓨터구조 2-24

25 IT 융합공학부컴퓨터구조 2-25

7) 변위주소지정방식 (displacement addressing) 26 직접주소지정과레지스터간접주소지정방식의조합 EA = A + (R) 사용되는레지스터에따라여러종류의변위주소지정방식정의 PC 상대주소지정방식 (relative addressing mode) 인덱스레지스터 인덱스주소지정방식 (indexed addressing mode) 베이스레지스터 베이스 - 레지스터주소지정방식 (baseregister addressing mode) IT 융합공학부컴퓨터구조 26

상대주소지정방식 (relative addressing mode) 27 프로그램카운터 (PC) 를레지스터로사용 ( 주로분기명령어에서사용 ) EA = A + (PC) 단, A 는 2 의보수 A > 0 : 앞 (forward) 방향으로분기 A < 0 : 뒷 (backward) 방향으로분기 장점 전체기억장치주소가명령어에포함되어야하는일반적인분기명령어보다적은수의비트만있으면된다 단점 분기범위가오퍼랜드필드의길이에의해제한된다 IT 융합공학부컴퓨터구조 27

28 IT 융합공학부컴퓨터구조 28

인덱스주소지정방식 (indexed addressing mode) 29 인덱스레지스터의내용과변위 A 를더하여유효주소를결정 EA = (IX) + A 인덱스레지스터 (IX) : 인덱스 (index) 값을저장하는특수레지스터 [ 예 ] 데이터배열이기억장치의 500 번지부터저장되어있고, 명령어의주소필드에 500 이포함되어있을때, 인덱스레지스터의내용 (IX) = 3 이라면 데이터배열의 4 번째데이터액세스 주요용도 : 배열데이터액세스 자동인덱싱 (auto-indexing) 명령어가실행될때마다인덱스레지스터의내용이자동적으로증가혹은감소이방식이사용된명령어가실행되면아래의두연산이연속적으로수행됨 EA = (IX) + A IX IX + 1 IT 융합공학부컴퓨터구조 29

베이스 - 레지스터주소지정방식 30 베이스레지스터의내용과변위 A 를더하여유효주소를결정 EA = (BR) + A 주요용도 : 프로그램의위치 ( 변경 ) 지정에사용 [ 예 ] 다중프로그래밍 (multiprogramming) 환경에서프로그램코드및데이터를다른위치로이동시켜야할때, 분기명령어나데이터액세스명령어들의주소필드내용을바꿀필요없이, BR 의내용만변경하면된다. IT 융합공학부컴퓨터구조 30

2.4.4 실제상용프로세서들의명령어형식 31 PDP-10 프로세서 : 고정길이의명령어형식사용 단어의길이 = 36 비트, 명령어의길이 = 36 비트 연산코드 = 9 비트 최대 512 종류의연산허용 ( 실제 365 개 ) PDP-11 프로세서 : 다양한길이의명령어형식들사용 연산코드 = 4 16 비트주소개수 : 0, 1, 2 개 IT 융합공학부컴퓨터구조 31

PDP-11 의명령어형식들 32 IT 융합공학부컴퓨터구조 32

펜티엄프로세서의명령어형식 33 선형주소 (linear address: LA) : 유효주소 + 세그먼트의시작주소 ( 세그먼트의시작주소는세그먼트레지스터 (SR) 에저장 ) IT 융합공학부컴퓨터구조 33