Реферат Курсовая Конспект
Дешифратор адреси плати PCL-711B - раздел Образование, Архітектура ЕОМ Плата Аналогового І Дискретного Уведення-Виведення Pcl-711B (...
|
Плата аналогового і дискретного уведення-виведення PCL-711B (Advantech Co.) в просторі адрес портів уведення-виведення IBM PC-сумісного комп'ютера займає діапазон з 16 послідовно розміщених адрес. Адреса кожного порту визначається відносно базової адреси BASE, що встановлюється за допомогою перемички на платі. Додатково деякі регістри плати визначаються режимом звернення до них (читання або запис). В таблиці 3.5 перераховані порти плати PCL-711B.
Сигнали вибору регістрів плати PCL-711B можна об'єднати в 15-розрядну шину. Призначення регістрів плати і умовні найменування відповідних сигналів шини приведені в таблиці 3.6.
Таблиця 3.5 – Адреси портів уведення-виведення
Адреса | Читання | Запис |
BASE | Лічильник 0 | Лічильник 0 |
BASE+1 | Лічильник 1 | Лічильник 1 |
BASE+2 | Лічильник 2 | Лічильник 2 |
BASE+3 | не використовується | Керування лічильником |
BASE+4 | Дані АЦП, м. байт | Дані ЦАП, м. байт |
BASE+5 | Дані АЦП, т.. байт | Дані ЦАП, т.. байт |
BASE+6 | Дискретний вхід, м. байт | не використовується |
BASE+7 | Дискретній вхід, ст. байт | не використовується |
BASE+8 | не використовується | Скидання стану переривання |
BASE+9 | не використовується | Настройка коеф. підсилення сигналу |
BASE+10 | не використовується | Сканування мультиплексора |
BASE+11 | не використовується | Управління режимом та перериванням |
BASE+12 | не використовується | Програмний пуск АЦП |
BASE+13 | не використовується | Дискретний вихід, м. байт |
BASE+14 | не використовується | Дискретний вихід, ст. байт |
BASE+15 | не використовується | не використовується |
Таблиця 3.6 – Призначення регістрів плати PCL-711B
№ | Сигнал | Призначення регистрів |
CNT0 | Лічильник 0. Регістр Counter 0 НВІС Intel 8253 | |
CNT1 | Лічильник 1. Регістр Counter 1 НВІС Intel 8253 | |
CNT2 | Лічильник 2. Регістр Counter 0 НВІС Intel 8253 | |
CCNT | Керування лічильником. Регістр Control НВІС Intel 8253 | |
AD0 | Дані АЦП, м. байт. Молодший байт даних ВІС АЦП AD574 | |
AD1 | Дані АЦП, ст. байт. Старший байт даних ВІС АЦП AD574 | |
DA0 | Дані ЦАП, м. байт. Молодший байт даних ВІС ЦАП PM7548 | |
DA1 | Дані ЦАП, ст. байт. Старший байт даних ВІС ЦАП PM7548 | |
DIO0 | Дискретний вхід/вихід, мл. байт. Молодший байт дискретних даних | |
DIO1 | Дискретний вхід/вихід, ст. байт. Старший байт дискретних даних | |
RESET | Скидання переривання. В режимі передачі даних по перериванню запис в цей регістр дозволяє скинути прапор переривання | |
GAIN | Настройка коеф. підсилення. Можна задати значення коефіцієнта підсилення сигналу, що поступає на АЦП |
Продовження табл. 3.6
MUX | Управління мультиплексором. Вибір одного з восьми каналів аналогового введення | |
MODE | Управління режимом і перериванням. АЦП може виконуватися по сигналу від трьох джерел: з програми, від вбудованої системи запуску, по зовнішньому сигналу | |
START | Програмний запуск АЦП. Запис в цей регістр приводить до запуску АЦП |
Завдання 5. BASE = 220h. Розробити VHDL-модель поведінки дешифратора адреси регістрів плати PCL-711B. На вхід дешифратора повинні поступати дві шини: 10-розрядна шина ADDR адреси порту уведення-виведення і 2-розрядна шина MODE, що задає режим звернення до порту (читання/запис). На виході повинен формуватися 15-розрядний позиційний код, що відповідає сигналу вибору регістра плати PCL-711B.
3.6 Режими адресації мікропроцесора Intel 8086
В більшості випадків для визначення режиму адресації в команді мікропроцесора Intel 8086 використовуються три бітових поля: MOD (2 біти), R/M (3 біти) і W (1 біт). Ефективна адреса операнда для різних поєднань цих бітових полів обчислюється за допомогою різних регістрів мікропроцесора. Іноді в команді явно вказується величина зсуву. Позначимо 16-бітовий зсув D16, 8-бітовий, розширений із знаком, зсув позначимо D8. Тоді правила обчислення ефективної адреси операнда можна задати таблицею 3.7.
Таблиця 3.7 – Режими адресації мікропроцесора Intel 8086
Поле | MOD=00 | MOD=01 | MOD=10 | MOD=11; W=0 | MOD=11; W=1 |
R/M=000 | (BX)+(SI) | (BX)+(SI)+D8 | (BX)+(SI)+D16 | AL | AX |
R/M=001 | (BX)+(DI) | (BX)+(DI)+D8 | (BX)+(DI)+D16 | CL | CX |
R/M=010 | (BP)+(SI) | (BP)+(SI)+D8 | (BP)+(SI)+D16 | DL | DX |
R/M=011 | (BP)+(DI) | (BP)+(DI)+D8 | (BP)+(DI)+D16 | BL | BX |
R/M=100 | (SI) | (SI)+D8 | (SI)+D16 | AH | SP |
R/M=101 | (DI) | (DI)+D8 | (DI)+D16 | CH | BP |
R/M=110 | D16 | (BP)+D8 | (BP)+D16 | DH | SI |
R/M=111 | (BX) | (BX)+D8 | (BX)+D16 | BH | DI |
Наприклад, якщо поля MOD=01 і R/M=011 (значення біта W в цьому випадку не має значення), то ефективна адреса виходить після підсумовування вмісту регістрів BP, DI і 8-бітового зсуву D8, вказаного в команді. Потім ефективна адреса складається з помноженим на 16 значенням, що зберігається в сегментному регістрі. В результаті цих маніпуляцій одержують фізичну адресу операнду.
Завдання 6. Розробити VHDL-модель поведінки блоку, що формує список регістрів, що беруть участь в обчисленні ефективної адреси залежно від значення бітових полів MOD, R/M і W. Всього регістрів шістнадцять: АХ, AH, AL, BX, BH, BL, CX, CH, CL, DX, DH, DL, BP, SP, SI і DI. Список регістрів має вигляд 16-розрядного позиційного кода, кожний біт якого відповідає одному з перерахованих регістрів мікропроцесора Intel 8086. Наприклад, для раніше розглянутого випадку (MOD = 01, R/M = 011, W - будь-яке значення), якщо біти позиційного коду розташовані у вказаному порядку, список задіяних регістрів буде закодований так: 0000000000001001.
3.7 Система команд мікропроцесору Intel 4004
i4004 – один з перших мікропроцесорів, випущений фірмою Intel в 1974 році. Система команд його складалася з 16 машинних, 14 акумуляторних і 15 команд вводу-виведення/зварнення до оперативної пам‘яті. В таблицях 3.8, 3.9 та 3.10 приведені коди операцій і мнемоніка машинних команд процесора Intel 4004.
Таблиця 3.8 – Машинні команди мікропроцесора Intel 4004
Код | Мнемоніка | Опис команди |
00h | NOP | Холостий цикл (немає операції). |
1Xh | JCN | Умовний перехід при виконанні умови. |
2Xh | FIM | Вибірка числа з пам'яті програм в регістрову пару. |
2Xh | SRC | Посилка регістрового управління. |
3Xh | FIN | Непряма вибірка числа з ПЗП в регістрову пару. |
3Xh | JIN | Непрямий перехід за адресою, яка зберігається в регістровій парі. |
4Xh | JUN | Безумовний перехід. |
5Xh | JMS | Виконати підпрограму. Попередню адресу зберегти в стек. |
6Xh | INC | Інкремент вмісту регістра. |
7Xh | ISZ | Інкремент і перепускання за нульовою умовою. |
8Xh | ADD | Додати вміст регістра до вмісту акумулятора. |
9Xh | SUB | Відняти вміст регістра з акумулятора. |
AXh | LD | Завантажити акумулятор з регістра. |
BXh | XCH | Обміняти вміст регістра і акумулятора. |
CXh | BBL | Повернення з підпрограми. |
DXh | LDM | Завантажити дані в акумулятор. |
Таблиця 3.9 – Акумуляторні команди мікропроцесора Intel 4004
Код | Мнемоніка | Опис команди |
F0h | CLB | Загальне скидання. |
F1h | CLC | Скинути перенесення. |
F2h | IAC | Інкремент вмісту акумулятора. |
F3h | CMC | Утворити зворотний код трігера перенесення. |
F4h | CMA | Утворити зворотний код вмісту акумулятора. |
F5h | RAL | Циклічний зсув вліво вмісту акумулятора і трігера. |
F6h | RAR | Циклічний зсув управо вмісту акумулятора і трігера. |
F7h | TCC | Передати перенесення в акумулятор. |
F8h | DAC | Декремент вмісту акумулятора. |
F9h | TCS | Віднімання з перенесенням. |
FAh | STC | Встановити трігер перенесення. |
FBh | DAA | Десяткова корекція вмісту акумулятора. |
FCh | KBP | Перетворення коду клавіатури в двійковий код. |
FDh | DCL | Визначити лінію управління пам'яттю. |
Таблиця 3.10 – Команди уведення-виведення і звернення до пам‘яті мікропроцесора Intel 4004
Код | Мнемоніка | Опис команди |
E0h | WRM | Запис вмісту акумулятора в символьне поле регістра пам‘яті. |
E1h | WMP | Запис вмісту акумулятора в порт виводу пам‘ять. |
E2h | WRR | Запис вмісту акумулятора в порт уведення-виведення. |
E3h | WPM | Запис вмісту акумулятора в пам‘ять програми. |
E4h | WR0 | Запис вмісту акумулятора в полі 0 пам‘яті. |
E5h | WR1 | Запис вмісту акумулятора в полі 1 пам‘яті. |
E6h | WR2 | Запис вмісту акумулятора в полі 2 пам‘яті. |
E7h | WR3 | Запис вмісту акумулятора в полі 3 пам‘яті. |
E8h | SBM | Відняти вміст символьного поля пам‘яті з акумулятора. |
E9h | RDM | Читання символьного поля пам‘яті в акумулятор. |
EAh | RDR | Читання вмісту порту уведення-виведення в акумулятор. |
EBh | ADM | Скласти вміст символьного поля пам‘яті з акумулятором. |
ECh | RD0 | Читання поля 0 пам‘яті в акумулятор. |
EDh | RD1 | Читання поля 1 пам‘яті в акумулятор. |
EEh | RD2 | Читання поля 2 пам‘яті в акумулятор. |
EFh | RD3 | Читання поля 3 пам‘яті в акумулятор. |
Завдання 7. Розробити VHDL-модель поведінки дешифратора машинних команд мікропроцесора Intel 4004. Код операції - 8 біт. На виході дешифратора повинен формуватися позиційний двійковий код вибору операції (16 біт).
Завдання 8. Розробити VHDL-модель поведінки дешифратора акумуляторних команд мікропроцесора Intel 4004. Код операції - 8 біт. На виході дешифратора повинен формуватися позиційний двійковий код вибору операції (14 біт).
Завдання 9. Розробити VHDL-модель поведінки дешифратора команд уведення-виведення і звернення до пам‘яті мікропроцесора Intel 4004. Код операції - 8 біт. На виході дешифратора повинен формуватися позиційний двійковий код вибору операції (15 біт).
– Конец работы –
Эта тема принадлежит разделу:
Запорізький національний технічний університет... МЕТОДИЧНІ ВКАЗІВКИ до лабораторних робіт з дисципліни Архітектура ЕОМ...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Дешифратор адреси плати PCL-711B
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов