Учебный курс Архитектура ЭВМ и язык ассемблера Лекция 6 заместитель министра связи и массовых коммуникаций РФ, старший преподаватель Северов Дмитрий Станиславович
ST(2) ST(0) Модель «сопроцессора» FPU Обмен c CPU через память Операция 9 0 Управление Состояние Теги стека 15 0 Указатель команды Команду выбирает CPU Данные выбирает CPU CPU ждёт FPU – FWAIT/WAIT R7 R6 R5 R4 R3 R2 R1 R0 79 Указатель данных 47 0 Стек ST(1) Данных ST(7) 0 ST(4) ST(3) ST(6) ST(5) ST(1) ST(0) ST(7) 2
Команды FPU Мнемоники – Первая – F – Вторая – тип операнда в памяти i - целое двоичное b - целое десятичное пусто – вещественное – Последние p – выталкивание результата – (Пред)последняя r – реверс операндов Форматы – Стековый – Регистровый – С памятью FADD FADD ST(1),ST FADD mem64real 3
Пример работы с FPU TITLE FPU Expression Evaluation (Expr.asm) ;(6.0*2.0)+(4.5*3.2) или * * + INCLUDE Irvine32.inc.data arrayREAL4 6.0, 2.0, 4.5, 3.2 dotProduct REAL4 ?.code main PROC finit fld array fmul array+4 fld array+8 fmul array+12 fadd ; инициализировать FPU ; втолкнуть 6.0 в стек ; ST(0) = 6.0 * 2.0 ; втолкнуть 4.5 в стек ; ST(0) = 4.5 * 3.2 ; ST(0) = ST(0) + ST(1) fstp dotProduct ; вытолкнуть результат exit main ENDP END main 4
Сводка назначений команд FPU Загрузка, Выгрузка Абсолютная величина Округление Выделение мантиссы/порядка Сравнение Сложение, Вычитание Умножение, Масштабирование Частное, остаток от деления Косинус, синус Тангенс, арктангенс Потенциирование Логарифмирование Инициализация Сброс флагов Перемотка стека Освобождение регистра Обмен регистров стека Пустое Ожидание Сохранение Восстановление 5
Архитектура ЭВМ: Литература Литература – Жмакин А.П. Архитектура ЭВМ. ISBN – Королёв Л.Н. Архитектура ЭВМ. ISBN – Таненбаум Э. Архитектура компьютера 4-е изд. ISBN
Иерархия языков и акторов Общечеловеческие Профессиональные Спецификаций Программирования Системных вызовов Машинного кода Микрокоманд Цифровых сигналов Аналоговых сигналов Изменений в материалах Субъекты рынка Решатели задач Исполнители алгоритмов Виртуальные машины Операционная система Система команд Микроархитектура Цифровые схемы Аналоговые схемы Фрагменты материалов 7
Иерархия языков и акторов Общечеловеческие Профессиональные Спецификаций Программирования Системных вызовов Машинного кода Микрокоманд Цифровых сигналов Аналоговых сигналов Изменений в материалах Субъекты рынка Решатели задач Исполнители алгоритмов Виртуальные машины Операционная система Система команд Микроархитектура Цифровые схемы Аналоговые схемы Фрагменты материалов Транслируются Интерпретируются 8
Иерархия событий в ЭВМ Взаимодействие ВМ (в ВС) Взаимодействие процессов (в ОС ВМ) Взаимодействие потоков команд в процессе Выполнение потока команд Выполнение операции системы команд Выполнение микрооперации Срабатывание цифровых элементов Переключение аналоговых элементов Изменение в материалах 9
Роль архитектуры системы команд Алгоритм Программы Ключевое соглашение Аппаратура Прикладная программа Транслятор, ассемблер, ОС Архитектура системы команд Сложные блоки: АЛУ, УУ, память, УВВ Типовые цифровые блоки: Логические схемы. Структурная основа: цифровые элементы Физ. основа: (полу)проводники, изоляторы 10
– – – – Структурная основа: Логические схемы Ячейки хранения. Регистры. Память. – Статические, Динамические – Неадресуемые, Прямоадресуемые, Контекстноадресуемые Логические ячейки. Комбинационные схемы – Элементарные: И, ИЛИ, НЕ; И-НЕ; ИЛИ-НЕ; ??? – Составные: полусумматор, сумматор, мультиплексор, дешифратор, сдвигатель, умножитель … Соединения. Шины. Последовательные, Параллельные Двустабильные, Трехстабильные, Многостабильные Синхронные, Асинхронные Проводные, Беспроводные Разрядность 4,8,16(20,24),32,(48),64,(128) 11
Иерархия данных и операций Макро вход/ввод Вход/ввод макро- операция макро выход/вывод Данные Операции Результаты Операция Выход/вывод 12
Некоторые модели вычислений Однопотоковая фон Неймана потоковая (синхронная) управляемая потоком данных много- потоковая 13
Машина с хранимой в памяти программой. Адресность – Информация вычислительного процесса сохраняется в одном или нескольких пронумерованных массивах ячеек – В любой момент доступна любая ячейка Программное управление – Алгоритм вычислений представлен в виде программы -упорядоченной последовательности команд, подлежащих обработке Двоичное кодирование – Вся информация кодируется элементами с двумя состояниями – Каждый тип информации кодируется последовательностью определённого формата Однородность памяти – Команды и данные хранятся в общей памяти и неразличимы по способу хранения – Команды и данные различаются способом использования – Команды модифицируются, и являются результатом трансляции 14
Близкие архитектуры ПринстонскаяГарвардская ЦП Основная память Память данных ЦП Память команд АЛУУУАЛУУУ Порты ввода/вывода 15
УBB О структуре и классификации АЛУ УУ Регистры Память УBB SISD – Один поток команд Среда взаимодействия – Один поток данных АЛУ АЛУ АЛУ УУ Регистры Память УBB SIMD – Один поток команд Среда взаимодействия – Много (потоков) данных УУ АЛУ УУ Регистры Память УBB MISD – Много потоков команд Среда взаимодействия – Один поток данных память MIMD АЛУ УУ Регистры Память УBB – Много потоков команд – Много потоков данных Среда взаимодействия 16
Пример: Аккумуляторная ВМ Селектор операции 1-й операнд Блок Дешифратор операции Код операции Аккумулятор Селекторы источника и назначения 2-й операнд результат обработки данных Регистр команды Основная память 17
Аккумуляторная ВМ. Детали. Устройство управленияУстройство обработки данных Сигналы управления Микропрограммный автомат Регистр 2-го операнда Регистр 1-го операнда Счётчик команд Дешифратор кода команд Операционный блок Указатель стека Регистр адреса Регистр команды Операц. Адресная. часть Регистр данных Регистр Признаков Дешифратор В/В Аккумулятор Порт ввода вывода Модуль ввода вывода АдресДанные Оперативная памятьПериферийное устройство 18