
- •Введение
- •Системы счисления и представление данных
- •Числа конечной точности
- •Системы счисления
- •Преобразование чисел из одной системы счисления в другую
- •Правило замещения
- •Правило деления-умножения
- •Правило деления
- •Правило умножения
- •Упрощенные правила
- •Двоичная арифметика
- •Отрицательные двоичные числа
- •Сложение двоичных чисел
- •Числа с плавающей точкой
- •Принципы представления с плавающей точкой
- •Округление чисел
- •Стандарт ieee 754
- •Организация компьютерных систем
- •Архитектура и структура вычислительных машин
- •Языки, уровни и виртуальные машины
- •Компиляция
- •Интерпретация
- •Виртуальные машины
- •Многоуровневые машины
- •Многоуровневая организация компьютеров
- •Уровень 0
- •Уровень 1
- •Уровень 2
- •Уровень 3
- •Уровень 4
- •Уровень 5
- •Аппаратное и программное обеспечение
- •Структура компьютера
- •Организация памяти вычислительных машин
- •Адреса основной памяти
- •Упорядочение байтов
- •Цифровой логический уровень
- •Вентили и булева алгебра
- •Вентили
- •Булева алгебра
- •Реализация булевых функций
- •Основные цифровые логические схемы
- •Интегральные схемы
- •Комбинационные схемы
- •Мультиплексоры
- •Декодеры
- •Компараторы
- •Арифметические схемы Схемы сдвига
- •Сумматоры
- •Арифметико-логические устройства
- •Тактовые генераторы
- •Защелки
- •Синхронные sr-защелки
- •Синхронные d-защелки
- •Триггеры
- •Регистры
- •Организация большого объема памяти
- •Микроархитектурный уровень
- •Пример микроархитектуры: организация
- •Поток управления
- •Последовательный поток управления и переходы
- •Процедуры
- •Модель памяти
- •Набор команд
- •Пример микроархитектуры: управление микрокомандами
- •Тракт данных
- •Синхронизация тракта данных
- •Работа памяти
- •Микрокоманды
- •Управление микрокомандами
- •Уровень архитектуры команд
- •Уровень команд процессора Pentium II
- •Регистры
- •Выравнивание адресов
- •Типы данных
- •Форматы команд
- •Адресация
- •Непосредственная адресация
- •Прямая адресация
- •Регистровая адресация
- •Косвенная регистровая адресация
- •Базовая адресация
- •Индексная адресация
- •Команды процессора Pentium II
- •Команды перемещения
- •Арифметические команды
- •Двоично-десятичные команды
- •Логические команды
- •Команды сдвига/циклического сдвига
- •Команды тестирования/сравнения
- •Команды передачи управления
- •Команды для операций над цепочками
- •Команды управления флаговым регистром
- •Прочие команды
- •Уровень языка ассемблера
- •Формат оператора в языке ассемблера
- •Команды
- •Операнды
- •Комментарии
- •Директивы
- •Макросы
- •Процесс ассемблирования
- •Архитектуры компьютеров параллельного действия
- •Организация конвейерных и параллельных вычислений
- •Конвейеры
- •Параллелизм на уровне процессоров
- •Мультикомпьютеры
- •Классификация вычислительных платформ, типы процессоров
- •Классификация компьютеров параллельного действия
Булева алгебра
Чтобы описать схемы, которые строятся путем сочетания различных вентилей, нужен особый тип алгебры, в которой все переменные и функции могут принимать только два значения: 0 и 1. Такая алгебра называется булевой алгеброй. Она названа в честь английского математика Джорджа Буля (1815-1864).
Как и в обычной алгебре, в булевой алгебре есть свои функции. Булева функция имеет одну или несколько переменных и выдает результат, который зависит только от значений этих переменных. Можно определить простую функцию f, сказав, что f(A)=1, если А=0, и f(A)=0, если А=1. Такая функция будет функцией НЕ (Рис. 3 .12, а).
Так как булева функция от n переменных имеет только 2n возможных комбинаций значений переменных, то такую функцию можно полностью описать в таблице с 2n строками. В каждой строке будет даваться значение функции для разных комбинаций значений переменных. Такая таблица называется таблицей истинности. На Рис. 3 .13, а) показана таблица истинности для функции от трех переменных: M = f (A, B, C).
Рис. 3.13. Таблица истинности для функции большинства от трех переменных (а); схема для этой функции (б)
Для функций от большего числа переменных такой тип записи становится громоздким, поэтому часто используются другой тип записи – компактная запись.
Л
Инвертирование
функции A также называется
«дополнением от функции A».
принимает значение 1, только если А=1,
В=0
и С=1.
принимает значение 1, только если (А=1
и В=0)
или (B=1
и С=0).
В
таблице на Рис. 3 .13, а) функция принимает
значение 1 в четырех строках:
,
,
и
.
Функция М
принимает значение истины (то есть 1),
если одно из этих четырех условий
истинно. Следовательно, мы можем написать:
Это компактная запись таблицы истинности. Таким образом, функцию от n переменных можно описать суммой максимум 2n произведений, при этом в каждом произведении будет по n множителей.
Разработчики схем часто стараются сократить число вентилей, чтобы снизить ее цену, уменьшить занимаемое схемой место, сократить потребление энергии и т. д. Чтобы упростить схему, разработчик должен найти другую схему, которая может вычислять ту же функцию, но при этом требует меньшего количества вентилей. Булева алгебра является ценным инструментом в поиске эквивалентных схем.
Обычно разработчик исходит из определенной булевой функции, а затем применяет к ней законы булевой алгебры, чтобы найти более простую функцию, эквивалентную исходной. На основе полученной функции можно конструировать схему.
Чтобы использовать данный подход, нам нужны некоторые равенства из булевой алгебры. Ниже показаны некоторые основные законы (Таблица 3 .4). Необходимо отметить, что каждый закон имеет две формы. Одну форму из другой можно получить, меняя И на ИЛИ и 0 на 1. Все законы можно легко доказать, составив их таблицы истинности.
Названия законов |
И |
ИЛИ |
Законы тождества
|
|
|
Законы нуля
|
|
|
Законы идемпотентности
|
|
|
Законы инверсии
|
|
|
Коммуникативные законы
|
|
|
Ассоциативные законы
|
|
|
Дистрибутивные законы
|
|
|
Законы поглощения
|
|
|
Законы Де Моргана
|
|
|
Т
Названия
законов
И
ИЛИ
Законы
тождества
Законы
нуля
Законы идемпотентности
Законы
инверсии
Коммуникативные
законы
Ассоциативные
законы
Дистрибутивные
законы
Законы
поглощения
Законы
Де Моргана
Законы
Де Моргана распространяются на выражения
с более чем двумя переменными, например
.