Розрядні мікропроцесори фірми Motorola

Вхідний контроль:

1 Які пристрої входять до програмної моделі мікропроцесора І8086?

2 Відмінності фоннейманівської і гарвардської архітектури МП.

3 До якої з архітектур належать МП фірми Intel?

4 Призначення регістра прапорців (ознак результату).

5 У який спосіб змінюється вміст регістра прапорців?

6 Яке призначення має регістр-лічильник команд?

7 У який спосіб змінюється вміст регістра-лічильника при виконуванні різних команд?

Сімейство 16- та 32-розрядних мікропроцесорів МС680х0 фірми Motorola містить низку процесорів, контролерів та співпроцесорів, які мають однакову базову архітектуру. Ця архітектура складається з наборів, однакових для всіх представників сімейства регістрів, внаслідок чого всі пристрої мають ідентичні базові способи адресування, базову систему команд, ідентичні принципи взаємодії з пам’яттю і взаємодії із зовнішніми пристроями. Задля всіх пристроїв сімейства виконується принцип програмної сумісності «знизу-догори». При цьому системи команд наступних пристроїв доповнюється новими командами і способами адресування, зберігаючи усі базові.

Мікропроцесори сімейства МС680х0 фірми Motorola використовуються в персональних комп’ютерах Macintosh, а також в розподілених системах керування складними об’єктами, обмін даними з якими виконується стандартною шиною VME. Для використовування в системах керування розроблено низку модифікацій МП МС68000, які сполучено під назвою МС68ЕС0х0 (ЕС – Embedded Controller). До їхнього складу входять інтегровані процесори, комунікаційні контролери тощо.

Базова модель – мікропроцесор МС68000 – має 16-розрядну зовнішню шину даних та 24-розрядну шину адреси, що дозволяє адресувати простір пам’яті 16 Мбайт. Максимальна тактова частота для цього процесора – 16,7 МГц. МП МС68000, який продукується за n-МОП-технологією, споживає близько 1,6 Вт, а мікропроцесор МС68НС000, який створено за КМОП-технологією, – 260 мВт. Тактову частоту процесора МС68ЕС000 доведено до 20 МГц за споживання потужності 380 мВт.

Залежно від класу розв’язуваних завдань, що вирішуються, програмні й апаратні ресурси системи, в складі якої працюють МП сімейства МС680х0, поділяються в такий спосіб, щоби забезпечити передусім керування роботою власне мікропроцесорної системи за допомогою системного програмного забезпечення, а також задля розв’язування прикладних завдань користувача. Задля розв’язування згаданих завдань зреалізовано два режими МП:

– режим супервізора;

– режим користувача.

В режимі супервізора дозволено виконування усіх команд і забезпечено доступ до всіх регістрів МП. В режимі користувача заборонено виконування деяких команд і обмежено доступ до певних регістрів задля запобігання внесення таких змін у режимі МП, щоби розв’язання низки завдань стало неможливим.

Поточний режим функціонування визначається значенням біта S регістра стану. При вмиканні МПС мікропроцесор автоматично встановлює режим супервізора S = 1, і працює під керуванням операційної системи. Перехід до режиму користувача здійснюється встановлянням біта S до стану логічного 0. У режимі користувача змінювання режиму роботи МП не дозволяється; перехід може статися в разі виникання виняткових ситуацій (переривань) чи внаслідок нового запуску МП (RESET).

До складу регістрової моделі МП МС68000, наведеної на рис. 11.1, входять два набори 32-розрядних регістрів, кожний з котрих вміщує по вісім однакових регістрів, програмний лічильник та регістр стану.

Вісім регістрів даних D7...D0 призначено задля зберігання даних.

Вісім регістрів адреси А7...А0 призначено для зберігання адрес комірок пам’яті, визначених програмістом. Регістр А7 (А´7) є дубльований і має заздалегідь визначене функціональне призначення. Він використовується як вказівник стека. Залежно від режиму функціонування МП, він слугує за вказівник стека користувача USP чи то за вказівник стека супервізора – SSP. Це дозволяє розділити стеки при розв’язуванні завдань користувача і супервізора.

 
  Розрядні мікропроцесори фірми Motorola - student2.ru

Рисунок 11.1 – Регістрова модель мікропроцесора МС68000

Програмний лічильник РС призначено для зберігання адрес команд. Зважаючи на те, що МП має 24-розрядну шину адрес, у програмному лічильнику використовуються лише 24 розряди.

Регістр стану SR складається з системного байта та байта користувача. Повністю цей регістр є доступний лише в режимі супервізора. В режимі користувача доступ є лише до байта користувача – регістра ознак ССR, який використовується окремо. Формат регістра стану подано на рис. 11.2.

 
  Розрядні мікропроцесори фірми Motorola - student2.ru

Рисунок 11.2 – Формат регістра стану SR

Регістр ознак (прапорців) ССR складається з восьми тригерів, п’ятеро з яких призначено для зберігання певних ознак, якими можна схарактеризувати результат виконання операції АЛП.

Окремі біти регістра ознак мають таке призначення:

C (ознака перенесення) – перенесення зі старшого розряду при виконуванні арифметичних операцій та зберігання вмісту висуваного розряду при виконуванні операцій зсувів. Набирає значення С = 1 за виникнення перенесення зі старшого розряду результату виконуваної операції;

V (ознака переповнення) – набуває значення V = 1 в разі переповнення розрядної сітки при обробці операндів зі знаком;

Z (ознака нульового результату) – за здобуття результату, який дорівнює 0, ознака набуває значення 1;

N (ознака знаку) – зберігає копію знакового розряду результату операції. Значення ознаки N = 1 відповідає від’ємному результатові;

Х (ознака розширення) – при виконуванні переважної більшості операцій копіює значення біта С. В певних випадках значення цього біта формується залежно від виконуваної операції.

Біти системного регістра SR визначають режим функціонування МП і мають призначення:

Т (ознака трасування) – за допомогою цієї ознаки здійснюється перехід до покрокового виконування програми за Т = 1;

S (ознака супервізора) – визначає режим роботи МП. Значення ознаки S = 1 відповідає функціонуванню МП в режимі супервізора, а S = 0 – в режимі користувача;

І2...І0 – поле маски переривань, визначає мінімальний рівень обслуговуваних запитів переривань.

Інші біти регістра SR не використовуються або їх зарезервовано задля використовування в наступних моделях.

Мікропроцесор МС68000 обробляє дані – операнди, які можуть бути бітами, байтами, словами та довгими словами, а також дані, які подано у вигляді двійково-десяткових чисел. Операнди можуть розміщуватись у регістрах мікропроцесора (даних чи адреси), а також у комірках пам’яті. При цьому, позаяк шина даних МП має місткість 16 біт, а пам’ять має байтову організацію, то для роботи зі словами чи довгими словами слід задавати адресу старшого байта операнда, яка має бути парною чи кратною до 4. Це дозволяє звертатися спочатку до старшого байта слова, а потім до молодшого, який розміщується у комірці пам’яті, адреса котрої є більша на 1 за адресу старшого байта. Таке послідовне розміщення операндів у пам’яті відповідає звичайному розміщенню розрядів числа при написанні чисел. Такий порядок адресування байтів називається big-endian, на відміну від порядку адресування little-endian, який використовується в МП фірми Intel. Розміщення слів (а) і довгих слів (б) у пам’яті та їхнє адресування подано на рис. 11.3. Адреса N завжди має бути парною.

Підмикання ВІС мікропроцесора до шин МПС здійснюється за допомогою виводів, функціональне призначення котрих та їхні умовні назви подано на рис. 11.4 (виводи живлення на схемі не зазначено). Напрям проходження сигналів зазначено стрілками. Підключення МП до шини адреси МПС здійснюється за допомогою 24-розрядної шини адреси (А23...А0), на яку виставляється адреса пристрою, до котрого здійснюється звернення. Команди та дані надходять на 16-розрядну шину даних (D15...D0), якою здійснюється обмін словами. Передавання довгих слів здійснюється за два цикли шини (спочатку старша частина довгого слова, потім молодша).

 
  Розрядні мікропроцесори фірми Motorola - student2.ru

Розрядні мікропроцесори фірми Motorola - student2.ru Рисунок 11.3 – Адресування байтів в слові (а) і довгому слові (б)

Рисунок 11.4 – Призначення виводів ВІС МС68000

Сигнали керування поділено на групи відповідно до функціонального призначення, як подано на рис. 11.4. Знак # засвідчує, що активним рівнем сигналу є значення логічного 0 (низький рівень).

CLK – сигнал тактової синхронізації. Частота цього сигналу зумовлює тривалість такту машинного часу.

Групу системних сигналів становлять три сигнали:

– RESET# – сигнал скидання. Вихідний сигнал RESET# формується при виконуванні команди RESET і встановлює всі пристрої МПС до початкового стану. Вхідний сигнал RESET# призводить до апаратного виключення, яке встановлює початковий стан МП. При цьому вміст регістрів адреси обнулюється, значення біта S встановлюється в 1, що відповідає режимові супервізора. Далі з комірки пам’яті з адресою $000000 завантажується значення вказівника стека супервізора SSP, а з комірки з адресою $000004 до програмного лічильника РС – адреса підпрограми ініціалізації системи. Ця підпрограма завантажує потрібні початкові значення до регістра SR, регістрів адреси та даних, а також виконує ініціалізацію пристроїв, які входять до складу МПС. Програмне скидання виконується в режимі супервізора командою RESET, яка також встановлює початковий стан МП.

– HALT# – сигнал зупину. Вхідний сигнал HALT# припиняє виконання поточної програми, переводить шину адреси та шину даних до відключеного стану, а виходи керування – до неактивного стану. Вихідний сигнал HALT# формується за подвійної помилки звернення до шини. Вихід зі стану зупину відбувається подаванням вхідного сигналу RESET#.

– BERR# – вхідний сигнал помилки звернення до шини адреси. Цей сигнал формується схемою контролера шини, якщо на шину адреси подано адресу пристрою, що не існує, або адресу, яка не входить до адресного простору МПС. Цей сигнал також формується за тривалої відсутності сигналу готовності DTACK# і за інших порушень обміну.

Групу сигналів керування обміном подавано п’ятьма сигналами:

– AS# – адресний строб є сигнал, формування якого зумовлює момент завершення формування адреси на шині; активний стан цього сигналу зберігається до завершення циклу обміну.

– R/W# – читання/запис. Значення сигналу зумовлює напрям передавання даних. Сигнал R/W#, котрий дорівнює 1, зумовлює читання (введення) даних до МП; значення сигналу, що він дорівнює 0, – навпаки, виведення (запис) даних з МП.

– UDS# – передавання старшого байта даних.

– LDS# – передавання молодшого байта.

Сигнали UDS#, LDS# зумовлюють розмір і порядок передавання даних шиною. Значення LDS# = 0 водночас з UDS# = 1 відповідає передаванню молодшого байта, LDS# = 0 та UDS# = 0 – передаванню слова.

– DTACK# – вхідний сигнал підтвердження готовності до обміну, який надходить від пам’яті чи зовнішніх пристроїв.

Групу сигналів керування захопленням шин становлять сигнали, які визначають порядок спільного використання шини даних кількома пристроями системи. Ці сигнали використовуються задля забезпечення режиму безпосереднього доступу до пам’яті, а також для організації спільної роботи кількох МП у багатопроцесорних системах. До цієї групи входять сигнали:

– BR# – вхідний сигнал будь-якого зовнішнього пристрою на захоплення шини. Отримавши такий сигнал, якщо переривання дозволено, МП завершує виконання поточного циклу обміну, припиняє виконування команди, переводить власні виводи А23...A0 та D15...D0 до відключеного стану, а виходи керування – до неактивного стану.

– BG# – вихідний сигнал дозволу захоплення шин. Формується після відключення МП від шини.

– BGACK# – вхідний сигнал підтвердження захоплення шини зовнішнім пристроєм. Формується зовнішнім пристроєм після отримання сигналу BG# і переходу до режиму керування шиною. Формування сигналу BR# після цього припиняється.

Після завершення обміну зовнішній пристрій встановлює значення сигналу BGACK у 1 і МП продовжує виконування своєї роботи, яку він перервав.

Сигнали керування повільним обміном дозволяють підключати до МП зовнішні пристрої, які мають відносно невелике значення тактової частоти. Задля організації роботи з ними використовуються відповідні сигнали керування. До цих сигналів належать:

– Е – тактовий сигнал для зовнішнього пристрою. На цьому виході формується сигнал, який має частоту, вдесятеро меншу за тактову частоту МП (CLK). Цей сигнал може використовуватися зовнішніми пристроями в якості сигналу тактової частоти. При цьому сигнали адреси й сигнали AS# та R/W# формуються як за звичайного обміну даними.

– VPA# – сигнал готовності до повільного обміну. Цей сигнал формує зовнішній пристрій, адресу якого встановлено на шині адреси і він є готовий до роботи.

– VMA# – сигнал підтвердження повільного обміну. Цей сигнал формує МП у відповідь на отримання ним сигналу VPA#. Після його встановлення розпочинається обмін даними у повільному режимі.

У кожному циклі обміну МП визначає тип циклу, який виконується. Задля цього МП формує код, який виставляється на шину визначення типа циклу FC2...FC0. Відповідність типа циклу і коду наведено у табл. 11.1.

Таблиця 11.1 – Типи виконуваних циклів

FC2 FC1 FC0 Тип циклу
резервовано
вибирання даних користувача
вибирання команд користувача
резервовано
резервовано
вибирання даних супервізора
вибирання команд супервізора
підтвердження переривання

Дешифрування коду виконуваного циклу надає можливість розділити пам’ять для режимів супервізора та користувача, сформувати сигнал підтвердження переривання INTA# або ідентифікувати поточний стан МП.

Переривання і виключення – це спеціальні процедури, виконувані МП, якщо при роботі МПС виникають ситуації, котрі потребують тимчасового припинення головної програми й обслуговування інших програм (обробки переривань) задля відповідної реакції системи на обставини, які призвели до цього.

МП може обслуговувати до семи запитів на переривання від зовнішніх пристроїв, які формують сигнали IRQ1...IRQ7, відповідно до свого пріоритету. Ці сигнали оброблюються за допомогою пріоритетного шифратора і надходять на входи IPL#. Відповідність пріоритетів запиту і сигналів IPL2...IPL0# подано у табл. 11.2.

Таблиця 11.2 – Кодування запитів на переривання

Пріоритет Запити на переривання відповідно до пріоритету Код запиту IPL2...IPL0
0 (мінімальний) відсутність запиту
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
7 (максимальний) IRQ7

Виключення.Виключення (Exception) – особливі ситуації при роботі МПС, які є реакцією системи на непередбачувані, переважно аварійні, ситуації, обслуговування яких передбачає переривання головної програми і перехід до підпрограми обробки цього виключення. Виключення бувають апаратними або програмними. Апаратні виключення зумовлено будь-якими порушеннями функціонування пристроїв системи, як периферійних, так і внутрішніх, або аварійними (вимкнення живлення, відмикання з’єднувальних ліній тощо). Програмні виключення виникають за неправильного функціонування програми: формування неіснуючої адреси, формування помилкового коду команди, ділення на 0, покрокового виконання програми тощо. При обслуговуванні виключень МП автоматично переходить до режиму супервізора, що надає підпрограмі обслуговування виключення доступ до всіх ресурсів системи.

Апаратні виключення зумовлено такими причинами:

– надходження зовнішнього сигналу RESET# ;

– формування зовнішнього сигналу помилки звернення до шини BERR#;

– надходження від периферійних пристроїв запитів на переривання;

– відсутність сигналів підтвердження готовності до обміну DTACK# або сигналу готовності до повільного обміну VPA#;

– надходження запиту на переривання від периферійного пристрою, який попередньо не ініційовано;

– відключення живлення та інші аварійні ситуації.

Програмні виключення можуть виникати з таких причин:

– надходження команд, які спричинюють виключення RESET, TRAP, TRAPV, CHK;

– надходження привілейованих команд у режимі користувача;

– ділення на 0 (команди DIVS, DIVU);

– надходження команди, яка має помилковий код операції;

– встановлення покрокового режиму роботи (встановлення біта Т = 1);

При цьому виключення відбувається на кожному кроці виконування програми і МП виводить на екран монітора результати виконання поточної команди й дозволяє змінювати ці результати в перебігу налагодження;

– надходження команди, яка має у полі коду операції значення 1010. Цей код забезпечує перехід до підпрограми-емулятора команд, які не входять до системи команд МП;

– формування непарної адреси.

Обслуговування всіх виключень відбувається однаково: МП переходить до режиму супервізора, встановлюючи значення біта S = 1, потім МП зберігає у стеку вміст програмного лічильника РС і регістра стану SR задля можливості повернення до перерваної програми. Потім до програмного лічильника завантажується вектор виключення (Ve), котрий є адресою початку відповідної програми обслуговування. Якщо виключення зумовлено помилкою шини чи формуванням помилкової адреси, то до стека також завантажується значення адреси, яка спричинилася до виключення, код виконуваної команди і код циклу (FC2...FC0), який при цьому виконувався. Ця інформація використовується підпрограмою обслуговування переривання задля з’ясування причини, яка зумовила виключення.

Вектори виключень розміщено у пам’яті МПС і поєднано у таблицю виключень. Цю таблицю розміщено в області пам’яті з адресами $000...$3FF. Кожний вектор адресовано двома словами, тому в таблиці є входи для 256 підпрограм виключень. Кожний вектор має власний номер Ne від 0 до 255 і кожному номеру відповідає власна адреса Ae, в якій зберігається вектор Ve відповідної підпрограми. Адреса визначається в результаті множення номера вектора на 4 – (Ae = 4 Ne). Множення відбувається у результаті логічного зсуву на два розряди ліворуч. Різновиди виключень та їхніх векторів подано у табл. 11.3.

Повернення з підпрограми обслуговування виключення здійснюється за допомогою команд RTE чи RTS. Командою RTE завершується підпрограма обслуговування виключення в режимі супервізора, а командою RTS – якщо при виконуванні підпрограми обслуговування МП перейшов до режиму користувача.

Виключення з номером Ne = 0 може бути програмним, за надходження команди RESET, або апаратним, за формування сигналу зовнішнього скидання RESET#. В обох випадках з комірки пам’яті з адресою $000 завантажується значення вказівника стека супервізора – SSP, а з комірки пам’яті з адресою $004 – початкова адреса підпрограми ініціалізації всієї системи. Отже, це виключення має два вектори виключення Ve.

Таблиця 11.3 – Різновиди виключень та їхні адреси

Номер виключення Ne Адреса виключення Ae Вид виключення
$000 Встановлення початкового стану (завантаження SSP)
$004 Встановлення початкового стану (завантаження PC)
$008 Помилка звернення до шини
$00C Формування помилкової адреси (непарної)
$010 Помилковий код операції
$014 Ділення на 0
$018 Команда CHK
$01C Команда TRAPV
$020 Порушення привілеїв
$024 Покроковий режим (Т = 1)
$028 Код емуляції 1010
$02C Код емуляції 1111
12...14 $030...$038 Резервовано
$03C Неініційоване переривання
16...23 $040...$05E Резервовано
$060 Помилкове переривання
25...31 $064...$07C Автовекторні переривання
32...47 $080...$0BF Команди TRAP з номерами Nt = 0...15
48...63 $0C0...$0FF Резервовано
64...255 $100...$3FF Векторні переривання користувача

Виключення з номером Ne = 2 (помилка звернення до шини) здійснюється за сигналом спеціального пристрою, якщо на шині адреси формується адреса неіснуючого (непідімкненого) пристрою. Також це виключення може відбуватися за сигналом вартового таймера, якщо певного часового інтервалу не формується сигнал підтвердження готовності до обміну DTACK# від пам’яті або зовнішніх пристроїв. Підпрограма обслуговування цього виключення визначає тип помилки, адресу і команду, яка зумовила виключення. Якщо при обслуговуванні виникає повторний сигнал помилки звернення, то МП переходить до режиму зупину і формує відповідний вихідний сигнал HALT#.

Виключення кодів емуляції 1010 та 1111 дозволяють виконувати команди, які не входять до системи команд МП МС6800. Приміром, підпрограма обслуговування виключення, зустрівши команду, яка має код 1010, аналізує інші розряди слова команди і залежно від результатів аналізу виконує певну послідовність команд, яка відповідає виконуванню макрокоманд, що розширює можливості МП і сприяє реалізації макроасемблерів. Код емуляції 1111 використовується задля реалізації команд арифметичного співпроцесора. Отже, існує можливість за допомогою МП МС68000 налаштовувати і виконувати програми, які використовують команди арифметичного співпроцесора.

Виключення з номерами 15 (неініційоване переривання) і 24 (помилкове переривання), а також векторні й автовекторні переривання обслуговуються за надходження запитів від зовнішніх пристроїв.

Номери виключень команди TRAP формуються відповідно до виразу Ne = 32 + Dt. Це виключення використовується задля завдавання контрольних точок зупину при налагоджуванні програми, а також задля включення підпрограм обслуговування пристроїв, які використовуються спільно з МП.

Переривання(interruption) – особливі ситуації, які виникають при функціонуванні МПС задля обслуговування певних пристроїв, робота яких відбувається за участі центрального процесора і не передбачена програмою, яка виконується. Як було розглянуто у розділі 7.2.2, переривання виникають за надходження відповідних команд (програмні переривання) або сигналів від зовнішніх пристроїв (апаратні переривання).

Задля обслуговування переривань МП припиняє виконування головної програми, зберігає у стеку адресу останньої команди, яку він виконав (адреса повернення), завантажує початкову адресу підпрограми обслуговування переривання і розпочинає її виконувати. Після завершення підпрограми МП поновлює у програмному лічильнику адресу повернення і продовжує виконування головної програми. Обслуговування переривання розпочинається за запитом на переривання, який формується пристроєм, що він потребує обслуговування.

Зовнішні пристрої, які можуть спричинити переривання, поділено відповідно до важливості їхнього функціонування, і кожному з них призначено власний пріоритет обслуговування. МП може обслуговувати до семи запитів на переривання від різних пристроїв. Кодування запитів наведено у табл. 11.2.

Обслуговування зовнішніх пристроїв відбувається відповідно вмісту поля маски переривання (I2...І0) у регістрі SR. Це поле визначає рівень пріоритету пристрою (IRQ) і дозволяє чи не дозволяє його обслуговування. Відповідність коду запитів і можливості його обслуговування наведено у табл. 11.4.

Таблиця 11.4 – Кодування можливості обслуговування переривань

Запит на переривання Маска I2...І0 Запити, що обслуговуються
відсутність запиту IRQ1...IRQ7
IRQ1 (Li = 1) IRQ2...IRQ7
IRQ2 (Li = 2) IRQ3...IRQ7
IRQ3 (Li = 3) IRQ4...IRQ7
IRQ4 (Li = 4) IRQ5...IRQ7
IRQ5 (Li = 5) IRQ6...IRQ7
IRQ6 (Li = 6) IRQ7
IRQ7 (Li = 7) IRQ7

Адресування підпрограм обслуговування запитів переривань може виконуватися у два способи. При автовекторному перериванні кожному запитові з рівнем Li відповідає номер виключення згідно з табл. 11.3 з адресами Ае = $064...$07C. За векторного переривання зовнішній пристрій формує і передає до МП будь-яке значення номера Ne. Пристрої, які можуть спричинити векторні переривання, мають спеціальний векторний регістр IVR, в якому зберігається відповідне значення Ne, яке записується до нього за ініціалізації. Якщо ініціалізацію не проведено, то пристрій формуватиме код з номером Ne = 15 (неініціалізоване переривання).

Кожне переривання розпочинається з того, що пристрій, який потребує обслуговування, формує запит IRQ#, котрий надходить на пріоритетний шифратор, який формує сигнали коду запиту IPL0...IPL2, відповідно до призначеного пріоритету пристрою. Якщо код запиту є не менший за значення І2...І0 у регістрі SR, то МП завершує виконування поточної команди і виконує цикл підтвердження переривання. В цьому циклі МП формує на виводах FC2...FC0 код 111 – підтвердження переривання (табл. 11.1), який перетворюється на сигнал IACK#, котрий, відповідно до адреси, надходить на пристрій, який потребує обслуговування. Приклад схеми формування сигналів наведено на рис. 11.5.

 
  Розрядні мікропроцесори фірми Motorola - student2.ru

Рисунок 11.5 – Схема формування сигналів переривання

При виконуванні автовекторного запиту на переривання зовнішній пристрій, який отримав сигнал IACK#, підтверджує свій запит, формуючи сигнал низького рівня на вході VPA# мікропроцесора. Після цього МП формує адресу вектора виключення AV = $064...$07C відповідно до рівня пріоритету пристрою, котрий потребує обслуговування.

При опрацьовуванні векторного переривання зовнішній пристрій, який отримав сигнал IACK#, встановлює на молодші розряди шини даних D7...D0 власний номер виключення Ne і підтверджує передання номера, формуючи сигнал DTACK#. МП приймає значення номера і, відповідно до нього, формує адресу вектора виключення AV = $100...$3FF.

Якщо при підтвердженні переривання не буде сформовано сигнали VPA# або DTACK#, то МП виконуватиме виключення з номером 24 – «помилкове переривання».

Наступна модель МС68010 передбачає підмикання мікросхеми диспетчера пам’яті МС68851 (Memory Management Unit – MMU).

Блок МMU зорганізовує сторінкове адресування пам’яті з розміром сторінки від 256 байт до 32 кбайт. Адреса комірки пам’яті, яку формує МП, сприймається як ефективна або виконавча. На виходи ММU ця адреса транслюється як фізична. Якщо логічна адреса відповідає сторінці, яка є відсутня в оперативній пам’яті, то формується сигнал помилки звернення до пам’яті BERR#. Цей сигнал спричинює переривання, – і операційна система виконує перезапис вмісту відсутньої сторінки з жорсткого диску до адресованої оперативної пам’яті замість сторінки, до якої, довш за все, не було звернення. Вміст старої сторінки переписується на жорсткий диск, а МП обирає команду або дані зі сторінки, перенесеної до оперативної пам’яті. Зреалізований в такий спосіб механізм віртуалізації пам’яті дозволяє здійснювати обмін сторінками із зовнішньою пам’яттю великого обсягу, використовуючи оперативну пам’ять меншого обсягу. Сигнал BERR# формується також у разі помилки при задаванні адреси пам’яті або пристроїв введення-виведення.

Контрольні питання:

1 Чим відрізнюється програмна модель МП МС68000 від програмної моделі фірми Intel?

2 В яких двох режимах може працювати МП МС68000?

3 Чим відрізняються режими, в яких може працювати МП МС68000?

4 Які регістри входять до регістрової моделі користувача МП МС68000?

5 В який спосіб можна перейти до режиму супервізора при роботі з МП МС68000?

6 З даними якої розмірності працює МП МС68000 і в який спосіб відбувається звернення до шини даних при роботі з кожним з них?

7 У який спосіб виконується адресування байтів даних при обробці слів та довгих слів?

8 Які сигнали визначають розмірність даних, котрі оброблюються командою?

9 В чому полягає призначення сигналу BERR# і за яких умов відбувається його формування?

Контрольні питання підвищеної складності:

1 Якими сигналами обмінюються МП та зовнішній пристрій за взаємодії за різних способів обміну?

2 Які типи циклів роботи може зреалізовувати МП МС68000?

3 Чим відрізнюються тип циклу вибору даних супервізора від вибору даних користувача?

Наши рекомендации