- •Раздел 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.14.3. Двоично-десятичные счетчики
В некоторых схемах используют счетчики с модулем, отличным от . Например, в электронных часах используют счетчики по модулю 10 для подсчета единиц секунд, минут и часов, счетчики по модулю 6 для подсчета десятков секунд и минут, а также счетчики по модулю 2 или 3 для подсчета десятков
часов.
Схемы счетчиков с произвольным модулем счета могут быть построены с применением теории автоматов как автоматы с памятью. Для построения таких счетчиков можно применить упрощенный метод. Его суть сводится к использованию известных схем счетчиков по модулю , где ( – требуемое значение модуля счета). Схема счетчика дополняется схемой принудительного сброса счетчика в состояние «0» при поступлении на вход числа импульсов, равного требуемому значению модуля счета.
В частности, для построения счетчика по модулю 10 (двоично-десятичного счетчика) используется счетчик по модулю 16, т.е. четырехразрядный суммирующий двоичный счетчик. Такой счетчик может быть использован, например, в качестве счетчика единиц секунд электронных часов. В этом случае на его вход подаются импульсы частотой 1 Гц. Схема принудительного сброса счетчика в состояние «0» может быть выполнена в виде элемента И (рис. 2.44).
Исходное (нулевое) состояние счетчика устанавливается сигналом «Уст. 0». При поступлении входных импульсов счетчик начинает их подсчет как суммирующий двоичный счетчик. После девятого импульса счетчик переходит в состояние «1001». С приходом десятого импульса на всех входах элемента И устанавливаются единичные значения и сигнал с его выхода обнуляет счетчик. При поступлении следующих импульсов состояния счетчика меняются в соответствии с логикой работы счетчика по модулю 10
Рис. 2.44. Двоично-десятичный счетчик
Сигнал с выхода элемента И может быть использован как входной для последующей схемы (например, для счетчика десятков секунд). Такой счетчик выполняет функцию делителя частоты на 10.
2.15. Классификация архитектур системы команд
Системой команд вычислительной машины называют полный перечень команд, которые способна выполнять данная вычислительная машина. Архитектурой системы команд (АСК) называют те средства вычислительной машины, которые видны и доступны программисту. Архитектуру системы команд можно рассматривать как линию согласования нужд разработчиков программного обеспечения с возможностями создателей аппаратуры вычислительной машины.
В конечном итоге, цель тех и других – реализация вычислений наиболее эффективным образом, то есть за минимальное время, и здесь важнейшую роль играет правильный выбор архитектуры системы команд.
В упрощенной трактовке время выполнения программы (Tвыч) можно определить через число команд в программе (Nком), среднее количество тактов процессора, приходящихся на одну команду (CPI), и длительность тактового периода :
.
Каждая из составляющих выражения зависит от одних аспектов архитектуры системы команд и, в свою очередь, влияет на другие (рис. 2.45), что свидетельствует о необходимости чрезвычайно ответственного подхода к выбору архитектуры системы команд.
Рис. 2.45. Взаимосвязь между системой команд и факторами,
определяющими эффективность вычислений
Сложившуюся на настоящий момент ситуацию в области архитектуры системы команд иллюстрирует рис. 2.46.
Рис. 2.46. Хронология развития архитектур системы команд