Микропроцесори.Архитектура и реализация.
Микропроцесорите са ЦП на съвременните компютри. Те се отличават с много малките си размери, ограничения обем от данни, които могат да се обработват, по-малкото си бързодействие и по-ниска цена. Конструирани са с големи интегрални схеми.
Информацията се обменя с периферното устройство и паметта чрез системна шина, състояща се от адресни шини, шини за данни и управляващи шини. Периферните устройства (ПУ) се адресират с регистри, намиращи се в управляващото устроиство (УУ). При работа с паметта се използва стекова организация. Системите с микропроцесор се изграждат на модулен принцип.
Класификация:
- Според технологията на интеграционната схема- микропроцесорите се състоят от определен брой транзистори, които се вграждат в схемата чрез MOS или биполярна технология.
- MOS- metal oxide support- бавна, по-евтина.
- C MOS- най-използвана, съвършенна.
- Биполярна- по-бърза, но иска повече енергия. Работи с превключване на токове.
- Според организацията на информационната дума.
- С фиксирана дължина на думата.
- От типа микропроцесорни секции- няколко секции се свързват в един микропроцесор и според броя им се определя дължината на думата.
- Според системата от команди.
- С фиксирана система от команди- от производителя.
- Микропрограмируеми – от програмиста. Ние ще разглеждаме с фиксирана система (използва се масово).
Микропроцесора се състои от една или няколко интеграционни схеми. Микропроцесорните системи са изградени от микропроцесор и схеми от различни типове памет, входно-изходните системи за свързване на периферното устройство с шината и др. Всички те, заедно с микропроцесора образуват микропроцесорна фамилия – в нея управляващите сигнали съвпадат с тези на микропроцесора и не са нужни съгласувания.
Архитектура на микропроцесора
Архитектурата на микропроцесора е шинно ориентирана. Всички схеми, които се свързват към шините са: микропроцесор, памети и входно – изходни схеми. Те имат изход с три състояния.
Адресните шини са еднопосочни и определят адресното пространство, в което се адресират паметта и регистрите на входно – изходните схеми. То е от 64 КВ до няколко МВ. Микропроцесорите 8086 а и по-късните от тази фамилия (80286 до Pentium) разделят паметта на сегменти (при 8086 един сегмент е 64КВ), за да увеличат адресното си пространство (което при 8086 е 64КВ). Всяка програма работи с няколко сегмента. За всеки сегмент се използва 16-разреден регистър (сегментен регистър), който задава старшите разреди на адреса. При формирането на адрес, за адресните шини, съдържанието на съответния сегментен регистър допълнено от дясно с четири младши нули се събира с адреса получен в програмата. Така се разширява разредността на адреса по адресните шини. Шините за данни са двупосочни. Тяхната разредност обикновено съответства на дължината на думата извън микропроцесора. Управляващите шини предават сигналите за четене – запис, за заявки за прекъсвания, за потвърждаване на прекъсване, за установяване на всички схеми, свързани с шината в началното състояние. Регистров блок – броят и видовете регистри в микропроцесора са важни показатели – влиаят на програмирането. Регистровата структора на различни микропроцесори е различна, но функциите на различните регистри са еднакви. Регистрите се използват за запомняне на данни, адреси, кодове на инструкции и информация за състоянието на рачлични операции. АЛУ – извършва аритметични и логически операции с един или два операнда. То е толкова разредно, колкото е дължината на информационната дума вътре в микропроцесора. Регистърът акумулатор взима участие в повечето операции на АЛУ и пази резултата. Приемниците и подавателите, които са на изходите на шините са двупосочни: за шините, за данни и за управляващите шини и еднопосочни: за адресните шини. В микропроцесора обикновено има един вход за заявка за прекъсване и при появяването на такова, микропроцесора не знае от къде е подадена. Прилага се контролер за прекъсване, който е вграден или отделен чип. В контролера за прекъсване има два регистъра: за маски и за заявки. По програмен път в регистрите за маските се зареждат единици и нули (като единицата разрешава на съответната заявка за прекъсване да се запише в регистъра за заявките и от там да възбуди прекъсване на микропроцесора). В регистъра за заявки заявките за прекъсване се подредени по приоритет. Микропроцесора анализира този регистър и изпълнява прекъсването по начин пръв влязъл – пръв излязъл, като разбира от коя схема е заявката. Има три вида прекъсване: - Хардуерни – във входно – изходните устройства, маскируеми или не. - Софтуерни – за настройване на програмата, за преминаване от един процесор към друг - Изключения – при повреди Видове клавиатури (не само за микропроцесори, но и за машини) 1. CISK – съвършен набор от инструкции за компютъра- малко на брой, но обширни 2. RISK – редуциран набор от инструкции – разделя инструкциите на по – прости 3. Хибридни - комбинация
CISK RISK Хибридни Голям брой инстр. ~ 300 Малък брой инстр. ~ 30-40 Голям брой инстр. ~ 500 Микропрограмно управление 1. всяка инстр. е разбита на малки. 2. всички микрокодове се записват в паметта, четенето е по-бавно Управлението се заложено в самия микпопроцесор Двуадресен формат на инстр. Триадресен формат на инстр. Двуадресен формат на инстр. Променлива дълж. на инстр. Фиксирана дълж. на инстр. Променлива дълж. на инстр. Обръщение към ОП на инстр. 2 инстр. – LOAD/STORE Обръщение към ОП на инстр. Малък бр. универс. регистри Голям бр. универс. регистри Малък бр. универс. регистри Класическа обработка на дании Конвейрна обработка на данни Конвейрна обработка на данни Отделя процент за плаваща запетая Конвейрна обработка Няма КЕШ Има КЕШ Има КЕШСтруктора на микропроцесор
Блок за управление – достъпът до тази част е ограничен. Основната функция е да извлича и декодира инструкции от програмната памет и да изработва управляващи сигнали за изпълнение на инструкциите от АЛУ и регистърния блок. Този блок генерира сигнали, които се изпращат и към други елементи на компютъра.
Схеми за прекъсване
При конвейрна обработка: ако всеки такт е 120 ns то първият резултат ще е след 600 ns, вместо след 480 ns, но пък с всеки следващ ще се получи на всеки такт.
Пример за CISK: микропроцесор – i386
Няма разделение на паметта за данни и инструкции. Микропроцесорът чете или пише данни от паметта през шината за данни. Четенето на данни и инструкции е подобно. Когато се прочетат инструкциите, те не се записват в регистъра от изпълняващото устройство, а се препращат към опашката за извличане. След това устройството за инструкции чете инструкциите от опашката, декодира ги и изпраща инструкциите към изпълняващото устройство.
Конвейрна обработка
Операцията А + В = С се изпълнява в пет такта
- нормализация на двата операнда – 100 ns
- сравняване порядъците – 60 ns
- преместване на мантисата на числото с по-голям порядък – 100 ns
- събиране мантисите – 120 ns
- нормализация на резултата – 100 ns
Ако се приеме, че пордължителността на всеки такт е 120 ns (най-голямото) следователно резултатът ще е след 600 ns, вместо след 480 ns. Всеки следващ резултат обаче ще се получава на всеки такт, т.е. 120 ns
Коментари