- •Введение.
- •Определения. Определение информации
- •Эволюция типов машин
- •История зарождения вычислительных систем
- •Эволюция эвм
- •Архитектура эвм. Определение. Примеры.
- •Виды информации и кодирование информации
- •Кодирование числовой информации
- •Кодирование текста
- •Кодирование изображений
- •Кодирование звука
- •Кодирование видео
- •Процессор
- •Эволюция технологий изготовления процессора
- •Закон Мура
- •Транзисторы.
- •Логические функции.
- •Реализация логических элементов на транзисторах
- •Реализация базовых компонент вычислительных систем на логических функциях.
- •Триггер
- •Регистр
- •Дешифратор
- •Сумматор
- •Программы, моделирующие логические схемы. Multimedia Logic.
- •Алгоритм действий процессора.
- •Операнд n
- •Операнд 1
- •Основные регистры процессора
- •Файловая система
- •Эволюция общей шины. Современный чипсет. Северный и южный мост.
- •Внешние устройства.
Дешифратор
Дешифратор - устройство (комбинационная схема), имеющее n входов и 2n выходов и активирующее тот выход, чей номер указан на входе двоичным кодом (Рисунок 49).
Рисунок 49. Дешифратор. Таблица истинности.
В приведённом примере у дешифратора всего два входа и четыре выхода. Как видно из таблицы истинности, активируется единицей именно тот выход, чей номер в двоичном коде указывается на входе. Дешифраторы активно применяются для выбора ячейки памяти, к которой производится обращение для записи или считывания информации. На вход дешифратора подается адрес ячейки, согласно поданному адресу активируется для работы только одна ячейка. Остальные будут игнорировать попытки записи или чтения.
Для реализации логической схемы устройства дешифратора надо составить логическую функцию для каждого выхода. В приведенном примере требуются четыре логические функции. Нулевой выход должен активироваться (иметь «1») при двух нулях на входе, следовательно, логическая функция нулевого выхода d0=¬a0∧¬a1.
Задание: запишите логические функции для всех выходов дешифратора.
Задание: реализуйте логическую схему дешифратора.
Рабочая логическая схема в режиме моделирования, реализующая дешифратор приведена на рисунке (смотри Error: Reference source not found), демонстрирующем возможности программы-редактора логических схем Multimedia Logic.
Сумматор
Наибольший интерес представляет логическая схема устройства под названием сумматор. Как известно, все арифметические и прочие операции с числами производятся процессором, в частности - арифметико-логическим устройством. Сложение – одна из наиболее популярных математических операций. Причиной тому является еще и тот факт, что вычитание в процессоре заменено сложением вычитаемого числа, представленного в обратном коде. Умножение производится через многократное сложение. Возведение в степень – через многократное умножение. Таким образом, сумматор, производящий сложение двух чисел является одним из основных элементов арифметико-логического устройства.
Разработаем логическую схему сумматора для двух двухразрядных чисел A (a1a0) и B (b1b0).В результате сложения получится число S (s2s1s0) – сумма может получиться трехразрядной. Согласно правилам сложения логическая схема суммирования младших разрядов выглядит следующим образом (смотри Рисунок 50):
a0 |
b0 |
s0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
Рисунок 50. Таблица истинности сложения младших разрядов суммируемых чисел.
Фактически реализуется логическая функция «Сложение по модулю два», которую несложно реализовать на любом базисе.
Но в последней строке таблицы истинности имеется некоторая некорректность: согласно правилам сложения чисел, при двух складываемых единицах в двоичном коде возникает перенос в старший разряд. Таким образом, полная таблица истинности для младших разрядов суммируемых чисел выглядит следующим образом (смотри Рисунок 51):
a0 |
b0 |
s0 |
p0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
Рисунок 51. Таблица истинности сложения младших разрядов суммируемых чисел с учетом возникновения переноса в старший разряд..
Функция возникновения переноса в младшем разряде совпадает с логической функцией И.
Суммирование старших разрядов будет уже функцией трех переменных (смотри Рисунок 52):
a1 |
b1 |
p0 |
s1 |
p1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Рисунок 52. Таблица истинности сложения старших разрядов с учетом возникновения переноса в старший разряд.
Получаем, что сумма опять реализуется как сложение по модулю два, но уже как функция трех переменных.
Для определения логической функции возникновения переноса следует проанализировать таблицу истинности: видно, что перенос истинен в 4-ой, 6-ой,7-ой и 8-ой строке. Если записать эти строки логическими выражениями, то получается функция: (a1∧b1∧¬p0)∨ (¬a1∧b1∧p0)∨ (a1∧¬b1∧p0)∨ (a1∧b1∧p0).
Функция получилась громоздкая, ее желательно постараться упростить, используя законы логики.
Иной вариант: более детально изучить таблицу истинности, и увидеть, что при отсутствии переноса из предыдущего разряда (p0=0) перенос текущего разряда совпадает с функцией И двух суммируемых разрядов. При наличии переноса из предыдущего разряда (p0=1) перенос текущего разряда совпадает с функцией ИЛИ. Таким образом, можно записать упрощенную логическую функцию для переноса текущего разряда: (a1∧b1∧¬p0)∨ (p0∧(a1∨b1)).
Логическая схему сумматора приведена далее (смотри Рисунок 56).
