- •Магомедов и. А. Микропроцессорные системы. Аппаратные и программные средства.
- •Глава 1. Микропроцессоры
- •Глава II. Программирование микропроцессоров
- •Глава III. Лабораторный практикум по программированию мп i80х86
- •Глава 1. Микропроцессоры
- •1.1. Назначение микропроцессоров
- •1.2. Универсальные микропроцессоры
- •1.2.2. Микропроцессоры компании amd
- •1.2.3. Микропроцессоры компании Cyrix
- •1.2.4. Микропроцессоры с архитектурой Alpha
- •1.2.5. Микропроцессоры с архитектурой sparc
- •1.2.6. Микропроцессоры Hewlett-Packard ра-8000
- •1.3. Микропроцессоры обработки сигналов
- •1.3.1. Сигнальные микропроцессоры компании
- •1.3.2. Сигнальные микропроцессоры компании Motorola
- •1.3.3. Микропроцессоры семейства dsp 560хх
- •1.4. Медийные микропроцессоры
- •1.5. Транспьютероподобные микропроцессоры
- •1.6. Нейропроцессоры
- •Глава II. Программирование микропроцессоров
- •2.1. Программная модель 32-разрядных процессоров
- •2.1.2. Типы данных
- •2.1.3. Регистры процессора
- •2.2. Форматы команд
- •2.3. Выбор операнда
- •2.4. Режимы адресации
- •Вопросы для самоконтроля к главе 2
- •Глава III. Лабораторный практикум по программированию мп i86
- •Обобщенная структурная схема микропроцессора х86
- •Организация основной памяти и средства аппаратной поддержки управления памятью
- •Выполнение программы
- •Формат операторов ассемблера
- •Определение полей памяти для размещения данных.
- •3.2. Операнды команд ассемблера
- •Команда пересылки данных
- •Команда загрузки исполнительного адреса
- •Команды загрузки указателя.
- •Команда записи в стек
- •Команда обмен данными
- •Команды сложения/ Команды вычитания
- •Команда изменения знака
- •Команда добавления /вычитания единицы
- •Команда сравнения
- •Команды умножения/ деления
- •Команда преобразования байта в слово, а слова - в двойное слово.
- •Команды передачи управления
- •Команды условного перехода
- •Команды организации циклической обработки
- •Команда перехода по обнуленному счетчику
- •Команды организации цикла с условием
- •Команды вызова подпрограмм
- •Команда возврата управления
- •Команды обработки строк
- •Логические команды
- •2. Программирование циклических процессов.
- •3. Моделирование одномерных массивов
- •4. Моделирование матриц
- •5. Преобразования ввода-вывода.
- •3.4. Основные команды отладчика afd
- •Fspec определяет имя файла, наименованного в соответствии с соглашениями dos. Для команды l расширением по умолчанию является “exe”;
- •String задает список значений или ascii строк (строка заключена в кавычки) разделенных пробелами или запятой.
- •Например: 1234 bx, ‘tromb’ ff.
- •Лабораторная работа № 1 Создание выполнимого файла, работа в отладчике, изучение оператора пересылки mov
- •Оператор mov
- •Индивидуальные задания
- •Лабораторная работа № 2 Сегментация памяти, директивы ассемблера
- •Прямая адресация
- •Косвенная адресация
- •Директива assume
- •Индивидуальные задания
- •Лабораторная работа №.3 Директивы equ, label, команды сложения и вычитания Директива equ
- •Директива label
- •Команды сложения и вычитания
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Лабораторная работа № 4 Изучение операторов обмена xchg и xlat
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Система команд процессораi486
- •П1. Команды пересылки данных
- •П2. Арифметические команды
- •П3. Логические команды
- •П4. Команды переходов
- •П5. Команды процессора i486
1.2.6. Микропроцессоры Hewlett-Packard ра-8000
Микропроцессоры
РА-8000.
Hewlett-Packard
была одной из первых компаний, вышедших
на рынок RISC-процессоров. Ее 32-разрядный
микропроцессор PA-RISC с архитектурой
Precision A
rchitecture
был выпущен в 1986 г. Последовательно
развивая принципы RISC архитектуры, HP
выпустила один из самых высокопроизводительных
для своего времени микропроцессор
РА-8000, в котором в полной мере воплощены
основные принципы динамического
исполнения команд («интеллектуального
выполнения» - в терминах Hewlett-Packard) [8].
Производительность микропроцессора с тактовой частотой 180 МГц составила 11,8 SPECint 95 20,2 SPECfp 95. Процессор изготовляется по технологии КМОП 0,5 мкм. Последующие модификации предусматривают использование технологии с КМОП 0,35 мкм для РА-8200 и 0,25 мкм для РА-8500.
Структура микропроцессора РА-8000 показана на рис. 1.11.
РА-8000 имеет 64-разрядную четырехконвейерную архитектуру с оригинальной схемой изменения последовательности выполняемых команд. Процессор содержит 10 функциональных устройств: два целочисленных АЛУ, два целочисленных устройства сдвига/объединения, два устройства умножения/накопления с плавающей точкой (MAC), два устройства деления/извлечения корня и два устройства загрузки/сохранения. Устройства умножения/накопления требуют трех тактов и полностью конвейеризируются для обработки данных с одинарной точностью. Их производительность составляет до 4 FLOPS за такт. Блоки деления требуют 17 тактов и не конвейеризируются.
В PA-8000 используется буфер переупорядочивания команд (IRB), просматривающий следующие 56 команд в потоке инструкций и определяющий, какие из них можно выполнять параллельно. Фактически IRB состоит из двух блоков на 28 команд каждый. Блок АЛУ содержит команды для устройства целочисленной арифметики, а другой блок используется для команд устройства операций с плавающей точкой и команд загрузки/сохранения.
Команда, помещенная в IRB, ожидает готовности данных, являющихся результатом предыдущих команд, и выбирается на выполнение (в порядке очередности), как только все требуемые данные получены и необходимое исполнительное устройство освободилось. Каждый из блоков IRB позволяет планировать две команды за такт (итого до четырех команд за такт). Для устранения связей между параллельно выполняемыми командами в процессоре используется переименование регистров.
В микропроцессоре используется алгоритм предсказания переходов, основанный на мажоритарном принципе оценки предыстории для каждой точки ветвления. Для предсказания используется таблица истории ветвлений ВНТ (Branch History Table), содержащая до 256 3-битовых записей, по одной для каждой точки ветвления. Вероятность правильного предсказания составляет 0,8.
Hewlett-Packard спроектировала PA-8000 специально для научных и инженерных расчетов, размер интенсивно используемых данных в которых может быть велик. В этой связи возникает необходимость использования больших кэш-памятей команд и данных. РА-8000 использует внешние основные кэш-памяти данных и команд объемом до 4 Мбайт, а также буфер переупорядочивания адресов (ARB), отслеживающий все команды загрузки/сохранения, что позволяет сократить задержку, связанную с адресацией внешней кэш-памяти. Более медленный доступ к данным во внешнем кэше для РА-8000 компенсируется его большим объемом (что, однако, приводит к удорожанию системы) и эффективным управлением обменом с кэш- памятью (использование высокоскоростных линий управления кэшем, предвыборки команд и данных из основной памяти в кэш).
Устранить недостаток, связанный с удорожанием системы при использовании внешнего основного кэша, Hewlett-Packard удалось в новом микропроцессоре РА-8500, производимом по технологии 0,25 мкм. Высокая плотность упаковки позволила разместить на кристалле кэш-память первого уровня размером 1 Мбайт для данных и 0,5 Мбайт для команд.
