
Книги / Книга Проектирование ВПОВС (часть 2)
.pdf
5. РАЗРАБОТКА И ИССЛЕДОВАНИЕ АРХИТЕКТУР
ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ПРОБЛЕМНО-ОРИЕНТИРОВАННЫХ
ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Разработанные в предыдущем разделе методы выполнения операций по реализации функциональных зависимостей и выполнения операций суммирования и умножения для операндов стандартных форматов и операндов с неограниченной разрядностью (полями). Однако данный набор операций хотя и является полным, но при реализации сложных операций не обеспечивает требуемую скорость обработки данных. К таким операциям относятся операции интегрирования и дифференцирования одной переменной, обобщенного интегрирования, раздельного дифференцирования производных высокого порядка, реализация сеточных алгоритмов и других, которые собственно и составляют теоретическую основу построения цифровых высокопроизводи-
тельных систем, отличающихся высоким уровнем распараллеливания вычислительного процесса. Однако полнота использования всех возможностей,
представляемых разработанной алгоритмической базой, во многом зависит от того, насколько сама структура системы приспособлена к параллельным вычислениям и, кроме того, насколько данная система допускает работу с переменными произвольной разрядности.
В связи с чем в настоящем разделе рассматриваются вопросы проектирования как нижних, так и верхних уровней системы, позволяющие реализовать перечисленные выше операции. При этом основное внимание уделено возможности высокопроизводительных ПОВС воспроизводить параллельные вычисления при тех или иных конструктивных ограничениях,
возможность совмещения выполнения операций, возможность работы с переменной разрядностью, а также формированию основных архитектурных признаков системы.
282




большое число различных операций.
Задание всех операторов позволяет реализовать обобщенную операцию
интегрирования в целом. Задавая то или иное значение |
|
p |
или |
|
q , можно |
|
|
реализовать одну из разновидностей операции обобщенного интегрирования или
других операций. Например, положив |
|
p |
1 |
, |
|
q |
0 |
получим |
возможность |
|||||
|
|
|
|
|||||||||||
выполнить операцию деления. Если же положить оба оператора |
|
p |
|
q |
1 |
, то |
||||||||
|
|
|
реализуется операция интегрирования по Стилтьесу. В то же время, если А = С
= 1 и |
|
q |
1 |
, то реализуется операция дифференцирования. Перечисленные |
|
|
выше операции относятся к дифференциальным. Однако на предложенном ПЭ можно выполнять и арифметические операции над числами. Для этого достаточно сопоставить каждому оператору число и задать необходимую структуру. Действительно, если же положить B = D = 1, а операндам А и С
поставить в соответствие некоторые числа, то будет выполняться операция деления двух чисел. При C = D = 1, A, B – числа, выполняется операция умножения. Если положить В = C = В = 1, то реализуется операция сум-
мирование с одновременным умножением на коэффициенты и т.д.
Наряду с алгоритмом (5.4) для повышения точности следует использовать алгоритм, оперирующий с приращениями. Как нетрудно увидеть
это позволяет существенно снизить погрешность квантования:
t Z t A : C t B : D OZi |
|
|
|||||
|
|
|
|
|
|
|
|
t A AKS t y(i K 1)( j S 1) , t B BKS y(i K 1)( j S 1) , |
|||||||
|
|
K ,S 0 |
|
|
|
K ,S 0 |
. |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
t Z |
Q t Z , |
|
|
||||
O |
|
q |
Z , |
|
|
|
|
|
|
|
|
||||
Z (i 1) |
|
t |
|
|
|
|
|
Q 111...1 |
000...0, |
q 000...0, |
111...1, n m1 m2 |
|
|||
|
|
m1 |
|
m2 |
m1 |
m2 |
|
Как видим, алгоритмы (5.4) и (5.6) по форме практически одинаковы и отличаются лишь наличием операции квантования и накопления остатка. Оба
286
алгоритма требуют в максимальном случае выполнения двух операций деления,
операции умножения, а также операций по формированию операндов А и В. При этом каждая операция может выполнять но микропрограмме на одном или нескольких микропроцессорах: (МП), аппаратно или аппаратномикропрограмно,
когда часть операций выполняется по микропрограмме, а часть – аппаратно.
В результате можно выделить следующие направления в построении процессорных элементов ориентированных на выполнение крупных операций:
-микропрограммный на одном МП – СМПЭ (сосредоточенным микро-
программный процессорный элемент;
-то же, но на нескольких МП – РМПЭ (распределённый микропрограммный процессорный элемент);
-процессорный элемент с аппаратным выполнением операций (АПЭ);
-процессорный элемент с аппаратно-микропрограммым выполнением
оперший (АМПЭ).
Для обоснования выбора типа ПЭ необходимо произвести сравнение их по основным структурным и функциональным признакам. Для сравнения различных устройств вычислительной техники принято использовать такие качественные параметры, как производительность, точность вычислений,
аппаратурная сложность, стоимость, потребляемая мощность, надежность и т.д.
Интегральная оценка по всем параметрам является сложной задачей, требующей детальной проработки как систем в целом, так и отдельных её узлов. Поэтому для облегчения синтеза его проводят в несколько итерационных этапов. На первом этапе число параметров ограничивают только такими, которые оказывают определяющее влияние на основные характеристики. На втором этапе изучается влияние принятых решений на значение интегральных параметров. Если при этом интегральные параметры не удовлетворят принятым ограничениям, то осуществляется возврат на первый этап и уточнение тех или иных технических решений.
Как правило, в случае проектирования мобильных систем моделирования
287

всегда, основными показателями являются производительность, аппаратурная сложность, надежность и потребляемая мощность. С наибольшей достоверностью на первом этапе можно оценить первые два параметра, которые и участвуют в оценке эффективности того или иного процессорного элемента.
Структура ПЭ с микропрограммным управлением приведена на рис. 5.1. Здесь введены следующие обозначения:
1.БОД – блок обработки данных.
2.БУП – блок управления программой.
3.ПК – память команд, ПД - память данных.
4.ПМК – память микрокоманд.
5.БМУ – блок микропрограммного управления.
6.ДШКОП – дешифратор кода операции.
7.Рг МК, Рг К, Рг АК, Рг Д, Рг АД – регистры микрокоманд, команд,
адреса команды, данных, адреса данных. |
|
|
|
|
|
|||||||
|
|
|
|
|
Шина команд ШК [31:0] |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
Pr K1 |
|
|
|
Pr K1 |
|
|
|
|||
КОП |
N1 |
N2 |
|
N3 |
N4 |
N5 |
N6 |
N7 |
||||
ДШ КОП |
|
|
|
|
|
|
|
|
|
|
ПК |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
D |
|
|
|
|
|||
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
БУП |
|
|
|
Рг АК |
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||
D |
|
|
|
|
B |
С |
Y |
|
|
|
|
|
БМУ |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
ПМК |
|
|
|
|
СТ БОД |
Y |
|
Рг D1 ПД Рг D2 |
||||
|
|
|
|
|
|
|
|
|
||||
Рг МК |
|
|
|
|
B ДА |
ДB |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рг АД |
|||
|
|
|
|
|
|
|
|
|
|
Шина данных ШД [15:0]
Упр. сигналы на все узловые пр-ры
Рис. 5.1
288
Структурная схема ПЭ с последовательно-микропрограммным выполнением макроопераций.
Основу его составляет блок обработки данных, где выполняются все основные операции ПЭ. Перечень операций, выполняемых при выполнении того или иного алгоритма интегро-дифференцирования, приведены в табл. 5.1.
Каждый из этих алгоритмов преобразуется либо в микропрограммы, которые заносятся в память микрокоманд и вызываются затем по коду операции, либо реализуются аппаратно. Сложность и объем микропрограммы для одного и того же алгоритма зависят от количества и типа микрокоманд, выполняемых в центральном микропроцессоре (ЦМП). Построение микропрограммы по известному алгоритму не является технически сложной задачей, поэтому она здесь не приводится.
Для уменьшения времени выполнения микропрограммы она может быть распределена на несколько МП. Распределенный процессорный элемент с параллельно-микропрограммным выполнением операций отличается от последовательного только наличием дополнительного блока обработки данных.
Алгоритм обобщенного интегрирования может быть реализован структурно, на основе аппаратного выполнения макроопераций. Схема такого ПЭ приведена на рис 5.2. Она реализует алгоритм наиболее сложной формулы обобщенного интегрирования. Переход с операции на операцию здесь осуществляется за счет изменения набора коэффициентов, записанных в постоянное запоминающее устройство (ПЗУ) коэффициентов. Код операции,
поступающий на ПЗУ коэффициентов, является адресом ячеек, где хранятся соответствующие данной операции коэффициенты. Нетрудно увидеть, что независимо от типа операции время выполнения каждой из них остается неизменным. Это обстоятельство является решающим при выборе элемента для построения систем с синхронным управлением.
289
