- •3 Група індексних регістрів та вказівників які утворюють регістри т
- •5 Регістр вказівника (лічильника) команд еір призначений для адресації в середині "поточного сегмента коду Вказівник команди прямо у командах ие вказується, але бере
- •6 Регістр прапорців ерьаоз зберігає інформацію про ознаки результату
- •Способи адресування в мікропроцесорах сімейства іьггеь. Навести приклади.
- •2.2.6 Пряме адресування з індексуванням
- •6 Прерывания
- •Сегменгування пам'яті в мікропроцесорах сімейства интел
- •2.1 Сегментування пам'яті
- •Способи обміну інформацією у мікропроцесорній системі. Області застосування. Приклади реалізації
- •2.2 Особливості архітектури окремих процесорів сім'ї Интел 2.2-1 Мікропроцесор 18086
- •2Р(6) - прапорець нульового результату, встановлюється в 1, коли результат операції дорівнює о,
- •2.2.2 Мікропроцесор 180186
- •2.2.3 Мікропроцесор 180286
- •2.2.4 Мікропроцесори 180386 та 180486
Способи обміну інформацією у мікропроцесорній системі. Області застосування. Приклади реалізації
Билет 8
Способы обмена данными в микропроцессорной системе области применения . Примеры реализации
программно управляемый – самый медленный , используется при условии , что все внешние устройства готовы к обмену . В этом случае обращение к внешним устройствам программное по командам INT , OUT либо обращение к внешним устройствам как к ячейкам памяти .
По прирываниям используется при работе МП-системы с медленно действующими внешними устройствами , при выполнении процессором основных программ , внешнее устройство , когда готово к обмену обращается к процессору с помощью сигналов запроса на прирывание , если программа прерывания разрешена тоисть флаг IF=1 , процессор заканчивает выполнение одной или двух текущих команд, основной программы и переходит на программу обработки прерывания запросившего внешнего устройства, при этом автоматически в стэке запоминается адрес возврата из подпрограммы в основную программу , которая была прервана запросом на прерывание , при этом из стека автоматически CS и IP перегружаются , заполненные ранее составляющее адреса возвращаются , а также содержимое регистра флага , таким образом обеспечивается команда установки IF=1 . последней командой прерывания является команда IRET.
9. Стек. Організація етєкової пам'яті. Особливості роботи зі стеком.
Принципи організації стекової пам'яті
Стековою пам 'яттю або стеком називають пам'ять, у якій реалізовано принцип: останній увійшов - перший вийшов (ЬІЕО - Ім&і ІпрШ Рігзі Оиїриі), тобто дані, записані останніми зчитуються першими. У МПС сте-кова пам'ять використовується для викликів підпрограм, у тому числі і вкладених, та оброблення переривань.
За способом реалізації розрізняють апаратний і апаратно-програмний стеки.
Апаратний стек являє собою сукупність регістрів, зв'язок між якими організовано таким чином, що під час записування і зчитування даних уміст стека автоматично зсувається. Принцип роботи апаратного Рис. 5.35. Принцип роботи апаратного стека
Під час записування слова 1 у стек воно розміщується у першій вільній комірці пам'яті (у першому регістрі) - вершині стека. Наступне слово зсуває попереднє на одну комірку вгору, займає його місце і т. д. Запис слова 9 призводить до переповнення стека і втрати слова 1. Зчитування слів зі стека здійснюється у зворотному порядку, тобто спочатку зчитується слово 9, записане останнім. Зчитування відбувається у зворотному порядку, наприклад, зчитування слова 6 не можливе, поки не будуть зчитані слова 7, 8 та 9.
Інформаційна ємність апаратного стека визначається як Ихп, де кількість я-розрядних слів N дорівнює кількості регістрів, яка може складати декілька десятків. Апаратні стеки, застосовувані у Р/С-процесорах, мають 2, 8 або 16 регістрів (N = 2, 8, 16), у яких розміщуються 12-, 14- або 16-розрядні слова (п = 12,14, 16). Основною перевагою апаратного стека є висока швидкодія, а недоліком - обмежена інформаційна ємність.
Апаратно-програмний стек реалізується через використання частини ОЗП статичного типу та спеціального регістра ЗР (Зґаск Роіпіег - вказівник стека), який містить адресу останньої зайнятої комірки стека. Прин-
цип роботи апаратно-програмного стека для мікропроцесорів 80x86 показано на рис. 5.36. У апаратно-програмному стеку фізичного зсуву даних під час запису і зчитування не відбувається. Зсув даних буває за зміною значення 5Р. На початку програми в регістр 5Р заносять адресу вершини стека. Після кожної операції запису (зчитування) вміст регістра 8Р змінюється. Для МП 80x86 одночасно можна записувати у стек або зчитувати з нього двобайтові слова, тому 5Р змінюється на два. Вершина стека Запис Запис
Рис. 5.36. Принцип роботи апаратно-програмного стека
Під час запису у стек значення 5Р зменшується на два (стек «росте» в область малих адрес), а під час зчитування зі стека - збільшується на два. Отже, вказівник стека 5Р завжди містить адресу комірки, до якої відбулося останнє звернення. У деяких командах, наприклад у командах викликів підпрограм САЬЬ, переривань /ЛГГ, повернень з підпрограм КЕТ, звернення до стека здійснюється автоматично. Під час виклику підпрограми (рис. 5.37) у стеку запам'ятовується адреса команди, наступної після виклику команди А£>Д тобто вміст програмного лічильника РС запам'ятовується у верхній незайнятій комірці стека, а вказівник стека зменшується на два.
Після повернення з підпрограми за командою КЕТ уміст верхньої комірки стека перезаписується у програмний лічильник РС, вказівник стека 8Р збільшується на два. Після цього починає виконуватися команда АОИ. Крім команд САЬЬ, ІІЯТ і КЕТ, для роботи зі стеком використовують також команди РШН і РОР, призначені для тимчасового запам'ятовування у стек умісту регістрів і відновлення, тобто пересилання інформації зі стека у регістри. У МП Іпіеі, починаючи з /286, існують команди РШНА і РОР А (РШН АП і РОР АІЇ), призначені для тимчасового запам'ятовування у стеку і відновлення вмісту всіх регістрів МП. До апаратно-програмного стека можна звернутися також як до ОЗП з довільною вибіркою. У МП /80x86 для цього використовують непряму адресацію за допомогою регістра ВР. Отже, у стек можна записати значення параметрів підпрограм перед їх викликом.
10.Програмування апаратних засобів інтерфейсу RS232.
1 І.Архітектура мікропроцесорів фірми INTEL. Призначення вузлів.
Принцип сумісності
12.Мова програмування Асемблер 86. Особливості мови. Формат команди.
Команди пересилання даних. Приклади команд.
Билет 12
Мова программування Ассемблер особливость мовы формат команды
Язык Ассемблер предназначен для программирования микропроцессоров . Особенность языка в том что с помощью него мы можем изменять редактировать и программировать процессор и работать с данными любого обьема , который обеспечивает данная модель процессора .МП могут выполнять набор из 111 команд :
Команды пересылок , арифметические операции . логические операции , операции сравнения и тестирования , битовые операции, операции управления , операции условной установки байта
Move – базовая
Moveа – эта команда должна пересылать в один из адресных регистров
Moveм – команда пересылки группы регистров
Moveр – команда побайтной пересылки
Moveq- пересылка байта
Арифметические операции
Add-сложения
Sub- вычитания
Mul s умножение
Div s деление
Ext преобразования байта в слово
Сlr команда обнуления , очистки байта
Логические операции: and or eor not (умнож, сложен, исключ или , инверс соответственно)
Операции сдвига ASR(LSR) –вправо Asl (lsl)- влево
Опрерации тестирования cmp –позволяет сравнить два оператора
Операции управления : опер. Условного и безусловного перехода
Основи програмування мовою асемблер
Програма являє собою послідовність команд, виконання яких приводить до розв'язку задачі.
Команда визначає операцію, яку має виконати МП над даними. Команда містить у явній або неявній формах інформацію про те, де буде розміщений результат операції, а також про адресу наступної команди. Код команди складається з декількох частин, які називаються полями. Склад, призначення і розташування полів називається форматом команди. У загальному випадку формат команди містить операційну та адресну частини. Операційна частина містить код операції (наприклад, додавання, множення, передача даних). Адресна частина складається з декількох полів і містить інформацію про адреси операндів, результату операції та наступної команди. Формат команди, у якому адресна частина складається з двох полів (ознаки адресації та адреси операндів) показано на рис. 2.10.
Код операції (т розрядів) |
Ознака адресації (Іс розрядів) |
Адреси операндів (п розрядів) |
О
пераційна
частина Адресна
частина
Рис. 2.10. Формат команди
Поле «Ознака адресації» визначає спосіб адресації операнда. Біти полів «Ознака адресації» та «Адреси операндів» разом визначають комірки пам'яті, в яких зберігаються операнди.
Розрізняють такі групи команд: 1) команди передачі даних; 2) команди операцій введення-виведення; 3) команди обробки інформації (арифметичні, логічні, зсуву, порівняння операндів, десяткової корекції); 4) команди керування порядком виконання програми (переходів, викликів підпрограм, повернень з підпрограм, переривань); 5) команди задання режимів роботи МП.
Загальна кількість бітів у коді команди називається довжиною формату. Кількість двійкових розрядів т у полі «Код операції» забезпечує можливість подання всіх операцій, які виконує МП. Якщо МП виконує М різних операцій, то кількість розрядів визначається так:
Якщо пам'ять містить 5і комірок, то потрібна для запису адреси одного операнда кількість розрядів у полі «Адреси операндів» становить:
Довжина формату
команди
визначає
швидкість виконання команди і залежить
від способу адресації операндів. Існують
такі способи адресації: пряма,
непряма, безпосередня, автоінкрементна
(автодекрементна), сторінкова,
індексна, відносна.
13.Способи підвищення ефективності мікропроцесорної системи. 14.Організація циклів за допомогою різних команд. Вкладені цикли.
Билет 14
Ораганизация циклов с помощью разных команд. Встроенные циклы
Арифметические циклические программы (заранее известно количество повторений циклов)
Счетчики могут быть либо суммирующие либо вычитающие. Более рекомендовано –это организации вычитающих счетчиков . Итерационные циклы характерезуются тем что количество повторений заранее неизвестно , цикл выполняется до выполнения определенного условия или получения заданной точности результата .
Удобно организовывать счетчик в СХ
1 jcx z (метка) если СХ=0
2 jecx z (метка) если ЕСХ=0
(1,2) Их выполнение обизательное перед ним программа изменения счетчика цикла
LOOP- метка .
При выполнении команды LOOP выполняется 1. дикрементирования содержимого регистра
2. Сравнение содержимого этого регистра с нулем
3. переход к телу цикла если содержимое счетчика неравно нулю
4. если содержимое счетчика цикла то выполнение следующей команды или выход.
Организация циклических программ позволяет организовать вложенные циклы при этом внутри цикла может находится свой цикл , и тогда общее количество повторений будет равна произведению количества внешних и внутренних циклов.
15.Арифмегично-логічний пристрій (АЛП): призначення, принципи
побудови АЛП мікропроцесорів фірми ШТГХ: виконувані функції,
ознаки результату.
