Процесори

Tile64 – многоядрен процесор от бъдещето

Written by Редактор

След като Intel и AMD стигнаха до мегахерцовата бариера, стана ясно, че бъдещето на процесорите няма да е в по-високите честоти, а в увеличения паралелизъм. Последните модели и на двете компании доказват именно това – постепенното преминаване към четириядрени и осемядрени модели, способни да извършват много повече работа за един такт. Интересното е, че в областта на многоядрените процесори се появява още един играч – фирмата Tilera, която има собствена разработка на многоядрен чип.


За разлика от Intel и AMD, разработеният от Tilera продукт представлява не четири- или осемядрен модел, а процесор с 64 ядра! Разбира се, решение с подобен внушителен брой ядра не се появява за пръв път – за справка може да погледнем Tera-scale на Intel, за който се смята, че сочи бъдещето на процесорите като цяло. Разликата е, че докато Tera-scale представлява само проектен прототип, който не е ориентиран към комерсиално приложение, процесорът Tile64 на Tilera е напълно функционален продукт, готов за реална употреба.


Tilera и Tile64


Компанията Tilera е основана от професор Анант Агарвал, преподавател в MIT. Той е основният разработчик на мрежовата многопроцесорна архитектура, която се използва в процесора Tile64. Изследванията и развитието на мрежовата схема за изграждане на многоядрен чип започва през 1996 г. и още тогава обещава да донесе сериозни предимства в сравнение с класическите процесори. В процеса на разработка на новата архитектура се стига и до реалното й приложение – през 2002 г. професор Агарвал основава компанията Tilera, която започва производството на новия процесор Tile64.



За разлика от сегашните многоядрени системи, архитектурата на Tile64 не е базирана на централен контролер, обединяващ всички ядра в единна схема. Процесорът се състои от 64 независими ядра, всяко от които е способно да изпълнява операционна система независимо от другите. Комуникацията между отделните ядра не се извършва на базата на общ контролер, който оперира с потоците от информация, а по съвсем различна схема – във всяко от 64-те ядра на процесора е интегриран индивидуален контролер. Неговата задача е да избира оптималния път, по който да се извършва трансферът между ядрата. Цялостната система за трафик между ядрата е наречена iMesh (от Intelligent Mesh).


Освен да се занимава с препращането на информацията между ядрата, вграденият контролер има още една задача – той има възможност да променя активната конфигурация, обединявайки произволен брой ядра в обща схема. Казано по друг начин, така става възможно да се създава клетка от две или повече ядра, работещи по обща задача. Според Tilera това позволява постигане на изключителна гъвкавост, както и отлично съотношение производителност–енергопотребление. Всичко е възможно благодарение на факта, че ядрата, които не се използват в момента, могат да бъдат привеждани в sleep режим, в който почти липсва потребление на енергия. Според спецификациите на процесора всяко от неговите ядра консумира от 170 до 300 миливата.


В допълнение към собствения контролер, всяко ядро разполага и със обособен собствен кеш от първо и второ ниво, което допълнително повишава работоспособността му. Съвкупността от 64-те ядра разполага със споделен кеш от трето ниво, служещ при комуникацията между процесора и външния свят. Впрочем L2 кешът разполага с една интересна функция – когато някое от ядрата не открие в собствения си кеш нужната информация, то проверява също така в кешовете на околните му ядра за нея.


Tile64 в детайли


Както споменах, процесорът Tile64 е изграден от 64 отделни ядра. Те са обособени в 8 по-общи блока, всеки съдържащ по 8 ядра. Това е направено с цел по-лесно групиране на ядрата при нужда от обединяването на повече от тях. Всяко от ядрата съдържа по 3 блока – два целочислени ALU модула и трети модул, занимаващ се с входно-изходния трансфер.


Една от доста интересните функции на Tile64 е способността за планово изпълнение на задачите. По просто казано, изпълняването на всяка задача отнема по един такт на ядро, след което изходният резултат се прехвърля на следващото ядро. По този начин става възможно буквалното планиране кога ще бъдат получени резултатите от всяка задача, което от своя страна означава по-лесното изпълнение на паралелни задачи.



Понастоящем Tile64 се използва в доста разнообразни приложения, като се започне от мрежови компоненти като рутери и клиентски карти и се стигне до мултимедийни контролери със способност за кодиране на висококачествено видео в реално време. Благодарение на високата степен на програмируемост на процесора той може да се използва буквално за почти всяка задача, което е невъзможно за сегашното поколение х86 процесори. Конкретен пример е използването на Tile64 в продукти, кодиращи в реално време видеоформата Н.264. Производителността на дори само един процесор Tile64 е достатъчна за едновременното кодиране на два потока!


Входно-изходните интерфейси на процесора са сведени до 4 вградени в него контролера за DDR2 памет и 2 двунишкови PCIe контролера. В допълнение към тях разполагаме още с 4 гигабитови мрежови контролера – два 10 Gbit и два 1 Gbit, както и с програмируем модул за комуникация, който може да се свързва към SATA твърд диск и към флаш памети. Процесорът се произвежда по 90 nm технология, а работните му честоти варират от 650 до 900 MHz. Макар използваната производствена технология да изглежда остаряла, това допринася значително за ниската цена на продукта, а бъдещият трансфер към по-малък процес със сигурност ще доведе до сериозно ускорение в честотите.


Що се отнася до производителността на процесора, според Tilera в различни приложения той може да покаже над 30 пъти по-добър резултат в сравнение с 3 GHz процесор Intel Xeon. За съжаление обаче все още не съществуват версии на Tile64, съвместими с масово използваните в момента гнезда за процесори. Ако Tilera вземе решение да поеме по този път, остава да се надяваме, че няма да ги застигне съдбата на IDT и техния процесор Centaur.


Добрил Доков

About the author

Редактор

Leave a Comment