1 Projektowanie systemów komputerowych System informatyczny (SI) System oprogramowania (software) Program1 Program2 ProgramN... Platforma sprzętowa (hardware) PC P, K P DSP SISD MISD FPGA SIMD... Architektura systemu MIMD ASIC
2 Wstęp Osiągnięcia technologii VLSI i jej wpływ na architektury i metody projektowania systemów komputerowych Wymagania rynku wobec systemów informatycznych: wzrost wydajności systemów informatycznych; realizacja mieszanych systemów analogowo- cyfrowych; zwiększenie jakości projektowania systemów komputerowych.
3 Wstęp. Możliwości technologii VLSI Nowoczesna technologia VLSI: 0,09 m 80 mln bramek w 1 układzie scalonym 0,065 m ponad 100 mln bramek/układ (ponad 500 mln tranzystorów) możliwość umieszczenia całego systemu w jednym układzie SoC (System-on-Chip) Podstawowy problem: Zagospodarowanie tak ogromnych resursów sprzętowych
4 Przykłady systemów jednoukładowych SoC firmy Texas Instruments dla telefonii komórkowej technologia DRP -90nm cyfrowe i analogowe układy radiowe procesor DSP układy sterowania zasilaniem układy pomocnicze
5 Projektowanie systemów komputerowych Co robić z 1 miliardem tranzystorów? Jaką platformę sprzętową wybrać? Jaka architektura systemu będzie najbardziej efektywna? Jak podzielić zadania (funkcje) systemu pomiędzy software i hardware?
6 Zalety systemów jednoukładowych miniaturyzacja i niezawodność obniżenie poboru mocy P~(U 2, f, C) obniżenie kosztów produkcji zwiększenie częstotliwości zegara f~(1/C) zmniejszenie liczby osobnych układów scalonych jednolity cykl procesów produkcyjnych zmniejszenie liczby linii sygnałowych i ich pojemności eliminacja wielu buforów I/O
7 Projektowanie systemów komputerowych Wymagania rynku wobec systemów informatycznych: wzrost wydajności systemów informatycznych; realizacja mieszanych systemów analogowo- cyfrowych SoC; zwiększenie jakości projektowania systemów. równoległe przetwarzanie danych specjalistyczna platforma sprzętowa skrócenie czasu projektowania i weryfikacji systemu zgodność z zasadą projektowania bezbłędnego (ang. First-Time-Right) stosowanie nowoczesnych technologii VLSI optymalizacja sprzętowa i czasowa
8 Projektowanie systemów komputerowych Wymagania rynku wobec systemów informatycznych: wzrost wydajności systemów komputerowych; równoległe przetwarzanie danych specjalistyczna platforma sprzętowa stosowanie nowoczesnych technologii VLSI Intel Core 2 Duo Extreme Edition X ,93 GHz, FSB 1066 MHz, 4 MB L2 Cache, 75 W Intel Core 2 Extreme Quad QX ,66 GHz, 286 mm2, 582 mln tranzystorów, 130 W
9 Projektowanie systemów SoC Sposoby zwiększenia jakości projektowania SoC: zautomatyzowanie procesu projektowania i weryfikacji; software-hardware codesign; wykorzystanie komponentów IP-core; realizacja w układzie scalonym różnych technologicznych wysp (obszarów); realizacja obszarów reprogramowalnych. relatywne zmniejszenie poboru mocy systemu możliwość zmiany architektury jednostki przetwarzającej (po wyprodukowaniu układu, a nawet w trakcie pracy systemu) skrócenie czasu projektowania i weryfikacji systemu większa funkcjonalność układu scalonego
10 Nowoczesne tendencje w projektowaniu SoC (IP-core) Tendencje w projektowaniu: wykorzystanie gotowych projektów dla większości podukładów systemu (IP- core); hardware-software codesign; automatyzacja procesu projektowania na wszystkich poziomach (szczególnie na poziomie strukturalnym); realizacja technologicznych wysp (inna technologia, napięcie zasilania, częstotliwość zegara, itd.); równoległe przetwarzanie danych; minimalizacja poboru mocy na poziomach projektowania strukturalnym i logicznym. Generic values 1 IP Core Generator Generic values 2 Generic values 3 Formy IP-core : Hard-core (poziom topografii układu); Firm-core (poziom netlisty, np. format EDIF) Soft-core (poziom VHDL)
11 Nowoczesne tendencje w projektowaniu SoC: (IP-core c.d.) Formy IP-core : Hard-core (poziom topografii układu); Firm-core (poziom netlisty, np. format EDIF) Soft-core (poziom HDL)
12 Nowoczesne tendencje w projektowaniu SoC (codesign) Tendencje w projektowaniu: wykorzystanie gotowych bloków ( komponentów IP-core); hardware-software codesign; automatyzacja procesu projektowania na wszystkich poziomach (szczególnie na poziomie strukturalnym); realizacja technologicznych wysp-obszarów (inna technologia, napięcie zasilania, częstotliwość zegara, itd.); równoległe przetwarzanie danych; minimalizacja poboru mocy na poziomach projektowania strukturalnym i logicznym. Cechy charakterystyczne: równoczesne projektowanie części sprzętowej i programowej systemu; proces iteracyjny; ciągła współpraca zespołów projektowych; odnalezienie właściwego podziału funkcji systemu na 2 zbiory: realizowane sprzętowo i programowo; wykorzystanie obszarów reprogramowalnych.
13 Nowoczesne tendencje w projektowaniu SoC (automatyzacja) Tendencje w projektowaniu: wykorzystanie gotowych bloków ( komponentów IP-core); hardware-software codesign; automatyzacja procesu projektowania na wszystkich poziomach (szczególnie na poziomie strukturalnym); realizacja technologicznych wysp-obszarów (inna technologia, napięcie zasilania, częstotliwość zegara, itd.); równoległe przetwarzanie danych; minimalizacja poboru mocy na poziomach projektowania strukturalnym i logicznym. Automatyzacja projektowania na poziomach logicznym i niższych: dobrze opracowane podstawy metodologiczne; szeroki wybór środowisk CAD; projektowanie i weryfikacja są bardzo czasochłonne. Projektowanie strukturalne: szybsze projektowanie; znacznie szybsza weryfikacja projektu; brak efektywnych metod projektowania i środowisk CAD.
14 Nowoczesne tendencje w projektowaniu SoC (wyspy technologiczne) Tendencje w projektowaniu: wykorzystanie gotowych bloków ( komponentów IP-core); hardware-software codesign; automatyzacja procesu projektowania na wszystkich poziomach (szczególnie na poziomie strukturalnym); realizacja technologicznych wysp-obszarów (inna technologia, napięcie zasilania, częstotliwość zegara, itd.) w tym obszarów reprogramowalnych; równoległe przetwarzanie danych; minimalizacja poboru mocy na poziomach projektowania strukturalnym i logicznym. Zalety: możliwość integracji różnych komponentów hard -core na jednym podłożu; minimalizacja poboru mocy poprzez tworzenie wysp z różnym napięciem zasilania i o różnej strukturze (np. RAM); Realizacja obszarów reprogramowalnych: większa funkcjonalność i niezawodność układu; możliwość modyfikacji; ułatwienie procesu projektowania; zmniejszenie poboru mocy
15 Uproszczona struktura układu reprogramowalnego FPGA Xilinx pamięć konfiguracyjna bloki We/Wy komórki przełączniki
16 Uproszczona struktura układu reprogramowalnego Virtex II Pro
17 Uproszczona struktura bloku procesorowego
18 Nowoczesne tendencje w projektowaniu SoC (przetwarzanie równoległe) Tendencje w projektowaniu: wykorzystanie gotowych bloków ( komponentów IP-core); hardware-software codesign; automatyzacja procesu projektowania na wszystkich poziomach (szczególnie na poziomie strukturalnym); realizacja technologicznych wysp- obszarów (inna technologia, napięcie zasilania, częstotliwość zegara, itd.); równoległe przetwarzanie danych; minimalizacja poboru mocy na poziomach projektowania strukturalnym i logicznym. Zalety przetwarzania równoległego: zapewnienie pożądanej wydajności systemu; mniejsza aktywność A przełączeń bramek w układzie i/lub mniejsza częstotliwość zegara systemowego. P~(U 2, f, C, A) f~(1/C) Minimalizacja poboru mocy na poziomie logicznym: wybór właściwych IP-core; sterowanie częstotliwością zegara w poszczególnych blokach systemu; minimalizacja długości połączeń w układzie.
19 Przykład. Realizacja szeregowa operacji bazowej FFT ( o podstawie 2 z podziałem w czasie) BiBi CiCi AiAi A i+1 WiWi Parametry operacji bazowej 4 operacje mnożenia; 8 operacji dodawania; Parametry urządzenia: 1 blok mnożący; 2 sumatory; czas obliczeń - 4 takty.
20 Przykład (c.d.): Realizacja równoległa operacji bazowej FFT (przetwarzanie równoległe) Parametry urządzenia szeregowego: 1 blok mnożący; 2 sumatory (+ i –); 10 rejestrów; 5 multiplekserów; blok sterowania (7 wyjść); czas obliczeń - 4 takty. Parametry urządzenia równoległego: 4 bloki mnożące; 8 sumatorów (+ lub –); 10 rejestrów; czas obliczeń - 1 takt. P~(U 2, f, C, A)
21 Ograniczenia nowoczesnej technologii VLSI spowodowane efektami fizycznymi Technologie 0,18 m 0,13 m 90nm 65nm: wzrost rezystancji linii (ścieżek) łączących bramki; wzrost pojemności C między sąsiednimi liniami; zmniejszenie napięcia zasilania (nawet poniżej 1V). C C ścieżki na warstwie metalizacji
22 Negatywne skutki stosowania zaawansowanych technologii VLSI: relatywny wzrost opóźnienia sygnałów w liniach; relatywny wzrost wzajemnego oddziaływania sygnałów; wzrost różnicy poziomu sygnału na początku i końcu linii. wzrost prawdopodobieństwa powstania zakłóceń w pracy systemu relatywne zmniejszenie częstotliwości pracy systemu stosowanie zasady lokalności i regularności połączeń WYNIK. Dodatkowe wymaganie do projektantów SoC Ograniczenia nowoczesnej technologii VLSI spowodowane efektami fizycznymi (c.d.)
23 Projektowanie systemów SoC Wybór typu architektury systemu SoC: lokalność i regularność połączeń wewnętrznych; realizacja w obszarze reprogramowalnym układu scalonego; regularne algorytmy przetwarzania danych; równoległe przetwarzanie danych. Wynik: Architektury macierzy procesorowych Istnieją teoretyczne podstawy systematycznego projektowania MP (metody odwzorowania algorytmów regularnych) Największy współczynnik wydajność/złożoność sprzętowa wśród równoległych architektur innych typów
24 Przykładowe architektury macierzy procesorowych
25 Przykładowe architektury macierzy procesorowych m =1 m =2
26 Założenia wstępne wykładu i projektu: Zagadnienia podstawowe: część cyfrowa systemu SoC zawiera jeden lub kilka obszarów reprogramowalnych; podstawowymi architekturami jednostek przetwarzających dla systemów SoC są architektury macierzy procesorowych. opracowanie programów równoległych (wykład); zapoznanie się ze sposobami projektowania potokowych jednostek przetwarzających dla systemów SoC (wykład); zapoznanie się z analitycznymi metodami projektowania równoległych jednostek przetwarzających dla systemów SoC na poziomie strukturalnym (wykład); realizacja praktyczna (w tym komputerowa) w/w metod (projekt zespołowy).
27 Operacja bazowa FFT o podstawie 2 z podziałem w czasie Parametry operacji bazowej: 4 operacje mnożenia; 8 operacji dodawania.
28 Graf algorytmu 16-punktowego FFT o podstawie 2 z podziałem w czasie, normalnie uporządkowanymi danymi wejściowymi i odwróconą bitowo kolejnością wyników
29 Graf algorytmu 16-punktowego FFT o podstawie 2 z podziałem w czasie, odwróconą bitowo kolejnością danych wejściowych i normalnie uporządkowanymi wynikami
30 Opracowanie struktury potokowego ALU do realizacji operacji bazowej FFT (o podstawie 2 z podziałem w czasie) Parametry operacji bazowej: 4 operacje mnożenia; 8 operacji dodawania.
31 Opracowanie struktury ALU do realizacji operacji bazowej FFT 2 z podziałem w czasie (c.d.)
32 Opracowanie struktury ALU do realizacji operacji bazowej FFT 2 z podziałem w czasie (c.d.)
33 Opracowanie struktury ALU do realizacji operacji bazowej FFT 2 z podziałem w czasie (c.d.) Parametry operacji bazowej 4 operacje mnożenia; 8 operacji dodawania; Parametry urządzenia: 1 blok mnożący; 2 sumatory; czas obliczeń - 4 takty.
34 Operacja bazowa FFT o podstawie 2 z podziałem w dziedzinie częstotliwości Parametry op. bazowej 4 operacje mnożenia; 6 operacji dodawania.
35 Graf algorytmu 16-punktowego FFT o podstawie 2 z podziałem w częstotliwości, odwróconą bitowo kolejnością wyników i normalnie uporządkowanymi danymi wejściowymi
36 Graf algorytmu 16-punktowego FFT o podstawie 2 z podziałem w częstotliwości, odwróconą bitowo kolejnością danych wejściowych i normalnie uporządkowanymi wynikami
37 Opracowanie struktury potokowego ALU do realizacji operacji bazowej FFT 2 ( z podziałem w częstotliwości) Parametry op. bazowej 4 operacje mnożenia; 6 operacji dodawania.
38 Opracowanie struktury potokowego ALU do realizacji operacji bazowej FFT 2 z podziałem w częstotliwości ( c.d.) Parametry urządzenia: 2 bloki mnożące + 6 sumatorów; czas obliczeń - 2 takty.
39 Graf algorytmu 16-punktowego FFT o podstawie 2 z podziałem w czasie, odwróconą bitowo kolejnością danych wejściowych i normalnie uporządkowanymi wynikami
40 Opracowanie struktury urządzenia potokowego do realizacji FFT 2 z podziałem w czasie FFT AUTOM. STER. ROM RAM1 RAM2 RG wejście
41 Opracowanie struktury urządzenia potokowego do realizacji FFT 2 z podziałem w czasie (c.d.) Formowanie adresów danych wejściowych dla przypadku N=16
42 Opracowanie struktury urządzenia potokowego do realizacji FFT 2 z podziałem w czasie (c.d.) Przykładowa struktura Bloku Sterowania oraz wyniki symulacji Generatora Adresów GNR FDiv
43 Zadania do pierwszej części projektu zespołowego