Централен процесор: Разлика между версии

кор., форматиране: 13x нов ред, 6x тире, 5x дв. интервал, запетая, параметър (ползвайки Advisor.js)
м (1 МЕП беше премахнат)
(кор., форматиране: 13x нов ред, 6x тире, 5x дв. интервал, запетая, параметър (ползвайки Advisor.js))
[[Файл:80486dx2-large.jpg|мини|250п|Ядро на микропроцесор [[Intel 80486DX2]] (реални размери: 12×6,75 mm)]]
 
'''Централният процесор''' ({{lang-en|на=от|Central processing unit}}, „централна„централно опериращапроцесорно единица“устройство“), наричан още '''ЦПУ''' (''CPU''), е основната част на [[електронноизчислителна машина]], която декодира и изпълнява [[програмна инструкция|инструкции]]те от [[програмно осигуряване|програмното осигуряване]]. Често тя е наричана само ''процесор'', макар че в много съвременни системи има и други [[процесор]]и, изпълняващи специализирани функции.
 
Терминът ''процесор'' започва да се използва в началото на 60-те години на 20 век,<ref name="Weik 2010">{{cite web | last = Weik | first = Martin H | year = 2010 | origyear = 1961 | url = http://ed-thelen.org/comp-hist/BRL61.html | title = A Third Survey of Domestic Electronic Digital Computing Systems | work = Antique (lonesome) Computers | publisher = Ed Thelen's Nike Missile Web Site | accessdate = 26 юни 2010 | ref = harv}}</ref> но оттогава формата и устройството на централните процесори са се променили драстично, макар и основните принципи на тяхното функциониране да остават същите. Първите процесори са проектирани специално за отделни големи компютри, но с времето този метод отстъпва място на серийното производство на процесори, някои от които предназначени за множество разнообразни задачи.
 
Тенденцията към стандартизация започва още по времето на процесорите, съставени от дискретни [[транзистор]]и и бързо се засилва с масовото въвеждане на [[Интегрална схема|интегралните схеми]]. С напредъка в тяхната миниатюризация, централните процесори все по-често се изпълняват като една интегрална схема и се наричат [[микропроцесор]]и. Тези евтини серийно произвеждани устройства днес намират широк кръг приложения, далеч надхвърлящ първоначалното им предназначение в компютрите - – съвременните микропроцесори се използват в различни технически системи - – от [[автомобил]]и до [[Мобилен телефон|мобилни телефони]] и детски [[Играчка|играчки]].
 
== История ==
[[Файл:Edvac.jpg|мини|250п|[[EDVAC]], един от първите електронни компютри със съхранявана програма]]
 
Първите компютри, от типа на [[ENIAC]], са механични, т.е. имат нужда от физическа промяна на свързването на работните компоненти, за да извършват различни действия и изпълняват задачи. Впоследствие те еволюират до електромеханични (използващи релета). Най-ранните устройства, които могат да бъдат наречени процесори, са свързани с концепцията за [[програмируем компютър]], в който вътре в машината се записва последователност от инструкции (компютър със съхранявана [[компютърна програма]]). Идеята съществува още в проекта на [[Джон Преспър Екърт]] и [[Джон Мокли]] за ENIAC, но е изоставена, за да може машината да бъде завършена по-бързо. На 30 юни 1945 година, преди завършването на ENIAC, математикът [[Джон фон Нойман]] публикува изследване, озаглавено „Първа чернова на доклад за EDVAC“ (''„First Draft of a Report on the EDVAC“''), в което описва принципите на компютър със съхранявана програма, който трябва да бъде завършен през август 1949 година.<ref>{{cite web | last = von Neumann | first = John | authorlink = Джон фон Нойман | year = 1945 | url = http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf | title = First Draft of a Report on the EDVAC | format = PDF | publisher = | accessdate = 10 юли 2010 | ref = harv}}</ref> EDVAC е проектиран за изпълнението на известен брой различни инструкции, които могат да бъдат съчетавани, така че да образуват полезни програми.
 
Най-важното нововъведение при EDVAC е, че програмите се съхраняват във високоскоростна [[Компютърна памет|памет]], вместо да се определят чрез начина на физическо свързване на компонентите на компютъра. По този начин е преодоляно най-тежкото ограничение на ENIAC – значителното време и усилия, необходими за преконфигуриране на компютъра за изпълнение на нова задача. В компютъра на Фон Нойман програмата може да бъде променена само с промяната на съдържанието на паметта на компютъра. Още преди завършването на EDVAC, ENIAC е реконструиран по начин, позволяващ му също да съхранява програми.
 
Макар че обикновено заслугата за създаването на компютъра със съхранявана програма се приписва Джон фон Нойман, има и други преди него, които са предлагали и прилагали подобни идеи - – например [[Конрад Цузе]]. Системата [[Mark I]], завършена преди EDVAC, също използва съхранявани програми, но записани на хартиена [[перфолента]], вместо в електронна памет. Основната разлика между EDVAC и Mark I в това, че при Mark I съхранението и обработката на данните и инструкциите е разделено, докато в системата на Фон Нойман, както и в повечето съвременни процесори, те използват една и съща памет.
 
Като цифрово устройство процесорът е ограничен до определено множество дискретни състояния и има нужда от някакъв вид превключващи елементи, за да разграничава и променя тези състояния. Преди широкото разпространение на [[транзистор]]ите за тази цел обикновено се използват [[реле]]та и [[Електронна лампа|електронни лампи]]. Въпреки че тези устройства са значително по-бързи от по-ранните механични превключватели, по различни причини те не са много надеждни. Така например изграждането на правотокови схеми с [[последователна логика]] от релета изисква допълнителен хардуер за елиминиране на проблема с контактните скокове. При електронните лампи този проблем не съществува, но те трябва да се нагреят, преди да станат напълно годни за използване, а с времето спират да работят, заради замърсяването на катодите им, което се получава в резултат на нормалния им начин на работа, а при разхерметизиране на лампата бързо се ускорява. При проблем с дадена лампа целият процесор трябва да се диагностицира, за да се локализира и да се подмени повредената лампа.
През този период се разпространява един нов метод за производство на голям брой транзистори в ограничено пространство. [[Интегрална схема|Интегралната схема]] позволява множество транзистори да се включат в един общ полупроводников цокъл, наричан ''[[чип]]''. Първоначално интегралните схеми се използват само за много прости неспециализирани схеми, например за отделни [[логически елемент]]и. Процесорите, базирани на такива елементарни интегрални схеми, обикновено се наричат устройства със слаба интеграция (''SSI''). SSI интегралните схеми, използвани в компютри като [[Apollo Guidance Computer]], обикновено съдържат по няколко десетки транзистори. Изграждането на цял процесор от SSI интегрални схеми изисква хиляди отделни чипове, но все пак отнема много по-малко пространство и има по-нисък разход на енергия от дотогавашните устройства с дискретни транзистори. С напредъка на микроелектрониката, интегралните схеми започват да включват все повече транзистори, намалявайки броя на отделните схеми, необходими за създаване на пълен процесор. Интегралните схеми със средна (''MSI'') и силна интеграция (''LSI'') вече имат стотици, а след това и хиляди транзистори. Така първият компютър на [[DEC]] с LSI устройство, вариант на модела [[PDP-11]], има процесор с едва четири интегрални схеми.<ref>{{cite book | author = Digital Equipment Corporation | year = 1975 | month = November | title = LSI-11, PDP-11/03 user's manual | chapter = LSI-11 Module Descriptions | edition = 2nd | pages = 4–3 | publisher = Digital Equipment Corporation | location = Maynard, Massachusetts | url = http://www.classiccmp.org/bitsavers/pdf/dec/pdp11/1103/EK-LSI11-TM-002.pdf }}</ref>
 
През 1964 година [[IBM]] въвеждат компютърната архитектура [[System/360]], в която за пръв път е въведена идеята за [[микрокод]] и стандартизиране на програмите изпълнявани от процесорите. Дотогава повечето електронни компютри, включително такива от един и същ производител, са несъвместими и не могат да изпълняват едни и същи програми.<ref name="amdahl1964">{{cite paper | last = Amdahl | first = G. M. | coauthors = G. A. Blaauw, F. P. Brooks Jr. | title = Architecture of the IBM System/360 | publisher = IBM Research | date = 1964 | url = http://www.research.ibm.com/journal/rd/441/amdahl.pdf }}</ref> Архитектурата System/360 става толкова популярна, че в продължение на десетилетия доминира на пазара на [[Мейнфрейм компютър|мейнфрейм компютри]].
 
Базираните на транзистори процесори имат няколко отчетливи предимства пред своите предшественици. Освен подобрената надеждност и по-ниската консумация на енергия, те имат и много по-висока скорост, поради по-краткото време на превключване на транзистора в сравнение с електронната лампа или релето. Благодарение на увеличената надеждност и значително по-високата скорост на превключващите елементи, през 60-те години процесорите достигат [[Тактова честота|тактови честоти]] от десетки мегахерци. През този период се появяват и първите високоефективни [[Векторен процесор|векторни процесори]], ранни предшественици на по-късните специализирани [[Суперкомпютър|суперкомпютри]].
 
== Общо описание ==
Съвременният микропроцесор най-общо се състои от [[ядро]] и [[кеш]]-памет (от първо, второ и трето ниво, а може и да липсва) и входни, изходни и контролни изводи от общ електрически характер. Той изпълнява набор от [[команда|команди]], реализирани логически от [[транзистор]]ни схеми. Основни характеристики са: [[честота]] на работа на ядрото, честота на работа с входно/изходните канали и обем на кеш-паметта за всяко ниво. Процесорът също така може да бъде синхронен (синхронизиран с външен или вътрешен източник на честота - – [[кварц]]) или асинхронен, който не използва синхронизиращ източник. Процесорът 80x86 се състои от две части: устройство за магистрален интерфейс (Bus interface unit), което образува интерфейса към адресната магистрала за данни, прочита инструкциите в паметта и обменя данни с паметта или периферните устройства, и изпълнително устройство което обработва прочетените инструкции и данни. Докато изпълнителният блок още обработва една инструкция, следващите байтове-инструкции се прочитат от паметта от устройството за магистрален интерфейс и се подреждат на опашка. Чрез този начин на паралелна работа се повишава значително скоростта на обработката. При Pentium паралелната обработка е развита още повече. При него освен по една свръхбързодействаща междинна памет (кеш-памет) за инструкции и за данни има още един предварително запълван буфер за инструкции и две паралелно работещи аритметично-логически устройства за цели числа (ALU), така че могат да се извършват паралелно две аритметични операции. Процесорът за обработка на числа с плаваща запетая е интегриран в чипа и работи също така паралелно с целочислените устройства. Той е реализиран с конвейерна структура - – обработката на инструкциите протича на няколко стъпки. В устройството за магистрален интерфейс се намира блок от пет 16-разредни регистъра (при новите процесори, регистрите са 32-разредни), които посредством един суматор през магистралната система имат достъп до паметта (RAM/ROM).
 
 
Част от микропроцесорите включват в същата интегрална схема и [[контролер на памет|контролера на паметта]]. Когато интегралната схема включва контролери за вход-изход, тя се нарича [[микроконтролер]]. През 1999 г. развитието на технологиите позволява съвместяването на два централни процесора в рамките на една интегрална схема и отделните процесори биват наричани [[процесорно ядро|процесорни ядра]]. В такъв контекст терминът „процесор“ се използва за обозначаване на цялата интегрална схема и се говори за едно-и [[двуядрен процесор|дву]]- и [[многоядрен процесор|многоядрен]]и процесори.
 
=== Същност и предназначение ===
Централният процесор е най-големият [[чип]] на дънната платка. Той е сърцето на компютърната система, изпълнява инструкциите и борави с данните. Представлява малка капсулирана силициева пластина с вградени микроелектронни елементи ([[транзистор]]и). Микропроцесорите дълго време представляваха един-единствен чип, който се свързваше към различни по размер гнезда (sockets) върху дънната платка. Много от по-новите модели се произвеждат върху обособена платка с интегрални схеми, която се поставя в специален процесорен слот върху дънната платка.
 
Централният процесор е най-големият [[чип]] на дънната платка. Той е сърцето на компютърната система, изпълнява инструкциите и борави с данните. Представлява малка капсулирана силициева пластина с вградени микроелектронни елементи ([[транзистор]]и). Микропроцесорите дълго време представляваха един-единствен чип, който се свързваше към различни по размер гнезда (sockets) върху дънната платка. Много от по-новите модели се произвеждат върху обособена платка с интегрални схеми, която се поставя в специален процесорен слот върху дънната платка.
Най-важните характеристики на един процесор са:
*Тип на процесора;
 
==== Аритметико-логическо устройство (АЛУ) ====
 
Аритметико-логическото устройство изпълнява всички аритметични и логически функции – събиране, изваждане, умножение, деление и сравняване на две числа (А>В, А≥В, А=В, А≠В, А≤В, А<В). Това устройство контролира скоростта на изчислителния процес. При по-старите микрокомпютри времето за изпълнение на една инструкция се измерваше в милисекунди, а при новите в наносекунди или в пикосекунди.
 
Изградено е от ЛЕ(логически елементи) ИЗКЛЮЧВАЩО ИЛИ, ИЛИ, ИЛИ-НЕ и НЕ. АЛУ е комбиниран компаратор с пълен суматор. АЛУ може да бъде 2 разреден, 4 разреден, 8 и т.н. 8 разредните са изградени от над 300 отделни компонента.
 
==== Управляващо устройство (control unit) ====
 
Контролното устройство е сложна електронна схема, която извършва управлението и координирането на повечето от дейностите на компютъра. То не изпълнява инструкции, а казва на отделните части на компютърната система какво да правят. То определя движението на електронните сигнали между главната памет и аритметико-логическото устройство, а също и на контролните сигнали между централния процесор и входно-изходните устройства.
 
==== Шина (BUS) ====
 
Терминът [[адресна шина]] или просто шина отговаря на електрическия път, по който [[бит]]овете се пренасят между различните компютърни компоненти. В зависимост от типа на [[система]]та, могат да съществуват няколко вида шини. За потребителите най-съществена е шината за данни, която пренася данните от и към централния процесор. Колкото е по-широка шината за данни, толкова по-голяма е изчислителната скорост на компютъра. Например процесор Intel Pentium II има 32 битова шина, което означава, че тя може да пренася 32 бита наведнъж.
 
=== Честота на процесора ===
 
Микропроцесорът си има контролер на паметта, който синхронизира и задава скоростта на всички операции в един машинен цикъл. Скоростта на системния часовник в една компютърна система се измерва като честота, изразена в цикли и секунди. Тя се контролира от кварцов кристал в малък метален контейнер. Когато към краищата на кристала се подаде напрежение, той започва да осцилира (вибрира) с определена честота, която зависи от неговата форма и големина. Тези вибрации генерират променлив ток с честота, хармонична на честотата на трептене на кристала. Това променливо напрежение е и честотата на часовника. Обективно тя е от порядъка на няколко милиона цикъла в секунда.
 
Бързодействието на процесор (тактовата честота) се измерва в мегахерци - – 1[[MHz]] означава един милион такта в секунда. Тактовата честота определя до голяма степен производителността на процесора. Съвременните процесори имат тактова честота от 2 и повече [[GHz]], а някои от новите процесори като '''AMD Phenom II 980''' са с честота 3,7 GHz.
 
Един цикъл е най-малкият интервал от време, който може да съществува в работата на процесора. Всяко действие продължава най-малко един, а обикновено и повече цикли. Например при прехвърлянето на данни от и към паметта на процесор 8086 са му необходими четири цикъла плюс състояние на изчакване. Състоянието на изчакване е цикъл, при който процесорът не извършва никакво действие, за да не изпревари останалата част от компютъра. За същото нещо на процесор 80286 са му необходими два цикъла плюс състояние на изчакване.
 
Времето, необходимо за изпълнение на инструкциите, е също различно за различните процесори. Оригиналните процесори 8086 и 8088 изпълняват една инструкция средно за 12 цикъла. Процесорите 80286 и 80386 извършват същата инструкция за около 4–5 цикъла, а 80486 за два цикъла. При Pentium процесорите една инструкция се изпълнява за един цикъл, а при Pentium 4 за половин.
 
Сравнението на различните системи само на базата на тактовата честота е трудно поради различните времена (в цикли) за изпълнение на инструкциите. Така един 100 MHz Pentium се равнява приблизително на 200Mhz 80486 процесор или на 400Mhz процесор 80386 или 286. Както се вижда, сравняването на различните системи само на базата на тактовата честота не е правилно, тъй като има много други фактори, които влияят върху производителността на системата.
 
== Как работи един процесор ==
 
Процесорите работят, като извършват изчисления на базата на конкретни [[Машинна инструкция|инструкции]], записани в софтуера, работещ на компютъра. Тези инструкции, които при стартиране на дадено приложение се зареждат в [[оперативната памет]], указват на процесора как да обработва порциите от данни. Така процесорите непрекъснато „препускат“ през инструкции и данни, които се зареждат в тях от паметта. Освен, че работят с основната памет, процесорите използват и един специален тип бързодействаща памет, наричана „[[кеш памет]]“ (cache). Кеш-паметта спомага процесорите да бъдат по-продуктивни. Тя съхранява инструкции и данни, използвани наскоро от процесора. Благодарение на своята близост до главния изчислителен механизъм вътре в процесора и на факта, че процесорът често се нуждае от повторно използване на едни и същи инструкции и данни, кеш-паметта поддържа процесора активен и ускорява работата му като цяло. Всъщност през повечето време процесорите работят директно с различни типове кеш-памет, а тя от своя страна се свързва с основната оперативна памет. Така кеш-паметта служи като бързодействащ буфер между процесора и основната памет, прехвърляйки данните в процесора, когато се нуждае от тях и ги изисква.
 
 
== Кеш памет L1 и L2 ==
 
Кеш паметта играе особено важна роля за производителността на процесора(CPU). Тя може в голяма степен да подобри ефективността на процесора(CPU), като му предоставя достъп до необходимите данни по-бързо, отколкото това прави обикновената оперативна памет(RAM).Чиповете на кеш паметта са не само по-бързи, но имат и по-бърза връзка с процесора(CPU).
 
 
Когато процесорът работи с няколко вида кеш памет, първо проверява кеш паметта L1, след това кеш L2 и накрая – основната памет.
 
Реално кешът е прозрачен за процесора, тъй като CPU се обръща към RAM паметта чрез виртуални адреси, а кеш паметта използва своите механизми за да определи дали има съвпадение на даден адрес вътре в регистрите си. При съответствие на адрес кеш паметта подава данните към процесора, като обръщението към основната памет се прекратява.
 
Друга съществена разлика между кеш L1 и L2 е бързината, с която процесорът може да осъществява достъп до различните видове памет. Тъй като кеш паметта L1 е интегрирана във вътрешността на микропроцесора, тя обикновено работи със същата бързина, с каквато и централният процесор; така например при процесор с тактова честота 500 MHz, скоростта на връзката към кеш паметта L1 е също 500 MHz. Кеш паметта L2 се свързва при по-старите системи с процесора със същата скорост като на оперативната памет. Тази скорост се определя от „системната шина“ (system bus) на компютъра, което обикновено работи при 66, 100, 133 MHz, а при новите процесори Pentium 4 при 400, 533, 667,800MHz 800 MHz. За Pentium EE 1067Mhzчестотата е 1067 MHz, а за Intel's Core 2 Quadro на 1333Mhz. 1333 MHz. Ако кеш паметта се намира в самия процесор или на процесорната платка, както е при повечето процесори, Pentium II и Pentium III, връзката процесор-кеш L2 става през така наречената „задна шина“ (backside bus). Тази шина работи по-бързо от системната шина, но наполовина от скоростта на процесора. Това се нарича „съотношение 1:2“. Така при процесор Pentium III с тактова честота 500 MHz, скоростта на връзката процесор – кеш L2 е 250 MHz. При системи, при които кеш паметта L2 е вградена в самия чип, има съотношение 1:1 между скоростта на процесора и скоростта на връзката процесор – кеш L1. Вече всички производители Intel AMD и други вграждат L2 кеша в самия чип, тъй като настоящите, а и бъдещи процесори, са зависими до голяма степен от неговата скорост. Тоест при работа в режим 1:1 времето за зареждане от L2 е много по -малко.
 
При PentiumDPentium D моделите от серия 9хх L2 кешакешът е общ за двата процесора, като по този начин се постига динамично разпределение на кеша от процесорните ядра,; ако едното ядро е неактивно, другото може да ползва целия обем L2. За Core 2 Quadro се използва подобна организация на кеша, но разликата е, че има 2 кеша от второ ниво, тъй като общо са 4 ядра. Или получаваме следната конфигурация.: L1 data-4x32KBytes4x32 KB за L1 Code-4x32KBytes4x32 KB и L2-2x4096Kbytes2x4096 KB.
 
== Производители на процесори ==