TwojePC.pl © 2001 - 2024
|
|
T E C H N I K A |
|
|
|
EPIC, ITANIUM, PRZEŁOM
Autor: Stefan
Data: 21/08/01
|
|
|
Retoryka firmy Intel jest naprawdę monotonna i nużąca. Każdy nowy procesor, kontroler, tablet, etc. jest rewolucyjny, wiodący, wysokowydajny, przełomowy czy też path-breaking (nie potrafię tego dobrze oddać po polsku) etc. Bez względu na to czy wprowadzany produkt jest nowością w segmencie performance, value czy server, to oprawa jest zawsze taka sama. Od pewnego nawet czasu przyzwyczaiłem się do ciągłych stwierdzeń, iż coś jest największym przełomem od czasu 386. Były nimi MMX, Pentium II, III oraz 4 oraz kto wie jeszcze co. Jestem pewien, że w takim oto gąszczu (papce) informacji wielu uciekła informacja o nowym procesorze Itanium. Pomimo takiej samej oprawy marketingowej, ten właśnie procesor jest naprawdę rewolucyjnym rozwiązaniem otwierającym nową drogę. Jednak jak zwykle bywa w przypadku produktów otwierających jakąś serię już widać jego koniec oraz następcę w postaci McKinleya. Co to jest Itanium, w czym jest to nowatorskie rozwiązanie... Zapraszam dalej.
|
W dobie dynamicznie rozwijającego się e-biznesu pojawiła się konieczność znalezienia rozwiązań technologicznych, pozwalających usunąć niedogodności dotychczasowymi architekturami procesorów (CISC, RISC). Odpowiedzią Hewlett-Packarda oraz Intela ma być zupełnie nowa architektura EPIC oraz procesor Itanium. Według tychże Itanium mam być początkiem nowej epoki - którą rozpoczyna wraz ze swoją pierwszą implementacją, rozwijana od 1994 roku (sic!) architektura, która w zamyśle miała zastąpić RISC. Swoją drogą premiera Itanium była tak wiele razy przekładana tak jakby był to produkt Microsoftu, gdyż początkowo nowa architektura miała zobaczyć światło dzienne już sw... 1998 roku.
Nowa technologia otrzymała nazwę EPIC (Explicitly Parallel Instruction Computing - przetwarzanie z jawnym programowaniem równoległym). Została ona opracowana z myślą o pełnym wykorzystaniu możliwości mikroprocesorów 64-bitowych. Podstawową cechą technologii EPIC jest połączenie przetwarzania spekulatywnego, przypisywania rejestrom predykatów ważności (predykacji) oraz przetwarzania jawnie równoległego. To głównie te cechy mają technologii EPIC przewagę nad architekturami RISC i CISC.
Itanium zadebiutowało na rynku 29 maja 2001 roku. Prace nad nowym procesorem były rekordowo długie, to znaczy były prowadzone od roku 1994, kiedy to w czerwcu podpisano umowę o współpracy nad nową architekturą przeznaczoną dla rynku serwerów i stacji roboczych. W listopadzie 1997 ogłoszono powstanie architektury Itanium, opartej na EPIC oraz sprecyzowano plany rozwoju rodziny procesorów Merced (zwanych obecnie właśnie Itanium). W sierpniu 1999 po raz pierwszy przedstawiono systemy operacyjne Linux i 64-bitowy Windows, pracujące na nowych procesorach. Jednocześnie dostarczono dla klientów wstępne wersje Itanium, które jednak dopiero w maju bieżącego roku (po 2 latach testów!) trafiły w pełnym wymiarze na rynek serwerów i stacji roboczych.
Wyróżniające, według producenta :-), cechy architektury procesora Itanium to:
- ulepszone przetwarzanie równoległe na poziomie rozkazów maszynowych;
- krótszy czas oczekiwania na dostęp do pamięci;
- efektywniejsze wykonywanie rozgałęzień programu przy optymalnym wykorzystaniu zasobów;
- ulepszone przetwarzanie zmiennopozycyjne;
- przetwarzanie równolegle, oparte na wykorzystaniu wielu układów funkcjonalnych i bogatych zasobów, w tym 128 rejestrów ogólnego przeznaczenia, 128 rejestrów zmiennopozycyjnych, 64 rejestrów predykatów i 8 rejestrów rozgałęzień.
Lista rozkazów Itanium zawiera rozkazy specjalne służące do szyfrowania, kodowania sygnału wizyjnego i innych zastosowań, spotykanych w dzisiejszych systemach komputerowych (co byłoby nowością powiedzmy na przełomie 1997 i 1998 roku). Procesory Itanium posługują się także technologią MMX oraz rozszerzeniami przetwarzania strumieniowego SIMD.
Aby możliwe było pełne wykorzystanie listy rozkazów architektury 64-bitowej, muszą jej towarzyszyć dodatkowe zasoby i rozszerzenia sprzętowe. Procesory oparte na architekturze Itanium są wyposażone w dość bogate zasoby. Takie mechanizmy, jak sterowanie spekulatywne i predykacja, umożliwiają kompilatorowi znaczne zmniejszenie zarówno liczby rozkazów rozgałęzienia, jak i liczby błędów w przewidywaniu rozgałęzień. Badania wykazały, że procedura przewidywania rozgałęzień zmniejsza mniej więcej o połowę liczbę rozkazów rozgałęzienia i o około 30% liczbę błędów w przewidywaniu rozgałęzień. Spekulatywne przetwarzanie danych zmniejsza również opóźnienia, ponieważ pozwala ładować dane z wyprzedzeniem.
W architekturze Itanium rozkazy są łączone w 128-bitowe paczki. Paczka składa się z trzech 41-bitowych rozkazów maszynowych oraz 5-bitowego pola szablonu. Rozkazy maszynowe zajmują pierwszą, drugą i trzecią sylabę w paczce.
Dzięki układom funkcjonalnym architektura Itanium może rozróżniać sześć typów rozkazów i cztery typy wykonania. Pierwsze cztery bity pola szablonu zawierają kod typu rozkazu. Na podstawie pola szablonu procesor może bardzo szybko rozdzielić paczkę rozkazów i przypisać jej części do wykonania poszczególnym układom funkcjonalnym. Ostatni bit pola szablonu informuje, czy rozkazy z następnej paczki mają być wykonane równolegle z paczką bieżącą.
EPIC, czyli Przetwarzanie jawnie równoległe oznacza, że w danym cyklu mikroprocesora jest wykonywany więcej niż jeden rozkaz. Dotychczasowe rozwiązania opierały się jedynie na potokowaniu (o którym na łamach TPC już pisaliśmy) i superskalarności. Teraz kompilator może bezpośrednio informować procesor, czy rozkaz może być wykonany niezależnie od innych operacji. Natomiast przetwarzanie niejawnie równoległe, realizowane przez procesory konwencjonalne, wymaga takiego napisania oprogramowania użytkowego, aby możliwe było równoległe wykonywanie kroków programu. EPIC zastępuje więc podejście polegające na sekwencyjnym wykonywaniu rozkazów. Metoda ta zwiększa szybkość przetwarzania, ponieważ maleje liczba rozkazów rozgałęzienia i błędnie przewidzianych rozgałęzień. W ten sam sposób EPIC zmniejsza wpływ oczekiwania na dostęp do pamięci.
Innym sposobem przyspieszenia współpracy procesora z pamięciami RAM jest przetwarzanie spekulatywne, które ma na celu ograniczenie strat jakie niesie ze sobą różnica szybkości procesora i pamięci (brawo że panowie inżynierowie w 1994 roku przewidzieli, że procesory zostawią pamięci daleko w tyle:-). Itanium używa dwóch form przetwarzania spekulatywnego, które poszerzają i zmieniają reguły przewidywania rozgałęzień i pobierania z wyprzedzeniem - spekulacji w odniesieniu do danych oraz spekulatywnego sterowania.
Działanie kompilatora opiera się na procedurach statystycznych oraz na mechanizmach kontrolnych. W porównaniu z klasycznymi sposobami przewidywania rozgałęzień i pobierania z wyprzedzeniem, nowe procedury są lepiej przystosowane do przetwarzania równoległego na poziomie rozkazów maszynowych. W odróżnieniu od przewidywania rozgałęzień, spekulatywne sterowanie polega tutaj na załadowaniu i wykonaniu obydwu spodziewanych sekwencji rozkazów. W przypadku takiego jednak rozwiązania należy jednak przewidzieć dodatkowe rejestry, służące przechowywaniu nadmiarowych (bo przecież powstających w wyniku wykonania nie jednego, lecz dwóch sekwencji rozkazów, na jakie wskazuje rozgałęzienie) wyników instrukcji. "Koszty" tej procedury są mniejsze niż strata czasu i wydajności w przypadku błędnie przewidzianego rozgałęzienia.
Innym ograniczeniem, powszechnie występującym w procesorach opartych na dostępnych obecnie typach architektury, jest okres opóźnienia procesora, czyli czas oczekiwania na dane z pamięci, która jest znacznie wolniejsza niż procesor. Aby zminimalizować to ograniczenie, rozkazy załadowania powinny być wydane odpowiednio wcześniej (ładowanie z wyprzedzeniem). W architekturze konwencjonalnej rozkazy ładowania są wydawane z wyprzedzeniem, więc dane są przez cały czas gotowe go przetwarzania. Dzięki temu kompilator daje pamięci więcej czasu na odpowiedź bez spowalniania procesora i zmniejszania jego wydajności. Jest to jedyny sposób, aby dane były dostępne na czas. Jednakże ta procedura stwarza ryzyko, że rejestr może być wstępnie załadowany wartością, która przed właściwym przetwarzaniem zostanie ponownie zmieniona. W takim przypadku wynik jest błędny, a proces obliczeniowy kończy się w sposób nieprawidłowy.
Spekulacja w odniesieniu do danych oznacza proces, w którym ładowanie zawartości pamięci odbywa się przed rozkazem zapamiętania. Opiera się to na założeniu, że dane nie zostaną bezpośrednio zmienione przez rozkaz zapamiętania. Kompilator wstawia do kodu maszynowego rozkazy testujące, które gwarantują, że użyte zostają właściwe dane, podobnie jak to ma miejsce przy spekulatywnym sterowaniu.
Inną cechą Itanium jest predykacja czyli procedura warunkowego wykonywania rozkazów. W architekturze konwencjonalnej dbają o to rozgałęzienia programu i odpowiadające im rozkazy rozgałęzień. W Itanium rozgałęzienia zostały zastąpione rozkazami predykacji. Zmniejsza to liczbę rozgałęzień warunkowych, dzięki czemu bloki programu są bardziej spójne i mniejsze są opóźnienia, na przykład gdyby pojawiły się błędy w spekulatywnym dostępie do pamięci. Rejestr predykacji zawiera wskazówkę podpowiadającą, czy wartość rozkazu jest prawidłowa. Jeżeli wartość w rejestrze predykacji ulega zmianie, wtedy wszystkie rozkazy korzystające z tego rejestru są ignorowane przez odpowiedni układ funkcjonalny.
Jedną z mocnych stron Itanium jest wydajność w operacjach zmiennoprzecinkowych (w przeciwieństwie do stałoprzecinkowych, gdzie bardziej liczy się prędkość zegara i Athlon oraz Pentium 4 są "niedoścignionymi ideałami"). W danych technicznych architektury Itanium, przetwarzania zmiennopozycyjnego dotyczy duży rejestr zmiennopozycyjny oraz kilka układów przetwarzających FMAC (Floating Point Multiply Accumulate). Pierwszy procesor Itanium, który ma cztery układy FMAC, osiągnie w obliczeniach z pojedynczą precyzją wydajność około 6 gigaflopów. W trybie podwójnej precyzji moc obliczeniowa spada do 3 gigaflopów.
Do niewątpliwych zalet procesora Itanium nie sposób nie zaliczyć obsługi dwóch systemów operacyjnych bez korzystania z emulacji. Architektura Itanium umożliwia także wykonywanie kodu programów napisanych do procesorów IA-32. Aplikacje IA-32 mogą więc być wykonywane bez rekompilacji, mimo że struktura listy rozkazów jest inna niż używana w Itanium. Ponadto, jeżeli pozwalają na to platforma sprzętowa i oprogramowanie wbudowane, możliwe jest korzystanie z wcześniejszych systemów operacyjnych i aplikacji IA-32. I tak, w środowisku systemu operacyjnego Itanium (Windows 2000, Linux oraz HP-UX 11), uruchamiane mogą być zarówno aplikacje oparte o listę rozkazów Itanium, jak i aplikacje dla trybów chronionego i rzeczywistego IA-32. Dokonuje się to w dowolnym czasie (bez konieczności ponownego uruchamiania) z wykorzystaniem trzech instrukcji specjalnych: jmpe (IA-64 -> Itanium), br.ia (Itanium -> IA-32) oraz rfi (powrót do pierwotnej listy rozkazów). Poważnym niedociągnięciem jest jednak brak zdolności procesora do przestawiania kolejności wykonywanych instrukcji 32-bitowych "na gorąco". Zatem, choć procesor potrafi je wykonywać, to jednak w przypadku chybionych odwołań do pamięci, pozostaje bezczynny, gdyż kolejność ułożenia rozkazów nie pozwoli mu na wykonanie kolejnych poleceń, choćby były one niezależne od wykonywania instrukcji powodującej zatrzymanie potoku. Procesory takie jak Athlon czy Pentium 4, w czasie oczekiwania na dane z pamięci wykonują pozostałe niezależne rozkazy. W Itanium pewną rekompensacją tej straty czasu miała być koncepcja spekulacyjnego ładowania danych, lecz dotychczasowe testy wskazują, iż w aplikacjach 32-bitowych osiągi procesora są mimo wszystko niższe niż we wspomnianym Pentium 4.
Do wprowadzania tegoż procesora na rynek przystąpili tacy giganci jak Dell, HP, IBM, Nec czy SGI. Do grona tego należy także Compaq, ale ta akurat firma stała się już suwerenem Intela po sprzedaży swej linii superprocesorów Alpha firmie z Santa Clara. Itanium obsługiwany jest także przez takie systemy operacyjne jak: Windows , IBM AIX5L, Linux (Red Hat, Turbo, Caldera, SuSe), HP-UX11i. Szacowany popyt na nową architekturą to 26 tysięcy systemów w bieżącym roku oraz do 540 tysięcy systemów w roku 2004.
Opisane powyżej cechy procesora Itanium decydują o jego stosunkowo dużej wydajności (szczególnie na zmiennym przecinku) oraz wszechstronności. Warto zwrócić uwagę, iż serwery bazujące na Itanium mogą przetwarzać struktury danych o pojemności do 16 terabajtów oraz przechowywać 18 eksabajtów pamięci. Niestety pierwsze modele Itanium są produkowane w zamierzchłej dziś technologii 0.35 mikrona i taktowane zegarami około 800 MHz (no i oczywiście jak każda nowość Intela są koszmarnie drogie). W tym więc przypadku mamy sztandarowy niemal przykład niedopasowania architektury do procesu produkcyjnego (spowodowane opóźnieniami). Nikogo nie dziwi więc, że dwuprocesorowa stacja robocza oparta o 603 nóżkowe Pentium 4 jest znacząco szybsza niż dwuprocesorowe Itanium. W lutym tego roku Intel przedstawił już następcę Itanium - procesor McKinley, tak więc Itanium zostanie pierwszym, rewolucyjnym procesorem, który (jak większość rewolucji) będzie miał bardzo krótki żywot.
|
|
|
|
|
|
|
|
|
K O M E N T A R Z E |
|
|
|
- Intel Itanium (autor: GregorP-Redakcja | data: 10/10/02 | godz.: 16:59)
Projekty procesorów 64-bitowych istnieją
już od połowy lat siedemdziesiątych.
Od tego czasu prubóje się je wdrożyć
w życie. Nie udawało się to nie tyle ze
względu na bezsensowność tego zamierzenia,
z powodu prawie całkowitego braku
oprogramowania 64-bitowego, jak i braku
zainteresowania wśród potencjalnych klientów, co z polityki niechęci do
wdrażania tak sławionych REWOLUCYJNYCH
rozwiązań przez Intela, przed "znudzeniem"
się rynku "starą" technologią.
Rewolucyjność Intela skończyła się wraz
z procesorem Pentium. Od tamtego czasu
Intel odcinając kupony od dawnej chwały
próbuje udowodnić , że jest
niekwestionowaną potęgą na wszelkich
segmentach rynku, zarówno pod względem
wydajności, jak i ceny za tę wydajność.
Przy tym wszystkim Intel stara aię myśleć,
że zdeklasuje konkurencję samym
zwiększaniem zegara i dodaniem kilku
rejestrów.
Intel zaczął głośno mówić o procesorze
64-bitowym dopiero, gdy poczuł na karku
oddech AMD, od dłuższego czasu starającego
się udowodnić konieczność przejścia
na systemy 64-bitowe.
Projekty, jak i przyszłe plany Intela nie
mają żadnego atrybutu nowości
technologicznej, zważywszy na czas,
od którego istnieją one, lub ich projekty.
Chciałbym przy tej okazji stwierdzić,
że rewolucyjnymi i nowatorskimi
należałoby raczej określić istniejące
juz od wielu lat na rynku i cieszące się dość
sporym uznaniem 64-bitowe procesory Alpha.
Do zobaczenia
- itanium (autor: Sztefek | data: 13/04/03 | godz.: 12:12)
w sumie zgadzam się z tym że intel dopiero ruszył 64 bity gdy dogonił go AMD
- Hammer (autor: BodeX | data: 17/05/03 | godz.: 20:41)
Ten z tytułu (Hammer) i tak im da po Tyłeczku!!!
|
|
|
|
|
|
|
|
|
D O D A J K O M E N T A R Z |
|
|
|
Aby dodawać komentarze, należy się wpierw zarejestrować, ewentualnie jeśli posiadasz już swoje konto, należy się zalogować.
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|