컴퓨터구조 강의노트 #12: Chap. 13 축소명령어세트컴퓨터 [RISC] Chap. 14 슈퍼스칼라, 멀티프로세서 담당교수 : 조재수 1 컴퓨터시스템구조론 제 13 장축소명령어세트컴퓨터 (RIS

Similar documents
Microsoft PowerPoint - hy2-12.pptx

Chapter ...

Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

Computer Architecture

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

PowerPoint 프레젠테이션

3차시.ppt

Computer Architecture

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint Presentation

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

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

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

Microsoft PowerPoint - hy1.pptx

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

슬라이드 1

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

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

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

C# Programming Guide - Types

Microsoft PowerPoint - o8.pptx

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

untitled

Chapter #01 Subject

Microsoft Word - FunctionCall

PowerPoint 프레젠테이션

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

슬라이드 1

Microsoft PowerPoint - 강의2.ppt

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

C언어 및 실습 C Language and Practice

ARM01

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

슬라이드 1

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

Microsoft PowerPoint - 15-MARS

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

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

학습목표 ü 01_ 소개 ü 02_ 하드웨어장치의발전 ü 03_ 하드웨어구성요소 ü 04_ 하드웨어의운영체제지원 ü 05_ 캐싱과버퍼링 ü 07_ 응용프로그래밍인터페이스 ü 08_ 컴파일링, 링킹, 로딩 ü 09_ 펌웨어 ü 10_ 미들웨어 2/23

PowerPoint 프레젠테이션

마이크로프로세서 개요

슬라이드 1

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

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - ch07.ppt

Figure 5.01

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

슬라이드 1

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

Computer Architecture

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

Microsoft PowerPoint - 00_(C_Programming)_(Korean)_Computer_Systems

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx

슬라이드 1

ARM 프로세서 입문

리눅스 프로세스 관리

Microsoft PowerPoint - chap05-제어문.pptx

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap04-연산자.pptx

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

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

컴퓨터조직 ITEC201 컴퓨터학개론 경북대학교 IT 대학컴퓨터학부 2014 년봄학기 2014 N Baek 1

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

JVM 메모리구조

Microsoft PowerPoint - DSD06c_ISA.pptx

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

KEY 디바이스 드라이버

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

Microsoft PowerPoint - o4.pptx

PowerPoint Presentation

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

Chap 6: Graphs

Microsoft PowerPoint - chap06-2pointer.ppt

1부. 임베디드시스템

<4D F736F F F696E74202D DBAB8C1B62CC6AFBCF6BFEBB5B5B1E2BEEFC0E5C4A12CBAB4B7C4C4C4C7BBC5CD2E707074>

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

OCW_C언어 기초

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

Microsoft PowerPoint os2.ppt [호환 모드]

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

p. 10 Before You Read p. 26 Understanding the Story ( ).,.,..,,...,...

구문 분석

딥러닝 첫걸음

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

슬라이드 1

Microsoft PowerPoint UNIX Shell.ppt

PowerPoint 프레젠테이션

Chapter_06

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Transcription:

컴퓨터구조 강의노트 #12: Chap. 13 축소명령어세트컴퓨터 [RISC] Chap. 14 슈퍼스칼라, 멀티프로세서 2009. 6. 10. 담당교수 : 조재수 E-mail: jaesoo27@kut.ac.kr 1 컴퓨터시스템구조론 제 13 장축소명령어세트컴퓨터 (RISC) 2 1

핵심요점들 고급언어프로그램의실행패턴에관한연구들이새로운형태의프로세서구조인축소명령어세트컴퓨터 (Reduced istructio set computer: RISC) 를설계하는데주요지침이되었다. RISC 프로세서들의주요특성 l 고정된형식을가진제한된명령어세트 l 많은수의레지스터들혹은레지스터사용을최적화시키는컴파일러의사용 l 명령어파이프라인최적화의강조 RISC 의명령어세트가간단해짐으로써파이프라이닝의효과를더높일수있게되었다. 3/34 컴퓨터의주요발전동향 계열 (family) 개념의도입 l 구조 (architecture) 와구현 (implemetatio) 의분리시도 l 동일한구조를가지지만가격대성능은서로다른컴퓨터들을제공 마이크로프로그램을이용한제어유니트 (microprog-rammed cotrol uit) 사용 l 1951년 Wilkes가제안 l 제어유니트의설계와구현을용이하게해줌 캐쉬기억장치의도입 l 1969년 IBM S/360 model 85에서처음사용 4/34 2

컴퓨터의주요발전동향 ( 계속 ) 파이프라이닝 (Pipeliig) 구조도입 l 순차적특성을가진기계명령어프로그램에병렬성부여. [ 예 ] 명령어파이프라이닝 다중프로세서 (Multiple processors) : 한시스템내에 다수의프로세서들이서로협력하면서작업들을처 리 5/34 다음발전단계 : RISC 축소명령어세트컴퓨터 (Reduced Istructio Set Computer) 주요특성들 l 제한적이고간단한명령어세트 l 레지스터의최적사용을위하여많은수의범용레지스터들을포함하거나컴파일러기술을사용 l 명령어파이프라인의최적화강조 6/34 3

표 13.1 몇가지 CISC 과 RISC 및스칼라프로세서들의특성들 CISC RISC Superscalar Characteristic IBM VAX Itel SPARC MIPS PowerPC Ultra MIPS 370/168 11/780 80486 R4000 SPARC R10000 Year developed 1973 1978 1989 1987 1991 1993 1996 1996 No. of istructio 208 303 235 69 94 225 Istructio size (bytes) 2-6 2-57 1-11 4 4 4 4 4 Addressig modes 4 22 11 1 1 2 1 1 GP Registers 16 16 8 40-520 32 32 40-520 32 Cotrol memory Size 420 480 246 - - - - - Cache size (kbytes) 64 64 8 32 128 16-32 32 64 7/34 13.1 명령어실행특성들 복잡한고급프로그래밍언어의개발 l 알고리즘표현의간략화 l 구조적프로그래밍가능 고급언어와컴퓨터구조가제공하는연산들간의차이인어의상의차이 (sematic gap) 발생 l 실행의비효율성, 지나치게큰기계어프로그램, 컴파일러의복잡성 -> 설계자들은이차이를줄일수있는구조를연구 l 해결책 큰명령어세트 (large istructio sets) 주소지정방식의종류증가 HLL 명령어들의하드웨어구현 [ 예 ] VAX 시스템의 CASE (switch) 명령어 8/34 4

복잡한명령어세트의이점 컴파일러작성자의작업용이 실행효율향상 l 복잡한명령어의마이크로코드 (microcode) 구현 복잡하고정교한고급언어지원 9/34 RISC 제창자들에의한실행특성분석 수행될연산들 사용되는오퍼랜드들 실행순서 고급언어프로그램들에대하여위의특성들 을분석 : 프로그램실행중의동적특성분석 10/34 5

연산들의특성분석결과 ASSIGN 문이가장많다 l 데이터의이동이중요 조건문 (IF, LOOP) 의사용도빈번한편프로시듀어호출및복귀 ((Procedure call-retur) 에많은시간소모 [ 표 13.2] HLL 연산들에있어서가중치가부여된상대 적인동적빈도 [ 표 13.3] 오퍼랜드들의동적백분율 11/34 프로시듀어호출 (Procedure Calls) 의특성 HLL 프로그램에서가장많은시간을소모하는것이호출 (call) 과복귀 (retur): 표 13.2 효율적구현을위한주요사항들 l 전송되는파라미터들의수 l 중첩 (estig) 의깊이 v Taebaum 의연구결과 동적으로호출된프로시듀어의 98% 가 6 개이하의파라미터전송, 이들중 92% 는 6 개이하의지역변수사용 12/34 6

제안 RISC 구조를위한세가지요소들 l 많은수의레지스터사용 : 오퍼랜드참조의최적화 l 파이프라인의신중한설계 : 조건분기및프로시듀어호출에의한비효율성존재 l 단순화된 ( 축소된 ) 명령어세트필요 13/34 13.2 큰레지스터파일의사용 레지스터는주기억장치나캐쉬보다더빠른저장장치이기때문 레지스터파일은크기가작고, ALU 및제어유니트와함께칩내에있으며, 캐쉬와기억장치보다짧은주소를사용 가장자주사용되는오퍼랜드를레지스터에저장함으로써레지스터 - 기억장치간의이동을최소화하는전략이필요 l 소프트웨어를이용하는방법 : Compiler l 하드웨어를이용하는방법 14/34 7

레지스터윈도우 레지스터들을여러개의작은레지스터세트로분할각세트를서로다른프로시듀어에게할당프로시듀어호출시레지스터내용을기억장치에저장하지않으며, 호출된프로시듀어는다른레지스터세트를사용하도록자동적으로전환인접한프로세듀어간에는중첩 (overlap) 을이용하여파라미터전송 15/34 레지스터윈도우 ( 계속 ) 레지스터세트를세영역으로구분 l 파라미터레지스터들 (Parameter registers) : 호출한프로시듀어로부터전송된파라미터저장 l 지역레지스터들 (Local registers) : 지역변수들저장 l 임시레지스터들 (Temporary registers) : 현재프로세듀어에의해호출될하위프로세듀어로전송할파라미터저장. 하위프로세듀어로부터결과값을되돌려받을때도사용 중첩 (overlap) : 데이터의실제이동없이파라미터전송가능 16/34 8

중첩레지스터윈도우들 (Overlappig Register Widows) 그림 13.1: 중첩레지스터윈도우들 (Overlappig register widows) 17/34 중첩윈도우들의순환버퍼조직 (CWP) 18/34 9

순환버퍼의동작 호출이이루어졌을때, 현재윈도우포인터 (curret widow poiter: CWP) 는현재활성화된레지스터윈도우를가리키도록이동. 만약모든윈도우들이사용중이라면, 인터럽트가발생하고가장오래된윈도우 ( 가장먼저호출된프로시듀어가사용중인윈도우 ) 를기억장치에저장. 보관윈도우포인터 (saved widow poiter) 는저장된윈도우가다음에복구될위치를지정. 19/34 전역변수들 (Global Variables) 컴파일러는전역변수들을위해기억장치할당 l 빈번히액세스되는변수들에는비효율적 CPU 내에전역레지스터세트 (global register set) 를둠. [ 예 ] 레지스터 0 ~ 7 : 전역변수를위해사용 레지스터 8 ~ 31 : 현재프로시져를위한레지스터로사용 20/34 10

큰레지스터파일과캐쉬의비교 레지스터파일은가장많이사용되는변수들을저장하고작고빠른버퍼이다. 레지스터파일은가장최근에활성화된 N-1 개의프로시져들의모든지역스칼라변수들을저장 캐쉬는최근에사용된스칼라변수들의일부분을가지고있다. 레지스터파일은모든스칼라변수들을저장하고있기때문에시간이절약된다. 반면에캐쉬는상황에따라적절히대처하기때문에공간을더유용하게사용하도록해준다. 캐쉬는모든기억장치참조들을동일하게취급 21/34 윈도우 - 기반레지스터파일에서의스칼라변수참조 22/34 11

캐쉬에서의스칼라변수참조 23/34 13.3 컴파일러를이용한레지스터최적화 필요성 : 적은수 (16 ~ 32 개 ) 의레지스터들을가진 RISC 에서컴파일러가레지스터사용을최적화 è 기억장치사용의최소화 l HLL 프로그램에서는레지스터가명시되지않으며, 각변수에는기호적혹은가상레지스터가지정됨. l 기호레지스터들은실제레지스터들로사상 (mappig) 되며, 실제레지스터들을공유할수도있음. l 실제레지스터로사상될수없는변수들은기억장치에배정됨 24/34 12

13.4 축소명령어세트구조 왜 CISC 인가? 그동안명령어세트는명령어의수가더많아지고, 더복잡해지는경향으로발전 : 이에대한두가지주요이유 l 컴파일러를단순화시키기위한것과 l 성능을향상시키려는것 코드크기를최소화하고, 명령어실행횟수를줄이고, 파이프라이닝을개선할수있도록코드생성을최적화하는일은복잡한명령어세트로는더욱어렵다. 명령어의수가많아지면, 전체제어유니트는더복잡하게구성되고, 마이크로프로그램제어를위한저장장치도더커지게된다. -> 간단한명령어들의실행시간을증가시킨다. -> 명령어세트가더복잡해지는경향이옳다는것은설득력이없다. -> 다른시도 (RISC) 25/34 축소명령어세트구조의특징들 사이클당한명령어실행 (oe istructio per cycle) 레지스터 - 레지스터연산들 (register-to-register operatios) 간단한주소지정방식사용 (simple addressig modes) 레지스터주소지정방식 간단한명령어형식들 (simple istructio formats) 26/34 13

RISC 와 CISC 간의비교및논쟁 정량적 (Quatitative) 측면 l 프로그램길이와실행속도의비교 정성적 (Qualitative) 측면 l 고급언어의지원문제및 VLSI 기술의사용가능성 문제점 l 직접비교할수있는 RISC와 CISC가없다 l 정의된시험프로그램이없다 l 하드웨어에의한효과와컴파일러에의한효과를구분하기어렵다 l RISC에대한분석의대부분은상용제품이아닌실험용에의해이루어졌다 27/34 슈퍼스칼라 슈퍼스칼라란? l CPU 내에파이프라인을여러개두어여러명령어를동시에실행하는기술 28/34 14

슈퍼스칼라 29/34 파이프라이닝 슈퍼스칼라의제약사항 다음과같은특성이존재하는경우에는동시에실행되어서는안된다 30/34 15

파이프라이닝 순수데이터의존성또는 'read after write' 의존성 순차적으로실행 실행순서를바꿔실행 31/34 파이프라이닝 l 자원의존성과프로시듀어의존성자원의존성 : 같은자원을동시에사용하고자할때생기는것 => 이두명령어는모두나누기연산장치라는같은자원을요구하기때문에동시에실행될수없다. 프로시듀어의존성 : 분기명령어에의해생기는것으로분기명령어와바로다음에있는명령어는동시에실행될수없다. 분기명령어의다음명령어는분기명령어의실행이종료될때가지실행되어서는안된다. 32/34 16

멀티프로세서란 l l 병렬처리 (parallel processig) : 여러개의프로그램을동시에실행하거나하나의프로그램을분할해서동시에실행하는기술 멀티프로세서 (multiprocessor) : 병렬처리를가능하게하는시스템. 성능향상, 신뢰성제공 멀티프로세서의병렬처리 33/34 Thak You! 수고하셨습니다. 34/34 17