Главная » Просмотр файлов » К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)

К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 47

Файл №1114649 К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)) 47 страницаК. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649) страница 472019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 47)

3.47. плененные подпрограммы на языке ассемблера !А-32 Первая подпрограмма 2100 5РВ1 Р~ЛН МОЪг Р05Н Р1ЛН РПЗН РЫЗН МОЪ' МОЪ' МОЪ' РОР РОР РОР РОР РОР КЕТ Вторая подпрограмма 3000 5БВ2: РУЗН МОЪ' РБ5Н Р!ЛН МОЪ' ЕВК ЕВК,ЕЗР ЕАХ ЕВХ ЕСХ ЕРХ ЕАХ,]ЕВК-н8] ЕВХ ]ЕВКОЮ!2] Помещение параметра в стек Выталкивание результата работы 5РВ2 в ЕСХ Восстановление регистра указателя на фрейм Возврат в главную программу Восстановление регистра указателя на фрейм Возврат в первую подпрограмму 206 Глава 3.

Системы команд процессоров АВМ, Мошго!а и !Ше~ Стековый фрейм для второй подпрограммы ЕВР— в Стековый фрейм для первой подпрограммы ЕВР— т Старая вершина стека Рис. 3.48. Стековые фреймы длл программы, представленной на рнс 3.47 В завершение темы вызова подпрограмм мы рассмотрим пример обработки вложенных вызовов. На рис. 3.47 приведен код программы на языке ассемблера 1А-32, зквивалентной программе, представленной на рис.

2.28. Стековые фреймы обоих подпрограммы вы видите на рис. 3.48. Указателем на фрейм служит регистр ЕВР. Структура вызывающей программы и подпрограмм очень близка к структуре кода на рис. 2.28. Однако существенным отличием кода для 1А-32 является то, что для сохранения и восстановления регистров в нем применяются последовательности команд Р11БН и РОР, а не команды МочеМц1с1р1е. В наборе команд 1А-32 имеются команды Р11БНАП и РОРО, с помощью которых можно сохранить в стеке и восстановить из него все восемь регистров общего назначения, но в программе на рис.

3.47 мы предпочли воспользоваться отдельными командами Р~ЛН и РОР, поскольку в подпрограммах задействована только половина всех регистров. 3.23. Другие команды 207 3.23. Другие команды Мы рассмотрели лишь малую часть набора команд архитектуры 1А-32. Еще не- сколько важных команд будут представлены ниже. 3.23.1. Команды умножения и деления Кроме команд для сложения и вычитания целых чисел со знаком, описанных в разделе 3.17, в наборе команд 1А-32 имеются команды для целочисленного умножения и деления, а также для выполнения арифметических операций над числами с плавающей запятой. В общем случае в результате умножения двух 32-разрядных чисел получается произведение двойной длины, то есть 64-разрядное значение. Однако для многих приложений достаточно иметь результат одинарной длины, то есть 32-разрядное значение.

В подобных ситуациях используются разные команды. Результат одинарной длины генерирует команда 1М1П. ВЕС,згс помещающая 32-разрядное значение в регистр общего назначения ВЕС. Исходный операнд может находиться либо в регистре, либо в памяти. В случае 64-разрядного результата команда 1МШ згс использует в качестве второго операнда регистр ЕАХ. Исходный операнд может располагаться либо в регистре, либо в памяти. Произведение двойной длины по- мешается в два регистра: старшая половина разрядов результата сохраняется в регистре Е1)Х, а младшая — в регистре ЕАХ. Команда для выполнения целочисленного деления имеет следующий формат: П)~Ч згс Исходный операнд згс является делителем. Делимое всегда находится в регистре ЕАХ.

Перед выполнением команды знак делимого должен быть расширен на регистр Е1)Х. Для этого используется команда С1)Я (конвертирование двойного слова в четверное), которая не имеет операндов, поскольку всегда выполняется над регистрами ЕАХ и ЕПХ. Числа с плавающей запятой, о которых достаточно подробно рассказывается в главе 6, имеют гораздо больший диапазон значений, чем целые числа, и используются в первую очередь для научных вычислений. В архитектуре 1А-32 применяется полный набор арифметических операций с такими числами.

Их операнды и результаты располагаются в регистрах с плавающей запятой, показанных на рис. 3.37. Поддерживаются два формата чисел: с одинарной (32 разряда) и двойной (64 разряда) точностью. 3.23.2. Команды мультимедийного расширения Двухмерные графические и видеоизображения можно представить массивом, состоящим из большого количества точек.

Цвет и яркость каждой точки, называемой 208 Глава 3. Системы команд процессоров АНМ, Ьло1ого!а и 1п1е! пикселом, могут быть закодированы 8-битовым элементом данных. Обработка таких данных имеет две особенности. Во-первых, при обработке отдельных пикселов часто приходится выполнять очень простые арифметические и логические операции. Во-вторых, для некоторых приложений реального времени требуется исключительно высокая скорость вычислений.

Сказанное касается и обработки аудиосигналов и речи, представляемых последовательностью отсчетов непрерывного аналогового сигнала, генерируемых через фиксированные промежутки времени. Ускорить процесс обработки данных в приложениях обоих типов можно за счет разделения последовательности элементов данных (как правило, байтов или 16-разрядных слов) на маленькие группы, которые можно обрабатывать параллельно.

В наборе команд 1А-32 имеется множество таких, которые параллельно обрабатывают данные группами по 64 бита, называемыми четверными словами. (Четверное слово содержит восемь байт или четыре 16-разрядных слова.) Эти команды называются ММХ-командами или командами мультимедийного расширения (пгп111юед1а ехгепз1оп). Их операнды могут располагаться в памяти или в регистрах с плавающей запятой. Таким образом, эти регистры служат двойной цели: в них могут храниться числа с плавающей запятой или операнды ММХ-команд. При использовании в командах ММХ регистры обозначаются как ММΠ— ММ7.

Для пересылки 64-разрядных ММХ-операндов между памятью и регистрами ММХ используются специальные команды Моче. Команда РА1Н) В М М1,згс складывает соответствующие байты двух 8-байтовых операндов и помещает в регистр назначения восемь сумм. Исходный операнд может располагаться в памяти или в регистре ММХ, но операнд назначения обязательно должен находиться в регистре ММХ.

Подобные команды имеются как для операций по вычитанию, так и для логических операций. Типичной операцией, выполняемой в приложениях обработки сигналов, является свертка -- умножение короткой последовательности отсчетов входных сигналов на константы, называемые весовыми коэффициентами, и сложение произведений для получения значения выходного сигнала. Подобные операции осуществляются с помощью специальной команды ММХ, объединяющей умножение и сложение.

В ней используются 64-разрядные операнды ММХ, содержащие по четыре 16-разрядных элемента данных, представляющих отсчеты сигнала. 3.23.3. Векторные команды В архитектуре 1А-32 определен набор команд, предназначенных для выполнения арифметических операций над маленькими группами чисел с плавающей запятой. Команды 81М1) (51п8)е 1пз1гпсг1оп, Мп10р!е Пата — одиночный поток команд и множественный поток данных) полезны для векторных и матричных вычислений в научных приложениях. В терминологии 1пге! они называются командами потокового расширения Я1ЛЮ (Бггеащ1п8 81М1) Ехтепз1оп, ЯЕ).

Эти команды обрабатывают составные операнды длиной 128 бит, состоящие из четырех 32-разрядных чисел с плавающей запятой. Для хранения этих операндов имеются 3.24. Примеры программ 209 128-разрядные регистры (на рис. 3,37 не показаны). Двумя базовыми командами этой группы являются команды сложения и умножения. Они воздействуют на четыре соответствующие пары исходных 32-разрядных значений, которые находятся в составных 128-разрядных операндах, и помещают четыре отдельных результата в 128-разрядный операнд назначения. В этом разделе приводятся примеры программ для архитектуры 1А-32, рассмот- ренных в разделе 2.11. 3.24.1.

Программа для вычисления скалярного произведения двух векторов На рис. 3.49 приведена программа вычисления скалярного произведения двух векторов для процессоров архитектуры 1А-32. Начальные адреса этих векторов равны АУЕС и ВУЕС. Программа написана по образцу программы, показанной на рис. 2.33, В программе на рис.

3.49 для доступа к последовательным элементам векторов используется базовая индексная адресация. В качестве индексного регистра применяется регистр Е1)1. Коэффициент масштабирования равен 4, поскольку элементы векторов являются двойными словами (4 байта). В качестве счетчика цикла используется регистр ЕСХ,инициализированный значением и.

Это позволяет задействовать команду МООР (см. раздел 3.17 и рис. 3.40, б), которая сначала уменьшает значение регистра ЕСХ, а затем выполняет условный переход по адресу ЕООРЯТАКТ, если содержимое регистра ЕСХ не равно нулю. Предполагается, что произведение двух элементов векторов поместится в двойное слово, поэтому в команде умножения 1М1Л явно задан регистр назначения ЕРХ (см. раздел 3.23). ЕВР,АУЕС ЕВХ,ВУЕС ЕСХ,Х 1.ЕА ЕЕА МОУ МОУ ЕАХ,О МОУ ЕР1,0 1ООРЯТАКТ: МОУ 1М1Л.

Характеристики

Тип файла
PDF-файл
Размер
10,19 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее