Векторно-конвейерная ЭВМ
При работе на векторно-конвейерной ЭВМ, создаваемой на основе высокочастотной элементной базы и имеющей сбалансированную по времени, синхронную организацию, главный вклад в достижение высокой производительности ожидается от использования режима векторной обработки. Кроме того, наличие большого числа специализированных функциональных устройств, поддерживаемых соответствующими блоками регистровой памяти, открывает широкие возможности для распараллеливания вычислений при выполнении программ. Проблема состоит в том, чтобы обеспечить эффективные способы и средства реализации указанных возможностей.
Основная тяжесть в решении этой проблемы возлагается на компиляторы, призванные в процессе преобразования программ на исходном языке высокого уровня в объектный код осуществлять векторизацию и оптимизацию. Векторизация программы, как известно, заключается в обнаружении компилятором циклов DO и попытке выразить их в виде векторных команд. Очевидно, что сложные циклические конструкции, имеющие большую глубину вложенности, содержащие условные выражения или выражения с неочевидными индексными зависимостями, делают эту задачу достаточно трудной, и вряд ли стоит рассчитывать на появление мощных средств векторизации в начальных версиях компиляторов. Не менее проблематичны для этих версий и достижения в решении задач оптимизации (плотная загрузка функциональных устройств, распределение регистров), поскольку оптимизация, не говоря уже о принципиальной локальности ожидаемого эффекта, должна охватывать вычисления двух типов, скалярные и векторные, и их совместное исполнение. Кроме того, надо считаться с тем, что в реальных программах часто могут встречаться такие циклические конструкции, которые практически не поддаются векторизации.
Метки: ЭВМ, обработка