Техника

Микропроцесори.....

Микропроцесори
(0 от 0 гласували)

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

Всеки микропроцесор си има тактов генератор, който го захранва с поредица от импулси (1 Hz = 1 имп/сек). Тактовата честота е признак за бързодействие.

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

а) 4-битови (INTEL 4004). Тактовата честота е равна на100 KHz. В момента се използват за по-специални задачи (в алармите например);

б) 8-битови (INTEL 8080). Тактовата честота е равна на 2-3 MHz. Използват се в касови апарати и други;

в) 16-битови (INTEL 8086). Тактовата честота е равна на 8 MHz;

г) 32-битови (INTEL 386). Тактовата честота е равна на 20-100 MHz;

д) 64-битови.

Класификация на микропроцесорите според полупроводниковите технологии:

а) универсални - базират се на MOS-технологии. Микропроцесорът е разположен в една голяма интегрална схема. Тук спадат всички генерации микропроцесори;

б) микропрограмируеми - наричат се още bit-slice. Сглобяват се от няколко големи интегрални схеми, една от които се нарича микропрограмно управление. Базират се на TTL-технологии и консумират много енергия. Използват се във високопроизводителните компютри и за военни цели. Такъв е INTEL 3000 от 1986 година.

За развитието на микропроцесорните архитектури най-голям принос имат американските фирми Intel и Motorola. Сега в областта на универсалните микропроцесори лидер е Intel, а други фирми произвеждат Intel - съвместими микропроцесори. Най-сериозният  конкурент  на Intel със собствени бързи архитектури на универсални микропроцесори в момента е фирмата AMD.

 

Фирмата Intel представи микропроцесора І 8086 през м. юни 1978г. Този процесор притежава истински 16 битов дизайн с 16 битови вътрешни регистри и 16 битова шина за данни. Това означаваше, че той бе в състояние да обработва 16 битови числа и данни вътрешно както и да прехвърля по 16 бита едновременно към и от чипа. Първоначално работеше до 5 MHz. Използува се 20 битово адресиране което позволява директно адресиране до 1 МВ памет. За намаляване на цената през 1979г. Intel представи орязана версия на 8086 наречена 8088. Процесорът 8088 използуваше същото вътрешно ядро като 8086 но външната шина за данни бе намалена на 8 бита. Това позволи да се използуват поддържащите чинове за по-стария 8 битов 8085 микропроцесор като можеха да се проектират по-евтини платки и системи .

Блокова схема на микропроцесор І 8086/8088 .

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

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

Устройство за управление на шина (УУШ)- състои се от набор сегментни регистри, брояч на инструкциите, вътрешни комуникационни регистри, АЛУ за изчисляване на физическия адрес, регистър за опашка на инструкции и блок за управление на микропроцесорната шина. Блокът за управление на микропроцесорната шина е свързан с адресната шина включена към изхода на АЛУ за физическия адрес и с шината за данни. Той изпраща байтовете на инструкциите към регистъра за опашката. Връзката между ИУ и УУШ се осъществява посредством шината на АЛУ и 8 разрядната шина на опашката, която е свързана към входа на блока за управление на ИУ.

ИУ осигурява изпълнението на всички инструкции, подава данните и началната информация за адресите към УУШ и обслужва регистрите о общо назначение, флаговия и временните регистри на микропроцесора и основното АЛУ. УУШ реализира циклите на микропроцесорната шина, осигурява формирането на 20 разряден адрес, обновява съдържанието на брояча на инструкциите и зарежда регистъра за опашката с прочетените инструкции. Освен това УУШ предава данните от и към шината на АЛУ .

Вътрешната структура и начина на действие на МП 8088 са подобни на разглежданите. Разликата е свързана с размери на регистъра за опашката на инструкциите–4 байта (вместо 6 при МП 8086) и с разрядността на шината за данни в УУШ – 8 (вместо 16 при 8086). Това означава че шините за данни при 8088 са 8 а при 8086 – 16.

Основната част от микропроцесорната шина съставят шината за данни и адресната шина на МП.

Тъй като броят  на изводите на интегралната схема на МП е ограничен то МП 8086/88 използува комбинирана (мултиплексирана) шина за адреси и за данни. Това означава, че част от изводите на МП имат двойна функция; в даден момент те обслужват адресната шина а в следващия момент шината за данни.

 

Вътрешни регистри на МП І 8086/8088 се подразделят на:

 

А. Регистри с общо назначение ( РОН ).

 Те от своя страна се делят на регистри за данни, указатели и индексни регистри. В блока на регистрите за данни са включени четири 16 битови регистъра означени като АХ, ВХ, СХ, DX. Във всеки от тях може да се записват операциите и резултата от операциите. Възможно е половинките на тези регистри да се адресират поотделно и да се използуват като 8 битови регистри означени съответно като AH, AL, BH, BL, CH, CL, DH, DL. Всеки от тези регистри също може да се използува като акумулатор за операндите и резултата от аритметични и логически операции. Регистрите BX, CX, DX (16 разрядни) освен аритметически имат и следните специфични предназначения:

- BX – използува се като базов регистър при изчисляване на адреси;

- CX – използува се в някои команди като неявно адресиран брояч ( подразбира се от МП );

- DX – в някои операции с входно-изходни устройства , съдържа адреса на клетката от интерфейса чрез която се извършва обмен на данни с конкретно устройство.

Съвкупността от регистри SP, BP, SI, DI се нарича група на регистрите указатели и индексните регистри ( PI група ) . Регистрите в тази група са подобни но това, че в общия случай те съдържат изместващите адреси, използувани за адресиране в рамките на даден сегмент. Както и общите регистри и тези регистри могат да участвуват по взаимозаменяем начин в 16 битовите аритметични и логически операции на МП. Те са подобни и поради това че могат да участвуват при изчисляване на адреса.

Указателите по правило се прибавят към съдържащите се изместващи адреси в рамките на текущия сегмент от данни, ако не е зададено друго положение от програмата.

- SPуказател на стека;

- BP – указател на базата;

- SI – индекс на операнда;

- DI – индекс на резултата.

                       

                        Б. Сегментни регистри.

Съвкупността от  регистрите CS, DS, SS и ES се нарича група на сегментните регистри или S група. Играят важна роля в механизма за адресиране на паметта от процесора. Те участвуват в определянето на всички адреси на паметта. Имената им имат следните мнемонични означения:

- CS – кодов (програмен);               - SS – стек;

- DS – данни;                                    - ES – допълнителен.

 

Съдържанието на регистъра CS дефинира текущия сегмент на инструкциите. Всяко извличане на инструкция е свързано с този регистър, като изместването се съдържа в указателя на инструкциите IP.

Съдържанието на регистъра DS определя текущия сегмент от данни

Съдържанието на регистъра SS определя текущия сегмент на стека. Счита се, че ако от програмата не е зададено друго положение всички обръщения към данните, които явно или неявно използуват регистрите SP или BP са свързани с регистъра SS. Това включва всички операции за четене и запис в стека, включително тези предизвикани от инструкции за извикване на стандартни подпрограми.

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

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

В. Флангови регистри (Регистър за състояние). В него са групирани флагове за състояние и флагове за управление на МП.

 

Флаговете за състояние са: CF, PF, AF, ZF, SF и OF. Те се установяват от изпълнителното устройство и отразяват определени признаци на резултата от аритметичните и логически операции. Наборът от инструкции на МП включва група инструкции чрез които може да се променя изпълнението на дадена програма в зависимост от текущото състояние на тези флагове. Флаговете за състояние се установяват или нулират от различни инструкции по различен начин но най-общо те отразяват следните условия :

- флаг CF отразява наличието или липсата на пренос от старшия бит на резултата ( байта или думата );

- флаг за четност PF – установява се в 1 ако броят на единиците в резултата е четно число;

- флаг за допълнителен пренос - AF – отразява наличието или липсата на пренос от младшата тетрада на осем битов резултат или от младши байт на 16 битов резултат;

- флаг за нулев резултат - ZF – установява се в 1 ако резултатът от операцията е нула;

- флаг за знак SF – отразява знака на резултата т.е. най-старшия бит на резултата;

- флаг за препълване - OF  отразява наличието или липсата на препълване при изпълнение на аритметичните операции;

- флаговете за управление TF, IF и DF се установяват или нулират програмно и се използуват за да се измени изпълнението на операциите на микропроцесора.

+ флаг за трасиране TF – чрез него МП се установява в режим на постъпково изпълнение на програмата. В този режим след изпълнение на всяка инструкция МП извършва автоматично вътрешно прекъсване, което позволява проследяване и настройка на програмата.

+ флаг за разрешаване на прекъсванията IF – чрез него се дава възможност на МП да приема заявки за външни прекъсвания (апаратни) по линията INTR. Този флаг не влияе на немаскируемите и вътрешните прекъсвания на МП.

+ флагът за посока DF – определя посоката при обработване на низове . При DF = 0 посоката е от младшите към старшите адреси на операндите. При DF = 1 обработката се извършва в обратна посока.

 

                        Г. Брояч на инструкции : IP. Регистърът е 16 разряден.

Обновява се от устройството за връзка с шината и съдържа отместването на следващата инструкция спрямо началото на текущия кодов сегмент. При нормално изпълнение на дадена програма IP съдържа отместването на следващата инструкция която УУШ трябва да се извлече от паметта. Преди записването на съдържанието на IP в стека то се коригира автоматично за посочване на следващата инструкция която трябва да се изпълни. Директният достъп до IP по програмен път е невъзможен.

 

За програмистите, работещи на Асемблер, от голямо значение е познаването на регистрите на конкретния микропроцесор и техните особености. На Фиг.1.18 е показан основният програмен модел на първите микропроцесори на Intel . В следващите модели от фамилията  може да се открие същия програмен модел, с добавени нови регистри. Разрядността на регистрите  варира от 16 бита в модела 8086/88, до 64 бита в Pentium IV.

В процесорите 80486 и Pentium има блокове за работа с числа с плаваща запетая с допълнителни регистри към тях

Микропроцесори.....

Коментари