Architektura komputerów powinna ulec radykalnej zmianie
- Janusz Chustecki,
- IDG News Service,
- 01.02.2011, godz. 09:48
Naukowcy z University of Maryland opublikowali ciekawy dokument, w którym twierdzą, że po wprowadzaniu na rynek wielordzeniowych procesorów projektanci powinni radykalnie zmienić architekturę komputerów, które nadal przetwarzają dane tak, jakby zainstalowane w nich układy CPU miały tylko jeden rdzeń.
Naukowcy (na czele których stoi prof. Uzi Vishkin) piszą, że architektura komputerów nie zmieniła się w swych podstawowych założeniach od blisko 50 lat i zupełnie nie zdaje egzaminu, gdy przychodzi jej obsługiwać procesory z 4, 8, 16 czy więcej rdzeniami. Dlatego proponują nową architekturę: ICE (Immediate Concurrent Execution).
Architektura, według której komputery są obecnie budowane, bazuje na wielu założeniach, które pół wieku temu opracował amerykański matematyk John von Neumann. Zakłada ona, że program i dane są przechowywane w pamięci komputera, skąd są po kolei pobierane przez jednostkę CPU. Mówiąc najogólniej, programy są wtedy realizowane sekwencyjnie. Istnieje licznik dostarczający procesorowi adres następnej instrukcji, która będzie wykonywana w kolejnym kroku. Mamy tu więc ograniczenie wynikające z tego, że instrukcje muszą być wykonywane jedna za drugą. I chociaż projektanci procesorów stosują różne rozwiązania, dzięki którym kilka instrukcji może być wykonywanych równolegle, to nie zmienia to faktu, że w wielordzeniowych procesorach jest to wysoce nieefektywny sposób przetwarzania danych.
Zobacz również:
- Sztuczna inteligencja od Apple wymagać może nowych procesorów
- Google projektuje swój pierwszy w pełni autorski procesor mobilny
Problem ten może rozwiązać architektura ICE, w której właściwie dowolną liczbę instrukcji można wykonywać jednocześnie i to w dowolnym czasie (biorąc oczywiście pod uwagę to, że na dane wyjściowe wygenerowane przez określoną instrukcję czeka inna instrukcja, dla której są to dane wejściowe).
Architektura ICE wiąże się z koniecznością wprowadzenia poważnych zmian do warstwy sprzętowej komputerów. Jednostka obliczeniowa takiego komputera powinna bazować, albo być postrzegana jako zbiór kilkudziesięciu lub kilkuset 1-rdzeniowych procesorów, które komunikują się za pośrednictwem bardzo szybkich połączeń, oferujących bardzo małe opóźnienia.