|
Синхронные линейные конвейеры⇐ ПредыдущаяСтр 17 из 17 Эффективность синхронного конвейера во многом зависит от правильного выбора длительности тактового периода Тк. Минимально допустимую Тк можно определить как сумму наибольшего из времен обработки па отдельной ступени конвейера ТСМАХ и времени записи результатов обработки в буферные регистры межу ступенями конвейера ТБР:
Тк = ТСМАХ + ТБР.
Из-за вероятного «перекоса» в поступлении тактирующего сигнала в разные ступени конвейера предыдущую формулу следует дополнить еще одним элементом - максимальной величиной «перекоса» Гпк:
Тк = ТСМАХ + ТБР + Тпк.
Каждая ступень может содержать множество логических трактов обработки. Тк определяется наиболее длинными трактами во всех ступенях конвейера. При разработке конвейера необходимо учитывать, что для двух последовательных элементов, обрабатываемых одной и той же ступенью, обработка первого элемента может проходить по тракту максимальной длины, а второго элемента — по минимальному тракту. В итоге результат обработки второго элемента может появиться на выходе ступени прежде, чем в выходном регистре ступени будет запомнен предыдущий результат. Чтобы избежать подобной ситуации, сумма ТБР + ТПК должна быть меньше минимального времени обработки в ступени ТСIMN, откуда
ТБР = ТCMIN – TПК.
Выбор длительности тактового периода для конвейера должен осуществляться с соблюдением соотношения
ТСМАХ + ТБР + ТПК = Тк = ТСМАХ + ТCMIN – TПК.
Несмотря на очевидные преимущества выбора Тк равным нижнему пределу, проектировщики ВМ обычно ориентируются на среднее значение между нижним и верхним пределами.
Метрики эффективности конвейеров Для того чтобы оценить эффект, достигаемый за счет конвейеризации вычислений, обычно используют три метрики; ускорение, эффективность и производительность. Под ускорением понимается отношение времени обработки без конвейера и при его наличии. Теоретически наилучшее время обработки входного потока из N значений TNK на конвейере с К ступенями и тактовым периодом Тк можно определить выражением
TNK = (K + (N – 1))TK.
Формула отражает тот факт, что до появления на выходе конвейера результата обработки первого элемента должно пройти К тактов, а последующие результаты будут следовать в каждом такте. В процессоре без конвейера общее время выполнения составляет NKTK. Таким образом, ускорение вычислений S за счет конвейеризации вычислений можно описать формулой
При ускорение стремится к величине, равной количеству ступеней в конвейере. Еще одной метрикой, характеризующей конвейерный процессор, является эффективность Е — доля ускорения, приходящаяся на одну ступень конвейера:
В качестве третьей метрики часто выступает пропускная способность или производительность Р — эффективность, делённая на длительность тактового периода:
При эффективность стремится к единице, а производительность — к частоте тактирования конвейера:
Нелинейные конвейеры Конвейер не всегда представляет собой линейную цепочку этапов. В ряде ситуаций оказывается выгодным, когда функциональные блоки соединены между собой не последовательно, а в соответствии с логикой обработки, при этом одни блоки в цепочке могут пропускаться, а другие — образовывать циклические структуры. Это позволяет с помощью одного и того же конвейера одновременно вычислять более одной функции, однако если эти функции конфликтуют между собой, то такой конвейер трудно загрузить полностью. Структура нелинейного конвейера, одновременно вычисляющего две функции X и Y, приведена па рис.47. Там же показана последовательность, в которой функциями X и Y востребуются те или иные функциональные блоки.
Рис.51. Нелинейный конвейер
Чтобы определить, когда пора приступать к повторному вычислению той или иной функции, необходимо построить диаграмму однократной реализации этой функции и отследить по ней моменты, когда такой запуск не приведет к конфликту, связанному с одновременным обращением к одному и тому же функциональному блоку. Так, в ходе реализации функции X запуск очередного ее вычисления возможен после 1,3 и 6 тактов. Запуск параллельного вычисления функции Y возможен после 2 и 4 тактов. При запуске функции Y очередной ее запуск позволен после тактов 1, 3 и 5, а параллельный запуск функции X допустим после 2 и 4 тактов. Конвейер команд Идея конвейера команд была предложена в 1956 году академиком С. А. Лебедевым. Как известно, цикл команды представляет собой последовательность этапов. Возложив реализацию каждого из них на самостоятельное устройство и последовательно соединив такие устройства, мы получим классическую схему конвейера команд. Для иллюстрации воспользуемся примером. Выделим в цикле команды шесть этапов: 1. Выборка команды (ВК). Чтение очередной команды из памяти и занесение ее в регистр команды. 2. Декодирование команды (ДК). Определение кода операции и способов адресации операндов. 3. Вычисление адресов операндов (ВА). Вычисление исполнительных адресов каждого из операндов в соответствии с указанным в команде способом их адресации. 4. Выборка операндов (ВО). Извлечение операндов из памяти. Эта операция не нужна для операндов, находящихся в регистрах. 5. Исполнение команды (ИК). Исполнение указанной операции. 6. Запись результата (ЗР). Занесение результата в память. Рис. 52. Логика работы конвейера команд
На рис. 52 показан конвейер с шестью ступенями, соответствующими шести этапам цикла команды. В диаграмме предполагается, что каждая команда обязательно проходит все шесть ступеней, хотя этот случай не совсем типичен. Так, команда загрузки регистра не требует этапа ЗР. Кроме- того, здесь принято, что все |тапы могут выполняться одновременно. Без конвейеризации выполнение девяти Команд заняло бы 9 х 6 = 54 единицы времени. Использование конвейера позволяет сократить время обработки до 14 единиц. Конфликты в конвейере команд Полученное в примере число 14 характеризует лишь потенциальную производительность конвейера команд. На практике в силу возникающих в конвейере конфликтных ситуаций достичь такой производительности не удается. Конфликтные ситуации в конвейере принято обозначать термином риск (hazard), а обусловлены они могут быть тремя причинами: · попыткой нескольких команд одновременно обратиться к одному и тому же ресурсу ВМ (структурный риск); · взаимосвязью команд по данным (риск по данным); · неоднозначностью при выборке следующей команды в случае команд перехода (риск по управлению).
Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|