Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения Иванченко Юрий Иванович

Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения
<
Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения
>

Данный автореферат диссертации должен поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - 240 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Иванченко Юрий Иванович. Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения : ил РГБ ОД 61:85-5/1884

Содержание к диссертации

Введение

ГЛАВА I. Проблемы и спосош анализа иерархической памяти ЭВМ 10

1.1. Принципы построения иерархической памяти 10

1.2. Методы расчета параметров иерархической памяти 13

1.3. Особенности организации и работы верхних уровней иерархической памяти 19

1.4. Дуфер команд 24

1.5. Оценка предельного увеличения производительности процессора за счет использования буферов команд и операндов 36

1.6. Выводы 48

ГЛАВА 2. Экспериментальное исследование потока команд 49

2.1. Краткая характеристика средств использованных для исследования потоков команд 49

2.2. Марковские модели потока форматов 52

2.3. Модели потока обращений к памяти за командами.. 65

2.4. Частотный состав команд и форматов команд 66

2.5. Экспериментальное исследование потока форматов команд 70

2.6. Экспериментальное исследование потоков обращений к памяти за командами 85

2.7. Выводы 95

ГЛАВА 3. Разработка и исследование аналитических моделей предварительной выборки команд 97

3.1. Общая характеристика задач аналитического моделирования процессов предварительной борки команд 98

3.2. Полумарковская модель процесса выборки команд из оперативной памяти (поток форматов моделируется односвязной марковской цепью) 99

3.3. Полумарковская модель процесса выборки команд из оперативной памяти (элементы потока форматов взаимно независимы) 104

3.4. Оценка алгоритмов выборки команд из оперативной памяти 110

3.5. Упрошенные аналитические модели работы процессора с буфером команд 118

3.5.1. Марковская модель работы процессора с буфером команд 120

3.5.2. Упрощенная модель работы процессора с буфером команд, учитывавдая конфликты при обращениях к оперативной памяти 133

3.6. Выводы 139

ГЛАВА 4. Исследование некоторых методов повышения эффек тивности процессоров с предварительной выборкой команд 141

4.1. Упрощенные аналитические модели конвейерной обработки данных при одинаковых длительностях выполнения этапов обработки команды 141

4.2. Экспоненциальная модель трехэталной конвейерной обработки команд 151

4.3. Пример оценки эффективности конвейерной обработки команд 159

4.4. Процессор с несколькими буферами команд 163

4.5. Зуферирование команд с прогнозированием адресов переходов 170

4.6. Реализация буфера команд с прогнозированием адресов переходов 172

4.7. Выводы 177

ГЛАВА 5. Оценка точности аналитических моделей процессов выполнения команд 181

5.1. Трассовая имитационная модель работы процессора 181

5.2. Методика сопоставления данных имитационного и аналитического моделирования 186

5.3. Оценка точности аналитических моделей 188

5.4. Выводы 201

Заключение 206

Литература 208

Приясжение 214

Введение к работе

Актуальность проблемы. В "Основных направлениях экономического и социального развития СССР на I98I-I985 годы и на период до 1990 года" подчеркивается необходимость совершенствования вычислительной техники ее элементной базы и математического обеспечения, средств и систем сбора, передачи и обработки информации, повышения технического уровня вычислительной техники.

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

Успехи в совершенствовании и повышении технического уровня средств вычислительной техники существенным образом зависят от решения задач, связанных с проектированием оптимальных систем памяти, и согласования их параметров с параметрами других узлов ЭВМ. Значительный вклад в решение этих задач внесли советские ученые: Авен О.И., Акиныпин Ю.С., Башарин Г.П.,Богусловский Л.Б., Журавлев Ю.П., Коган Я.А,, Штрик А.А. и др.

Шстрое совершенствование технологии производства ЭВМ и их компонент приводит к тому, что многие методы и алгоритмы обработки информации, еще вчера применявшиеся только в высокопроизводительных или специализированных ЭВМ, сегодня находят все более широкое применение в массовых ЭВМ общего назначения. Появляются возможности использования новых принципов обработки данных, в частности, предварительной выборки и буферирования команд, прогнозирования адресов переходов, конвейерной обработки и т.п. Целесообразность использования этих принципов, требующих для своей реализации определенных затрат, должна быть обоснована уже на ранних этапах проектирования. Это требует разработки, исследования и использования в практике проектирования средств вычислительной техники моделей распараллеливания процессов выборки команд и их выполнения, Этим вопросам посвящены многие работы таких ученых, как Артамонов Г.Т., Брехов О.М., Ломов Ю.С., Майоров С.А., Новиков Г.И. и др. Эффективное использование таких моделей требует знания статистических данных о характеристиках потоков команд. Для некоторых отдельных случаев данные подобного рода приводятся в работах Журавлева Ю.П., Максимея И.В., Кошма-на Е.А., Окороченко Г.Е. Однако потоки команд и операндов в ЭВМ общего назначения исследованы недостаточно подробно, особенно в целях повышения уровня проектирования ЭВМ. Отсутствуют также детально разработанные и приспособленные для практического использования модели предварительной выборки и конвейерной обработки команд.

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

Цель работы. Диссертационная работа посвящена вопросам анализа и оценки эффективности способов предварительной выборки и конвейерной обработки команд, разработке и исследованию методов и моделей позволяющих обоснованно выбирать структуру и параметры устройств предварительной выборки на основе данных о характеристиках потоков команд, оперативной памяти и процессора.

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

Научная новизна. Разработаны методы получения и классификации информации о характеристиках потоков команд. Разработаны и исследованы модели процессов обработки команд в процессоре с предварительной выборкой и при конвейерной организации вычислений. Исследовано влияние команд перехода на производительность процессора и предложен способ реализации одного из алгоритмов прогнозирования адресов переходов. На основе предложенных моделей получены и проанализированы зависимости, позволяющие оценивать эффективность различных способов организации обработки информации в системе "процессор-оперативная память".

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

Апробация -работы. Основные результаты диссертационной работы обсуждены на республиканских научно-технических конференциях по проблемам создания и совершенствования технических и программных средств ЕС ЭВМ (Минск, 1977, 1982 гг.), на

Публикации. По материалам диссертационной работы опубликовано 6 печатных работ.

Структура и объем работы. Диссертация состоит из введения, пяти глав и заключения, изложенных на 114 страницах машинописного текста, 58 страницах рисунков, 35 страницах таблиц, и списка использованной литературы, включающего 63 наименования.

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

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

В третьей главе дана характеристика задач аналитического моделирования процессов предварительной выборки команд, разработа-ны и исследованы полумарковские модели этих процессов, получены зависимости для оценок эффективности различных алгоритмов выборки команд, разработаны упрощенные модели процессора с буферами команд и с учетом конфликтов при обращениях к памяти.

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

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

В заключении приводятся основные результаты работы. 

Оценка предельного увеличения производительности процессора за счет использования буферов команд и операндов

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

Я среднее количество выполняемых, команд, для выборки которых потребовалось одно обращение к оперативной памяти, CfK- время выборки команд из оперативной памяти, ta - время, затрачиваемое на вычисление адреса операнда, Xio- время выборки операнда из оперативной памяти, Т ,- время выполнения операции, Тг- время выборки из буфера команд (операндов). В выражениях (1.6), (1.7) учтено, что для выполнения буфери-руемых операций требуется увеличить длительность соответствующего этапа на время выборки из буфера. Если все этапы выполняются последовательно, то среднее время выполнения Я команд определяется

Приведены зависимости (j) для различных значений X при пН и Я=/ соответственно, из которых видно, что эффективность распараллеливания в значительной мере определяется быстродействием буфера и падает по мере увеличения времени, затрачиваемого на выполнение адресной арифметики и выполнение операции. Кроме того, из рисунков видно, что с увеличением ширины выборки, при котором растет и n , возможности получения выигрыша в производительности за счет распараллеливания существенно уменьшаются. Более жесткими становятся требования к быстродействию буфера. При h-Ч и значениях 7 больших 5, этот выигрыш (принципиально недостижимый) не превышает 5 % и может не окупать затрат, связанных с соответствующим усложнением процессора.

Существует оптимальное значение jg , при котором этот выигрыш максимален. Выигрыш менее чувствителен к значениям X и при достаточно больших 7 п близок к двукратному, что объясняется распараллеливанием операций. Отметим еще раз, что реальный выигрыш может оказаться значительно меньше оценок, приведенных в выражениях (1.9), (I.II). Это объясняется рядом причин, и в частности тем, что не все команды требуют выполнения адресной арифметики и выборки операндов. Кроме того, команды, нарушающие адресную последовательность, существенно снижают принципиально достижимую степень распараллеливания. Если обозначить через pt вероятность того, что при выполнении команды не требуется выборки операндов, а через С - вероятность нарушения адресной последовательности команд, то в первом приближении выигрыш в производительности процессора за счет введения буфера и четырехэтапного конвейера можно оценить с помощью следующих выражений

Значения выигрыша в производительности лщСжрі , не равных нулю, существенно ниже предельных и иллюстрируются для выражений (1,15) и (I.I6) рисунком I.I4. Полученные формулы не учитывают того, что времена выполнения отдельных этапов являются случайными величинами, поэтому они примерно справедливы при наличии достаточно большой буферной памяти на каждом из этапов. Для получения более точных оценок требуется разработка статистических моделей обработки команд.

Как уже отмечалось, максимальное значение выигрыша в производительности, получаемого за счет введения буфера команд, достигается при значениях 7= У. При заданной величине цикла оперативной памяти увеличение j связано с уменьшением времени, затрачиваемого на адресную арифметику и выполнение операции. Это может быть достигнуто за счет применения более быстродействующей, а следовательно и более дорогой, элементной базы, увеличения числа полей микрокоманды и плотности их использования, т.е. за счет усложнения оборудования процессора: увеличения количества клапанов,магистралей и т.п.Соответствующее увеличение затрат может оказаться выше,чем при переходе к более быстродействующей оперативной памяти или при введении КЭШ.В последнем случае требования к быстродействию собственно процессора снижаются, но уменьшается и эффективность буфера команд. Таким образом параметры буфера команд,оперативной памяти, КЭШ и процессора должны выбираться совместно с учетом их взаимного влияния на номинальную производительность процессора и экономических соображений.Проиллюстрируем такой комплексный подход на простом примере.

Значения коэффициентов в (I.I8) могут быть определены по методике /62/, основанной на минимизации частоты отказов иерархической памяти, при ограничениях, на эквивалентное время доступа. Соответствующая зависимость, взятая из работы /62/, приведена на рис. I.I5. Параметры, определяющие выражение (I.I7), можно определить изучив функциональную зависимость между количеством элементов процессора и средним количеством микрокоманд, требующихся для выполнения одной команды, а также зависимости между быстродействием элементов и их стоимостью.

Экспериментальное исследование потоков обращений к памяти за командами

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

Нарушения последовательного порядка выполнения команд ведут к снижению производительности процессора. Данные о характеристиках потока команд, связанных с нарушениями последовательного порядка их выполнения, необходимы для оценки влияния на производительность процессора тех или иных алгоритмов выборки и буферизации команд, способов обработки команд в буферах и выбора параметров как буферов команд, так ж в целом устройств, применяющихся для организации предварительной выборки. Важное значение имеет такого рода информация и для исследования способов конвейерной обработки команд. В табл. 2.10 приведены данные, дающие представление о доле команд перехода в динамических трассах программ и вероятностях нарушений последовательного порядка выполнения команд. Отметим высокую вероятность команд нарушающих адресную последовательность как командами первого, так и второго форматов. Исключение составляют трассы 6-П-той программ, соответствующих выполнению набора тестовых программ. При этом использовались оптимизирующий и отла - 87 дочный трансляторы. Отметим также высокий процент команд перехода, нарушающих адресную последовательность по отношению к общему их количеству.

Большой практический интерес представляет информация о потоке адресных ссылок к оперативной памяти. На ее основе, например, возможен наиболее обоснованный выбор объемов буферов команд, буферов циклов и т.п. На рис. 2.10-2.13 приведены функции распределений длин переходов в некоторых программах, определяемых абсолютной величиной разности адреса команды перехода, нарушающей последовательность, и адреса следующей выполняемой команды. Из рисунков видно, что около 50 % передач управления в трансляторах с языка ФОРТРАН (это является характерным и для других трансляторов) осуществляется на расстояние более 100 байт.

Одной из характеристик потока адресных ссылок является длина линейной цепочки команд, т.е. количество команд выполняемых между двумя соседними передачами управления. Ее среднее значение колеблется для различных программ и трансляторов в пределах от нескольких команд до нескольких десятков команд. На рис. 2.14 приведены гистограммы распределений длин линейных участков для трансляторов с языков ФОРТРАН, PL/I, КОБОЛ соответственно. Из рисунка видно, что в трансляторах более 90 % линейных цепочек не превышает 10-ти команд. Следует отметить, что оптимизирующие трансляторы создают коды программ с существенно меньшими средними длинами цепочек, чем неоптимизирующие. Эти данные позволяют сказать, что большая глубина последовательной выборки и буферизации команд без использования адресации внутри буфера нецелесообразна.

Исследование изменений частотного состава команд, нарушающих последовательный порядок их выполнения, показало, что исходные интервалы стационарности не всегда идентичны полученным в

После слияния по критерию эти интервалы становятся эквивалентными. Принадлежность какого- пибо из интервалов стационарности по pi определенному кластеру не предопределяет средних значений Cr . Это, вообще говоря, (при к =3) требует совместной кластеризации в пространстве трех или четырех параметров {[р,, р3,с] или [рп р3 , с,,, С2] ). В табл. 2,11 приведены данные кластерного анализа полученные в предположении, что число кластеров по-прежнему равно трем. Сопоставление таблиц 2.7 и 2.II свидетельствует о некотором смещении средних параметров центров кластеров.

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

Алгоритмы прогнозирования подразделяются на два класса /61/: алгоритмы с памятью и без памяти. В качестве простейшего примера последнего можно представить алгоритм последовательной предварительной выборки, который уже здесь упоминался. Прогноз в этом случае осуществляется в предположении, что каждая команда перехода не нарушит последовательного порядка выполнения команд.

Рассмотрим алгоритм с памятью, который осуществляет прогноз "по-прошлому". Согласно этому алгоритму после команды перехода выборка следующей команды из оперативной памяти осуществляется по тому адресу, по которому эта команда передавала управление в прошлый раз. В табл. 2.12 приведены данные, характеризующие максимально возможный эффект, который дает описанный алгоритм про - 95 гнозирования. Из таблицы видно, что вероятности нарушения порядка поступления команд на обработку из буфера команд уменьшаются в 3,5-46 раз. Соответственно увеличивается и средняя длина линейной цепочки команд.

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

Оценка алгоритмов выборки команд из оперативной памяти

Разработанные модели можно использовать для оценки разнообразных алгоритмов выборки команд из оперативной памяти. В этом параграфе на основе модели независимого потока форматов сопоставляются 3 алгоритма: обращения к памяти за каадой командой, использования полезного остатка команд, занесенных в регистр команд, частичного совмещения процессов выборки и выполнения команд. Отметим, что алгоритм использования полезного остатка команд применяется, например, в EC-I022, а частичного совмещения процессов выборки и выполнения команд - в EC-I035 и E0-I036. Алгоритм выборки каждой команды используется для оценки выигрыша в производительности, получаемого за счет использования более сложных алгоритмов. Сопоставление алгоритмов проведем путем сравнения затрат времени й Zk на подготовку команд и производительностей соответствующих процессоров. В первом случае размер регистра команд возьмем равным 8-ми байтам (4-м полусловам).

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

При использовании алгоритма полезного остатка (алгоритм 2), обращения к оперативной памяти производятся лишь после выполнения команд содержащихся в регистре команд, а также при необходимости дальнейшей выборки. Поэтому команды при нарушении п -ной командой последовательности выполнения команд, & тгг - затраты на подготовку следушей команда при последовательном порядке выполнения команд. Эти составлявдие соответственно равны В последнем выражении учтено, что для каждого l = consi в одном из 4-х состояний следующей команды не окажется в буфере, в 3-х состояниях она имеется в буфере и с вероятностью

При оценке затрат времени на выборку команды с использованием алгоритма предварительной выборки (алгоритма 3)

Рассчитанные по формулам (3.37) для различного частотного состава команд и вероятностей нарушения последовательного порядка их выполнения. Из рисунка видно, что эффективность алгоритма использования полезного остатка существенно зависит от процентного состава команд первого формата и вероятностей CL . Алгоритм позволяет получить существенный выигрыш во времени выборки команды, если Т Дд. достаточно мало.

Сопоставления второго и третьего алгоритмов даны на рис. 3.4 и 3.5. Рис. 3.4 иллюстрирует зависимость ДТ3/дТг от / для различных значений bZnp/zSH. Наибольший выигрыш алгоритм предварительной выборки команд дает в том случае, когда ДТпр о , т.е.

В предположении (3.12) модель легко обобщается на произвольную ширину выборки команд из оперативной памяти и с помощью выражений (3,14) и (3.15) можно оценить влияние описанных алгоритмов на производительность процессора. На рис. 3.6 приведены кривые

Относительный выигрыш в производительности процессора в зависимости от ширины выборки: выигрышей в производительности /?=/7,//7 , и 7 =П,/П , , где П0 -производительность процессора с первым алгоритмом выборки команд, П, - со вторым и Пг - с третьим.

В заключение приведем расчетные формулы для получения значений ([,/ ,/(), необходимые для оценки установившихся значений вероятностей состояний (3,25) процесоа выборки команд из оперативной памяти при произвольном размере регистра команд и использовании алгоритма предварительной выборки. Значения

Первое слагаемое в правой части выражения (3.44) учитывает время выполнения команд второго формата, не полностью поместившихся в регистр команд и нарушавдих последовательный порядок их выполнения. Так как переходы в любое из состояний вследствие нарушения последовательного порядка равновероятны, то это время распределяется равномерно по всем состояниям. На рис. 3.7 приведены зависимости производительности процессора П„ао от ширины выборки (3.29) для алгоритма использования полезного остатка (при этом предполагалось, что Т=топ ),

С помощью описанной модели можно оценить и максимально возможный эффект от введения предварительной выборки команд. В этом случае Ion при j+k n, cxon при j+k=ny о при j+k n. На рис. 3.8 приведена зависимость отношения производитель-ностей процессоров с предварительной выборкой fl„g и без таковой Пип о от ширины выборки команд и значений Т0

Экспоненциальная модель трехэталной конвейерной обработки команд

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

Предположим, что длительности всех этапов распределены экспоненциально и характеризуются интенсивностями /и, , М2,/и3. Остальные предположения соответствуют сделанным в параграфе 4.1. Так как в экспоненциальной модели необходимо соблюдать принцип ординарности, то пространство состояний расширяется. Матрица переходных интенсивностеи изображена на рис. 4.5. Уравнения, связывающие между собой вероятности состояний модели для установившегося режима имеют вид На рис. 4.8 приведены кривые, иллюстрирующие зависимость п" от соотношений между м1 , мг и /И3, для различных значений С и pt. Величина мъ принималась равной I. Из рисунка видно, что чувствительность выигрыша в производительности к изменениям /ис в районе экстремума, соответствующего -/ 2=/ з= » относительно невелика и зависит от того, какая из интенсивностей изменяется. Так например, при увеличении /иу в 4 раза значение h" изменится на 0,1 (с =0,25, р1 =0). Если же изменить в 4 раза значение/ , тол уменьшится лишь на 0,05. Ассимметрия приращений объясняется раз ными значениями коэффициентов использования устройств конвейера. Кривые, изображенные на рис. 4.8, соответствуют нижней границе выигрыша в производительности. Верхнюю границу можно приближенно

T L - среднее время выполнения і -го этапа. Построение экспоненциальных моделей конвейерной обработки команд при количестве этапов больше трех не представляет принципиальных трудностей, но приводит к существенному расширению пространства состояния. Так например, при конвейере из 4-х этапов модель имеет 21 состояние.

Пример оценки эффективности конвейерной обработки команд.

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

Для проверки модели использовался более точный метод моделирования, разработанный Е.Ф.Вензелем - метод последовательных вариаций функций распределения /6/. Данные экспоненциальной модели трехэтапного конвейера последовательно уточнялись с помощью гистограмм распределений длительностей этапов. Гистограммы распределений длительностей этапов адресной арифметики, выборки операндов и выполнения операций были получены путем анализа алгоритмов команд входящих в реализацию наборов алгоритмических действий /8,22/. Соответствующие гистограммы приведены в таблицах 4.1, 4.2, 4.3, 4.4. Гистограммы распределений времен выборки команд при отсутствии и наличии КЭШ изображены на рис. 4.9. В табл. 4.5 приведены полученные с помощью гистограмм средние длительности этапов и их коэффициенты вариации. Относительное увеличение произво Таблица 4.1 Гистограмма распределения времени выборки команд длительности процессора за счет трехэтапной конвейерной обработки команд иллюстрируется табл. . В предпоследнем столбце таблицы приведены значения оценок полученные Е.Ф.Вензелем с помощью метода последовательных вариаций функций распределения, а в последнем столбце - абсолютные погрешности этих оценок. Из таблицы видно, что рассчитанные с помощью гистограмм значения находятся внутри оценок диапазона возможного выигрыша в производительности процессора. Следует отметить, что гистограммы отражают лишь весьма специфический режим работы процессора. Поэтому оценку эффективности целесообразно производить по диапазону возможных значений п . Из данных, приведенных в таблице, следует, что введение конвейерной обработки позволяет получить выигрыш не менее 35-40$. Применение акселератора операций с плавающей запятой позволяет повысить эффективность на 6-Ю %. Принятие решения о целесообразности введения конвейерной обработки должно базироваться не только на полученных оценках, но и на уровне аппаратных затрат на ее реализацию.

Похожие диссертации на Разработка методов определения параметров устройств предварительной выборки команд в ЭВМ общего назначения