Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_сем2_А4(19-04-10).DOC
Скачиваний:
1
Добавлен:
03.05.2019
Размер:
1.34 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ

ХМЕЛЬНИЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

КАФЕДРА КОМП’ЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ

Комп’ютерна схемотехніка

Методичні вказівки до лабораторних робіт для студентів спеціальності 7.091501

денної та заочної форми навчання

ЧАСТИНА 2 – Процесори цифрових ЕОМ

Загальні положення

Друга частина лабораторного практикуму з навчальної дисципліни “Комп’ютерна схемотехніка” присвячується проектуванню вузлів процесорів цифрових ЕОМ.

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

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

Призначенням проектованого процесора є виконання однієї із двох арифметичних функцій, при чому вибір виконуваної функції повинен виконуватись на основі перевірки виконання заданої базової умови.

Загальний алгоритм роботи проектованого процесора можна описати

  1. Початковий стан - процесор перебуває в очікуванні сигналу запуску “Пуск” (циклічне опитування сигналу “Пуск”). В цей час зовнішні стосовно проектованого процесора схеми можуть завантажувати в регістри процесора початкові дані. Надходження активного рівня сигналу “Пуск” автоматично сповіщає процесор про готовність початкових даних до обробки (значення операндів А і В записані до регістрів даних процесора РгА і РгВ відповідно).

  2. По отриманню сигналу “Пуск” виконується перевірка виконання базової контрольованої умови.

  3. В залежності від результатів перевірки базової контрольованої умови виконується реалізація однієї з двох заданих арифметичних функцій.

  4. Отриманий в ході реалізації функції результат записується в регістр результату або встановлюється ознака (прапорець) отримання хибного результату.

  5. Формується сигнал завершення робочого циклу, який сповіщає зовнішні стосовно проектованого процесора схеми про готовність результату (про отримання вірного або хибного результату зовнішні схеми можуть дізнатися з аналізу стану прапорців помилок).

  6. Кінцевий стан - процесор перебуває в очікуванні зняття сигналу “Пуск”. В цей час зовнішні стосовно проектованого процесора схеми можуть реалізовувати зчитування результату та аналіз стану прапорців помилок.

  7. Після зняття сигналу “Пуск” процесор що автоматично переводить його в початковий стан (сигнал ознаки готовності результату знімається).

Основні положення, які слід враховувати при розробці процесора:

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

  2. При проектуванні арифметико-логічного пристрою процесора повинні бути реалізовані принципи його універсальності стосовно виконуваних операцій при мінімальній апаратній складності.

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

  4. З метою зменшення апаратної складності проектованого процесора регістри початкових операндів РгА і РгВ можуть використовуватись в якості регістра для розміщення результату.

Враховуючи складність та багатоваріантність можливих рішень поставлених завдань базові принципи побудови проектованих вузлів повинні узгоджуватись з викладачем.

Лабораторна робота №8

Тема: Проектування пристроїв перевірки умов в складі АЛП.

Мета: вивчити методи реалізації пристроїв перевірки умов в складі АЛП, отримати навички в побудові пристроїв порівняння знакових двійкових чисел на основі стандартних схем цифрових компараторів.

Теоретичні відомості

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

Перед нами стоїть мета побудувати пристрій порівняння знакових чисел в модифікованому доповняльному коді.

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

Розглянемо приклад побудови схеми порівняння знакових чисел в доповняльному коді на основі стандартних схем цифрових компараторів (принципи будови і роботи схем порівняння чисел в класичному і модифікованому доповняльному коді при цьому будуть однотипними, оскільки зазначені коди відрізняються лише кількістю знакових розрядів в числі. Нагадаємо, що в модифікованому доповняльному коді для виявлення переповнень розрядної сітки в представлення числа вводяться два однакових знакових розряди).

При побудові схем порівняння знакових чисел на основі стандартних схем цифрових компараторів може використовуватись два підходи:

  • на входи цифрових компараторів подаються лише значущі розряди операндів, а знакові розряди опрацьовуються відокремлено;

  • на входи цифрових компараторів подаються всі розряди операндів із знаковими розрядами включно.

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

Для дослідження особливостей реалізації схем порівняння знакових чисел на основі стандартних схем цифрових компараторів введемо такі позначення:

  • Зн.А – знак числа А (значення знакового розряду числа А: Зн.А=0 – число А додатне, Зн.А=1 – число А від’ємне);

  • Зн.В – знак числа В (значення знакового розряду числа В: Зн.В=0 – число В додатне, Зн.В=1 – число В від’ємне);

  • виходи компаратора, на яких, фактично, будуть відображатися проміжні результати порівняння операндів, позначатимемо (A>B), (A=B), (A<B);

  • виходи пристрою порівняння, на яких нам необхідно сформувати вірні результати порівняння операндів, позначатимемо відповідно (A>B), (A=B) і (A<B).

При проектуванні схем порівняння знакових чисел на основі стандартних схем цифрових компараторів нам необхідно реалізувати доповнення блоку стандартних компараторів схемою, яка на основі наявних вхідних для неї сигналів Зн.А, Зн.В, (A>B), (A=B) і (A<B) буде формувати вірні значення сигналів результату порівняння знакових чисел на виходах (A>B), (A=B) і (A<B).

Розглянемо спочатку всі теоретично можливі комбінації вхідних сигналів Зн.А, Зн.В, (A>B), (A=B) і (A<B).

Якщо провести перебір можливих комбінацій значень в знакових розрядах операндів А і В, отримаємо чотири різних варіанти:

  • Зн.А=0 і Зн.В=0 (число А додатне і число В додатне);

  • Зн.А=0 і Зн.В=1 (число А додатне, число В від’ємне);

  • Зн.А=1 і Зн.В=0 (число А від’ємне, число В додатне);

  • Зн.А=1 і Зн.В=1 (число А від’ємне і число В від’ємне).

При класичному варіанті включення цифрових компараторів в схеми порівняння на їх виходах формується унітарний код. Тобто, можливим є формування активного значення вихідного сигналу лише на одному з трьох виходів (A>B, A=B або A<B), що відповідає можливим результатам порівняння двох чисел. Як наслідок, можливими стають три варіанти комбінацій сигналів на виходах компаратора:

  • (A>B)=1, (A=B)=0, (A<B)=0;

  • (A>B)=0, (A=B)=1, (A<B)=0;

  • (A>B)=0, (A=B)=0, (A<B)=1.

Якщо провести комбінування можливих варіантів значень в знакових розрядах операндів і значень сигналів на виходах компаратора отримаємо дванадцять різних варіантів поєднання (табл. 8.1 – колонки 2-6).

Отримані в стовпчиках 4-6 таблиці 8.1 результати не є вірними з математичної точки зору, тому дозаповнимо отриману таблицю у відповідністю із математичною логікою порівняння знакових чисел.

Моделювання роботи стандартних схем цифрових компараторів при поданні на їх входи знакових чисел в доповняльному двійковому коді показує, що при поданні чисел з однаковими знаками (коли число А додатне і число В додатне або коли число А від’ємне і число В від’ємне) компаратори сформують на своїх виходах вірний результат. Це дозволяє заповнити нам в таблиці 8.1 шукані значення вихідних сигналів схеми (останні три стовпчики) по рядках 1-3 і 10-12. Для операндів з різними знаками відповідної залежності не спостерігається, тому при заповненні значень вихідних сигналів схеми по рядках 4-9 враховуємо, що додатне число завжди є більшим за від’ємне.

Таблиця 8.1

Зн. А

Зн. В

(A>B)

(A=B)

(A<B)

(A>B)

(A=B)

(A<B)

1

2

3

4

5

6

7

8

9

1

0

0

0

0

1

0

0

1

2

0

0

0

1

0

0

1

0

3

0

0

1

0

0

1

0

0

4

0

1

0

0

1

1

0

0

5

0

1

0

1

0

1

0

0

6

0

1

1

0

0

1

0

0

7

1

0

0

0

1

0

0

1

8

1

0

0

1

0

0

0

1

9

1

0

1

0

0

0

0

1

10

1

1

0

0

1

0

0

1

11

1

1

0

1

0

0

1

0

12

1

1

1

0

0

1

0

0

Дані таблиці 8.1 є дійсними, якщо на входи цифрових компараторів подаються лише значущі розряди операндів, а знакові розряди опрацьовуються відокремлено (перший варіант включення компараторів).

Якщо проаналізувати поведінку схеми при другому варіанті, коли на входи цифрових компараторів подаються всі розряди операндів із знаковими розрядами включно, то стосовно порівняння знакових чисел в доповняльному двійковому коді можна зробити два суттєвих висновки:

  • оскільки знакові розряди додатного і від’ємного числа в доповняльному двійковому коді містять різні значення (0 і 1 відповідно), класичний цифровий компаратор двійкових кодів ніколи не визнає видасть результат порівняння А=В і ситуації, описані в рядках 5 і 8 таблиці 8.1, при другому варіанті включення компараторів стають неможливими;

  • оскільки знакові розряди є старшими в розрядній сітці числа, класичний цифровий компаратор двійкових кодів ніколи не визнає від’ємне число (в знаковому розряді 1) меншим за додатне (в знаковому розряді 0) і ситуації, описані в рядках 6 і 7 таблиці 8.1, при другому варіанті включення компараторів також стають неможливими.

Коментар: Для доведення дійсності зроблених висновків проведемо аналіз особливостей роботи компаратора при порівнянні двох чисел з різними знаками: наприклад, 0.10101 – число додатне, 1.10101 – число від’ємне. При цьому потрібно врахувати, що знакові розряди (вони є старшими) також беруть участь у порівнянні чисел і вони мають більшу вагу у порівнянні з значущими розрядами (молодшими). Як видно з аналізованого прикладу , якщо на звичайний цифровий компаратор для порівняння надійдуть додатне та від’ємне числа, то компаратор в результаті порівняння двійкових кодів завжди видасть результат, за яким від’ємне число є більшим за додатне. Оскільки інші варіанти спрацьовування компаратора неможливі (додатне=від’ємне, додатне>від’ємне), з вихідної таблиці 8.1 потрібно виключити відповідні їм рядки 5, 6, 7 і 8.

Останні висновки дозволяють для другого варіанту включення компараторів ще більше скоротити таблицю істинності і залишити в ній лише 8 рядків, що відповідають дійсно можливим ситуаціям (табл. 8.2).

Таблиця 8.2

Зн. А

Зн. В

(A>B)

(A=B)

(A<B)

(A>B)

(A=B)

(A<B)

1

2

3

4

5

6

7

8

9

1

0

0

0

0

1

0

0

1

2

0

0

0

1

0

0

1

0

3

0

0

1

0

0

1

0

0

4

0

1

0

0

1

1

0

0

9

1

0

1

0

0

0

0

1

10

1

1

0

0

1

0

0

1

11

1

1

0

1

0

0

1

0

12

1

1

1

0

0

1

0

0

Згідно отриманої таблиці запишемо формули для обчислення вихідних параметрів у ДДНФ:

Побудуємо карти Карно для мінімізації виразів. Для :

Для :

Для :

Для того щоб не будувати схему визначення сигналу , достатньо помітити, що він набуває істини, лише коли дорівнює «0» і дорівнює «0», тобто або . Нижче наведено функційну схему пристрою порівняння.

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

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

Рисунок 8.1 - Схема електрична функційна пристрою порівняння знакових чисел