Projektowanie. Projektowanie mikroprocesorów

Podobne dokumenty
Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

ARCHITEKTURA PROCESORA,

Budowa komputera Komputer computer computare

Budowa Mikrokomputera

Architektura typu Single-Cycle

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

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

Architektura mikroprocesorów TEO 2009/2010

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych

Architektura komputerów

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Organizacja typowego mikroprocesora

Rozszerzalne kody operacji (przykład)

Struktura i działanie jednostki centralnej

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

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

Architektura komputerów

Architektura potokowa RISC

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

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

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

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

Architektura komputerów

Lista Rozkazów: Język komputera

Budowa i zasada działania komputera. dr Artur Bartoszewski

LEKCJA TEMAT: Zasada działania komputera.

Architektura systemów komputerowych. Przetwarzanie potokowe I

Architektura mikroprocesorów z rdzeniem ColdFire

Architektura komputerów

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

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

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

Podstawy Techniki Mikroprocesorowej

Język programowania: Lista instrukcji (IL Instruction List)

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

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

MIKROKONTROLERY I MIKROPROCESORY

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Wykład Mikroprocesory i kontrolery

Mikrokontrolery czyli o czym to będzie...

WPROWADZENIE Mikrosterownik mikrokontrolery

architektura komputerów w. 4 Realizacja sterowania

Mikroprocesory rodziny INTEL 80x86

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

LEKCJA TEMAT: Współczesne procesory.

Architektura komputerów

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

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]

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

UKŁADY MIKROPROGRAMOWALNE

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

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

Magistrala systemowa (System Bus)

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

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

Architektura komputerów Wykład 2

Procesory. Schemat budowy procesora

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

16. Taksonomia Flynn'a.

Architektura systemów komputerowych. Lista instrukcji procesora

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

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

Architektura Systemów Komputerowych

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Architektura komputerów

IZ1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki niestacjonarne

Urządzenia zewnętrzne

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

Technika mikroprocesorowa I Wykład 2

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

Architektura typu multi cycle

Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze.

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

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

Systemy na Chipie. Robert Czerwiński

Analiza i Synteza Układów Cyfrowych

Opis. Brak. Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Przetwarzanie potokowe pipelining

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

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Transkrypt:

WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna Układy kombinacyjne Projektowanie sekwencyjne Układy pamięciowe Uogólniony automat skończony Projektowanie poziomu przesłań rejestrowych Komponenty procesorów 2 1

Rola procesora w systemie komputerowym sterowanie pracą systemu nadzorowanie operacji we/wy synchronizacja komunikacji pomiędzy elementami systemu wykonywanie większości operacji obliczeniowych (z wyłączeniem operacji, które przekraczają jego moŝliwości -> delegowanie zadań do układów ASIC) ASIC wydajne wykonanie pojedynczego zadania lub algorytmu Mikroprocesor uniwersalność i programowalność wydajność ASIC mikroprocesor uniwersalność 3 Budowa typowego systemu komputerowego Procesor ASIC ASIC Magistrala Pamięć główna We/Wy We/Wy 4 2

Projektowanie procesorów Układy ASIC: opis behawioralny za pomocą algorytmu, programu lub sieci działań. Mikroprocesor: zestaw instrukcji Instrukcja najmniejsza, niepodzielna jednostka procesu przetwarzania. Sekwencja instrukcji (program): obliczanie wyraŝenia matematycznego lub innego zadania przetwarzania. Pojedyncze zadanie specyfikacja za pomocą języka programowania przekształcana za pomocą KOMPILATORA w sekwencję instrukcji. 5 Projektowanie procesorów Cechy zbioru instrukcji: uniwersalność -> efektywność kompilacji róŝnych programowania prostota -> wydajność i realizowalność projektu procesora języków Zadania pojedynczych instrukcji: elementarna arytmetyka operacje logiczne operacje przesuwania bitów realizacja rozgałęzień 6 3

Zbiór r instrukcji Budowa rozkazu (łańcuch bitów pogrupowanych w róŝną liczbę pól o róŝnych rozmiarach): kod operacji (opcode), pole adresu, pole typu instrukcji (np. rejestrowe, kopiowania, rozgałęzienia) pole trybu (mode), pole stałej. 7 Zbiór r instrukcji Wskaźnik liczby pól adresowych w instrukcji -> rozmiar programu i wydajność procesora. Więcej pól adresowych -> dłuŝsza instrukcja, krótszy czas wykonania zadania (programu). Mniej pól adresowych -> krótsze instrukcje, dłuŝszy program do wykonania. DłuŜsza instrukcja więcej cykli dostępu do pamięci na jedną instrukcję w celu pobrania samej instrukcji i argumentu. 8 4

Zbiór r instrukcji - przykład Operacja: c=a 2 -b 2 =(a+b)*(a-b) A. Instrukcje zawierające trzy pola adresowe: 1. Add X, A, B (Mem[X]<-Mem[A]+Mem[B]) 2. Sub C, A, B (Mem[C]<-Mem[A]-Mem[B]) 3. Mul C, X, C (Mem[C]<-Mem[X]*Mem[C]) Zakładając współczesne pamięci > słowo procesora 32 bitowe. Trzy adresy w instrukcji > trzy słowa adresu. Trzy cykle dostępu do pamięci w celu pobrania instrukcji i dalsze trzy na pobranie argumentów. Łącznie w programie 9 cykli dostępu do pamięci programu (pobranie instrukcji) i 9 cykli dostępu do pamięci danych (pobranie argumentów). 9 Zbiór r instrukcji - przykład Operacja: c=a 2 -b 2 =(a+b)*(a-b) B. Instrukcje zawierające dwa pola adresowe: 1. Move X, A (Mem[X]<-Mem[A]) 2. Add X, B (Mem[X]<-Mem[X]+Mem[B]) 3. Move C, A (Mem[C]<-Mem[A]) 4. Sub C, B (Mem[C]<-Mem[C]-Mem[B]) 5. Mul C, X (Mem[C]<-Mem[C]*Mem[X]) Zakładając współczesne pamięci > słowo procesora 32 bitowe. Dwa adresy w instrukcji > Dwa słowa adresu. Łącznie w programie 10 cykli dostępu do pamięci programu (2*5 instrukcji) i 13 cykli dostępu do pamięci danych (pobranie argumentów). 10 5

Zbiór r instrukcji - przykład Operacja: c=a 2 -b 2 =(a+b)*(a-b) C. Wprowadzenie rejestru wewnętrznego - akumulatora: 1. Load A (ACC<-Mem[A]) 2. Add B (ACC<-ACC+Mem[B]) 3. Store X (Mem[X]<-ACC) 4. Load A (ACC<-Mem[A]) 5. Sub B (ACC<-ACC-Mem[B]) 6. Mul X (ACC<-ACC*Mem[X]) 7. Store C (Mem[C]<-ACC) Jedna instrukcja > jedno odwołanie do pamięci. Łącznie w programie 7 cykli dostępu do pamięci programu (1*7 instrukcji) i 7 cykli dostępu do pamięci danych (pobranie argumentów i przechowanie wyników). 11 Zbiór r instrukcji - przykład Operacja: c=a 2 -b 2 =(a+b)*(a-b) D. Wprowadzenie bloku rejestrów: 1. Load R1, A (RF[1]<-Mem[A]) 2. Load R2, B (RF[2]<-Mem[B]) 3. Move R3, R1 (RF[3]<-RF[1]) 4. Add R1, R2 (RF[1]<-RF[1]+RF[2]) 5. Sub R3, R2 (RF[3]<-RF[3]-RF[2]) 6. Mul R1, R3 (RF[1]<-RF[1]*RF[3]) 7. Store C, R1 (Mem[C]<-RF[1]) Jedna instrukcja > jedno odwołanie do pamięci. Łącznie w programie 7 cykli dostępu do pamięci programu (1*7 instrukcji) i 3 cykle dostępu do pamięci danych (pobranie argumentów i przechowanie wyników). 12 6

Strategia współczesna Połączenie trybów A i D: 6 pobrań instrukcji i 3 odwołania do pamięci w celu pobrania argumentów i zapisu wyników. 1. Load R1, A (RF[1]<-Mem[A]) 2. Load R2, B (RF[2]<-Mem[B]) 4. Add R3, R1, R2 (RF[3]<-RF[1]+RF[2]) 5. Sub R4, R1, R2 (RF[4]<-RF[1]-RF[2]) 6. Mul R5, R3, R4 (RF[5]<-RF[3]*RF[4]) 7. Store C, R5 (Mem[C]<-RF[5]) 13 Tryby adresowania Wymuszone Natychmiastowe Bezpośrednie Pamięć RF Pośrednie Pamięć RF Pamięć 14 7

Tryby adresowania Względne Offset Pamięć Rejestr + RF Pamięć + Indeksowe Offset Pamięć + Rejestr + RF Indeks + Pamięć 15 Cykl rozkazowy Ogólny cykl rozkazowy zawiera 5 elementów: Pobranie instrukcji Wyznaczenie adresu efektywnego Pobranie argumentów Wykonanie operacji Zachowanie wyniku 16 8

Proces projektowania procesora Projekt zbioru instrukcji Diagram przepływowy zbioru instrukcji Alokacja elementów ścieŝki danych Wyznaczenie sieci działań (ASM) Wyznaczenie ścieŝki danych Projekt automatu sterującego OK? 17 Projekt listy rozkazów Kompromis pomiędzy efektywnością i wielkością programu oraz kosztem i wydajnością procesora. Complex Instruction Set Computer (processor) DuŜa liczba wydajnych instrukcji (wiele typów instrukcji, pól adresowych, trybów adresowania, operacji) -> mały program, rozbudowana ścieŝka danych z wieloma elementami i połączeniami pomiędzy nimi Reduced Instruction Set Computer (processor) Prostsza implementacja, mniej elementów w ścieŝce danych -> większy program, dłuŝsza sekwencja prostszych instrukcji. Czas wykonania programu niekoniecznie jest krótszy w przypadku CISC. RISC moŝliwość implementacji potokowej ścieŝki danych 18 9

Projekt przykładowej listy rozkazów ZałoŜenia: procesor 16 bitowy, pamięć 64k słów, ograniczenie słów rozkazu do dwóch. Instrukcje rejestrowe (arytmetyczne, logiczne, kopiowania i przesuwania bitowego): 19 Projekt przykładowej listy rozkazów Instrukcje pamięciowe (odczyt i zapis): Instrukcje sterujące: 20 10

Projekt przykładowej listy rozkazów Instrukcje pozostałe: Diagram przepływowy opisuje cykl wykonania wszystkich instrukcji procesora, nie uwzględnia szczegółów architektury ani zaleŝności czasowych. 21 Diagram przepływowy listy rozkazów procesora CISC (1): 22 11

Diagram przepływowy listy rozkazów procesora CISC (2): 23 Przydzielanie zasobów w procesora: Jednostka sterująca Zbiór rejestrów Status ALSU IR PC AR DR Z powodu niedopasowania pamięci wprowadzamy rejestry pomocnicze, umoŝliwiające obliczenie adresu efektywnego w trakcie 1 cyklu zegarowego: AR address register DR data register 24 12

Harmonogramowanie Detekcja konfliktów danych i zasobów: - moŝliwość odczytu starej wartości z rejestru i zapis nowej do tego samego rejestru w trakcie cyklu zegarowego, - brak moŝliwości odwrotnej: zapis danej i odczyt nowej wartości w tym samym takcie zegara. W przypadku pamięci brak moŝliwości jednoczesnego (w tym samym takcie zegara) zapisu i odczytu danych. To samo dotyczy dowolnego modułu funkcjonalnego poza pamięcią. 25 Sieć działań procesora (1): 26 13

Sieć działań procesora (2): 27 Schemat procesora na podstawie sieci działań: 28 14