Архитектура векторного процессора Cyber 205
Особенностью векторного блока является реализация механизма зацепления команд используется в том случае, если вновь вычисленный операнд (результат предыдущей операции) является аргументом для операции следующей:A=B+C; D=A+E
В общем случае мы получаем, что полученные данные прогоняются через буферную память, затем по соответствующим каналам записываются в память. Затем через несколько тактов эти же данные читаем из памяти, прогоняем по всем каналам в векторный блок и предоставляем в качестве операнда. На этих пересылках теряется очень много времени. Для того, чтобы этого избежать, созданы аппаратно-программные средства, обобщённо называемые "механизмом зацепления команд".
Каждый из 4-х процессоров представляет собой коммутатор ("обменник") и 5 исполнительный конвейеров.
Этот блок работает следующим образом: результаты выполнения команды из конвейеров попадают опять в коммутатор. Таким образом, есть возможность подачи результатов на другой конвейер - минуя процедуру записи в оперативную память. Более того - при необходимости можно задержать данные на несколько тактов с помощью устройства задержки. Для реализации этого механизма (на уровне векторных команд), в Cyber-205 было создано:
1. На уровне архитектуры:
1.1. На уровне общей архитектуры. Реализация обмена входными и выходными данными конвейеров через единый коммутатор. Возможность задержки данных на несколько тактов с помощью устройства задержки.
1.2. На уровне исполнительных конвейеров.(см.рис) Прежде всего, конвейеры сложения и умножения. Особенность: введены 2 типа обратных связей.
1.2.1. Накопление операций суммирования (для сложения в каждом такте).
1.2.2. Общая обратная связь. Когда результат операции (например, операции сложения) через определённую задержку (которой мы можем управлять программно) подаём результат на вход вместо одного из операндов.
2. Поддержка на уровне программных решений.
Для векторных процессоров механизм зацепления команд актуален, т.к. потери на пересылку больших массивов данных велики.
Архитектура Cyber 205:
Особенность реализации исполнительных конвейеров (на примере конвейера сложения):
Конвейер сложения векторного блока Cyber 205:
- Определение конвейера. Таблица занятости. Классификация конвейеров. Временная организация и производительность конвейерных систем. Понятие “латентности”.
Конвейер - это цепочка исполнительных устройств. Команда, попав на вход конвейера, проходит все эти устройства. В общем случае, на одной ступени может выполняться только одно действие. То есть невозможно на одном АЛУ одновременно выполнять два суммирования, но зато можно в этот момент считать следующую инструкцию.
Идеальный конвейер (одновременно):
• каждое вычисление базовой функции независимо от предыдущего;
• вычисление каждой функции требует одной и той же цепочки подфункций;
• подфункции тесно связаны между собой (вход одной является выходом предыдущей);
• времена вычислений различных подфункций приблизительно равны.