Помехи в конвейерах
Основы организации вычислительных конвейеров. S401 Повышение скорости обработки информации - главная задача организации вычислительных машин, комплексов и систем. Основные пути: -поиск и совершенствование физических элементов, обеспечивающих высокую скорость переключения; -поиск нетрадиционных (возможно, не дискретных и пр.) методов и технических средств обработки информации; -совмещение операций. Этот последний общий метод включает два подхода: параллелизм и конвейеризация. Это два совершенно разных подхода.
S402 При параллелизме совмещение операций достигается путем воспроизведения операций во многих копиях аппаратных структур. Высокая производительность достигается за счет одновременной и одинаковой работы идентичных элементов аппаратуры вычислительной системы, осуществляющей решение частей задачи. Конвейеризация в общем случае основана на расщеплении подлежащей выполнению функции на более мелкие части, именуемые подфункциями (ступенями, этапами, фазами и т.д.), и организации для исполнения каждой из них отдельного блока аппаратуры.
S403 В вычислительном конвейере команды и/или данные перемещаются по ступеням цифрового конвейера вычислителя со скоростью, которая не зависит от его (конвейера) длины(числа ступеней, этапов), а определяется только скоростью, с которой данные могут подаваться на этапы конвейера. Скорость определяется временем, за которое один элемент вычислений может пройти любую ступень, т.е. минимальной задержкой на ступени, выполняющий отдельную часть функции. Это также означает, что скорость определяется темпом подачи данных на вход конвейера.
S404 Если некоторая функция при реализации «в лоб» может быть выполнена за время Т, но может быть разделена на последовательное выполнение N подфункций (ступеней), то идеальный конвейер, при условии многократных повторяющихся вычислений той же функции, может осуществить ее каждое выполнение за время Т/N, т.е. в N раз повысить производительность. Отличие реального конвейера от идеального связано с возможностью существования в вычислительной системе помех. Общая суть «помехи» - наличие фактора, связанного с самой функцией, конструкцией конвейера или его использованием, препятствующего непрерывному поступлению новых данных на ступени конвейера с максимально возможной скоростью.
S405 Конвейеризация вычислений сводится к методологии проектирования вычислительных устройств. Фундаментальные принципы этой методики проектирования: - вычисление базовой (исходной) функции эквивалентно некоторой последовательности вычисления подфункций; - величины, являющиеся входными для некоторой подфункции, являются выходными предшествующей подфункции в цепочке (последовательности) вычисления; - никаких других связей кроме обмена данными между подфункциями нет; - каждая подфункция может и должна быть реализована независимым аппаратным блоком; - времена, необходимые для реализации аппаратными блоками своих действий, полагаются равными.
S406 Классифицируются вычислительные конвейеры по возможностям и применению. Однофункциональный – конвейер, способный к вычислению базовой функции одного типа. Выполняет одни и те же действия (операции) над каждым набором данных. Многофункциональный – конвейер, способный к вычислению функций различных типов. Важно: в дополнение к входам/выходам данных есть управляющие входы/выходы, регулирующие действия ступеней. В многофункциональных конвейерах выделяют: а) конвейеры со статической конфигурацией; б) векторные процессоры (конфигурация задается программно); в) динамическая конфигурация (меняется для различных типов и форматов команд).
S407 Классический пример однофункционального вычислительного конвейера:
Функция сложения с плавающей запятой разбита на следующие подфункции: вычитание порядков (1); сдвиг вправо мантиссы числа, имеющего меньший порядок на величину разности порядков (2); сложение другой мантиссы со сдвинутой (3); подсчет числа нулей (единиц) в старших разрядах суммы (4); сдвиг влево суммы мантисс на число нулей (единиц) в старших разрядах и корректировка порядка (5).
Помехи в конвейерах S408 Существуют две категории помех: 1) структурные помехи; 2) помехи, зависящие от данных.
S409 Первые возникают тогда, когда два (или более) фрагмента данных пытаются использовать одну и ту же ступень одновременно. Другое название - столкновение. В простейших конвейерах их не бывает. В конвейерах со статической конфигурацией эти помехи можно точно предсказать и предупредить. Во всех остальных случаях это очень сложная проблема. Решение в каждом случае уникально. S410 Вторые помехи (зависящие от данных) возникают, когда то, что происходит на одной ступени конвейера, определяет, могут ли данные проходить через другие ступени. Например, вычисления включают в себя условные переходы. Другой простой пример: две ступени должны использовать общую память: когда на одной ступени память используется, то другая ступень, для которой также требуется память, должна работать вхолостую до тех пор, пока первая не завершит работу. Такие помехи всегда зависят от режима работы системы и не поддаются аналитическому исследованию.
|