- •Мікропроцесорна техніка
- •Мікропроцесорна техніка
- •Вступ....................................................................................5
- •Типові 8- та 16- розрядні мікропроцесори
- •5. Організація взаємодії мп з зовнішнім
- •1 Основні терміни. Структура та функціонування мікропроцесорної системи
- •2. Представлення чисел і елементи двійкової арифметики в цифрових пристроях
- •2.1 Позиційні системи числення
- •Шістнадцяткова система
- •Двійкова арифметика
- •Форми представлення чисел
- •3 Загальна характеристика та класифікація мп. Родини та комплекти мп.
- •Огляд мікропроцесорів відомих фірм-виробників
- •4 Типові 8- та 16- розрядні мікропроцесори для побудови мпс
- •4.1 Восьмирозрядний мікропроцесор 8080а
- •4.1.1 Архітектура і режими роботи мікропроцесора Архітектура мікропроцесора к580вм80а
- •4.1.2 Проектування центрального процесора
- •4.1.3 Система команд мп
- •4.2.1 Загальна характеристика ,архітектура та функціонування мікропроцесор
- •Архітектура мікропроцесора
- •Адресування пам'яті і організація вводу-виводу
- •Режими адресації
- •4.2.2 Система команд мікропроцесора вм86
- •5. Організація взаємодії мп з зовнішнім середовищем.
- •5.1 Інтерфейс
- •5.2 Порти вводу-виводу
- •5.3 Організація взаємодії елементів мпс
- •5.4 Типові методи вводу-виводу інформації в мпс
- •5.5 Інтерфейс з пзп
- •Інтерфейс з озп
- •Інтерфейс портів вводу/виводу
- •5.8 Загальні засади синтезу дешифраторів зовнішніх пристроїв
- •6 Пам’ять мікропроцесорних пристроїв
- •6.1 Основні характеристики і класифікація запам’ятовуючих
- •6.2 Надоперативні і оперативні запам’ятовуючі пристрої
- •6.3 Постійні запам’ятовуючі пристрої
- •Запам’ятовуючі пристрої з послідовним доступом
- •6.4 Організація модулів пам'яті мпс
- •7. Інтерфейсні віс для проектування мпс
- •7.1 Програмований адаптер паралельного інтерфейсу
- •7.2 Програмований зв’язковий адаптер
- •7.3 Програмований інтервальний таймер
- •8 Однокристальні мікроЕом
- •8.1.1 Мікроконтролер мк 51
- •Арифметико-логічний пристрій
- •Доступ до зовнішньої і резидентної пам’яті
- •Типи операндів та способи адресації
- •Команди логічних операцій
- •Команди операцій з бітами
- •Команди передачі керування
- •8.1.2 Родина мк52
- •8.1.3 Перспективна розробка фірми analog devices
- •8.2 Мікроконтролери фірми microchip
- •Основи програмування на мові Асемблера
- •Формат бланка асемблерної програми
- •9.2 Директиви асемблера
- •9.3 Макрокоманди
- •10 Загальні засади і особливості програмування та відлагодження мікропроцесорних пристроїв
- •10.1.2 Етапи проектування мпс
- •10.2.1 Системи програмування
- •10.2.2 Засоби трансляції і компіляції
- •10.2.3 Засоби редагування зв’язків і компоновки
- •10.3 Засоби відлагодження мікропроцесорних систем
- •Засоби для контролю та відлагодження аз мпс
- •10.3.1 Засоби відлагодження мікропроцесорних програм
- •10.3.2 Засоби комплексного відлагодження мпс
- •11.Когутяк м.І.Мікропроцесорний комплект к580 і його використання в керуванні.Навчальний посібник.- Івано-Франківськ ,2000.-96с.
- •13. Когутяк м. І.Однокристальні мікроЕом.Родина мк51 .Навчальний посібник.- Івано-Франківськ ,2000.-56с
10.2.2 Засоби трансляції і компіляції
Асемблери
Асемблер- це програма, яка переводить вихідну програму, написану на мові асемблера, в еквівалентну їй об’єктну програму цільового МП. За принципом формування об’єктної програми розрізняють абсолютні та переміщувані асемблери. Абсолютний асемблер в результаті своєї роботи формує об’єктну програму цільового МП, налаштовану на певну ділянку адресного простору. Для переналагодження об’єктної програми (ОП) в нову область адресного простору необхідне повторне асемблерування. Результатом роботи переміщуваного асемблера є ОП цільового МП у відносних адресах, тобто забезпечується можливість переміщення ОП в будь-яку область адресного простору цільового МП. Подальше налагодження ОП засобами редактора зв’язків. Тому ефективним є використання непереміщуваного асемблера.
Розглянемо принцип побудови переміщуваного асемблера. Треба підкреслити, що для формування ОП асемблеру необхідна повна інформація про положення оброблюваної команди відносно початку програми, а також характеристика операндів команди. Враховуючи, що обробка записів вихідного тексту здійснюється послідовно, асемблер в деяких випадках не має всіх даних по оброблюваній команді. Тому реалізація асемблерів передбачає наявність двох проходів вихідного тексту програми, а якщо в складі асемблера є засоби макрогенерації, то число проходів рівне трьом.
На рисунку 10.6 показана функціональна схема двопрохідного (двопроглядового) асемблера.
Вхідними даними для першого проходу є вихідний текст МП-програми, таблиця псевдооперацій і таблиця машинних кодів, тобто команд цільового МП. Вихідними даними першого проходу є таблиця символів, яка містить:
-
поле “мітка”, для збереження мітки команди;
-
поле “значення РС”, що містить інформацію про стан лічильника команд;
-
поле “довжина команди”, що вказує на довжину команди в байтах;
-
поле “додаткова ознака”, де вказується на переміщуваність адреси даної команди або на її абсолютне значення.
Рисунок 10.6- Функціональна схема асемблера
Вхідними даними другого проходу є вихідний текст МП-програми, таблиця символів, таблиця машинних команд і таблиця псевдооперацій. Вихідними даними є ОП на носії інформації, а також протокол результату трансляції на засобі візуального відображення інструментального комплекс.
Компілятори
Вихідний текст МП-програми може бути підготовлений також на мові високого рівня. В цьому випадку програма-транслятор називається компілятором або інтерпретатором. В залежності від побудови компілятора результатом трансляції може бути або об’єктний код цільового МП або деяка проміжна мова. В другому випадку в системі програмування передбачені додаткові засоби трансляції в коди конкретного цільового МП. В загальному випадку компілятор- це програма, для якої вхідною інформацією служить вихідна програма на певній мові високого рівня, а результатом є еквівалентна їй об’єктна програма.
На рисунку 10.7 представлено логічна структура компілятора. Штихові стрілки зображують інформаційні потоки, тоді як суцільні стрілки вказують на порядок роботи програмних компонентів компілятора. Процес компіляції складається з двох етапів: аналізу вихідної програми і синтезу об’єктної програми. На етапі аналізу реалізується ділення тексту на складові частини, а на етапі синтезу з них будують частини еквівалентної об’єктної програми. При цьому на етапі аналізу компілятор будує декілька інформаційних таблиць, які в процесі компіляції використовується на всіх етапах. Одною з центральних таблиць є таблиця символів. Вона складається з елементів, які відповідають всім різновидам ідентифікаторів, які зустрічаються у вихідній програмі. Лексичний аналізатор створює початкові елементи шляхом поступового сканування вихідної програми. Елементи таблиці символів містять назву ідентифікаторів вихідного тексту МП-програми, додаткові відомості про ці ідентифікатори: тип(проста змінна, масив тощо), тип значень даних(ціле, дійсне число тощо) і т.д. семантичний аналізатор вносить цю інформацію в таблицю символів поступово в порядку обробки декларацій, заголовків програм та інструкцій. Синтезуюча частина компілятора використовує інформацію таблиці символів для побудови ефективного об’єктного коду цільової МП-програми. Поряд з таблицями символів будуються таблиці констант, таблиці циклів тощо.
Рисунок 10.7- Логічна структура компілятора
Інтерпретатори
Різниця між компіляторами та інтерпретатором в тому, що інтерпретатор не породжує об’єктну програму, а безпосередньо виконує її сам. Інтерпретатор виконує аналіз вихідного тексту програми шляхом розподілу роботи на дві фази. На першій фазі він аналізує всю вихідну програму і переводить її у внутрішнє представлення. На другій фазі це представлення виконується. Як приклад використання інтерпретатора в мікропроцесорній техніці можна привести широко відомий і ефективний у роботі інтерпретатор з мови високого рівня BASIC.