Д А Недзельский - Исследование эффективности одноядерных суперскалярных вычислительных систем - страница 1

Страницы:
1  2 

УДК 681.3.07

Недзельский  Д.А.

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ОДНОЯДЕРНЫХ СУПЕРСКАЛЯРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

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

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

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

Настоящая статья посвящена исследованию эффективности структуры одноядерных суперскалярных вычислительных систем с использованием аналитических методов.

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

Современные ядра процессоров имеют следующие особенности: глубокий конвейер (количество стадий не менее 10); суперскалярность (за один такт могут выполнять до четырех команд); внеочередное выполнение команд; предсказание переходов; переименование регистров; три уровня кэш-памяти;

первый уровень кэш памяти разделен на кэш-команд и кэш-данных; кэш-память третьего уровня является общей для всех ядер;

встроенный в процессор контроллер двух- и трехканальной оперативной памяти и ряд

других.

Методы исследования эффективности

Исследование эффективности проводилось с использованием аналитических методов. Точность полученных аналитических результатов проверялась с помощью имитационного моделирования.

Модель конвейерного суперскалярного процессора

Модель ядра суперскалярного конвейерного процессора состоит из 2-х ступеней, первая ступень (устройство управления - УУ) генерирует заявки, а вторая ступень (подсистема обработки, состоящая из n специализированных функциональных устройств (ФУ) с индивидуальными буферами заявок) их выполняет. Под заявкой понимается ассемблерная команда.

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

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

команд в программе - равномерный с вероятностью Wi, а '^wi = \.

i= 1

УУ читает очередную порцию команд из подсистемы памяти. После чтения очередной

команды УУ дешифрирует ее. Если команда относится к группе команд   r. *r rk (оба операнда

и результат операции находятся в регистрах процессора), то команда передается на выполнение в соответствующее ФУ, (с вероятностью w1 - если команда первого типа и с вероятностью w2 - если

заявка второго типа и так далее). Если же команда относится к группе R. *оп -— rk (один из

операндов находится в памяти), то формируется адрес операнда в соответствии с способом адресации и выдается запрос к подсистеме памяти.

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

Известно, что, если случайный процесс это сумма n случайных процессов без явного преобладания одного из них, то он является простейшим с показательным законом распределения промежутков времени между очередными событиями уже при n = 4 — 5 . Поэтому, будем считать, что процесс генерации команд УУ является простейшим с показательным законом распределения времени между сгенерированними командами. Интенсивность генерации команд

к.

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

«Помехи» работе конвейера в устройстве управления отсутствуют.

Каждое функциональное устройство подсистемы обработки имеет буфер на n заявок.

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

Если ФУІ занято выполнением заявки, то новая заявка помещается в буфер этого

устройства.

Если ФУІ свободно и в буфере нет заявок, то очередная заявка сразу поступает на выполнение в ФУІ.

Если ФУІ закончило выполнение очередной заявки и в буфере нет заявок, то ФУІ простаивает.

Если УУ сгенерировало очередную заявку, которая должна выполняться в ФУІ, а этом устройстве буфер заполнен, то УУ прекращает генерацию (блокируется) до появления свободного места в буфере заявок ФУІ (т.е. до завершения выполнения очередной команды

ФУг ).

ФУІ   выполняет обработку операндов в соответствии с кодом операции команды.

Время выполнения очередной команды в ФУІ  может быть как детерминированным, так и

случайным - в зависимости от типа устройства.

Если время выполнения заявки в ФУ это случайная величина, то принимаем, что она

распределена по показательному закону, а поток выполненных в ФУІ   операций простейший.

Команды из буфера команд извлекаются на выполнение в ФУІ    согласно дисциплине

FIFO.

Модель двухступенчатого суперскалярного ядра процессора с 8-ю функциональными устройствами приведена на рисунке 1.

n

 

N

 

БФ1

 

ФУ1

 

)

 

УУ

 

/8

\

 

БФ8

 

ФУ8

 

)

 

Рис. 1 - Модель двухступенчатого суперскалярного процессора, где: Xi - интенсивность генерации команд i-го типа; /Лі интенсивность выполнения команд i-го типа; п - размер буфера.

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

Исследуем  функционирование более простой     модели,  состоящей  из устройства

управления, генерирующего команды только одного типа с интенсивностью x. = X*Wi, буфера на

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

Состояния, в которых может находиться исследуемая система следующие:

- a0 - УУ генерирует очередную заявку, буфер - пуст, ФУ простаивает;

- ai (1 < і < n) - УУ генерирует очередную заявку, буфер содержит i-1 заявку, ФУ обрабатывает одну заявку.

- an+l  - УУ блокировано, буфер содержит n обрабатывает одну заявку.

График состояния модели представлен на рисунке 2.

заявок (полностью заполнен), ФУ

Рис. 2 - Граф состояний системы.

В качестве оценок   эффективности функционирования   системы будем использовать следующие показатели:

коэффициент использования УУ; коэффициент использования ФУ; Параметрами являются: интенсивность генерации команд X; интенсивность выполнения команд размер буфера n.

По графу составляется система уравнений для установившегося режима. В результате решения системы уравнений    получены следующие выражения для показателей эффективности исследуемой системы: Коэффициент загрузки ФУ

E р *(1 П+1)

1

п+2

для р ф 1; E n +1 n + 2 для р = 1

(1)

Коэффициент загрузки УУ

„ — P тт       П +1

H =-— - для р Ф 1 ; H =--для р = 1

1 — рП+2 n + 2

Предельные значения коэффициентов использования равны: Е = Н = 1 - для сбалансированной системы (р = 1);

E = р, H = 1 - для несбалансированной системы (р< 1);

E = 1, H = 1/ р - для несбалансированной системы (р >1).

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

Исследование модели системы с П функциональными устройствами

Если модель с n функциональными устройствами разбить на отдельные (частные) n моделей и определить коэффициенты использования функциональных устройств для каждой из них, то оказывается, что:

в сбалансированных режимах (р < 1) коэффициенты использования функциональных

устройств ведут себя также, как и в случае модели с одним функциональным устройством (значения, близкие к предельным достигаются при размере буферов n=32). Погрешности по сравнению с более точной имитационной моделью не превышают нескольких процентов;

в несбалансированных режимах (отдельные модели могут иметь р >-1) использование

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

В исходной модели с n функциональными устройствами блокировка устройства управления происходит при заполнении любого из буферов (как правило, быстрее всего заполняется буфер наименее производительного функционального устройства - устройства с максимальным р] > 1). Вследствие этого простои устройства управления увеличиваются.

ФУj   с максимальным р] > 1 среди всех функциональных устройств будет иметь и

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

Коэффициенты использования функциональных устройств Ei   с і = 1,2.....m,і Ф j ( р < рі)

будут меньше чем Ej, определяемый в соответствии с   (1) , так как они часть времени по

сравнению с ФУ j будут простаивать.

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

Е. = * Е

г

і = 1,2.....m,i Ф j

(2)

В таблицах 1 и 2 приведены коэффициенты использования устройства управления и функциональных устройств системы с 8 ФУ, полученные при использовании частных моделей, имитационного моделирования и с использованием методики корректировки коэффициентов по формуле (2).

Т а б л и ц а 1.

 

Коэф

буфер=16

буфер=32

р

 

Частная

Имит.

С учетом

Частная

Имит.

С учетом

Уі

исп.

модель

мод-е

(2)

модель

мод-е

(2)

 

H

 

0,954

0,980

 

0,979

Страницы:
1  2 


Похожие статьи

Д А Недзельский - Исследование эффективности многоядерных вычислительных систем

Д А Недзельский - Исследование эффективности одноядерных суперскалярных вычислительных систем

Д А Недзельский - Эффективность мвс с процесорами со структурой core 2