Централен процесор

Централният процесор е основната част на електронно-изчислителна машина, която декодира и изпълнява инструкциите от програмното осигуряване. Често в контекста на изчислителната техника се използва по-общият термин процесор и определението се подразбира. С напредъка в миниатюризацията при производството на интегрални схеми през 70-те, 80-те и 90-те години на XX век, централните процесори все по-често се изпълняват като една интегрална схема и се наричат микропроцесори. Част от микропроцесорите включват в същата интегрална схема и контролера на паметта. Когато интегралната схема включва контролери за вход-изход, тя се нарича микроконтролер. През 1999 г. развитието на технологиите позволява съвместяването на два централни процесора в рамките на една интегрална схема и отделните процесори биват наричани процесорни ядра. В такъв контекст терминът "процесор" се използва за обозначаване на цялата интегрална схема и се говори за едно-и дву- и многоядрени процесори.

Микропроцесорът се изработва във вид на интегрална схема върху един силициев чип по методите на планарната технология. От средата на 70-те години тази реализация на централен процесор е една от най-популярните и вече е почти синоним на 'централен процесор'.В най-общ смисъл обаче централен процесор е термин за описание на определен клас машини с програмируема логика, независимо от конкретната технология на изпълнението им, приложимо е и към по-ранните компютри и се употребява още от 60-те години.

Общо описание

Съвременният микропроцесор най-общо се състои от ядро и кеш-памет (от първо, второ и трето ниво, а може и да липсва) и входни, изходни и контролни изводи от общ електрически характер. Той изпълнява набор от команди, реализирани логически от транзисторни схеми. Основни характеристики са: честота на работа на ядрото, честота на работа с входно/изходните канали и обем на кеш-паметта за всяко ниво. Процесорът също така може да бъде синхронен (синхронизиран с външен или вътрешен източник на честота - кварц) или асинхронен, който не използва синхронизиращ източник. Процесорът 80x86 се състои от две части: устройство за магистрален интерфейс (Bus interface unit), което образува интерфейса към адресната магистрала за данни, прочита инструкциите в паметта и обменя данни с паметта или периферните устройства, и изпълнително устройство което обработва прочетените инструкции и данни. Докато изпълнителният блок още обработва една инструкция, следващите байтове-инструкции се прочитат от паметта от устройството за магистрален интерфейс и се подреждат на опашка. Чрез този начин на паралелна работа се повишава значително скоростта на обработката. При Pentium паралелната обработка е развита още повече. При него освен по една свръхбързодействаща междинна памет (кеш-памет) за инструкции и за данни има още един предварително запълван буфер за инструкции и две паралелно работещи аритметично-логически устройства за цели числа (ALU), така че могат да се извършват паралелно две аритметични операции. Процесорът за обработка на числа с плаваща запетая е интегриран в чипа и работи също така паралелно с целочислените устройства. Той е реализиран с конвейерна структура - обработката на инструкциите протича на няколко стъпки. В устройството за магистрален интерфейс се намира блок от пет 16-разредни регистъра (при новите процесори, регистрите са 32-разредни), които посредством един суматор през магистралната система имат достъп до паметта (RAM/ROM).

Същност и предназначение

Централният процесор е най-големият чип на дънната платка. Той е сърцето на компютърната система, изпълнява инструкциите и борави с данните. Представлява малка капсулирана силициева пластина с вградени микроелектронни елементи (транзистори). Микропроцесорите дълго време представляваха един-единствен чип, който се свързваше към различни по размер гнезда (sockets) върху дънната платка. Много от по-новите модели се произвеждат върху обособена платка с интегрални схеми, която се поставя в специален процесорен слот върху дънната платка. Най-важните характеристики на един процесор са:

  • Тип на процесора;
  • Скоростта, с която работи;
  • Размер и тип на включената в него кеш-памет;
  • Колко бита е шината за данни;
  • Колко битова адресна шина поддържа;
  • Допълнителни процесорни инструкции, които поддържа;
  • Тип на физическото свързване, което поддържа

Съставни части

CPU се състои от две основни части:

  • Аритметико-логическо устройство (АЛУ)
  • Контролно (управляващо) устройство (УУ)

Тези части на процесора са свързани с електронна връзка наречена шина (BUS). Шината действа като високоскоростна магистрала между тях. За временно съхранение на данни и инструкции процесорът използва специални клетки памет, наречени регистри.

Аритметико-логическо устройство (АЛУ)

Аритметико-логическото устройство изпълнява всички аритметични и логически функции – събиране, изваждане, умножение, деление и сравняване на две числа (А>В, А?В, А=В, А?В, А?В, А<В). Това устройство контролира скоростта на изчислителния процес. При по-старите микрокомпютри времето за изпълнение на една инструкция се измерваше в милисекунди, а при новите в наносекунди или в пикосекунди. Изградено е от ЛЕ(логически елементи) ИЗКЛЮЧВАЩО ИЛИ,ИЛИ,ИЛИ-НЕ и НЕ.АЛУ е комбиниран компаратор с пълен суматор.АЛУ може да бъде 2разреден,4разреден,8 и т.н. 8 разредните са изградени от над 300 отделни компонента.

Управляващо устройство (УУ)

Контролното устройство е сложна електронна схема, която извършва управлението и координирането на повечето от дейностите на компютъра. То не изпълнява инструкции, а казва на отделните части на компютърната система какво да правят. То определя движението на електронните сигнали между главната памет и аритметико-логическото устройство, а също и на контролните сигнали между централния процесор и входно-изходните устройства.

Шина (BUS)

Терминът адресна шина или просто шина отговаря на електрическия път, по който битовете се пренасят между различните компютърни компоненти. В зависимост от типа на системата, могат да съществуват няколко вида шини. За потребителите най-съществена е шината за данни, която пренася данните от и към централния процесор. Колкото е по-широка шината за данни, толкова по-голяма е изчислителната скорост на компютъра. Например процесор Intel Pentium II има 32 битова шина, което означава, че тя може да пренася 32 бита наведнъж.

Честота на процесора

Микропроцесорът си има часовник, който синхронизира и задава скоростта на всички операции в един машинен цикъл. Скоростта на системния часовник в една компютърна система се измерва като честота, изразена в цикли и секунди. Тя се контролира от кварцов кристал в малък метален контейнер. Когато към краищата на кристала се подаде напрежение, той започва да осцилира (вибрира) с определена честота, която зависи от неговата форма и големина. Тези вибрации генерират променлив ток с честота, хармонична на честотата на трептене на кристала. Това променливо напрежение е и честотата на часовника. Обективно тя е от порядъка на няколко милиона цикъла в секунда.

Бързодействието на процесор (тактовата честота) се измерва в мегахерци - 1MHz означава един милион такта в секунда. Тактовата честота определя до голяма степен производителността на процесора. Съвременните процесори имат тактова честота от 2 и повече GHz, а най-новите процесори Pentium IV са с честота 3,7 GHz.

Един цикъл е най-малкият интервал от време, който може да съществува в работата на процесора. Всяко действие продължава най-малко един, а обикновено и повече цикли. Например при прехвърлянето на данни от и към паметта на процесор 8086 са му необходими четири цикъла плюс състояние на изчакване. Състоянието на изчакване е цикъл, при който процесорът не извършва никакво действие, за да не изпревари останалата част от компютъра. За същото нещо на процесор 80286 са му необходими два цикъла плюс състояние на изчакване.

Времето, необходимо за изпълнение на инструкциите, е също различно за различните процесори. Оригиналните процесори 8086 и 8088 изпълняват една инструкция средно за 12 цикъла. Процесорите 80286 и 80386 извършват същата инструкция за около 4–5 цикъла, а 80486 за два цикъла. При Pentium процесорите една инструкция се изпълнява за един цикъл, а при Pentium 4 за половин. Сравнението на различните системи само на базата на тактовата честота е трудно поради различните времена (в цикли) за изпълнение на инструкциите. Така един 100 MHz Pentium се равнява приблизително на 200Mhz 80486 процесор или на 400Mhz процесор 80386 или 286. Както се вижда, сравняването на различните системи само на базата на тактовата честота не е правилно, тъй като има много други фактори, които влияят върху производителността на системата.

Как работи един процесор

Процесорите работят, като извършват изчисления на базата на конкретни инструкции, записани в софтуера, работещ на компютъра. Тези инструкции, които при стартиране на дадено приложение се зареждат в процесора, му указват как да обработва порциите от данни, записани в оперативната памет (RAM) на компютъра. Така процесорите непрекъснато "препускат" през инструкции и данни, които се зареждат в тях от паметта. Освен, че работят с основната памет, процесорите използват и един специален тип бързодействаща памет, наричана "кеш памет" (cache). Кеш-паметта спомага процесорите да бъдат по-продуктивни. Тя съхранява инструкции и данни, използвани наскоро от процесора. Благодарение на своята близост до главния изчислителен механизъм вътре в процесора и на факта, че процесорът често се нуждае от повторно използване на едни и същи инструкции и данни, кеш-паметта поддържа процесора активен и ускорява работата на компютъра като цяло. Всъщност през повечето време процесорите работят директно с различни типове кеш-памет, а тя от своя страна се свързва с основната оперативна памет. Така кеш-паметта служи като бързодействащ буфер между процесора и основната памет, прехвърляйки данните в процесора, когато се нуждае от тях и ги изисква.

Бързодействие

Въпреки, че номиналното бързодействие на процесора е важен фактор при определяне на бързината, с която той извършва изчисления, има и други важни различия в това как различните процесори вършат своята работа вътрешно. Например много процесори изпълняват няколко изчисления едновременно. Технологията, която поддържа този метод, се нарича "конвейрна обработка". Освен това някои прескачат напред, за да изпълнят допълнителни изчисления, за които се предполага, че работещата програма ще ги поиска, преди програмата да ги поиска наистина. Това се нарича "спекулативно изпълнение" и е една от многото сложни операции, които се срещат в съвременните процесори. Различните процесори реализират тези методи по разнообразни начини, с което се обясняват многото разлики в цялостната производителност на чипа, независимо от неговото бързодействие в MHz.

Друг важен фактор в общата производителност на чипа е доколко са работоспособни различните процесорни схеми. Процесорите имат способност да работят непрекъснато и да дават резултати толкова бързо, колкото им се задават задачи, над които да работят. Следователно в идеалния случай бихме искали да подаваме на процесора непрекъснат поток от данни, така че той да може да ги обработва с максимална скорост. В действителност обаче различни забавяния, които се получават в компютърната система, често принуждават процесора да стои без работа за кратки периоди от време, през които той изчаква пристигането на следващите данни.

Важен метод за компенсиране на тези забавяния е добавянето на специална бързодействаща памет в цялостната схема на процесора на компютъра. И в двата случая целта е процесорът да се накара да работи колкото е възможно повече, защото това се трансформира директно в по-голямо общо бързодействие на компютъра.

Кеш памет L1 и L2

Кеш паметта играе особено важна роля за производителността на процесора(CPU). Тя може в голяма степен да подобри ефективността на процесора(CPU), като му предоставя достъп до необходимите данни по-бързо, отколкото това прави обикновената оперативна памет(RAM).Чиповете на кеш паметта са не само по-бързи, но имат и по-бърза връзка с процесора(CPU).

Как работи кеш паметта?

Процесорът работи много по-ефективно, когато има по-бърз достъп до вече използвани данни и инструкции, или до "кеш паметта". След като процесорът завърши това, над което е работил, той може да се обърне към нея, вместо към обикновената (и по-бавна) RAM памет, която се намира по-далеч и получаването на данни от нея изисква повече време.

Двата най-разпространени типа кеш-памет се означават като L1 (Level 1- ниво 1) и L2 (Level 2– ниво 2). Има и кеш-памет L3 (Level 3), но този вид не е много популярен. Въпреки, че в техническо отношение кеш-паметта е вид памет, в повечето случаи L1 и L2 са вградени в процесорния чип или в самата процесорна карта. Така че тя е по-скоро елемент на процесора, отколкото на паметта.

Всяко ниво на кеш паметта представлява отделна част памет и се третира от процесора независимо. По традиция кеш паметта L1 е по-малка от двете и се разполага в самия процесор, а L2 се разполага извън него, но в непосредствена близост.

Когато процесорът работи с няколко вида кеш памет, първо проверява кеш паметта 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.За Pentium EE 1067Mhz,а за Intel's Core 2 Quadro на 1333Mhz. Ако кеш паметта се намира в самия процесор или на процесорната платка, както е при повечето процесори 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 е много по малко. При PentiumD моделите от серия 9хх L2 кеша е общ за двата процесора като по този начин се постига динамично разпределение на кеша от процесорните ядра, ако едното ядро е неактивно другото може да ползва целия обем L2.За Core 2 Quadro се използва подобна организация на кеша но разликата е че има 2 кеша от второ ниво тъй като общо са 4 ядра. Или получаваме следната конфигурация.L1 data-4x32KBytes за L1 Code-4x32KBytes и L2-2x4096Kbytes.