Процесор

Из Википедије, слободне енциклопедије
Изглед двојезграрног АМД процесора

Процесоррачунарству) је извршна јединица — прима и извршава инструкције прочитане из одговарајуће меморије. Када се каже само „процесор“ најчешће се мисли на централни процесор (енгл. central processing unit — CPU, централна процесорска јединица), али постоје и процесори специјалних намена као што су процесори сигнала, разни графички процесори, итд. Сам по себи процесор не чини рачунар, али је један од најважнијих делова сваког рачунара.

Историја[уреди]

Први процесори су били механички и практично нису били засебан део рачунара (нпр. какве је пројектовао Чарлс Бебиџ) затим електромеханички (релејни) па на бази електронских вакуумских цеви и били су јако велики. До значајног смањења димензија и повећања перформанси дошло је употребом транзистора (минипроцесори) и, у другој половини 20. века, интегралних кола (микропроцесори).

Организација процесора[уреди]

Централни процесори обично садрже:

  • Управљачку јединицу (енгл. control unit), која управља радом осталих компоненти, конкретно операционе јединице. У раним данима рачунарства се функционалност управљачке јединице махом реализовала хардверски (ожичена реализација), док се данас типично користи микропрограмска реализација, где се рад процесора, укључујући и његов скуп инструкција, имплементира кроз микропрограм.
  • Операциону јединицу (енгл. execution unit), која типично садржи:
    • Аритметичко-логичку јединицу (енгл. ALU - Arithmetic logic unit), која врши аритметичке и логичке операције.
    • Регистре, који служе за привремено складиштење података при извршавању програма (регистри опште намене), као и за чување информација о тренутном стању програма који се извршава (програмски бројач, показивач стека, прихватни регистар инструкције, програмска статусна реч и др.)
  • Подсистем за везивање са меморијом и периферијама

Модернији процесори имају и јединице за рад са бројевима у покретном зарезу, брзу интерну меморију итд. Супер-скаларни процесори имају и по више операционих јединица. што им омогућава да извршавају неколико инструкција истовремено (када оне нису међусобно зависне).

Подела процесора[уреди]

По томе колико инструкција и са колико података раде у једном „кораку“:

Ову поделу је 1972. године предложио Мајкл Џ. Флин, и по њему се она назива „Флинова таксономија“.

  • једну инструкцију са једним податком (тзв. скаларни процесори, енгл. SISD — Single Instruction Single Data). Подваријанта (супер-скаларни) могу да у току извршавања одреде које парове инструкција и података могу да изврше у исто време и то и учине.
  • једну инструкцију извршавају на више података одједном (тзв. векторски процесори, енгл. SIMD — Single Instruction Multiple Data)
  • извршавају више независних инструкција, сваку на својим подацима (енгл. MIMD — Multiple Instruction Multiple Data)
  • извршавају више независних инструкција, сваку на једном, заједничком, податку(енгл. MISD — Multiple Instruction Single Data)

Иако се SIMD некада користио углавном на векторским суперрачунарима попут оних које је 70-их година 20. века популарисао Cray, потреба за обрадом мултимедијалних података је довела до додавања SIMD инструкција у архитектуру процесора опште намене, тренд који је изродио технологије као што су PowerPC-јев AltiVec, Intel-ови MMX, SSE, SSE2, SSE3 и SSE4, AMD-ов 3DNow!, SPARC-ов VIS, Sun-ов MAJC, PA-RISC-ов MAX и MIPS-ови MDMX и MIPS-3D.

Флинова таксономија данас није од значаја као практична подела, јер модерни рачунарски системи често потпадају у неколико (па чак и све четири!) категорије ове таксономије. Илустративан пример би био неки dual Pentium 4 Xeon систем је у основи x86 SISD архитектура са SIMD проширењима (MMX, SSE, SSE2...), ради симетрично мултипроцесирање на два одвојена микропроцесора (MIMD), а сваки од њих садржи језгро са пајплајн архитектуром која се може схватити као MISD (јер сваки корак у пајплајну оперише над истим податком — инструкцијом која се извршава).


По архитектури и скупу инструкција се деле и на:

  • Процесоре са комплексним скупом инструкција, у којима се свака комплексна инструкција интерно преводи у низ микрокод инструкција (енгл. CISC — Complex Instruction Set Computer). Овакав скуп инструкција је обично „угоднији“ за програмирање, али генерално резултује мањом брзином извршавања. Свакако значајан пример CISC архитектуре је Интелова (и АМД-ова) 80x86 фамилија, а овакав дизајн су користили и CDC 6600, System/360, VAX, PDP-11 и Motorola 68000.
  • Процесоре са редукованим скупом инструкција, у којима се инструкције не преводе већ су директно подржане (енгл. Reduced Instruction Set Computer). Овакав скуп инструкција је обично „незгоднији“ за програмирање али генерално резултује већом брзином извршавања. Повећање величине радне меморије, као и развој компајлера су довели до тога да је данас RISC општеприхваћена филозофија у дизајну микропроцесора. Чак и модерни Интелови и АМД-ови процесори, иако програмеру изгледају као CISC машине, интерно разбијају CISC инструкције у низове интерних RISC инструкција (микрооперација) које се затим извршавају на суперскаларном језгру.


Подела на RISC и CISC је општеприхваћена али постоје и неке мање званичне подваријанте и комбинације:

  • Процесоре са јако редукованим скупом инструкција (енгл. ERISC — Extremely Reduced Instruction Set Computer).
  • Процесоре са „проширеним“ редукованим скупом инструкција, у којима се већина инструкција не преводи већ су директно подржане али садрже и комплексне инструкције (енгл. ERISC — Extended Reduced Instruction Set Computer). Овакав скуп инструкција је и угодан за програмирање и резултује већом брзином извршавања али сам процесор постаје значајно комплекснији. Напомена: ова категоризација није потпуно званична. Једно време су побољшане верзије CISC процесора биле приближене RISC архитектури и биле класификоване као „ERISC“.

Остале поделе

  • по ширини адресне магистрале, магистрале података, итд. (рецимо, 4004 је 4-битни процесор, Z80 8-битни, MC68000 16-битни итд.)
  • по технологији израде и степену интеграције (за микропроцесоре)
  • по томе да ли имају засебне магистрале за програмску меморију и меморију за податке (погледајте харвардску архитектуру) или користе једну (погледајте фон Нојманову архитектуру)

Произвођачи микропроцесора[уреди]

Постоји већи број произвођача микропроцесора, а међу њима се истичу: АМД, Интел, Моторола, ИБМ и Трансмета.

Види још[уреди]

Спољашње везе[уреди]

Викиостава
Викимедијина остава има још мултимедијалних датотека везаних за: Процесор