Chapter ...

Similar documents
01....b

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

(291)본문7

2007백서-001-특집

00목차

SW

1 SW

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


자식농사웹완

chungo_story_2013.pdf

*중1부

2

Çѱ¹ÀÇ ¼º°øº¥Ã³µµÅ¥

...._



전반부-pdf

표1.4출력

003-p.ps

<4D F736F F F696E74202D20312E20B0E6C1A6C0FCB8C15F3136B3E2C7CFB9DDB1E25F325FC6ED28C0BA292E >

_

12월월간보고서내지편집3

중앙도서관소식지겨울내지33

에너지포커스 2007년 가을호


01_당선자공약_서울

인권문예대회_작품집4-2




목차

A°ø¸ðÀü ³»Áö1-¼öÁ¤

±¹³»°æÁ¦ º¹»ç1

¿¡³ÊÁö ÀÚ¿ø-Âü°í ³»Áö.PDF

전반부-pdf

뉴스레터6호

Microsoft PowerPoint 하반기 크레딧 전망_V3.pptx

50차 본문 최종

양성내지b72뼈訪?303逞

³»Áöc03âš

fsb9¿ù³»ÁöÃÖÁ¾Ãâ

¾ç¼º-¾÷¹«Æí¶÷-³»¿ëÃà¼Ò4

전도대회자료집


< DBAB4B9ABC3BB5FBAB9B9ABB0FCB8AEB8C5B4BABEF32D33B1C72E706466>

표1~4

<3344C7C1B8B0C6C320BFE4BEE02D E706466>

µ¶ÀÏÅëÀÏÁý1~2Æíq36£02Ð


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

2005프로그램표지

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

매뉴얼_웹용

»ê¾÷¿¬±¸¿øÇ¥Áö

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

ATmega128

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

Lectures for 2nd Edition

sw $6,50($1) I3 If register read/write can be done in one cycle, only 2 s are needed. (Both are correct) lw $1,40($6) I1 add $6,$2,$2 I2 sw $6,50($1)


11.indd

Microsoft PowerPoint - hy2-12.pptx

intro

¿ï¸²58È£

<C3D6C0E7C3B528BAB8B5B5C0DAB7E1292D322E687770>




<5BC6EDC1FD5DBFA9BCBAC0C720BFC2B6F3C0CE20C0CEB1C7C7C7C7D820C7F6C8B2B0FA20B0B3BCB1B9E6BEC82E687770>

untitled

늘푸른세상4월-136호

2015 경제ㆍ재정수첩

2002 KT

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

1+2월호-최종2

¾Æ½Ã¾ÆÀú³Î8È£-ÅëÇÕ

<C6F7C6AEB6F5B1B3C0E72E687770>

untitled

표1~4

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

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

Deok9_Exploit Technique

01_피부과Part-01

슬라이드 1

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

<B9CEC1D6C1A4C3A5BFACB1B8BFF82DBBE7B6F7B0FAC1A4C3A5BABDC8A328C6EDC1FD292E687770>

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

PowerPoint 프레젠테이션

????밀촼꿜

Microsoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드]

1229_¶È¶ÈÇÑÀÎÁöÇൿġ·áº»¹®.PDF

ÆÊÇ÷¿


Microsoft PowerPoint - CSharp-10-예외처리

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

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

내지- 2도필름

0312젠-가이드라인-표지최종.ps, page Normalize

Microsoft PowerPoint - 15-MARS

Transcription:

Chapter 4 프로세서 (4.9절, 4.12절, 4.13절)

Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준 병렬성 4.11 AMD Opteron X4의 파이프라인 4.12 오류와 함정 4.13 결론 2

예외(Exceptions)와 인터럽트(Interrupts) 예기치 않은 사건들은 명령어 흐름의 변화를 요구한다. ISA마다 그 사건들을 표현하는 용어들이 다르다 예외(Exception) CPU 안에서 발생한다 e.g., undefined opcode, overflow, syscall, 인터럽트(Interrupt) 외부 I/O 제어기로부터 발생한다 성능 저하 없이 예외 및 인터럽트를 처리하는 것은 어렵다 4.9 Exceptions 3

예외 처리하기(Excepting handling) MIPS에서는 예외들이 시스템 제어 코프로세서(System Control Coprocessor CP0)에 의해서 관리된다 예외 상황을 발생시키는 명령어나 인터럽트를 받은 명령어의 PC를 저장한다 MIPS에서는 Exception Program Counter (EPC)에 저장한다 발생한 예외 상황의 원인을 저장한다. MIPS에서는 Cause 레지스터에 저장한다 여기서는 1비트 Cause 레지스터를 가정해보자 0 for undefined opcode, 1 for overflow 그 다음 0x800000180번지에 있는 핸들러 루틴으로 점프한다 4

다른 대안들 벡터화된 인터럽트(Vectored Interrupts) 핸들러 주소가 원인에 의해 결정된다 예: Undefined opcode: C000 0000 Overflow: C000 0020 : C000 0040 5

ALU Computer Architecture 4-6

Computer Architecture 4-7

핸들러의 액션 원인을 읽고, 해당 핸들러 루틴으로 제어를 넘긴다 요구되는 액션(action)을 결정한다 만약, 재시작가능하다면, 예외 상황을 바로잡을 수 있는 액션을 수행한다 원래 프로그램 흐름으로 돌아가기 위해 EPC를 사용한다 재시작가능하지 않다면, 실행 중이던 프로그램을 종료시킨다 EPC와 cause 레지스터를 사용하여 사용자에게 발생한 예외 상황을 리포트한다 8

파이프라인에서의 예외 처리 또 다른 형태의 제어 해저드이다 add 명령의 EX 단계에서 overflow가 발생한 경우를 고려해 보자 add $1, $2, $1 $1 레지스터가 망가지는 것을 막는다 이전 명령어들은 실행을 완전히 끝낸다 파이프라인에 들어온 add와 후속 명령어들을 버린다 EPC와 cause 레지스터를 설정한다 제어를 핸들러에게 넘긴다 잘못 예측된 branch의 경우와 유사하다 동일한 하드웨어를 거의 그대로 사용한다 9

예외를 고려한 파이프라인 10

예외 처리의 속성 재시작가능한 예외들 파이프라인은 해당 명령어를 버릴 수 있다 핸들러가 실행된 후 그 명령어로 다시 돌아간다 그 명령어를 다시 적재해서 실행한다 EPC 레지스터에 저장된 PC 값 예외를 발생시킨 명령어를 확인시켜준다 사실, PC + 4 값이 저장되므로, 핸들러가 이것을 고려하여 PC 값이 가리키는 명령어를 원인 명령어로 판단해야 한다 11

예외 예시 add 명령어에서 예외 발생시 40 sub $11, $2, $4 44 and $12, $2, $5 48 or $13, $2, $6 4C add $1, $2, $1 50 slt $15, $6, $7 54 lw $16, 50($7) Handler 80000180 sw $26, 1000($0) 80000184 sw $27, 1004($0) 12

예외 예시 13

예외 예시 sw $26, 1000($0) 14

다중 예외 파이프라인은 복수개의 명령어들을 중첩하여 실행한다 따라서 한번에 복수개의 예외들이 발생할 수도 있다 단순 접근법: 첫번째로 발생한 예외만 처리한다 후속 명령어들을 모두 버린다 소위 정확한(precise) 예외 처리라고 부른다 복잡한 파이프라인에서는, 한 사이클에 복수개의 명령어들을 파이프라인에 집어넣는다 명령어 순서가 뒤바뀌어(out-of-order) 명령어들이 끝날 수도 있다 이 경우는 정확한 예외 처리를 하기가 어렵다 15

부정확한 예외들(Imprecise Exceptions) 파이프라인을 중단하고 상태를 저장한다 예외 발생 원인(들)을 포함하여. 핸들러가 처리하도록 한다 어느 명령어(들)이 예외를 발생시켰는지 어느 명령어가 실행을 마치거나 또는 버려질지 경우에 따라서는 수동적인(manual) 종료가 필요할 수도 있다 H/W는 단순해지지만, 핸들러 S/W는 더 복잡해진다 다중 이슈 out-of-order 파이프라인에서는 정확한 예외 처리가 어렵다 16

Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준 병렬성 4.11 AMD Opteron X4의 파이프라인 4.12 오류와 함정 4.13 결론 17

오류와 함정 형편없는 ISA 설계는 파이프라이닝을 더 어렵게 만들 수 있다 예) 복잡한 명령어 집합들 (VAX, IA-32) IA-32 micro-op 접근방식 4.13 Fallacies and Pitfalls 18

결론 ISA는 데이터패스와 제어에 영향을 준다 반대로, 데이터패스와 제어는 ISA 설계에 영향을 준다 파이프라이닝은 병렬성을 이용해서 명령어 처리량을 높인다 초당 더 많은 수의 명령어를 실행할 수 있다 각 명령어의 지연 시간은 줄어들지 않는다 해저드: 구조 / 데이터 / 제어 해저드 4.14 Concluding Remarks 19