
- •Введение
- •Системы счисления и представление данных
- •Числа конечной точности
- •Системы счисления
- •Преобразование чисел из одной системы счисления в другую
- •Правило замещения
- •Правило деления-умножения
- •Правило деления
- •Правило умножения
- •Упрощенные правила
- •Двоичная арифметика
- •Отрицательные двоичные числа
- •Сложение двоичных чисел
- •Числа с плавающей точкой
- •Принципы представления с плавающей точкой
- •Округление чисел
- •Стандарт ieee 754
- •Организация компьютерных систем
- •Архитектура и структура вычислительных машин
- •Языки, уровни и виртуальные машины
- •Компиляция
- •Интерпретация
- •Виртуальные машины
- •Многоуровневые машины
- •Многоуровневая организация компьютеров
- •Уровень 0
- •Уровень 1
- •Уровень 2
- •Уровень 3
- •Уровень 4
- •Уровень 5
- •Аппаратное и программное обеспечение
- •Структура компьютера
- •Организация памяти вычислительных машин
- •Адреса основной памяти
- •Упорядочение байтов
- •Цифровой логический уровень
- •Вентили и булева алгебра
- •Вентили
- •Булева алгебра
- •Реализация булевых функций
- •Основные цифровые логические схемы
- •Интегральные схемы
- •Комбинационные схемы
- •Мультиплексоры
- •Декодеры
- •Компараторы
- •Арифметические схемы Схемы сдвига
- •Сумматоры
- •Арифметико-логические устройства
- •Тактовые генераторы
- •Защелки
- •Синхронные sr-защелки
- •Синхронные d-защелки
- •Триггеры
- •Регистры
- •Организация большого объема памяти
- •Микроархитектурный уровень
- •Пример микроархитектуры: организация
- •Поток управления
- •Последовательный поток управления и переходы
- •Процедуры
- •Модель памяти
- •Набор команд
- •Пример микроархитектуры: управление микрокомандами
- •Тракт данных
- •Синхронизация тракта данных
- •Работа памяти
- •Микрокоманды
- •Управление микрокомандами
- •Уровень архитектуры команд
- •Уровень команд процессора Pentium II
- •Регистры
- •Выравнивание адресов
- •Типы данных
- •Форматы команд
- •Адресация
- •Непосредственная адресация
- •Прямая адресация
- •Регистровая адресация
- •Косвенная регистровая адресация
- •Базовая адресация
- •Индексная адресация
- •Команды процессора Pentium II
- •Команды перемещения
- •Арифметические команды
- •Двоично-десятичные команды
- •Логические команды
- •Команды сдвига/циклического сдвига
- •Команды тестирования/сравнения
- •Команды передачи управления
- •Команды для операций над цепочками
- •Команды управления флаговым регистром
- •Прочие команды
- •Уровень языка ассемблера
- •Формат оператора в языке ассемблера
- •Команды
- •Операнды
- •Комментарии
- •Директивы
- •Макросы
- •Процесс ассемблирования
- •Архитектуры компьютеров параллельного действия
- •Организация конвейерных и параллельных вычислений
- •Конвейеры
- •Параллелизм на уровне процессоров
- •Мультикомпьютеры
- •Классификация вычислительных платформ, типы процессоров
- •Классификация компьютеров параллельного действия
Цифровой логический уровень
В самом низу иерархической схемы на Рис. 2 .4 находится цифровой логический уровень, или аппаратное обеспечение компьютера. Цифровые схемы этого уровня конструируются из небольшого числа простых элементов путем их сочетания в различных комбинациях. В следующих темах Вы узнаете подробнее об основных элементах и о том, как их можно сочетать. Также Вы изучите математические методы, которые можно использовать при анализе их работы.
Вентили и булева алгебра
В результате изучения данной темы Вы будете:
знать, что такое вентили и каких видов они бывают;
иметь представление о булевой алгебре, основных ее законах;
уметь с помощью вентилей реализовывать булевы функции.
Вентили
Цифровая схема – это схема, в которой есть только два логических значения. Обычно сигнал от 0 до 1 Вольт представляет одно значение (например, 0), а сигнал от 2 до 5 Вольт – другое значение (например, 1), напряжение за пределами указанных величин недопустимо. Электронные устройства, которые называются вентилями, могут вычислять различные функции от этих двузначных сигналов, они и формируют основу аппаратного обеспечения, на которой строятся все цифровые компьютеры.
Вся современная цифровая логика основывается на том, что транзистор может работать как очень быстрый бинарный переключатель. На Рис. 3 .11, а) изображен биполярный транзистор, встроенный в простую схему. Транзистор имеет три соединения с внешним миром: коллектор, базу и эмиттер. Если входное напряжение Vin ниже определенного критического значения, транзистор выключается и действует как очень большое сопротивление. Это приводит к выходному сигналу Vout, близкому к Vcc (напряжению, подаваемому извне), обычно +5 В для данного типа транзистора. Если Vin превышает критическое значение, транзистор включается и действует как провод, вызывая заземление сигнала Vout (по соглашению 0 В). Важно отметить, что если напряжение Vin низкое, то Vout высокое, и наоборот, Эта схема, таким образом, является инвертором, превращающим логический 0 в логическую 1 и логическую 1 в логический 0. Резистор (ломаная линия) нужен для ограничения количество тока, проходящего через транзистор, чтобы транзистор не сгорел. На переключение из одного состояния в другое обычно требуется несколько наносекунд (нс). Такую схему еще называют инвертором.
Рис. 3.11. Транзисторный вентиль НЕ (а); вентиль НЕ-И (б); вентиль НЕ-ИЛИ (в)
На Рис. 3 .11, б) два транзистора соединены последовательно. Если и напряжение V1 и напряжение V2 высокие, то оба транзистора будут служить проводниками и снижать Vout. Если одно из входных напряжений низкое, то соответствующий транзистор будет выключаться, и напряжение на выходе будет высоким. Другими словами, Vout будет низким тогда и только тогда, когда и напряжение V1, и напряжение V2 высокое.
На Рис. 3 .11, в) два транзистора соединены параллельно. Если один из входных сигналов высокий, будет включаться соответствующий транзистор и снижать выходной сигнал. Если оба напряжения на входе низкие, то выходное напряжение будет высоким.
Эти три схемы образуют три простейших вентиля. Они называются вентилями НЕ, НЕ-И и НЕ-ИЛИ. Если принять, что высокое напряжение (Vcc) – это логическая 1, а низкое напряжение («земля») – логический 0, то можно выражать значение на выходе как функцию от входных значений. Значки, которые используются для изображения этих трех типов вентилей, показаны на Рис. 3 .12 а) – в). Там же приводится поведение функции для каждой схемы. На этих рисунках А и В – это входные сигналы, а Х – выходной сигнал. Каждая строка таблицы определяет выходной сигнал для различных комбинаций входных сигналов.
Рис. 3.12. Значки для изображения 5 основных вентилей. Поведение функции для каждого вентиля
Если выходной сигнал (Рис. 3 .12, б) подать в инвертор, мы получим другую схему, противоположную вентилю НЕ-И, то есть такую схему, у которой выходной сигнал равен 1 тогда и только тогда, когда оба входных сигнала равны 1. Такая схема называется вентилем И, ее схематическое изображение и описание соответствующей функции даны на Рис. 3 .12, г). Точно так же вентиль НЕ-ИЛИ может быть связан с инвертором. Тогда получится схема, у которой выходной сигнал равен 1 в том случае, если хотя бы один из входных сигналов – 1, и равен 0, если оба входных сигнала равны 0. Изображение этой схемы, которая называется вентилем ИЛИ, а также описание соответствующей функции даны на Рис. 3 .12, д). Маленькие кружочки в схемах инвертора, вентиля НЕ-И и вентиля НЕ-ИЛИ называются инвертирующими выходами. Они также могут использоваться в другом контексте – для указания на инвертированный сигнал.
Пять вентилей, изображенных на Рис. 3 .12, составляют основу цифрового логического уровня. Из предшествующего обсуждения должно быть ясно, что вентили НЕ-И и НЕ-ИЛИ требуют два транзистора каждый, а вентили И и ИЛИ – три транзистора каждый. По этой причине во многих компьютерах используются вентили НЕ-И и НЕ-ИЛИ, а не И и ИЛИ. (На практике все вентили выполняются несколько по-другому, но НЕ-И и НЕ-ИЛИ все равно проще, чем И и ИЛИ.) Следует упомянуть, что вентили могут иметь более двух входов. В принципе вентиль НЕ-И, например, может иметь произвольное количество входов, но на практике больше восьми обычно не бывает.