Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Логические основы построения компьютераСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Из подразд. 2.1 вы узнали, что любая информация в компьютере (или в другом устройстве вычислительной техники) представлена в виде двоичного цифрового сигнала, что правила выполнения операций в двоичной системе достаточно просты. Выполним фрагмент алгоритма перевода целого десятичного числа в двоичную систему счисления: «Последовательно выполнять деление числа и получаемых целых частных на 2 до тех пор, пока не получим частное меньше 2». Компьютер, который автоматически выполняет, операции перевода, должен уметь делать выбор:
«Полученное целое частное меньше 2?» При выполнении двоичного сложения необходимо придерживаться следующего правила: «Цифры суммируются по разрядам, и если при этом возникает избыток, то единица переносится влево в старший разряд», т.е. постоянно нужно анализировать: «Есть переизбыток?» «Да» «Нет» Алгебра логики Алгебра логики появилась в середине XIX в. в трудах английского математика Джорджа Буля. Он пытался решать традиционные логические задачи алгебраическими методами. Логическое высказывание — это любое повествовательное предложение, в отношении которого можно однозначно сказать, истинно оно или ложно. Например, предложение «6 — четное число» следует считать высказыванием, так как оно истинное; предложение «Рим — столица Франции» — тоже высказывание, так как оно ложное. Разумеется, не всякое предложение является логическим высказыванием. Высказываниями не являются, например, предложения: «Студент 204 группы», «Здравствуйте!», «В колледже более 1000 учащихся», «Хороший студент», — так как невозможно судить об их истинности или ложности (или нужны дополнительные сведения, чтобы предложение стало высказыванием, например: «Петров — хороший студент» или «в колледже № 15 г. Самары более 1000 учащихся»). Алгебра логики рассматривает любое высказывание только с одной точки зрения — является ли оно истинным или ложным. Заметим, что зачастую трудно установить истинность высказывания. Например, высказывание «Площадь поверхности Индийского океана равна 75 млн км2» в одной ситуации можно посчитать ложным, а в другой — истинным (ложным — так как указанное значение неточное и вообще не является постоянным; истинным — если рассматривать его как некоторое приближение, приемлемое на практике). Употребляемые в обычной речи слова и словосочетания «не», «и», «или», «если, то», «тогда и только тогда» и другие позволяют из уже заданных высказываний строить новые. Такие слова и словосочетания называются логическими связками. Высказывания, образованные из других высказываний с помощью логических связок, называются составными. Высказывания, не являющиеся составными, называются элементарными. Например, из элементарных высказываний «Иванов — студент», «Иванов — отличник» при помощи связки и можно получитьсоставное высказывание «Иванов — студент и отличник». Чтобы обращаться к логическим высказываниям, им назначают имена. Пусть через А обозначено высказывание «Иван поедет летом на море», а через В — высказывание «Иван летом отправится в горы». Тогда составное высказывание «Иван летом побывает и на море, и в горах» можно записать кратко: «А И В». Здесь И — логическая связка; А, В — логические переменные, которые могут принимать только два значения: «истина» и «ложь», обозначаемые соответственно 1 и 0. В алгебре высказывания обозначаются именами логических переменных, которые могут принимать лишь два значения: «истина» (1) и «ложь» (0). Рассмотрим операции, которые можно производить с логическими высказываниями. Операция отрицания. Операция, выражаемая словом НЕ, называется отрицанием, или инверсией, и обозначается чертой над высказыванием. Высказывание А истинно, когда А ложно, и ложно, когда А истинно. Например: «Луна — спутник Земли» (А); «Луна — не спутник Земли» (А). Пусть А = «Два умножить на два равно четырем» — истинное высказывание, тогда высказывание, образованное с помощью операции логического отрицания — «Два умножить на два не равно четырем», — ложное высказывание. Образуем высказывание F, являющееся логическим отрицанием А: F = A. Истинность такого высказывания задается таблицей истинности функции логического отрицания (табл. 2.6). Таблица 2.6 Таблица истинности функции логического отрицания
Операция конъюнкции. Операция, выражаемая связкой И, называется соединением, или конъюнкцией, или логическим умножением, и обозначается знаком «&» (может обозначаться знаком «л» или «•»). Высказывание F = А&В истинно только тогда, когда оба высказывания А и В истинны. Например, высказывание «10 делится на 2 И 5 больше 3» истинно, а высказывания «10 делится на 2 И 5 не больше 3», «10 не делится на 2 И 5 больше 3», «10 не делится на 2 И 5 не больше 3» ложны. Значение логической функции F можно определить с помощью таблицы истинности данной функции, которая показьйает, какие значения принимает логическая функция при всех возможных наборах ее аргументов (табл. 2.7). Таблица 2.7 Таблица истинности функции логического умножения
Рассмотрим, например, составное высказывание «2 • 2 = 4 И 3 *3 = 10». Первое простое высказывание истинно (А = 1), а второе высказывание ложно (В = 0). По табл. 2.7 определяем, что логическая функция принимает значение «ложь» (F = 0), т.е. данное составное высказывание ложно. Операция дизъюнкции. Операция, выражаемая связкой ИЛИ, называется разделением, или дизъюнкцией (от лат. disjunctio — разделение), или логическим сложением, и обозначается знаком «v» (или «+»). Высказывание F = A v В ложно тогда и только тогда, когда оба высказывания А и В ложны. Например, высказывание «10 не делится на 2 ИЛИ 5 не больше 3» ложно, а высказывания «10 делится на 2 ИЛИ 5 больше 3», «10 делится на 2 ИЛИ 5 не больше 3», «10 не делится на 2 ИЛИ 5 больше 3» истинны. Функцию F можно определить с помощью таблицы истинности, которая показывает, какие значения принимает логическая функция при всех возможных наборах ее аргументов (табл. 2.8). Таблица 2.8 Таблица истинности функции логического сложения
Операция импликации. Операция следования, выражаемая связками «если..., то», «из... следует», «... влечет...», называется импликацией и обозначается знаком «->». Высказывание А-> В ложно тогда и только тогда, когда А истинно, а В ложно. Каким же образом импликация связывает два элементарных высказывания? Покажем это на примере следующих высказываний: «Данный четырехугольник — квадрат» (А) и «Около данного четырехугольника можно описать окружность» (В). Рассмотрим составное высказывание F = А-»В, под которым понимается: «Если данный четырехугольник — квадрат; то около него можно описать окружность». Существуют три варианта, когда высказывание А-*В истинно: 1) А истинно и В истинно, т.е. данный четырехугольник — квадрат и около него можно описать окружность; 2) А ложно и В истинно, т. е. данный четырехугольник не является квадратом, но около него можно описать окружность (разумеется, это справедливо не для всякого четырехугольника); 3) А ложно и В ложно, т. е. данный четырехугольник не является квадратом и около него нельзя описать окружность. Ложен только один вариант: А истинно и В ложно, т.е. данный четырехугольник является квадратом, но около него нельзя описать окружность. Функцию F можно определить, используя таблицу истинности (табл. 2.9): F = A^B Таблица 2.9 Таблица истинности логической функции импликации
Операция логического следования несколько отличается от обычного понимания слова «следует». Если первое высказывание (предпосылка) ложно, то независимо от истинности или ложности второго высказывания (вывода) составное высказывание истинно. Из неверной предпосылки может следовать что угодно. В алгебре высказываний все логические функции могут быть сведены путем логических преобразований к трем базовым: логическому умножению, логическому сложению и логическому отрицанию. Докажем методом сравнения таблиц истинности, что операция импликации А-> В равносильна логическому выражению A v В (табл. 2.10). Таблица 2.10 Таблица истинности логического выражения A v В
Табл. 2.10 полностью совпадает с табл. 2.9. Операция эквиваленции. Операция равенства, выражаемая связками «тогда и только тогда», «необходимо и достаточно», «...равносильно...», называется эквиваленцией, или двойной импликацией, и обозначается знаками «<-»» или «~». Высказывание А <-> В истинно тогда и только тогда, когда значения А и В совпадают. Например, истинны высказывания: «24 делится на 6 тогда и только тогда, когда 24 делится на 3», «23 делится на 6 тогда и только тогда, когда 23 делится на 3» — и ложны высказывания: «24 делится на 6 тогда и только тогда, когда 24 делится на 5», «21 делится на 6 тогда и только тогда, когда 21 делится на 3». Высказывания А и В, образующие составное высказывание F = А<-»В, могут быть совершенно не связаны по содержанию. Составное высказывание F = А<-> В имеет таблицу истинности (табл. 2.11). Таблица 2.11 Таблица истинности составного высказывания А<->В
Составное высказывание, образованное с помощью логической операции эквивалентности, истинно тогда и только тогда, когда оба высказывания одновременно либо ложны, либо истинны. Эквивалентность можно выразить через следующие логические функции: F=AoB = (AvB)&(BvA). Порядок выполнения логических операций задается круглыми скобками. Но для уменьшения числа скобок договорились считать, что сначала выполняется операция отрицания (НЕ), затем — конъюнкции (И), затем дизъюнкции (ИЛИ) и в последнюю очередь — импликации. Такая последовательность называется приоритетом операций. 2.2.2. Основные законы алгебры логики В алгебре логики имеется ряд законов, позволяющих производить равносильные преобразования логических выражений. 1. Закон двойного отрицания: А = А. Двойное отрицание исключает отрицание. 2. Переместительный (коммутативный) закон: • для логического сложения A v В = В v А; • для логического умножения А&В=В&А Результат операции над высказываниями не зависит от того, в каком порядке берутся эти высказывания. В обычной алгебре a + b = b + a;a-b = b-a. 3. Сочетательный (ассоциативный) закон: • для логического сложения (A v В) v С = A v (В v С); • для логического умножения (А&В)&С = А&(В&С). При одинаковых знаках скобки можно ставить произвольно или опускать. В обычной алгебре (а + Ь) + с = а + (Ь + с) = а + b + с; (а • Ь) ■ с = а • (Ь • с) = а • b • с. 4. Распределительный (дистрибутивный) закон: • для логического сложения (A v В) & С = (А&С) v (B&C); • для логического умножения Данный закон определяет правило выноса общего высказывания за скобку. В обычной алгебре справедлив распределительный закон только для сложения: (а + Ь) • с = а • с + b • с. 5. Закон общей инверсии (законы де Моргана): • для логического сложения AvB = A&B; • для логического умножения A&B = AvB. 6. Закон идемпотентности (от лат. idem — тот же самый + potens —сильный (дословно — равносильный)): • для логического сложения AvA = A • для логического умножения А&А = А. Закон означает отсутствие показателей степени. 7. Закон исключения констант: • для логического сложения Avl = l;AvO = A; • для логического умножения А&1 = А; А&0 = 0. 8. Закон противоречия: А&А=0. Невозможно, чтобы противоречащие высказывания были одновременно истинными. 9. Закон исключения третьего: AvA = l. Из двух противоречащих высказываний об одном и том же предмете одно всегда истинно, а второе — ложно; третьего не дано. 10. Закон поглощения: • для логического сложения: A v (A&B) = А; • для логического умножения А&(А v В) = А. 11. Закон исключения (склеивания): • для логического сложения (A&B)v(A&B) = B; • для логического умножения (AvB)&(AvB) = B. 12. Закон контрапозиции (правило перевертывания): (А*+В) = (ВвА). Справедливость приведенных законов можно доказать табли-цным способом: выписать все наборы значений А и В, вычислить на них значения левой и правой частей доказываемого выражения и убедиться, что значения в результирующих столбцах совпадут. Пример 1. Найдите X, если XvAvXvA=B. Для преобразования левой части равенства последовательно воспользуемся законом де Моргана для логического сложения и законом двойного отрицания: (Х&А) v (Х&А). Согласно распределительному закону для логического сложения X&(AvA). Согласно закону исключения третьего и закона исключения констант Х&1 = X. Полученную левую часть приравняем правой: Х = В. Окончательно получим: X = В. Пример 2. Упростите логическое выражение (AvBvC)& &А v В v С. Правильность упрощения проверьте с помощью таблиц истинности для исходного и полученного логических выражений. Согласно закону общей инверсии для логического сложения (первому закону де Моргана) и закону двойного отрицания (A v В v C)&A v В v С = (A v В v С)&(А&В&С). Согласно распределительному (дистрибутивному) закону для логического сложения (A v В v С)&(А&В&С) = (А&А) v (В&А) v (С&А) v (A&B) v v (B&B) v (C&B) v (А&С) v (В&С) v (С&С). Согласно закону противоречия» (А&А) = 0; (С&С) = 0. Согласно закону идемпотентности (В&В) = В. Подставляем значения и, используя переместительный (коммутативный) закон и группируя слагаемые, получаем: О v (A&B) v (A&B) v В v (C&B) v (C&B) v (C&A) v (A&C) v 0. Согласно закону исключения (склеивания) (A&B) v (А&В) = В; (C&B) v (C&B) = В. Подставляем значения и получаем: OvBvBvBv (C&A) v (A&C) v 0. Согласно закону исключения констант для логического сложения и закону идемпотентности 0vBv0vBvB = B. Подставляем значения и получаем: Bv(C&A)v(A&C). Согласно распределительному (дистрибутивному) закону для логического умножения (C&A) v (А&С) = (С v А) & (С v С) & (A v A) & (A v С). Согласно закону исключения третьего (CvC) = l;(AvA) = l. Подставляем значения и окончательно получаем: В&А&С. Решение логических задач способствует развитию абстрактного мышления, тренирует память и развивает логику. 2.2.3. Логические основы устройства компьютера Математический аппарат алгебры логики очень удобен для описания того, как функционируют аппаратные средства компьютера, поскольку основной системой счисления в компьютере является двоичная, в которой используются цифры 1 и 0, а значений логических переменных тоже два: 1 (true) и 0 (false). Из этого следует два вывода: • одни и те же устройства компьютера могут применяться для обработки и хранения как числовой информации, представленной в двоичной системе счисления, так и логических переменных. • на этапе конструирования аппаратных средств алгебра логики позволяет значительно упростить логические функции, описывающие функционирование схем компьютера, и, следовательно, уменьшить число элементарных логических элементов, из десятков тысяч которых состоят основные узлы компьютера. Логический элемент компьютера — это часть электронной логической схемы, которая реализует элементарную логическую функцию. Логическими элементами компьютеров являются электронные схемы И, ИЛИ, НЕ, И—НЕ, ИЛИ—НЕ и др. (называемые также вентилями), а также триггер. С помощью этих схем можно реализовать любую логическую функцию, описывающую работу устройств компьютера. Обычно у вентилей бывает от двух до восьми входов и один или два выхода. Чтобы представить два логических состояния 1 и 0 в вентилях, соответствующие им входные и выходные сигналы имеют один из двух установленных уровней напряжения. Например: 5 и О В. Высокий уровень обычно соответствует значению «истина» (1), а низкий — значению «ложь» (0). Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую функцию, но не указывает на то, какая именно электронная схема в нем реализована. Это упрощает запись и понимание сложных логических схем. Работу логических элементов описывают с помощью таблиц истинности (аналогично таблицам истинности функций). Рассмотрим структурные схемы логических элементов компьютера и их таблицы истинности (табл. 2.12). • схема И реализует конъюнкцию двух или более логических значений. На выходе схемы И будет 1 тогда и только тогда, когда на всех входах будут 1. Когда хотя бы на одном входе будет 0, на выходе также будет 0; • схема ИЛИ реализует дизъюнкцию двух или более логических значений. Когда хотя бы на одном из выходов схемы или будет 1, на ее выходе тоже будет 1; • схема НЕ (инвертор) реализует операцию отрицания. Связь Между входом х этой схемы и выходом z можно записать соотношением z= х. Если на входе схемы 0, то на выходе 1. Когда на Входе 1, то на выходе 0; • схема И—НЕ состоит из элемента И и инвертора и осуществляет отрицание результата схемы И. Связь между выходом z и выходами х и у схемы записывают следующим образом: z = х & у; • Таблица 2.12 Структурные схемы логических элементов компьютера и их таблицы истинности
• схема ИЛИ—НЕ состоит из элемента ИЛИ и инвертора и оСуществляет отрицание результата схемы ИЛИ. Связь между выходом z и входами х и у схемы записывают следующим образом: z = xVy. Триггер Важнейшей структурной единицей оперативной памяти компьютера, а также внутренних регистров процессора, является триггер. Это устройство позволяет запоминать, хранить и считывать информацию (каждый триггер может хранить 1 бит информации). Триггер можно построить их двух логических элементов ИЛИ и двух элементов НЕ (рис. 2.3, а). Им соответствует таблица истинности (табл. 2.13). Самый распространенный тип триггера — RS -триггер (от англ. set — установка + reset — сброс). Он имеет два симметричных входа R и S и два симметричных выхода Q и Q. На каждый из двух выходов могут подаваться входные сигналы в виде импульсов (наличие импульса на входе будем считать единицей, а его отсутствие — нулем). В обычном состоянии на входы R и S триггера подан сигнал 0 и триггер хранит 0. Для записи 1 на вход S (установочный) подается сигнал 1. Последовательно рассмотрев прохождение сигнала по схеме, видно, что триггер переходит в СОСТОЯВШИ" Рис. 2.3. Схема триггера: а — на элементах ИЛИ и НЕ; б — на элементах ИЛИ-НЕ Таблица 2.13 Таблица истинности
ние «1» и будет устойчиво находиться в нем и после того, как сигнал на входе S исчезнет. Триггер запомнил 1, т.е. с выхода триггера Q можно считать 1. Для того чтобы сбросить информацию и подготовиться к приему новой, подается сигнал 1 на вход R (сброс), после чего триггер возвращается к исходному (нулевому) состоянию. Если на входы R и S подана логическая 1, то состояние Q и Q не меняется, подача на оба входа логического 0 может привести к неординарному результату, и поэтому эта комбинация входных сигналов запрещена. На рис. 2.3, б показана реализация триггера с помощью вентилей ИЛИ-НЕ. 2.2.5. Сумматор двоичных чисел В целях максимального упрощения работы компьютера все многообразие математических операций в процессоре сводится к сложению двоичных чисел, поэтому важным элементом процессора является сумматор, который и обеспечивает такое сложение. При сложении двоичных чисел образуется сумма в текущем разряде; при этом возможен перенос единицы в старший разряд. Обозначим слагаемые — А, В, перенос — Р и сумму — S. Таблица 2.14 Таблица сложения одноразрядных двоичных чисел
Из табл. 2.14 видно, что перенос единицы можно реализовать с помощью операции логического умножения: Р = А&В, где Р — перенос; А и В — множители. Для определения суммы можно применить следующее выражение: S = (AvB)&(A&B). Построим таблицу истинности для данного логического выражения и убедимся в правильности нашего предположения (табл. 2.15). Таблица 2.15 Таблица истинности функции F = (A v В) & (А & В)
Рис. 2.4. Схема полусумматора двоичных чисел На основе полученных логических выражений можно построить схему полусумматора на базовых логических элементах. По логической формуле переноса легко определить, что для получения переноса необходимо использовать логический элемент И. Анализ логической формулы для суммы показывает, что на выходе должен стоять элемент логического умножения И, который имеет два входа. На один из входов подается результат логического сложения исходных величин A v В, т. е. на него должен подаваться сигнал с элемента логического сложения ИЛИ. На второй вход требуется подать результат инвертированного логического умножения исходных сигналов А&В, т.е. на второй вход подается сигнал с элемента НЕ, на вход которого поступает сигнал с элемента логического умножения И (рис. 2.4). Данная схема называется полусумматором, так как реализует суммирование одноразрядных двоичных чисел без учета переноса из младшего разряда.
Контрольные вопросы 1. Связано ли появление алгебры логики с разработкой персонального компьютера? 2. Назовите основные логические операции.» 3. Приведите примеры предложений, которые не являются логическим высказыванием. 4. Покажите связь между алгеброй логики и двоичным кодированием информации. 5. Какой логический элемент нужно поставить в старший разряд, чтобы запомнить целое отрицательное число -5? 6. Назовите приоритеты логических операций. 7. Сформулируйте отрицание следующих высказываний: «2 > 5»; 8 Изобразите в декартовой системе координат области (|х| < 1) и 9. Определите истинность составного высказывания «(А & В) & (С v D)», 10.Докажите, используя таблицы истинности, что операция эквивалентности равносильна логическим выражениям А <-» В = (А & В) v (А & В) и A<->B = (AvB)&(AvB). 11.Докажите, используя таблицы истинности, что логические выражения A v В и А & В равносильны. 12.Какие логические функции двух аргументов имеют свои названия? 13.Какое существует число логических функций трех аргументов? 14.Упростите следующие логические выражения: (AvA)&B; A&(AvB)&(BvB). 15. Приведите примеры из повседневной жизни: если (не а и не Ь), то (с или d); (а или Ь) тогда и только тогда, когда (с или не d). 16.Проследите на логической схеме триггера, что происходит при поступлении сигнала 1 на вход R. 17.Какое число базовых логических элементов необходимо для хранения 512 Мбайт информации?
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-20; просмотров: 808; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.61.199 (0.014 с.) |