32 349
edycji
(→Procesory VLIW: npov) |
(+lnk) |
||
'''VLIW''' ([[ang.]] ''Very Long Instruction Word'') – nazwa architektury mikroprocesorów z bardzo dużym słowem instrukcji.
== Opis ==
W przeciwieństwie do innych architektur [[mikroprocesor|mikroprocesorów]], architektura ta charakteryzuje się maksymalnie daleko idącym uproszczeniem jednostek sterujących (CU) w samym mikroprocesorze. Już od samego początku historii procesorów starano się zwiększać [[moc obliczeniowa|moc obliczeniową]] a także szybkość wykonywania programu poprzez zwiększanie liczby jednostek wykonawczych w procesorach. Dzięki temu przy dogodnych warunkach udawało się wykonać więcej niż jedną instrukcję w tym samym czasie. Poprawienie warunków równoległego (i szybszego) wykonywania instrukcji zostało osiągnięte przez wprowadzenie techniki wcześniejszego wykonania instrukcji ([[język angielski|ang.]] [[Out-of-Order Execution]]). Wszystkie te mechanizmy zwiększania równoległości wykonywania instrukcji zaszyte były w logice mikroprocesorów. W architekturze VLIW cała ta logika została maksymalnie uproszczona aż do całkowitego zaniku niektórych elementów. Całą złożoność przepływu sterowania w mikroprocesorze, czyli wykonywania rozkazów (programu), przerzucono na barki oprogramowania – [[kompilator|kompilatorów]]. Rezygnacja z całej tej logiki wymusiła dostarczenie do procesora wystarczającej liczby danych – sygnałów sterujących. Z tego powodu pojedyncze rozkazy posiadają w sobie już zdekodowane (lub wstępnie zdekodowane) sygnały sterujące, dane oraz, co najważniejsze, "instrukcje" dedykowane dla konkretnych jednostek wykonawczych mikroprocesora. Tak stworzona pojedyncza instrukcja procesora VLIW ma wielkość rzędu setek bitów – 256 lub więcej.
== Historia ==
Termin VLIW, i sama koncepcja architektury, została stworzona przez Prof. Josh Fisher w jego grupie badawczej na [[Uniwersytet Yale|Uniwersytecie Yale]] we wczesnych latach 80. Przed wprowadzeniem architektury VLIW, pojęcie planowania(?) jednostek funkcjonalnych i zrównoleglania na poziomie instrukcji w oprogramowaniu było dobrze ugruntowane w praktyce jako rozwijanie poziomego mikrokodu. Innowacją Fishera skupiało się na zaprojektowaniu kompilatora
Drugą innowacją Fisher'a było wskazanie że architektura docelowego [[Procesor|CPU]] powinna być zaprojektowana, tak, aby być 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 inicjalizują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.
|
edycji