МП називається програмний пристрій обробки даних, що виконується засобами мікроелектронних технологій в корпусі однієї або декількох великих інтегральних схем.
Загальна структура МП може бути представлена:
До складу МП входить:
- операційне пристрій у вигляді АЛУ і регістра загального призначення;
- пристрій управління (УУ), що включають регістри загального призначення;
- регістр команд (РГ);
- лічильник команд (СК);
Під розрядністю МП розуміють кількість двійкових розрядів, оброблюваних операційним пристроєм МП.
Типовим представником 8-розрядного МП є Intel 8080, КР 580.
Загальна структура МП має наступний вигляд:
Операційний пристрій представлено: АЛУ, схемою десяткової корекції, регістр загального призначення А (акумулятор), в якому розміщується 1 з операндів і після виконання операції результат виконання:
2 буферних регістра БР1 і БР2.
Крім цього в складі регістра загального призначення є 8-розрядні регістри B-L, доступ до яких відбувається через мультиплексор МПП. Регістри W і Z програмно недоступні. Регістри B-L можуть використовуватися парами як 16-розрядні.
СП - схема збільшень. Використовується для зміни вмісту програмного лічильника і вмісту стека.
При сигналі управління = 1 будуть відкриті логічні елементи 1 і 4. У результаті значення з внутрішньої шини даних передається на зовнішню. Якщо = 0, то значення з зовнішньої шини даних будуть надходити на внутрішню.
Пристрій управління і синхронізації зібрано за схемою з «жорсткою» логікою і формує сигнал управління подається на всі елементи МП. Розподіл їх в часі забезпечує сигнал синхронізації.
Крім цього пристрій формує сигнал під час запису інформації в пам'ять або на зовнішній пристрій. При передачі інформації в МП по шинам даних формується сигнал DB.
HOLD - сигнал захоплення. Формується після закінчення виконання поточної команди до початку виконання наступної команди.
HDLA - сигнал підтвердження сигналу захоплення.
INT - запит на переривання. Сприймається МП після виконання поточної команди.
INT E - сигнал дозволу переривання. Може бути встановлений програмою.
WAIT - сигнал режиму очікування МП, в якому знаходиться МП при підготовці зовнішніх пристроїв до процесу обміну інформацією.
READY - сигнал готовності від зовнішніх пристроїв.
F1 і F2 - сигнал, що надходить від тактового генератора.
Команди МП можуть бути 1-, 2-, 3-х байтними.
4. реєстрова. Застосовується в однобайтовим командах, в якому використовується регістр, який визначається кодом команди.
Всі команди діляться на наступні групи:
1. команди пересилання;
2. арифметичні, що включають алгоритми додавання, віднімання, інкремента, декремента. Множення і ділення виконуваної команди негативного числа, представляються додатковим кодом.
3. логічні: «і», «або», зсувні.
4. команди управління і команди введення \ виведення з зовнішніх пристроїв.
5. команди переходу і виклику підпрограм умовного і безумовного переходу.
Прикладом 16-ти розрядного процесора є Intel-8086.
Мікропроцесор містить 16-ти розрядні сегментні регістри.
CS - для кодового сегмента
DS - регістр додаткового сегмента
SS - сегментний регістр сегмента стека
IP - покажчик на інструкцію
16-ти розрядні регістри загального призначення (AX, BX, CX, DX). регістри покажчики і індексні регістри.
SP - Stek pointer
BP - Base pointer
DI - destination index
SI - source index
Прапоровий регістр містить байти, що визначають режими роботи мікропроцесора і результати роботи операцій. Є 6-ти байтная чергу команд; пристрій управління і синхронізації заповнює регістри черги командами і черги інструкцій при обробці поточної команди.
Із звільненням черзі команд вона заповнюється новими командами відповідно до виконання ходу програми. Це дає час при вибірки команд з пам'яті, використовуючи команди і регістрів чергових команд.
Для доступу до цих осередків використовується сегментація пам'яті з виділенням сегментів по 64 Кб. (Відповідно 16 розрядів. Вміст сегмента регістра доповнюється праворуч 16-тиричном нулем і до отриманого результату додається 16-тиричном зміщення.
Регістри загального призначення можуть бути розбиті на 8-ми розрядні регістри на старшу і молодшу частину. AH, AL; BH, BL; CH, CL; DH, DL. - ці регістри використовуються в складі спеціальних команд.
Для доступу до сегменту стека використовуються спеціальні регістри SP і BP. Індексні регістри D1 і S1 використовуються при обробці операндів, що займають послідовні байти пам'яті (при обробці рядків символів). Значення цих регістрів в певних інструкціях додається до вмісту сегментного регістра і зміщення.
Прапоровий регістр доповнено бітами по відношенню до 8-міразрядной моделі є прапори:
CF - прапор перенесення з старшого розряду
OF - прапор переповнення
AF - прапор дополн. перенесення (для десяткового перенесення).
PF - прапор парності.
PF = 1, якщо кількість одиниць біт парне, прапори IF, DF, TF - прапори управління.
IF - прапор дозволу переривання (може встановлюватися програмно)
DF - прапор напрямку при обробці строкових операндів.
TF - прапор трасування (мікропроцесор виконує 1-у команду і зупиняється).
Мікропроцесор використовує вбудоване пристрій управління. Тактова частота становить 5-8 МГц.
1. Сегментна сторінкова віртуальна пам'ять зі стор. 4 Гб, сегментами 64Тб.
2. Бесстранічная сегментна віртуальна пам'ять з сегментами по 4Гб і загальним об'ємом 64Тб.
3. Сторінкова сегментна організація пам'яті зі сторінками 4Кб і сегментами до 4Гб.
4. Бесстранічная сегментна організація пам'яті з сегментами до 4Гб.
Особливість - включення співпроцесора в загальну структуру.
Мікроконтролер має суперскалярной архітектурою, що означає те, що в кожен момент часу може виконуватися більш 1-ї команди за рахунок наявності в складі 2-х АЛУ і пристрої обробки чисел в форматі з плаваючою точкою (FPU), які можуть працювати паралельно.
До складу входять 2 пристрої внутрішньої кеш пам'яті для розміщення команд та даних.
Блок прогнозування розгалужень, що дозволяє виконати попередню завантаження частини програми, виконання якої найбільш ймовірно, що збільшує продуктивність в цілому на 25%.
У цілочисельних АЛУ і FPU застосовуються конвеєри в АЛУ - 5 ступінчасті, в FPU - 8 ступінчасті, що підвищує продуктивність, тому що на конвеєрі різні компоненти виконують свою обробку окремих частин потоків команд.
В результаті ці пристрої працюють паралельно, тому одна команда з плаваючою точкою обробляється за 1 машинний такт, операції множення, ділення, додавання реалізуються апаратно.
Останні моделі мікропроцесорів відрізняються введенням кеш-пам'яті 2-го і 3-го рівня для моделей, які розміщувалися окремо на мікропроцесорній платі, однак, є й інші архітектури: AMD, які не використовують кеш-пам'ять 2,3 - рівнів, але показують хороші результати. Також існують 64-розрядні процесори.