PowerPoint 프레젠테이션

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

Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

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

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

Computer Architecture

Computer Architecture

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

마이크로프로세서 개요

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - hy2-12.pptx

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

PowerPoint Presentation

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

3차시.ppt

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

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

슬라이드 1

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

Chapter ...

슬라이드 1

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

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

PowerPoint Presentation

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

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

슬라이드 1

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

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

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

1부. 임베디드시스템

Computer Architecture

[CA-09강] 특수기억장치와 입,출력장치.hwp

Computer Architecture

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

OCW_C언어 기초

Microsoft PowerPoint - 09-컴구조-5-프로세서

Microsoft PowerPoint - hy1.pptx

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

Microsoft PowerPoint - 강의자료2_Chap2,3 [호환 모드]

슬라이드 1

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - 15-MARS

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

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

Introduction to LMC

PowerPoint 프레젠테이션

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

⑵ 2 중앙처리장치의 이름에 따라 286, 386, 486, 586(펜티엄) 등으로 개인용 컴퓨터가 분류 된다. 중앙처리장치의 구성 레지스터 연산장치 내부 데이터 버스 기억장치에서 읽어 들인 값이나 사용할 값, 계산된 결과를 임시로 저장하는

Microsoft PowerPoint - DSD06c_ISA.pptx

03차시학습내용(하드웨어1)

8장 조합논리 회로의 응용

untitled

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770>

9

AVR ATmega128 소개 AVR ATmega128 IT Eng 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기

ARM 프로세서 입문

ARM01

마이크로세서 강의자료

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

마프

Introduction to Computer Science

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

Microsoft Word - PLC제어응용-2차시.doc

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

Microsoft PowerPoint os2.ppt [호환 모드]

ºÎ·ÏB

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

주기억장치에접근할때 DMA 제어기는 CPU 의 Bus Line 을이용하여 Cycle Stealing 을한다. Cycle Stealing 은 DMA 로부터주기억장치로데이터전송요구가일어났을때만 DMA 가버스의사용권을일시적으로 CPU 로부터빼앗는전송방식이다. 3 중앙처리장치

Microsoft PowerPoint - C프로그래밍-chap00.ppt [호환 모드]

Microsoft Word - logic2005.doc

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770>

ATmega128

Microsoft PowerPoint - 02.Architecture.ppt [호환 모드]

1 처리능력 (Throughput) : 일정시간내에시스템이처리하는일의양 2 반환시간 (Turnaround time) : 시스템에작업을의뢰한시간부터처리가완료될때까지걸리는시간 3 사용가능도 (Availability) : 시스템을사용할필요가있을때즉시사용가능한정도 4 신뢰도

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

API 매뉴얼

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

슬라이드 1

API 매뉴얼

PowerPoint Presentation

Microsoft Word - pc03.doc

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

Transcription:

중앙처리장치의 조직과기능 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi

Section 01 컴퓨터본체에서 CPU 의위치살펴보기 CPU 는기본적으로입력된데이터와명령어를프로그램에서지정한순서에따라수행한다. 이러한방식을프로그램내장방식이라부르며이를처음제안한발명자의이름을따서, 폰노이만 (Von Neumann) 컴퓨터구조라한다 2

머신사이클 컴퓨터시스템은프로그램에따라동작을수행하는데, 이때프로그램을구성하는명령어는 4 단계의과정을거쳐동작 3

클록속도와명령어처리속도 컴퓨터의 CPU 나디지털신호논리회로가일정한속도로작동하려면일정한간격으로전기적전동 (pulse) 을공급받아야함 CPU 를비롯한컴퓨터의모든부품은특정신호에맞추어동작하는데, 이특정한신호를클록 (clock) 이라고함 클록은기본적으로주회로기판에장착되어있는클록발생기가만드는데, 클록수가높을수록컴퓨터의처리속도가빠름 명령어처리속도는 1 초에 100 만개의명령어수행을나타내는 MIPS(Million Instruction Per Second) 로나타냄. 처리속도가 18.5 MIPS 라면 1 초동안에 1,850 만개의명령을실행할수있음 4

CPU 내부구조 CPU 내부구조 연산장치 레지스터세트 제어장치 내부 CPU 버스 제어장치는명령을해독하고제어신호를발생하며제어기능을수행 버스를통해서데이터의전달기능을수행 CPU 의내부구조 5

CPU 내부구조 - 연산장치 연산장치 (Arithmetic and Logic Unit) 상태플래그 : ALU 내의상태표시이동기 : 데이터의좌우이동보수기 : 보수연산산술및부울로직 : 산술연산과논리연산 6

CPU 내부구조 - 프로세서레지스터 컴퓨터 CPU( 프로세서 ) 내에서데이터를저장하는장치를프로세서레지스터또는간략하게레지스터라고함 레지스터세트 CPU 내부의레지스터집합레지스터는컴퓨터의기억장치들중액세스속도가가장빠름 일반적으로 CPU 에서고속으로계산하는값을저장하는데사용 ALU 에서처리된결과데이터를임시보관하고, 주기억장치에서읽어온명령어와데이터를임시보관함제한된수의레지스터가 CPU 내부에존재 7

CPU 내부구조 - 프로세서레지스터 8

CPU 내부구조 - 프로그래머가이용하는레지스터 어셈블리프로그래밍을하기위하여명칭과용도를알아야함 어셈블리프로그래머는프로그램에서사용되는변수데이터등을저장하기위해해당레지스터를알고있어야함 9

CPU 내부구조 - 프로그래머가이용하는레지스터 조건코드 (condition code): 사용자에게보이는레지스터에저장되데이터의상태를표시하는데사용. 연산의결과에따라세트되는비트들 - 부호비트 : 양수인지음수인지 - 오버플로우비트 : 연산결과가오버플로우가발생했는지여부 10

CPU 내부구조 - 제어및상태레지스터 프로그램실행과정에서 CPU 내부적으로사용되는대표레지스터 11

CPU 내부구조 - 제어및상태레지스터 12

제어장치 제어장치프로그램에의해주어진연산의순서대로실행하기위해기억, 연산, 입출력장치에제어신호발생제어장치의동작 1 단계 : 명령어를해독제어장치내의명령어레지스터에저장 2 단계 : 명령어레지스터에저장된명령어를실행 주기억장치에저장되어있는명령어의구조 연산코드필드 : 수행되어야할연산이지정되어있는필드 기억장치주소번지필드 : 해당연산을수행할때데이터가저장되어있는주소 명령어의형식 13

제어장치의구성요소 제어장치 기억장치버퍼레지스터 : 주기억장치에서읽어온명령어를임시적으로저장하는곳 기억장치주소레지스터 : 명령어레지스터에저장된명령어의주소번지를저장함. 저장된주소번지에근거하여주기억장치에서데이터를읽어와연산장치에전달하고그데이터를사용해연산을함 명령어레지스터 : 명령어를저장하는곳 명령어해독기 : 명령어레지스터에저장된명령어의연산코드필드를전달받아서명령어를해독하여수행할연산을결정. 수행할연산을연산장치에서실행하도록함. 프로그램카운터 : 다음에수행할명령어의주소번지를저장. 현재명령어의실행이종료되면다음명령어의번지를프로그램카운터에서확인하고해당번지에서명령어를읽어와서기억장치버퍼레지스터에저장 14

내부 CPU 버스 내부 CPU 버스 (internal CPU bus) 는컴퓨터 CPU 내에서 ALU 와레지스터간의데이터이동과 ALU 와제어장치간의데이터이동그리고제어장치와레지스터간의데이터이동을위한통로를말함 내부 CPU 버스는 CPU 밖의시스템버스들과는직접연결되지않으며, 반드시버퍼레지스터나시스템버스인터페이스회로를통하여시스템버스와접속한다. 15

CPU 의기능과동작그리고성능 CPU 가모든명령어에대하여공통적으로수행하는기능은명령어인출 (instruction fetch) 와명령어해독 (instruction decode) CPU 와주기억장치와의데이터전송 16

CPU 의동작 CPU 의기능과동작그리고성능 17

제어장치의기본동작 컴퓨터에있는모든데이터는 CPU 내에있는제어장치에서지시를받아산술연산장치에서처리됨. 따라서컴퓨터의모든장치는제어장치의신호에의해서만작동되며, 이러한신호는제어버스에의해전달됨 18

제어장치의기본동작 제어장치의기본동작 19

프로그램카운터의동작 제어장치의기본동작 프로그램은앞에서부터한명령씩차례대로실행되지만조건부분기 ( 예 : JUMP) 와같이그순서를바꾸어야하는경우가생김 이때는프로그램카운터를사용해그내용을바꿈으로써분기된이후부터의명령들이새로운순서에맞게실행되게함 프로그램카운터의동작 20

제어장치의기본동작 제어장치의동작을포함한 CPU 의동작 21

CPU 의성능요소 컴퓨터의속도는일반적으로 CPU 의속도를이야기함 CPU 가데이터를처리하는속도영향인자들클록 (clock) 주파수워드 (word) 크기캐시기억장치명령어집합의복잡성파이프라이닝 (pipelining) 병렬처리 (parallel processing) 22

CPU 의성능요소 클록주파수 워드크기 23

CPU 의성능요소 캐시기억장치 캐시기억장치는 CPU 가데이터에빠르게접근할수있도록하는고속의기억장치 컴퓨터는다음에어떤데이터가필요한지예측하여미리캐시기억장치에갖다놓을수있음 CPU 는필요한데이터를찾을때주기억장치를확인하기전에먼저캐시기억장치를확인한다. 따라서읽기와쓰기동작의속도가향상되어전체적으로 CPU 속도에영향을주게된다. 24

명령어집합의복잡성 CPU 의성능요소 25

CPU 의성능요소 파이프라이닝 26

CPU 의성능요소 병렬처리 27

Section 01 컴퓨터본체에서 CPU 의위치살펴보기 [ 그림 9-1] 주회로기판에서중앙처리장치와주기억장치 28

CPU 의성능 성능측정요소 클럭주파수워드크기캐시메모리명령어집합의복잡성파이프라이닝병렬처리 29

성능측정요소 클럭주파수수행되는연산의타이밍을맞추기위한펄스컴퓨터의명령어수행속도결정하나의클럭동안에명령어부사이클수행클럭의주기가짧을수록많은명령을처리 워드크기 CPU 가한번에읽고쓸수있는비트수시스템에따라다르게적용워드가큰시스템은워드가작은시스템에비해한명령어에서더많은데이터처리가능 30

캐시메모리 성능측정요소 CPU 가데이터를빠르게접근할수있는고속기억장치읽기와쓰기의속도향상 명령어집합의복잡성복잡명령어집합컴퓨터 (CISC : Complex Instruction Set Computer) CPU 에많은복잡한명령어가내재된컴퓨터축소명령어집합컴퓨터 (RISC : Reduced Instruction Set Computer) CPU 내부에빠르게수행되는제한된수의간단한명령어만이내재된컴퓨터 31

파이프라이닝 성능측정요소 프로세서가이전명령마치기전에다음명령을수행 병렬처리 [ 그림 9-2] 파이프라이닝의동작원리 다수의 CPU 가있는컴퓨터에서한번에여러개의명령어를동시에처리하는방법 [ 그림 9-3] 병렬처리의동작원리 32

명령어인출 CPU 의기능 캐시나주기억장치에저장되어있는명령어를읽어오는기능 명령어해독 읽혀진명령어에대해수행해야할동작을결정하기위해인출된명령어해독 기능 내용 데이터인출 (Data Fetch) 기능 명령어실행을위해기억장치또는입출력장치로부터데이터를읽어오는과정이다. 데이터처리 (Data Process) 기능 데이터쓰기 (Data Store) 기능 읽어온데이터에대한산술적또는논리적연산을수행한다. 데이터처리과정에서의수행결과를저장하는기능이다. 명령어의기능 33

CPU 의조직 CPU 내부구조 연산장치레지스터세트제어장치내부 CPU 버스 [ 그림 9-5] CPU 의내부구조 34

내부구조 연산장치 (Arithmetic and Logic Unit) 상태플래그 : ALU 내의상태표시이동기 : 데이터의좌우이동보수기 : 보수연산산술및부울로직 : 산술연산과논리연산 레지스터세트 CPU 내부의레지스터집합레지스터는컴퓨터의기억장치들중액세스속도가가장빠름제한된수의레지스터가 CPU 내부에존재 35

CPU 내부구조 제어장치프로그램에의해주어진연산의순서대로실행하기위해기억, 연산, 입출력장치에제어신호발생제어장치의동작 1 단계 : 명령어를해독제어장치내의명령어레지스터에저장 2 단계 : 명령어레지스터에저장된명령어를실행 내부 CPU 버스 (internal CPU bus) ALU 와레지스터들간의데이터이동을위한통로데이터선과제어선으로구성외부의시스템버스와연결되지않음버퍼레지스터또는버스인터페이스회로를통해시스템버스와접속 36

CPU 의동작 데이터는주기억장치로부터레지스터 1 번으로외부시스템버스를통해연결제어장치는레지스터 1 과레지스터 2 에저장되어있는데이터를덧셈하라는제어신호를 ALU 로전달 ALU 에서는제어신호에의해덧셈을수행, 그결과를누산기에저장계산결과는외부시스템버스를통해주기억장치에전달 [ 그림 9-6] CPU 의기본동작 37

제어장치의기본동작 주기억장치에서명령어를읽어서제어장치내에명령어레지스터로저장된다. 명령어의포인터에는다음에실행될명령어의주소가저장된다. 제어장치가명령어레지스터의명령어를해석한다. 해석된명령어는해당되는제어신호를발생하게된다. 제어장치의기본동작 38

CPU 는주기억장치에서읽어온명령어와데이터를임시적으로보관장소필요 ALU 의처리결과임시적보관장소필요 레지스터 CPU 에서사용되는임시적인저장장치 사용자에게보이는레지스터 제어및상태레지스터 레지스터의조직 39

사용자에게보이는레지스터 어셈블리프로그램을위해사용되는레지스터프로그래머가레지스터의명칭과용도를미리인지일반목적용레지스터여러가지용도로사용, 연산의피연산자데이터레지스터데이터저장에사용, 누산기주소레지스터특정주소지정방식을위해사용 세그먼트포인터 인덱스레지스터 스택포인터조건코드레지스터에저장된데이터의상태표시 부호비트 영 (zero) 비트 오버플로우비트 40

제어및상태레지스터 프로그램실행과정에서 CPU 내부적으로사용되는레지스터프로그램카운터 (Program Counter) 명령어레지스터 (Instruction Register) 기억장치주소레지스터 (Memory Address Register) 기억장치버퍼레지스터 (Memory Buffer Register) 입 / 출력주소레지스터 (I/O AR: I/O Address Register) 입 / 출력버퍼레지스터 (I/O BR: I/O Buffer Register) 프로그램상태단어 (Program Status Word) 데이터의상태와조건을나타내기위하여추가된조건코드비트 부호 (sign) 비트, 영 (zero) 비트, 올림수 (carry) 비트, 동등 (equal) 비트, 오버플로우 (overflow) 비트, 인터럽트가능 / 불가능 (interrupt enable/disable) 비트, 슈퍼바이저 (supervisor) 비트 41

명령어사이클 명령어인출사이클 (fetch cycle) 명령어실행사이클 (execute cycle) [ 그림 9-9] 명령어사이클 42

명령어인출사이클 CPU 가주기억장치로부터명령어를읽어오는단계 프로그램카운터 (PC) 는다음에인출할명령어의주소 프로세서는 PC 가가리키는기억장소로부터명령어를인출. PC 내용을증가 인출된명령어가명령어레지스터 (IR) 로적재. 프로세서는명령어를해석하고, 요구된동작을수행 CPU 클럭마이크로연산동작 t 0 MAR PC PC 내용을 MAR 로전송 t 1 MBR M[MAR] PC PC + 1 해당주소기억장치의명령어가 MBR 로적재 PC 의내용에 1 을증가 t 2 IR MBR MBR 에있는명령어코드가 IR 로이동 인출사이클의마이크로연산 MAR: Memory Address Register MAR: Memory Buffer Register 43

인출사이클에서주소와명령어흐름 인출사이클에서주소와명령어흐름 44

명령어실행사이클명령어실행의종류 프로세서와기억장치간에데이터가전송프로세서와 I/O 모듈간에데이터가전송데이터에대하여지정된산술혹은논리연산이수행제어 (control) 동작 점프 (jump) 와같이실행될명령어의순서가변경될때사용된다. 45

덧셈연산의실행사이클 명령어실행사이클 CPU 클럭 t 0 t 1 t 2 마이크로연산 MAR IR(addr) MBR M[MAR] AC AC + MBR 동작 MBR 에저장될데이터의기억장치의주소를 MAR 로전송 저장할데이터를버퍼레지스터인 MBR 로이동 MBR 데이터와 AC 의내용을더하고결과값을다시 AC 에저장 ADD 실행사이클의마이크로연산 46

ADD 명령어실행사이클동안의정보흐름 [ 그림 9-11] ADD 명령어실행사이클동안의정보흐름 47

명령어파이프라이닝 2단계명령어파이프라인 4단계명령어파이프라인 6단계명령어파이프라인파이프라인에의한속도향상 48

2 단계명령어파이프라이닝 인출 (fetch stage), 실행 (execute stage) 두개의독립적파이프라인모듈로분리실행 명령어처리속도가약 2 배향상 처리시간이동일하지않으면 2 배의속도향상을기대할수없다. [ 그림 9-12] 2 단계명령어파이프라인과시간흐름도 49

4단계명령어파이프라인명령어인출 (IF : Instruction Fetch) 명령어를기억장치로부터인출 명령어해독 (ID : Instruction Decode) 인출된명령어해석 오퍼랜드인출 (OF : Operand Fetch) 기억장치로부터변수또는데이터인출 실행 (EX : Execute) 지정된연산을수행 2 단계명령어파이프라인에비해더빠른속도 50

4 단계명령어파이프라인과시간흐름도 4 단계명령어파이프라인과시간흐름도 IF: instruction fetch, ID: Instruction Decode, OF: Operation Fetch, EX: Execute 51

6단계명령어파이프라인 FI (Fetch Instruction) DI (Decode Instruction) CO (Calculation Operand) FO (Fetch Operand) EI (Execute Instruction) WO (Write Operand) 처리속도의향상 최대 6 개의명령어단계가동시에처리 52

6 단계명령어파이프라인과시간흐름도 6 단계명령어파이프라인시간흐름도 FI (Fetch Instruction)/DI (Decode Instruction)/CO (Calculation Operand) FO (Fetch Operand)/EI (Execute Instruction)/WO (Write Operand) 53

파이프라인단계수 = k 실행할명령어들의수 = N 파이프라인에의한속도향상 각파이프라인단계가한클럭주기씩걸린다고가정 파이프라인에의한전체명령어실행시간 T T = k + (N - 1) 명령어를실행하는데 k 주기소요 (N - 1) 개의명령어들은각각한주기씩만소요만약파이프라인되지않은경우에는 N 개의명령어들을실행하는데는 k N 주기가소요 54

속도향상의예 [ 예 ] 파이프라인단계수 = 4 파이프라인클럭 = 1 MHz( 각단계에서의소요시간 = 1 μs ) 인경우첫번째명령어실행에걸리는시간 = 4 μs다음부터는매 1 μs마다한개씩의명령어실행완료 10 개의명령어실행시간 = 4 + (10-1) = 13 μs 파이프라이닝의속도향상 : SP k k N ( N 1) 속도향상 = (10 4) / 13 3.08 배 55

속도향상의예 [ 예 ] 파이프라인단계수 = 4 명령어의수 N 증가 N = 100 이라면, Sp = 400 / 103 = 3.88 N = 1000 이라면, Sp = 4000 / 1003 = 3.99 N = 10000 이라면, Sp = 40000 / 10003 = 3.998 N, Sp = 4 파이프라인단계수만큼속도증가 56