ARCHITEKTURY KOMPUTERÓW



Podobne dokumenty
Obliczenia Wysokiej Wydajności

Rozproszona pamiêæ dzielona - 1

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Architektura mikroprocesorów TEO 2009/2010

Architektura komputerów

16. Taksonomia Flynn'a.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wykład 2. Budowa komputera. W teorii i w praktyce

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

Konsolidacja wysokowydajnych systemów IT. Macierze IBM DS8870 Serwery IBM Power Przykładowe wdrożenia

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Ethernet VPN tp. Twój œwiat. Ca³y œwiat.

Architektura komputerów

3.Przeglądarchitektur

Rozwiązania HPE Storage jak zapewnić pełne bezpieczeństwo Twoich danych?

Sieci komputerowe cel

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Architektura Komputerów

Budowa Mikrokomputera

Dr inż. hab. Siergiej Fialko, IF-PK,

Budowa i zasada działania komputera. dr Artur Bartoszewski

Zbuduj prywatnπ chmurê backupu w? rmie. Xopero Backup. Centralnie zarzπdzane rozwiπzanie do backupu serwerów i stacji roboczych

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

3.Przeglądarchitektur

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Budowa systemów komputerowych

Klasyfikacja sprzętu i oprogramowania nowoczesnego banku. Informatyka bankowa, AE w Poznaniu, dr Grzegorz Kotliński

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

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

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

HPC na biurku. Wojciech De bski

Projektowanie. Projektowanie mikroprocesorów

Instrukcja instalacji oprogramowania TSG wer. 5.0 z dost pem do danych poprzez sie Internet.

Programowanie współbieżne Wykład 2. Iwona Kochańska

Charakterystyka systemów plików

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wprowadzenie do systemów operacyjnych

Przetwarzanie potokowe pipelining

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Technika mikroprocesorowa

Załącznik nr 1 formularz oferty

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

Cyfrowe układy scalone

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

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Cyfrowe układy scalone

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

Technologia informacyjna. Urządzenia techniki komputerowej

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

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

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

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Schematy zarzadzania pamięcia

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

Dydaktyka Informatyki budowa i zasady działania komputera

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

Obliczenia Wysokiej Wydajności

Wykład I. Wprowadzenie do baz danych

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Systemy wbudowane Mikrokontrolery

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

Wieloprogramowy system komputerowy

Architektura mikroprocesorów z rdzeniem ColdFire

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

LEKCJA TEMAT: Zasada działania komputera.

O autorze... 9 Wprowadzenie... 11

Bazy danych. Andrzej Łachwa, UJ, /15

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Architektura potokowa RISC

Metody optymalizacji soft-procesorów NIOS

Budowa komputera Komputer computer computare

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

Część V - Serwery. UWAGA! Część V stanowi nierozerwalną całość. Ocena będzie łączna dla 4 zadań. Zadanie nr 1. SERWER BAZODANOWY KWESTURA

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

Rozbudowa dwóch posiadanych serwerów blade HP BL860c i2 do BL870c i2

Wymagania techniczne. Serwer bazy danych dla KRK szt. 2. Oferowany model.. Producent..

Systemy macierzowe. www. qsantechnology. com

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

1. Serwer. 2. Komputer desktop 9szt. Załącznik nr 1 do SIWZ

Technologie taśmowe wprowadzenie i zastosowania. Jacek Herold, WCSS

Stronicowanie na ¹danie

Oferta dysków twardych WD do centrów danych Ewolucja dysków o dużej pojemności

Pamięci masowe. ATA (Advanced Technology Attachments)

2.1 INFORMACJE OGÓLNE O SERII NX

Ochrona Danych Wrocław 7 marzec 2007

SZCZEGÓŁOWE INFORMACJE DOTYCZĄCE KONFIGURACJI OFEROWANEGO SPRZĘTU. Przetarg nieograniczony Dostawa sprzętu komputerowego

Szczegółowy Opis Przedmiotu Zamówienia

Macierze All Flash. Czy to jest alternatywa dla macierzy klasy Enterprise? Krzysztof Jamiołkowski HP EG Storage Solutions Architect

Fujitsu World Tour 2018

Szybki przewodnik po produkcie. EMC DataDomain

Załącznik nr Z1. AE/ZP-27-68/14 Wymagane i oferowane paramtery techniczne. Oferowane paramtery przedmiotu zamówienia podać zakres/wartość, opisać

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Algorytmy i Struktury Danych

Transkrypt:

ARCHITEKTURY KOMPUTERÓW DR HAB INZ. WITOLD DZWINEL prof.n.agh Katedra Informatyki AGH, Grupa Systemów Równoleglych p.410-412 Kraków, m a j 2 0 0 4

TEMATYKA WYKLADU (I) 3. WIELOPOZIOMOWOSC OPISU ARCHITEKTUR KOMPUT E - ROWYCH ARCHITEKTURA =ROZWIAZANIA SPRZETOWE + OPROGRAMOWANIE M o d e l w i e l o p o z i o m o w y - opisuje mikrosystem na wielu poziomach abstrakcji, odpowiadaj a- cych z reguly potrzebom róznych grup ludzi nad nim pracujacych lub z niego korzystajacych. poziom obwodów elektronicznych poziom pikoarchitektury poziom mikroarchitektury poziom makroarchitektury poziom systemu operacyjnego poziom megaarchitektury

Poziom obwodów elektronicznych Obraz sprzetu w oczach konstruktora technologa elementów cyfrowych uzytych do ko nstrukcji tego sprzetu. Poziom - teoria obwodów elektronicznych, elementy obwodów: tranzystory, di o- dy, rezystory, kondensatory, zródla napiecia. Zmiany napiec w e j s c i o w y c h w trakcie realizacji rozkazów Czarne skrzynki Zmiany napiec w y j s c i o w y c h

Poziom pikoarchitektury Obraz sprzetu w oczach konstruktora elementów cyfrowych o róznym stopniu integracji. Opis sprzetu w kategoriach dzialania ukladów logicznych kombinacyjnych i sekwencyjnych, z kt ó- rych skladaja sie elementy cyfrowe uzyte przez konstruktora sprzetu Czarne skrzynki Zmiany wejsc elementów logicznych w trakcie realizacji rozkazu J C K J C K Q Q Q Q Zmiany wyjsc i zmiany stanów elementów logicznych

Poziom mikroarchitektury Obraz sprzet u w oczach konstruktora elementów tego sprzetu lub w oczach programisty pamieci stalej ukladu sterowania mikroprocesorów systemu. Redukcja ukladu do zestawu rej e- strów, przesylanie wektorów informacji cyfrowej w trakcie przesylania moga one ulegac zmiana (poziom przesylan miedzyrejestrowych). Umozliwia okreslenie przebiegu kazdego rozkazu z dokladnoscia do przesylan miedzyrejestrowych. REJESTR A REJESTR B Czarne s k r z y n k i S U M A T O R Zmiany wejsc elementów logicznych w trakcie realizacji r o z k a z u REJESTR C Przebieg realizacji rozkazu

Poziom makroarchitektury Obraz sprzetu w oczach konstruktora tego systemu (elektronika, inz. oprogramowania po d- stawowego, oprogramowania uzytkowego). Potrzebne tylko te szczególy których znajomosc jest wymagana przy montazu systemu ze skladajacych sie nan elementów i przy pisaniu oprogramowania przy pomocy asemblera (mikroprocesory, elementy pamieci inne elementy wielkiejintegracji). Uklad polaczen elementów systemu Ciag rozkazów sformulowanych przez konstruktora oprogramowania podstawowego lub uzytkowego Sprzet z dokladnoscia do szczególów wystarczajacych do montazu systemu i opracowania programu w asemblerze Czarna skrzynka Reakcja sprzetu

Poziom systemu operacyjnego Obraz sprzetu i oprogramowania podstawowego, widzianego przez konstruktora oprogramowania uzytkowego. Okresla architekture jezyków wysokiego poziomu. Sprzet + oprogramowanie = system komputerowy. Historycznie - nowa era komputerów (koniec 50-tych poczatek 60). Opis swego rodzaju sprzetu wirtualnego (sprzetu teoretycznie mozliwego) na który sklada sie nie tylko sprzet lecz i oprogramowanie podstawowe. Zwalnie konstruktora od zajmowania sie szczególami technicznymi. Szczególy niedost rzegalne dla konstruktora oprogramowania uzytkowego. C i a g m a k r o i n s t r u k c j i s f o r m u l o w a n y c h przez k o n s t r u k t o r a o p r o g r a m o w a n i a u z y t k o w e g o Sprzet i oprogramowanie p o d s t a w o w e Czarna s k r z y n k a Reakcja sprzetu i o p r o g r a m o w a n i a p o d s t a w o w e g o

P o z i o m m e g a a r c h i t e k t u r y Megaarchitektura jest obrazem calego sprzetu i oprogramowania w oczach uzytkownika. Na poziomie megaarchitektury sprzet i oprogramowanie jest nierozdzielne. Wynika to z: wlasciwosci sprzetu i oprogramowania determinuja istotne dla uzytkownika wlasnosci i cechy systemu z punktu widzenia i sprzetu i uzytkownika jest nieistotne i nierostrzygalne które z wlasciw o- sci i cech systemu sa generowane sprzetowo a które programowo. Inne szczególy nieistotne. System komputerowy Polecenia u z y t k o w n i k a R e a k c j a s y s t e m u Czarna s k r z y n k a

1. Interpretacja fizyczna modelu 2. Niezaleznosc poszczególnych poziomów a ) wybór poziomu zdeterminowany celem któremu ten opis sluzy b ) inny jezyk opisu na kazdym poziomie c ) inna definicja podstawowego elementu systemu ( czarnej skrzynki ) d ) zasady opisu na kazdym z poziomów nie sa ze soba powiazane (silnie zwiazane), kazdym z poziomów zajmuje sie innego rodzaju specjalista e ) Rozumienie dzialania mikrosystemu zwieksza sie wraz z przechodzeniem z poziomu na poziom (nizej - dzialanie elementów, wyzej - ich wspóldzial anie) 3. Na kazdym z poziomów stosujemy opis czarnej skrzynki. Czarna skrzynka - nazywamy dowolny system, dla k t ó r e g o u z y t k o w a n i a w y s t a r c z y w y l a c z n i e z n a j o m o s c w l a s c i w o s c i w e j s c i o w o -w y j s c i o w y c h, o k r e s l o n y c h p r z e z p r z e - biegi zmian jego wielkosci wyjsciowych w odpowiedzi na wszystkie dopuszczalne zmiany jego wielkosci wejsciowych.

Szybkosc maksymalna - n a j w i e k s z a s z y b k o s c z j a k a m o z e p r a c o w a c d a n a m a s z y n a. J e s t t o g ó r n a g r a n i c a szybkosci procesora okreslona przez fizyczna strukture sprzetu. 1 flop = jedna operacja zmennoprzecinkowa 1 flops = 1 flop/s = szybkosc obliczen Wydajnosc w piku = peak performance =R pea k Wydajnosc maksymalna = R max najwieksza szybkosc uzyskana dla problemu algebry liniowej pakietu benchmarków Linpack (Jack Dongarra) N max - wielkosc najwiekszego problemu dla którego uzyskano R max N 1/2 - wielkosc problemu dla którego uzyskano wydajnos c r ó w n a p o l o w i e R max (powinna byc jak na j- m n i e j s z a ) Istnieja INNE pomiary predkosci maszyny (MIPS, SPEC (int, float), benchmarki, tpm/c, SAP R3 del i v. a n d s a l e u s e r s )

NAJWIEKSZA aktualnie projektowana architektura ma miec 3600 Teraflops ów (0.36 * 10 1 5 f l o p s ó w ) Blue Gene - IBM Power4 65.000 procesorów instalacja: Lawrance Livermore National Labolatory w 2004 roku cel : analiza genotypów Pokonac Earth Simulator Najwieksze instalacje na swiecie znajduja sie na liscie TOP 500

100 GFLOPS = kompu t e r z z e g a r e m 1 0 0. 0 0 0 M h z z z a l o z e n i e m z e j e d e n t a k t o d p o w i a d a j e d n e m u d z i a l a - niu! Czy jest mozliwe osiagniecie takiej predkosci obliczen! BARIERY FIZYCZNE ROZWOJU ARCHITEKTUR: a.) skonczona predkosc rozchodzenia sie sygnalów, b. ) w i e k s z a c z e s t o t l i w o s c o g r a n i c z o n a b e z w l a d n o s c i a u k l a d u, w i e k s z e w y d z i e l a n i e s i e c i e p l a, d a l s z e z w i e k- s z e n i e b e z w l a d n o s c i u k l a d u. Wyjscie : pipelining, interleaving, RISC architectures, zwiekszenie ilosci jednostek funkcjonalnych, m a s o w a r ó w n o l e g l o s c ( m a s s i v e p a r a l l e l i s m ) Szybkosc maksymalna (peak performance) to szybkosc której maszyna na pewno nigdy nie uzyska. O g r a n i c z e n i a : w s p ó l p r a c a p r o c e s o r a z i n n y m i e l e m e n t a m i a r c h i t e k t u r y ( p a m i e c i, r e a l i z a c j a o p e r a c j i w ejs c i a -w y j s c i a, i n s t r u k c j e r o z g a l e z i e n i a )

Szybkosc srednia (sustained performance )- najwieksza stale osiagana szybkosc komputera. Dobry par a - metr opisujacy predkosc komputera Wzrost predkosci maksymalnej ------ > wzrost predkosci sredniej NOZYCE: Rosnie równoczesnie róznica pomiedzy predkoscia maksymalna i predkoscia s r e d n i a! Np. podwojenie predkosci zegara zwieksza szybkosc maksymalna 2 razy. Szybkosc srednia rosnie mniej n i z 2 r a z y z e w z g l e d u n a d o s t e p d o p a m i e c i. Stosunek koszt/ szybkosc (price performance ) M a s z y n a N r. 1 1 0 G f l o p s ó w k o s z t 1 0 m l n. U S D 1 M f l o p s = 1 0 0 0 U S D M a s z y n a N r 2 1 0 0 M f l o p s ó w k o s z t 5 0 t y s. U S D 1 M f l o p s = 5 0 0 U S D

Instrukcje J e s t t o n a j d r o b n i e j s z y f r a g m e n t o b l i c z e n d o s t e p n y d l a p r o g r a m i s t y. W j a k i s p o s ó b i n t e r p r e t o w a n e s a instrukcje w mikrokodzie (uklad komponentów) tak dokonuje sie podzialu procesorów (komputerów) C I S C (complex instruction set computer ) - maszyna której instrukcje procesora zbudowane sa z róznej ilosci komponentów (nawet bardzo róznej! od 3 - s e t e k!! ). K a z d a i n s t r u k c j a w y m a g a w i e c z d e c y d o w anie r ó - z n y c h c z a s ó w w y k o n a n i a. W maszynach CISC istnieja oprócz pojedynczych instrukcji takze instrukcje skladajace sie z kilku i ki l - kunastu instrukcji mikrokodu. Na starych procesorach mikrokod dla dzielenia zajmuje wiecej cykli niz sekwencja innych instrukcji re - a l i z u j a c y c h t o d z i e l e n i e. Instrukcje na procesorach CISC wykonuja operacje pobrania i zapisywania w pamieci (na proceor a c h RISC istnieja TYLKO 2 instrukcje które to robia)

Typy dzialan Rodzaje instrukcji typowych dla dzialania danego procesora n o s z a n a z w e z b i o r u i n- strukcji procesora. 4 k l a s y d z i a l a n : 1. Dzialania pamieciowe (load/store ) 2. Obliczenia na liczbach calkowitych 3. Obliczenia na liczbach zmiennoprzecinkowych. 4. Instrukcje rozgalezienia (zmiana przeplywu sterowania programu ) Zmiana pomiar z MIPSów na FLOPSy dokonala sie w momencie szczytowego okresu p a n o w a n i a p r o c e s o r ó w C I S C.

Jak zwiekszyc szybkosc pojedynczego procesora? X cykli/sekunde X S p e e d = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - instrukcji/sekunde Y cykli/instrukcje Y X -- zwiekszyc czestotliwosc = zmniejszyc opóznienie zwiazane z przeplywem danych przez procesor (skrócenie sciezek przez które plynie prad) Y -- zmniejszyc liczbe cykli na instrukcje (zuniformizowanie dlugosci inst r ukcji, efektywniejsze zakodowanie instrukcji, pipelining, wzrost liczby jednostek funkcjo - n a l n y c h, o u t-o f-o rder sequencing)

Komputery RISC R I S C - reduced instruction set computer - komputery z procesorami o zuniformizowanym zbiorze i n- strukcji o jedna kowej dlugosci, wymagajacych tej samej liczby podobnych kroków. (Rysunek) C E L - uproszczenie operacji mikroprocesora OBSERWACJA - najwiecej czasu procesor spedza na wykonanie instrukcji z ograniczonego podz bioru instrukcji. Sa to instrukcje najprostsze. W N I O S E K - zbiór instrukcji ograniczyc do najprostszych, niezbednych dzialan, zapisac je jak najefe k- t y w n i e j Dodawanie CISC - jedna dluga instrukcja w mikrokodzie Dodawanie RISC - 4 jednakowe instrukcje, niektóre realizowane sprzetowo KORZYSCI - Instrukc j e w y k o n y w a n e s z y b c i e j ( n i e k t ó r e d z i a l a n i a r e a l i z o w a n e w 2 c z y 1 c y k l u ) Prostsza implementacja. Maly zbiór prostych instrukcji = mniej krzemu = na plytce procesora mozna z m i e s c i c c o s j e s z c z e n p. p a m i e c c a c h e. Instrukcje wykonywane tylko na rejestrach (opróc z load/store)

Podzial instrukcji RISC IF I D EX MEM WB IF - pobierz z pamieci ID - rozkoduj EX - w y k o n a j M E M - zapisz WB - przenies do akumulatora

Pipelining (przetwarzanie potokowe) Pipelining zapewnia t e o r e t y c z n a mozliwosc wykonywani a jednej instrukcji w jednym cyklu zegara. Rysunek NIEBEZPIECZENSTWA: 1. D a t a h a z a r d ( z a l e z n o s c d a n y c h ) 2. Control hazard (instrukcje warunkowe) 3. Structural hazard (równoczesnosc dostepu do pamieci) 4. Rózny czas wykonania kroku EX 5. Komunikacja z pamiecia o p e r a c y j n a

Przetw a r z a n i e p o t o k o w e 1 2 3 4 5 6 7 8 9 IF ID EX MEM WB IF ID EX MEM WB IF ID E X MEM WB IF ID EX MEM WB IF ID EX MEM WB Instrukcja 1 Instrukcja 2 Instrukcja 3 Instrukcja 4 Instrukcja 5

D a t a h a z a r d - wystepuje gdy instrukcja potrzebuje wyniku poprzedniej instrukcji. WYJSCIE: 1) oczekiwanie na rezultat (stall) 2) sprzetowy forwarding z EX (i) do ID (i+1) C o n t r o l h a z a r d - s p o w o d o w a n y n i e l i n i o w y m p r z e p l y w e m s t e r o w a n i a i w y s t e p o w a n i e m i n s t r u k c j i n p. w a r u n k o w y c h. Zmiana licznika przeplywu programu znana po wykonaniu EX z warunkiem. Tymczasem licza sie trzy instrukcje niepotrzebnie. Strata czasu: na wrzucenie tych instrukcji i opróznienie oraz przywrócenie poprzedniego stanu rejestrów. WYJSCIE: dodatkowe opcje w procesorze i zabezpieczenia w kompilatorze 1) wstawienie 2 instrukcji no- o p s za kazdym rozgalezieniem w programie (komp.) 2) wstawienie za kazdym rozgalezieniem instrukcji, które wykonuja sie niezaleznie od rezultatu warunku (branch delay slot ). (komp. raczej trudne) 3) dynamic branch prediction speculative execution, dodatkowy bufor w procesorze i mechanizm predykcji rezultatu warunku. Moze sie pomylic! Potrzebny mechanizm przywracania stanu rejestrów przed pomylka. Structural hazard - k i e d y i n s t r u k c j e l a n c u c h o w a n e c h c a w t y m s a m y m c z a s i e s k o r z y s t a c z t y c h s a - m y c h z a s o b ó w. Jezeli istnieje tylko jeden port dla instrukcji i danych, wtedy pobieranie instrukcji moze zajsc równoczesnie z odwolaniem do danych w pamie ci, wtedy jedna z instrukcji musi czekac az wczesniejsza zakonczy czynnosc. Jedynym wyjsciem jest albo duplikacja zasobów (drogie), albo duplikacja portów pamieci. Jeden dla danych drugi dla instrukcji.

Procesory superskalarne. Operacje zmiennoprzecinkowe potrzebuja wiecej cykli niz inne. Zatem dlugosc kroku EX moze byc róz - n a. POZADANE: Zwiekszeni e liczby rodzajów jednostek funkcjonalnych EX (Rysunek) A nawet ich zduplikowanie REZULTAT: WIECEJ NIZ JEDNA INSTRUKCJA/cykl = MASZYNY SUPERSKALARNE SKUTKI UBOCZNE: Wykonanie instrukcji OUT-OF-ORDER (Rysunek) a[1] = 20. / 2. b = a[1] *3.0 a[ 1 ] = 5. 0 + 3. c = a [ 1 ] + b p o w i n n o b y c c = 3 8 moze byc c=34

Out of order execution

A M D O P T E R O N

P O W E R 4

Hierarchia pamieci (0) Rejestry Podstawowa cache Procesor Druga cache Pamiec pierwszego poziomu Pamiec dodatkowa Pamiec wirtualna P a m i e c d y s k o w a High Performance storage devices (pamiec CD. optyczna, roboty tasmowe)

Hierarchia pamieci (I) D ecydujacy element degradujacy wydajnosc obliczen. D egradacja ta zachodzi juz na poziomie przesylan miedzyrejestrowych G w a l t o w n e o b n i z e n i e w y d a j n o s c i, g d y n a s t e p u j e z m i a n a s t e r o w a n i a s p o w o d o w a n a p r z e z w y w o l a n i e p r o- c e d u r. WYJ S C I E : W architekturach RISC (SPARC) tworzy sie banki rejestrów (okna - Windows ). Ilosc okien = glebokosc z a g n i e z d z e n i a W celu unikniecia konfliktów WAW i WAR stosuje sie przemianowanie rejestrów (register renaming ) Jezeli rejestr nie moze byc wykorzystany przez instrukcje do zapisu, poniewaz jest uzywany przez inna instrukcje, wynik przesylany jest do innego wolnego rejestru i wszystkie odwolania do tego rezultatu zostaja skierowane do aktualnie zajmowanego przez niego rejestru.

O k n a r e j e s t r o w e

Hierarchia pamieci (II) C I S C - moze dokonywac operacji na operandach bezposrednio w pamieci R I S C - laduje dane pamieci do rejestrów wykonuje operacje i wynik przesyla do pamieci. Instrukcje tez m u s i z a l a d o w a c z p a m i e c i i t o z p r e d koscia przynajmniej 1 instrukcja/cykl W N I O S E K : M u s i i s t n i e c p o d s y s t e m p a m i e c i k t ó r y p o z w a l a n a z a l a d o w a n i e z p a m i e c i p r z y n a j m n i e j 2 pobrania na jeden cykl (takt) UWAGA: Zaprojektowanie pamieci to jednak cos wiecej niz sama jej predkosc. virtual memory spaces security and safety in microprogramming process synchronization semantic correctness of program

Hierarchia pamieci (pamiec wirtualna) P o z w a l a n a d z i e l e n i e p a m i e c i o p e r a c y j n e j p o m i e d z y o d d z i e l n e p r o c e s y w t a k i s p o s ó b b y d e t a l e i m p l e m entacji nie by ly dostrzegalne przez uzytkownika, a kazdy proces mial wirtualna mozliwosc dostepu do sw o- j e j w l a s n e j i p e l n e j p r z e s t r z e n i a d r e s o w e j. W rzeczywistosci fizyczna pamiec jest szatkowana na bloki i dzielona pomiedzy wykonujace sie procesy. System zarzadzania pamiecia pozwala na translacje abstrakcyjnej pamieci na dostepna fizyczna pamiec operacyjna. Wielkosc pamieci determinowana jest wielkoscia przestrzeni adresowej. Dla procesorów 64 bitowych 2 6 4 =~2*10 1 9. Dlatego nie istnieje potrzeba ponownego wykorzystania adresu, az do momentu zrebootowania przestrzeni adresowej. Kompilator nie musi sie martwic o dealokacje i inicjalizacje pamieci, alokuje pamiec w dowolnym nie uzywanym miejscu. (mnóstwo smieci) Stronnicowanie (paging ) - daje iluzje wiekszej pamieci ni z aktualnie jest dostepna. ( pamiec fizyczna jest dzielona na strony i pamiec wirtualna takze na strony. Aktywne strony procesów laduja sie do pamieci podczas gdy nieaktywne pozostaja na dysku). Wirtualny adres zawiera adres strony i offset. Page table zawiera informacje do numeru jakiej strony pamieci fizycznej dopieta zostala aktywna strona pamieci wirtualnej. W przypadku page fault strona aktywna jest wyrzucana z pamieci fizycznej i ladowana nowa strona. Dla architektur 64 bitowych stronicowana jest równiez Page table. Bardzo kosztowne. WYJSCIE : Transaction Lookside buffer (TLB) - pamiec podreczna typu cache. Przechowuje odpowiednik adresu pamieci rzeczywistej do adresu wirtualnego. Kazdy nowy dostep do pamieci (strony aktywnej) odwoluje sie do TLB zamiast do page table. Cache procesora odwoluje sie do TLB gdy na wejsciu cacha znajduje sie adres fizyczny, a cache indeksowany jest wirtualnie. Gdy na wejsciu znajduje sie adres wirtualny nie potrzbny jest TLB. Niezbedne jest jednak sprawdzanie kontekstu w przypadku wiekszej ilosci wykonywanych procesów (1 adres wirtualny = wiele ad - r e sów fizycznych).

Hierarchia pamieci (optymalizacja pamieci DRAM ) ZALOZENIE - wielkosc strony pamieci DRAM 1024 bajty, kazde chybienie pamieci to dodatkowe 10 cy - kli. Przypade k 1. REAL A(256), B(256), C(256) INTEGER I D O I = 1, 2 5 6, 1 A(I) = B(I) + C(I) ENDDO Ilosc chybien 30 * 256 = 7680 cykli Przypadek 2 R E A L A ( 2 5 6 ), B ( 2 5 6 ), C ( 2 5 6 ) I N T E G E R T 1, T 2, T 3, T 4, S 1, S 2, S 3, S 4, I DO I = 1, 256, 4 T1 = B(I) T2 = B(I+1) T3 = B(I+2) T4 = B(I+3) S1 = C(I) S2 = C(I+1) S3 = C(I+2) Ilosc chybien 4 razy mniejsza S4 = C(I+3) T1 = T1 + S1 T2 = T2+S2 T3 = T3+S3 T4 = T4+S4 A(I) = T1 A(I+1) = T2 A(I+2) = T3 A(I+3) = T4 ENDDO

Hierarchia pamieci (pamiec cache) C a c h e (skrytka) - szybka pamiec wykorzystywana jako bufor danych, które mozna szybko zaladowac do rejestrów CPU (w procesorach RISC oddzielne skrytki dla danych i instrukcji) Do skrytki wczytywane dane aktualnie potrzebne i sasiadujace (rezydujace blisko w pamieci operacy jnej) w p o s t a c i t z w. W i e r s z a c a c h e (jest to najmniejsza ilosc informacji przesylana do pamieci roboczej). Instrukcja prefetch l a d u j e w a r t o s c z p a m i e c i d o c a c h a z a n i m b e d z i e w y k o r z y s t a n a. PRZYKLAD: R E A L A ( 1 0 0, 3 0 0 ), B ( 1 0 0, 3 0 0 ), C ( 1 0 0, 3 0 0 ) I N T E G E R I, J D O I = 1, 1 0 0, 1 D O J = 1, 3 0 0, 1 A ( I, J ) = B ( I, J ) + C ( I, J ) ENDDO ENDDO

Ewolucja typowego komputera sekwencyjnego

Minimal Instruction Set Computers The term MISC refers to Minimal Instruction Set Computers i n g e n e r a l, a n d t o t h e c h i p s d esigned by Chuck Moore at Computer Cowboys. These chips are unusual in many ways. They are designed on Chuck's VLSI CAD software called OKAD. They are implemented in CMOS Silicon VLSI proces - ses and are very small and fast. The y use a CPU architecture based on the Forth computer lan guage, and with only five bit instructions. The first chip to be produced at Co mputer Cowboys was MuP21. M u P 2 1 s t a n d s f o r M u l t i -M i c r o P r o c e s s o r. W i t h o n l y 2 5 i n s t r u c t i o n s M u P 2 1 i s a M i n i m a l I n s t r u c- t i o n Set Computer. But it is not just he instruction set that has been minimized, much of the co m- plexity in modern chips is gone. MuP21 is implemented in only 7000 transistors vs millions of tran - s i s t o r s o n o t h e r m o d e r n c h i p s. M u P 2 1 i n c l u d e s n o t o n l y a F o r t h Engine CPU, but also a memory in - terface processor, and a video output processor on the chip. With only 7000 CMOS transistors MuP21 can execute 80 million instructions per second and only draw 50 milliwatts of power. A paper entitled MuP21 a High Performance MISC Processor was published by Charles Moore and C. H. T i n g i n t h e January 1995 issue of Forth Dimensions.

Some of the problems in the RISC architecture are quite evident: a. R I S C p r o c e s s o r s a r e i n h e r e n t l y s l o w, b e c a u s e e a c h i n s t r u c t i o n s t i l l n e e ds m a n y m a c h i n e c y c l e s t o e xe - cute. Instruction pipelines are used to accelerate the execution. However, the pipeline must be flushed and r e f i l l e d w h e n a b r a n c h i n s t r u c t i o n i s e n c o u n t e r e d. b. I n c r e a s i n g s p e e d i n t h e R I S C p r o c e s s o r c r e a t e s a l a r g e d i s p a r i t y b e t w e e n t h e p r o c e s s o r a n d t h e s l o w e r m e m o r y. T o i n c r e a s e t h e m e m o r y a c c e s s i n g s p e e d, i t i s n e c e s s a r y t o u s e c a c h e m e m o r y t o b u f f e r i n s t r uc - t i o n a n d d a t a s t r e a m s. T h e c a c h e m e m o r y b r i n g s i n a w h o l e s e t o f p r o b l e m s w h i c h c o m p l i c a t e t h e s y s t e m d e s i g n a n d r e n d e r t h e s y s t e m m o r e e x p e n s i v e. c. R I S C p r o c e s s o r s a r e v e r y i n e f f i c i e n t i n h a n d l i n g s u b r o u t i n e c a l l s a n d r e t u r n s. E f f i c i e n t s u b r o u t i n e me - c h a n i s m i s c r i t i c a l t o t h e p e r f o r m a n c e o f a p r o c e s s o r i n s u p p o r t i n g h i g h l e v e l l a n g u a g e s. M a n y R I S C p r o- c e s s o r s u s e a l a r g e r e g i s t e r f i l e, w h i c h i s w i n d o w e d t o f a c i l i t a t e s u b r o u t i n e c a l l a n d r e t u r n. H o w e v e r, t h e r e g i s t e r w i n d o w m u s t b e b i g e n o u g h t o h a n d l e a l a r g e s e t o f i n p u t, o u t p u t, a n d l o c a l p a r a m e t e r s. T h e l a r - g e r e g i s t e r w i n d o w w a s t e s t h e m o s t p r e c i o u s r e s o u r c e i n t h e R I S C p r o c e s s o r. A l a rg e r e g i s t e r f i l e a l s o s l o w s d o w n t h e c o m p u t e r s y s t e m d u r i n g a c o n t e x t s w i t c h, w h i c h m u s t s a v e t h e r e g i s t e r f i l e a n d l a t e r re - store it.

Minimal Instruction Set Computers a. W h a t i s t h e m i n i m u m s e t o f i n s t r u c t i o n s i n a m i c r o p r o c e s s o r to m a k e i t u s e f u l i n s o l v i n g p r a c t i c a l p r o g r a m m i n g p r o b l e m s? b. W h a t w i l l b e t h e p e r f o r m a n c e o f a m i c r o p r o c e s s o r w i t h s u c h a m i n i m u m s e t o f i n s t r u c t i o n s? c. W h a t f a c i l i t i e s i n a m i c r o p r o c e s s o r a r e n e c e s s a r y t o r e d u c e t h e c o m p l e x i t y a n d t h e s y s t e m c o s t s o f a c o m p u t e r? d. H o w t o b e s t u t i l i z e t h e c u r r e n t C M O S t e c h n o l o g y t o b u i l d s u c h M I S C p r o c e s s o r s? W h a t i s t h e m i n i m u m s e t o f i n s t r u c t i o n s i n a p r a c t i c a l m i c r o p r o c e s s o r? T h e C I S C p r o c e s s o r s g e n e r a l l y h a v e 1 0 0 o r m o r e i n s t r u c- tions. The RISC processors have about 50 instructions. In our investigations, it was obvious that 16 instructions are not sufficient t o s u p p o r t a l l t h e n e c e s s a r y f u n c t i o n s r e q u i r e d i n a m i c r o p r o c e s s o r. 5 0 i n s t r u c t i o n s a r e t o o m a n y. T h e m i n i m u m n u m b e r o f ins t r u c t i o n s i s s o m e w h e r e b e t w e e n 1 6 a nd 3 2. A c o n v e n i e n t c h o i c e i s t o l i m i t t h e n u m b e r o f i n s t r u c t i o n s t o 3 2 a n d i m p l e m e n t a microprocessor with 5 bit instructions. H e r e i s t h e i n s t r u c t i o n s e t i m p l e m e n t e d i n M u P 2 1 : MuP21 INSTRUCTION SET T r a n s f e r I n s t r u c t i o n s : J U M P, C A L L, R E T, J Z, J C Z M e m o ry Instructions: LOAD, STORE, LOADP, STOREP, LIT ALU Instructions: COM, XOR, AND, ADD, SHL, SHR, ADDNZ Register Instructions: LOADA, STOREA, DUP, DROP, OVER, NOP

ARCHITEKTURY MAINFRAME W historycznej kolejnosci pojawiania sie na rynku sa to architektury: host/terminal - bazujace glównie na mainframach, klient/serwer (ang. Client/Server ) - aktualnie bazujace w zdecydowanym stopniu na komputerach o procesorach RISC, s i e c i o w e lub tzw. Java Computing zwane takze chudy-k l i e n t / t l u s t y-serwer (z ang. thin-client/fatserver ). W przezywajacych swój rozkwit w latach 70-tych architekturach typu host/terminal, zarówno wszystkie dane jak i aplikacje rezyduja na komputerze mainframe (najczesciej pod kontrola systemu operacyjnego MVS lub OS/390 - obecnie). Uzytkownik posiada do nich dostep poprzez proste (funkcyjnie zdeterminowane - a n g. fixed-function, slepe, glupie - a n g. "dumb ") terminale o malej mocy obliczeniowej (nie posiadajace swojej pamieci dys kowej) zazwyczaj malej pamieci operacyj - nej i niskiej efektywnosci przetwarzania obrazu. Aplikacje uruchamia sie zwykle w systemie batch jobs.

ARCHITEKTURY KLIENT- SERVER Architektury typu K/S (klient/serwer), które szczególnie mocno weszly na rynek w latach 90 -tych, w przeciwienstwie do swych poprzedników bazuja na nowej generacji - niezwykle mocnych, wyp o - sazonych w procesory RISC, wyspecjalizowanych serwerach UNIXowych. Kontaktujacy sie z nimi "klienci" to komputery poczynajac od klasy PC do wyspecjalizowanych stacji roboczych, posiadaj a- ce, (choc w zróznicowanym stopniu w zaleznosci od klasy sprzetu) swoje lokalne zasoby pamieci operacyjnej, dyskowej, mozliwosci graficzne, podstawowe aplikacje i bazy danych.

ARCHITEKTURY SIECIOWE Architektu ry s i e c i o w e (ang. Network or Java Computing ) to calkiem nowy paradygmat architektury bedacy rezultatem obserwowanej w ostatnim czasie eksplozji pomyslów wykorzystania sieci lokal - nych i globalnych oraz sukcesu Internetu. Aktualnie jest to raczej propozycja niz nowa technologia. Idee architektury sieciowej charakteryzuje ogromna liczba tzw. chudych- klientów, komputerów si e- ciowych wyposazonych jedynie w OS Java oraz maszyne wirtualna Java w celu uruchamiania apletów i aplikacji. Komputery sieciowe polaczone sa z wydajnym superserwerem (gruby- serwer) i p o - przez szybkie lacza pobieraja z jego dysku aplikacje (aplety) wykonujac je lokalnie, lecz korzys tajac z baz danych umieszczonych na dyskach serwera. Wymagania takiej architektury w stosunku do komputerów sieciowych odnosnie szybkosci przetwarzania, wielkosci pamieci operacyjnej i dysko - wej sa znacznie skromniejsze niz dla klientów/serwerów UNIX -owych. Niski koszt komputera si e- ciowego (ok. 800-1000 USD) oraz niskie koszty jego utrzymania sa glównym elementem preferu j a- cym ta architekture w przyszlosci.

Obserwowane trendy rynkowe odnosnie wymienionych trzech klas architektur wska - zuja na rosnaca dominacje architektur klient/serwer, dalej silna, lecz wyraznie sla b- n a c a p o z y c j e architektur host/terminal i jeszcze embrionalny rozwój architektur sie - c i o w y c h. Zarówno systemy oparte o K/S jak i mainframe, a przede wszystkim systemy UN I- X'owe stanowiace "pole doswiadczalne" obliczen sieciowych, posiadaja mech anizmy umozliwiajace latwa i efektywna emulacje architektur siec i o w y c h (web-enabled applications).

Jedna z najwazniejszych cech architektur K/S jest mozliwosc fizycznego i logic z n e g o rozdzialu zlozonych aplikacji w taki sposób, ze przetwarzania dokonuje sie w optymalnym miejscu. Z tego tez powodu nowoczesne ins t a l a c j e r e a l i z u j a t z w. t r ó j w a r- s t w o w e p o d e j s c i e : s e r w e r d l a b a z d a n y c h, serwery aplikacyjne, serwery do prezentacji.

M A I N F R A M Y I B M N O W E J G E N E R A C J I W okresie najwiekszego spadku zamówien na sprzet produkowany przez IBM (1993-94), firma ta wprowad z i l a n a r ynek serie serwerów typu mainframe nowej generacji (klasy 9672) opartej na technologii CMOS. Nosza one nazwe Parallel Enterprise Servers (slowo mainframe, kojarzace sie z komputerami starej generacji, firma IBM stara sie wyrzucic z nowego nazewni ctwa), ostatnie z nich to serwery S/390, a najnowsze produkty firmy ukrywaja sie pod nazwa System/390 (9672- RY5). OS/390 jest najnowsza wersja MVS posiadajaca funkcjonalnosc K/S UNIX'a. Sredni roczny wzrost mocy zainstalowanych serwe - rów S/390 wynosi od kilku lat az 50%, zas liczby instalacji okolo 65%.

WPLYW NOWEJ TECHNOLOGII NA PRZYROST SPRZEDAZY

WZROST PRZYCHODÓW W SEKTORZE SYSTEMÓW OTWARTYCH I ICH SPADEK W SEKTORZE KOMPUTERÓW IBM MAINFRAME W %. K o m p u t e r y U N I X M a i n f r a m y I B M

C en a z a 1 MIPS C e n a entry level Wydajnosc (MIPS) (w konfigu - r a c j i m a k- symalnej) I B M SUN HP 8, 0 0 0 U S D ( 9 6 7 2 ) 1 0 3 0 U S D 600 USD ( U E 1 0 0 0 0 ( 6 4 ) ( V 2 2 0 0 ( 1 6 ) 5 0, 0 0 0 ( M u l t i p r i s e b r a k d a n y c h 1 5, 0 0 0 U S D 2 0 0 0 ) (HP D-C l a s s ) 4 9 0 ( 9 6 7 2, R Y 5, 2 0 0 0 9 4 0 1 0 p r o c. ) ( U E 1 0 0 0 0, 6 4 ( V 2 2 0 0, 1 6 p r o c. ) proc) Cena za 1 MIPS, entry level i wydajnosc porównywalnych systemów w danej k l a s i e.

R o d z a j k o m p u t e r a 1 P o r ó w n a n i e w y d a j n o s c i ( M I P S ) n i e k t ó r y c h s e r y j n y c h s t a r s z y c h s e r w e r ó w H P 9 0 0 0 o r a z m a i n f r a m ó w I B M s t a r e j g e n e r a c j i 1. 1 EPS Reports, koniec 1997,

Porównanie wydajnosci (MIPs) serwerów systemów otwartych (na przykladzie HP) z tzw. Superserwerami IBM (serwery RY4, RY5 maja po 10 procesorów)

Open Enterprise Computing A Historical Perspective Proprietary Systems Open Systems "Flexible IT' Mainframe Application Database Hardware Platform and OS Application Management Consultants Database S I Middleware Platform Open Enterprise Computing Management Consultants S I Application Middleware Database Platform Maximum Integration Limited Flexibility Maximum Flexibility Limited Integration Maximum Integration and Flexibility R y s. 3. 1. 1 Historyczna perspektywa rozwoju architektur bazodanowych