Кіріспе
Sun Microsystems компаниясының UltraSPARC T1 микропроцессоры, 2005 жылғы 14 қарашада "Niagara" әзірлеу кодын аша жарияланғанға дейін осы атпен белгілі болған, көп өзекті, көп жіпті процессор. Серверлік компьютерлердің энергия тұтынуын азайту мақсатында жасалған бұл процессор (CPU) әдетте 1,4 ГГц жиілікте 72 Вт қуатты пайдаланады. Afara Websystems радикалды, жіптерге баса назар аударатын SPARC дизайнын жасады. Бұл компания Sun компаниясымен сатып алынды, ал зияткерлік меншік CoolThreads процессорлар желісінің негізіне айналды, бастапқыда T1 моделімен. T1 – UltraSPARC Architecture 2005 спецификациясына сәйкес келетін және SPARC V9 командалар жиынтығын орындайтын, толығымен жаңа SPARC микропроцессор архитектурасы. Sun бұған дейін екі көп өзекті процессор (UltraSPARC IV және IV+) шығарған, бірақ UltraSPARC T1 – оның көп өзекті және көп жіпті болатын алғашқы микропроцессоры. Қауіпсіздік алғашқы шығарылымнан бастап кремний деңгейінде салынды, T1 процессорларында аппараттық криптографиялық бірліктер болды, бұл сол кездегі бәсекелес өндірушілердің жалпы мақсаттағы процессорларынан ерекшеленеді. Процессор төрт, алты немесе сегіз CPU өзегімен қол жетімді, әрбір өзегі бір уақытта төрт жіпті өңдей алады. Осылайша, процессор бір уақытта 32 жіпке дейін өңдеуге қабілетті. UltraSPARC T1 жоғары деңгейдегі Sun SMP жүйелеріне ұқсас бөлуге болады. Яғни, бірнеше өзекті бір немесе бірнеше процестерді және/немесе жіптерді іске қосу үшін бөлуге болады, ал қалған өзектің жұмысын жүйедегі қалған процестер атқарады.
Sun Microsystems' UltraSPARC T1 microprocessor, known until its 14 November 2005 announcement by its development codename "Niagara", is a multithreading, multicore CPU. Designed to lower the energy consumption of server computers, the CPU typically uses 72 W of power at 1.4 GHz. Afara Websystems pioneered a radical thread heavy SPARC design. The company was purchased by Sun, and the intellectual property became the foundation of the CoolThreads line of processors, starting with the T1. The T1 is a new from the ground up SPARC microprocessor implementation that conforms to the UltraSPARC Architecture 2005 specification and executes the full SPARC V9 instruction set. Sun has produced two previous multicore processors (UltraSPARC IV and IV+), but UltraSPARC T1 was its first microprocessor that is both multicore and multithreaded. Security was built in from the very first release on silicon, with hardware cryptographic units in the T1, unlike general purpose processor from competing vendors of the time. The processor is available with four, six or eight CPU cores, each core able to handle four threads concurrently. Thus, the processor is capable of processing up to 32 threads concurrently. The UltraSPARC T1 can be partitioned in a similar way to high end Sun SMP systems. Thus, several cores can be partitioned for running a single or group of processes and/or threads, while the other cores deal with the rest of the processes on the system.
Жарық
UltraSPARC T1 бастапқыдан көп жіпті, арнайы мақсаттағы процессор ретінде жобаланды, осылайша өнімділікті қамтамасыз ету үшін жаңа архитектура енгізілді. Әрбір өзекті мүмкіндігінше ақылды және оңтайландырылған етуге тырысудың орнына, Sun компаниясының мақсаты – мүмкіндігінше көп параллель жіптерді іске қосу және әр өзектің құбыржолын барынша тиімді пайдалану болды. T1 өзектері бәсекелес процессорларға қарағанда қарапайым, сондықтан бір кристалға 8 өзекті орналастыру мүмкін болды. Өзекттерде тапсырыстан тыс орындау немесе үлкен көлемде кэш қарастырылмаған. Бір жіпті процессорлар өнімділігі үшін үлкен кэшке тәуелді, себебі кэштен қате туғанда деректерді негізгі жадтан алу үшін күту қажет болады. Кэш көлемін ұлғайту арқылы кэштен қате тууының ықтималдығы төмендейді, бірақ қате туған жағдайдағы әсері өзгермейді. T1 өзектері көп жіптілік арқылы кэштен қате тууы мәселесін тиімді шешеді. Әр өзектің құрылымы «шелек» тәрізді, яғни ол әр циклда қолжетімді жіптер арасында ауысады. Кэштен қате туыну сияқты ұзақ күту оқиғасы болғанда, жіп айналымнан шығарылады, ал деректер фоновым режимде кэшке жүктеледі. Ұзақ күту оқиғасы аяқталғаннан кейін, жіп қайтадан орындалуға дайын болады. Құбыржолды бірнеше жіппен бөлісу әрбір жіптің жылдамдығын төмендетсе де, әр өзектің жалпы өнімділігі (және тиімділігі) айтарлықтай жоғарылайды. Бұл сондай-ақ кэштен қате тууының әсерін күрт азайтады және T1 кішкентай көлемдегі кэшпен де жоғары өнімділікті сақтай алады. Кэш енді барлық немесе көп бөлігін қамти алмайтын «жұмыс жиынтығын» сақтауға қажет емес, тек әрбір жіптің соңғы кэштен қате тууына қанағат етеді. Тәжірибелік сынақтар (бенчмарктер) бұл тәсілдің Java қолданба серверлері, Enterprise Resource Planning (ERP) қолданба серверлері, электрондық пошта серверлері (мысалы, Lotus Domino) және веб-серверлер сияқты коммерциялық (бүтін санмен есептеулерді қажет ететін), көп жіпті жұмыс жүктемелерінде өте жақсы жұмыс істейтінін көрсетті. Бұл сынақтар UltraSPARC T1 әр өзегінің 2001 жылғы бір өзекті, бір жіпті UltraSPARC III-тен күштірек екенін, ал чиптерді салыстырғанда көп жіпті бүтін санмен есептеулерді қажет ететін жұмыс жүктемелерінде басқа процессорлардан айтарлықтай артық екенін көрсетеді.
Физикалық сипаттамалары
UltraSPARC T1 құрамында 279 миллион транзистор бар және оның ауданы 378 мм² құрайды. Ол Texas Instruments (TI) компаниясы тоғыз деңгейлі мыс қосылыстары бар 90 нм толықтырғыш металл-оксид-жартылайөткізгіш (CMOS) технологиясымен жасалған. Әрбір ядрода L1 16 КБ нұсқаулар кэші және 8 КБ деректер кэші бар. L2 кэші 3 МБ көлемде, ал L3 кэші жоқ.
Нысаналы нарық
UltraSPARC T1 микропроцессоры өз күшімен де, әлсіздіктерімен де ерекшеленеді және соған сәйкес нақты нарықтарға бағытталған. Чип жоғары деңгейдегі есептеулер мен өте жоғары өнімділік қолданбалар үшін емес, жоғары трафикті веб-серверлер, Java, ERP және CRM қолданба серверлері сияқты, көп сұранысқа ие желілік серверлерге бағытталған, олар көбінесе көптеген жеке жіптерді пайдаланады. T1 конструкциясының бір кемшілігі – жалғыз жылжымалы нүктелік процессор (FPU) барлық 8 ядро арасында бөліседі, бұл T1-ді көп жылжымалы нүктелік математикалық операциялар орындайтын қолданбалар үшін қолайсыз етеді. Дегенмен, процессордың мақсатталған нарықтары әдетте жылжымалы нүктелік операцияларды көп пайдаланбайтындықтан, Sun мұны мәселе деп ойламады. Sun, T1 немесе T2 платформасында қолдануға жарамдылығын анықтау үшін, қолданбаның параллелизм деңгейін және жылжымалы нүктелік нұсқауларды пайдалануын талдауға арналған құрал ұсынады. Веб және қолданба деңгейіндегі өңдеуден басқа, UltraSPARC T1 көптеген пайдаланушылары бар кішірек деректер базасы қолданбалары үшін де жақсы жарауы мүмкін. Бір клиент UltraSPARC T1 серверінде іске қосылған MySQL қолданбасы AMD Opteron серверіндегіден 13,5 есе жылдам жұмыс істейтінін көрсеткен нәтижелерді жариялады.
Виртуализациялау
T1 – Hyper Privileged орындау режимін қолдайтын алғашқы SPARC процессоры. SPARC гипервизоры осы режимде жұмыс істейді және T1 жүйесін 32 логикалық доменге бөлуге мүмкіндік береді, олардың әрқайсысы операциялық жүйе мысалын іске қоса алады. Қазіргі таңдағыда Solaris, Linux, NetBSD және OpenBSD қолдау көрсетіледі.
Бағдарламалық жасақтамаларды лицензиялау мәселелері
Дәстүрлі түрде Oracle Database сияқты коммерциялық бағдарламалық қамтамасыз етулер клиенттерге бағдарламалық жасақтама іске қосылатын процессорлар санына қарай төлемақы алады. 2006 жылдың басында Oracle процессорлық коэффициентті енгізу арқылы лицензиялау моделін өзгертті. T1 үшін процессорлық коэффициенті 0,25 болғандықтан, 8 ядролы T2000 процессорға тек 2 CPU лицензиясы қажет. "Oracle Processor Core Factor Table" жаңа процессорлар нарыққа шыққан сайын үнемі жаңартылып келеді. 2006 жылдың үшінші тоқсанында IBM Құндылық бірлігі (VU) баға белгілеу тұжырымдамасын енгізді. T1 процессордың әр ядросы 30 PVU (әр T2 ядросы 50 PVU, ал T3 70 PVU) құрайды, әдеттегідей әр ядроға 100 PVU емес.
Кемшіліктері
T1 процессор тек бір ғана жылжымалы нүктелік құрылғыны 8 ядромен бөліседі, бұл жоғары өнімді есептеу орталарында қолдануды шектеді. Бұл кемшілік 8 жылжымалы нүктелік құрылғыны және басқа да қосымша мүмкіндіктерді қамтитын UltraSPARC T2 процессорымен шешілді. Сонымен қатар, T1 тек бір процессорлы жүйелерде қол жетімді болды, бұл ірі кәсіпорындарда вертикальді кеңейтуге кедерілді. Бұл әлсіздік UltraSPARC T2 Plus процессормен жойылды. Операциялық жүйе тұйыққа тірелетінін анықтап, 1 (8-ден) жіп орнына маңызды процеске бүкіл ядроның ресурстарын уақытша бөліп беретін «критикалық жіптер API» енгізуге қосымша күш-жігер жұмсалды, егер ол бір жіпті процессорға жүктелген болса. Бұл T4 процессорға бір жіпті тұйықтарды ерекше шешуге мүмкіндік берді, сонымен қатар көп жіпті өнімділіктің жоғары деңгейін қамтамасыз ету үшін архитектурадан бас тартудың қажеті болмады.
Қазіргі және кейінгі дизайндар
"Coolthreads(TM)" архитектурасы, UltraSPARC T1 (оның артықшылықтары мен кемшіліктерімен) басталып, SPARC процессорларының қазіргі және болашақ дизайнына зор әсер етті.
"Қалқа"
Алғашқы UltraSPARC T1 тек бір процессорлы жүйелер үшін жобаланған және SMP мүмкіндігіне ие емес. "Rock" жобасы көбірек амбициялы болды, ол бірнеше чипті серверлік архитектураларды қолдауға, деректер базалары сияқты дәстүрлі деректермен жұмыс істейтін жүктемелерге бағытталған. Бұл UltraSPARC T1 немесе T2 процессорларын алмастыру емес, Sun компаниясының UltraSPARC IV сияқты SMP процессорларының жалғасы ретінде қарастырылды, бірақ Oracle компаниясы Sun-ді сатып алған кезде жоба тоқтатылды.
UltraSPARC T2
Бұрын "Niagara 2" кодтық атауымен белгілі болған, UltraSPARC T1 процессордың жаңа нұсқасы T2 сегіз өзекті ұсынады. T1-ден ерекшелігі, әрбір өзегі 8 жіпті қолдайды, әрбір өзегіне бір жүзбекше нүктелік процессор (FPU), бір күшейтілген криптографиялық модуль және CPU-ға енгізілген 10 Гигабит Ethernet желілік контроллерлері бар.
UltraSPARC T2 Plus (Қосымша)
2007 жылдың ақпан айында Sun компаниясы жылдық талдаушылар саммитінде үшінші буынның бір мезгілде көп тізбекті өңдеу дизайны, «Виктория Фоллс» кодовый атымен белгілі, 2006 жылдың қазан айында өндіріске жіберілгенін хабарлады. Екі процессорлік серверде (2 RU) 128 тізбек, 16 ядро болады және өнімділігі UltraSPARC III-ке қарағанда 65 есе артады. Hot Chips 19 конференциясында Sun «Виктория Фоллс» екі және төрт процессорлік серверлерде қолданылатынын мәлімдеді. Осылайша, бір 4 процессорлік SMP сервері 256 параллель аппараттық тізбекті қолдайды. 2008 жылдың сәуір айында Sun 2 процессорлік UltraSPARC T2 Plus серверлерін – SPARC Enterprise T5140 және T5240 шығарды. 2008 жылдың қазан айында Sun 4 процессорлік UltraSPARC T2 Plus SPARC Enterprise T5440 серверін шығарды.
SPARC T4
T4 процессоры 2011 жылдың соңында шығарылды. Жаңа T4 процессоры 16 ядродан (T3 процессорында) 8 ядроға дейін азаяды (T1, T2 және T2+ процессорларында қолданылғандай). Жаңа T4 ядросының дизайны ("S3" деп аталады), реттіліксіз орындау енгізілуінің арқасында, әрбір ядроның өнімділігін жақсартады, сондай-ақ бір жіпті бағдарламалар үшін де қосымша өнімділік ұсынады. 2010 жылы Ларри Эллисон Oracle Linux-ты UltraSPARC платформасында ұсынатынын хабарлады, ал бұл порт T4 және T5 процессорларының шығу уақытында қолжетімді болады деп жоспарланған. Oracle Systems атқарушы вице-президенті Джон Фаулер Openworld 2014 конференциясында Linux-тың бір күні Sparc-те жұмыс істей алатынын айтты.
SPARC T5
Жаңа T5 процессоры 16 ядрода 128 жіпке ие және 28 нанометрлік технологиямен өндірілген.