Організація підсистеми пам’яті МПС
Вхідний контроль:
1 Скільки мікросхем RAM з організацією 16х4 треба задіяти і як їх поєднати, якщо треба побудувати підсистему пам’яті з організацією 16х8?
2 Скільки мікросхем ROM з організацією 16х8 треба задіяти і як їх поєднати, якщо треба побудувати підсистему пам’яті з організацією 64х8?
3 За допомогою якого пристрою формуються сигнали вибирання мікросхем пам’яті ?
4 Які вхідні сигнали треба подати на мікросхеми пам’яті RAM?
5 Які вхідні сигнали треба подати на мікросхеми пам’яті ROM?
6 Які вихідні сигнали знімаються з мікросхем пам’яті і скільки їх може бути?
Шина даних D31…D0 МП МС68ЕС020 є тристабільна, двоспрямована, немультиплексована паралельна шина, яка слугує для обміну даними поміж мікропроцесором, пам’яттю та пристроями введення-виведення. За один цикл шини можуть пересилатися 8-, 16-, 24- або 32-розрядні дані.
Пам’ять заданого типу – постійна або оперативна – великого розміру, яка сягає сотен кбайтів або десятків Мбайтів, може бути побудована банками, кожний з яких складається з чотирьох однакових ВІС. Кожна ВІС призначена для зберігання байтів з однаковими індексами: всіх нульових (В0), перших (В1), других (В2) та третіх (В3). Така конфігурація пам’яті дозволяє легко адресувати будь-яку комірку пам’яті у будь-якому з чотирьох шарів банка. Кількість банків залежить від заданого обсягу пам’яті і ємності ВІС, які утворюють ці банки. Припустимо, що треба забезпечити чотиришарову організацію пам’яті М х 8 кбайт, а в наявності є ВІС оперативної пам’яті з організацією n х 8. Враховуючи, що один банк складається з чотирьох ВІС, ємність одного банка дорівнює 4 х n х 8 кбайт, а кількість банків, з яких буде побудовано пам’ять, можна обчислити за формулою
,
де М – заданий обсяг пам’яті, а n – обсяг пам’яті однієї ВІС. Припустимо, що заданий обсяг пам’яті дорівнює 750 кбайт, а ємність однієї ВІС – 64 кбайт. Ємність одного банка становить 4 х 64 = 256 кбайт, а кількість банків дорівнюватиме трьом.
Зрозуміло, що адресування будь-якої комірки пам’яті такої конфігурації повинно мати ієрархічну структуру. У адресному просторі пам’яті заданого типу спочатку адресується банк пам’яті, потім шар в обраному банку, а в шарі вже адресується комірка пам’яті.
Адресування банків оперативної чи постійної пам’яті можна зреалізовувати за допомогою звичайного декодера адреси, дозвіл на роботу якого дають сигнали RAMS# або RОMS#, сформовані PAL2. На рис. 11.27 наведено формування сигналів дозволу на роботу банків RAM.
Рисунок 11.27 – Дешифратор адреси банків RAM
ВІС оперативної пам’яті повинні мати два керувальних входи – , та вхід , на який подаються сигнали читання-запису RWAS#. В одному банку всі входи може бути сполучено, через те що банк обирається у цілому. Вибір шару здійснюється сигналами RAMU# (B3), RAMMU# (B2), RAMLU# (B1), RAML# (B0), які можуть формуватися ПЛМ PAL 16L8D фірми Motorola (PAL1). Формування вихідних сигналів здійснюється відповідно до аналітичних виразів:
На рис. 11.28 подано схему декодера адреси шарів пам’яті у банку.
Рисунок 11.28 – Декодер адреси шарів пам’яті у банку
Сигнал RDY є сигнал дозволу роботи RAM або RОM; він може бути сформований на логічних елементах як логічна сума сигналів ROMS# та RAMS#:
.
Оскільки розряди адреси А1...А0 використовуються для формування сигналів адреси шарів, на адресні входи ВІС оперативної пам’яті на 64 К подаються адресні розряди А17...А2, тому на вхід дешифратора банків можна подавати розряди А18, А19 і, в разі необхідності, – А20 (адресування 8-ми банків).
На рис. 11.29 подано схему підсистеми пам’яті, яка вміщує оперативну пам’ять. Підсистема пам’яті на RОM будується аналогічно, але сигнал не подається (рис. 11.30).
Контрольні питання:
1 З якою організацією доцільно використовувати мікросхеми RAM при побудові банка пам’яті обсягом 64 К, яка є чотиришарова?
2 Скільки мікросхем ROM з організацією 64 К треба задіяти для побудови пам’яті з організацією 612 К і скільки банків, які вміщують чотири шари, треба зорганізувати?
3 Який пристрій чи програма забезпечують організацію окремих банків пам’яті для режимів супервізора та користувача МП МС680Х0 фірми Motorola?
4 За допомогою якого пристрою розподіляється підпростір адрес, призначених для адресування банків підсистеми пам’яті?
5 За допомогою якого пристрою формуються сигнали дозволу роботи мікросхем різних шарів?
6 Як називаються сигнали, які дозволяють роботу шарів банків пам’яті? Як розшифровуються назви цих сигналів?
7 З якою метою з шини адреси МП М680Х0 на адресування мікросхем пам’яті надходять адресні розряди, розпочинаючи з А2?
8 Чому на входи Х0 та Х1 DCA (див. рис. 11.27) подаються розряди адреси саме А18, А19, а не інші?
Контрольні питання підвищеної складності:
1 Чи потребують виходи адресних розрядів А31...А0 шинних формувачів і чому?
2 Чи можуть бути доступними для МП усі 32 розряди даних з чотиришарового банку пам’яті за один цикл шини?
11.4.4 Організація підсистеми введення-виведення
Вхідний контроль:
1 За скільки циклів мікропроцесора можна передати слово через периферійний інтерфейс/таймер МС68230?
2 За скільки циклів мікропроцесора можна прийняти довге слово з периферійного інтерфейса/таймера МС68230?
Рисунок 11.29 – Схема підсистеми пам’яті RAM
Рисунок 11.30 – Підсистема пам’яті на RОM
3 До яких розрядів шини даних МПС підмикаються входи РІ/Т?
4 Чи може таймер у складі РІ/Т викликати переривання роботи МП?
5 Чи можна через РІ/Т обмінюватись даними поміж периферійними пристроями та пам’яттю у режимі ПДП?
6 Якщо у МПС треба зорганізувати два послідовних канали на приймання та три на передавання, скільки ВІС DUART МС68681 має бути задіяно?
Підключення кількох периферійних інтерфейсів-таймерів та їхнє адресування здійснюється аналогічно до підключення банків пам’яті за допомогою декодерів адреси. У якості сигналу дозволу роботи дешифратора адреси використовується сигнал CS230#. На рис. 11.31 подано підключення трьох РІ/Т.
Рисунок 11.31 – Підсистема введення-виведення на трьох РІ/Т
Завдяки наявності тристабільних виводів РІ/Т при побудуванні підсистеми введення-виведення з кількох ВІС відповідні розряди D7…D0, виводи DTACK можна підмикати, так само як і входи R/ , CLK та . Сигнали вибору чіпа подаються з виходів декодера окремо до входів кожного РІ/Т. Виходи портів РА7...РА0, РВ7...РВ0, РС7...РС0, а також виводи Н1, Н2, Н3, Н4 підмикаються до зовнішніх пристроїв через розмикачі, які і на рис. 11.31 зазначено лише для верхньої ВІС.
Побудова підсистеми введення-виведення на ВІС DUART здійснюється аналогічно, а адресний простір для побудови підсистеми можна робити спільним для різних видів інтерфейсів – паралельних та послідовних, якщо їхня кількість є невелика.
На рис. 11.32 наведено частину підсистеми введення-виведення, яка є побудована на DUART.
Рисунок 11.32 – Підсистема введення-виведення на двох DUART
Сигнали D7…D0 DUART можна подавати до шини даних, поєднуючи однакові розряди, так само можна поєднувати сигнали R/ , RESET# та DTACK. На входи різних ВІС подаються у загальному випадку сигнали з декодера адреси; у простому випадку, коли ВІС DUART є лише дві, розряд А18, у протилежних фазах на входи подається поєднаний з сигналом CS681 на логічному елементі ТА.
Виходи двох приймачів RXDA та передавачів TXDA через підсилювачі-формувачі підмикаються до лінії зв’язку, яка підмикає їх до зовнішніх пристроїв (датчиків, вимірювальних приладів тощо).
На рис. 11.33 наведено схему дешифратора, який формує сигнали підтвердження переривань IACK, які надходять на сім пристроїв введення-виведення (PI/T та DUART).
Рисунок 11.33 – Схема формування сигналів IACK
На рис. 11.34 наведено передавання слова через РІ/Т за два цикли шини.
Рисунок 11.34 – Передавання слова через 8-розрядний інтерфейс
Сигнали DTACK# у разі обміну байтами можуть поєднуватись від усіх пристроїв введення-виведення через логічний елемент АБО-НІ і подаватись на входи DSACK1 та AVEC мікропроцесора.
На вхід DSACK0 можна подати рівень логічного нуля для визначення розміру передаваного операнда як байта. Сигнал BERR# формувати не треба, через те що усі розряди шини адрес є задіяні. Режим ПДП не є передбачений, тому на вхід BR мікропроцесора треба подати рівень L1.
Контрольні питання:
1 Який адресний простір займають три ВІС МС68230?
2 За допомогою якого комбінаційного вузла можна підімкнути до МПС три ВІС М68230?
3 Який адресний простір для кожної ВІС М68230 виокремлюється у схемі, яку наведено на рис. 11.31?
4 Який адресний простір виокремлюється для кожної ВІС МС68681 у схемі, яку наведено на рис. 11.32?
Контрольні питання підвищеної складності:
1 Куди надходять сигнали DTACK ВІС МС68230 та ВІС МС68681?
2 У який спосіб формуються сигнали DSACK1 та DSACK0, які подаються на входи МП?
11.4.5 Підключення співпроцесора
Вхідний контроль:
1 Які функції виконує співпроцесор у складі двопроцесорної системи: центральний процесор – співпроцесор?
2 Які типи співпроцесорів Ви знаєте?
3 Який пристрій – центральний процесор або співпроцесор – є ініціатором їхньої спільної роботи?
Робота співпроцесора здійснюється в циклі, коли FC2 = FC1 = FC0 = 1, або, інакше, у просторі CPU.
Мікропроцесор МС68ЕС020 припускає підключення співпроцесора обробки чисел з плаваючою точкою типу МС68881; тип процесора визначається кодом, який вміщує поле формату команди CPID співпроцесора (рис. 11.35). Мнемоніка команди співпроцесора розпочинається з символу F (1111).
CpID | TYPE | TD | |||||
Додаткові слова (адреса, команди, умови) |
Рисунок 11.35 – Формат команд співпроцесора
Поле TYPE визначає тип команди, яку виконує співпроцесор, – код операції, розгалуження за умовою, реалізація циклу тощо. Поле CD й решта слів команди вміщують додаткову інформацію: адресу операнда, вибір операції, умови тощо.
Після отримання команди співпроцесора мікропроцесор виконує цикл звернення до співпроцесора: FC2, FC1 та FC0 дорівнюють 1, а на шину адреси (рис. 11.36) надходить інформація, яка описує стан шини адреси при зверненні до співпроцесора. Вміст розрядів А19...А13 використовується для адресування операнда зазначеного в команді співпроцесора, а розряди А4...А0 обирають регістр у складі інтерфейсу співпроцесора, який слугує за джерело або приймач інформації.
0 ... 0 | CpID | 0 ... 0 | Регістр |
Рисунок 11.36 – Призначення розрядів шини адреси
при зверненні до співпроцесора
При зверненні до співпроцесора мікропроцесор видає сигнали AS#, DS#, R/ , RESET# і приймає від нього сигнали підтвердження DSACK1#, DSACK0#.
При виконуванні команди співпроцесора програмний лічильник мікропроцесора РС вміщує адресу коду операції (першого слова команди). На рис. 11.37 подано ВІС математичного співпроцесора МС68881. Сигнал вибору співпроцесора СРСS формується на ПЛМ або на декодері адреси.
Рисунок 11.37 – ВІС співпроцесора та її підключення
Контрольні питання:
1 Які поля входять до складу формату команди співпроцесора й що вони визначають?
2 З якого символу розпочинається кожна команда співпроцесора й чому?
3 Які пристрої можуть формувати сигнал CS# вибору мікросхеми співпроцесора?
4 Яку розрядність має шина даних співпроцесора й чому?
Контрольні питання підвищеної складності:
1 Яку функцію виконують у МПС вихідні сигнали співпроцесора DSACK0# та DSACK1#?
2 Які типи співпроцесорів може кодувати поле CpID:
а) 000;
б) 001?