Professional Documents
Culture Documents
03 - Centralna Procesorska Jedinica - RIP
03 - Centralna Procesorska Jedinica - RIP
Београд
Рачунари и периферије
1
Садржај
Увод ...................................................................................................................................................... 3
Основне компоненте процесора ....................................................................................................... 3
Спољашња магистрала ....................................................................................................................... 4
Такт ....................................................................................................................................................... 5
Множачи такта ..................................................................................................................... 6
Стања процесора................................................................................................................................. 6
Убрзања процесора .............................................................................................................. 7
Проточни модел - pipeline.......................................................................................................... 7
Паралелно извршавање више нити ( Hyper-Threading)............................................................ 8
CISC и RISC архитектура ............................................................................................................... 9
64-битска обрада................................................................................................................................. 9
Означавање: x86 према x64 ................................................................................................. 9
Подножја процесора......................................................................................................................... 10
Хлађење процесора .......................................................................................................................... 11
Вишејезгарни процесори ................................................................................................................. 12
Интегрисани меморијски контролер.................................................................................. 13
Интегрисани графички процесор ....................................................................................... 13
2
Увод
Централна процесорска јединица, central processing unit (CPU), микропроцесор или
једноставно процесор, различита су имена за компонету рачунара која је
најодговорнија за све што рачунар обавља. Иако у рачунару може да буде више
процесора, на пример, на графичкој картици (graphics processing unit - GPU) или на
сложенијој звучној картици, под именом процесор, уколико се другачје не нагласи,
подразумева се централна процесорска јединица.
Процесор је сложена компонента која се састоји од више стотина милиона транзистора
који су интегрисани у један чип. Мада функције процесора могу да изгледају
импресивно, чињеница је да он може да обавља тек неколико операција: сабирање,
одузимање, множење, дељење и прихват односно слање података. Истина, тачност и
брзина су његове доминантне особине.
3
• Скуп регистара. Регистри представљају релативно малу, али изузетну брзу
меморију која се налази унутар процесора и служи за привремено чување
инструкција, података који су предмет обраде, међурезултата, ... У
меморијској хиерархији, по питању брзине, заузимају прво место. Користе се
као бројачи, као показивачи стека, индекс регистри и сл. У зависности од типа,
процесор може да садржи већи број регистара, различите намене и величине
(броја бита које могу да садрже), али сви процесори садрже четири регистра
опште намене (general purpose registers) које је Интел именовао као: AХ, BX,
CХ и DX.Величина регистара битно утиче на карактеристике процесора. Број
бита које процесор у једном тренутку може да обради се назива величина
регистра (register size или word size). Када се каже да је процесор 64битски то
значи да његови регистри имају величину од 64 бита.
• Микрокод је блок у коме се налази скуп инструкција на хардверском нивоу
које контролишу и одређују рад самог процесора.
Спољашња магистрала
Функција рачунара је да преноси податке између меморије, улазно-излазних
компоненти и процесора, као и да их обрађује у самом процесору. Подаци се кроз
рачунар преносе као дигитални сигнали преко проводника – магистрала. Магистрала
је скуп груписаних електричних путања преко којих се истовремено преносе дигитални
електрични сигнали. Вредност сигнала на појединачном воду, у једном тренутку, може
се посматрати као један бит информације. Ширина магистрале (број спојних линија)
одређује колико бита може истовремено да се преноси. Према подацима који се
преносе магистралом, водови спољашње магистрале могу да се групишу у три целине
(Слика 3.2):
1. Спољашња магистрала података (External Data Bus - EDB)
2. Адреснa магистралa (Address Bus)
4
3. Управљачка или контролна магистрала (Control Bus)
Управљачка или контролна магистрала (Control Bus) је скуп водова преко којих се
преносе сви сигнали битни за процес управљања преносом података, синхронизацију
рада појединих компонената, и уопште рад целог система. Сигнали који чине
контролну магистралу су сигнал такта (CLK), сигнал који одређује смер преноса
READ/WRITE (r/w), захтев да процесор привремено прекине извршавање тренутне
инструкције и изврши другу захтевану обраду (IRQ), захтев за ресетовање компоненти
рачунара (RESET) и други.
Такт
Брзина такта је брзина којом процесор извршава инструкције. Са порастом брзине
такта повећава се број инструкција које процесор може да изврши у јединици времена.
5
На матичној плочи се генерише сигнал такта (clock signal, CLK) који дефинише брзину
извршавања инструкција и синхронише рад већине компонената рачунара.
Брзина такта је одређена фреквенцијом сигнала генерисаног кварцним осцилатором
који се налази на матичној плочи (Слика 3.3).
Тако добијени сигнал се води на чип за уобличавање сигнала такта (clock chip), који му
множењем основне фреквенције повећава фреквенцију такта на жељену вредност.
Овај чип је адаптиван по питању избора вредности којом се множи основна
фреквенција такта, тако да се на исту матичну плочу могу поставити процесори који
подржавају различите брзине такта. Сигнал такта се генерише све време док постоји
напајање рачунара и доводи се на CLK пин процесора. Ако је сигнал такта спорији од
максималне дефинсане вредности за одређени процесор, процесор ће радити без
икаквих проблема, али нешто спорије. Ако се брзина такта повећа изнад декларисане
вредности, то може да доведе до превеликог загревања процесора и прекида рада.
Множачи такта
Савремени рачунари раде на такту чија брзина је одређена умношком брзине основног
такта. Системска магистрала може да ради, на пример, на такту од 200 MHz. Да би
добио вредност фреквенције од 2.4 GHz, множач ову вредност треба да повећа и 12
пута. Процесори првих персоналних рачунара су радили на истом такту као и
спољашња магистрала. Убрзо се увидело да би се повећањем такта на ком ради
процесор могао убрзати цео рачунарски систем.
Брзина такта и избор вредности множача се код старијих типова матичних плоча
подешавао ручно, преко краткоспојника или прекидача (DIP switches). Савремени
процесори имају аутоматизовану комуникацију са чипсетом позивом функције CPUID
(CPU identifier) преко које се аутоматски постављају брзина такта и вредност множача.
Могућност ручног подешавања и даље постоји.
Стања процесора
Рад процесора се може описати преко четири стања, која се стално понављају:
6
1. Прихват инструкције (Fetch) са спољашње магистрале података
2. Декодовање инструкције (Decode) – Тумачење задате инструкције
3. Извршавање (Execute) инструкције (рачунање, ...)
4. Слање (Write/Store) података или резултата на спољашњу магистралу података
или у интерне регистре.
Сви ови кораци се обављају унутар процесора и непрекидно се понављају. Ранија
решења су била таква да је било неопходно да се заврши један корак да би почео да
се извршава следећи, захтевајући најмање четири циклуса такта да се изврши једна
команда. То значи да су ресурси за три од четири корака били неискоришћени.
Савремена решења су превазишла овај проблем.
Убрзања процесора
Овде је описан поступак обраде који се одвија у 4 корака, јер је то најмањи број корака
који је потребан за извршавање једне инструкције. Савремени процесори могу да
захтевају и много више корака, у неким случајевима и до 20 за извршавање сложених
инструкција. Проточни модел је сигурно добро, али не и савршено решење. У
случајевима када је за извршење једног корака потребно више од једног циклуса такта,
проточни модел се нарушава. Посебно је критичан корак декодовања сложених
инструкција које могу да захтевају више времена за извршавање.
Поред тога, да би проточни модел био ефикасан, неопходно је да нове инструкције и
подаци правовремено стигну до процесора. Како процесор ради на далеко бржем
7
такту од RAM меморије, извесно је да ће процесор у неким моментима бити приморан
да чека на податке без обзира што није заузет другим активностима. Та стања се
називају стања чекања (wait states). Проблем је, барем делимично, могуће решити
увођењем кеш меморије (видети лекцију 2). Кеш меморија, применом посебних
алгоритама, се унапред пуни подацима из RAM меморије за које се претпоставља да
ће бити предмет даље обраде. Најбржа, али и кеш меморија најмањег капацитета носи
ознаку L1 (level 1), и интегрисана је у сам процесор. Процесор се првој њој обраћа када
су му потребни подаци или инструкције. Следећи ниво кеш меморије се некада
налазио на матичној плочи, а у савременим решењима је интегрисан у чип у ком се
налази и процесор, и носи ознаку L2 (level 2). Већег је капацитета од L1 кеш меморије,
али мање брзине приступа. Интеграција L2 кеша у чип процесора имала је за последицу
увођења нове терминологије за опис магистрала. Адресна магистрала и магистрала
података која повезује процесор, меморијски контролер и RAM се једним именом
назива frontside bus док се спојни путеви који повезују процесор и L2 кеш називају
backside bus (Слика 3.7). Неки процесори имају и трећи ниво кеш меморије L3 (level 3),
који је највећег капацитета, али најмање брзине приступа.
8
CISC и RISC архитектура
Својства процесора су одређена количином рада који он може да изврши у јединици времена.
Побољшање је могуће постићи дизајнирањем сложене инструкције која ће се обавити за мање
времена или омогућити да се у постојећем времену обави више једноставних инструкција.
Ова два приступа су довела до постојања два инструкциона сета:
• CISC - Complex Instruction Set Computer. Процесор користи велики број сложених
инструкција како би повећао количину рада у оквиру једне инструкције.
• RISC - Reduced Instruction Set Computer. Процесор користи мањи број једноставнијих
инструкција, мањи обим посла у оквиру инструкције, али је могуће њихово брже
извршавање.
Промена инструкциског сета може да води ка некомпатибилности.
Генерације x86 процесора су користиле CISC инструкциони сет. Показало се да би прелазак на
RISC инструкциони сет омогућио повећање ефикасности процесора, али промена
инструкционог сета нарушава основни захтев за компатибилношћу уназад. Нађено је
компромисно решење. Савремени процесори користе комбинацију CISC и RISC сета.
64-битска обрада
Унапређењем физичких карактеристика процесора омогућено је да се повећа брзина
такта на којој ради процесор и да она буде већа од брзине такта на којој раде остале
компоненте. Кроз многе генерације процесора брзина његовог такта је све више расла.
Ширина магистрале податакасе повећавала са 16 преко 32 до 64 линије. Технолошке
могућности су такође напредовале, повећаван је број регистара процесора и величина
регистра опште намене је такође достигла вредност 64. Савремени процесори
подржавају 64-битску обраду, што значи да могу да подрже 64-битске оперативне
системе као што је Windows 7 или Windows 8 и да извршавају 64-битске програме. Због
компатибилности уназад они такође могу да подрже и 32-битску обраду, односно
32битске оперативне системе као што је Windows XP и да извршавају 32-битске
програме.
Основна предност преласка на 64-битско рачунање је да модерни системи могу да
адресирају много више меморије од 4 GB, што је било ограничење код 32-битских
система. Са 64-битском адресном магистралом процесор може да адресира 264 В RAM
меморије, што је 224 ТВ. Тиме је омогућен рад са веома великим фајловима као што су
видео фајлови велике резолуције.
Подножја процесора
Сам процесор је веома малих димезија и крт. Лако се може оштетити, а поред тога због
малих димензија није лако решити проблем конекције на матичну плочу преко великог
броја пинова. Због тога се сви процесори пакују у заштитну облогу која га чува од
физичких оштећења, при томе има добру топлотну водљивост што поспешује процес
хлађења и преко ње се интегришу пинови за конекцију са матичном плочом. Величина,
облик и распоред пинова на паковању (чипу) су стандардизовани, па произвођачи
матичних плоча не морају да воде рачуна о интерној структури процесора већ само да
обезбеде одговарајуће конекторе (socket) за конекцију процесора на матичну плочу.
Данас постоје два доминантна стандарда за подножја, то су: LGA (land grid array) и PGA
(pin grid array). LGA (Слика 3.8) представља подножје са иглицама (пиновима) на
површини на коју належе сам процесор. Са друге стране PGA подножје (Слика 3.9) има
површину са отворима у које улазе пинови процесора. У почетку су PGA подножја била
заступљена код оба произвођача, међутим од 2004. године и појаве LGA 775 типа
подножја, Интел прелази на LGA стандард ког се и данас придржава на подножјима
последње генерације ознаке Socket H3 (LGA 1150). Док је код АМД последњих година
заступљен PGA тип (Socket АМ3 и Socket АМ3+).
Подножја LGA и PGA типа међусобно нису компатибилна, а поред тога постоје
различита подножја у оквиру истог типа.
10
Хлађење процесора
Током развоја процесора, његове функције су постајале све сложеније, а то је
постигнуто пре свега интеграцијом већег броја транзистора. Сваки транзистор захтева
напајање и део своје снаге троши на топлотну дисипацију. Са повећањем броја
транзистора расло је укупно загревање процесора, до те мере да је доведено у питање
његово правилно функционисање. Савремени процесори захтевају пасивно и активно
хлађење, да би се створили услови за њихов правилан рад.
Код пасивног хлађења нема покретних делова. Реализује се помоћу металног блока
(хладњака) велике површине израђеног од алуминијума или бакра због њихове добре
топлотне проводљивости (видети Слику 3.10). Велика површина металног блока на
малом простору се постиже ребрастим дизајном, сличном оном који се користи код
радијатора за грејање. Принцип хлађења је заснован на размени топлоте са околином
која директно зависи од додирне површине хладњака и околног простора. Што је већа
површина блока, већа је размена топлоте. Постављање хладњака није
стандардизовано, неки процесори имају залепљен хладнак на себи док други захтевају
посебна лежишта за причвршћивање хладњака.
Пожељено је наношење посебне пасте (heat sink compound) на додирну површину
процесора и хладњака ради боље проводности топлоте. Наиме, без обзира на
прецизну технологију израде хладњака, додирна површина није идеално равна и ту
може да се задржи ваздух који није добар проводник топлоте. Паста попуњава
неравнине и обзиром на добру особину проводности побољшава размену топлоте.
11
На Слици 3.11 је приказано једно решење хлађена са пасивним елементом
(хладњаком) и активним елементом (вентилатором).
Вишејезгарни процесори
Развојем рачунара повећава се фреквенција рада процесора, и на тај начин је
омогућено да се изврши већи број операција у једном радном такту. Произвођачи су
током времена формирали и очекивања тржишта за сталним побољшањем
перформанси процесора уз стагнацију цена. Међутим, произвођаћи су једног момента
дошли у ситуацију да са постојећом технологијом нису могли да испуне очекивања
тржишта. Основни проблем је произишао из карактеристика материјала од којег се
израђује процесор. База за израду процесора је силицијум, на чијој се површини
интегришу транзистори који су задужени за извршавање свих операција. Силицијум је
метал са одређеним ограничењима од којих је за рачунарску индустрију наважније
температурно ограничење, које онемогућава да процесори раде на температурама
вишим од 100°С. Међутим повећање радног такта доводи до повећане потрошње у
јединици времена и самим тим и до повећања загревања које је дошло до критичне
границе (од 4 GHz око 2002. године) а при томе савремени системи за хлађење нису
12
могли да реше овај проблем. Прво решење се заснивало на системима који су имали
више (независних) процесора на матичној плочи, који су паралелно обављали
различите задатке. Друго решење је да се направи један процесор са два или више
језгара (core) као би се убрзао комуникацијски пут између језгара процесора.
Двојезгарни (dual core) процесор, на пример, има две извршне јединице које деле исту
кеш меморију и RAM. Савремена решења могу бити и више језгарна са четири, шест,
осам или више језгара. Различити типови вишејезгарних процесора могу имати
различита решења у подели ресурса и кеш меморије.
Вишејезгарни процесори имају могућност истовременог обављања више инструкција
што значи да су бржи од класичних процесора чак и када раде на истом такту. На тај
начин повећање ефикасности није засновано на повећању брзине такта, а самим тим
постигнуто је мања потрошња енергије, па и мање загревање.
Интел Core i7 је четворо-језгарни процесор који има три нивоа кеш меморије: L1 од 64
KB, L2 од 256 KB и L3 од 8 MB. L1 кеш меморија је подељена на два дела по 32 KB: L1 D
за податке и L1 I за инструкције. Свако језгро има сопствени L1 и L2 кеш, док је L3 кеш
заједнички за сва четири језгра. Ова заједничка меморија омогућава међусобну
интерну комуникацију језгара, без потребе да се у том случају обраћају далеко споријoj
RAM меморији. Вишејезгарни процесори су тако дизајнирани да могу да сами поделе
сложени процес на нити, независно од оперативног система и овај поступак се назива
више-језгарна обрада (multicore processing). Више-језгарна обрада се разликује од
паралелизма под називом Hyper-Threading, јер је за његову примену неопходна акција
оперативног система.
Без обзира на основну концепцију више-језгарне обраде, за најбоље резултате, ипак,
је пожељно да програми који су предмет обраде буду оптимизовани за рад на
вишејезгарним процесорима.
13
процесор побољшава опште карактеристике рачунара, а у исто време смањује
потрошњу и цену.
Оба главна произвођача процесора су прихватила ову идеју, али ни овде не постоји
стандардизовани приступ. Интелов HD Graphics је интегрисан у многим Core i3/i5/i7
процесорима и у овом случају језгро GPU дели L2 и/или L3 кеш меморију са осталим
језгрима главног процесора. Интегрисана GPU, произвођача АМД (Аccelerated
Рrocessing Unit - APU), дели све нивое кеш меморије са другим језгрима централног
процесора. Код захтевнијих конфигурација, GPU може да буде потпуно самостална, на
додатној картици, и у неким случајевима њена процесна снага може чак и да
превазилази снагу главног процесора.
14