Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 336

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
909.45 Кб
Скачать

Задание. Ответьте на следующие вопросы:

1.Что такое код?

2.Что такое кодирование?

3.Какие вы знаете кодовые таблицы?

4.Как осуществляется кодирование чисел?

5.Как осуществляется кодирование графической информации?

6.Зачем нужна видеопамять?

7.Как осуществляется кодирование звуковой информации?

8.Как осуществляется кодирование видеоинформации?

2.4. Элементы алгебры логики

Список доводов в пользу выбора двоичной системы кодирования при проектировании компьютеров следует дополнить возможностью применения двоичной логики, которую называют иногда булевой алгеброй по имени английского математика Джорджа Буля, сформулировавшего в XIX веке основные положения этого раздела математической логики.

Логика – это наука о формах и способах мышления. Основными формами мышления являются:

1) понятие – фиксирует основные, существенные признаки объ-

екта;

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

3)умозаключение – вывод, результат предшествующего анали-

за.

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

31

обозначают буквами a, b, c и т.д.

Логическая переменная – это переменная, принимающая состояние, соответствующее одному из двух элементов, например, 0 (ложь

– false) или 1 (истина – true).

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

Поскольку основной системой счисления в ЭВМ является двоичная система счисления, в которой используются только две цифры

– 0 и 1, то одни и те же цифровые устройства компьютера могут применяться для обработки как числовой информации в двоичной системе счисления, так и логических переменных. Это обуславливает универсальность (однотипность) схемной реализации процесса обработки информации в ЭВМ.

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

Итак, начальным понятием булевой алгебры является высказывание. Под высказыванием понимается любое утверждение, оцениваемое только с точки зрения его истинности. Качественные характеристики высказывания–справедливое, хорошее, содержательное, грубое - не рассматриваются. Высказывания с точки зрения булевой алгебры могут быть истинными или ложными. Например, из двух высказываний

Х = «Алмаз имеет кристаллическую структуру» и Y = «Волга впадает в Черное море»

первое истинно (true), а второе ложно (false).

В булевой алгебре высказывания могут обозначаться буквами,

32

подобно переменным в обычной школьной алгебре. Более того, высказывания, по существу, и являются переменными булевой алгебры, принимающими значения 1 в случае истинности высказывания и 0, если высказывание ложно. Такие переменные называют логическими (или булевыми) переменными. Для двух высказываний приведенного примера возможна и такая запись Х = 1; Y = 0.

Итак, в цифровой технике используются кодовые слова, состоящие из набора логических «0» и «1», которые поступают на вход каждого узла ЭВМ, а на выходе при этом образуется новое кодовое слово, представляющее собой результат обработки входных слов. Таким образом, выходное слово есть функция, для которой входной сигнал является аргументом.

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

На входы устройства последовательного действия символы кодовых слов поступают поочередно (символ за символом) во времени

(рис. 1).

10101101

Рис. 1. Схема последовательной подачи импульсов на вход логического устройства

На входы устройства параллельного действия все символы кодового слова подаются одновременно. Машинное слово на выходе также формируется в параллельной форме (рис. 2).

1

0

0

1

Рис. 2. Схема параллельной подачи импульсов на вход логического устройства

33

В устройствах смешанного типа действия входные и выходные слова представляются в разных формах (рис. 3).

0

 

 

 

 

1

 

0110

0

 

 

1

 

 

 

 

 

Рис. 3. Схема работы устройства смешанного типа

Высказывания могут быть простыми и сложными. Высказывание называется простым, если его значение не зависит от значений каких-либо других высказываний. Например, в высказывание «Капитан Немо путешествовал на подводной лодке» не проникли мнения и мысли его современников, и высказывание оказалось простым. А вот высказывание «Пушка выстрелит, если в нее заложен порох» является сложным, так как содержание первой части фразы (первого высказывания) зависит от некоторого условия, составляющего вторую половину предложения (второго высказывания).

Всякое сложное высказывание является логической (булевой) функцией некоторых двоичных аргументов - простых высказываний. Рассмотрим простейшие логические функции. С их помощью узлы компьютера строятся подобно тому, как из простых высказываний можно сконструировать сложное. Существуют три функции, которые составляют основной набор. Доказано, что любая логическая функция может быть построена путем использования этих функций. «Здание» логической функции стоится из «кирпичей» основного набора.

Первая из этих функций - отрицание. Она имеет смысл НЕ: Y = НЕ(Х). Отрицание (инверсия) означает такую логическую связь между аргументом Х и функцией Y, при которой Y истинно только тогда, когда ложен аргумент Х, и наоборот. Так, например, отрицание высказывания «Красноярск расположен на Енисее», истинность которого равна 1, означает высказывание «Неверно, что Красноярск расположен на Енисее» (или, иначе говоря, «Красноярск не расположен на Енисее», истинность которого равна 0. Соответствие возможных значений аргумента (входных двоичных переменных) значениям функции, называемое в случае булевых функций «таблицей истинности», имеет следующий вид для функции отрицания НЕ

34

входная двоичная переменная (аргумент)

0

1

 

 

выходная двоичная переменная (функция)

1

0

 

 

Функция отрицания имеет еще и такое обозначение

Y =

 

;

X

иногда эту же функцию записывают так Y = ┐Х. Вот некоторые свойства этой функции:

- двойное отрицание некоторого аргумента Х равно самому аргументу, то есть

Y = Х = Х;

- если имеется некоторое логическое равенство, то отрицание обеих его частей не нарушает этого равенства, то есть если Х1=Х2, то Х1 Х2.

Второй функцией основного набора является конъюнкция И(Х1,Х2). Ее называют иногда логическим умножением. Конъюнкцией высказываний называют такое сложное высказывание Y, которое истинно только тогда, когда истинны все входящие в него простые высказывания; во всех остальных случаях Y ложно. Примером конъюнкции может быть такое сложное высказывание как «Иностранный гражданин стал студентом российского вуза, так как он закончил школу в своей стране и поступил в высшее учебное заведение России». Истинность этого сложного высказывания определяется значениями истинности двух простых высказываний. Таблица истинности конъюнкции двух аргументов имеет следующий вид:

первый логический аргумент Х1

0

0

1

1

второй логический аргумент Х2

0

1

0

1

логическая функция

Y

0

0

0

1.

При записи конъюнкции применяют также обозначения Х1&X2 или Х1/\Х2.

Третьим элементом основного набора булевых функций служит дизъюнкция ИЛИ (Х1,Х2), называемая иногда логическим сложением. Дизъюнкцией высказываний называется сложное высказывание Y, которое ложно тогда, когда ложны все входящие в него высказывания; в остальных случаях Y истинно. Высказывание «Человек получает высшее образование, если он обучается в университете или обучается в академии или обучается в институте» определяет условие, при котором студент может получить диплом о высшем образовании;

35

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

первый логический аргумент Х1

0

0

1

1

второй логический аргумент Х2

0

1

0

1

логическая функция

Y

0

1

1

1.

Другое обозначение дизъюнкции Y = X1\/Х2.

Помимо приведенных можно выделить еще такие базовые элементы, как «И - НЕ», «ИЛИ - НЕ», «И – ИЛИ - НЕ» (рис. 4) и т.д.

&

 

1

 

 

 

Инвертор (НЕ)

Конъюнктор (И) Дизъюнктор (ИЛИ)

&

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Элемент (И - НЕ)

Элемент (ИЛИ - НЕ)

(Шеффера)

(Пирса)

&

&

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Элемент И – ИЛИ

Элемент И – ИЛИ - НЕ

Рис. 4. Обозначение элементов, реализующих логические функции

36

При доказательстве логических теорем полезным инструментом служат диаграммы Эйлера-Венна (рис. 5). Если круг (рис. 5а) представляет собой область истинности значений переменной Х, то все, что находится за пределами этого круга, будет представлять НЕ Х (или в других обозначениях, Х ).

 

А

А/\В

НЕ А

 

А

 

А

В

А\/В

 

 

а

б

в

Рис. 5. Диаграммы Эйлера–Венна

Если теперь рассмотреть два круга, которые изображают области истинности переменных Х1 и Х2, то область, в которой эти круги пересекаются, содержит те значения Х1 и Х2, для которых истинна конъюнкция Х1 и Х2, или Х1&X2 (рис. 5б). Область, в которой истинна по крайней мере одна из переменных Х1 или Х2 (рис. 5в), является областью истинности дизъюнкции Х1\/Х2.

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

Ф(Х1,Х2,Х3,Х4) = (Х1&Х2) \/ (Х3&Х4),

где Х1 – «есть хорошая книга»; Х2 – «есть свободное время»; Х3 – «ищу ответ на вопрос»; Х4 – «надеюсь найти ответ».

Интересные соотношения между логическими функциями И, ИЛИ, НЕ описываются теоремами де Моргана:

X1& X 2 X1 \ / Х2

Х1 \ / Х2 Х1 & Х 2.

37

Эти функции легко получить, рассматривая диаграммы Эйлера– Венна. Наиболее важные теоремы булевой алгебры перечислены ниже.

0 1

1 0

Х\/0 = Х

Х&1 = Х

Х\/1 = 1

Х&0 = 0

Х\/Х = Х

Х&X = Х

X\/

 

1

Х&

 

0

Х

Х

Х1\/Х2 = Х2\/Х1

Х1&X2 = X2&X1

X1\/(X1&X2) = X1

Х1&(X1\/X2) = X1

Х1\/(

 

 

Х1&(

 

 

Х1& X2) = Х1\/Х2

Х1\ / Х2)= Х1&X2

9a

(Х1\/Х2)\/Х3 =

Х1&(X2&X3) =

 

= X1\/(X2\/X3) =

 

= (X1&X2)&X3 =

 

X1\/X2\/X3

 

= X1&X2&X3

10a

X1\/X2&X3 =

10б

X1&(X2\/X3) =

 

= (X1\/X2)&(X1\/X3)

 

= (X1&X2)\/(X1&X3).

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

(Х1\/X2)&(X1\/Х2)\/X3

можно упростить следующим образом

(Х1\/X2)&(X1\/Х2)\/X3 = X1\/(X2&Х 2 )\/X3 (по теореме 10а) = = Х1\/ 0 \/Х3 (по теореме 5б) = Х1\/Х3 (по теореме 2а). Достаточно просто построить таблицу истинности по некоторо-

му заданному выражению. Для этого в выражение подставляют вместо переменных их значения и, пользуясь определениями операций И, ИЛИ, НЕ, вычисляют значения выражения.

Пример. Построить таблицу истинности для выражения

Ф X 1, X 2 X 1 & X 2 X 1 & X 2 .

Поскольку это функция от двух переменных, в таблице истинности должно быть 22 = 4 строки (табл. 2).

38

Таблица 2

Таблица истинности

……………………………………………………………………….

X1 X2 Х1 Х2 Х1& X2 X1& X2 Ф

...............................................................................................................

0

0

1

1

0

0

0

0

1

1

0

1

0

1

1

0

0

1

0

1

1

1

1

0

0

0

0

0

Построение таблицы истинности завершают вычислением всего выражения для каждой из четырех комбинаций. Например, при Х1 = 0, Х2 = 1 получим

Ф(0,1) (0&1) \ /(0&1) (1&1) \ /(0&0) 1\ /0 1.

Задание. Ответьте на следующие вопросы.

1.Почему алгебра логики называется еще булевой алгеброй?

2.Что такое высказывание? Какими могут быть высказывания?

3.Какие значения могут принимать переменные в булевой ал-

гебре?

4.Что такое логическая функция?

5.Какие функции входят в основной набор?

6.Поясните смысл отрицания (инверсии). Приведите таблицу истинности для этой функции.

7.Поясните смысл логического умножения (конъюнкции). Приведите таблицу истинности для этой функции.

8.Поясните смысл логического сложения (дизъюнкции). Приведите таблицу истинности для этой функции.

9.Перечислите наиболее важные теоремы булевой алгебры.

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

3. КОМПЬЮТЕР

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

39

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

Современная методика преподавания дисциплины «Информатика» рекомендует при программировании задач использовать средства языков высокого уровня, которые оставляют в стороне не только конструкцию ЭВМ и отдельных ее устройств, но и подчас даже принципы их работы. Тот, кто хочет достичь вершин в программировании, должен не только уметь составлять программы, но в отличие от обычного пользователя ЭВМ, отчетливо представлять, как его программа выполняется на компьютере. Конечно, данное пособие не может дать сколько-нибудь подробное описание технических характеристик, параметров и возможностей ЭВМ. На этих страницах излагаются, прежде всего, самые общие черты и свойства элементов, блоков, узлов и устройств, входящих в схематическое описание архитектуры компьютера.

Задание 1. Прочитайте ключевые слова и текст. Постарайтесь понять содержание.

Ключевые слова: счетная машина, арифметика, алгебра, поколение, элементная база, электронные лампы, интегральные схемы (ИС), монитор, сканер, графопостроитель, принтер.

Key words: data computer, arithmetic, algebra, generation, element base, electronic valve, integrated circuit (IC), chip, monitor, scanner, plotter, printer.

40