Почетна » како да » Како израчунати брзину процесора на процесорима са више језгара?

    Како израчунати брзину процесора на процесорима са више језгара?

    Појава економичних потрошачких вишејезгрених процесора поставља питање за многе кориснике: како учинковито израчунати стварну брзину мулти-цоре система? Да ли је 4-језгрени 3Гхз систем стварно 12ГХз? Читајте даље док истражујемо.

    Данашња сесија питања и одговора долази нам захваљујући СуперУсер-у - подели Стацк Екцханге-а, групне групације К&А веб сајтова у заједници.

    Питање

    СуперУсер читач НРеилингх је био знатижељан како се брзина процесора за мулти-цоре систем заправо израчунава:

    Да ли је исправно рећи, на пример, да је процесор са четири језгре који раде на 3ГХз у ствари процесор који ради на 12ГХз?

    Једном сам ушла у аргумент "Мац вс. ПЦ" (који успут није у фокусу ове теме ... која се вратила у средњу школу) са познаником који је инсистирао да се Мацови рекламирају само као машине од 1ГХз јер су биле двојне Процесор Г4с ради на 500МХз.

    У то време сам знао да је то глупост из разних разлога за које мислим да су очигледни већини људи, али управо сам видео коментар на овом веб сајту са ефектом “6 језгара к 0.2ГХз = 1.2Гхз” и то ме је натерало да поново размислим о томе да ли постоји прави одговор на ово.

    Дакле, ово је више или мање филозофско / дубоко техничко питање о семантици израчунавања брзине такта. Видим две могућности:

    1. Свако језгро у ствари ради к калкулације у секунди, тако да је укупан број калкулација к (језгра).
    2. Брзина такта је бројање броја циклуса кроз које процесор пролази у секунди, тако да све док језгра раде истом брзином, брзина сваког тактног циклуса остаје иста без обзира на то колико језгра постоји. . Другим речима, Хз = (цоре1Хз + цоре2Хз +…) / језгра.

    Дакле, који је прикладан начин да се означи укупна брзина такта и, што је још важније, да ли је чак могуће користити једнојезгрену номенклатуру брзине на вишејезгреним системима?

    Одговор

    Сурадници СуперУсер Мокубаи помаже да се разјасне ствари. Пише:

    Главни разлог зашто четворојезгарни 3ГХз процесор никада није тако брз као 12ГХз једнојезгрени је то како ради задатак који се изводи на том процесору, тј. Једноструки или вишеструки. Амдахл-ов закон је важан када се разматрају врсте задатака које водите.

    Ако имате задатак који је инхерентно линеаран и мора се извршити прецизно корак по корак, као што је (крајње једноставан програм)

    10: а = а + 1
    20: гото 10 

    Тада задатак зависи од резултата претходног пролаза и не може да покрене више копија саме себе без оштећења вредности 'а' као што би свака копија добила вредност 'а' у различито време и другачије писање. Ово ограничава задатак на једну нит и тако задатак може да се покреће само на једном језгру у било ком тренутку, ако би се изводио на више језгара, онда би дошло до оштећења синхронизације. То га ограничава на 1/2 снаге процесора дуалног система, или 1/4 у куад цоре систему.

    Сада преузмите задатак као што је:

    10: а = а + 1
    20: б = б + 1
    30: ц = ц + 1
    40: д = д + 1
    50: гото 10 

    Све ове линије су независне и могу се поделити у 4 одвојена програма као што су први и покренути у исто време, а свако од њих може ефикасно да искористи пуну снагу једне од језгара без проблема са синхронизацијом, ту је Амдахлов закон долази у њу.

    Дакле, ако имате једну навојну апликацију која ради израчуне бруталне силе, један процесор од 12ГХз ће освојити руке, ако некако можете подијелити задатак на одвојене дијелове и вишеструке, онда би се 4 језгре могле приближити, али не и досећи, исти учинак, по Амдахл-овом закону.

    Главна ствар коју вам даје мулти ЦПУ систем је брзина реаговања. На једном језгреном строју који напорно ради систем може изгледати тромо, јер се већи дио времена може користити од стране једног задатка, а други задаци се покрећу само у кратком распону између већег задатка, што резултира системом који се чини тромим или дрским . На мулти-цоре систему тешки задатак добија једну језгру, а сви остали задаци се играју на другим језграма, раде свој посао брзо и ефикасно.

    Аргумент “6 језгара к 0.2ГХз = 1.2Гхз” је смеће у свакој ситуацији, осим када су задаци савршено паралелни и независни. Постоји велики број задатака који су веома паралелни, али још увек захтевају неки облик синхронизације. Хандбраке је видео транцодер који је веома добар у коришћењу свих доступних ЦПУ-а, али захтева основни процес да би остале нити испунио податке и прикупио податке са којима су направљени..

    1. Свако језгро у ствари ради к калкулације у секунди, тако да је укупан број калкулација к (језгра).

    Свако језгро је способно да ради к израчунавања у секунди, под претпоставком да је радно оптерећење одговарајуће паралелно, на линеарном програму све што имате је 1 језгро.

    1. Брзина такта је бројање броја циклуса кроз које процесор пролази у секунди, тако да све док језгра раде истом брзином, брзина сваког тактног циклуса остаје иста без обзира на то колико језгра постоји. . Другим речима, Хз = (цоре1Хз + цоре2Хз +…) / језгра.

    Мислим да је погрешно мислити да 4 к 3ГХз = 12ГХз, ако се ради о математичким радовима, али успоређујете јабуке с наранчама и суме једноставно нису у реду, ГХз се не може једноставно збројити за сваку ситуацију. Ја бих га промијенити на 4 к 3ГХз = 4 к 3ГХз.

    Имате ли нешто да додате објашњењу? Звучи у коментарима. Желите ли прочитати више одговора од других технолошки паметних Стацк Екцханге корисника? Погледајте цео дискусију овде.