Witold Komorowski: RISC. Witold Komorowski, dr inż.



Podobne dokumenty
Architektura potokowa RISC

Przetwarzanie potokowe pipelining

architektura komputerów w. 4 Realizacja sterowania

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Klasyczny cykl pracy procesora sekwencyjnego. współczesne architektury. c Dr inż.

Architektura systemów komputerowych. dr Artur Bartoszewski

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Podstawy Techniki Mikroprocesorowej

Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej

Architektura komputerów

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/ / 27

Wydajność obliczeń a architektura procesorów

Architektura mikroprocesorów z rdzeniem ColdFire

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Budowa komputera Komputer computer computare

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych

Projektowanie. Projektowanie mikroprocesorów

Materiały do wykładu. 4. Mikroprocesor. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski

Budowa Mikrokomputera

Architektura mikroprocesorów TEO 2009/2010

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Oprogramowanie komputerów wer. 9

Architektura systemów komputerowych. Przetwarzanie potokowe I

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Architektura von Neumanna. Jak zbudowany jest współczesny komputer? Schemat architektury typowego PC-ta. Architektura PC wersja techniczna

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura typu Single-Cycle

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Architektura komputerów

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

Organizacja typowego mikroprocesora

Oprogramowanie komputerów

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Programowanie w asemblerze Wprowadzenie

Programowalne układy logiczne

Przetwarzanie instrukcji w mikroprocesorach

Architektura systemów komputerowych. dr Artur Bartoszewski

LEKCJA TEMAT: Współczesne procesory.

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

Architektury Komputerów. Tomasz Dziubich p.530, konsultacje czwartek i 11-12, dziubich@eti.pg.gda.pl

Technika mikroprocesorowa

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Budowa i zasada działania komputera. dr Artur Bartoszewski

Adam Korzeniewski p Katedra Systemów Multimedialnych

Lista Rozkazów: Język komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura komputerów

Logiczny model komputera i działanie procesora. Część 1.

Architektura typu multi cycle

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Programowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego

Architektura komputerów

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Technologie Informacyjne Wykład 2

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Analiza i Synteza Układów Cyfrowych

Programowanie Niskopoziomowe

Architektura systemów komputerowych. Konstrukcja i zasada działania mikroprocesora

Pytania. W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa. pamięciowo-centryczna.

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Architektura komputerów

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

3.Przeglądarchitektur

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

Architektura Systemów Komputerowych

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Budowa systemów komputerowych

Wprowadzenie do architektury komputerów. Budowa jednostki wykonawczej procesora Potokowa jednostka wykonawcza Przetwarzanie wielopotokowe

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Architektura komputerów

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Architektura komputera

Wydajność programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Adam Korzeniewski p Katedra Systemów Multimedialnych

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Architektura komputerów

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Architektura Komputerów

ARCHITEKTURA PROCESORA,

Mikroprocesory rodziny INTEL 80x86

Technologia informacyjna. Urządzenia techniki komputerowej

Systemy Mikroprocesorowe Czasu Rzeczywistego

organizacja procesora 8086

Transkrypt:

Witold Komorowski, dr inż.

Koncepcja RISC i przetwarzanie potokowe

RISC koncepcja architektury i organizacji komputera

Aspekty opisu komputera Architektura Jak się zachowuje? Organizacja Jak działa? Realizacja Z czego jest zrobiony?

Problemy projektantów Realizacja tranzystory, układy scalone, oporniki, wolty, mikroampery, gigaherce, nanosekundy... E L E K T R O N I K A Organizacja bramki, przerzutniki, sumatory, rejestry, multipleksery, pamięci, sterowniki, procesory... S T R U K T U R A Architektura rozkazy, operacje, argumenty, adresy, przerwania... P R O G R A M O W A N I E

Architektura listy rozkazów (IS Architecture) Interfejs Software Hardware

Wymagania użytkownika Wydajność (performance) czyli szybkość wykonywania programów

Czas wykonania programu (t) = = liczba wykonanych rozkazów (IC) x x liczba cykli zegara potrzebnych do wykonania rozkazu (CPI) x x czas cyklu zegara (1/f) t = IC * CPI * 1/f

Czynniki wpływające na wydajność Realizacja (technologia) Organizacja (struktura) Architektura (lista rozkazów) Oprogramowanie (kompilator) IC CPI f

Organizacja komputera Model von Neumann'a M CPU I/O Memory Central Processing Unit Input/Output

Cykl rozkazowy Pobranie rozkazu z pamięci Wykonanie rozkazu w procesorze

Cykl rozkazowy Pamięć zawsze wolniejsza niż procesor! M CPU I/O Przechowuje program Przechowuje dane Pobiera rozkazy Dekoduje rozkazy Wykonuje operacje

Cykl rozkazowy von Neumann s bottleneck M CPU I/O Przechowuje program Przechowuje dane Pobiera rozkazy Dekoduje rozkazy Wykonuje operacje

Sekwencja rozkazów 1. rozkaz Pobranie Wykonanie 2. rozkaz Czas dostępu do pamięci Pobranie Wykonanie Czas cyklu Czas

Możliwości przyspieszenia sekwencji rozkazów * Skrócenie cyklu rozkazowego (szczególnie fazy odczytu z pamięci) * Współbieżne wykonywanie różnych faz kolejnych rozkazów

Podstawowe zmiany organizacji Pamięć buforowa: skrócenie średniego czasu dostępu Przetwarzanie potokowe: zwiększenie częstości kończenia rozkazów

Pamięć buforowa (cache) Cache Main Hit CPU Miss Duża Wolna Dość tania Mała Bardzo szybka Droga

Praktyczne efekty stosowania pamięci cache Cache Main Hit CPU Duża Wolna Dość tania > 98% Mała Bardzo szybka Dość droga

Potok rozkazów (pipeline) 1. rozkaz Pobranie Wykonanie 2. rozkaz Pobranie Wykonanie 3. rozkaz Pobranie Wykonanie 4. rozkaz Czas cyklu Czas między zakończeniem kolejnych rozkazów Pobranie Wykonanie

Wczesne realizacje Pamięć Jednostka komunikacji BIU Bufor (6 B) Potok 2-stopniowy w μp 8086 (r.1978) Jednostka wykonawcza EU CPU

Potok wielostopniowy Czas cyklu 1. F1 F2 F3 F4 2. F3 Czas pomiędzy rozkazami 3. 4. F2 F1 5. CPI = 1 6. Takty zegara

Koncepcja tradycyjna Cel Zapełnienie luki semantycznej Środki Sterowanie mikroprogramowe Efekt Rozbudowane listy rozkazów, formaty i sposoby adresowania Skomplikowany układ sterowania, spowolnione działanie CISC Complex Instruction-Set Computer

Koncepcja RISC (Reduced Instruction-Set Computer) Cel Szybkie wykonywanie rozkazów Środki Potokowość, pamięć cache Efekt Stała długość rozkazu, prosty układ sterowania Prymitywne rozkazy, model LOAD - STORE, skomplikowany kompilator

Genealogia RISC RISC I SPARC V9 SPARC D.Patterson, C.Sequin Sun Microsystems Berkeley (1980 1981) (1987) (1994) MIPS MIPS R2000 MIPS32, MIPS64 J.Hennessy MIPS Computer Systems (MIPS Technologies) Stanford (1981 1984) (Silicon Graphics) IBM 801 RS/6000 PowerPC Power4 G.Radin IBM (1975 1982) (+ Motorola) (2000) Transputer D.May, I.Barron INMOS (1983)

CISC vs RISC Architektura Liczba różnych długości rozkazu Liczba sposobów adresowania Maksymalna długość rozkazu [bajty] Adresacja pośrednia CISC RISC IBM 370 3 5 8 Nie VAX 56 21 57 Tak MC 68000 11 12 22 Nie IA-32 12 7 16 Nie SPARC 1 2 4 Nie MIPS 1 1 4 Nie RS/6000 1 4 4 Nie

CISC vs RISC Architektura Liczba różnych długości rozkazu Liczba sposobów adresowania Maksymalna długość rozkazu [bajty] Adresacja pośrednia CISC RISC IBM 370 3 5 8 Nie VAX 56 21 57 Tak MC 68000 11 12 22 Nie IA-32 12 7 16 Nie SPARC 1 2 4 Nie MIPS 1 1 4 Nie RS/6000 1 4 4 Nie

Potok 5-stopniowy I cache D cache Load/Store IF ID EX WB (AC) MA Register file IF Instruction fetch ID Instruction decode EX/AC Execution / Address calculation MA WB Memory access Write back

Bezkonfliktowe przetwarzanie potokowe 1. IF ID EX MA WB 2. IF ID EX MA WB 3. IF ID EX MA WB 4. IF ID EX MA WB 5. IF ID EX MA WB 6. IF ID EX MA WB Takty zegara

Zakłócenia potoku Konflikt zasobów (równoczesne żądanie dostępu do pamięci) Konflikt danych (opóźniona aktualizacja danych w pamięci) Konflikt sterowania (realizacja skoków)

Konflikt zasobów 1. IF ID AC MA WB 2. IF ID EX MA WB rozkaz 1. czyta/zapisuje dane z/do pamięci 3. IF ID EX MA WB 4. IF ID EX MA WB 5. IF ID EX MA WB rozkaz 4. jest z pamięci odczytywany 6. IF ID EX MA WB Takty zegara

Rozwiązanie konfliktu zasobów Pamięć danych i rozkazów Procesor centralny Pamięć danych Pamięć rozkazów Procesor centralny Architektura Princeton (von Neumann a) Architektura Harvard (na poziomie pamięci cache)

Konflikt danych 1. IF ID EX MA WB r1 r2 + r3 2. IF ID EX MA WB r5 r1 + r4 t1 t2 t3 t4 t5 t6 t7 t8 t9 Takty zegara Rozkaz 2. w takcie t5 wymaga danych, które będą zapisane w rejestrze przez rozkaz 1. dopiero w takcie t6.!

Rozwiązanie konfliktu danych (nieefektywne) 1. IF ID EX MA WB r1 r2 + r3 2. IF ID ~~ ~~ EX MA WB r5 r1 + r4 3. IF ID ~~ ~~ EX MA WB t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 Takty zegara Następuje wstrzymanie potoku na dwa takty

Rozwiązanie konfliktu danych przez wyprzedzanie argumentów IF EX ID MA WR Rozkaz r1 r2 + r3 r2 + r3 IF EX ID MA WR Rozkaz r5 r1 + r4 Wynik jest przekazywany drogą na skróty (forwarding) do następnego rozkazu

Konflikt sterowania 1. IF ID EX MA WB 2. IF ID AC MA WB Skok warunkowy efektywny Kara za skok 3. IF ID EX MA WB 4. IF ID EX MA WB Opróżnienie potoku z niepotrzebnych rozkazów 3. i 4. 5. IF ID EX MA WB 6. IF ID EX MA WB Takty zegara

Łagodzenie konfliktów sterowania * Skoki opóźnione (delayed branch) * Przewidywanie skoków (branch prediction)

Skoki opóźnione Każdy rozkaz skoku zmienia adres docelowy dopiero po następnym rozkazie Przykład opóźnionego rozkazu CALL add r1,r5,r7 Po optymalizacji: sub r2,r3,r2 add r1,r5,r7 call tamtam call tamtam nop sub r2,r3,r2 inc r4 inc r4

Przewidywanie skoków Tablica skoków (Branch Target Buffer, BTB) Licznik rozkazów Adres rozkazu Adres docelowy Stan α σ s

Algorytm predykcji Nieefektywny Będzie efektywny s=01 Nieefektywny Efektywny Będzie nieefektywny s=10 Nieefektywny Będzie efektywny s=00 Efektywny Efektywny Będzie nieefektywny s=11 Nieefektywny Efektywny

Everything should be made as simple as possible, but not one bit simpler. Albert Einstein

Procesory superskalarne i przetwarzanie out-of-order Pobieranie rozkazów Dekodowanie rozkazów Przydział rozkazów Jednostka wykonawcza 1 Jednostka wykonawcza 2 Jednostka wykonawcza k Kompletacja

Działanie procesora superskalarnego Kod źródłowy Kompilator Kod liniowy Procesor Sprzętowe zrównoleglenie rozkazów

Koncepcja VLIW (Very Long Instruction Word) Grupa rozkazów bardzo długie słowo rozkazowe MUL FADD LD BRC Jednostka stp. Jednostka zmp. Jednostka pam. Jednostka obsługi skoków

Działanie procesora VLIW Kod źródłowy Kompilator Kod równoległy Procesor Programowe (statyczne) zrównoleglenie kodu

Realizacja techniki EPIC (Explicitly Parallel Instruction Computing) Procesor Itanium (IA-64) Wiązka trzech 41-bitowych rozkazów RISC 128 rejestrów stp. 64-bitowych 128 rejestrów zmp. 82-bitowych Obszar 2 64 adresów (16 EB) 22 jednostki funkcyjne potok 8-stopniowy Itanium2, 2002

Więcej

Tanenbaum, A.: * Strukturalna organizacja systemów komputerowych. Helion, 2006 (wyd. 5.) [50] Stallings, W.: * Organizacja i architektura systemu komputerowego. WNT 2004 (wyd. 3.) [46] Biernat, J.: * Architektura komputerów. WPWr, 2005 (wyd. 4.) [18] Komorowski, W.: * Instrumenta computatoria. Helion, 2000 [12] Komorowski, W.: * Krótki kurs architektury i organizacji komputerów. Mikom, 2004 [12]

... wydaje mi się to jakoś nierealne, że tak szybko i tak daleko doszliśmy. Nie wiadomo zresztą, po co. Stanisław Lem