С.В. Симонович и др. Информатика. Базовый курс. – СПб: Питер, 2005 – 640 с. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

С.В. Симонович и др. Информатика. Базовый курс. – СПб: Питер, 2005 – 640 с.



 

Тема: Суматори. Побудова та принципи дії напівсуматора, однорозрядного та багато розрядних суматорів.

План

1. Двійковий напівсуматор.

2. Однорозрядний суматор.

3. Паралельний багаторозрядний суматор.

4. Послідовний багато розрядний суматор.

 

1. Згідно визначення, вихідні сигнали двійкового напівсуматора повинні відповідати системі ФАЛ

s= x1’x0+ x1x0’, (17.1)

p= x1x0. (17.2)

Для її технічної реалізації потрібні елементи І та Виключне АБО.

Технічна реалізація виразу (17.1) наведена на рисунку 17.1.

 

Рисунок 17.1. – Структурна реалізація операції Виключне АБО (а) та її умовне позначення (б).

Виходячи з викладеного легко можна синтезувати логічну схему двійкового напівсуматора (рисунок 17.2, а).

Рисунок 17.2. – Логічна схема напівсуматора (а) та його умовне графічне позначення (б).

2. Функціонування однорозрядного суматора визначається системою ФАЛ

s =(x1 x0)P- 1’+ (x1 x0)’P-1 (17.3)

p = x1x0 + (x1 x0)P-1 (17.4)

Технічна реалізація даної ФАЛ може бути виконана на ЛЕ будь-якого типу. Розглянемо, наприклад, побудову однорозрядного суматора з використанням схем двійкових напівсуматорів (рисунок 17.3)

 

Рисунок 17.3 – Реалізація однорозрядного суматора за допомогою напівсуматорів.

Умовне графічне позначення однорозрядного суматора наведене на рисунку 17.4.

Рисунок 17.4. – Умовне графічне позначення однорозрядного суматора.

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

Розглянемо типову структуру 4-розрядного суматора, виконаного з використанням трьох однорозрядних суматорів та одного напівсуматора (рисунок 17.5). Розряди кодів складників подаються на відповідні входи суматорів, виходи суми яких приєднуються до перших входів логічних елементів І, що використовуються в якості вихідних ключів, на другі входи яких подається сигнал Z, що визначає момент зчитування результату. Вихід сигналу перенесення суматора нульового розряду подається на вхід перенесення суматора першого розряду і т.д.

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

Рисунок 17.5. – Структурна схема паралельного багато розрядного суматора з паралельним перенесенням.

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

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

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

Розглянемо типову схему багато розрядного суматора послідовної дії (рисунок 17.6).

Для реалізації такого пристрою потрібні три регістри зсуву, один D -тригер та один однорозрядний суматор. При цьому входи синхронізації одного з регістрів зсуву та D -тригера повинні бути інверсними відносно входів двох інших регістрів зсуву.

Розглянемо роботу даної схеми. Для складання двох кодів вони попередньо повинні бути записані в регістри зсуву DD1 та DD2. При цьому неважливо, яким чином (послідовним чи паралельним) це виконувалося. Головною вимогою є таке розміщення коду в розрядних схемах регістрів, при якому в його старші розряди Qn записуються сигнали логічного 0, а в розряди Qn-1 – молодші розряди кодів складників.

Рисунок 17.6. – Структурна схема багаторозрядного суматора послідовної дії.

Отже, для складання двох n -розрядних кодів необхідні (n+1) -розрядні регістри. Зазначені умови розміщенні повинні виконуватись при використанні регістрів, що зсувають ліворуч.

Перед виконанням операції D -тригер повинен бути скинутим. Стан розрядних схем регістра DD5 прийому результату – байдужий.

Складання вимагає подачі на тактовий вхід пристрою n імпульсів синхронізації. Причому початковий перепад першого імпульсу синхронізації повинен бути активним для входів С регістрів DD1 та DD2 зберігання кодів складників.

По фронту імпульса синхронізації на входах Qn регістрів зсуву DD1 та DD2 з’являються значення молодших розрядів кодів складників (x0, y0), оскільки на виході Q D-тригера DD3 присутній нульовий сигнал, на виході однорозрядного суматора DD4 через час складання будуть сформовані сигнали суми і перенесення для молодших розрядівє по спаду імпульсу синхронізації отримані значення перепишуться відповідно в молодший розряд регістру зсуву DD5 та D -тригер DD3. Таким чином, до надходження наступного імпульсу синхронізації в D -тригері буде зберігатися сигнал перенесення, отриманий при складанні молодших розрядів заданих, кодів, а розряді Q0 регістру зсуву DD5 – молодший розряд суми.

Фронт другого імпульсу синхронізації перепише з Qn-1 розрядів регістрів зсуву DD1 та DD2 на входи однорозрядного суматора значення сигналів других розрядів кодів складників (x1,y1). Сумісно з сигналом перенесення, що знімається з виходу D -тригера, це призводить до формування на його виходах нових значень сигналів суми та перенесення, які по спаду імпульсу синхронізації перепишуться відповідно в регістр зсуву DD5 та D -тригер DD3 і т.д.

Література

1.Бабич М.П., Жуков І.А. Комп’ютерна схемотехніка: Навчальний посібник. – К.: «МК-Прес», 2004. – стр. 176-177.

2. Токхейм Р. Основы цифровой электроники: Пер. с англ.. – М.: Мир, 1988. – стр 225-233.

 

Лекція №18

Повідомлення і сигнали

План

Поняття сигналу

Відправлення сигналів

Обробка сигналів

Носії повідомлень

 

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

Відправлення сигналів

· Натискання певної комбінації клавіш в терміналі в якому запущений процес, змушує систему відправляти певні сигнали:

o Ctrl-C (в старих Юніксах, DEL) посилає сигнал INT (SIGINT), за замовчуванням це змушує процес завершитись.

o Ctrl-Z посилає сигнал TSTP (SIGTSTP); за замовчуванням це змушує процес призупинити виконання.

o Ctrl-\ посилає сигнал QUIT (SIGQUIT); за замовчуванням, це змушує процес завершити роботу, та зберегти дамп.

o (Стандартні комбінації клавіш можна змінити командою stty.)

· Виклик системної функції kill(2) пошле заданий сигнал процесу, якщо дозволять права. Аналогічно команда шелла kill дозволить користувачу послати сигнал процесу. Спеціальна бібліотечна функція raise(3) посилає обраний сигнал поточному процесу.

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

· Ядро може згенерувати сигнал, щоб повідомити процес про якусь подію. Наприклад, SIGPIPE генерується коли процес пише в трубу, що закрита читачем, за замовчуванням це змушує процес завершити роботу, що зручно при створенні конвеєрів.

Обробка сигналів

Обробники сигналів можуть призначатись функцією signal(). Якщо для певного сигналу не встановлений обробник, то використовується стандартний. В іншому випадку сигнал перехоплюється і викликається його обробник. Процес також може задавати два способи поведінки, без створення обробника: ігнорувати сигнал (SIG_IGN) та використати стандартний обробник (SIG_DFL). Є два сигнали які не можуть бути перехопленими та обробленими: SIGKILL та SIGSTOP.



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 59; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.11.98 (0.013 с.)