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

Similar documents
PowerPoint 프레젠테이션

Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

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

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

Microsoft PowerPoint - hy2-12.pptx

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

Computer Architecture

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

마이크로프로세서 개요

슬라이드 1

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

hlogin2

Computer Architecture

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

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

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

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

PowerPoint 프레젠테이션

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

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

슬라이드 1

슬라이드 1

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

Chapter ...

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

PowerPoint 프레젠테이션

3차시.ppt

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

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

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

슬라이드 1

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

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

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

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

untitled

PowerPoint Presentation

9

Deok9_Exploit Technique

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

슬라이드 1

1부. 임베디드시스템

No Slide Title

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770>

Microsoft PowerPoint - DSD06c_ISA.pptx

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

Computer Architecture

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

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

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

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

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

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

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

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

마프

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

hwp

Computer Architecture

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

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770>

=

ARM01

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

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

Chapter 2

PowerPoint 프레젠테이션

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

ARM 프로세서 입문

OCW_C언어 기초

IDA 5.x Manual hwp

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

Microsoft Word - FunctionCall

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

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

Microsoft PowerPoint - 15-MARS

Microsoft PowerPoint - hy1.pptx

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

(Microsoft PowerPoint - 1-2\300\345)

8장 조합논리 회로의 응용

Introduction to LMC

Microsoft PowerPoint - 강의2.ppt

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

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

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

PowerPoint Template

Microsoft PowerPoint os2.ppt [호환 모드]

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

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

Microsoft PowerPoint - o8.pptx

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

Transcription:

컴퓨터구조 제 9 강 중앙처리장치의조직과기능

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

학습목표 rcpu 의성능을향상시키는요인들을알아본다. rcpu 의기본적인기능을이해한다. rcpu 는 ALU, 제어장치, 레지스터집합, 내부버스등으로구성되는것을공부한다. rcpu 의임시저장장치인레지스터를분류하고이해한다. rcpu 에서수행하는명령어사이클을이해한다. r명령어파이프라이닝의개념을이해한다. 컴퓨터구조 3 9. CPU 조직과기능

컴퓨터본체에서 CPU 의위치살펴보기 컴퓨터구조 4 9. CPU 조직과기능

CPU 의성능 r성능측정요소 r클럭주파수 r워드크기 r캐시메모리 r명령어집합의복잡성 r파이프라이닝 r병렬처리 컴퓨터구조 5 9. CPU 조직과기능

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

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

성능측정요소 r 파이프라이닝 r 프로세서가이전명령을마치기전에다음명령을수행 1 명령어 MAM M30 RAM 2 MOV M10 R1 제어장치 레지스터 누산기 3 MOV M11 R2 MOV M10 R1 MAM M30 r 병렬처리 r 다수의 CPU 가있는컴퓨터에서한번에여러개의명령어를동시에처리하는방법 명령어 CPU 제어장치 Data 1 Data 2 Data 3 Processor 1 Processor 2 각프로세서의결과조합 출력 Processor 3 컴퓨터구조 8 9. CPU 조직과기능

CPU 의기능 r 명령어인출 r 캐시메모리나주기억장치에저장되어있는명령어를읽어오는기능 r 명령어해독 r 읽혀진명령어에대해수행해야할동작을결정하기위해인출된명령어해독 기능 데이터인출 (Data Fetch) 기능 데이터처리 (Data Process) 기능 데이터쓰기 (Data Store) 기능 내용 명령어실행을위하여데이터가필요한경우에는기억장치또는입출력장치로부터그데이터를읽어오는과정이다. 연산과정에서사용하는데이터를불러오는과정이라고할수있다. 읽어온데이터에대한산술적또는논리적연산을수행한다. 데이터처리과정에서의수행결과를저장하는기능이다. 컴퓨터구조 9 9. CPU 조직과기능

CPU 의조직 rcpu 내부구조 r연산장치 r레지스터세트 r제어장치 r내부 CPU 버스 ALU ( 산술논리로직 ) 상태플래그 이동기 보수기 산술및부울로직 내부 C P U 버스 레지스터 제어장치 제어경로 CPU 컴퓨터구조 10 9. CPU 조직과기능

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

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

CPU 의동작 1. 데이터는주기억장치로부터레지스터 1번으로외부시스템버스를통 해연결 2. 제어장치는레지스터 1과레지스터 2에저장되어있는데이터를덧셈하 라는제어신호를 ALU 로전달 3. ALU 에서는제어신호에의해덧셈을수행, 그결과를누산기에저장 4. 계산결과는외부시스템버스를통해주기억장치에전달 컴퓨터구조 13 9. CPU 조직과기능

제어장치의기본동작 1. 주기억장치에서명령어를읽어서제어장치내에명령어레지스터로 저장된다. 2. 명령어포인터에는다음에실행될명령어의주소가저장된다. 3. 제어장치가명령어레지스터의명령어를해석한다. 4. 해석된명령어는해당되는제어신호를발생하게된다. 컴퓨터구조 14 9. CPU 조직과기능

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

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

제어및상태레지스터 r 프로그램실행과정에서 CPU 내부적으로사용되는레지스터 r 프로그램카운터 (Program Counter) r 주기억장치로부터다음에인출할명령어의주소저장 r 명령어레지스터 (Instruction Register) r 가장최근에주기억장치인 RAM 으로부터인출한명령어를저장 r 기억장치주소레지스터 (Memory Address Register) r 액세스할기억장치의주소가저장, 레지스터의출력이주소버스와직접연결 r 기억장치버퍼레지스터 (Memory Buffer Register) r 기억장치에쓰여질데이터혹은가장최근에읽은데이터가저장, 데이터버스와직접연결 r 입 / 출력주소레지스터 (I/O AR: I/O Address Register) r 입 / 출력장치의주소를저장 r 입 / 출력버퍼레지스터 (I/O BR: I/O Buffer Register) r 입 / 출력모듈과 CPU 사이에교환되는데이터를일시적으로저장 r 프로그램상태단어 (Program Status Word) r 데이터의상태와조건을나타내기위하여추가된조건코드비트 r부호 (sign) 비트, 영 (zero) 비트, 올림수 (carry) 비트, 동등 (equal) 비트, 오버플로우 (overflow) 비트, 인터럽트가능 / 불가능 (interrupt enable/disable) 비트, 슈퍼바이저 (supervisor) 비트 컴퓨터구조 17 9. CPU 조직과기능

마이크로프로세서레지스터조직 General Register General Register AX Accumulator EAX AX BX Base EBX BX CX Count ECX CX DX Data EDX DX Pointer & Index SP Stack Pointer ESP SP BP Base Pointer EBP BP SI Source Index ESI SI DI Dest Index EDI DI CS DS SS Segment Code Data Stack Program Status Instruction Pointer Flags ES Extra (b) 80386 PentiumII Program Status Instruction Pointer Flags (a) 8086 컴퓨터구조 18 9. CPU 조직과기능

명령어사이클 r명령어인출사이클 (fetch cycle) r명령어실행사이클 (execute cycle) 시작 다음명령어패치 명령어실행 패치사이클 실행사이클 끝 컴퓨터구조 19 9. CPU 조직과기능

명령어인출사이클 r CPU 가주기억장치로부터명령어를읽어오는단계 1. 프로그램카운터 (PC) 는다음에인출할명령어의주소를갖고있음 2. 프로세서는 PC 가가리키는기억장소로부터명령어를인출. PC 내용을증가 3. 인출된명령어가명령어레지스터 (IR) 로적재. 프로세서는명령어를해석하고, 요구된동작을수행 CPU 클럭 마이크로연산 동작 t 0 t 1 t 2 MAR PC MBR M[MAR] PC PC + 1 IR MBR PC 내용을 MAR 로전송 해당주소기억장치의명령어가 MBR 로적재 PC 의내용에 1 을증가 MBR 에있는명령어코드가 IR 로이동 CPU 클럭 100MHz(10ns) 인출사이클 : 10ns 3 = 30ns 컴퓨터구조 20 9. CPU 조직과기능

인출사이클에서주소와명령어흐름 컴퓨터구조 21 9. CPU 조직과기능

명령어실행사이클 r 명령어를실행하는단계 1. 프로세서와기억장치간에데이터가전송 2. 프로세서와 I/O 모듈간에데이터가전송 3. 데이터에대하여지정된산술혹은논리연산이수행 4. 제어 (control) 동작 : 점프 (jump) 와같이실행될명령어의순서가변경될때사용된다. CPU 클럭 t 0 마이크로연산 MAR IR(addr) 동작 MBR 에저장될데이터의기억장치의주소를 MAR 로전송 t 1 MBR M[MAR] 저장할데이터를버퍼레지스터인 MBR 로이동 t 2 AC AC + MBR MBR 데이터와 AC 의내용을더하고결과값을다시 AC 에저장 컴퓨터구조 22 9. CPU 조직과기능

ADD 명령어실행사이클동안의정보흐름 컴퓨터구조 23 9. CPU 조직과기능

명령어파이프라이닝 r2단계명령어파이프라인 r4단계명령어파이프라인 r6단계명령어파이프라인 r파이프라인에의한속도향상 컴퓨터구조 24 9. CPU 조직과기능

2단계명령어파이프라이닝 r 인출 (fetch stage), 실행 (execute stage) 두개의독립적파이프라인모듈로분리실행 r 명령어처리속도가약 2배향상 r 처리시간이동일하지않으면 2배의속도향상을기대할수없다. 명령어 인출단계 명령어 실행단계 실행결과 클럭주기 1 2 3 4 명령어 1 인출 실행 명령어 2 인출 실행 명령어 3 인출 실행 컴퓨터구조 25 9. CPU 조직과기능

4단계명령어파이프라인 r명령어인출 (IF : Instruction Fetch) r명령어를기억장치로부터인출 r명령어해독 (ID : Instruction Decode) r인출된명령어해석 r오퍼랜드인출 (OF : Operand Fetch) r기억장치로부터변수또는데이터인출 r실행 (EX : Execute) r지정된연산을수행 r2단계명령어파이프라인에비해더빠른속도 컴퓨터구조 26 9. CPU 조직과기능

4단계명령어파이프라인과시간흐름도 명령어 IF ID OF EX 실행결과 클럭주기명령어 1 명령어 2 명령어 3 명령어 4 명령어 5 명령어 6 1 2 3 4 5 6 7 8 9 IF ID OF EX IF ID OF EX IF ID OF EX IF ID OF EX IF ID OF EX IF ID OF EX 컴퓨터구조 27 9. CPU 조직과기능

6단계명령어파이프라인 rfi (Fetch Instruction) rdi (Decode Instruction) rco (Calculate Operand) rfo (Fetch Operand) rei (Execute Instruction) rwo (Write Operand) r처리속도의향상 r최대 6개의명령어단계가동시에처리 컴퓨터구조 28 9. CPU 조직과기능

6단계명령어파이프라인과시간흐름도 time 클럭주기명령어 1 명령어 2 명령어 3 명령어 4 명령어 5 명령어 6 명령어 7 명령어 8 명령어 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO 컴퓨터구조 29 9. CPU 조직과기능

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

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

속도향상의예 r[ 예 ] r파이프라인단계수 = 4 r명령어의수 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 r명령어수많으면파이프라인단계수만큼속도증가 컴퓨터구조 32 9. CPU 조직과기능

파이프라인으로인한속도저하 rif 와 OF 단계가동시에기억장치를액세스하게되면기억장치충돌 r충돌이일어나면지연발생으로효율저하 r조건분기명령 r프로그램이순차적으로명령어를수행하는것이아니라다른순서에있는명령어들을수행 컴퓨터구조 33 9. CPU 조직과기능

분기명령어가존재하는 4단계명령어파이프라인시간흐름도 time 클럭주기명령어 1 명령어 2 명령어 3 명령어 4 명령어 5 명령어 6 명령어 12 명령어 13 1 2 3 4 5 6 7 8 9 10 11 IF ID OF EX IF ID OF EX IF ID OF EX IF ID OF IF ID IF IF ID OF EX IF ID OF EX 컴퓨터구조 34 9. CPU 조직과기능

분기명령어가존재하는 6단계명령어파이프라인시간흐름도 time Branch Penalty 클럭주기명령어 1 명령어 2 명령어 3 명령어 4 명령어 5 명령어 6 명령어 7 명령어 15 명령어 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO FI DI CO FI DI FI FI DI CO FO EI WO FI DI CO FO EI WO 컴퓨터구조 35 9. CPU 조직과기능