You are on page 1of 12

Процесори: определение, класификация, основни съставни части.

Режими на работа на
процесорите (реален, защитен, виртуален, системен).

Компютърна система (КС) наричаме комплекс от технически и програмни средства,


предназначен за автоматизация на подготовката и решаването на задачи на потребителя.
Компютърните системи включват апаратна част (Hardware), програмно осигуряване
(Software) и функционални средства, които осигуряват взаимодействието между апаратната част и
програмното осигуряване.
Към функционалните средства се отнасят: стандартите и кодовете, чрез които различните
видове информация се преобразуват в машинен (двоичен) вид; алгоритмите и процедурите,
използвани за организация на работа на КС (например за стартиране на компютрите, за действия
при специални ситуации и изключения); системата от спецификации за поддържане на
съвместимост между елементите и възлите, произвеждани от различни производители и други.
Прието е системата от функционални средства и взаимодействието между апаратната част
и програмното осигуряване да се нарича функционална организация на компютърните системи.
Тя определя принципите на функционирането им.
Принципите на функциониране на компютърните системи могат да се реализират
посредством различни апаратни средства.
Например, микропроцесорите могат да се реализират с различни набори от машинни
команди, чрез които да се осъществява функциониране
то на компютрите.
По малък на брой апаратно реализирани машинни команди изискват по-сложни програми
за решавани на задачите, но конструкцията на електронните блокове е по-проста.
Начинът, по който се реализира функционирането на компютърните системи
(функционалната организация), се нарича структурна организация на компютърните системи.
Отделните елементи, възли и устройства и програмните средства за организация на
работата се наричат структурни елементи на компютърните системи.
На основата на дадените определения за функционална и структурна организация на
компютърните системи се дефинира понятието компютърна архитектура.
Компютърната архитектура е съвкупност от характеристики и параметри, определящи
функционалната, логическа и структурна организация на компютрите.
Това понятие включва принципите на построяване и функциониране на компютърните
системи, заедно с основните програмни средства за работата му.
Архитектурата на съвременните компютърни системи е многостепенна йерархия на
апаратните и програмни средства, които изграждат системата.
Всяко ниво допуска многовариантно изпълнение и комплектация.
Терминът архитектура звучи странно, когато се говори за компютърни системи, (той се
използва предимно в областта на проектиране и изграждане на сгради). Но самата дума
‘архитектура’, наред с многото си определения има значение и на ‘структура на нещо’.
Именно това значение се използва при описание на организацията на компютърните
системи.
За да се анализира функционалната и структурна организация на компютърните системи,
трябва да се специфицират (обособят) основните логически елементи (устройства), необходими за
работа на информационните изчислителни системи.
Като функционални елементи, логическите устройства в изчислителните машини са
дефинирани още при разработките на Блез Паскал.
Основни логически елементи на компютърните системи са:
- устройства за въвеждане на информация в компютърните системи;
- устройства за извеждане на информация (показване на резултати от обработката на
информацията);
- устройства за съхраняване на информация в компютрите;
- устройства за обработка на информацията;
- устройства за управление на процесите в компютърните системи.
Това може да се нарече логическо ниво в структурата на компютърните системи.
Централният процесор (CPU - Central Processing Unit ) обикновено е най-големият чип на
дънната платка.
Той е сърцето на компютърната система, изпълнява инструкциите и борави с данните.
Представлява малка капсулирана силициева пластина с вградени микроелектронни
елементи (транзистори).
Процесорите дълго време представляваха един-единствен чип, който се свързваше към
различни по размер гнезда (sockets) върху дънната платка.
В действителност при някои процесори това все още е така, но много от по-новите модели
се произвеждат върху отделна платка с интегрални схеми, която се поставя в специален
процесорен слот върху дънната платка.
Най-важните характеристики, които трябва да знаем за един нов процесор, са следните:

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

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


(1) Аритметико- логическо устройство (ALU ) и (2) Контролно устройство - Control Unit
(CU).
Тези части на процесора обикновено са свързани с електронни връзки, които наричаме
шина.
Шината действа като високоскоростна магистрала между тях.
За временно съхранение на данни и инструкции процесорът използва специални клетки
памет, наречени регистри.

Аритметико-логическото устройство изпълнява всички аритметични и логически


функции: събиране, изваждане, умножение, деление и сравняване на две числа.
Това устройство контролира скоростта на изчислителния процес и поради това е обект на
голямо внимание от компютърните инженери.
При по-старите микрокомпютри времето на изпълнение на една инструкция се измерваше в
милисекунди (ms), а при новите в наносекунди (ns) или в пикосекунди (ps).

Контролното устройство е сложна електронна схема, която е отговорна за управлението и


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

Класификация на процесорите според предназначението:

Централен процесор (ЦП) - главен компонент на компютъра, управляващ работата на


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

Режими на работа:
Реален режим (real mode) е режим на работа на компютърните процесори в архитектурата
x86.
Всеки x86 процесор влиза в реален режим веднага след включване на захранването му.
При реалния режим, максималната адресирана памет е 1 MB (220 байта) и няма апаратна
защита на достъпа до паметта.
Първите процесори от фамилията x86 са 16-битови и са работели единствено в реален
режим.
Всъщност понятието реален режим се появява значително по-късно, когато е въведен
защитеният режим.

Защитен режим (protected mode) е режим на работа на компютърните процесори в


архитектурата x86.
При защитения режим, максималната адресирана памет е 4 GB (232 байта), има
странициране и сегментиране на паметта, както и апаратна защита на достъпа до паметта и
входно-изходното пространство.
Почти всички съвременни операционни системи за x86 процесори работят изключително в
защитен режим (и неговия наследник - long mode, въведен с разширенията x86-64).

Виртуален режим - процесорът може да премине ако в регистъра на флаговете EFLAGS


се установи бит (VM-бит).
Номерът на бита VM в регистъра EFLAGS е 17.
Когато процесорът i80386 се намира във виртуален режим, неговото поведение наподобява
i8086.
В частност за адресиране на паметта се използва схемата “сегмент - отместване”, размерът
на сегмента е 64 кило байта, а размера на адресуемата в този режим памет - 1 мегабайт.
Виртуалния режим е предназначен за работа на програми, ориентирани за процесор i8086
(или i8088) в режим със защита.
Системен режим на работа - SMM (System Management Mode) е режим за системно
управление, реализиран в Pentium. SMM архитектурата създава реални условия за настройка и
наблюдение от високо ниво на специфични процесорни параметри. Едно типно проложение на
SMM технологията се свързва с възможността за непрекъснато следене на системния такт. Когато
системния такт на Pentium-a спре процесорът преминава в режим на свръх ниска консомация. Това
позволява при проектирането на персонални компютри, базирани на Pentium да се подържат и
управляват на системно ниво енергично ефективни технологични режими.
Процесорите работят, като извършват изчисления на базата на конкретни инструкции,
които предоставя софтуерът, работещ на компютъра.
Тези инструкции, които се зареждат в процесора при работа на дадено приложение, указват
на процесора как да обработва порциите от данни, записани в оперативната памет (RAM) на
компютъра.
Така процесорите непрекъснато “препускат” през инструкции и данни, които се зареждат в
тях от паметта на компютъра.
Освен, че работят с основната памет, процесорите използват един специален тип
бързодействаща памет, наричана “кеш-памет” (cache).
Кеш-паметта спомага за това, процесорите да бъдат по-продуктивни.
Тя съхранява инструкции и данни, използвани наскоро от процесора.
Благодарение на своята близост до главния изчислителен механизъм вътре в процесора и от
факта, че процесорът често се нуждае от повторно използване на едни и същи инструкции и данни,
кеш-паметта поддържа процесора активен и ускорява работата на компютъра като цяло.
Всъщност през повечето време процесорите работят директно с различни типове кеш-
памет, а тя от своя страна работи с основната оперативна памет.
Така кеш-паметта служи като бързодействащ буфер между процесора и основната памет,
прехвърляйки данните в процесора, когато се нуждае от тях или ги изисква.
Въпреки, че номиналното бързодействие на процесора е важен фактор при определяне на
бързината, с която той извършва изчисления, има и други важни различия в това как различните
процесори вършат своято работа вътрешно.
Например много процесори изпълняват няколко изчисления едновременно.
Технологията, която поддържа този метод, се нарича “конвейрна обработка” (pipelining).
Освен това някои прескачат напред, за да изпълнят допълнителни изчисления, за които
смятат, че работещата програма ще ги поиска, преди още програмата наистина да ги поиска.
Това се нарича “спекулативно изпълнение” (speculative execution) и е една от многото
сложни операции, които се срещат в съвременните процесори.
Различните процесори реализират тези методи по разнообразни начини, с което се
обясняват многото разлики в цялостната производителност на чипа, независимо от неговото
бързодействие в Mhz.
Друг важен фактор в общата производителност на чипа е доколко са работоспособни
различните процесорни схеми.
Процесорите имат способност да работят непрекъснато и да дават резултати толкова бързо,
колкото им се задават проблеми, над които да работят.
Следователно в идеалния случай ще искаме да подаваме на процесора непрекъснат поток от
данни, така че той да може да ги обработва с максимална скорост.
В действителност обаче различни забавяния, които се получават в компютърната система,
често принуждават процесора да стои без работа за кратки периоди от време, през които той
изчаква пристигането на следващите данни.
Важен метод за компенсиране на тези забавяния е добавянето на специална бързодействаща
памет в цялостната схема на процесора или компютъра.
И в двата случая целта е процесорът да се накара да работи колкото е възможно повече,
зощото това се трансформира директно в по-голямо общо бързодействие на компютъра.
Шината представлява линейна магистрала от проводници за предаване на електрически
сигнали, по която става преноса на данните в компютъра.
Всяко устройство е свързано към някоя от шините ( от латинското omnibus – за всички),
като чипсета изпълнява ролята на мост между отделните шини.
Най-общо казано съществуват няколко типа шини :
- процесорна FSB ( front-side bus ) - високоскоростна шина, използвана главно от процесора за
предаване на информация;
- AGP – специална шина за видео адаптери, високоскоростна 32-битова.
- PCI шина ( peripheral component interconnect - свързване на периферни устройства ) – 32-битова,
представена от PCI слотове, в които могат да се инсталират различни високоскоростни периферни
устройства.
- ISA – бавна 16-битова шина, присъства в много малка част от съвремен
ните системи.
Използва се за инсталиране на по-бавни периферни устройства.
Достъпът на устройствата към шината става чрез така наречените -слотове.
Процесорни шини:
Обмена на данни между отделните устройства на компютъра се извършва по три много
разрядни шини (много проводни линии), съединяващи всички модули.

Шина за данни на процесора


Обменя данни между паметта, микропроцесора и периферните устройства. Явява се
двупосочна.
Разрядността на шината данни е свързана с разрядността на процесора (има 8-, 16-, 32-, 64-
разрядни процесори).
Към основните режими на работа на процесора при използване на шината данни се отнасят
следните:
- Запис/четене на данни от оперативната памет;
- Запис/четене на данни от външната памет;
- Четене на данни от входните устройства;
- Изпращане на данни към на изходните устройства.

Адресна процесорна шина


По тази шина процесорът изпраща адресния код на устройство или клетка от паметта, с които
ще обменя данни.
Адресния код се изпраща еднопосочно от процесора към паметта или съответното устройство.
Разрядността на адресната шина определя достъпното адресно пространство.
Ако разрядността е n, то максималния адрес, който може да бъде зададен по нея е 2n. Именно
такова количество клетки от оперативната памет е достъпно за процесора.

Контролна процесорна шина


Транспортира:
- Сигнали, определящи характера на обмена на данни и информация (вход/изход),
- Сигнали, синхронизиращи взаимодействието на устройствата, участващи в обмена.

Основни характеристики на процесорна шина


Разрядност на процесорна шина
Количеството битове, едновременно пренасяни по шината. Шините за данни и адреси са с
паралелна организация и затова всички битове се пренасят в двоичен режим едновременно.

Пропусна способност на процесорна шина


Количеството битове данни и информация, предавани по шината за секунда.

Шинният интерфейс е връзката с другите компоненти.


Той вкючва шина за данни, шина за адреси и шина за управление.
Шините пренасят инструкциите от опашката за предварително извличане до устройството за
инструкциите.
Устройството за инструкции управлява изпълнителното устройство позволявайки на
аритметико-логическото устройство да изпълни инструкцията.
Процесорът чете или пише данни през шината за данни.
На тази част от паметта е даден адрес, който се изчислява от процесора с помощта на
аритметико-логическото устройство и се изпраща към паметта по адресната магистрала.
Например в i386 изчисляването на адреса зависи от режима на работа – реален, защитен или
виртуален 8086 режим.
Редуването на четене и запис се осъществява през шинния интерфейс.
Шинното устройство осигурява адреса на шината и ако е необходимо данните за запис в
паметта или чете данните от паметта и ги записва на предварително зададен адрес.
Процесът осъществява връзка с паметта по същия начин когато чете инструкции.
Това извличане на инструкциите не е съпроводено със специална инструкция за четене.
То се изпълнява автоматично от шинното устройство.
Данните които се четат, тоест инструкциите не се записват в регистър в изпълнителното
устройство, а се препращат към опашката за предварително извличане.
След това устройството за инструкции чете инструкциите или данните от опашката, декодира
ги и изпраща декодираната инструкция към изпълнителното устройство.
Инструкциите и данните се намират в една и съща физическа памет.
Освен това физическата памет често е разделена на различни логически части, често наричани
сегменти, съдържащи инструкции или данни.
В съвременните компютри няма разделяне на паметта за данни и инструкции.
В ранните години на компютърните технологии имаше стриктно разделяне на паметта на
такава за инструкции и такава за данни.
Процесорът, основна памет, разделяне на паметта в реален режим:
Шина за данни, адресна шина и физически връзки
Процесорът 8086 като първият представител на фамилията 80х86 разделя наличната памет на
сегменти.
По-късните процесори от същата фамилия започващи с 80286 и нагоре до Pentium правят
абсолютно същото.
Докато 8086 има само 20 адресни линии, в сравнение с 32-те на 80386, той може да адресира
максимум 1 мегабайт памет.
Затова физическото адресно пространство е максимум 1 мегабайт.
Всеки от регистрите с общо предназначение в 16 битовият 8086 процесор е все още 16 битов и
по тази причина може да адресира максимум 64 килобайта.
Процесорът 8086 разделя физическото адресно пространство на сигменти по 64 килобайта
всеки.
Във всеки сигмент позицията на един байт се определя с отместване.
Отместването се намира в регистрите с общо предназначение.
Адресът на сигментите се намира в сигментните регистри от CS до ES.
Процесорът използва двойката сигмент: отместване за достъп до паметта.
Сегментът на клетка от паметта се указва от сигментният регистър, а отместването в избрания
сегмент се указва от регистър с общо предназначение.
Шеснайсет битовите сигменти регистри могат могат да адресират сигменти, също както 16
битовия регистър за отместването в 8086, всеки от които е с големина 64 килобайта.
Теоретично възможното адресно пространство по този начин става 64K*64K=4 гигабайта.
Това е невъзможно с 20 битовата адресна шина на 8086, при която е възможно адресиране до 1
мегабайт.
Разстоянието между сигментите е 16 байта.
Когато стойността на сигментния регистър се увеличи с единица сигментът просто се отмества
с 16 байта, а не с пълните 64 килобайта.
За сравнение когато регистърът за отместването се увеличи с единица увеличаваме клетката от
паметта с единица.
Промяната в стойността на сигмента на сигментния регистър води до значително по-голям
резултат отколкото промяната в стойността на регистъра за отместване.

Допълнение:

Централният процесор е основната част на електронно-изчислителна машина, която декодира и


изпълнява инструкциите от програмното осигуряване. Често в контекста на изчислителната
техника се използва по-общият термин процесор и определението се подразбира. С напредъка в
миниатюризацията при производството на интегрални схеми през 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 и L3

Кеш паметта играе особено важна роля за производителността на процесора(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.

Буфер – това е непрекъсната част от паметта, например масив или указател в


C. Поради липсата на автоматично определяне на границите, може да се пише и отвъд границата
на буфера.
Процес – това е програма в хода не нейното изпълнение. Една изпълнима
програма, която се намира на харддиска съдържа: набор от инструкции, които трябва да се
изпълнят от процесора (code segment); данни достъпни само за четене (data segment); глобални и
статични данни, които могат да се достъпват от програмата в хода на нейното изпълнение; brk
pointer, които следи за заделената памет; локални променливи на функции (автоматични
променливи, които се създават в стека, когато функцията се изпълнява и се изтриват автоматично,
когато функцията приключи).
Стек – непрекъснат блок от паметта, които съдържа данни. Указател към стека
(stack pointer – SP), сочи към върха на стека. Дъното на стека се намира на фиксиран
адрес в паметта. Размерът му се променя динамично от ядрото. Процесорът
имплементира инструкции са добавяне на елемент в стека (push) и изваждане на
елемент от стека (pop). Стекът се състои от логически единици наречени слоеве. Когато се извика
функция, параметрите на функцията, се слагат в стека от дясно на ляво. След това в стека се слага
адреса на връщане (return address, или адресът който трябва да се изпълни след като функцията се
върне) и frame pointer-а (той указва локалните променливи, защото те са на константно разстояние
от него). Локалните автоматични променливи се слагат след frame pointer-а.
x86 е общото наименование на микропроцесорна архитектура, първоначално разработена и
произвеждана от Intel. Архитектурата е наречена x86, защото първите процесори от тази фамилия
са обозначавани с номера, завършващи на 86: 8086, 80186, 80286, 80386 (впоследствие i386) и 486
(i486). Водена от маркетингови съображения и ограничена от невъзможността да защити
търговска марка върху число, Intel решава да именува следващите процесори от тази фамилия с
имена вместо с числови обозначения (Pentium, Core). В крайна сметка обаче, името x86 остана
като име на цялата фамилия.
Архитектурата на два пъти е била разширявана към по-голям размер на машинната дума. Първите
процесори от тази фамилия са 16-битови. През 1985 г. Intel пуска 32-битовия процесор 386.
Обикновено обозначението x86 се използва за 32-битовата архитектура, като освен него се
използва и IA-32 (Intel Architecture 32-bit). През 2003 г. AMD пусна на пазара процесора Athlon 64,
който разшири архитектурата до 64 бита. 64-битовата x86 архитектура се обозначава с x86-64,
като освен него се използват и други обозначения: AMD64 (от AMD), EM64T или IA-32e (от Intel)
и x64 (от Microsoft).
Една от основните черти на x86 архитектурата е пълната софтуерна обратна съвместимост. Това
означава, че всеки нов член на фамилията може да изпълнява програмите, които са били създадени
за неговите предшественици. Тази съвместимост е една от предпоставките за огромния успех на
x86 архитектурата.

You might also like