- •Раздел 2 принципы построения и функционирования эвм и вычислительных систем (вс)
- •2.1. Структура эвм
- •2.2. Системы счисления
- •2.3. Формы представления чисел
- •2.3.1. Форма представления чисел с фиксированной точкой
- •2.3.2. Форма представления чисел с плавающей точкой
- •2.3.3. Форматы двоично-десятичных чисел
- •2.3. Машинные коды
- •2.3.1. Прямой код
- •2.3.2. Обратный код
- •2.3.3. Дополнительный код
- •2.4. Перевод чисел из одной системы представления в другую
- •2.4.1. Перевод между основаниями, составляющими степень двойки
- •2.4.2. Перевод целого числа из десятичного счисления в другое
- •2.4.3. Перевод дробного числа из десятичного счисления в другое
- •2.4.4. Перевод чисел в десятичную систему счисления
- •2.5. Арифметические действия над двоичными числами
- •2.5.1. Сложение
- •2.5.2. Вычитание
- •2.5.3. Умножение
- •2.5.4. Деление
- •2.6. Понятие алгебры логики
- •2.7. Простейшие логические функции
- •2.7.1. Логическая операция конъюнкция (логическое умножение)
- •2.7.2. Логическая операция дизъюнкция (логическое сложение)
- •2.7.3. Логическая операция инверсия (отрицание)
- •2.7.4. Логическая операция сложение по модулю 2
- •2.7.5. Логическая операция эквивалентность (функция тождества)
- •2.7.6. Логическая операция импликация (логическое следование)
- •2.7.7. Функция Шеффера
- •2.7.8. Стрелка Пирса ав, или функция Вебба a b
- •2.8. Основные правила преобразования формул
- •2.9. Кодирование текстовой информации
- •2.10. Составные части компьютера
- •2.11. Логические элементы
- •2.12. Триггеры
- •2.12.1. Общие сведения о триггерах
- •2.12.2. Асинхронный rs-триггер
- •2.12.3. Синхронный rs-триггер
- •2.12.3. Двухтактный rs-триггер
- •2.12.4. Асинхронный и синхронный d-триггеры
- •2.12.5. T-триггер
- •2.12.6. Jk-триггер
- •2.13. Типовые узлы комбинационного типа
- •2.13.1. Дешифраторы
- •2.13.2. Одноразрядный сумматор
- •2.13.3. Полусумматор
- •2.13.4. Многоразрядные сумматоры
- •2.13.5. Двоично-десятичные сумматоры
- •2.13.6. Мультиплексоры
- •2.13.7. Демультиплексоры
- •2.14. Типовые узлы накапливающего типа
- •2.14.1. Регистры
- •2.14.2. Счетчики
- •2.14.3. Двоично-десятичные счетчики
- •2.15. Классификация архитектур системы команд
- •2.15.1. Классификация по составу и сложности команд
- •2.15.2. Классификация по месту хранения операндов
- •2.15.3. Стековая архитектура
- •2.15.4. Аккумуляторная архитектура
- •2.15.5. Регистровая архитектура
- •2.15.6. Архитектура с выделенным доступом к памяти
- •2.16. Типы команд
- •2.16.1. Команды пересылки данных
- •2.16.2. Команды арифметической и логической обработки
- •2.16.3. Операции с целыми числами
- •2.16.4. Операции с числами в форме с плавающей запятой
- •2.16.5. Логические операции
- •2.16.6. Операции сдвигов
- •2.16.7. Операции с десятичными числами
- •2.16.8. Simd-команды
- •2.16.9. Команды для работы со строками
- •2.16.10. Команды преобразования
- •2.16.11. Команды ввода/вывода
- •2.16.12. Команды управления системой
- •2.16.13. Команды управления потоком команд
- •2.17. Формат команд
- •2.17.1. Длина команды
- •2.17.2. Разрядность полей команды
- •2.17.3. Выбор адресности команд
- •2.18. Способы адресации операндов
- •2.18.1. Непосредственная адресация
- •2.18.2. Прямая адресация
- •2.18.3. Косвенная адресация
- •2.18.4. Регистровая адресация
- •2.18.5. Косвенная регистровая адресация
- •2.18.6. Адресация со смещением
- •2.18.7. Относительная адресация
- •2.18.8. Базовая регистровая адресация
- •2.18.9. Индексная адресация
- •2.18.10. Страничная адресация
- •2.18.11. Блочная адресация
- •2.18.12. Распространенность различных видов адресации
- •2.19. Способы адресации в командах управления потоком команд
- •2.20. Функциональная организация фон-неймановской вычислительной машины
- •2.20.1. Устройство управления
- •2.20.2. Арифметико-логическое устройство
- •2.20.3. Основная память
- •2.20.4. Модуль ввода/вывода
- •2.21. Цикл команды
- •2.21.1. Стандартный цикл команды
- •2.21.2. Описание стандартных циклов команды для гипотетической машины
- •2.21.3. Машинный цикл с косвенной адресацией
2.8. Основные правила преобразования формул
Логические выражения называются равносильными, если их истинностные значения совпадают при любых значениях, входящих в них логических переменных.
В алгебре логики имеется ряд законов, позволяющих производить равносильные преобразования логических выражений. К ним относятся:
Таблица 2.2
№ п/п |
Название закона |
Запись закона |
1 |
Законы идемпотентности (одинаковости) |
A + A = A; AA = A. |
2 |
Законы коммутативности (переместительный) |
А + B = B + A; AB = BA. |
3 |
Законы ассоциативности (сочетательный) |
(A + B) + C = A + (B + C); (AB) C = A (BC) |
4 |
Законы дистрибутивности (распределительный) |
(A + B) C = (AC) + (BC) (AB) + C = (A + C) (B + C) |
5 |
Закон двойного отрицания: |
|
6 |
Законы де Моргана (законы общей инверсии) |
|
7 |
Законы поглощения |
A + (AB) = A A(A + B) = A |
8 |
Законы, определяющие действия с логическими константами 0 и 1 |
Законы исключения констант: A + 1 = 1 A + 0 = A A1 = A, A0 = 0 Закон противоречия
Закон исключения третьего
|
9 |
Законы склеивания (исключения) |
|
10 |
Закон Блейка-Порецкого |
|
11 |
Закон свертки логического выражения |
|
12 |
Закон контрапозиции |
(A Û B) = (BÛ A) |
2.9. Кодирование текстовой информации
Кроме числовой информации в компьютере может обрабатываться и текстовая информация, содержащая буквы, цифры, знаки препинания и другие символы. Обычно число различных символов не превышает 256, поэтому для представления символов в компьютере используют восьмиразрядные двоичные коды (байты). Существуют различные системы кодирования текстовой информации – коды КОИ8, ДКОИ, ASCII. В компьютерах IBM PC используется код ASCII. Код символа в нем занимает восемь разрядов. Стандарт IOSO предусматривает несколько модификаций кода ASCII в зависимости от национального алфавита. Кодирование символов в одной из модификаций кода ASCII показано в табл. 2.3.
В настоящее время получает развитие 16-разрядный код Unicode, который позволяет одновременно закодировать все буквы всех известных языков. Для букв русского языка в нем предусмотрены коды 1040... 1093. Впервые Unicode использовался в Windows NT.
Таблица 2.3. Кодирование символов в коде ASCII
2.10. Составные части компьютера
Современные компьютеры представляют собой технические системы, отличающиеся сложной структурой, большим числом электронных элементов и электромеханических деталей, а также сложностью выполняемых функций. При множестве электронных элементов, используемых в компьютере, число их типов сравнительно невелико – все устройства имеют регулярную структуру, т.е. состоят из большого числа типовых схем.
Преобразование информации в компьютере выполняется при помощи электронных схем, имеющих различную сложность. По функциональной сложности принято делить электронные схемы компьютера на элементы, узлы и устройства.
Элемент – это простейшая часть компьютера, выполняющая операции над двоичными цифрами (битами). Основные элементы могут быть логическими или элементами памяти. Логические элементы выполняют двоичные (бинарные) операции, на основе которых осуществляются практически все преобразования информации. В качестве логических элементов используются элементы И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ, И-ИЛИ-НЕ и т.д. Элементы памяти чаще всего представляют собой триггеры различных типов: RS-, JK-, D- или Т-триггеры. Кроме логических элементов и элементов памяти в состав компьютера входят вспомогательные элементы, усиливающие или формирующие сигналы стандартной формы.
Узлы состоят из элементов и выполняют операции над байтами или словами, состоящими из нескольких байтов. К типовым узлам компьютера относятся регистры, счетчики, сумматоры, дешифраторы, селекторы, мультиплексоры и др. Несколько узлов могут объединяться в функциональные блоки (например, блок сумматора может включать в себя собственно сумматор и регистр сумматора).
Устройства компьютера строятся из элементов и узлов и выполняют определенный набор однотипных операций. К устройствам относятся запоминающие устройства, арифметико-логическое устройство, центральное устройство управления, устройства ввода и вывода. Устройства компьютера конструктивно выполняют отдельно или несколько устройств объединяют в один конструктивный блок (например, системный блок может объединять устройство управления, арифметико-логическое устройство и устройства памяти).
В зависимости от состава узлы могут быть комбинационного (комбинационные схемы – КС) или накапливающего типа (автоматы с памятью, последовательные схемы).
Узлы комбинационного типа состоят из логических элементов. Их главная особенность заключается в том, что выходной сигнал (Y) зависит только от комбинации входных сигналов (X) в данный момент времени, при этом каждой комбинации сигналов на входе соответствует выходной сигнал. Выходной сигнал может измениться только при получении другого входного сигнала. При неоднократном повторении одного и того же входного сигнала значение выходного также повторяется, поэтому комбинационная схема фактически осуществляет перекодировку входных сигналов в выходные. Несмотря на кажущуюся примитивность логики работы комбинационных схем, все основные преобразования информации в компьютере выполняются с их помощью. Это объясняется тем, что в основе преобразования данных в компьютере заложено выполнение логических операций.
Автоматы с памятью состоят из логических элементов и элементов памяти. Информация, записанная в памяти автомата, называется состоянием автомата (Q). Выходной сигнал автомата в общем случае зависит от сигнала на входе и состояния автомата, поэтому при одном и том же входном сигнале автомат может выдавать различные выходные сигналы. При работе автомата в его памяти накапливается обобщенная информация о всех входных сигналах, поступивших к данному моменту времени, поэтому состояние автомата и выходной сигнал зависят от всей предыстории входных сигналов. Наличие памяти позволяет автомату выполнять не только отдельные операции, но и последовательности взаимосвязанных операций, т.е. заданные алгоритмы обработки данных. Компьютер в целом представляет собой сложный автомат с памятью большой емкости.