Труды БГТУ, 2017, серия 3, № 2, с. 129-132
129
УДК 004.031.43-044.962
А. С. Кобайло
Белорусский государственный технологический университет
ОСОБЕННОСТИ АРХИТЕКТУРНОЙ ОРГАНИЗАЦИИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ. ИНТЕГРИРОВАННЫЕ КОНВЕЙЕРНЫЕ ВЫЧИСЛИТЕЛИ
Построение вычислительных систем реального времени в большинстве случаев связано с решением задачи обеспечения высокой производительности. Попытка решить проблему повышением быстродействия элементной базы приводит к пределу, обусловленному конечным значением скорости света. В данной связи наиболее перспективным направлением поиска приемлемых решений указанной задачи является поиск нетрадиционных архитектурных решений. Одним из таких решений, предложенных автором настоящей статьи, является подход, основанный на модернизации известного принципа организации вычислительного процесса - конвейеризации. Конвейеризация позволяет получить значительный выигрыш в производительности по сравнению с последовательной системой при наличии возможности выделения в решаемой задаче множества подфункций приблизительно с одинаковыми временами их выполнения. В противном случае существенных преимуществ конвейеризация не дает. Предложенный метод основан на нетрадиционной конвейерной организации вычислительного процесса - реализации некоторой последовательности подфункций одной ступенью в случае существенного различия временных показателей выполнения операций и реализуется на так называемом интегрируемо конвейерном вычислителе. В статье также приводятся расчетные соотношения для определения эффективности вычислительных систем, организованных на основе предложенных методов.
Применение интегрированных конвейерных вычислителей окажется целесообразным при построении вычислительных систем в условиях отсутствия в распоряжении проектировщика функциональных устройств с временем выполнения операций алгоритма, не превышающим длительности цикла обработки данных, требуемой в соответствии с заданными условиями реального времени.
Ключевые слова: производительность, вычислительная система, параллелизм, конвейеризация, реальное время, цикл конвейера.
A. S. Kobaylo
Belarusian State Technological University
THE PECULIARITIES OF ARCHITECTURAL ORGANIZATION OF COMPUTER SYSTEMS OF REAL TIME. INTEGRATED CONVEYOR CALCULATORS
The construction of real-time computing systems in most cases is connected with the solution of the problem of ensuring high performance. An attempt to solve the problem by increasing the speed of the element base leads to a limit due to a finite value of the speed of light. In this regard, the most promising direction of finding acceptable solutions to this problem is the search for non-traditional architectural solutions. One of these solutions, proposed by the author of this article, is the approach based on the modernization of the well-known principle of organization of the computational process - pipelining. Pipelining allows you to get a significant performance gain over a serial system if you have the ability to allocate multiple subfunctions in the problem to be solved with approximately the same execution times. Otherwise, there is no significant advantage in terms of conveyerization. The proposed method is based on the unconventional pipeline organization of the computational process - the realization of a certain sequence of subfunctions with one step in the case of a significant difference in the timing of the execution of operations and is realized on a so-called integrable pipeline calculator.
The use of integrated pipeline calculators will prove to be useful in the construction of computing systems in the absence of functional devices at the disposal of the designer with an algorithm execution time that does not exceed the processing cycle time required in accordance with the specified real-time conditions.
Key words: performance, computational system, parallelism, pipelining, real time, conveyor cycle.
действия (производительности). Для последовательного выполнения алгоритма из I операции необходим ресурс времени, который определяется
Введение. Одной из основных проблем, возникающих при проектировании вычислительных систем реального времени (ВСРВ), является достижимость требуемого быстро-
Г = Е V
1=1
где Т 7 - код продолжительности выполнения 7-й операции, тс - такт или время цикла, которому пропорциональны моменты начала или завершения любых действий в системе. Повышение быстродействия элементной базы или, что то же самое, уменьшение значения тс имеет свой предел, ограниченный скоростью света. Поэтому для решения названной проблемы более перспективными являются пути поиска архитектурной организации ВС, связанные, в первую очередь, с совмещением операций. Два основных подхода в этом направлении - конвейеризация и параллелизм.
Основная часть. Остановимся на первом из названных подходов повышения производительности ВС. Применение конвейерной организации вычислительного процесса теоретически позволяет увеличить скорость обработки данных в р раз, где р - количество ступеней (глубина) конвейера [1]. Реально такое ускорение вычислительной системы достигнуто быть не может по ряду причин, основной из которых
является невозможность выделения в цепочке вычислений операций (подфункций конвейеризируемой функции) с примерно равными длительностями их выполнения.
Можно выделить два уровня конвейеризации - на базе конвейерных функциональных устройств (ФУ) и на основе конвейерных вычислителей (КВ).
Первый из выделенных уровней предусматривает выполнение некоторой функции как последовательности подфункций и ориентирован на возможность реализации этой функции одним ФУ, организованным по конвейерному принципу. Примеры конвейеризации на первом уровне приведены в [1].
Второй уровень конвейеризации является более общим и ориентирован на конвейеризацию последовательности операций, которые могут быть самыми разными как по своей сущности, так и по времени реализации, причем каждая из операций может выполняться собственным ФУ. Такой подход к конвейеризации вычислительного процесса был предложен автором данного исследования и наиболее подробно рассмотрен в [2].
{*и}
{^к1+1}
{^к1 + 2}
{^к1 + к2}
„ к1+2 к1+ к2
* * * 11
{^7р + кр}
Рис. 1. Конвейеризация на основе КВ
с
1
2
А. С. Кобайло
131
Основные особенности этого подхода заключаются в следующем:
- для уменьшения разницы во времени выполнения операций разными ступенями на реализацию одной ступенью ориентируется последовательность операций (а не одна подфункция), т. е. каждый из уровней конвейера интегрирует ряд последовательно выполняемых операций алгоритма;
- каждая из ступеней конвейера строится как последовательное соединение ФУ различного назначения;
- входные данные ступени конвейера можно получать как от предыдущей ступени, так и от других технических средств системы, в том числе и от других конвейеров.
Назовем конвейер, реализующий данные принципы, в отличие от традиционного конвейерного вычислителя (КВ) [3], интегрированным конвейерным вычислителем (ИКВ).
Сущность принципа проиллюстрирована на рис. 1, соответствующая временная диаграмма приводится на рис. 2. На этих рисунках:
{// = ,, г +1,, +2, ...; ц = 1,2,..., р: к = 1,2, ..., К,-
входные сигналы д-й ступени на /-м цикле. Здесь К,, - общее количество операций ц-й ступени, обозначения вершин - последовательные номера вершин конвейеризируемого пути. Методика расчета Кц на основе условия реализуемости пути алгоритма в реальном масштабе времени приведена в [2].
-*г
-+Т
{у}
к
.г+р-1}
,к1
{^2.к 2 }
{гр .кр }
{х1 +зр-1}'
{4+Г2} !
Ц.з> |
-► {Ш -► {^2+2р-2} -► {^р .2 } {у,
К+Г1} {4+Г2} {<1>
-р+2 }
г г+11 I {х1.2 }
{х1.к1}
Кз} '
К.2}
т1.к1
4.2
4.1
{4.2} '
{4.1}
.-21 }
К1
к=1
к {£}'
{4.2}
{4л1}
т2.к 2
2.2
2.1
К 2
Е Т2..
к=1
{<г2}
{<г2}
{С1}
(У-р+1}
2к {^р-зр+1}
К-П
КП
Тр.кр
Тр2
тр.1
I Кр
ХТр.к
к=1
Рис. 2. Диаграмма загрузки КБ
т
Конвейеризация второго уровня представляет собой гибкий инструмент при выполнении сложных алгоритмов и построении соответствующих вычислительных структур, является одним из эффективных путей выполнения требований реального времени. При этом существенно повышается выигрыш в производительности по сравнению с традиционным КВ (ускорение) за счет повышения загруженности ступеней конвейера.
Отметим, что любой из рассмотренных уровней конвейеризации позволяет получить скорость обработки потока данных, определяемую циклом конвейера
мается равным шагу дискретизации для вершин конвейеризируемого пути [2], т. е.
тц =Мг.
Ускорение R ИКВ по сравнению с последовательной системой определяется следующим соотношением :
r = (X *, )/](Е *, / )[/ ,
i=1 i=1
где ]■[ - ближайшее целое, не превышающее (■),
I
. Tj / тц)[= р - глубина конвейера, и по
i=1
сравнению с классическим КВ - выражением R = I / р.
Другие нетрадиционные архитектурные подходы к решению задачи повышения производительности ВС будут рассмотрены в последующих статьях автора настоящей работы.
Заключение. Предложенный принцип реализации конвейера на интегрированном конвейерном вычислителе основан на возможности объединения на одном уровне ряда последовательно выполняемых подфункций с учетом их реализации в реальном времени, что позволяет максимально загрузить ступени конвейера и приблизить реальное повышение производительности конвейера по отношению к последовательной вычислительной системе к теоретической, равной глубине конвейера.
Литература
1. Коуги П. Архитектура конвейерных ЭВМ. М.: Радио и связь, 1985. 567 с.
2. Кобайло А. С. Основы теории синтеза вычислительных структур реального времени. Минск: БГУИР, 2001. 202 с.
3. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 609 с.
References
1. Kougi P. Arkhitektura konveyernykh EWM [The architecture of conveyor computers]. Moscow, Radio i svyaz Publ., 1985. 567 p.
2. Kobaylo A. S. Osnovy teorii sinteza vychislitel'nykh struktur real'nogo vremeni [Fundamentals of the theory of synthesis of computational structures of real time]. Minsk, BGUIR Publ., 2001. 202 p.
3. Voevodin V. V., Voevodin Vl. V. Parallel'nye vychisleniya [Parallel computing]. St. Petersburg, BXW-Peterburg Publ., 2002. 609 p.
Информация об авторе
Кобайло Александр Серафимович - кандидат технических наук, доцент, доцент кафедры информационных систем и технологий. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: [email protected]
Information about the author
Kobaylo Aleksandr Serafimovich - PhD (Engineering), Associate Professor, Assistant Professor, the Department of Information Systems and Technologies. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]
Поступила 28.05.2017
Тц = Тк • Tc ,
х = 1 / тк,
где X - количество машинных слов на выходе конвейера в единицу времени, тк - код цикла конвейера. Этот показатель ограничен длительностью самой длинной из операций, выполняемых конвейером:
т„ > max т., ц 1<1</
где T - время выполнения i-й операции из конвейеризируемой последовательности.
При задании требований реализации вычислительного процесса в реальном времени шагами дискретизации Atj цикл конвейера прини-