- •Основные понятия и определения
- •Принципы программного управления Фон Неймана
- •Представление данных в эвм
- •Позиционные системы счисления Перевод чисел из одной системы счисления в другую
- •Структура и форматы команд
- •Типи машинных операций
- •Системы адресации
- •Построение вычислительной машины
- •Регистровое запоминающее устройство
- •Операции умножения и деления в эвм операция умножения чисел с фиксорованной запятой сводится к операциям сложения и сдвига Числа с фиксированной запятой (ф.З.) – правильная дробь со знаком
- •Сдвиг вправо двойного
- •Произведение и множимое хранятся в рзу, множитель – в регистре расширения Умножение чисел со знаком
- •Деление
- •1. Новые алгоритмы
- •2. Построение специализированных схем Два варианта быстрых схем
- •Такая организация каких-либо операций – это основа таблично-алгоритмических методов Память (зу) не является памятью автомата
- •Разобьем число на две части
- •В микрокоманде определяются адреса регистров, выбираемых по умолчанию
- •Кодирование микроопераций
- •Построение управляющего автомата
- •Управляющие автоматы с жесткой логикой
- •Управляющие автоматы с программируемой логикой
- •С хема фам
- •Реализация переходов
- •Условные переходы
- •Реализация оператора ключ (Многоразрядные условия)
- •Конвейер
- •Простейшая машина
- •Управляющий автомат
- •Операционный автомат
- •Системы памяти
- •Классическая четырехуровневая система памяти
- •Типы выборки
- •Предположим, что работаем с одним банком
- •Метод сегментов
- •Если добавить сегмент векторов прерываний, то в сумме объем сегментов будет равен 320 Кб
- •Метод сегментов является развитием метода банков, здесь банки памяти выделяются под каждый тип данных
- •Для каждого типа данных заводить большую физическую память
- •Метод окна
- •Распределение адресного пространства диспетчером памяти
- •Страничная организация памяти
- •Стратегии замещения
- •Физическая память не бесконечна, и по мере ее заполнения нам нужно выбирать, какие страницы мы будем из нее убирать, для этого существуют стратегии замещения.
- •При этом известны два подхода к решению этой проблемы:
- •Б.) При аппаратной реализации требуется определить:
- •Сверхоперативные запоминающие устройства
- •Память с расслоением обращений
- •Где № блока – адрес внутри модуля памяти; № сл. В бл. – адрес (смещение) в блоке;
- •За одно обращение читается весь блок из «к» слов в некоторый буфер
- •Синхронизация процессов обмена
- •Организация гальванической развязки
- •Общая шина
- •Варианты построения схем арбитража
- •Машина, управляемая данными.
- •Основные принципы организации суперЭвм
- •Risc-архитектура
- •Технологический обзор
- •Способы и уровни введения параллелизма
Типи машинных операций
Существует несколько типов машинных операций:
Арифметико-логические
Операции пересылки
Переходы управления
Операции ввода-вывода
Специальные операции (системные операции)
Рассмотрим команду на примере действия A:=B+C:
Ас – адрес результата
АB – адрес второго операнда
АА – адрес первого операнда
Асл.к. – адрес следующей команды
Операнды указаны всегда в порядке использования.
Принудительная адресация – позволяет увеличить быстродействие. Но она имела смысл, только пока не было большой электронной памяти.
Если мы сделаем специальную ячейку памяти, которая будет всегда указывать на следующую команду, то есть содержать ее адрес. Таким образом, мы можем уменьшить размер команды.
Если же мы будем теперь для сохранения результата вычислений использовать одну из ранее используемых переменных, то команда у нас преобразится в двухадресную.
Теперь одну из ячеек памяти объявим накопительной, то есть, аккумулятором. В эту ячейку у нас всегда будет складываться результат наших вычислений. Таким образом, команда у нас станет одноадресной.
И, наконец, сделаем специальный стек, в котором будут храниться и команды и данные (так называемая польская нотация). Теперь нам не нужно чтобы в команде хранились адреса операндов, так как они будут храниться в заранее известном месте стека.
Так мы получили безадресную систему команд, которая используется в калькуляторах. Уменьшенная адресность машины дает большее быстродействие.
Системы адресации
Существует четыре основных вида адресации:
Классическая (прямая). Эта адресация подразумевает указание в поле команды адреса операнда. Есть два подвида этой адресации – короткая, когда указан регистр, в котором лежит операнд, и длинная, когда указан абсолютный адрес операнда.
Непосредственная. При этой адресации в теле команды находится сам операнд, а не его адрес.
Косвенная. В этом случае в команде указывается адрес ячейки, в которой хранится адрес операнда.
Относительная. Относительная адресация похожа на классическую с той разницей, что указывается не абсолютный адрес операнда, а смещение операнда относительно самой команды.
Построение вычислительной машины
Любая вычислительная машина строится для решения какой-то определенной задачи. Для решения задачи разрабатывается алгоритм, который реализуется программой. Программа состоит из команд, которые в свою очередь состоят из операций. Операции делятся на микрозадачи. Микрозадачи реализуются микроалгоритмами, для которых делаются микропрограммы. Которые так же, как и программы, состоят из микрокоманд. Микрокоманды делятся на микрооперации, такие, как сложение, пересылка и т.д. И того, для построения вычислительной машины нам нужно сделать схемы для выполнения микроопераций. Это можно реализовать двумя путями – методом закрепления и методом обобщения.
Метод первый – методика закрепления. В этом методе за каждой операцией закрепляется отдельная своя комбинационная схема.
Данная комбинационная схема реализует сложение B и С, результат кладется в A. Y – управляющий сигнал.
Методика закрепления используется при построении конвейерных вычислительных устройств. В таких устройствах используется распараллеливание вычислений. К примеру, нам нужно проделывать два действия – A:=B+C и D:=A/E .
Чтобы не использовать два отдельных регистра для хранения одного и того же числа объединим их в один регистр.
Теперь если нам нужно проделывать эти два действия, то, в то время как вторая комбинационная схема будет проделывать деление, первая уже сможет складывать следующие два числа. Таким образом, скорость повысится вдвое. Если, каким-то образом, мы увеличим количество ступеней нашего конвейера, то скорость также увеличится. То есть, сколько ступеней у конвейера, столько и команд находится в обработке на разных этапах.
Чтобы
согласовать запись в элементы памяти
и чтение из них, нам понадобится тактовый
сигнал. Периодичность тактового сигнала
определяется задержкой регистра
источника и задержкой комбинационной
схемы.
Т – период тактового сигнала. Вычисляется по формуле:
T = max {τкс} + τРг
Конвейер выгоден только тогда, когда поток данных постоянен, то есть тогда, когда конвейер загружен. Время загрузки конвейера – время получение одного результата.
Метод второй – методика обобщения
Этот метод заключается в том, что в отдельной памяти содержится множество слов, а в отдельной комбинационной схеме содержится множество операций.
У этого метода есть один серьезный недостаток – операции выполняются последовательно, то есть только одно действие в единицу времени. Плюс же в том, что мы уменьшаем аппаратные затраты.
«Объем оборудования» * «Время решения задачи» → const
Для уменьшения время решения задачи можно использовать методику закрепления, при этом повышаются затраты на оборудование.
Для уменьшения затрат на оборудование можно использовать методику обобщения, при этом увеличивается время решения задачи.
Схем, построенных по какой-то одной методике, не существует, все схемы представляют собой компромиссы между двумя методиками.
