Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Показатели эффективности системы операций

ЭВМ и периферийные устройства

Лектор: доц. Осмоналиев А.Б.

Лекция 10. (2 часа)

Тема. Способы адресации в командах управления потоком команд. Система операций. Иерархия систем операций.

 

Способы адресации в командах управления потоком команд

Основными способами адресации в командах управления потоком команд являются прямая и относительная.

Для команд безусловного и условного перехода (ветвления) наиболее типична относительная адресация, когда в адресной части команды указывается смещение адреса точки перехода относительно текущей команды, то есть смещение относительно текущего содержимого счетчика команд. Использование данного способа адресации позволяет программе выполняться в любом месте памяти — программы становятся перемещаемыми. Среди команд безусловного перехода доля относительной адресации составляет около 90%.

Для команд перехода чрезвычайно важно, насколько далеко адрес перехода отстоит от адреса команды перехода, иными словами, какова типичная величина смещения. В [120] приведены данные о типовой величине смещения, оцененной по программам GCC, Spice, ТЕХ; они представлены на рис. 10.1. Результаты, полученные на смесях программ с преимущественной обработкой целочисленных и вещественных данных, показаны на нижнем графике того же рисунка.

Как видно, длина смещения в основном не превышает 8 бит, что соответствует

смещению в пределах ±128 относительно команды ветвления. В подавляющем большинстве случаев переход идет в пределах 3-7 команд относительно команды перехода. Рисунок 10.2. дает представление о преимущественном направлении переходов.

Рис. 10.1. Средние значения смещения в командах условного перехода

Рис. 10.2. Доля переходов назад в программах GCC, Spice и ТеХ

 

Из приведенных данных следует, что в среднем 75% переходов происходит в направлении увеличения адреса. Из переходов в сторону уменьшения адреса около 90% связаны с выполнением циклов.

 

Система операций

Системой операций называется список операций, непосредственно выполняемых техническими средствами вычислительной машины. Система операций ВМ определяется областью ее применения, требованиями к стоимости, производительности и точности вычислений.

Связь системы операций с алгоритмами решаемых задач проявляется в степени ее приспособленности для записи программ реализации этих алгоритмов. Степень приспособленности характеризуется близостью списка операций системы команд и операций, используемых на каждом шаге выполнения алгоритмов. Простоту программирования алгоритма часто определяют термином «программируемость вычислительной машины». Чем меньше команд требуется для составления программы реализации какого-либо алгоритма, тем программируемость выше. В архитектурах типа CISC улучшения Программируемо добиваются введением в систему операций большого количества операций, в том числе и достаточно сложных. Это может приводить и к повышению производительности ВМ, хотя в любом случае увеличивает аппаратурные затраты.

Обоснованный выбор системы операций (СО) возможен лишь исходя из анализа подлежащих реализации алгоритмов. Для этого определяется частотный вектор используемых в алгоритме операторов (q1..., q„). Изучив вектор, составляют список основных, наиболее часто встречающихся операторов. Операторы основного списка реализуются системой машинных операций ВМ (каждому оператору сопоставляется своя машинная операция). Остальные операторы получают путем их разложения на операторы основного списка.

 

Показатели эффективности системы операций

Качество системы операций можно характеризовать двумя свойствами: функциональной полнотой и эффективностью.

Функциональная полнота - это достаточность системы операций для описания любых алгоритмов. Системы операций ВМ включают в себя большое количество машинных операций и практически всегда являются функционально полными.

Эффективность системы операций показывает степень соответствия СО заданному классу алгоритмов и требованиям к производительности ВМ. Количественно эффективность характеризуется затратами оборудования, затратами времени на реализацию алгоритмов и вероятностью правильного выполнения программ.

Затраты оборудования С можно описать выражением.

 

С = СПР + СЗУ

где СПР — затраты в процессоре на реализацию системы операций, СЗУ — затраты памяти на размещение данных и программ, представляющих алгоритм в терминах заданной системы операций.

Величина СПР пропорциональна количеству и сложности машинных операций, а СЗУ — емкости памяти, необходимой для хранения закодированного алгоритма. Усложнение машинных операций приводит к сокращению количества операций (команд), требуемых для описания алгоритма, и, следовательно, к уменьшению необходимой емкости памяти.

Затраты времени на реализацию алгоритма (Т) пропорциональны количеству команд (операций) в программе. Введение в СО более сложных операций позволяет программировать сложные действия одной командой, в результате чего уменьшается количество команд программы.

Вероятность правильного выполнения программ Р определяется по формуле

 

где l — количество операций в СО; п - количество операций (команд) в програм-

мах; лямбда i, тета i - интенсивность отказов и время выполнения операции (команд

типа; qi — частота появления операций i- гоа в программах; pi — вероятность правильного выполнения nqi операций i -го типа.

 

Выбор системы операций

Выбор оптимальной системы операций является сложной задачей. Основные трудности в ее решении связаны с установлением точной функциональной зависимости показателей эффективности С, F, Р от состава СО. Поэтому найти чисто формальный метод выбора оптимальной СО пока не удается, а существующие подходы к ее решению основываются на комбинации формальных и эвристических приемов. Используемые в настоящее время методы разработки системы команд можно классифицировать следующим образом.

• На основе существующих аналогов, применяемых для решения задач данного класса.

• На основе статистики использования отдельных команд в «старых» вычислительных машинах. Подобная статистика уже заложена во многие общепризнанные контрольно-оценочные тесты, такие, например, как смесь Гибсона или SPEC.

• Сориентацией на языки программирования высокого уровня. Выбор системы операций направлен на реализацию типовых операторов языков программирования. Подобные попытки можно встретить в вычислительных машинах фирм Wang, Hewlett-Packard, Tektronix, IBM.

• На основе формализации и систематизации. Сущность этого метода поясняет рис. 10. 3.

Рис. 10.3. Метод формализации и систематизации

• На базе метода группировки. Для упрощения декодирования и повышения производительности все операции группируются (арифметические, логические, передачи управления и т. д.). Выбор состава операций во многом зависит от принципа группировки и возможности извлечения из нее реальных выгод.

• На основе восходящей совместимости в рамках семейства вычислительных машин. Новая система операций должна быть надмножеством старой системы, причем пересечение множеств должно быть существенным.

• Опираясь на требования пользователя.

• На основе метода условной интерпретации. С учетом соотношения «стоимость/ производительность» определенные команды реализуются аппаратно или микропрограммно. Как интерпретация команд, так и метод их реализации выбираются из условий полезности данных команд, стоимости и производительности. В качестве примеров рассмотрим два способа решения задачи выбора оптимальной системы операций, соответствующие упомянутым выше принципам.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...