VLIW: Różnice pomiędzy wersjami

Dodane 52 bajty ,  6 lat temu
brak opisu edycji
m (dodanie daty do parametru źródła w szablonie dopracować na podstawie http://pl.wikipedia.org/w/index.php?title=VLIW&diff=prev&oldid=31755900)
Nie podano opisu zmian
{{dopracować|źródła=2012-06}}
 
'''VLIW''' ([[język angielski|ang.]] ''Very Long Instruction Word'') – nazwa [[architektura procesora|architektury mikroprocesorów]] z bardzo długim [[słowo maszynowe|słowem instrukcji]].
 
== Opis ==
 
== Historia ==
Termin VLIW oraz sama koncepcja architektury, została stworzona przez prof. [[Josh Fisher|Josha Fishera]] w grupie badawczej na [[Uniwersytet Yale|Uniwersytecie Yale]] we wczesnych latach 80. Przed wprowadzeniem architektury VLIW, zagadnienia projektowania jednostek funkcjonalnych i zrównoleglania na poziomie instrukcji w oprogramowaniu były dobrze ugruntowane w praktyce i rozwijane jako poziomy [[mikrokod]]. Innowacja Fishera skupiała się na zaprojektowaniu kompilatora, który mógłby wyprodukować poziomy mikrokod z programów napisanych w normalnych [[język programowania|językach programowania]]. Fisher zauważył, że aby osiągnąć wysoką wydajność wymagane będzie poszukiwanie zrównoleglenia ponad tymi, które były znajdywane wewnątrz podstawowych bloków. Zaprojektował technikę planowania obszarowego ([[język angielski|ang.]] ''region scheduling'') aby zidentyfikować równoległość ponad podstawowymi blokami. Śledzenie planowania ([[język angielski|ang.]] ''Trace Scheduling'') jest taką właśnie techniką i uzależnia planowanie najpierw dla najbardziej prawdopodobnej ścieżki wstawiając specjalny kod kompensujący obsługujący spekulacyjne ruchy takie jak druga najbardziej prawdopodobna ścieżka i tak dalej aż planowanie zostanie zakończone.
 
Drugą innowacją Fishera było wskazanie, że architektura docelowego [[procesor]]a powinna być zaprojektowana tak, aby stała się sensownym celem dla kompilatora – kompilator i architektura VLIW musi być współtworzona. Było to częściowo zainspirowane trudnościami, jakie Josh zaobserwował jeszcze w Yale kompilując dla architektur takich jak Floating Point Systems FPS164, które miały złożony model programowy ([[ISA]]), który oddzielał instrukcje inicjujące od instrukcji zapisujących rezultat działania – prowadząc do potrzeby bardzo skomplikowanego algorytmu sterującego. Josh stworzył zbiór podstaw opisujących poprawną architekturę VLIW, takie jak samooczyszczające się [[potoki]], szerokie wieloportowe zestawy rejestrów i architekturę pamięci. Te podstawy pomogły kompilatorom tworzyć szybki kod. Obecne kompilatory są o wiele bardziej skomplikowane niż te z lat '80 XX wieku, tak więc dodanie jeszcze jednego kawałka do tego całego skomplikowania powinno być co najwyżej małym kosztem.