Ядрото на микропроцесора

Още първите изчислителни машини, конструирани отначало с електронно-вакуумни лампи, а след това и с дискретни полупроводникови елементи – диоди и транзистори, са имали основно ядро – Централен Процесор (Central Processor Unit -CPU). Ролята на това ядро се запазва и разширява при изчислителните системи от следващите поколения, вече изпълнени като интегрални схеми – микропроцесорите. В днешно време структурата на ядрото е типична за болшинството микроконтролери.

Ядрото на базовия “класически” микропроцесор е съвкупност от няколко основни блока:

  • управляващ и синхронизиращ блок УУ;
    изпълнителен – аритметично-логическо устройство АЛУ;
  • регистров – като временна памет за оперативни данни. Всички тези блокове са обхванати от общи връзки,
  • организирани в система от магистрали, с паралелно разположени микро-шини. Няколко общи магистрали обслужват системата за адреси, за управляващи и синхронизиращи сигнали и за данни – оперативни и инструкции.

В чертежите най-често се изобразява магистралата за данни.

По адресната магистрала се пренася двоичният код на адреси към регистрите, към паметите и другите блокове. Разредността на тази магистрала Яд определя общия обем адреси NA , към които може да се обръща системата NA = 2RA.
Управляващите шини доставят изпълнителни сигнали, указани в инструкцията. Това са сигнали за аритметични действия, за четене или за запис от регистър или външен блок, за управление на външни устройства.

По магистралата за данни се пренасят в паралелен формат оперативните данни, инструкции, а и адреси.
Портовете за данни обикновено са двупосочни (I/O) и броят на изводите обикновено е равен на разредността на системата. Буферни стъпала към порта осигуряват програмно посоката на предаване на данни – към ядрото (Input I) или навън (Output О).

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

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

По принцип към общото понятие ДАННИ спадат:

  1. оперативните данни,
  2. програмните данни – инструкциите и адресите.

Проблемът е как ядрото на процесора обработва тези три типа данни.
Според типа и начина на пренасяне на магистралите, са разработени и се прилагат концепции.
Фон-Нюмановската (Принстонска) концепция не прави разлика между оперативните данни и инструкциите. Двата вида данни се обслужват от една единствена магистрала за данни,
последователно във времето.

Магистрала ДАННИ

Разделно, от програмната памет се извличат инструкциите и през магистралата за данни постъпват в управляващия блок. Оперативните данни се придвижват през магистралата през друг интервал. Архитектурата изисква по-малък и евтин чип, което я е наложило в масовото производство на микропроцесори.
Същата магистрала за данни може да се използва за адресиране на регистри и устройства.
John von Neumann 1903 -1957 (роден в Будапеща с име Janos) е бил много добър математик. Защитава докторат и работи в Принстонския университет (Princeton University) в САЩ, където развива идеята за съхраняване на данните в компютъра.
Харвардската архитектура (Harvard Architecture) е характерна с две магистрали за данни. По основната магистрала се пренасят само оперативни данни, а втора магистрала е прадназначена основно за инструкции, като свързва само програмната памет с регистъра на инструкциите в управляващото устройство. Тази втора, програмна магистрала извлича данни само от програмната памет и нейната разредност може да се различава от тази на основната магистрала.
Харвардската архитектура се прилага масово в значителна част от съвременните микропроцесори.

Изпълнителен блок

Този блок реализира двоични аритметични и логически операции и е известен като Аритметично-Логическо устройство (АЛУ).
В зависимост от структурата на блока и на програмата МП могат да обработват двоични данни с различни характеристики:

  • цели числа – със знак (Integer);
  • реални числа – със знак с фиксирана запетая (Real, Fixed Point);
  • числа с двоично-десетичен код (BCD);
  • реални числа с формат плаваща запетая (Floating Point).

Микроконтролерите, предназначени за вградени системи в повечето случаи оперират с реални числа във формат фиксирана запетая (с фиксирана разредност на дробната част).

Микропроцесорите с универсално предназначение и сигналните процесори работят с дробни числа, с фиксирана и с плаваща запетая.
Аритметичната част на АЛУ съдържа многоразредни паралелни суматори / субстрактори, за сумиране и изваждане на числа със и без знак, за умножение и делене.
За високопроизводителни МП, за бърза обработка на големи числени масиви, са специално разработени аритметични блокове, които могат да бъдат обособени като отделна ИС аритметичен копроцесор.

Логическите действия от АЛУ се осъществяват от булев процесор, изпълняващ основните операции.
Аритметично-логическото устройство АЛУ е комбинационна схема с многоразреден изход. Двата операнда се подават едновременно на двата многоразредни входа. Режимите на работа на АЛУ се управляват чрез сигнали от управляващото устройство УУ.
При МП с една магистрала за данни, е необходимо към единия вход на АЛУ да се включи основен регистър – популярен като акумулатор АСС, които съхранява временно единия операнд. Вторият операнд се извлича от друг регистър през магистралата за данни и се въвежда в АЛУ заедно с данните от акумулатора АСС, когато управляващият сигнал от УУ активира, изисквана от програмата, аритметична или логическа операция. Полученият резултат се пренася през магистралата за данни и се записва отново в акумулатора или в друг регистър.
АЛУ и акумулаторът имат връзка със служебен регистър, известен като регистър за състоянията, даващ индикация (флагове) за определени състояния на устройства от системата.

Блок регистри

Основни функции и структура

Основната задача на регистрите е да съхраняват временно оперативните данни, адреси и кодове на инструкциите. На фиг.2.4 е показана блокова схема на 8 битов статичен регистър, с паралелни входове и изходи и с общо байтово адресиране. Всеки запомнящ елемент на регистъра съдържа тригер, чиито вход и изход са свързани към разрешаваща логика. В примера това са тривходови ЛЕ И.
Най-десният ЗЕ е с най-малко тегло (2°) и е известен като LSB, а най-левият – е най-съществения бит MSB (2°’1).
За да се осъществи запис в тригерите е необходим общ разрешаващ сигнал за запис WE, постъпващ на разрешаващия гейт – ЛЕ И. Подобен общ разрешаващ сигнал за четене RE се подава на изходните гейтове. Индивидуален адресен сигнал постъпва едновременно на разрешаващите входни и изходни ЛЕ, синхронизирано с един от разрешаващите сигнали за запис WE или четене RE (фиг.2.5).

Адресният сигнал дава възможност да се ^ЬЩ^ПВЯТ активните режими – запис W (Write) или четене R (Ready Пасивен е режимът на съхраняване М (Memory), през които не се подава нито адресен сигнал, нито сигналите WE или RE. В такова “спящо” състояние консумацията на регистъра е минимална.

Регистри за данни Акумулатор (АСС)

Този регистър буферира (съхранява временно) единия операнд преди активиране на АЛУ и съхранява
междинно резултата. АСС получава данни от магистралата за данни, а неговият изход може да бъде превключван, както към единия вход на АЛУ, така и към магистралата за данни.

Изместване и ротация.

Акумулаторът (или някой друг регистър) притежава две характерни функции – изместване и ротация.

При тази операция съдържанието на регистъра се придвижва с една позиция – наляво или надясно. При изместване наляво изпада крайния бит Ь7. Ако е необходимо този краен бит може да се съхрани в друг специален регистър на състоянията RF, като името на разреда, в който се записва временно този бит е като бит С бит ЬО, а ЬО може да се прехвърли в друг регистър. Операцията ротация се осъществява при кръгово свързване на регистъра. Такова свързване може да се осъществи директно или през бита за пренос С, в регистъра на състоянията. При ротацията на ляво за всеки такт битовете се изместват с една позиция на ляво. Накрая най-левият бит ЬО ще заеме мястото на бит Ь7. Ако се извърши 9 битова ротация, бит ЬО може да постъпи в бит С. Тези две операции са използуват основно при умножение и деление.
Регистрите с общо предназначение съхраняват каквато и да е информация, използвана от програмата.
Регистърът на състоянията RF, известен като регистър на флаговете, обикновено е битово достъпен (адресируем). При определено екстремно събитие в блок от системата, най-често
изпълнителния (акумулатора или АЛУ), избран бит от регистъра RF се установява на високо ниво “1″ (Set=1), което означава известие или “вдигнат флаг” за появилото се събитие. Това събитие, от своя страна е условие, което разклонява изпълнението на програмата в определена посока.

Състояние (условие) if..
например:

  • Препъпване (Overflow, О или OV). Показва, че аритметичният пренос е генерирал допълнителен бит.
  • Флаг за Знак (Sign,S или Negative, N). При положително число N=0, а при отрицателно N=1.
  • Флаг Полупренос (Half-Carry,Н,АС) -Този бит се използува при операции с BCD код в АЛУ;
  • Флаг Z. Установяването на този бит (Z=1) показва, че съдържанието на АСС е нулирано.
  • Флаг Пренос С (CY). Може да изпълнява няколко независими функции:
    Ако при сумирането от АЛУ се генерира бит 1, превишаващ разредността на акумулатора АСС, тази препълваща акумулатора 1 се прехвърля в клетка С и се прибавя автоматично като пренос към следващото сумиране.
  • При операция изместване бит разширяваща функция.
  • Битът за пренос С може да служи като еднобитов акумулатор при логически операции.

Флаг Прекъсване I. Управлява се от програмиста. Когато този бит е установен (1=1), е възможно външно прекъсване. Когато 1=0, външно прекъсване е забранено, приложена е е МАСКА.
Подобни флагови функции имат и други регистри. Един от тях например има наименование PSW (Program Status Word).
Редица специални регистри от интегрирани подсистеми и модули също притежават битове с флагови функции. Тези флагове управляват състоянието на електронни ключове, за установяване на съответни опции на подсистемата. Състоянието на тези флагове се управлява програмно или апаратно.
Регистър на инструкциите (IR). Този регистър принадлежи функционално към управляващия блок. В регистъра на инструкциите постъпва кодът (КОП) на предстоящата за изпълнение инструкция. При микропроцесори с харвардска архитектура разредността на този регистър обикновено е по-висока от тази на регистрите за оперативни данни.

Адресни регистри.

Тук се включват програмният брояч PC, индексният регистър IX и стекът.
Програмният брояч PC е основен организационен елемент, който извиква и въвежда поредния адрес от паметта и осигурява последователното изпълнение на въведените инструкции и програма в системата .

Блокът PC съдържа регистър за адреса на КОП на изпълняваната инструкция RPC и реверсивен брояч СпРС. Броячът Спре се зарежда с поредния номер на програмата, съдържащ КОП. В регистъра RPC се записва съответния адрес на инструкцията от програмната памет, която съдържа КОП.. От нар. магазинен тип и указател на стека SP ( v регистър RSP и брояч CSP), чиято структура е аналогична на тази на програмния брояч PC
.
Адресите постъпват по реда на пристигането и се насочват към дъното на стека. Масивът от регистри на стека са с характерна организация на въвеждане и извеждане – LIFO (Last-In-First-Out) – Последният записан в стека се чете първи.
За работата на стека може да се направи механична аналогия с кутия, чието вътрешно дъно се опира върху пружина (фиг.2.106). Фигуративно достъпът е само през горната страна. При последователно зареждане на стека, най-отгоре ще бъде последният адрес, а при четене – първи излиза последно въведения адрес. При зареждане на стека, броячът му увеличава съдържанието си с 1, а при извличане броячът му намалява съдържанието с 1.
В магазинната памет могат да се записват временно данни от други програмно достъпни регистри, какъвто е например акумулаторът.
Стековете се изпълняват апаратно или програмно. Апаратният стек се формира от п на брой вътрешни регистри. “Неограничен” по дълбочина стек се реализира по програмен път в RAM паметта.
Индексен регистър – съхранява базова числова стойност, спрямо която се изчисляват адресите на клетки от паметта, когато се работи с т.нар. индексно образуван адрес

Управляващ блок Управляващият блок съдържа няколко секции:

  1. регистър за инструкции IR, за временен запис на извлечения от програмната памет КОП на инструкцията;
  2. дешифратор на КОП на инструкцията, избиращ изпълнителен сигнал към следващия генератор на управляващи сигнали;
  3. логическа част, генерираща управляващи сигнали.

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

Специални управляващи сигнали

Специалните сигнали са задължителни за управлението на микропроцесора. За някой от тях са предвидени изводи.
Сигнал (RESET, RST). При подаване на този сигнал МП започва работа по установяване на начално състояние. Под негово въздействие регистрите се установяват в определено начално състояние – високо или ниско, а буферите с три изходни състояния преминават в третото високоомно състояние. В този смисъл този сигнал често има смисъл и като “нулиране”.

Сигналите ЧЕТЕНЕ/ ЗАПИС RAN (Read/Write) показват дали МП реализира цикъл четене или запис.
Сигнали за ПРЕКЪСВАНЕ. Те установяват МП в състояние на обслужване при заявка за прекъсване. При получаване на тези сигнали завършва изпълнението на текущата инструкция и нейният адрес се изпраща в стековата памет, след което стартира специална подпрограма.
В някои фамилии микропроцесори може да има външни изводи за други управляващи сигнали, прим. за избор на вътрешна или външна памет, избор на чип и др.

Сходни статии:

  1. 16 Разряден микропроцесор I8086/I8088 Обяснение и сравнение на видовете адресации, използвани в микропроцесорите. Начините за адресиране в общия случаи са еднакви както за 8 така и за 16 разредните ПК. Най-често използваните видове адресации...
  2. Микропроцесор Intel I80386 Микропроцесор Intel I80386 е първият 32-разреден микропроцесор от фамилията Интел. Той беше обявен през 1985г. Преализиран чрез CHMOS III технология с норми 1, 5 микрометри и съдържа над 275 000...
  3. Микропроцесорна схемотехника, Електронен омметър За реализирането на електронен омметър е необходимо подходящо устройство, което да преобразува електрическото съпротивление в друга подходяща величина (напр. напрежение). В последствие тя се измерва и показанието се визуализира в...

Новини за технологии и джаджи – Актуална информация за най-яките лаптопи, компютри, телфони и фотоапарати
Comments are closed.