Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Частина 2.doc
Скачиваний:
80
Добавлен:
17.11.2019
Размер:
3.15 Mб
Скачать

4.6.2.3. Реалізація порозрядних операцій в регістрах.

Зазвичай, операція видачі коду з регістра об’єднується з операцією прийому цього коду на інший регістр. В процесі передачі інформації з регістра на регістр можлива змістовна переробка кодів слів. В залежності від організації схем клапанів обміну інформацією між регістрами можуть бути здійснені такі операції:

  • перепис коду із регістра в регістр;

  • логічне додавання двох слів;

  • логічне множення двох слів;

  • порозрядне додавання двох слів (додавання за модулем 2).

Операції видачі коду з регістра і прийому в регістр були вже розглянуті. Розглянемо виконання в регістрах інших операцій. Нехай два слова X і Y розміщені в регістрах Рг1 і Рг2 відповідно, а результат операції повинен бути утворений в регістрі Рг2.

Значення результатів логічного додавання, логічного множення і додавання за mod 2 в кожному з розрядів регістра утворюються згідно таблиці 4.13.

Таблиця 4.13.

Таблиця утворення результатів порозрядних операцій.

xi

yi

Qi = xi yi

xi

yi

Qi = xi yi

xi

yi

Qi = xi yi

0

0

0

0

0

0

0

0

0

0

1

1

0

1

0

0

1

1

1

0

1

1

0

0

1

0

1

1

1

1

1

1

1

1

1

0

На рис. 4.65 наведена схема для реалізації виконання операцій порозрядного додавання і множення.

В Рг1 записаний код числа x1, x2, …, xn. Код іншого числа y1, y2, …, yn зберігається в Рг2. Код числа x1, x2, …, xn може бути переданий в Рг2 через систему логічних елементів І1 або І2. При збудженні шини передачі сигналом ЛД (логічне додавання) через схеми І1 на входи S тригерів регістра Рг2 пройдуть сигнали, що відповідають станам 1 тригерів регістра Рг1. Отже, стан 1 тригерів регістра Рг1 переноситься при передачі в тригери регістра Рг2 і об’єднується в кожному тригері регістра Рг2 з їх станами 1, що були встановлені кодом y1, y2, …, yn. Це і відповідає виконанню операції порозрядного додавання кодів відповідно таблиці 4.13.

При збудженні шини передачі сигналом ЛМ (логічне множення) через систему логічних схем І2 в регістр Рг2 на входи 0 тригерів будуть передані сигнали, що відповідають  стану інверсних виходів тригерів  регістра Рг1. В цьому випадку станеться скидання всіх тригерів регістра Рг2, крім тих, стан 1 яких співпадає з станом 1 тригерів регістра Рг1. Отже, виконання вказаної передачі сигналів призводить до виконанню операції порозрядного логічного множення у відповідності до таблиці 4.13.

Схема регістра, в якому виконується операція порозрядного додавання за mod 2 наведена на рис. 4.66. Нехай в регістр на тригерах з лічильними входами записаний код числа x1, x2, …, xn. За сигналом прийому коду «Пр» через систему схем І на лічильні входи тригерів в кожному розряді можна передати сигнали 1 коду числа y1, y2, …, yn. Проходячи на лічильний вхід, сигнали 1 призведуть до перекидання всіх тригерів, які попередньо сигналами коду x1, x2, …, xn були встановлені в стан 1 і 0, і в регістрі утвориться код числа Q1 Q2Qn-1 Qn як результат порозрядного додавання за mod 2.

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

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