| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Логические основы устройства компьютераБазовые логические элементыБазовые логические элементы реализуют рассмотренные выше три основные логические операции:
Логические элементы компьютера оперируют с сигналами, представляющими собой электрические импульсы. Есть импульс — логический смысл сигнала — 1, нет импульса — 0. На входы логического элемента поступают сигналы-значения аргументов, на выходе появляется сигнал-значение функции.Преобразование сигнала логическим элементом задается таблицей состояния, которая фактически является таблицей истинности, соответствующей логической функции. Логический элемент «И». На входы А и В логического элемента (рис. 3.1) подаются два сигнала (00, 01, 10 или 11). На выходе получается сигнал 0 или 1 в соответствии с таблицей истинности операции логического умножения. Pис. 3.1 Логический элемент • «И» Логический элемент «ИЛИ». На входы А и В логического элемента (рис. 3.2) подаются два сигнала (00, 01, 10 или 11). На выходе получается сигнал 0 или 1 в соответствии с таблицей истинности операции логического сложения. Рис. 3.2 Логический элемент • "ИЛИ" Логический элемент «НЕ». На вход А логического элемента (рис. 3.3) подается сигнал 0 или 1. На выходе получается сигнал 0 или 1 в соответствии с таблицей истинности инверсии Рис. 3.3 Логический элемент • "НЕ" Сумматор двоичных чисел В целях максимального упрощения работы компьютера все многообразие математических операций в процессоре сводится к сложению двоичных чисел. Поэтому главной частью процессора являются сумматоры, которые как раз и обеспечивают такое сложение. Полусумматор. Вспомним, что при сложении двоичных чисел в каждом разряде образуется сумма и при этом возможен перенос в старший разряд. Введем обозначения слагаемых (А, В), переноса (Р) и суммы (S). Таблица сложения одноразрядных двоичных чисел с учетом переноса в старший разряд выглядит следующим образом:
Из этой таблицы сразу видно, что перенос можно реализовать с помощью операции логического умножения: Р =А&В. Получим теперь формулу для вычисления суммы. Значения суммы близки к результату операции логического сложения (кроме случая, когда на входы подаются две единицы, а на выходе должен получиться нуль). Нужный результат достигается, если результат логического сложения умножить на инвертированный перенос. Таким образом, для определения суммы можно применить следующее логическое выражение: S = (А v B) & (А & В). Построим таблицу истинности для данного логического выражения и убедимся в правильности нашего предположения (табл. 3.11). Таблица 3.11. Таблица истинности логической функции F= (АvВ)&(А&В)
Теперь на основе полученных логических выражений можно построить из базовых логических элементов схему сложения одноразрядных двоичных чисел. По логической формуле переноса легко определить, что для получения переноса необходимо использовать логический элемент «И». Анализ логической формулы для суммы показывает, что на выходе должен стоять элемент логического умножения «И», который имеет два входа. На один из входов надо подать результат логического сложения исходных величин А и В, то есть на него должен подаваться сигнал с элемента логического сложения «ИЛИ». На второй вход требуется подать результат инвертированного логического умножения исходных сигналов (А & В), то есть на второй вход должен подаваться сигнал с элемента «НЕ», на вход которого должен поступать сигнал с элемента логического умножения «И» (рис. 3.4). Рис. 3.4. Полусумматор двоичных чисел Данная схема называется полусумматором, так как реализует суммирование одноразрядных двоичных чисел без учета переноса из младшего разряда. Полный одноразрядный сумматор. Полный одноразрядный сумматор должен иметь три входа: А, В — слагаемые и Р0 - перенос из младшего разряда и два выхода: сумму S и перенос Р. Таблица сложения в этом случае будет иметь следующий вид:
Идея построения полного сумматора точно такая же, как и полусумматора. Из таблицы сложения видно, что перенос (логическая переменная Р) принимает значение 1 тогда, когда хотя бы две входные логические переменные одновременно принимают значение 1. Таким образом, перенос реализуется путем логического сложения результатов попарного логического умножения входных переменных (А, В, ро). Формула переноса получает следующий вид: Р = (А & В) v (А & Р0) v (В & Р0). Для получения значения суммы (логическая переменная 5) необходимо результат логического сложения входных переменных (А, В,P0) умножить на инвертированный перенос Р: S = (А v В v Р0) & !Р. Данное логическое выражение дает правильные значения суммы во всех случаях, кроме одного, когда на все входные логические переменные принимают значение 1. Действительно: Р = (1 & 1) v (1 & 1) v (1 & 1) = 1; S = (1v1v1)&!Р = 1 & 0 = 0. Для получения правильного значения суммы (для данного случая переменная S должна принимать значение 1) необходимо сложить полученное выше выражение для суммы с результатом логического умножения входных переменных (А, В, P0). В результате логическое выражение для вычисления суммы в полном сумматоре принимает следующий вид: S = (А v В v Р0) & !Р0 v (А & В & Р0). Многоразрядный сумматор. Многоразрядный сумматор процессора состоит из полных одноразрядных сумматоров. На каждый разряд ставится одноразрядный сумматор, причем выход (перенос) сумматора младшего разряда подключается ко входу сумматора старшего разряда. Триггер Важнейшей структурной единицей оперативной памяти компьютера, а также внутренних регистров процессора является триггер. Это устройство позволяет запоминать, хранить и считывать информацию (каждый триггер может хранить 1 бит информации). Триггер можно построить из двух логических элементов «ИЛИ» и двух элементов «НЕ» (рис. 3.5). Триггер В обычном состоянии на входы триггера подан сигнал О, и триггер хранит 0. Для записи 1 на вход 5 (установочный) подается сигнал 1. Последовательно рассмотрев прохождение сигнала по схеме, видим, что триггер переходит в это состояние и будет устойчиво находиться в нем и после того, как сигнал на входе 5 исчезнет. Триггер запомнил 1, то есть с выхода триггера Q можно считать 1.Для того чтобы сбросить информацию и подготовиться к приему новой, подается сигнал 1 на вход К (сброс), после чего триггер возвратится к исходному «нулевому» состоянию. |