artykuły

TILE64 - 64 procesory za 435 dolarów

58
6 września 2007, 12:43 Ryszard Sobkowski

Architektura i wydajność

Najbardziej wyrafinowana makroarchitektura nie zastąpi jednak wydajności, a ta, jak wiemy, uzależniona jest już od architektury jednostek przetwarzających, czyli naszych „kafelków”. Wróćmy więc do budowy kafelka.

Kafelek jest procesorem o architekturze VLIW (Very Long Instruction Word). Krótkie wyjaśnienie, jeśli dla kogoś ta nazwa jest obca – w procesorze takim kolejne instrukcje pakowane są po kilka (w tym przypadku trzy) do rejestru o odpowiedniej długości, a następnie wykonywane na trzech operandach lub parach operandów, również umieszczonych w rejestrach o bardzo dużej długości. W ten sposób trzy operacje mogą być wykonane w jednym cyklu procesora, podobnie jak w znanych nam dobrze pod nazwą SSE instrukcjach SIMD. Różnica jest tylko taka, że w SIMD (Single instruction Multiple Data) na wszystkich danych wykonywana jest ta sama instrukcja, podczas gdy VLIW wykonuje równocześnie kilka instrukcji, na kilku niezależnych od siebie wartościach danych. Najbardziej znaną implementacją architektury VLIW są procesory Transmeta Crusoe i ich następcy, pochodną jej jest także architektura EPIC procesorów Intel Itanium.

Procesor-kafelek jest wyposażony w rozbudowany system pamięci podręcznych – oddzielne pamięci L1 dla danych i instrukcji, o pojemności 8 KB każda oraz pamięć cache drugiego poziomu, której pojemność wynosi aż 64 KB. Nie koniec na tym – procesor może korzystać również z cache trzeciego poziomu, którą zrealizowano w postaci distributed cache, czyli pamięci rozproszonej, jednak nie wyjaśniono, na czym polega jej działanie.

Rozbudowany system pamięci cache sugeruje, jaki tryb pracy mieli na myśli konstruktorzy układu. Każdy z klocków jest osobnym, samodzielnym procesorem, przystosowanym dzięki dużym pamięciom cache do wykonywania długich i złożonych wątków, lub wręcz samodzielnych programów. Programy mogą być nawet bardzo złożone - w ramach testów uruchamiano na TILE64 takie zestawy programów, jak na przykład 64 instancje systemu operacyjnego Linux z aplikacjami.

Układ TILE64 współpracuje z pamięciami DDR2 poprzez aż cztery 64-bitowe szyny. Cztery niezależne interfejsy DDR2 800 dają mu przepływność do 12,8 GB/s, co przy relatywnie dużych pamięciach cache powinno zapewniać wystarczającą płynność przepływu danych. Również ich dystrybucja pomiędzy poszczególnymi procesorami nie nastręcza problemów – sumaryczną przepływność sieci iMesh, łączącej z interfejsami i ze sobą poszczególne procesory, producent szacuje na 27 terabitów na sekundę.

2