Procesory z bardzo długą instrukcją

Kłopoty z kompilatorem

Największa odpowiedzialność spada na kompilator, który musi znaleźć użyteczne zadanie dla każdej jednostki wykonawczej w każdym cyklu zegarowym.

Mimo znacznych postępów w technikach kompilacji, nie jest to sprawa łatwa. Aby dobrze zestawić zbiór niezależnych instrukcji w każdym słowie maszynowym, kompilator musi badać bardzo długie (kilkaset instrukcji) ciągi indywidualnych instrukcji i je odpowiednio dobierać. Jest to łatwiejsze w przypadku nowych procesorów, ale - jak pokazuje doświadczenie kilkunastu ostatnich lat - wprowadzenie na rynek nowego procesora, niezgodnego z dawnymi konstrukcjami (a więc wymagającego napisania na nowo lub co najmniej skompilowania wszystkich istniejących aplikacji) jest prawie niemożliwe.

Konieczne jest więc zachowanie zgodności z istniejącą już listą rozkazów, np. procesora PowerPC czy x86. I tak procesory Pentium Pro, Cyrix M1 i AMD K5 są konstrukcjami typu RISC z pewnymi elementami architektury VLIW. Przekształcanie instrukcji CISC (czyli instrukcji z zestawu x86) na ich kod RISC odbywa się w nich na bieżąco, podczas wykonywania programu. Prowadzi to do marnowania dużej części mocy obliczeniowej jednostek wykonawczych i nie daje możliwości znaczącego zwiększenia wydajności, charakterystycznego dla czystej architektury VLIW.

HP i Intel w nowej konstrukcji opracowywanego wspólnie procesora, zgodnego z architekturą PA-RISC i x86, zamierzają dopuścić wykonywanie kodu programów x86 w oddzielnej jednostce. Podobnie wykonywać się mają rozkazy PA-RISC, natomiast dopiero kod skompilowany specjalnie dla tej architektury będzie się wykonywał bezpośrednio w procesorze o architekturze VLIW.

Konstrukcje IBM

Większość opracowań (i przyznanych patentów) na temat konstrukcji VLIW powstała w laboratoriach T.J. Watson Research Center i ośrodku badawczym Rochester firmy IBM, która prezentuje już pierwsze laboratoryjne modele komputera AS/400 z procesorem VLIW. Programowy translator Daisy (Dynamically Architected Instruction Set from Yorktown) przekształca instrukcje PowerPC na kod maszynowy wykonywany przez procesor typu VLIW. Otrzymuje się więc pełną zgodność z listą rozkazów PowerPC używanego od 1993 r. w AS/400.

Firma IBM zamierza także przystosować konstrukcje VLIW do wykonywania kodu bajtowego Java. W tym celu procesor ma być wyposażony w moduł dynamicznego tłumaczenia ciągu bajtowego Java na indywidualne instrukcje procesora, wykonywane przez oddzielne jednostki. Oznaczać to może rewolucję w przetwarzaniu i powszechną akceptację Java, uzyskaną dzięki ogromnemu

zwiększeniu wydajności aplikacji w Javie.


TOP 200