- •Глава 1. Предисловие Основные принципы построения вычислительных машин и систем
- •Пример современной многоуровневой вычислительной машины с шестью уровнями
- •Уровни детализации структуры вычислительной машины
- •Принципы построения вычислительной машины
- •Принцип двоичного кодирования
- •Принцип программного управления
- •Принцип однородности памяти
- •Принцип адресности
- •Структура фон-неймановской архитектуры вычислительной машины
- •Типы структур вычислительных машин и систем
- •Структуры вычислительных машин
- •Структуры вычислительных систем
- •Перспективы совершенствования архитектуры вм и вс
- •Технологические и экономические аспекты
- •Тенденции развития больших интегральных схем
- •Перспективные направления исследований в области архитектуры
- •Глава 2. Цифровой логический уровень
- •Представление информации в вычислительных системах
- •Представление числовых данных в вм.
- •Числа в форме с фиксированной точкой.
- •Числа в форме с плавающей точкой
- •Размещение числовых данных в памяти
- •Представление нечисловой информации в вм
- •Символьная информация
- •Видеоинформация
- •Аудиоинформация
- •Система кодирования чисел.
- •Прямой код.
- •Обратный код.
- •Модифицированные коды.
- •Код с исправлением ошибок
- •Коды Хемминга
- •Физическое представление информации в вм.
- •Вентили, интегральные схемы.
- •Основные элементы эвм
- •Триггер.
- •Сумматоры
- •Тактовые генераторы.
- •Микросхемы процессоров и шины
- •Микросхемы процессоров. Цоколевка типичного цп
- •Архитектура и набор команд.
- •Типы процессоров
- •Регистры процессора
- •Типы шин Системные шины. Локальные шины
- •Системные шины
- •Локальные шины
- •Иерархия шин
- •Вычислительная машина с одной шиной
- •Вычислительная машина с двумя видами шин.
- •Вычислительная машина с тремя видами шин
- •Арбитраж шин
- •Принципы работы шины
- •Глава 3 Функциональная организация фон - неймановской вычислительной машины
- •Функциональная схема фон-неймановской вычислительной машины
- •Узлы уу
- •Узлы алу
- •Основная память.
- •Модуль ввода/вывода
- •Цикл команды.
- •Пример выполнения программы.
- •Система прерываний.
- •Глава 4. Память.
- •Организация памяти.
- •Основные принципы.
- •Основные технические характеристики зу.
- •Иерархическая структура памяти.
- •Основная память.
- •Классификация устройств основной памяти.
- •Блочная организация основной памяти
- •Организация микросхем памяти
- •Режимы работы памяти.
- •Основные запоминающие устройства
- •Стековая память
- •Ассоциативная память
- •Полностью ассоциативная кэш-память.
- •Постоянное запоминающее устройство
- •Виртуальная память
- •Понятие виртуальной памяти
- •Страничная организация памяти
- •Сегментно-страничная организация памяти.
- •Внешняя память
- •Магнитные диски
- •Оптическая память
- •Магнитные ленты
- •Глава 5 Язык Ассемблер
- •Структура программы на языке Ассемблер
- •Основные типы операндов
- •Типы операторов
- •Режимы адресации
- •Директивы ассемблера
- •Инструкции пересылки данных и двоичной арифметики
- •Запись программ на языке Ассемблер
- •Пример вычисления арифметического выражения
- •Циклические и разветвляющиеся программы
- •Примеры использования операторов переходов и цикла при работе с массивами чисел
- •Применение логических инструкций
- •Логические инструкции
- •Примеры использования логических команд
- •Пример выполнения работы
- •Обработка символьной информации с помощью функций dos
- •Программные прерывания и системные вызовы
- •Описание функций работы с клавиатурой и дисплеем диспетчера функций ms dos
- •Функции 01н
- •Функции 02н
- •Функция 09н
- •Функция оан
- •Функция 0Bh
- •Пример выполнения работы
- •Глава 6 Типы вычислительных систем и их архитектурные особенности
- •Классификация вычислительных платформ и архитектур
- •Классификация Флинна.
- •Классификация Хокни
- •Классификация Хэндлера
- •Параллелизм и конвейеризация вычислений. Параллелизм на уровне команд
- •Конвейеры
- •6.2.2 Суперскалярная архитектура.
- •Мультипроцессоры с памятью совместного использования.
- •Основные классы вс
- •Машины класса simd
- •Машины класса mimd
- •Основные направления развитие архитектуры вычислительных машин
- •Суперспекулятивная архитектура
- •Трассирующая архитектура
- •Многопотоковый процессор
- •Многоядерная архитектура
- •«Плиточная» архитектура
- •Многоэтажная архитектура
- •Оптическая (фотонная) архитектура
- •Квантовая архитектура
- •Нейроархитектура
Пример выполнения программы.
Для анализа стандартных циклов команд составим программу сложения двух чисел и вывода суммы на устройство вывода, если эта сумма не равна нулю. Список необходимых команд приведен в табл.3.1, программа – в табл.3.2.
Предположим, что команды программы будут размещаться в основной памяти, начиная с адреса 300, а операнды- с адреса 400. Результат выводится на порт с номером 4.
Таблица 3.1. Команды гипотетической ВМ.
КОп |
АЧ |
Описание |
LDA |
Adr |
Загрузка в аккумулятор содержимого ячейки ОП с адресом Adr |
ADD |
Adr |
Сложение содержимого аккумулятора с содержимым ячейки ОП с адресом Adr. Результат остаётся в аккумуляторе |
BRZ |
Adr |
Переход к команде, хранящейся по адресу Adr, если результат предыдущей арифметической операции равен 0, иначе естественный порядок вычислений не нарушается |
OUT |
PortN |
Вывод содержимого аккумулятора на ПУ, подключённое к порту с номером PortN |
HLT |
|
Останов вычислений |
Таблица 3.4. Программа к рассматриваемому примеру
Адрес ОП |
Код операции |
Адрес ячейки или номер порта |
300 |
LDA |
400 |
301 |
ADD |
401 |
302 |
BRZ |
304 |
303 |
OUT |
4 |
304 |
HLT |
|
400 |
Операнд 1 |
|
401 |
Операнд 2 |
|
Перед запуском программы в СК необходимо занести адрес ячейки ОП, содержащей первую выполняемую команду программы, то есть 300.
Этапы выборки и декодирования команды, формирование адреса следующей команды были рассмотрены ранее (рис. 3.3, 3.4). На рисунке 3.5 представлен алгоритм выполнения программы, загрузка счетчика команд и декодирование команд программы в алгоритме опущены, на рисунке 3.6 приведена функциональная схема ВМ с указанием соответствующих сигналов управления, вырабатываемых МПА.
Исполнение операции загрузки аккумулятора. Команда LDA 400 обеспечивает занесение в аккумулятор содержимого ячейки ОП с адресом 400 (выполнение микрокоманд 1-3 на рис 3.6).
Исполнение операции сложения. Команда ADD 401 (выполнение микрокоманд 1, 2, 4, 5 на рис 3.6).обеспечивает суммирование содержимого аккумулятора с содержимым ячейки 401 (вторым операндом). Результат сложения остаётся в аккумуляторе (микрокоманда 6). Одновременно с этим в АЛУ формируются признаки результата.
Исполнение операции условного перехода. Для изменения порядка выполнения программы используются команды условного и безусловного перехода (команда BRZ 304).Адрес перехода хранится в адресном поле команды. Команда анализирует хранящийся в РПрз признак (флаг) нулевого результата. При нулевом значении флага (условие перехода не выполнено) естественный порядок выполнения программы не нарушается (микрокоманда 7), при единичном значении флага в СК заносится содержимое РА (микрокоманда 8), т.е. значение 304.
Исполнение операции вывода. Команда OUT 5 обеспечивает вывод содержимого аккумулятора в периферийное устройство, подключённое к порту вывода с номером 5. Для выполнения команды по СУ РАДВВ (микрокоманда 9) адресная часть команды из РА поступает на вход дешифратора номера порта ввода/вывода для выбора требуемого порта. В следующем такте по сигналу Выв содержимое аккумулятора передается на подключенное к этому порту ПУ.
Исполнение команды останова. Команда HLT обеспечивает приостановку программы, т.е. завершает вычисления в программе. При этом вырабатывается сигнал Ост, извещающий операционную систему о завершении текущей программы.
