
- •Міністерство освіти і науки україни
- •Івано-Франківський національний технічний університет нафти і газу
- •Т е м а 1: мікропроцесорні засоби обробки інформації
- •1.1 Основні поняття та визначення мікропроцесорної техніки
- •Мпп має уніфіковані під’єднувальні характеристики і функціонує у складі певної технічної системи.
- •1.2 Архітектура мікропроцесора
- •1.3 Структура і призначення виводів реального мп
- •2 Структура пам’яті мп
- •2.1 Основні характеристики і класифікація запам’ятовуючих пристроїв
- •2.2 Надоперативні і оперативні запам’ятовуючі пристрої
- •2.3 Постійні запам’ятовуючі пристрої
- •Запам’ятовуючі пристрої з послідовним доступом
- •2.4 Організація модулів пам'яті мпс
- •2.5 Інтерфейси мп систем
- •3 Організація роботи мп
- •3.1 Способи адресації типового мп
- •3.2 Система команд типового мп
- •4 Загальні засади створення мпс
- •4.1 Структура мпс
- •4.2 Основні етапи проектування мпс
- •Перелік використаних джерел
Мпп має уніфіковані під’єднувальні характеристики і функціонує у складі певної технічної системи.
Мікропроцесорна система (МПС) – це сукупність значної кількості функціональних пристроїв, одним з яких є мікропроцесор.
МікроЕОМ загального призначення – це мікроЕОМ, що мають великі операційні ресурси, пристосовані для обробки різноманітних числових і текстових даних та призначені для користування в обчислювальних центрах. Цей клас мікроЕОМ є базовим для ПК.
Спеціалізовані ЕОМ – це ЕОМ, призначені для реалізації певного конкретного алгоритму: перетворення Фур’є, обчислення кореляційних функцій, оброби сигналів від давачів та ін.
Вбудовані мікроЕОМ – це блоки керування і обробки даних, призначениі для використання у побутових приладах, системах технологічного контролю чи керуваня, периферійних пристроях ЕОМ та ін.
Мікроконтролер – керований пристрій, виконаний на одному, чи кількох кристалах, функціями якого є логічний аналіз і керування.
1.2 Архітектура мікропроцесора
Задачею мікропроцесорів є обробка множини цифрових сигналів за наперед заданим алгоритмом і видача множини вихідних цифрових сигналів. Тому варто розглянути докладніше будову та функціонування мікропроцесорів.
Будову мікропроцесорів найкраще пояснити на основі їх архітектури.
Слово архітектура походить від грецького architekton – будівельник – художній характер, стиль будови.
Під архітектурою мікропроцесора розуміють:
1) принцип його внутрішньої організації;
2) загальну структуру;
3) конкретну логічну структуру окремих пристроїв;
4) сукупність команд;
5) взаємодію між апаратною частиною (пристроями, що входять до складу мікропроцесора) та програмою обробки інформації системою, виконаною на основі МП.
Тобто, архітектура мікропроцесора – це сукупність його властивостей та характеристик, що розглядаються з позиції користувача.
Множину універсальних мікропроцесорів, що випускаються промисловістю, можна розділити за конструктивними ознаками на два різновиди:
Однокристальні МП з фіксованою довжиною слова (розрядністю) та визначеною системою команд;
2) Багатокристальні (секціоновані) МП з нарощуваною розрядністю слова та мікропроцесорним керуванням. Вони складаються з двох і більше ВІС. Останнім часом з’явилися і однокристальні мікропроцесори з мікропрограмним керуванням.
Структура багатокристального МП, мікропрограмне керування дозволяє досягти гнучкості у його використанні покращити характеристики та порівняно простими організувати розпаралелювання окремих машинних операцій, що збільшує продуктивність ЕОМ на таких МП.
Однак, хоча можливості багатокристальних МП суттєво вищі, ніж однокристальних, багато прикладних задач, в тому числі побудова автоматичних вимірювальних приладів, успішно вирішуються на основі використання одокристального МП. Тому обмежимося знайомством зі структурою останнього.
Для спрощення ознайомлення з мікропроцесорами, яких останнім часом зявилося багато різноманітних типів, розглянемо структуру базового однокристального універсального 8-ми розрядного МП.
На рисунку 1.1 наведено загальну структурну схему МП. До складу МП входять такі основні вузли:
1) АЛП – арифметико-логічний пристрій;
2) Керуючий пристрій;
3) Блок внутрішніх регістрів.
Коротко охарактеризуємо вузли МП:
АЛП – ядро МП, складається з:
1) двійкового суматора зі схемами прискореного переносу;
2) зсувного регістру;
3) регістру для тимчасового зберігання операндів.
Зазвичай цей пристрій (АЛП) виконує по командах кілька найпростіших операцій:
додавання;
віднімання;
зсув;
пересилання;
логічне додавання (АБО);
логічне множення;
додавання по модулю 2.
Рисунок 1.1 - Структурна схема однокристального 8-ми розрядного МП
При аналізі структурної схеми МП з’явились нові поняття – регістр та операнд. Пояснимо їх.
Регістр – це електронна схема для тимчасового зберігання двійкової інформації (машинного слова).
Його будують на тригерах, загальне число яких визначає розрядність регістра.
Кожен тригер регістра використовуться для введення, зберігання та виводу одного розряду (1 або 0) двійкового числа. Розрядність регістра вибирають у відповідності до довжини слова, яке в ньому зберігається.
Регістри, які використовуються тільки для введення, зберігання та виводу двійкової інформації, називають накопичуючими.
Зсувні регістри – крім виконання вказаних функцій, дозволяють здійснювати зсув двійкового числа вправо чи вліво (або в обох напрямках).
Якщо в накопичуючий регістр вводяться числа в паралельному коді, тобто одночасно на всі тригери, то введення чисел у зсувний регістр часто здійснюється в послідовному коді, подаючи послідовно один розряд за іншим. Хоча також, можливе введення чисел і в паралельному коді.
Операнд – це число або символ, які беруть участь у машинній операції.
Наприклад, у виразі y=a+b або ω=2k-1 операнди – це a, b, 2, k, 1. Типовим прикладом операнда, що використовується при процедурі обробки даних МП служить байт.
Пристрій керування (ПК) – «керує» роботою АЛП та внутрішніх регістрів в процесі виконання команди.
У відповідності до коду операції, який міститься в команді, ПК формує внутрішні сигнали керування блоками МП.
Адресна частина команди разом з сигналами керування використовується для зчитування даних з визначеної комірки пам’яті (запису даних в комірку). По сигналах ПК здійснюється вибірка кожної нової, чергової команди.
Блок внутрішніх регістрів виконує такі функції:
1) розширює можливості АЛП;
2) використовуєть як внутрішня пам’ять мікропроцесора - для тимчасового зберігання даних і команд.
Він також виконує деякі процедури обробки інформації.
Зазвичай цей блок містить:
регістри загального призначення (РЗП);
спеціальні регістри:
а) регістр-акумулятор А,
б) буферний регістр адреси,
в) буферний регістр даних,
г) лічильник команд,
д) регістр команд,
е) регістри стеку,
ж) регістр стану.
Коротко охарактеризуємо функції всіх регістрів.
Регістри загального призначення (РЗП) – число їх в МП знаходиться межах 4 - 64, вони в значній мірі визначають обчислювальні можливості МП.
Основна функція РЗП – зберігання операндів, тобто даних, що підлягають обробці. Але вони можуть виконувати роль і спеціальних регістрів.
Всі РЗП доступні програмісту, який їх розглядає як надоперативний запам’ятовуючий пристрій. Інколи в технічній документації до мікропроцесора містяться рекомендації по використанню РЗП.
Регістр-акумулятор – (або просто акумулятор, деколи накопичувач) призначений для тимчасового зберігання операнду або тимчасового результату арифметичних та логічних операцій, що проводяться АЛП.
При виконанні якої-небудь операції з двома операндами в цьому регістрі міститься один з використовуваних операндів, а після виконання операції – її результат. Розрядність регістра дорівнює розрядності інформаційного слова (для МП наведеної структури - 8 розрядів).
Часто введення та виведення всіх даних в МП проводяться через акумулятор. Зустрічаються МП з двома і більше акумуляторами, що дозволяє підвищити гнучкість роботи та ефективність вирішення задач.
Буферний регістр адреси – це спеціальний регістр, що служить для приймання зберігання адресної частини виконуваної команди.
Тобто, в ньому міститься до видачі на адресну шину адреса слова, що зберігається в комірці зовнішньої пам’яті або іншому регістрі.
Можлива кількість адрес, тобто безпосередньо адресованих слів пам’яті, визначається розрядністю цього регістра.
Наприклад. В 16-ти розрядному регістрі можна, змінюючи нулі і одиниці окремих розрядів двобайтового слова, розмістити (зрозуміло, не одночасно) 216= 65 536 адрес комірок (слів) пам’яті.
Буферний регістр даних – використовується для тимчасового зберігання вибраного з пам’яті слова перед видачею його на зовнішню шину даних. Розрядність цього регістру визначається кількістю байтів інформаційного слова (для зберігання однобайтового слова необхідний 8-розрядний регістр, двобайтового слова – 16-розрядний).
Лічильник команд – це лічильник, який містить адресу комірки пам’яті, в якій розміщені байти виконуваної команди.
Зазвичай, команди визначеної програми знаходяться в послідовно розміщених комірках пам’яті:
- для однобайтової команди число, що вказує адресу кожної наступної комірки пам’яті, на одиницю більше за число, що визначає адресу даної комірки.
Тому перехід до наступної команди досягається збільшенням числа, що міститься в лічильнику команд, на одиницю (для повертання до попередньої команди вміст лічильника повинен бути зменшений на одиницю). На протязі виконання поточної команди, тобто при передачі команди з пам’яті в мікропроцесор, вміст лічильника команд збільшується на одиницю і утворюється адреса чергової команди.
Ось чому говорять, що лічильник команд призначений для зберігання адреси команди, яка слідує в програмі по порядку за виконуваною командою.
Можлива ситуація, коли треба після даної команди використовувати команду, що зберігається не в сусідній , а в іншій, скажімо віддаленій, комірці пам’яті. Тоді по сигналу ПК в лічильник команд заноситься адреса відповідної комірки.
Регістр команд приймає та зберігає код чергової команди, адреса якої зберігається в лічильнику команд. По сигналу ПК в нього передається з регістру інформація, що там зберігається.
Регістри стеку поділяють на стек та показник стеку.
Назва стек походить від англійського stack (штабель «дров», купа паперів та ін.). в МП стек – це набір регістрів,що зберігає адреси (команди повертання – при звертанні до підпрограм) або запам’ятовує стан внутрішніх регістрів (при обробці переривань).
Цей набір організований таким чином, що слово адреси або даних вибирається по принципу: «ввійшов першим-виходиш останнім» (LIFO), так як штабелі дров Last-in-First OUT – LIFO – як абревіатура стекової пам’яті.
Деколи стек організовують як FIFO.
При запису в стек чергового слова, всі слова, що знаходяться в ньому, зміщуються на один регістр вниз («проштовхування»).
Після вибірки слова із стеку, слова, що залишилися, зсуваються на один регістр вверх («виштовхування» вверх).
Стек може бути виконаний не тільки на внутрішніх регістрах МП, складаючи його частину, але й знаходитися в зовнішньому оперативному запам’ятовуючому пристрої, займаючи там виділену для нього зону.
В останньому випадку стек одержується більш глибоким, ємким, однак для звертання до нього необхідний вказівник стеку – спеціальний регістр.
Вказівник стеку – це регістр, що використовується для зберігання адреси останньої зайнятої комірки стека, яку називають вершиною.
Число, що міститься в регістрі, вказує, де знаходиться вершина стека. Коли в стек записується чергове слово, то число у вказівнику стеку відповідно збільшується. І, аналогічно навпаки, при вилученні слова, зменшується число вказівника стеку.
Крім такої процедури, є можливість зчитування без руйнації вмісту довільної комірки стеку при незмінному числі, що зберігається у вказівнику стеку.
Регістр стану – це набір тригерів, які називаються індикаторами (флагами).
В залежності від результатів операцій, що виконуються АЛП, кожен тригер встановлюється в положенні 0 або1.
Флагові біти, що визначають вміст регістру, відображають умовні признаки:
нульового результату,
знака результату,
переповнення і т.д.
Ця інформація, що характеризує стан процесора, важлива для вибору подальшого шляху обрахунків.