Microsoft PowerPoint - hy2-12.pptx

Similar documents
Computer Architecture

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

Computer Architecture

PowerPoint 프레젠테이션

Computer Architecture

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

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - hy2-12.pptx

PowerPoint 프레젠테이션

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

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

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

마이크로프로세서 개요

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

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

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

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

PowerPoint Presentation

PowerPoint 프레젠테이션

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

PowerPoint Presentation

PowerPoint 프레젠테이션

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

슬라이드 1

3차시.ppt

슬라이드 1

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

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

Chapter ...

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

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770>

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

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

Microsoft PowerPoint - DSD06c_ISA.pptx

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

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

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

슬라이드 1

Computer Architecture

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

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

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

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

Introduction to LMC

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

Microsoft PowerPoint - hy1.pptx

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

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

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint 프레젠테이션

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

untitled

hwp

9

Microsoft PowerPoint - 권장 사양

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

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

PRO1_09E [읽기 전용]


Microsoft PowerPoint - 15-MARS

ºÎ·ÏB

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

마이크로세서 강의자료

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

Microsoft PowerPoint - 강의2.ppt

Microsoft PowerPoint - DSD06b_Cont.pptx

Microsoft PowerPoint - o8.pptx

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

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

hlogin2

구문 분석

마프

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770>

Ä¡¿ì³»ÁöÃÖÁ¾

1부. 임베디드시스템

PowerPoint 프레젠테이션

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

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

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

8장 조합논리 회로의 응용

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint os2.ppt [호환 모드]

JVM 메모리구조

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

강의개요

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

Microsoft Word - FunctionCall

PowerPoint 프레젠테이션

ADP-2480

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEB1E2BBE7BBEABEF7B1E2BBE72DC7CAB1E2B1B3C0E B3E229205BC8A3C8AF20B8F0B5E55D>

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

2014밝고고운동요부르기-수정3

2005프로그램표지

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

T100MD+

Microsoft Word - pc03.doc

ARM 프로세서 입문

Transcription:

CPU의구조와기능 CPU 의명령어수행과정 명령어인출 (Instruction Fetch) : 기억장치로부터명령어를읽어온다 명령어해독 (Instruction Decode) : 수행해야할동작을결정하기위하여명령어를해독한다 모든명령어들에대하여공통적으로수행 데이터인출 (Data Fetch) : 명령어실행을위하여데이터가필요한경우에는기억장치혹은 I/O 장치로부터그데이터를읽어온다 데이터처리 (Data Process) : 데이터에대한산술적혹은논리적연산을수행 데이터쓰기 (Data Store) : 수행한결과를저장 명령어에따라필요한경우에만수행 1 2 2.1 CPU 의기본구조 CPU 의내부구성요소 산술논리연산장치 (Arithmetic and Logical Unit: ALU) 레지스터세트 (Register Set) 제어유니트 (Control Unit) ALU 각종산술연산들과논리연산들을수행하는회로들로이루어진하드웨어모듈 산술연산 : 덧셈, 뺄셈, 곱셈, 나눗셈 논리연산 : AND, OR, NOT, XOR 등 레지스터 (register) CPU내부에위치한액세스속도가가장빠른기억장치 레지스터들의수가제한됨 ( 특수목적용레지스터들과적은수의일반목적용레지스터들 ) 3 4

CPU 의내부구성요소 ( 계속 ) 2.2 명령어실행 제어유니트 프로그램코드 ( 명령어 ) 를해석하고, 그것을실행하기위한제어신호들 (control signals) 을순차적으로발생하는하드웨어모듈 명령어사이클 (instruction cycle) CPU 가한개의명령어를실행하는데필요한전체처리과정 명령어인출과명령어실행의부사이클로구성됨 CPU 내부버스 ALU와레지스터들간의데이터이동을위한데이터선들과제어유니트로부터발생되는제어신호선들로구성된내부버스 외부의시스템버스들과는직접연결되지않음 버퍼레지스터들혹은시스템버스인터페이스회로를통하여시스템버스와접속. 부사이클 (subcycle) 인출사이클 (fetch cycle) : CPU 가기억장치로부터명령어를읽어오는단계 실행사이클 (execution cycle) : 명령어를실행하는단계 5 6 기본명령어사이클 간단한 CPU 명령어집합 명령어 동작 LOAD addr AC M[addr] STA addr ADD addr M[addr] AC AC AC + M[addr] 반복실행 명령어사이클 JUMP addr 명령어형식 opcode LOAD 1(0001) STA 2(0010) PC addr 4-bit 12-bit ADD 5(0101) JUMP 8(1000) 7 8

CPU 레지스터 데이터경로가표시된 CPU 내부구조 CPU 레지스터 AC (Accumulator, 누산기 ) PC (Program Counter) CPU 내부에위치 IR (Instruction Register) MAR (Memory Address Register) MBR (Memory Buffer Register) 또는 MDR(Memory Data Reg) 시스템버스와의인터페이스에위치 9 10 CPU 내부레지스터들 CPU 내부레지스터들 ( 계속 ) 프로그램카운터 (Program Counter: PC) 다음에인출할명령어의주소를가지고있는레지스터 각명령어가인출된후에는명령어길이만큼주소를증가 분기 (jump) 명령어가실행되는경우에는목적지주소로갱신됨 명령어레지스터 (Instruction Register: IR) 가장최근에인출된명령어코드가저장되어있는레지스터 기억장치주소레지스터 (Memory Address Register: MAR) 명령어또는데이터의주소가시스템주소버스로출력되기전에일시적으로저장되는주소레지스터 기억장치버퍼레지스터 (Memory Buffer Register: MBR) 기억장치에쓰여질데이터혹은기억장치로부터읽혀진데이터를일시적으로저장하는버퍼레지스터 누산기 (Accumulator: AC) 데이터를일시적으로저장하는레지스터. 레지스터의크기는 CPU 가한번에처리할수있는데이터비트수 11 12

인출사이클 인출사이클의주소및명령어흐름도 마이크로연산 (micro -operation) 한 CPU 클럭주기에수행되는 CPU 내의동작 기계어명령어의실행 여러단계의마이크로연산들로이루어짐 (1) MAR PC 인출사이클의마이크로연산 (IR M[MAR]) t0 : MAR PC t1 : MBR M[MAR], PC PC + 1 t2 : IR MBR (3) IR MBR 13 (2) MBR M[MAR], PC PC + 1 14 실행사이클 Load, Store 명령어 CPU는실행사이클동안에명령어코드를해독 (decode) 하고, 그결과에따라필요한연산들을수행 실행사이클에서수행되는마이크로연산들은명령어에따라다름 CPU 가수행하는연산들의종류 데이터이동 : CPU 와기억장치혹은 I/O 장치간에데이터를이동 LOAD addr, STA addr 데이터처리 : 데이터에대하여산술혹은논리연산을수행 ADD addr 프로그램제어 : 프로그램의실행순서를결정 JMP addr LOAD addr (AC M[addr] ) 기억장치에저장되어있는데이터를 AC로이동하는명령어 실행사이클의마이크로연산 t0 : MAR IR(addr) t1 : MBR M[MAR] t2 : AC MBR STA addr (M[addr] AC) AC 레지스터의내용을기억장치에저장하는명령어 실행사이클의마이크로연산 t0 : MAR IR(addr) t1 : MBR AC t2 : M[MAR] MBR 15 16

ADD 명령어 ADD 명령어실행사이클 ADD addr (AC AC + M[addr]) 기억장치에저장된데이터를 AC 의내용과더하고, 그결과를다시 AC 에저장하는명령어 (1) MAR IR(addr) 실행사이클의마이크로연산 t0 : MAR IR(addr) t1 : MBR M[MAR] t2 : AC AC + MBR (3) AC AC + MBR 17 (2) MBR M[MAR] 18 JUMP 명령어 어셈블리프로그램실행과정의예 JUMP addr (PC addr) 오퍼랜드필드 (addr) 가가리키는주소의명령어로실행순서를변경하는분기 (branch) 명령어 실행사이클의마이크로연산 t0 : PC IR(addr) 19 20

어셈블리프로그램실행과정의예 ( 계속 ) 어셈블리프로그램실행과정의예 ( 계속 ) LOAD 250 인출 : 100번지의첫번째명령어코드가인출되어 IR에저장 PC = PC + 1 = 101 실행 : 250 번지의데이터 (0004) 를 AC 로이동 ADD 251 인출 : 두번째명령어가 101번지로부터인출되어 IR에저장 PC = PC + 1 = 102 실행 :AC 와 251 번지의내용을더하고, 결과를 AC 에저장 21 22 어셈블리프로그램실행과정의예 ( 계속 ) 어셈블리프로그램실행과정의예 ( 계속 ) STA 251 인출 : 세번째명령어가 102 번지로부터인출되어 IR에저장 PC = PC + 1 = 103 실행 :AC 의내용이 251 번지에저장 JUMP 170 인출 : 네번째명령어가 103 번지로부터인출되어 IR에저장 PC = PC + 1 = 104 실행 : 분기될목적지주소 (IR 의오퍼랜드부분 ) 가 PC 로적재, 즉, PC = 170 다음에 170 번지의명령어인출 23 24

간접주소지정방식 간접주소지정방식 (indirect addressing) 명령어에데이터의주소가아니라데이터의주소가저장된메모리주소를저장하는방식 간접주소지정을포함하는명령어형식 (A) 간접사이클 (indirect cycle) 간접사이클 간접주소지정방식을사용하는명령어실행에서메모리에저장된데이터의주소를인출하는사이클 명령어의간접비트 (I) 가 1 인경우에인출사이클과실행사이클사이에위치 I=0: 직접주소지정방식 addr = A, 오퍼랜드 = M[A] I=1: 간접주소지정방식 addr = M[A], 오퍼랜드 = M[addr] = M[ M[A] ] 오퍼랜드를얻기위해서메모리를두번읽어야함. 간접사이클에서수행될마이크로 - 연산 t0 : MAR IR(addr) t1 :MBR M[MAR] t2 : IR(addr) MBR 인출된명령어의주소필드내용을이용하여기억장치로부터데이터의실제주소를인출하여 IR의주소필드에저장 ADD [250] ; AC AC + M[ M[250] ] 25 26 2.3 명령어파이프라이닝 2- 단계명령어파이프라인 ( 계속 ) 명령어파이프라이닝 (instruction pipelining) CPU의프로그램처리속도를높이기위하여 CPU 내부하드웨어를여러단계로나누어여러명령어를중첩하여처리하는기술 2- 단계명령어파이프라인 2- 단계파이프라인을이용하면명령어처리속도가두배향상 일반적으로단계수만큼의속도향상 문제점 : 두단계의처리시간이동일하지않으면두배의속도향상을 얻지못함 ( 파이프라인효율저하 ) 해결책 : 파이프라인단계의수를증가시켜각단계의처리시간을같게함 ( 파이프라인단계의수를늘리면전체적으로속도향상도더높아짐 ) 27 28

4- 단계명령어파이프라인 파이프라인에의한속도향상 instruction fetch instruction decode operand fetch execute 전체명령어실행시간 * 비파이프라이닝 N x 4 클럭주기 * 파이프라이닝 N + 3 클럭주기 가정 파이프라인단계수 = k 실행할명령어들의수 = N 각파이프라인단계가한클럭주기씩걸린다고가정 파이프라인에의한전체명령어실행시간 T : T = k + (N - 1) 첫번째명령어를실행하는데 k 주기가걸리고, 나머지 (N - 1) 개의명령어들은각각한주기씩만소요 파이프라인되지않은경우의 N 개의명령어들을실행시간 T : T = k N 파이프라인에의한속도향상 S p T T 1 k k N k + ( N 1) 29 30 파이프라인효율저하요인및해결책 특정단계의소요시간증가 메모리접근시에소요시간이증가함 내부캐시메모리사용 복잡한연산실행 파이프라인단계증가, 연산을여러단계로나누어서실행 기억장치접근충돌 IF 단계와 OF 단계가동시에메모리를액세스하는경우에기억장치충돌 (memory conflict) 이일어나면지연이발생한다 명령어캐시와데이터캐시메모리를분리하여사용 파이프라인무효화 조건분기 (conditional branch) 명령어가실행되면, 미리인출하여처리하던명령어들이무효화된다 지연분기 ( 분기명령어다음의명령어실행후분기함 ), 분기예측 ( 분기명령다음에실행할명령어를예측하여인출 ), 분기목적지선인출 ( 다음명령어와분기목적지명령어함께인출 ) 슈퍼스칼라 (Superscalar) CPU의처리속도를더욱높이기위하여내부에여러개의명령어파이프라인들을포함시킨구조 m-way 슈퍼스칼라구조 m 개의명령어파이프라인을가진 CPU 구조 매클록주기마다각명령어파이프라인이별도의명령어를인출하 여동시에실행할수있기때문에, 이론적으로는프로그램처리속도가파이프라인의수만큼향상가능 슈퍼스칼라의속도저하 (Sp < m) 요인및해결책 동시실행가능한명령어수가 m 개미만 해결책 : 명령어실행순서재배치 : 명령어들간의데이터의존성제거 31 32

2-way 슈퍼스칼라명령어실행흐름도 예: Pentium 33 34 멀티-코어 CPU 코어 (core) : 명령어실행에필요한 CPU 내부의핵심하드웨어 ( 슈퍼스칼라 ) 모듈 멀티- 코어프로세서 (multi-core processor): 여러개의 CPU 코어들을하나의칩에포함시킨프로세서 듀얼-코어 (dual-core): 두개의CPU 코어포함 쿼드-코어 (quad-core): 네개의CPU 코어포함 single die (dual core) dual die (quad core) 각 CPU 코어는시스템버스와캐쉬공유 각코어는독립적으로프로그램을실행함 dual die (dual core) 35 36