Аппараттық және бағдарламалық қамтамасыз етуді орнату

Процессорлар, ядролар және ағындар. Жүйелер топологиясы

Ақпараттық индустрия үшін ХХІ ғасырдың басы «тектоникалық» деп сипаттауға болатын жылжулармен тұспа-тұс келді. Жаңа дәуірдің белгілері қызмет көрсетуге бағытталған архитектураларды (қызметке бағытталған архитектура, SOA), кластерлік конфигурацияларды және көп ядролы процессорларды қоса алғанда, тағы басқаларды пайдалануды қамтиды. Бірақ, әрине, болып жатқан жағдайдың түбегейлі себебі жартылай өткізгіштер физикасының дамуы болып табылады, нәтижесінде Гордон Мур заңына бағынатын аудан бірлігіндегі логикалық элементтердің саны артты. Чиптегі транзисторлардың саны қазірдің өзінде жүздеген миллионды құрайды және көп ұзамай миллиардтық белгіні еңсереді, нәтижесінде диалектиканың белгілі заңының әрекеті сандық және сапалық өзгерістердің байланысын постуляцирлей отырып, сөзсіз көрінеді. Өзгертілген жағдайларда жаңа категория бірінші орынға шығады - күрделілік, ал жүйелер микродеңгейде де (процессорлар) да, макродеңгейде де (корпоративтік ақпараттық жүйелер) күрделі болады.

Қазіргі компьютерлік әлемде болып жатқан оқиғаларды белгілі бір дәрежеде миллиондаған жылдар бұрын көп жасушалы организмдер пайда болған эволюциялық ауысумен салыстыруға болады. Осы уақытқа дейін бір жасушаның күрделілігі белгілі бір шекке жетті, ал кейінгі эволюция инфрақұрылымдық күрделіліктің даму жолын ұстанды. Дәл солай болады компьютерлік жүйелер: бір процессорлық ядроның күрделілігі, сондай-ақ корпоративтік ақпараттық жүйелердің монолитті архитектурасы белгілі максимумға жетті. Қазір макродеңгейде монолитті жүйелерден құрамдас жүйелерге (немесе қызметтерден тұратын) көшу жүріп жатыр, ал әзірлеушілердің назары инфрақұрылымдық аралық бағдарламалық құралға аударылады, ал микродеңгейде жаңа процессорлық архитектуралар пайда болуда.

Жақында күрделілік идеясы тәуелсіз факторға айналып, өзінің жиі қолданылатын мағынасын жоғалта бастады. Осыған байланысты күрделілік әлі толық түсінілген жоқ және оған деген көзқарас толық анықталған жоқ, дегенмен, 50 жылға жуық уақыт бойы «күрделі жүйелер теориясы» деп аталатын жеке ғылыми пән болды. . (Естеріңізге сала кетейік, теорияда «күрделі» жеке құрамдас бөліктері сызықтық емес түрде біріктірілген жүйені білдіреді; мұндай жүйе мынада орын алатындай жай ғана құрамдастардың қосындысы емес. сызықтық жүйелер.) Жүйелер теориясын қызметі ақпараттық технологиялардың көмегімен осы күрделі жүйелерді құруға әкелетін мамандар мен компаниялар әлі қабылдамағанына таң қалуға болады.

Фон Нейман сәулетінің тар мойны

Микродеңгейде бір ядролы процессордан көп ядролы процессорларға (Chip MultiProcessors, CMP) өту біржасушалыдан көпжасушалыға өтуге ұқсас болуы мүмкін. CMP заманауи процессорлардың өзіне тән әлсіздігін – фон Нейман архитектурасының «тарыл тұстарын» жеңу жолдарының бірін ұсынады.

1977 жылы Тьюринг сыйлығын алу рәсімінде Джон Бэкустың айтқаны: «Фон Нейман компьютері дегеніміз не? Джон фон Нейман және басқалар 30 жыл бұрын өздерінің түпнұсқа архитектурасын ұсынған кезде, идея талғампаз, практикалық болып көрінді және инженерлік және бағдарламалау мәселелерінің кең ауқымын жеңілдетеді. Жарияланған кездегі жағдайлар содан бері түбегейлі өзгерсе де, біз компьютерлер туралы идеяларымызды осы ескі тұжырымдамамен анықтаймыз. Қарапайым презентацияда фон Нейман компьютері үш бөліктен тұрады: орталық процессор (CPU немесе CPU), жад және орталық процессор мен жад арасында деректер алмасуға қызмет ететін оларды қосатын арна және шағын бөліктерде (тек бір уақытта бір сөз). Мен бұл арнаны «Вон Нейманның тар жолы» деп атауды ұсынамын. Әрине, «тар бөтелке мойны» арқылы деректердің үлкен көлемін айдаудан гөрі қарапайым шешім болуы керек. Мұндай арна трафикке қиындық тудырып қана қоймайды, сонымен қатар бағдарламашыларға «сөз» ойлауын жүктеп, олардың жоғары концептуалды категорияларда ойлауына кедергі келтіретін «интеллектуалдық тығырыққа тіреледі».

Backus 1950 жылдардың ортасында Фортран тілін жасаумен танымал болды, ол келесі бірнеше онжылдықтарда есептеу бағдарламаларын жасаудың ең танымал құралы болды. Бірақ кейінірек, шамасы, Бэкеус оның әлсіз жақтарын терең түсініп, барлық тілдердің ішінде «ең фон-нейман тілін» жасағанын түсінді. жоғары деңгей. Сондықтан оның сынының негізгі пафосы ең алдымен жетілмеген бағдарламалау әдістеріне бағытталды.

Бэкус сөйлегеннен бері функционалдық және объектілі-бағытталған технологиялардың пайда болуымен бағдарламалауда елеулі жетістіктер болды және олардың көмегімен Бэкус «зияткерлік фон Нейманның тығырыққа тірелуі» деп атаған жағдайды еңсеру мүмкін болды. Дегенмен, бұл құбылыстың архитектуралық түпкі себебі, жад пен процессор арасындағы арнаның өзіне тән ауруы – оның шектеулі өткізу қабілеттілігі – содан бері соңғы 30 жыл ішінде технология жетістіктеріне қарамастан жойылған жоқ. Жылдар өте бұл мәселе қиындап барады, өйткені жад жылдамдығы процессорлардың өнімділігіне қарағанда әлдеқайда баяу өседі және олардың арасындағы алшақтық ұлғаяды.

Фон Нейманның компьютер архитектурасы жалғыз мүмкін емес. Процессор мен жад арасындағы командалар алмасуды ұйымдастыру тұрғысынан барлық компьютерлерді төрт класқа бөлуге болады:

  • SISD (Бірыңғай нұсқаулық бір деректер)- «бір командалар ағыны, бір деректер ағыны»;
  • SIMD (бір нұсқаулықты көбейту деректері)- бір команда ағыны, көптеген деректер ағыны;
  • MISD (бірнеше нұсқаулық деректер)- көптеген командалық ағындар, бір деректер ағыны;
  • MIMD (бірнеше нұсқаулық көп деректер)- көптеген командалық ағындар, көптеген деректер ағындары.

Бұл классификациядан фон Нейман машинасының SISD санатына жататын ерекше жағдай екенін көруге болады. SISD архитектурасындағы мүмкін жақсартулар құбырларды және басқа қосымша функционалды түйіндерді қосумен, сондай-ақ әртүрлі кэштеу әдістерін қолданумен шектеледі. Архитектураның екі басқа санаты (векторлық процессорларды қамтитын SIMD және MISD құбырының архитектурасы) бірнеше жобаларда жүзеге асырылды, бірақ жаппай сипатқа ие болмады. Егер біз осы классификацияның шеңберінде қалатын болсақ, онда «тарылдың» шектеулерін еңсерудің жалғыз жолы MIMD класындағы архитектураларды дамыту болып қала береді. Олардың шеңберінде көптеген тәсілдер табылды: бұл әртүрлі параллельді және кластерлік архитектуралар және көп ағынды процессорлар болуы мүмкін.

Бірнеше жыл бұрын технологиялық шектеулерге байланысты барлық көп ағынды процессорлар бір ядро ​​негізінде құрастырылды және мұндай көп ағынды «бір уақытта» деп аталды - Бір уақыттағы көп ағын (SMT). Көп ядролы процессорлардың пайда болуымен көп ағынның балама түрі пайда болды - Чипті мультипроцессорлар (CMP).

Көп ағынды процессорлардың мүмкіндіктері

Қарапайым бір ағынды процессорлардан логикалық тұрғыдан күрделірек көп ағынды процессорларға көшу бұрын кездеспеген нақты қиындықтарды жеңуді қамтиды. Орындау процесі агенттерге немесе ағындарға (жіптерге) бөлінген құрылғының жұмыс істеуі екі ерекшелікке ие:

  • детерминацияланбау принцип і ( детерминация принцип і. Көп ағынды қолданбада процесс алдын ала анықталған сенімділіксіз өзара әрекеттесетін агент ағындарына бөлінеді;
  • белгісіздік принципі. Ресурстардың агент ағындары арасында нақты қалай бөлінетіні де алдын ала белгісіз.

Осы ерекшеліктерге байланысты көп ағынды процессорлардың жұмысы фон Нейман схемасы бойынша детерминирленген есептеулерден түбегейлі ерекшеленеді. Бұл жағдайда процестің ағымдағы күйін алдыңғы күй мен кіріс деректердің сызықтық функциясы ретінде анықтау мүмкін емес, дегенмен процестердің әрқайсысын фон Нейман микромашинасы ретінде қарастыруға болады. (Жіптердің мінез-құлқына қатысты қолданғанда, тіпті кванттық физикада қолданылатын «біртүрлілік» терминін қолдануға болады.) Бұл мүмкіндіктердің болуы көп ағынды процессорды күрделі жүйе тұжырымдамасына жақындатады, бірақ таза практикалық тұрғыдан. , процестің орындалу деңгейінде детерминизмнің жоқтығы немесе белгісіздік, одан да оғаштық туралы мәселе болуы мүмкін емес екені анық. Дұрыс орындалған бағдарлама біртүрлі болуы мүмкін емес.

Өте жалпы көрінісКөп ағынды процессор примитивтердің екі түрінен тұрады. Бірінші түрі – ағынның орындалуын қолдайтын ресурс, ол мутекс деп аталады (Mutual Exclusion – “өзара алып тастау”), ал екіншісі – оқиға. Белгілі бір мутекс физикалық түрде қалай жүзеге асырылатыны таңдалған схемаға байланысты - SMT немесе CMP. Кез келген жағдайда, процестің орындалуы келесі ағынның оның орындалу уақытында мутексті түсіріп, содан кейін оны босатуына дейін төмендейді. Егер мутекс бір ағынмен тұрса, екінші жіп оны ала алмайды. Мутекс иелігін бір ағыннан екіншісіне берудің арнайы процедурасы кездейсоқ болуы мүмкін; ол басқаруды жүзеге асыруға байланысты, мысалы, белгілі бір операциялық жүйеде. Кез келген жағдайда басқаруды мутекстен тұратын ресурстар дұрыс бөлетін және белгісіздік әсері басылатындай етіп құру керек.

Оқиғалар - сыртқы ортаның өзгеруі туралы сигнал беретін объектілер (оқиғалар). Олар басқа оқиға орын алғанша күту режиміне қоя алады немесе олардың күйін басқа оқиғаға хабарлай алады. Осылайша, оқиғалар бір-бірімен өзара әрекеттесе алады және оқиғалар арасындағы деректер үздіксіздігі қамтамасыз етілуі керек. Күтудегі агентке деректердің оған дайын екендігі туралы хабарлау қажет. Мутексті бөлуде белгісіздік әсері басу керек сияқты, оқиғалармен жұмыс істеу кезінде де белгісіздік әсері басу керек. SMT схемасы алғаш рет Compaq Alpha 21464 процессорларында, сондай-ақ Intel Xeon MP және Itanium құрылғыларында іске асырылды.

Логикалық тұрғыдан алғанда, CMP қарапайым: мұнда параллелизм ағындардың әрқайсысының өз ядросымен өңделуімен қамтамасыз етіледі. Бірақ егер қосымшаны ағындарға бөлу мүмкін болмаса, онда ол (арнайы шаралар болмаған жағдайда) бір ядромен өңделеді, бұл жағдайда жалпы өнімділікпроцессор бір ядроның жылдамдығымен шектеледі. Бір қарағанда, SMT схемасы бойынша құрастырылған процессор икемді, сондықтан бұл схема жақсырақ. Бірақ мұндай мәлімдеме транзисторлардың төмен тығыздығында ғана дұрыс. Егер жиілік мегагерцпен өлшенсе және микросхемадағы транзисторлар саны миллиардқа жақындаса және сигнал берудің кешігулері коммутация уақытынан көп болса, онда байланысты есептеу элементтері локализацияланған CMP микроархитектурасы артықшылыққа ие болады.

Дегенмен, физикалық параллелизация CMP дәйекті есептеулерде өте тиімді емес екеніне әкеледі. Бұл кемшілікті жою үшін Спекуляциялық көп ағындық деп аталатын тәсіл қолданылады. Орыс тілінде «спекулятивтік» сөзінің теріс мағынасы бар, сондықтан біз мұндай көп ағынды «шартты» деп атаймыз. Бұл тәсіл аппараттық құралдарды немесе бағдарламалық қамтамасыз етуді қолдаудәйекті қосымшаны шартты ағындарға бөлу, олардың орындалуын үйлестіру және нәтижелерді жадыға біріктіру.

CMP эволюциясы

Алғашқы жаппай шығарылған CMP процессорлары сервер нарығына арналған. Жеткізушіге қарамастан, олар бір субстратта екі тәуелсіз суперскалярлық процессорлар болды. Бұл конструкциялардың негізгі мотивациясы дыбыс көлемін азайту болып табылады, осылайша көп процессорларды бір дизайнға «орауға» болады, бұл бірлік көлемдегі қуат тығыздығын арттыру (бұл бүгінгі деректерді өңдеу орталықтары үшін өте маңызды). Бір микросхемадағы процессорлар жоғары жылдамдықты байланыс сияқты жалпы жүйелік ресурстарды ортақ пайдаланатындықтан, кейбір қосымша үнемдеуге жалпы жүйе деңгейінде қол жеткізіледі. Әдетте, көршілес процессорлар арасында тек ортақ жіп бар. жүйелік интерфейс (күріш. бір, б).

CMP процессорларын қолдануды жақтаушылар ядролар санының одан әрі (екіден астам) ұлғаюын сервер жүктемесінің ерекшеліктерімен негіздейді, бұл компьютердің бұл түрін енгізілген жүйелерден немесе массивтік есептеулерге арналған жүйелерден ерекшелендіреді. Серверден үлкенірек жалпы өнімділік қажет, бірақ жүйеге бір рет қоңырау шалудың кешігуі соншалықты маңызды емес. Тривиальды мысал: пайдаланушы жаңартылған веб-беттің пайда болуының миллисекундтық кешігуін байқамауы мүмкін, бірақ сервердің шамадан тыс жүктелуіне өте ауыр әрекет етеді, бұл қызмет үзілістерін тудыруы мүмкін.

Жүктеменің ерекшелігі CMP процессорларына тағы бір елеулі артықшылық береді. Мысалы, бір ядролы процессорды екі ядролы процессорға ауыстыру арқылы оны екі есе азайтуға болады. тактілік жиілік. Бұл жағдайда бір сұранысты өңдеу уақыты теориялық тұрғыдан екі есеге артуы мүмкін, бірақ жіптердің физикалық бөлінуі фон Нейман архитектурасының кедергі шектеуін азайтатындықтан, жалпы кідіріс екі еседен әлдеқайда аз болады. Бір ядроның төменгі жиілігі мен күрделілігімен энергияны тұтыну айтарлықтай төмендейді, ал өзектер санының ұлғаюымен CMP пайдасына жоғарыда келтірілген дәлелдер тек күшейе түседі. Сондықтан келесі логикалық қадам бірнеше ядроларды жинау және оларды жалпы кэш жадымен біріктіру болып табылады, мысалы, Hydra жобасындағы сияқты (1-сурет, в). Содан кейін сіз өзектерді күрделендіріп, оларды көп ағынды ете аласыз, ол Ниагара жобасында жүзеге асырылды (1-сурет, г).

Процессорлардың күрделілігі тағы бір маңызды көрініске ие. Миллиардтаған құрамдас бөліктері бар өнімді жобалау автоматтандыру құралдарын қолдануға қарамастан, уақытты қажет ететін міндетке айналуда. Біз IA-64 сәулетінің он жылдан астам уақыт бойы «еске оралғанына» куә болып отырғанымыз маңызды. CMP процессорын жобалау әлдеқайда қарапайым: егер дамыған ядро ​​болса, онда оны қажетті мөлшерде қайталауға болады, ал дизайн кристалдың ішкі инфрақұрылымын құрумен шектеледі. Сонымен қатар, ядролардың біркелкілігі дизайнды жеңілдетеді аналық платалар, бұл масштабтауға түседі және сайып келгенде, енгізу-шығару ішкі жүйелерінің көрсеткіштері өзгереді.

Осы аргументтерге қарамастан, CMP-тің SMT-ге қарағанда артықшылықтарын бір мәнді түрде айту үшін әлі жеткілікті дәлелдер жоқ. SMT жүзеге асыратын процессорларды жасау тәжірибесі әлдеқайда көп: 80-жылдардың ортасынан бастап бірнеше ондаған тәжірибелік өнімдер мен бірнеше сериялық процессорлар жасалды. CPM даму тарихы әлі де қысқа: егер сіз Texas Instruments TMS 320C8x мамандандырылған сигнал процессорларының отбасын есепке алмасаңыз, онда бірінші сәтті жобаСтэнфорд университетінде жасалған Hydra болды. CMP процессорларын құруға бағытталған университеттік ғылыми жобалардың ішінде тағы үшеуі белгілі - Wisconsin Multiscalar, Carnegie-Mellon Stampede және MIT M-машинасы.

Гидра микропроцессоры

Hydra матрицасы белгілі MIPS RISC архитектурасына негізделген төрт процессор өзегінен тұрады. Әрбір ядрода нұсқаулық кэші және деректер кэші бар және барлық ядролар жалпы L2 кэшіне біріктірілген. Процессорлар синхрондау примитивтерін іске асыру үшін MIPS нұсқауларының әдеттегі жинағын және Шартты сақтау немесе SC нұсқауларын орындайды. Процессорлар мен L2 кэш оқу/жазу шиналары арқылы қосылған, сонымен қатар көмекші адрес және басқару шиналары бар. Бұл автобустардың барлығы виртуалды, яғни олар сымды шиналар арқылы логикалық түрде бейнеленген және ядролардың жылдамдығын арттыруға мүмкіндік беретін қайталағыштар мен буферлердің көмегімен физикалық түрде көптеген сегменттерге бөлінген.

Оқу/жазу шинасы жүйелік шинаның рөлін атқарады. Кристалл ішінде орналасуына байланысты ол жеткілікті өткізу қабілетібір циклде кэш жадымен алмасуды қамтамасыз ету. Сыртқы процессор түйреуіштерінің санына физикалық шектеулерге байланысты ең қымбат дәстүрлі мультипроцессорлық архитектураларда мұндай алмасу өнімділігіне қол жеткізу қиын. Тиімді кэш шиналары ядролар мен жад арасындағы қиындықтарды болдырмайды.

Әдеттегі веб және серверлік қосымшаларда айқын параллелизмі бар жүктемелер жағдайында Hydra-ны сынау бір ядромен салыстырғанда төрт ядроның өнімділігі 3-3,8 есеге, яғни сызықтық дерлік өсетінін көрсетті. Бұл осы түрдегі процессорлар SMP архитектурасы бар серверлерді пайдаланатын қолданбаларға сәтті «сәйкес келеді» деуге негіз береді. Бірақ процессор дәйекті қосымшалармен жеткілікті тиімді жұмыс істеуі керек екені анық, сондықтан ең маңызды міндеттердің бірі шартты көп ағынды енгізу болып табылады. Hydra-да ол аппараттық деңгейде жүзеге асырылады және бұл тәсілді таңдау параллельді қосымшаларды бағдарламалау үшін қосымша шығындарды қажет етпейтіндігімен негізделеді.

Шартты көп ағындылық бағдарлама командаларының тізбегін параллель орындалатын ағындарға бөлуге негізделген. Әрине, мұндай ағындар арасында логикалық өзара тәуелділік болуы мүмкін және оларды үйлестіру үшін процессорға арнайы синхрондау механизмі салынған. Оның жұмысының мәні мынада: егер қандай да бір ағынға параллель ағыннан мәліметтер қажет болса, бірақ олар әлі дайын болмаса, онда мұндай ағынның орындалуы тоқтатылады. Шындығында, жоғарыда талқыланған детерминизмнің элементтері осы жерде көрінеді. Синхрондау процесі өте күрделі, өйткені ағындар мен синхрондау шарттары арасындағы барлық мүмкін тәуелділіктерді анықтау қажет. Шартты синхрондау бағдарламаларды олардың қасиеттерін алдын ала білмей-ақ параллельдеуге мүмкіндік береді. Синхрондау механизмінің динамикалық болуы маңызды, ол бағдарламалаушының немесе компилятордың араласуынсыз жұмыс істейді, ол тек қосымшаларды ағындарға статикалық бөлуге қабілетті. Түрлі сынақтарға негізделген модельді сынақтар шартты көп ағынды құралдар процессордың өнімділігін бірнеше есе арттыра алатынын көрсетті, ал тест параллелизммен неғұрлым айқын болса, соғұрлым бұл мән төмен болады.

2000 жылы Афара қатаң құпияда құрылды. Оның негізін Intel және Sun Microsystems компанияларында тәжірибесі бар Стэнфорд университетінің профессоры Кунле Олукотун және белгілі процессор дизайнері Лес Кон салды. Кон осы корпорациялардың біріншісінде i860 және i960 RISC процессорларының, екіншісінде UltraSPARC-I авторларының бірі болды. Оның жетекшілігімен Hydra SPARC процессоры негізінде процессор өзектері үшін қайта жасалды. 2002 жылы Афараны Sun Microsystems сатып алды, бұл Hydra жобасының соңы және Ниагараның басы болды.

Ниагара - MAJC және Hydra «біріктіру».

Niagara ретінде жақсы белгілі UltraSPARC T1 процессорында екі негізгі предшественник бар - Hydra және MAJC.

1990 жылдардың ортасында мамандандырылған Java процессорларына деген құштарлықтан кейін Sun Microsystems өте ұзақ нұсқау сөзі (VLIW) процессорын жасауға әрекет жасады. Бұл бастама MAJC (Java Computing үшін микропроцессорлық архитектура) деп аталады. Сол кезде басталған басқа жобалар сияқты (Intel IA-64 Itanium), бұл іс ең күрделі операциялардың кейбірін компиляторға көшіру туралы болды. Босатылған транзисторлық логиканы орталық процессор, кэш жады және негізгі жады арасында пәрмендер мен деректердің өнімді алмасуын қамтамасыз ету үшін тиімдірек функционалды блоктарды құру үшін пайдалануға болады. Осылайша, фон Нейман тығырыққа тірелді.

MAJC процессорлардың көпшілігінен мамандандырылған сопроцессорлардың (ішкі процессорлардың) болмауымен ерекшеленді, олар әдетте бүтін сандармен, өзгермелі нүктелермен және мультимедиялық деректермен операцияларды орындауға арналған функционалдық құрылғылар деп аталады. Онда барлық функционалдық құрылғылар бірдей болды, кез келген операцияларды орындауға қабілетті, бұл бір жағынан жеке операцияларды орындау тиімділігін төмендетсе, екінші жағынан бүкіл процессорды пайдалануды арттырды.

Ниагара көп ағынды жүргізудің екі балама тәсілдерінің ең жақсысын қамтиды - SMT және CMP. Бір қарағанда, ол Гидраға өте ұқсайды, бірақ Гидраны Ниагараның «макети» деп атауға болады. Соңғысының екі есе көп өзегі бар екеніне қоса, олардың әрқайсысы төрт ағынды өңдей алады.

Niagara процессоры сегіз топқа (әрқайсысы төрт ағын) бөлінген 32 ағынды орындау үшін аппараттық қолдауды қамтамасыз етеді. Әр топта SPARC өңдеу арнасының өзіндік құбыры бар ( сурет 2). Бұл SPARC V9 архитектурасына сәйкес жасалған процессор өзегі. Әрбір SPARC конвейері командалар мен деректерге арналған бірінші деңгейдегі кэшті қамтиды. Бірге 32 ағын төрт банкке бөлінген 3 Мбайт L2 кэшпен бөліседі. Коммутатор сегіз ядроны, екінші деңгейлі кэш банктерін және басқа ортақ орталық процессор ресурстарын қосады және 200 ГБ/с тасымалдау жылдамдығын қолдайды. Сонымен қатар, коммутаторда 20 ГБ/с алмасу жылдамдығын қамтамасыз ететін DDR2 DRAM жадына енгізу/шығару жүйелері мен арналары үшін порты бар; максималды жад сыйымдылығы 128 ГБ дейін.

Niagara жобасы Solaris операциялық жүйесіне бағытталған, сондықтан Solaris жүйесінде жұмыс істейтін барлық қолданбалар ешқандай өзгеріссіз жаңа процессорда жұмыс істей алады. Қолданылған бағдарламалық қамтамасыз етуНиагараны 32 дискретті процессор ретінде қабылдайды.

Жасуша жобасы

IBM корпорациясы Ұяшық жобасы «гетерогенді чип мультипроцессоры» деп аталатын көп ядролы процессорларды құрудың өзіндік тәсілін ұсынды. Ұяшық архитектурасы ұялы кең жолақты қозғалтқыш архитектурасы (CBEA) деп те аталады. Ұяшық мультипроцессоры IBM 64-бит Power Architecture ядросынан және «бір нұсқау, көп деректер» схемасын жүзеге асыратын сегіз арнайы сопроцессорлардан тұрады. IBM бұл архитектураны синергетикалық процессор бірлігі (SPU) деп атайды. Оны үлкен деректер ағындарын өңдеу қажет болғанда, мысалы, криптографияда, әртүрлі мультимедиялық және ғылыми қолданбаларда, мысалы, Фурьенің жылдам түрлендіруі немесе матрицалық операцияларда сәтті қолданылуы мүмкін. Ұяшық архитектурасын IBM Research зерттеушілер тобы, IBM Systems Technology Group, Sony және Toshiba әріптестерімен бірге жасаған және оның бірінші қолданбасы үлкен көлемдегі есептеулерді қажет ететін мультимедиялық құрылғылар болуы керек.

Синергетикалық процессор бірлігінің негізін нұсқаулықтар жинағының архитектурасы (ISA) құрайды. Нұсқаулардың ұзындығы 32 бит және әрқайсысы 128 биттен тұратын 128 регистрден тұратын регистрлер пулындағы үш операндты адрестейді.

Болашақта Cell қолдану шектелмейді ойын жүйелері. Келесі кезекте ажыратымдылығы жоғары теледидар, үй серверлері және тіпті суперкомпьютерлер бар.

Әдебиет
  1. Леонид Черняк. Негізгі қағидаларды қайта қарау – тоқыраудың соңы ма? // ашық жүйелер. - 2003, №5.
  2. Михаил Кузьминский. Микропроцессорлардың көп ағынды архитектурасы // Ашық жүйелер. - 2002 ж., № 1.
  3. Раджат А Дуа, Бхушан Лоханде. SMT және CMP мультипроцессорларының салыстырмалы зерттеуі. -

* әрқашан өзекті сұрақтар, қате жібермеу үшін процессорды таңдағанда не нәрсеге назар аудару керек.

Бұл мақаладағы мақсатымыз - процессордың өнімділігіне және басқа өнімділік сипаттамаларына әсер ететін барлық факторларды сипаттау.

Процессор компьютердің негізгі есептеу бірлігі екені ешкімге құпия емес шығар. Сіз тіпті айта аласыз - компьютердің ең маңызды бөлігі.

Ол компьютерде орын алатын барлық дерлік процестер мен тапсырмаларды басқарады.

Бейне көру, музыка, интернетте серфинг, жадта жазу және оқу, 3D және бейне өңдеу, ойындар. Және тағы басқалар.

Сондықтан таңдау Cорталық Ппроцессорға өте мұқият қарау керек. Сіз қуатты видеокарта мен оның деңгейіне сәйкес келмейтін процессорды орнатуды шешкен шығарсыз. Бұл жағдайда процессор видеокартаның әлеуетін ашпайды, бұл оның жұмысын бәсеңдетеді. Процессор толығымен жүктеліп, қайнатылады, ал видеокарта өз мүмкіндіктерінің 60-70% жұмыс істеп, өз кезегін күтеді.

Сондықтан теңдестірілген компьютерді таңдағанда, емесшығындар процессорды елемеуқуатты видеокартаның пайдасына. Процессордың қуаты видеокартаның әлеуетін ашу үшін жеткілікті болуы керек, әйтпесе бұл жай ғана ақша лақтырылады.

Intel қарсы AMD

*мәңгілік қуу

корпорациясы Intel, орасан зор адам ресурстары және таусылмас дерлік қаржысы бар. Жартылай өткізгіш өнеркәсібіндегі көптеген жаңалықтар мен жаңа технологиялар осы компаниядан келеді. Процессорлар және әзірлемелер Intel, орташа есеппен 1-1,5 инженерлердің дамуларынан бірнеше жыл алда AMD. Бірақ өзіңіз білетіндей, сіз ең заманауи технологияларға ие болу мүмкіндігі үшін төлеуге тура келеді.

Процессордың баға саясаты Intel, негізделген өзектер саны, кэш сомасы, бірақ сонымен бірге сәулет өнерінің «жаңалығы»., сағаттағы өнімділікватт,чипті өңдеу технологиясы. Кэш жадының мәні, «техникалық процестің нәзік жақтары» және процессордың басқа маңызды сипаттамалары төменде қарастырылады. Еркін жиілік мультипликаторы сияқты технологияларды иелену үшін сізге қосымша соманы төлеуге тура келеді.

Компания AMD, компаниядан айырмашылығы Intel, соңғы тұтынушы үшін өзінің процессорларының қолжетімділігіне және құзыретті баға саясатын жүргізуге ұмтылады.

Біреу тіпті солай деуі мүмкін AMD– « Халық мөрі«. Оның баға белгілерінде сіз өзіңізге қажет нәрсені өте тартымды бағамен таба аласыз. Әдетте жаңа технология енгізілгеннен кейін бір жылдан кейін компания Intel, технологиясының аналогы AMD. Егер сіз ең жоғары өнімділікті іздемесеңіз және қолжетімділікке қарағанда баға белгісіне көбірек назар аударсаңыз озық технологиялар, содан кейін компанияның өнімдері AMD- тек сен үшін.

Баға саясаты AMD, ядролардың санына көбірек негізделген және кэш жадының көлеміне, архитектуралық жақсартулардың болуына өте аз. Кейбір жағдайларда, үшінші деңгейдегі кэш жадыға ие болу мүмкіндігі үшін сізге аздап қосымша төлеуге тура келеді ( Феном 3-деңгейдегі кэш жады бар, Атлоншектеулі, 2 деңгейлі мазмұн). Бірақ кейде AMDжанкүйерлерін бұзады құлпын ашу мүмкіндігіарзанырақ процессорлар қымбатырақ. Сіз ядролардың немесе кэш жадын құлпын ашуға болады. Жақсарту Атлонбұрын Феном. Бұл модульдік архитектураға және арзанырақ модельдердің болмауына байланысты мүмкін, AMDжай ғана кейбір қымбатырақ чиптегі блоктарды (бағдарламалық құрал бойынша) өшіреді.

Ядролар– іс жүзінде өзгеріссіз қалады, тек олардың саны әр түрлі (процессорлар үшін жарамды 2006-2011 жылдар). Процессорларының модульділігіне байланысты компания қабылданбаған чиптерді сатуда тамаша жұмыс істейді, олар кейбір блоктар өшірілгенде өнімділігі төмен желіден процессорға айналады.

Компания көптеген жылдар бойы кодтық атаумен мүлде жаңа архитектурада жұмыс істеп келеді Бульдозер, бірақ шығарылған кезде 2011 жылы жаңа процессорлар ең жақсы өнімділікті көрсетпеді. AMDоперациялық жүйелерде күнә жасады, олар қос ядролардың және «басқа көп ағындардың» архитектуралық ерекшеліктерін түсінбейді.

Компания өкілдерінің айтуынша, осы процессорлардың толық өнімділігін сезіну үшін арнайы түзетулер мен патчтарды күту керек. Дегенмен, басында 2012 жылы компания өкілдері архитектураны қолдау үшін жаңартуды шығаруды кейінге қалдырды Бульдозерекінші жартыжылдығына арналған.

Процессор жиілігі, ядролар саны, көп ағындылық.

Кейде Pentium 4және оның алдында CPU жиілігі, процессорды таңдау кезінде негізгі процессор өнімділігі факторы болды.

Бұл таңқаларлық емес, өйткені процессордың архитектурасы жоғары жиіліктерге қол жеткізу үшін арнайы жасалған, бұл әсіресе процессорда көрініс тапты. Pentium 4сәулет бойынша желі жарылысы. Архитектурада қолданылған ұзын құбырмен жоғары жиілік тиімді болмады. Тіпті Athlon XPжиілігі 2 ГГц, өнімділігі бойынша жоғары болды Pentium 4в 2,4 ГГц. Сондықтан бұл таза маркетинг болды. Осы қателіктен кейін компания IntelМен қателіктерімді түсіндім және жақсы жағына оралуМен жиілік компонентінде емес, сағаттағы өнімділік бойынша жұмыс істей бастадым. Архитектурадан желі жарылысыбас тартуға тура келді.

Небіз көп ядролы береді?

Төрт ядролы процессор 2,4 ГГц, көп ағынды қолданбаларда теориялық тұрғыдан жиілігі бар бір ядролы процессорға шамамен баламалы болады. 9,6 ГГцнемесе жиілігі бар 2 ядролы процессор 4,8 ГГц. Бірақ бұл тек теорияда. Іс жүзіндеекінші жағынан, екі ұялы аналық платадағы екі қос ядролы процессор бір жұмыс жиілігіндегі бір 4 ядролы процессордан жылдамырақ болады. Автобус жылдамдығының шектеулері және жад кідірістері өздерін сезінеді.

* бірдей архитектураға және кэш жады көлеміне бағынады

Көп ядролы, бөліктерде нұсқаулар мен есептеулерді орындауға мүмкіндік береді. Мысалы, үш арифметикалық амалды орындау керек. Алғашқы екеуі процессор өзектерінің әрқайсысында орындалады және нәтижелер кэш жадына қосылады, мұнда келесі әрекетті олармен бос ядролардың кез келгені орындай алады. Жүйе өте икемді, бірақ дұрыс оңтайландырусыз ол жұмыс істемеуі мүмкін. Сондықтан ОЖ ортасында процессорлардың архитектурасы үшін көп ядролы үшін оңтайландыру өте маңызды.

«Сүйетін» қолданбалар және пайдаланукөп ағынды: мұрағатшылар, бейне ойнатқыштар мен кодерлер, антивирустар, дефрагментациялау бағдарламалары, графикалық редактор , браузерлер, Жарқыл.

Сондай-ақ, көп ағынның «жанкүйерлеріне» операциялық жүйелер кіреді Windows 7және Windows Vista , сонымен қатар көптеген ОЖ, ядроға негізделген linux, ол көп ядролы процессормен айтарлықтай жылдамырақ жұмыс істейді.

Көпшілігі ойындар, кейде 2 ядролы процессор жеткілікті жоғары жиілік. Алайда қазір бәрі шығады Көбірек ойындарКөп ағынды өткізуге арналған «ұшталған». Тым болмаса мыналарды алыңыз құмсалғышсияқты ойындар GTA 4немесе прототипі, онда жиілігі төмен 2 ядролы процессорда 2,6 ГГц- сіз өзіңізді жайлы сезінбейсіз, кадр жиілігі секундына 30 кадрдан төмен түседі. Бұл жағдайда, ең алдымен, мұндай оқиғалардың себебі ойындарды «әлсіз» оңтайландыру, уақыттың жетіспеушілігі немесе ойындарды консольдерден ауыстырғандардың «тікелей емес» қолдары болуы мүмкін. ДК.

Ойындарға арналған жаңа процессорды сатып алғанда, енді 4 немесе одан да көп ядросы бар процессорларға назар аудару керек. Дегенмен, «жоғарғы санаттағы» 2 ядролы процессорларды елемеңіз. Кейбір ойындарда бұл процессорлар кейде кейбір көп ядролыларға қарағанда жақсы сезінеді.

Процессор кэші.

- Бұл процессор чипінің арнайы аймағы, онда аралық деректер процессор өзектері, жедел жады және басқа автобустар арасында өңделеді және сақталады.

Ол өте жоғары тактілік жиілікте жұмыс істейді (әдетте процессордың жиілігінде), өткізу қабілеттілігі өте жоғары және процессордың ядролары онымен тікелей жұмыс істейді ( L1).

Оның арқасында тапшылық, процессор кэште жаңа деректердің өңделуін күтіп, көп уақытты қажет ететін тапсырмаларда бос тұруы мүмкін. Сондай-ақ кэш жады үшін қызмет етедіқажет болған жағдайда қажетсіз есептеулерсіз, процессорды қайтадан уақытты жоғалтуға мәжбүрлемей, тез қалпына келтіруге болатын жиі қайталанатын деректердің жазбалары.

Өнімділік сонымен қатар кэш жады біріктірілген болса және барлық ядролар ондағы деректерді бірдей пайдалана алатынын қосады. Бұл береді қосымша мүмкіндіктеркөп ағынды оңтайландыруға арналған.

Бұл техника қазір үшін қолданылады 3-деңгейдегі кэш. Процессорлар үшін Intelаралас 2-деңгейлі кэші бар процессорлар болды ( C2D E 7***,E8***), соның арқасында бұл әдіс көп ағынды өнімділікті арттырды.

Процессорды үдеткіш кезінде кэш жады әлсіз нүктеге айналуы мүмкін, бұл процессордың қатесіз максималды жұмыс жиілігінен асып кетуіне жол бермейді. Дегенмен, артықшылығы - ол үдеткіш процессормен бірдей жиілікте жұмыс істейді.

Жалпы, кэш жады неғұрлым үлкен болса, соғұрлым ТезірекОРТАЛЫҚ ЕСЕПТЕУІШ БӨЛІМ. Қандай қолданбаларда?

Көптеген өзгермелі нүкте деректері, нұсқаулар мен ағындар пайдаланылатын барлық қолданбаларда кэш жады белсенді түрде қолданылады. Кэш жады өте танымал мұрағатшылар, бейне кодтаушылар, антивирустаржәне графикалық редакторжәне т.б.

қолайлы үлкен санкэштер болып табылады ойындар. Әсіресе стратегиялар, авто-симерлер, RPG, SandBox және көптеген ұсақ бөлшектер, бөлшектер, геометрия элементтері, ақпарат ағындары және физикалық әсерлер бар барлық ойындар.

Кэш жады 2 немесе одан да көп видеокарталары бар жүйелердің әлеуетін ашуда өте маңызды рөл атқарады. Өйткені, жүктеменің бір бөлігі процессор өзектерінің өзара әрекеттесуіне де, бірнеше бейне чиптерінің ағындарымен жұмыс істеуге де түседі. Дәл осы жағдайда кэш-жадыны ұйымдастыру маңызды, ал үлкен көлемнің 3-ші деңгейдегі кэш жады өте пайдалы.

Кэш жады әрқашан ықтимал қателерден қорғаумен жабдықталған ( ECC), анықталған кезде олар түзетіледі. Бұл өте маңызды, өйткені өңдеу кезінде кэш жадындағы кішігірім қате үлкен, үздіксіз қатеге айналуы мүмкін, одан бүкіл жүйе «жатады».

Корпоративтік технологиялар.

(гипер ағынды, HT)–

технология алғаш рет процессорларда қолданылды Pentium 4, бірақ ол әрқашан дұрыс жұмыс істемеді және жиі процессорды жылдамдатқаннан гөрі баяулатады. Оның себебі тым ұзын құбыр және аяқталмаған салаларды болжау жүйесі болды. Компания өтініш берген Intel, Технологияның аналогтары әлі жоқ, егер аналогы деп есептелмесе? компанияның инженерлері нені жүзеге асырды AMDсәулетте Бульдозер.

Жүйенің принципі әрбір физикалық ядро ​​үшін, екі есептеу ағыны, бір орнына. Яғни, сізде 4 ядролы процессор болса HT (Негізгі i 7), онда сізде виртуалды ағындар бар 8 .

Өнімділік артуы деректер құбырға міндетті түрде басында емес, оның ортасында кіруі мүмкін болғандықтан қол жеткізіледі. Осы әрекетті орындауға қабілетті кейбір процессор блоктары жұмыссыз болса, олар орындалатын тапсырманы алады. Өнімділікті арттыру нақты физикалық ядролармен бірдей емес, бірақ салыстырмалы (қолдану түріне байланысты ~ 50-75%). Кейбір қолданбаларда өте сирек кездеседі, HT теріс әсер етедіөнімділігі бойынша. Бұл осы технологияға арналған қолданбалардың нашар оңтайландырылуымен, «виртуалды» ағындардың бар екенін түсіну мүмкін еместігімен және ағындарды біркелкі жүктеу үшін шектеулердің болмауымен байланысты.

ТурбоКүшейтіңіз - жұмыс жүктемесінің деңгейіне байланысты ең көп қолданылатын процессор ядроларының жиілігін арттыратын өте пайдалы технология. Қолданба барлық 4 ядроны қалай пайдалану керектігін білмесе және олардың жиілігі артқан кезде бір немесе екеуін ғана жүктегенде өте пайдалы, бұл өнімділікті ішінара өтейді. Компанияда осы технологияның аналогы AMD, технология болып табылады Турбо ядросы.

, 3 қазір!нұсқаулар. Процессорды жылдамдатуға арналған мультимедиаесептеулер (бейне, музыка, 2D/3D графикасы және т.б.), сонымен қатар архиваторлар, кескіндермен және бейнелермен жұмыс істеуге арналған бағдарламалар (осы бағдарламалардың нұсқауларын қолдау арқылы) сияқты бағдарламалардың жұмысын жылдамдатады.

3қазір! - өте ескі технология AMD, қосымша мультимедиялық мазмұнды өңдеуге арналған қосымша нұсқауларды қамтиды SSEбірінші нұсқасы.

* Атап айтқанда, ағынды өңдеу мүмкіндігі нақты сандаржалғыз дәлдік.

болуы жаңа нұсқасы- бұл үлкен плюс, процессор бағдарламалық қамтамасыз етуді дұрыс оңтайландыру арқылы белгілі бір тапсырмаларды тиімдірек орындай бастайды. Процессорлар AMDатаулары ұқсас, бірақ сәл өзгеше.

* Мысал - SSE 4.1 (Intel) - SSE 4A (AMD).

Бұған қоса, бұл нұсқаулар жиынтықтары бірдей емес. Бұл аналогтар, оларда шамалы айырмашылықтар бар.

салқын тыныш, жылдамдық қадамы, CoolCore, Жетілдірілген жартысы Штат(C1E) жәнеТ. г.

Бұл технологиялар аз жүктеме кезінде мультипликатор мен ядродағы кернеуді азайту, кэштің бір бөлігін өшіру және т.б. арқылы процессордың жиілігін азайтады. Бұл процессорды әлдеқайда аз қыздыруға және аз энергия тұтынуға, аз шу шығаруға мүмкіндік береді. Қуат қажет болса, процессор қалпына келеді қалыпты күйсекундтың бір бөлігінде. Үстінде әдепкі параметрлер биоәрқашан дерлік қосулы, қажет болса, 3D ойындарында ауысу кезінде ықтимал «фриздерді» азайту үшін оларды өшіруге болады.

Бұл технологиялардың кейбірі жүйедегі желдеткіштердің жылдамдығын басқарады. Мысалы, егер процессор жақсартылған жылу таратуды қажет етпесе және жүктеме астында болмаса, процессор желдеткішінің жылдамдығы төмендейді ( AMD Cool'n'Quiet, Intel Speed ​​​​Step).

Intel виртуалдандыру технологиясыжәне AMD виртуализациясы.

Бұл аппараттық технологиялар арнайы бағдарламалардың көмегімен өнімділігін айтарлықтай жоғалтпай, бірден бірнеше операциялық жүйені іске қосуға мүмкіндік береді. Сондай-ақ, ол серверлердің дұрыс жұмыс істеуі үшін қолданылады, өйткені оларда жиі орнатылған бірнеше ОЖ болады.

Орындау Өшіру Битжәнежоқ орындау Биткомпьютерді жүйенің бұзылуына әкелетін вирустық шабуылдардан және бағдарламалық қателерден қорғауға арналған технология буфердің толып кетуі.

Intel 64 , AMD 64 , EM 64 Т - бұл технология процессорға 32-биттік архитектурасы бар ОЖ-да да, 64-биттік архитектурасы бар ОЖ-да да жұмыс істеуге мүмкіндік береді. Жүйе 64 бит– артықшылықтар тұрғысынан алғанда, бұл қарапайым пайдаланушы үшін бұл жүйеде 3,25 ГБ-тан астам пайдалануға болатындығымен ерекшеленеді. жедел жады. 32 биттік жүйелерде b пайдаланыңыз ОАдрестік жадтың шектеулі көлеміне байланысты қосымша ЖЖҚ мүмкін емес* .

32-биттік архитектурасы бар қосымшалардың көпшілігін 64-биттік ОЖ бар жүйеде іске қосуға болады.

* Не істеу керек, егер сонау 1985 жылы, сол кездегі стандарттар бойынша жедел жадының мұндай алып көлемі туралы ешкім тіпті ойламаған.

Қосымша.

туралы бірнеше сөз

Бұл тармаққа мұқият назар аударған жөн. Техникалық процесс неғұрлым жұқа болса, процессор соғұрлым аз энергия жұмсайды және нәтижесінде ол аз қызады. Және басқа нәрселермен қатар - ол үдеткіш үшін қауіпсіздіктің жоғары маржасына ие.

Техникалық процесс неғұрлым жұқа болса, соғұрлым чипке «орауға» болады (тек қана емес) және процессордың мүмкіндіктерін арттырады. Ток шығынының азаюына және ядро ​​аймағының азаюына байланысты жылуды бөлу және қуат тұтыну да пропорционалды түрде төмендейді. Жаңа технологиялық технология бойынша бірдей сәулеттің әрбір жаңа буынымен қуат тұтынуы да өсу үрдісін байқауға болады, бірақ олай емес. Өндірушілер бұдан да жоғары өнімділікке қарай жылжып, транзисторлар санының көбеюіне байланысты процессорлардың алдыңғы буынының жылуды тарату сызығынан асып түседі, бұл техникалық процестің төмендеуіне пропорционалды емес.

процессорға орнатылған.

Егер сізге біріктірілген бейне ядросы қажет болмаса, онымен процессорды сатып алмау керек. Сіз тек нашар жылудың таралуын, қосымша жылуды (әрдайым емес), үдеткіштің нашарлауын (әрдайым емес) және артық төленген ақшаны аласыз.

Сонымен қатар, процессорға кіріктірілген ядролар тек операциялық жүйені жүктеуге, Интернетті шарлауға және бейнелерді қарауға жарамды (тіпті ешқандай сапада емес).

Нарық үрдістері әлі де өзгеруде және өнімді процессорды сатып алу мүмкіндігі IntelБейне өзегі болмаса, ол азайып кетеді. Процессорлармен бірге кірістірілген бейне ядросын мәжбүрлеп енгізу саясаты пайда болды Intelкодтық атауы Құмды көпір, оның негізгі инновациясы сол өндіріс процесіндегі кіріктірілген ядро ​​болды. Бейне өзегі орналасқан бірлесіппроцессормен бір кристалда, және процессорлардың алдыңғы буындарындағыдай қарапайым емес Intel. Оны пайдаланбайтындар үшін процессордың кейбір артық төлемі, жылу тарату қақпағының ортасына қатысты жылыту көзінің ығысуы түріндегі кемшіліктер бар. Дегенмен, плюстары да бар. Өшірілген бейне өзегін технологияны пайдалана отырып өте жылдам бейне кодтау үшін пайдалануға болады Жылдам синхрондауосы технологияны қолдайтын арнайы бағдарламалық құралмен біріктірілген. Болашақта, Intelпараллельді есептеулер үшін кірістірілген бейне ядросын пайдалану көкжиегін кеңейтуге уәде береді.

Процессорларға арналған ұяшықтар. Платформаның қызмет ету мерзімі.


Intelплатформалары үшін өрескел саясат жүргізеді. Әрқайсысының қызмет ету мерзімі (ол үшін процессорларды сатудың басталу және аяқталу күні) әдетте 1,5 - 2 жылдан аспайды. Сонымен қатар, компанияда бірнеше параллель дамушы платформалар бар.

Компания AMD, қарама-қарсы үйлесімділік саясаты бар. Оның платформасына Сағат 3, қолдайтын болашақ ұрпақтың барлық процессорлары DDR3. Тіпті платформа барған кезде де AM3+және кейінірек, не астында жаңа процессорлар Сағат 3, немесе жаңа процессорлар ескі аналық платалармен үйлесімді болады және тек процессорды (аналық платаны, жедел жадты және т.б. ауыстырмай) өзгерту және аналық платаны жыпылықтау арқылы әмиян үшін ауыртпалықсыз жаңартуды жасауға болады. Түрді өзгерту кезінде үйлесімсіздіктің жалғыз нюанстары болуы мүмкін, өйткені процессорға енгізілген басқа жад контроллері қажет болады. Осылайша, үйлесімділік шектеулі және барлық аналық платаларда қолдау көрсетілмейді. Бірақ тұтастай алғанда, үнемді пайдаланушы немесе платформаны 2 жыл сайын толығымен өзгертуге үйренбегендер үшін - процессор өндірушісін таңдау түсінікті - бұл AMD.

CPU салқындату.

Стандартты процессормен бірге жеткізіледі ЖОРАП- жұмысты орындайтын жаңа салқындатқыш. Бұл дисперсия аймағы өте жоғары емес алюминий бөлігі. Жылу құбырлары мен оларға бекітілген пластиналарға негізделген тиімді салқындатқыштар жоғары тиімді жылуды таратуға арналған. Шамадан тыс желдеткіш шуды естігіңіз келмесе, балама, тиімдірек жылу құбыры салқындатқышын немесе жабық немесе ашық контурлы сұйық салқындату жүйесін сатып алуды қарастырған жөн. Мұндай салқындату жүйелері қосымша процессордың үдеткішін қосады.

Қорытынды.

Процессордың өнімділігі мен өнімділігіне әсер ететін барлық маңызды аспектілер қарастырылды. Нені ескеру керектігін қайталап көрейік:

  • Өндірушіні таңдаңыз
  • Процессор архитектурасы
  • Процесс технологиясы
  • CPU жиілігі
  • Процессор ядроларының саны
  • Процессор кэшінің өлшемі мен түрі
  • Технологиялар мен нұсқауларды қолдау
  • Сапалы салқындату

Бұл материал сіздің үміттеріңізге сәйкес келетін процессорды таңдауды түсінуге және шешуге көмектеседі деп үміттенеміз.

Қазіргі уақытта көп ядролы процессорлар ешкімді таң қалдырмайды. Керісінше, әркім өз компьютерін мүмкіндігінше көп ядроларға қолдау көрсетуге тырысады, сондықтан тезірек жұмыс істейді және бұл дұрыс.
Процессорларға келетін болсақ, нарықта ұзақ уақыт бойы тек екі өндіруші бар - бұл Intel және AMD. Ал егер соңғылары өздерінің 8 және 10 ядролы процессорлары туралы айтатын болса (бұл олардың көп екенін білдіреді, яғни олар күштірек), онда біріншісінде 2 және 4 ядролары бар, бірақ олардың ағындарына назар аударыңыз (ашуланып жазудың қажеті жоқ. өзектері және т.б. бар екенін түсіндіреді, өйткені үйде пайдалануға арналған процессорлар бұдан әрі сипатталады).

Ал егер сіз процессор өнімділігінің салыстыру графиктеріне қарасаңыз, Intel компаниясының 4 ядролы процессоры (барлығы емес) AMD компаниясының 8 ядролы процессорын басып озатынын көруге болады. Неліктен олай? Өйткені, 4 саны 8-ден аз, бұл оның әлсіз болуы керек дегенді білдіреді ... Бірақ егер сіз тереңірек қазып алсаңыз (тікелей кэштерге, жиілікке, автобусқа және т.б.), сіз Intel-ді сипаттау үшін жиі қолданылатын бір қызықты сөзді көре аласыз. процессорлар - Гипер-ағынды қолдау.

Hyper-threading технологиясы (қарапайым адамдарда «гипертрендинг») Intel компаниясы ойлап тапты және тек олардың процессорларында қолданылады (барлығы емес). Мен оның егжей-тегжейіне тым тереңдемеймін, қаласаңыз, бұл туралы оқи аласыз. Бұл технология әрбір ядроны екіге бөлуге мүмкіндік береді және нәтижесінде бір физикалық емес, бізде екі логикалық (немесе виртуалды) бар, ал Windows операциялық жүйесі біреудің орнына екеуі орнатылған деп ойлайды.

Процессорда қанша ағын бар екенін қалай білуге ​​болады?

Егер сіз белгілі бір процессор туралы білгіңіз келсе, онда көбінесе дүкендердегі сипаттамада олар Hyper-threading қолдауын осы фразаны енгізу арқылы немесе жай ғана HT аббревиатурасы арқылы көрсетеді. Егер мұндай сипаттама болмаса, сіз әрқашан Intel ресми бетіндегі ең шынайы ақпаратты http://ark.intel.com/ru/search/advanced/?s=t&HyperThreading=true пайдалана аласыз.
Мен тек осы ақпаратты пайдалануды ұсынамын, себебі бұл ең дәл.

Егер сіз жүйеде болған кезде білгіңіз келсе және дәл сол ағындар сіздің жүйеңізде арнайы қолданылған болса, онда оңай ештеңе жоқ.

Кез келген ыңғайлы жолмен іске қосыңыз (ең оңай жолы - жылдам пернелер тіркесімі Ctrl + Shift + Esc ) кез келген жерде (кем дегенде осы мақаланы оқу) және Windows 7 болса, өнімділік қойындысына өтіңіз.


Процессордың жүктемесі бар жоғарғы жолға және әсіресе «шаршы» санына назар аударыңыз. Бұл қанша болады - сонша көп барлық ядролар, соның ішінде барлық ағындар болады. Дәлірек айтсақ, барлық логикалық/виртуалды ядролар осы жерде көрсетіледі және ағындар дәл солай болады.

Егер сізде Windows 8, 8.1 немесе 10 болса, онда мұндай қойынды болмайды, бірақ өнімділік бар.


Мұнда мен назар аудару керек жерлерді атап өттім. Айтпақшы, мен бұл графикті тінтуірдің оң жақ түймешігімен бір себеппен басқанмын, өйткені логикалық процестер элементін таңдасаңыз, график өзгереді және Windows 7-дегідей болады, яғни. әрбір ядро ​​үшін 8 «шаршы» және жүктеме графиктері болады.
Егер сізде қарама-қарсы сурет болса, яғни. бір емес, бірнеше графиктер көрсетіледі, яғни бұл элемент графиктің өз қасиеттерінде таңдалған.

Әрине, мұны істеудің тағы бірнеше жолы бар және бұл жағдайда ағындар.

Мысалы, жүйе сипатына қоңырау шалуға болады (Win + R пернелер тіркесімі және systeminfo енгізіңіз) және оны сол жерден көруге болады.

  • оқу құралы

Бұл мақалада мен бірнеше бағдарламаларды параллель орындауға қабілетті жүйелерді сипаттау үшін қолданылатын терминологияны сипаттауға тырысамын, яғни көп ядролы, көп процессорлы, көп ағынды. Түрлі түрлер IA-32 процессорындағы параллелизм әртүрлі уақытта және біршама сәйкес келмейтін тәртіпте пайда болды. Мұның бәрінде шатастыру оңай, әсіресе операциялық жүйелер күрделі емес қолданбалы бағдарламалардан мәліметтерді жасыруға мұқият болатынын ескерсек.

Мақаланың мақсаты - оларда жұмыс істейтін бағдарламалар үшін көп процессорлы, көп ядролы және көп ағынды жүйелердің ықтимал конфигурацияларының барлық алуан түрлілігімен абстракциялау (айырмашылықтарды елемеу) үшін де, ерекшеліктерді ескеру үшін де мүмкіндіктер жасалғанын көрсету ( конфигурацияны бағдарламалы түрде үйрену мүмкіндігі).

Мақалада ®, ™ белгілері туралы ескерту

Mine компания қызметкерлері неліктен жалпыға ортақ коммуникацияларда авторлық құқық белгілерін пайдалану керектігін түсіндіреді. Бұл мақалада оларды жиі қолдануға тура келді.

Орталық Есептеуіш Бөлім

Әрине, ең көне, ең жиі қолданылатын және түсініксіз термин - «процессор».

В қазіргі әлемпроцессор - бұл біз әдемі бөлшек қорапта немесе өте әдемі емес OEM пакетінде сатып алатын (бума). Аналық платадағы розеткаға енгізілген бөлінбейтін нысан. Тіпті қосқыш болмаса және оны алып тастау мүмкін болмаса, яғни ол тығыз дәнекерленген болса, бұл бір чип.

Мобильді жүйелер (телефондар, планшеттер, ноутбуктер) және көптеген жұмыс үстелдерінде бір процессор бар. Жұмыс станциялары мен серверлер кейде бір аналық платада екі немесе одан да көп процессорлармен мақтана алады.

Бірнеше қолдау Орталық процессорларбір жүйеде оның дизайнына көптеген өзгерістер енгізу қажет. Кем дегенде, олардың физикалық қосылымын қамтамасыз ету (аналық платада бірнеше розеткаларды қамтамасыз ету), процессорды сәйкестендіру мәселелерін шешу (осы мақаланы кейінірек қараңыз, сонымен қатар менің ескертуім), жадқа кіруді үйлестіру және үзілістерді жеткізу ( үзу контроллері үзілістерді бірнеше процессорларға бағыттай алуы керек) және, әрине, операциялық жүйенің қолдауы. Өкінішке орай, Intel процессорларында бірінші мультипроцессорлық жүйенің жасалған сәті туралы құжатталған анықтаманы таба алмадым, дегенмен Wikipedia Sequent Computer Systems оларды 1987 жылы Intel 80386 процессорлары арқылы қамтамасыз еткен деп мәлімдейді.Бір жүйедегі бірнеше чиптерге кең таралған қолдау осы күннен бастап қолжетімді болады. Intel® Pentium көмегімен.

Егер бірнеше процессор болса, онда олардың әрқайсысында тақтада өз қосқышы болады. Бұл ретте олардың әрқайсысында регистрлер, орындаушы құрылғылар, кэштер сияқты барлық ресурстардың толық тәуелсіз көшірмелері бар. Олар ортақ жадты бөліседі - RAM. Жадты олармен әртүрлі және тривиальды емес тәсілдермен байланыстыруға болады, бірақ бұл мақаланың шеңберінен тыс бөлек әңгіме. Кез келген сценарийде бұл маңызды орындалатын бағдарламаларжүйедегі барлық процессорлардан қол жетімді біртекті ортақ жад елесін жасау керек.


Ұшуға дайын! Intel® жұмыс үстелі тақтасы D5400XS

Негізгі

Тарихи тұрғыдан алғанда, Intel IA-32-дегі көп ядролы Intel® HyperThreading-тен кейінірек пайда болды, бірақ ол логикалық иерархияда келесі орында келеді.

Жүйеде процессорлар көп болса, оның өнімділігі жоғарырақ (барлық ресурстарды пайдалана алатын тапсырмаларда) көрінетін сияқты. Алайда, егер олардың арасындағы байланыс құны тым жоғары болса, онда параллелизмнен түсетін барлық пайда жалпы деректерді берудегі ұзақ кідірістермен жойылады. Бұл дәл көппроцессорлық жүйелерде байқалады - физикалық және логикалық тұрғыдан олар бір-бірінен өте алыс. Мұндай жағдайларда тиімді байланысу үшін Intel® QuickPath Interconnect сияқты мамандандырылған автобустарды ойлап табу керек. Энергияны тұтыну, түпкілікті шешімнің көлемі мен бағасы, әрине, мұның бәрінен төмендемейді. Компоненттердің жоғары интеграциясы құтқаруға келуі керек - параллельді бағдарламаның бөліктерін орындайтын схемалар бір-біріне жақындату керек, жақсырақ бір чипте. Басқаша айтқанда, бір процессор бірнеше рет ұйымдастыруы керек ядролар, барлығында бір-біріне ұқсас, бірақ өз бетінше жұмыс істейді.

Intel компаниясының алғашқы IA-32 көп ядролы процессорлары 2005 жылы шығарылды. Содан бері сервердегі, жұмыс үстеліндегі және қазір мобильді платформалардағы ядролардың орташа саны тұрақты өсуде.

Бір жүйедегі тек жадты ортақ пайдаланатын бір ядролы екі процессордан айырмашылығы, екі ядро ​​сонымен қатар кэштерді және жадпен әрекеттесу үшін жауапты басқа ресурстарды ортақ пайдалана алады. Көбінесе бірінші деңгейдің кэштері жеке болып қалады (әр ядроның өзіндік бар), ал екінші және үшінші деңгейлер ортақ немесе бөлек болуы мүмкін. Жүйенің бұл ұйымдастырылуы көрші ядролар арасындағы деректерді жеткізудегі кідірістерді азайтады, әсіресе олар ортақ тапсырмада жұмыс істейтін болса.


Нехалем кодтық атауы бар төрт ядролы Intel процессорының микросуреті. Бөлек ядролар, ортақ L3 кэш, сондай-ақ басқа процессорларға және ортақ жад контроллеріне QPI сілтемелері бөлектелген.

гиперағын

Шамамен 2002 жылға дейін екі немесе одан да көп бағдарламаларды қатар орындай алатын IA-32 жүйесін алудың жалғыз жолы арнайы мультипроцессорлық жүйелерді пайдалану болды. Intel® Pentium® 4, сонымен қатар Foster (Netburst) кодтық атауы бар Xeon желісі енгізілді. жаңа технология- гиперағындар немесе гиперағындар, - Intel® HyperThreading (бұдан әрі HT).

Күн астында жаңа ештеңе жоқ. HT - әдебиетте бір мезгілде көп ағынды (SMT) деп аталатын ерекше жағдай. Толық және тәуелсіз көшірмелер болып табылатын «нақты» ядролардан айырмашылығы, HT жағдайында ішкі түйіндердің бір бөлігі ғана бір процессорда қайталанады, ең алдымен архитектуралық күйді - регистрлерді сақтауға жауапты. Деректерді ұйымдастыруға және өңдеуге жауапты атқарушы түйіндер сингулярлық күйде қалады және кез келген уақытта ағындардың көбінде біреуі пайдаланылады. Ядролар сияқты, гиперағындар кэштерді өзара бөліседі, бірақ қандай деңгейден бастап нақты жүйеге байланысты.

Мен жалпы SMT дизайндарының және атап айтқанда HT дизайндарының барлық артықшылықтары мен кемшіліктерін түсіндіруге тырыспаймын. Қызығушылық танытқан оқырман технология туралы егжей-тегжейлі талқылауды көптеген көздерден және, әрине, Уикипедиядан таба алады. Дегенмен, мен нақты өндірістегі гипертрейдтер санына ағымдағы шектеулерді түсіндіретін келесі маңызды мәселені атап өтемін.

Жіп шектеулері
Қандай жағдайларда ХТ түріндегі «адалсыз» көп ядроның болуы негізделген? Егер бір қолданбалы ағын ядро ​​ішіндегі барлық орындаушы түйіндерді жүктей алмаса, онда оларды басқа ағынға «қарыз алуға» болады. Бұл есептеулерде емес, деректерге қол жеткізуде, яғни кэшті жіберіп алуды жиі генерациялайтын және деректердің жадтан жеткізілуін күтетін қолданбаларға тән. Осы уақыт ішінде HT жоқ ядро ​​бос тұруға мәжбүр болады. HT болуы бос орындаушы түйіндерді басқа архитектуралық күйге жылдам ауыстыруға (өйткені ол жай ғана көшіріледі) және оның нұсқауларын орындауға мүмкіндік береді. Бұл кідіріс жасыру деп аталатын трюктің ерекше жағдайы, оның барысында пайдалы ресурстар бос тұрған бір ұзақ операция басқа тапсырмаларды қатар орындау арқылы жасырылады. Қолданба ядро ​​ресурстарын пайдаланудың жоғары дәрежесіне ие болса, гипертрейдингтің болуы жеделдетуге мүмкіндік бермейді - мұнда «адал» ядролар қажет.

Жалпы мақсаттағы машина архитектурасына арналған жұмыс үстелі және серверлік қолданбаларға арналған типтік сценарийлер HT көмегімен іске асырылған параллельдік әлеуетке ие. Дегенмен, бұл әлеует тез «пайдаланады». Мүмкін осы себепті, барлық дерлік IA-32 процессорларында аппараттық гиперағындардың саны екіден аспайды. Әдеттегі сценарийлерде үш немесе одан да көп гиперағынды пайдаланудан түсетін пайда аз болар еді, бірақ штамп өлшеміндегі, қуат тұтынудағы және шығындардағы жоғалту маңызды.

Тағы бір жағдай бейне үдеткіштерде орындалатын типтік тапсырмаларда байқалады. Сондықтан бұл архитектуралар ағындардың көп санымен SMT технологиясын қолданумен сипатталады. Intel® Xeon Phi сопроцессорлары (2010 жылы енгізілген) идеялық және генеалогиялық тұрғыдан графикалық карталарға өте жақын болғандықтан, оларда болуы мүмкін төртӘрбір ядродағы гипертрейдинг - IA-32-ге ғана тән конфигурация.

логикалық процессор

Сипатталған параллелизмнің үш «деңгейінің» (процессорлар, ядролар, гипертрейдерлер) кейбіреулері немесе тіпті барлығы белгілі бір жүйеде болмауы мүмкін. Бұған BIOS параметрлері (көп ядролы және көп ағынды тәуелсіз ажыратылады), микроархитектура (мысалы, HT Intel® Core™ Duo жүйесінде болмаған, бірақ Nehalem шығарылымымен қайтарылды) және жүйе оқиғалары ( көп процессорлы серверлер ақаулар болған жағдайда істен шыққан процессорларды өшіріп, қалғандарында «ұшуды» жалғастыра алады). Бұл параллельдік көпқабатты хайуанаттар бағы амалдық жүйеге және, сайып келгенде, қолданбаларға қалай көрінеді?

Одан әрі, ыңғайлы болу үшін кейбір жүйедегі процессорлардың, ядролардың және ағындардың санын үш есе деп белгілейміз ( x, ж, z), қайда xпроцессорлар саны болып табылады жәрбір процессордағы ядролардың саны және zәрбір ядродағы гиперағындардың саны. Енді мен осы үштікке сілтеме жасаймын топология- математика бөліміне қатысы шамалы қалыптасқан термин. Жұмыс б = xyzаталған нысандардың санын анықтайды логикалық процессорларжүйелер. Ол параллель орындалатын ортақ жады жүйесінде операциялық жүйе қарастыруы керек тәуелсіз қолданба процесі мәтінмәндерінің жалпы санын анықтайды. Мен «мәжбүрлі» деп айтамын, себебі ол әртүрлі логикалық процессорлардағы екі процестің орындалу ретін басқара алмайды. Бұл гиперағындарға да қатысты: олар бір ядрода «дәйектілікпен» жұмыс істейтін болса да, нақты тәртіп аппараттық құралмен белгіленеді және көрінбейді немесе бағдарламалар арқылы бақыланбайды.

Көбінесе операциялық жүйе соңғы қолданбалардан өзі жұмыс істейтін жүйенің физикалық топологиясының мүмкіндіктерін жасырады. Мысалы, келесі үш топология: (2, 1, 1), (1, 2, 1) және (1, 1, 2) - ОЖ екі логикалық процессор ретінде ұсынылатын болады, бірақ олардың біріншісінде екі процессор бар. , екіншісінде екі ядро ​​бар, ал үшіншісі тек екі ағын.


Windows Task Manager 8 логикалық процессорды көрсетеді; бірақ бұл процессорларда, ядроларда және гипер ағындарда қанша тұрады?


Linux жоғарғы жағында 4 логикалық процессор көрсетілген.

Бұл қолданбалы қолданбаларды жасаушылар үшін өте ыңғайлы - олар үшін жиі елеусіз аппараттық мүмкіндіктермен айналысудың қажеті жоқ.

Топологияның бағдарламалық анықтамасы

Әрине, топологияны логикалық процессорлардың жалғыз санына абстракциялау кейбір жағдайларда шатасу мен түсінбеушілік үшін жеткілікті негіз жасайды (қызған Интернет дауларында). Аппараттық құралдардан ең жоғары өнімділікті алғысы келетін есептеуіш қолданбалары олардың ағындарының қай жерде орналасатынын нақты бақылауды қажет етеді: көршілес гиперағындарда бір-біріне жақынырақ немесе керісінше, әртүрлі процессорларда одан әрі алыс. Бір ядродағы немесе процессордағы логикалық процессорлар арасындағы байланыс жылдамдығы процессорлар арасындағы мәліметтерді тасымалдау жылдамдығынан әлдеқайда жылдам. ЖЖҚ ұйымдастырудағы гетерогенділік мүмкіндігі де суретті қиындатады.

Жалпы жүйенің топологиясы, сондай-ақ IA-32-дегі әрбір логикалық процессордың орны туралы ақпарат CPUID нұсқауы арқылы қол жетімді. Алғашқы мультипроцессорлық жүйелер пайда болғаннан бері логикалық процессорды анықтау схемасы бірнеше рет кеңейтілді. Бүгінгі күні оның бөліктері CPUID 1, 4 және 11 парақтарында қамтылған. Парақтардың қайсысын қарау керектігін мақаладан алынған келесі блок-схемадан анықтауға болады:

Мен мұнда осы алгоритмнің жеке бөліктерінің барлық мәліметтерімен жалықпаймын. Егер қызығушылық болса, онда осы мақаланың келесі бөлімін осыған арнауға болады. Мен бұл мәселе мүмкіндігінше егжей-тегжейлі талданған қызығушылық танытқан оқырманға сілтеме жасаймын. Мұнда мен алдымен APIC деген не екенін және оның топологияға қалай қатысы барын қысқаша сипаттаймын. Содан кейін қосулы 0xB (ондық он бір) парағымен жұмыс істеуді қарастырыңыз қазіргі уақытта«апико-билдингтегі» соңғы сөз.

APIC идентификаторы
Жергілікті APIC (кеңейтілген бағдарламаланатын үзіліс контроллері) - бұл нақты логикалық процессорға келетін үзулермен жұмыс істеуге жауап беретін құрылғы (қазір процессордың бөлігі). Әрбір логикалық процессордың өз APIC бар. Және олардың әрқайсысы жүйеде болуы керек бірегей құндылық APICID. Бұл нөмірді хабарламаларды жеткізу кезінде адрестеу үшін үзу контроллері және логикалық процессорларды анықтау үшін барлық басқа адамдар (мысалы, операциялық жүйе) пайдаланады. Бұл үзу контроллеріне арналған спецификация Intel 8259 PIC-тен Dual PIC, APIC және xAPIC арқылы x2APIC-ке дейін дамыды.

Қазіргі уақытта APIC идентификаторында сақталған санның ені толық 32 битке жетті, дегенмен бұрын ол 16, ал одан бұрын небәрі 8 битпен шектелген. Бүгінгі күні ескі күндердің қалдықтары бүкіл CPUID бойынша шашыраңқы, бірақ APIC идентификаторының барлық 32 биттері CPUID.0xB.EDX ішінде қайтарылады. CPUID нұсқаулығын дербес орындайтын әрбір логикалық процессор басқа мәнді қайтарады.

Отбасылық байланыстарды нақтылау
APIC идентификаторы мәні топология туралы ештеңе айтпайды. Қандай екі логикалық процессор бір физикалық процессордың ішінде (яғни, олар гипертрейдерлердің «ағалары»), қайсысы бір процессордың ішінде және қайсысы мүлдем басқа процессорлар екенін білу үшін олардың APIC ID мәндерін салыстыру қажет. Қарым-қатынас дәрежесіне қарай олардың кейбір биттері сәйкес келеді. Бұл ақпарат ECX ішінде операндпен кодталған CPUID.0xB ішкі тізімдерінде қамтылған. Олардың әрқайсысы EAX топология деңгейлерінің бірінің разрядтық өрісінің орнын сипаттайды (дәлірек айтқанда, топологияның төменгі деңгейлерін жою үшін APIC идентификаторында оңға жылжыту қажет биттердің саны), сондай-ақ ECX-де осы деңгейдің түрі ретінде - гипертрейд, ядро ​​немесе процессор.

Бір ядродағы логикалық процессорлар SMT өрісіндегілерден басқа барлық APIC ID биттеріне сәйкес келеді. Бір процессорда орналасқан логикалық процессорлар үшін Core және SMT өрістерінен басқа барлық биттер. CPUID.0xB үшін ішкі парақтардың саны өсуі мүмкін болғандықтан, бұл схемаболашақта қажеттілік туындаса, топологияларды көбірек деңгейлермен сипаттауға қолдау көрсетуге мүмкіндік береді. Оның үстіне бұрыннан барлар арасында аралық деңгейлерді енгізуге болады.

Бұл схеманы ұйымдастырудың маңызды салдары жүйенің барлық логикалық процессорларының барлық APIC идентификаторларының жиынтығында «саңылаулар» болуы мүмкін, яғни. олар кезекпен жүрмейді. Мысалы, в көп ядролы процессор HT өшірілгенде, барлық APIC идентификаторлары жұп болып шығуы мүмкін, өйткені гиперағын нөмірін кодтауға жауапты ең аз маңызды бит әрқашан нөлге тең болады.

CPUID.0xB операциялық жүйеге қолжетімді логикалық процессорлар туралы ақпараттың жалғыз көзі емес екенін ескеріңіз. Оған қолжетімді барлық процессорлардың тізімі олардың APIC идентификаторының мәндерімен бірге MADT ACPI кестесінде кодталған.

Операциялық жүйелер және топология

ОЖлогикалық процессорлардың топологиясы туралы мәліметтерді өз интерфейстерін пайдаланып қолданбаларға беру.

Linux жүйесінде топология туралы ақпарат /proc/cpuinfo псевдофайлында, сондай-ақ dmidecode пәрменінің шығысында қамтылған. Төмендегі мысалда мен топологияға қатысты жазбаларды ғана қалдырып, HT жоқ төрт ядролы жүйеде cpuinfo мазмұнын сүзіп жатырмын:

Жасырын мәтін

[электрондық пошта қорғалған]:~$ cat /proc/cpuinfo |grep "процессор\|физикалық\ идентификатор\|бауырлар\|ядро\|ядролар\|apicid" процессоры: 0 физикалық идентификатор: 0 ағайындылар: 4 ядро ​​идентификаторы: 0 процессор өзегі: 2 апицид: 0 бастапқы апицид: 0 процессор: 1 физикалық идентификатор: 0 бауырластар: 4 ядро ​​идентификаторы: 0 процессор өзегі: 2 апицид: 1 бастапқы апицид: 1 процессор: 2 физикалық идентификатор: 0 ағайынды: 4 ядро ​​идентификаторы: 1 процессор өзегі: 2 апицид: 2 бастапқы апицид: 2 процессор: 3 физикалық идентификатор: 0 бауырластар: 4 ядро ​​идентификаторы: 1 процессор өзегі: 2 апицид: 3 бастапқы апицид: 3

FreeBSD жүйесінде топология XML ретінде kern.sched.topology_spec айнымалысындағы sysctl механизмі арқылы хабарланады:

Жасырын мәтін

[электрондық пошта қорғалған]:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 THREAD тобыSMT тобы 2, 3 THREAD тобыSMT тобы 4, 5 THREAD тобыSMT тобы 6, 7 THREAD тобыSMT тобы

MS Windows 8 жүйесінде топология туралы ақпаратты Тапсырмалар реттеушісінен көруге болады.

Көп ағындылық теориясын қарастыра отырып, практикалық мысалды қарастырайық - Pentium 4. Осы процессорды әзірлеу кезеңінде Intel инженерлері бағдарлама интерфейсіне өзгерістер енгізбестен оның өнімділігін арттыру бойынша жұмысты жалғастырды. Бес қарапайым әдіс қарастырылды:

Сағат жиілігін арттыру;

Бір чипке екі процессорды орналастыру;

Жаңа функционалды блоктарды енгізу;

Конвейерді ұзарту;

Көп ағынды пайдалану.

Өнімділікті жақсартудың ең айқын жолы - басқа параметрлерді өзгертпестен сағат жылдамдығын арттыру. Әдетте, әрбір келесі процессор үлгісі алдыңғыға қарағанда біршама жоғары тактілік жиілікке ие. Өкінішке орай, сағат жылдамдығының түзу сызықты ұлғаюымен әзірлеушілер екі мәселеге тап болады: қуатты тұтынудың жоғарылауы (бұл ноутбуктер мен басқа батареямен жұмыс істейтін есептеуіш құрылғыларға қатысты) және қызып кету (тиімді жылу қабылдағыштарды қажет етеді).

Екінші әдіс - екі процессорды чипке орналастыру - салыстырмалы түрде қарапайым, бірақ ол чип алып жатқан аумақты екі есе ұлғайтуды қамтиды. Егер әрбір процессор өзінің кэш жадымен қамтамасыз етілсе, бір вафлиге арналған чиптер саны екі есе азаяды, бірақ бұл сонымен қатар өндіріс құнының екі есе азаюын білдіреді. Егер екі процессордың да ортақ кэш жады болса, басып алынған аумақтың айтарлықтай ұлғаюын болдырмауға болады, бірақ бұл жағдайда басқа мәселе туындайды - бір процессорға арналған кэш жадының көлемі екі есе азаяды және бұл сөзсіз өнімділікке әсер етеді. Сонымен қатар, егер кәсіби серверлік қолданбаларбірнеше процессорлардың ресурстарын толығымен пайдалана алады, содан кейін қарапайым жұмыс үстелі бағдарламаларында ішкі параллелизм әлдеқайда аз дәрежеде дамыған.

Жаңа функционалды блоктарды енгізу де қиын емес, бірақ бұл жерде тепе-теңдікті сақтау маңызды. Егер чип барлық блоктарды жүктей алатын жылдамдықпен құбырға пәрмендер бере алмаса, ондаған ALU мәні неде?

Тапсырмаларды кішірек сегменттерге бөлуге және оларды қысқа мерзімде өңдеуге қабілетті кезеңдердің саны ұлғайған құбыр, бір жағынан, өнімділікті жақсартады, екінші жағынан, ауысуларды қате болжаудың, кэшті өткізіп алудың жағымсыз салдарын арттырады, процессордағы қалыпты курс нұсқауларын өңдеуді бұзатын үзілістер және басқа оқиғалар. Сонымен қатар, ұзартылған құбырдың мүмкіндіктерін толық іске асыру үшін тактілік жиілікті арттыру қажет және бұл, біз білетіндей, электр энергиясын тұтынуды және жылуды бөлуді арттыруға әкеледі.

Соңында, көп ағынды енгізуге болады. Бұл технологияның артықшылығы, ол басқа жағдайда жұмыс істемейтін аппараттық ресурстарды пайдалануға мүмкіндік беретін қосымша бағдарламалық құрал ағынын енгізуінде. Эксперименттік зерттеулердің нәтижелеріне сүйене отырып, Intel әзірлеушілері көптеген қосымшалар үшін көп ағынды енгізу кезінде чип аймағының 5%-ға ұлғаюы өнімділіктің 25%-ға артатынын анықтады. Бірінші Intel процессорыкөп ағынды қолдауымен Xeon 2002 болды. Кейіннен, 3,06 ГГц жиіліктен бастап, Pentium 4 желісіне көп ағындылық енгізілді.Intel Pentium 4 гиперағынында көп ағынды енгізуді атайды.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!