Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике.doc
Скачиваний:
150
Добавлен:
17.02.2016
Размер:
592.38 Кб
Скачать

6. Логические основы компьютеров

Компьютер состоит из элементов, связанных между собой и взаимодействующих во время его работы. Каждый элемент выполняет определенную операцию. Машинные элементы делятся на логические, запоминающие и вспомогательные. Логические элементы обеспечивают выполнение арифметических и логических операций; запоминающие элементы предназначаются для хранения информации, а вспомогательные элементы предназначаются для формирования стандартных сигналов и согласования работы всех элементов.

Информация, которую обрабатывает компьютер, может быть представлена в виде высказываний, в которых что-либо утверждается или отрицается. Высказывание — это любое предложение, в отношении которого имеет смысл утверждение об его истинности или ложности. При этом считается, что высказывание не может быть одновременно и истинным, и ложным. Примеры высказываний: "Май — весенний месяц" — это истинное утверждение; "2+3=6" — ложное утверждение. Разумеется, не всякое предложение является логическим высказыванием. Например, "Вася — самый высокий человек" — это утверждение может быть как истинным, так и ложным.

Наука, в которой с помощью формальных правил определяет истинность или ложность высказывания называется логикой. В алгебре логики все высказывания обозначаются буквами а, b, с и т. д., что позволяет манипулировать ими подобно тому, как в математике манипулируют обычными переменными, принимающие лишь два значения ИСТИНА (true) или ЛОЖЬ (false).

Переменные и функции, принимающие значение 0 (false) или 1 (true) носят название логических или булевских по имени английского математика Джорджа Буля (1815-1864), основателя математической логики.

При записи тех или иных логических выражений используется специальный язык, который принят в математической логике

X

not X

0

1

1

0

Основой цифровой техники служат три логические операции, лежащие в основе всех выводов компьютера. Иногда эти операции И, ИЛИ, НЕ называют "тремя китами машинной логики". Познакомимся с ними подробнее

Самой простой логической операцией является операция НЕ, по-другому ее часто называют отрицанием, дополнением или инверсией и обозначают NOT_X. Результат отрицания всегда противоположен значению аргумента.

X

Y

X and Y

X or Y

X xor Y

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

1

0

Логическое И еще часто называют конъюнкцией, или логическим умножением (не правда ли, таблица для этой операции похожа как две капли воды на двоичную таблицу умножения?), а ИЛИ -дизъюнкцией, или логическим сложением.

Операция И имеет результат "истина" только в том случае, если оба ее операнда истинны. Схемы, реализующие эти операции, называютлогическими элементами, и обозначаются на схемах:

Отрицание (дополнение или инверсия)

обозначают NOT_х или

Логическое И

(конъюнкция или логическое умножение)

Обозначают х AND y илиxyилиx y

Логическое ИЛИ

(дизъюнкция или логическое сложение)

Обозначают х OR yилиx +yилиx y

Операции И, ИЛИ, НЕ образуют полную систему логических операций, из которой можно построить сколь угодно сложное логическое выражение. В вычислительной технике также часто используется операция исключающее ИЛИ (XOR), которая отличается от обыкновенного ИЛИ только при x=1 и y=1. Операция XOR фактически сравнивает на совпадение два двоичных разряда. Хотя теоретически основными базовыми логическими операциями всегда называют именно И, ИЛИ, НЕ, на практике по технологическим причинам в качестве основного логического элемента используется элемент И-НЕ. На базе элементов И-НЕ могут быть скомпонованы все базовые логические элементы (И, ИЛИ, НЕ), а значит и любые другие, более сложные.

Для любой операции, определенной в алгебре логики существуют таблицы истинности – таблицы, в которых приведены значения операции в зависимости от значений высказываний над которыми выполняется данная операция. Выше приведены таблицы истинности для функций NOT, AND, OR.

Приоритет выполнения операций в логических выражениях без скобок следующий: отрицание (NOT), конъюнкция (AND), дизъюнкция (OR).

x

y

z

0

0

1

0

1

1

1

0

1

1

1

0

Задать булевскую функцию можно, определив ее значения для всех наборов значений аргументов. Каждый аргумент может иметь два значения: 0 или 1, следовательно, n аргументов могут принимать 2n различных наборов.

Для формулы, которая содержит две переменные, таких наборов значений переменных всего четыре: (0, 0),  (0, 1),  (1, 0),  (1, 1).

Пусть, например, функция z(x,y) задана таблицей истинности.

Проверьте, что связь между выходом z и входами x и y можно записать следующим образом: , гдечитается как"инверсия x и y".   Эта функция реализует элемент И—НЕ условное обозначение которого представлено на рисунке 1.

Рис. 1. Элемент И—НЕ Рис. 2. Элемент ИЛИ—НЕ

x

y

z

0

0

1

0

1

0

1

0

0

1

1

0

Для функции ,  где,  читается как"инверсия  x или y " таблица истинности имеет вид. Условное обозначение на структурных схемах схемы ИЛИ—НЕ с двумя входами представлено на рис.2.

Согласно определению, таблица истинности логической формулы (функции) выражает соответствие между всевозможными наборами значений переменных и значениями формулы (функции).

Удобной формой записи при нахождении значений формулы является таблица, содержащая кроме значений переменных и значений формулы также и значения промежуточных формул.

Примеры.

x

y

z

0

0

1

0

1

1

1

0

1

1

1

1

1. Составьте таблицу истинности для формулы , которая содержит две переменные x и y. В первых двух столбцах таблицы запишем четыре возможных пары значений этих переменных, в последующих столбцах — значения промежуточных формул и в последнем столбце — значение формулы. В результате получим таблицу:

Из таблицы видно, что при всех наборах значений переменных x и y формула принимает значение 1, то есть является тождественно истинной.

x

y

z

0

0

0

0

1

0

1

0

0

1

1

0

2. Составьте таблицу истинности для формулы

Из таблицы видно, что при всех наборах значений переменных x и y формула принимает значение 0, то есть является тождественно ложной.

В вычислительных машинах коды нуля и единицы представляются электрическими сигналами, имеющими два различных состояния. Наиболее распространенными способами физического представления информации являются импульсный и потенциальный:

При импульсном способе отображения код единицы идентифицируется наличием электрического импульса, код нуля — его отсутствием (впрочем, может быть и наоборот). Импульс характеризуется амплитудой и длительностью, причем длительность должна быть меньше временного такта машины.

При потенциальном способе отображения код единицы — это высокий уровень напряжения, а код нуля — отсутствие сигнала или низкий его уровень. Уровень напряжения не меняется в течение всего такта работы машины. Форма и амплитуда сигнала при этом во внимание не принимаются, а фиксируется лишь сам факт наличия или отсутствия потенциала.

Был найден технический способ реализации логических операций посредством использования так называемых логических вентилей, которые строятся главным образом из транзисторов — переключательных устройств, способных либо проводить электрический ток (истина), либо препятствовать его прохождению (ложь). На вход каждого вентиля поступают электрические сигналы высокого и низкого уровней напряжения, которые он интерпретирует, в зависимости от своей функции, и выдает один выходной сигнал также либо высокого, либо низкого напряжения.

Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую функцию. Работа логических элементов описывается с помощью таблиц истинности. Например, в вентиле НЕ (NOT) транзисторы соединены таким образом, что реализуется операция инвертирования: принимая сигнал низкого уровня, вентиль вырабатывает сигнал высокого уровня и наоборот.

Все логические схемы компьютера, предназначенные для выполнения различных операций (в том числе арифметических) над информацией, могут быть построены путем соединения в различные комбинации вентилей трех типов: И, ИЛИ, НЕ. На рисунке показана схема полусумматора, который складывает два одноразрядных двоичных числа и выдает один разряд их суммы и одноразрядный перенос.

Таким образом, одноразрядный двоичный сумматор есть устройство с тремя входами и двумя выходами, работа которого может быть описана следующей таблицей истинности:

Входы

Выходы

x

y

Перенос

Сумма

Перенос

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

Если требуется складывать двоичные слова длиной два и более бит, то можно использовать последовательное соединение таких сумматоров, причём для двух соседних сумматоров выход переноса одного сумматора является входом для другого. Совокупность таких сумматоров позволяет вычислять сумму многоразрядных двоичных чисел.

Совершенствование технологии изготовления транзисторов позволило уменьшить электронные схемы до микроскопических размеров. Это привело к созданию интегральных микросхем (ИС). Наиболее сложные современные ИС имеют размер несколько см и содержат до нескольких миллионов компонент. Благодаря этому вычислительные машины стали более дешевыми, универсальными, малогабаритными, надежными и более быстродействующими, т. к. теперь электрическим импульсам приходится преодолевать меньшие расстояния.

Вышесказанное обусловило то, что для анализа и синтеза схем в компьютере при алгоритмизации и программировании решения задач широко используется математический аппарат алгебры логики, оперирующий также с двумя понятиями «истина» или «ложь».

При составлении различных логических выражений используют следующие операции сравнения: равно (=), больше (>), меньше (<), больше или равно (), меньше или равно (), не равно ().

Если в одном выражении встречаются арифметические операции и операции cравнения, то они выполняются в порядке их перечисления. Например, логическое выражение x2 + y2 < 1 AND y>0 будет истинно, если точка (x,y) принадлежит полукругу.