Автор работы: Пользователь скрыл имя, 14 Октября 2014 в 18:07, реферат
Краткое описание
Алгебра логики (булева алгебра) – это раздел математики, возникший в XIX веке благодаря усилиям английского математика Дж. Буля. Поначалу булева алгебра не имела никакого практического значения. Однако уже в XX веке ее положения нашли применение в описании функционирования и разработке различных электронных схем. Законы и аппарат алгебры логики стал использоваться при проектировании различных частей компьютеров (память, процессор). Хотя это не единственная сфера применения данной науки.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И
НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ НЕФТИ И ГАЗА
ИМЕНИ И.М. ГУБКИНА
Факультет автоматики
и вычислительной техники
Кафедра информатики
РЕФЕРАТ
на тему:
«Логические основы
устройства компьютера»
Студент: Булат В.Р.(ЭМ-13-04)
Преподаватель: доцент Бирюкова-Савичева
Н.В.
Москва, 2014
Оглавление
1. Что такое алгебра логики?
Алгебра логики (булева
алгебра) – это раздел математики, возникший
в XIX веке благодаря усилиям английского
математика Дж. Буля. Поначалу булева алгебра
не имела никакого практического значения.
Однако уже в XX веке ее положения нашли
применение в описании функционирования
и разработке различных электронных схем.
Законы и аппарат алгебры логики стал
использоваться при проектировании различных
частей компьютеров (память, процессор).
Хотя это не единственная сфера применения
данной науки.
Что же собой представляет алгебра
логики? Во-первых, она изучает методы
установления истинности или ложности
сложных логических высказываний с помощью
алгебраических методов. Во-вторых, она
делает это таким образом, что сложное
логическое высказывание описывается
функцией, результатом вычисления которой
может быть либо истина, либо
ложь (1 или 0). При этом аргументы функции
(простые высказывания) также могут иметь
только два значения: 0, либо 1.
Что такое простое логическое высказывание?
Это фразы типа «два больше одного», «5.8
является целым числом». В первом случае
мы имеем истину, а во втором ложь. Алгебра
логики не касается сути этих высказываний.
Если кто-то решит, что высказывание «Земля
квадратная» истинно, то алгебра логики
это примет как факт. Дело в том, что булева
алгебра занимается вычислениями результата
сложных логических высказываний на основе
заранее известных значений простых высказываний.
1.1. Логические операции: дизъюнкция,
конъюнкция и отрицание
Алгебра логики предусматривает
множество логических операций. Однако
три из них заслуживают особого внимания,
т.к. с их помощью можно описать все остальные,
и, следовательно, использовать меньше
разнообразных устройств при конструировании
схем. Такими операциями являются конъюнкция (И), дизъюнкция (ИЛИ)
и отрицание (НЕ).
Часто конъюнкцию обозначают &, дизъюнкцию
- ||, а отрицание
- чертой над переменной, обозначающей
высказывание.
При конъюнкции истина сложного
выражения возникает лишь в случае истинности
всех простых выражений, из которых состоит
сложное. Во всех остальных случаях сложное
выражение будет ложно.
При дизъюнкции истина сложного
выражения наступает при истинности хотя
бы одного входящего в него простого выражения
или двух сразу. Бывает, что сложное выражение
состоит более чем из двух простых.
В этом случае достаточно, чтобы
одно простое было истинным и тогда все
высказывание будет истинным.
Отрицание – это унарная операция
(т.е. зависящая от одного аргумента), т.к.
выполняется по отношению к одному простому
выражению или по отношению к результату
сложного. В результате отрицания получается
новое высказывание, противоположное
исходному.
1.2. Таблицы истинности
Логические операции удобно
описывать так называемыми таблицами истинности,
в которых отражают результаты вычислений
сложных высказываний при различных значениях
исходных простых высказываний. Простые
высказывания обозначаются переменными
(например, A и B). (1, с. 125)
2. Логические основы компьютера
В компьютере используются
различные устройства, работу которых
прекрасно описывает алгебра логики. К
таким устройствам относятся группы переключателей,
вентили, триггеры, сумматоры.
Кроме того, связь между булевой
алгеброй и компьютерами лежит и в используемой
в компьютере двоичной системе счисления.
Поэтому в устройствах компьютера можно
хранить и преобразовывать как числа,
так и значения логических переменных.
2.1. Законы алгебры логики
Для логических величин обычно
используются три операции:
Дизъюнкция – логическое сложение (ИЛИ)
– or, |, v.
Логическое отрицание (НЕ) – not, ¬.
Логические выражения можно
преобразовывать в соответствии с законами алгебры
логики:
Законы рефлексивности:
a ∨ a = a
a ∧ a = a
Законы коммутативности:
a ∨ b = b ∨ a
a ∧ b = b ∧ a
Законы ассоциативности:
(a ∧ b) ∧ c = a ∧ (b ∧ c)
(a ∨ b) ∨ c = a ∨ (b ∨ c)
Законы дистрибутивности:
a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
Закон отрицания:
¬ (¬ a) = a
Законы де Моргана:
¬ (a ∧ b) = ¬ a ∨ ¬ b
¬ (a ∨ b) = ¬ a ∧ ¬ b
Законы поглощения:
a ∨ (a ∧ b) = a
a ∧ (a ∨ b) = a
2.2. Переключательные схемы
В ЭВМ применяются электрические
схемы, состоящие из множества переключателей.
Переключатель может находиться только
в двух состояниях: замкнутом и разомкнутом.
В первом случае – ток проходит, во втором
– нет. Описывать работу таких схем очень
удобно с помощью алгебры логики. В зависимости
от положения переключателей можно получить
или не получить сигналы на выходах.
2.3. Вентили
Вентиль - это устройство, которое
выдает результат булевой операции от
введенных в него данных (сигналов). Так,
например, есть вентили, реализующие логическое
умножение (конъюнкцию), сложение (дизъюнкцию)
и отрицание.
Вентили представляют собой
достаточно простые элементы, которые
можно комбинировать между собой, создавая
тем самым различные схемы. Одни схемы
подходят для осуществления арифметических операций,
а на основе других строят различную память ЭВМ.
Простейший вентиль представляет
собой транзисторный инвертор, который
преобразует низкое напряжение в высокое
или наоборот (высокое в низкое). Это можно
представить как преобразование логического
нуля в логическую единицу или наоборот,
т.е. получаем вентиль НЕ.
Соединив пару транзисторов
различным способом, получают вентили ИЛИ-НЕ и И-НЕ. Эти вентили
принимают уже не один, а два и более входных
сигнала. Выходной сигнал всегда один
и зависит от входных сигналов. В случае
вентиля ИЛИ-НЕ получить высокое напряжение
(логическую единицу) можно только при
условии низкого напряжении на всех входах.
В случае вентиля И-НЕ все наоборот: логическая
единица получается, если все входные
сигналы будут нулевыми. Как видно, это
обратно таким привычным логическим операциям
как И и ИЛИ. Однако обычно используются
вентили И-НЕ и ИЛИ-НЕ, т.к. их реализация
проще: И-НЕ и ИЛИ-НЕ реализуются двумя
транзисторами, тогда как логические И
и ИЛИ тремя.
Выходной сигнал вентиля можно
выражать как функцию от входных.
Транзистору требуется очень
мало времени для переключения из одного
состояния в другое (время переключения
оценивается в наносекундах). И в этом
одно из существенных преимуществ схем,
построенных на их основе.
2.4. Сумматор и полусумматор
Арифметико-логическое устройство
процессора (АЛУ) обязательно содержит
в своем составе такие элементы как сумматоры. Эти
схемы позволяют складывать двоичные
числа.
Как происходит сложение? Допустим,
требуется сложить двоичные числа 1001 и
0011. Сначала складываем младшие разряды
(последние цифры): 1+1=10. Т.е. в младшем разряде
будет 0, а единица – это перенос в старший
разряд. Далее: 0 + 1 + 1(от переноса) = 10, т.е.
в данном разряде снова запишется 0, а единица
уйдет в старший разряд. На третьем шаге:
0 + 0 + 1(от переноса) = 1. В итоге сумма равна
1100.
2.4.1. Полусумматор
Теперь не будем обращать внимание
на перенос из предыдущего разряда и рассмотрим
только, как формируется сумма текущего
разряда. Если были даны две единицы или
два нуля, то сумма текущего разряда равна
0. Если одно из двух слагаемых равно единице,
то сумма равна единице. Получить такие
результаты можно при использовании вентиля
ИСКЛЮЧАЮЩЕГО ИЛИ.
Перенос единицы в следующий
разряд происходит, если два слагаемых
равны единице. И это реализуемо вентилем
И.
Тогда сложение в пределах одного
разряда (без учета возможной пришедшей
единицы из младшего разряда) можно реализовать
изображенной ниже схемой, которая называется полусумматором.
У полусумматора два входа (для слагаемых)
и два выхода (для суммы и переноса). На
схеме изображен полусумматор, состоящий
из вентилей ИСКЛЮЧАЮЩЕЕ ИЛИ и И.
2.4.2. Сумматор
В отличие от полусумматора сумматор учитывает
перенос из предыдущего разряда, поэтому
имеет не два, а три входа.
Чтобы учесть перенос приходится
схему усложнять. По сути получается, что
состоит из двух полусумматоров.
Рассмотрим один из случаев.
Требуется сложить 0 и 1, а также 1 из переноса.
Сначала определяем сумму текущего разряда.
Судя по левой схеме ИСКЛЮЧАЮЩЕЕ ИЛИ, куда
входят a и b, на выходе получаем единицу.
В следующее ИСКЛЮЧАЮЩЕЕ ИЛИ уже входят
две единицы. Следовательно, сумма будет
равна 0.
Теперь смотрим, что происходит
с переносом. В один вентиль И входят 0
и 1 (a и b). Получаем 0. Во второй вентиль
(правее) заходят две единицы, что дает
1. Проход через вентиль ИЛИ нуля от первого
И и единицы от второго И дает нам 1.
Проверим работу схемы простым
сложением 0 + 1 + 1 = 10. Т.е. 0 остается в текущем
разряде, и единица переходит в старший.
Следовательно, логическая схема работает
верно.
Работу данной схемы при всех
возможных входных значениях можно описать
следующей таблицей истинности.
2.5. Триггер как элемент памяти. Схема
RS-триггера
Память (устройство, предназначенное
для хранения данных и команд) является
важной частью компьютера. Можно сказать,
что она его и определяет: если вычислительное
устройство не имеет памяти, то оно уже
не компьютер.
Элементарной единицей компьютерной
памяти является бит. Поэтому требуется
устройство, способное находиться в двух
состояниях, т.е. хранить единицу или ноль.
Также это устройство должно уметь быстро
переключаться из одного состояния в другое
под внешним воздействием, что дает возможность
изменять информацию. Ну и наконец, устройство
должно позволять определять его состояние,
т.е. предоставлять во вне информацию о
своем состоянии.
Триггер – устройство, способное
запоминать, хранить и позволяющее считывать
информацию. Он был изобретен в начале
XX века Бонч-Бруевичем.
Разнообразие триггеров весьма
велико. Наиболее простой из них так называемый RS-триггер, который
собирается из двух вентилей. Обычно используют
вентили ИЛИ-НЕ или И-НЕ.
2.5.1. RS-триггер
на вентилях ИЛИ-НЕ
RS-триггер «запоминает»,
на какой его вход подавался
сигнал, соответствующий единице, в
последний раз. Если сигнал был
подан на S-вход, то триггер на
выходе постоянно «сообщает», что
хранит единицу. Если сигнал, соответствующий
единице, подан на R-вход, то триггер
на выходе имеет 0. Не смотря
на то, что триггер имеет два
выхода, имеется в виду выход Q.
(Q с чертой всегда имеет противоположное
Q значение.)
Другими словами, вход S (set) отвечает
за установку триггера в 1, а вход R (reset)
– за установку триггера в 0. Установка
производится сигналом, с высоким напряжением
(соответствует единице). Просто все зависит
от того, на какой вход он подается.
Большую часть времени на входы
подается сигнал равный 0 (низкое напряжение).
При этом триггер сохраняет свое прежнее
состояние.
Возможны следующие ситуации:
Q = 1, сигнал подан на S, следовательно, Q не меняется.
Q = 0, сигнал подан на S, следовательно, Q = 1.
Q = 1, сигнал подан на R, следовательно, Q = 0.
Q = 0, сигнал подан на R, следовательно, Q не меняется.
Ситуация, при которой на оба
входа подаются единичные сигналы, недопустима.
Как триггер сохраняет состояние?
Допустим, триггер выдает на выходе Q логический
0. Тогда судя по схеме, этот 0 возвращается
также и в верхний вентиль, где инвертируется
(получается 1) и уже в этом виде передается
нижнему вентилю.
Тот в свою очередь снова инвертирует
сигнал (получается 0), который и имеется
на выходе Q. Состояние триггера сохраняется,
он хранит 0.
Теперь, допустим, был подан
единичный сигнал на вход S. Теперь в верхний
вентиль входят два сигнала: 1 от S и 0 от
Q. Поскольку вентиль вида ИЛИ-НЕ, то на
выходе из него получается 0. Ноль идет
на нижний вентиль, там инвертируется
(получается 1). Сигнал на выходе Q становится
соответствующим 1. (1, с. 140)
3. Практическое значение алгебры логики
Двоичный полусумматор способен
осуществлять операцию двоичного сложения
двух одноразрядных двоичных чисел (т.е.
выполнять правила двоичной арифметики):
0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 0.
При этом полусумматор выделяет
бит переноса. Однако схема полусумматора
не содержит третьего входа, на который
можно подавать сигнал переноса от предыдущего
разряда суммы двоичных чисел. Поэтому
полусумматор используется только в младшем
разряде логической схемы суммирования
многоразрядных двоичных чисел, где не
может быть сигнала переноса от предыдущего
двоичного разряда. Полный двоичный сумматор
складывает два многоразрядных двоичных
числа с учетом сигналов переноса от сложения
в предыдущих двоичных разрядах.