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

Қазіргі микропроцессорлардың өзектері мен ағындары. Қосымша А

Көп ағындылық теориясын қарастыра отырып, практикалық мысалды қарастырайық - Pentium 4. Осы процессорды әзірлеу кезеңінде Intel инженерлері бағдарлама интерфейсіне өзгерістер енгізбестен оның өнімділігін арттыру бойынша жұмысты жалғастырды. Бес қарапайым әдіс қарастырылды:
1. Сағат жиілігін арттыру.
2. Бір микросхемада екі процессорды орналастыру.
3. Жаңа функционалды блоктарды енгізу.
1. Конвейерді ұзарту.
2. Көп ағынды пайдалану.
Өнімділікті жақсартудың ең айқын жолы - басқа параметрлерді өзгертпестен сағат жылдамдығын арттыру. Әдетте, әрбір келесі процессор үлгісі алдыңғыға қарағанда біршама жоғары тактілік жиілікке ие. Өкінішке орай, сағат жылдамдығының түзу сызықты ұлғаюымен әзірлеушілер екі мәселеге тап болады: қуат тұтынудың артуы (бұл ноутбуктер мен басқаларға қатысты. есептеуіш құрылғыларбатареялармен жұмыс істеу) және қызып кету (бұл тиімдірек жылу қабылдағыштарды жасауды талап етеді).
Екінші әдіс - екі процессорды чипке орналастыру - салыстырмалы түрде қарапайым, бірақ ол чип алып жатқан аумақты екі есеге арттыруды қамтиды. Егер әрбір процессор өзінің кэш жадымен қамтамасыз етілсе, бір вафлиге арналған чиптер саны екі есе азаяды, бірақ бұл сонымен қатар өндіріс құнының екі есе азаюын білдіреді. Егер екі процессордың да ортақ кэш жады болса, басып алынған аумақтың айтарлықтай ұлғаюын болдырмауға болады, бірақ бұл жағдайда басқа мәселе туындайды - бір процессорға арналған кэш жадының көлемі екі есе азаяды және бұл сөзсіз өнімділікке әсер етеді. Сонымен қатар, кәсіби серверлік қосымшалар бірнеше процессорлардың ресурстарын толығымен пайдалануға қабілетті болғанымен, қарапайым жұмыс үстелі бағдарламаларының ішкі параллелизмі әлдеқайда аз.
Жаңа функционалды блоктарды енгізу де қиын емес, бірақ бұл жерде тепе-теңдікті сақтау маңызды. Егер чип барлық блоктарды жүктей алатын жылдамдықпен құбырға командалар бере алмаса, ондаған ALU мәні неде?
Тапсырмаларды кішірек сегменттерге бөлуге және оларды қысқа мерзімде өңдеуге қабілетті кезеңдердің саны ұлғайған құбыр, бір жағынан, өнімділікті жақсартады, екінші жағынан, ауысуларды қате болжаудың, кэшті өткізіп алудың жағымсыз салдарын арттырады, процессордағы қалыпты курс нұсқауларын өңдеуді бұзатын үзілістер және басқа оқиғалар. Сонымен қатар, ұзартылған құбырдың мүмкіндіктерін толық іске асыру үшін тактілік жиілікті арттыру қажет және бұл, біз білетіндей, электр энергиясын тұтынуды және жылуды бөлуді арттыруға әкеледі.
Соңында, көп ағынды енгізуге болады. Бұл технологияның артықшылығы - бұл аппараттық ресурстарды іске қосуға мүмкіндік беретін қосымша бағдарламалық қамтамасыз ету ағынын енгізу. әйтпесеорнында тұрар еді. Эксперименттік зерттеулердің нәтижелеріне сүйене отырып, Intel әзірлеушілері көптеген қосымшалар үшін көп ағынды енгізу кезінде чип аймағының 5%-ға ұлғаюы өнімділіктің 25%-ға артатынын анықтады. Алғашқы көп ағынды Intel процессоры 2002 жылғы Xeon болды. Кейіннен 3,06 ГГц жиіліктен бастап, Pentium 4 желісіне көп ағындылық енгізілді.Intel Pentium 4 гиперағында көп ағынды енгізуді атайды.
Гипертрейдингтің негізгі принципі – екі бағдарлама ағынының бір уақытта орындалуы (немесе процестер – процессор процестер мен бағдарлама ағындарын ажыратпайды). Операциялық жүйе Pentium 4 гипер-ағынды процессорын ортақ кэш пен негізгі жады бар екі процессорлы кешен ретінде қарастырады. Жоспарлау операциялық жүйеәрбір бағдарлама ағыны үшін бөлек орындалады. Осылайша, екі қолданба бір уақытта жұмыс істей алады. Мысалы, пошта бағдарламасы хабарламаларды жібере немесе қабылдай алады фонпайдаланушы интерактивті қосымшамен әрекеттесу кезінде - яғни демон және пайдаланушы бағдарламасыжүйеге екі процессор қол жетімді сияқты бір уақытта орындалады.
Бірнеше ағындарда орындауға қабілетті қолданбалы бағдарламалар «виртуалды процессорларды» да пайдалана алады. Мысалы, бейне өңдеу бағдарламалары әдетте пайдаланушыларға барлық кадрларға сүзгілерді қолдануға мүмкіндік береді. Мұндай сүзгілер кадрлардың жарықтығын, контрастын, түс балансын және басқа да қасиеттерін түзетеді. Мұндай жағдайда бағдарлама бір виртуалды процессорды жұп кадрларды өңдеуге, ал екіншісін тақ кадрларды өңдеуге тағайындай алады. Бұл жағдайда екі процессор бір-бірінен толығымен тәуелсіз жұмыс істейді.
Бағдарламалық құрал ағындары бірдей аппараттық ресурстарға қол жеткізетіндіктен, бұл ағындарды үйлестіру қажет. Гипертрейдинг контекстінде Intel әзірлеушілері ресурстарды ортақ пайдалануды басқарудың төрт пайдалы стратегиясын анықтады: ресурстарды қайталау және қатты, шекті және толық ресурстарды ортақ пайдалану. Осы стратегияларды қарастырайық.
Ресурстарды қайталаудан бастайық. Өздеріңіз білетіндей, бағдарлама ағындарын ұйымдастыру үшін кейбір ресурстар қайталанады. Мысалы, әрбір бағдарлама ағыны жеке басқаруды қажет ететіндіктен, екінші бағдарлама есептегіші қажет. Сонымен қатар, сәулет регистрлерін (EAX, EBX және т.б.) физикалық регистрлерге бейнелеуге арналған екінші кестені енгізу қажет; сол сияқты, үзу контроллері қайталанады, өйткені әрбір ағын үшін үзілістерді өңдеу жеке орындалады.
Одан кейін бағдарлама ағындары арасында ресурстарды қатты бөлу (бөлімделген ресурстарды ортақ пайдалану) әдісі қолданылады. Мысалы, егер процессорда құбырдың екі функционалдық сатысы арасында кезек болса, онда слоттардың жартысы 1-жіпке, екінші жартысы 2-жіпке берілуі мүмкін. Ресурстарды ортақ пайдалану оңай жүзеге асырылады, теңгерімсіздікке әкелмейді және бағдарлама ағындарының бір-бірінен толық тәуелсіздігін қамтамасыз етеді. Барлық ресурстардың толық бөлінуімен бір процессор шын мәнінде екіге айналады. Екінші жағынан, бір бағдарлама ағыны екінші ағынға пайдалы болуы мүмкін ресурстарды пайдаланбайтын, бірақ оның кіру құқықтары жоқ жағдай болуы мүмкін. Нәтижесінде, басқаша пайдаланылуы мүмкін ресурстар бос қалады.
Қатты бөлісудің қарама-қарсысы - толық ресурстарды ортақ пайдалану. Бұл сұлбада қажетті ресурстарға кез келген бағдарлама ағыны арқылы қол жеткізуге болады және оларға қол жеткізу сұраныстарын қабылдау ретімен қызмет көрсетіледі. Негізінен қосу және алу амалдарынан тұратын жылдам ағынның көбейту және бөлу амалдарын жүзеге асыратын баяу ағынмен қатар өмір сүретін жағдайды қарастырайық. Егер жадтан командалар көбейту және бөлу операцияларын орындауға қарағанда тезірек шақырылса, баяу ағынның ішінде шақырылатын және конвейерде кезекте тұрған нұсқаулардың саны біртіндеп артады. Сайып келгенде, бұл пәрмендер кезекті толтырады, нәтижесінде жылдам ағын онда бос орын болмауына байланысты тоқтайды. Толық ресурстарды ортақ пайдалану ортақ ресурстарды оңтайлы емес пайдалану мәселесін шешеді, бірақ олардың тұтынуында теңгерімсіздік тудырады - бір ағын екіншісін баяулатуы немесе тоқтатуы мүмкін.
Аралық схема шекті ресурстарды ортақ пайдалану шеңберінде жүзеге асырылады. Бұл схемаға сәйкес кез келген бағдарлама ағыны ресурстардың белгілі (шектелген) көлемін динамикалық түрде қабылдай алады. Қайталанатын ресурстарға қолданылғанда, бұл тәсіл ресурстарды алу мүмкін еместігіне байланысты бағдарлама ағындарының бірінің жұмыссыз қалу қаупінсіз икемділікті қамтамасыз етеді. Егер, мысалы, ағындардың әрқайсысына пәрмен кезегінің 3/4-тен астамын алуға тыйым салынса, баяу ағынмен ресурстарды тұтынудың жоғарылауы жылдамды орындауға кедергі келтірмейді.
Pentium 4 гипертрейдинг үлгісі ресурстарды ортақ пайдаланудың әртүрлі стратегияларын біріктіреді. Осылайша, әрбір стратегияға байланысты барлық мәселелерді шешуге талпыныс жасалады. Көшіру екі бағдарлама ағыны да үнемі қол жеткізуді қажет ететін ресурстарға қатысты жүзеге асырылады (атап айтқанда, бағдарлама есептегішіне, регистрлерді салыстыру кестесіне және үзу контроллеріне қатысты). Бұл ресурстардың қайталануы микросұлбаның ауданын тек 5% арттырады - бұл көп ағынды өткізу үшін өте қолайлы баға екеніне келісесіз. Бір ағынмен (мысалы, кэш сызықтары) түсіру іс жүзінде мүмкін емес көлемде болатын ресурстар динамикалық түрде бөлінеді. Құбырдың жұмысын бақылайтын ресурстарға қол жеткізу (атап айтқанда, оның көптеген кезектері) бөлінген - әрбір бағдарлама ағынына жарты слоттар беріледі. Pentium 4 жүйесінде енгізілген Netburst архитектурасының негізгі құбыры суретте көрсетілген. 8.7; бұл суреттегі ақ және сұр аймақтар ақ және сұр бағдарлама ағындары арасындағы ресурстарды бөлу механизмін білдіреді.
Көріп отырғаныңыздай, бұл суреттегі барлық кезектер бөлінген - әрбір бағдарлама ағынына жарты слоттар бөлінген. Ешбір ағын екіншісінің жұмысын шектей алмайды. Бөлу және алмастыру блогы да бөлінеді. Жоспарлағыш ресурстары динамикалық түрде ортақ пайдаланылады, бірақ кейбір шекті мәнге негізделген - осылайша, ешқандай ағын кезектің барлық ұяшықтарын ала алмайды. Конвейердің барлық басқа сатылары үшін толық бөлу бар.
Дегенмен, көп ағынды пайдалану оңай емес. Тіпті бұл жетілдірілген техниканың да кемшіліктері бар. Ресурстарды қатты бөлу елеулі шығындармен байланысты емес, бірақ динамикалық бөлу, әсіресе шекті мәндерге қатысты, орындау уақытында ресурстарды тұтынуды бақылауды қажет етеді. Сонымен қатар, кейбір жағдайларда бағдарламалар көп ағынсыз онымен салыстырғанда әлдеқайда жақсы жұмыс істейді. Мысалы, екі бағдарлама ағыны болса делік қалыпты жұмыс істеуіолардың әрқайсысы кэштің 3/4 бөлігін қажет етеді. Егер олар кезекпен орындалса, олардың әрқайсысы кэшті жіберіп алудың аз санымен (олар қосымша үстеме шығындармен байланысты екені белгілі) жақсы жұмыс істейтін еді. Параллель орындалған жағдайда, әрқайсысы үшін кэшті жіберіп алу айтарлықтай көп болады және соңғы нәтиже көп ағынсыз қарағанда нашаррақ болады.
RepPit 4 көп ағынды механизмі туралы қосымша ақпаратты қараңыз.

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

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

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

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

Бейне көру, музыка, интернетте серфинг, жадта жазу және оқу, 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 жиілігі
  • Процессор ядроларының саны
  • Процессор кэшінің өлшемі мен түрі
  • Технологиялар мен нұсқауларды қолдау
  • Сапалы салқындату

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

  • оқу құралы

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

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

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

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

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

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

IN қазіргі әлемпроцессор - бұл біз әдемі бөлшек қорапта немесе өте әдемі емес 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 тапсырмалар менеджері 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 жүйесінде топология туралы ақпаратты Тапсырмалар реттеушісінен көруге болады.

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

Осыдан 6-7 жыл бұрын көп ядролы процессорлар іс жүзінде естімеген еді. Жоқ, сол IBM компаниясының көп ядролы процессорлары бұрын болған, бірақ бірінші екі ядролы процессордың пайда болуы жұмыс үстелі компьютерлері, тек 2005 жылы өтті және шақырылды берілген процессор Pentium D. Сондай-ақ, 2005 жылы AMD екі ядролы Opteron шығарылды, бірақ серверлік жүйелер үшін.

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

Көп ядромен өнімділікті арттыру

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

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


Мысалға алайық антивирустық бағдарлама. Бір жіп біз компьютерді сканерлейміз, екіншісі жаңартылады антивирустық мәліметтер базасы(жалпы ұғымды түсіну үшін біз оны көп жеңілдеттік).

Екі түрлі жағдайда не болатынын қарастырыңыз:

а) Бір ядролы процессор.Екі ағын бір уақытта жұмыс істейтіндіктен, біз пайдаланушы үшін (визуалды) орындаудың дәл осы бір мезгілделігін жасауымыз керек. Операциялық жүйе күрделі:осы екі ағынның орындалу арасында ауысу бар (бұл қосқыштар лездік және уақыт миллисекундта). Яғни, жүйе жаңартуды аздап «орындады», содан кейін кенет сканерлеуге, содан кейін жаңартуға қайта ауысты. Осылайша, сіз бен маған бұл екі тапсырма қатар атқарылып жатқан сияқты. Бірақ не жоғалып жатыр? Әрине, өнімділік. Сонымен, екінші нұсқаны қарастырайық.

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

Көп ядролы процессорлар қажет пе? Күнделікті парасаттылық

Сағат процессорды таңдаукомпьютер үшін (яғни, ядролардың саны туралы ойлағанда) ол орындайтын тапсырмалардың негізгі түрлерін анықтау керек.

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

Бастапқы нүктені екі ядролы процессорлар деп атауға болады, өйткені бір ядролы шешімдерге оралудың мағынасы жоқ. Бірақ екі ядролы процессорлар әртүрлі. Бұл «ең» жаңа Celeron болмауы мүмкін немесе AMD - Sempron немесе Phenom II сияқты Ivy Bridge-дегі Core i3 болуы мүмкін. Әрине, басқа көрсеткіштерге байланысты олардың өнімділігі өте әртүрлі болады, сондықтан сіз бәрін жан-жақты қарап, көп ядроны басқалармен салыстыруыңыз керек. процессордың сипаттамалары.

Мысалы, Ivy Bridge-тегі Core i3 бір уақытта 4 ағынды өңдеуге мүмкіндік беретін Hyper-Treading технологиясына ие (операциялық жүйе 2 физикалық емес, 4 логикалық ядроны көреді). Сол Селерон мұндаймен мақтанбайды.

Бірақ қажетті тапсырмалар туралы ойларға тікелей оралайық. Егер компьютер қажет болса кеңсе жұмысыжәне Интернетті шарлау, содан кейін оған екі ядролы процессор жеткілікті.

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


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

Бір ағынды жүктемені жасайтын көптеген тапсырмалар әлі де бар екенін ұмытпаңыз. Сіз өзіңізге сұрақ қоюыңыз керек: маған бұл 8 ядро ​​керек пе, жоқ па?

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

Қазіргі уақытта көп ядролы процессорлар ешкімді таң қалдырмайды. Керісінше, әркім өз компьютерін мүмкіндігінше көп ядроларға қолдау көрсетуге тырысады, сондықтан тезірек жұмыс істейді және бұл дұрыс.
Процессорларға келетін болсақ, нарықта ұзақ уақыт бойы тек екі өндіруші бар - бұл 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 енгізіңіз) және оны сол жерден көруге болады.

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