На 5 такте возникает конфликт при обращении к регистру R3. Команде AND требуется результат сложения (команда ADD).
Одним из способов разрешения этого конфликта является введение цепей обхода, которые позволяют использовать вновь только что полученный результат.Цепь обхода – сумматор с аккумулятором:
Однако в случае появления команд загрузки цепи обхода не позволяют разрешить конфликты. В этом случае применяют интеллектуальный компилятор, который позволяет просматривать программу и компоновать ее таким образом, чтобы не нарушалась правильность вычислений и вместе с тем не возникали подобные конфликты.
Б) конфликты по управлению возникают при появлении команд условных переходов.
Способы разрешения данных конфликтов:
1. Метод выжидания: конвейер приостанавливается до получения результата предыдущей операции (возникают «пузыри в конвейере», которые снижают его производительность).
2. Анализ команд перехода, заполнение следующей таблицы, куда заносится адрес команды перехода, сама команда или условие, по которому осуществляется переход, выполнялось или не выполнялось это условие. Если подобная команда в программе повторяется, то данная таблица просматривается и принимается решение, по какой ветке алгоритма идти.
Вопрос №5
Конвейеры. Классификация. Структура синхронного и асинхронного конвейеров. Однофункциональный и многофункциональный конвейеры. Таблицы занятости. Латентность. Производительность конвейеров. Временные диаграммы работы. Построение многофункциональных конвейеров на основе таблиц занятости.
Конвейерная обработка информации является одним из методов повышения производительности процессора.
Классификация конвейеров
Ø По типу обрабатываемой информации:
· Конвейер команд – когда обрабатывается несколько команд при их неконвейерной арифметике
· Конвейер данных – когда в арифметическом конвейере присутствуют несколько пар операндов и каждая ступень конвейера выполняет над соответствующей парой операндов свои группы процедур.
Ø По функциональному назначению:
· Однофункциональные которые ориентированы на выполнение только одной функции.
· Многофункциональные, которые обрабатывают несколько различных функций. При этом при изменении функций требуется перенастройка ступеней конвейера.
- Статические – конфигурация определяется заданной функцией на значительном временном интервале.
- Динамические – перенастройка ступеней может осуществляться каждый раз с приходом следующей функции.
Ø По внутренней организации:
· Синхронные, в которых все функции разделены на продфункции, за каждые из которых закрепляется своя ступень конвейера и время прибывания (вычисления) подфункции на каждой ступени одинаково.
· Асинхронные, когда каждая ступень требует своего времени вычисления подфункций.
Синхронные конвейеры являются наиболее простыми, к проектированию асинхронных прибегают, когда невозможно выровнять времена работы ступеней.
Структура синхронного конвейера
Алгоритм:
t1-tn – длительности обработки подфункций на соответствующих ступенях
Если эти временные интервалы не равны, то выбирают из них максимальный интервал, который будет конвейерным тактом.
На ступенях, обрабатывающих более быстрые подфункции, вводятся дополнительные фиксаторы для выравнивания времен работы ступеней.
Каждая ступень конвейера состоит из логики, которая обрабатывает информацию фиксаторов (регистровых файлов, фиксирующих информацию на ступенях).
Схема конвейера в общем виде
Временная диаграмма работы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.