Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 100 стр.

UptoLike

Составители: 

команд j, j+1, j+2, … останавливаются до тех пор, пока команда i не пройдет через точку
конфликта.
Во втором случае, останавливается команда j, но командам j+1, j+2, … разрешается
двигаться по конвейеру. Это дает командам j+1, j+2, … возможность опередить команду j в
конвейере, т.е. нарушается очередность выполнения (внеочередное исполнение). При этом
остается в силе проверки на наличие помех команды j с командами j+1, j+2, …
Для устранения помехи типа RAW используется метод, называемый коротким
замыканием (или запоминанием промежуточного результата). В этом случае, копия данных,
подлежащих запоминанию i команды, передается непосредственно ожидающей команде j,
что позволяет избежать фазы чтения из памяти и необходимости ждать завершения i
команды. В общем случае для ускорения устранения всех помех типа RAW использует
метод, называемый опережающей засылкой. В каждой ступени конвейера, в которой должно
происходить обращение к данным (выборка операнда) помещается множество фиксаторов
ступени (регистров) для приема этих данных. Если данные команды j (проходящей через
некоторую ступень) находятся в состоянии помехи типа RAW с ранней командой i, один из
фиксаторов этой ступени загружается не данными, которых все еще нет, а индексом или
тегом, указывающим на ту ступень, которая их вырабатывает. Затем команда j, ожидающая
эти данные, задерживается на этой ступени до их поступления. Остальные фиксаторы на
входе в ступень позволяют проходить другим командам через нее, пока команда j, зависящая
от RAW, задержана. Когда ступень завершает выполнение i команды, она проверяет все
соответствующие фиксаторы ступеней на предмет совпадения его идентификатора с тегом.
Если такой тег имеется, то соответствующая ступень получает копию данных. Это позволяет
возобновить выполнение задержанных команд.
Для устранения помехи типа WAR и WAW используют метод дублирования или
переименования регистров. Он предполагает, например, использование двух внутренних
регистров Reg0 и Reg1. После такого дублирования можно одновременно и читать,и
записывать или одновременно записывать в них данные от команд находящихся в конвейере.
5.2.2.3. Структурная организация конвейера
Процесс исполнения команды в общем случае можно разделить на две основные
стадии: подготовку и исполнение команды. Реализация этих стадий в процессоре
осуществляется двумя блоками, которые получили стандартные названия (рис.5.16).
П а м я т ь
I-у с т р о й с т в о
E-у с т р о й с т в о
Рис.5.16. Стандартное разбиение процессора в архитектуре ОКОД
Ступени, осуществляющие выборку команды, часть декодирования и некоторые
действия функции КОНОП, образуют устройство обработки команд или I-устройство.
Ступени, осуществляющие функции исполнения и остальные действия функции КОНОП,
образуют устройство исполнения (обработки данных) или E-устройство.
При этом вопрос о доступе к данным (выборка операнда) является ключевым
моментом при таком разбиении. Помещение этой функции в I-устройство позволяет создать
единый интерфейс к памяти, но несколько ограничивает диапазон разбиений. В этом случае,
основные функции выборки команды, большая часть декодирования, вычисление
команд j, j+1, j+2, … останавливаются до тех пор, пока команда i не пройдет через точку
конфликта.
       Во втором случае, останавливается команда j, но командам j+1, j+2, … разрешается
двигаться по конвейеру. Это дает командам j+1, j+2, … возможность опередить команду j в
конвейере, т.е. нарушается очередность выполнения (внеочередное исполнение). При этом
остается в силе проверки на наличие помех команды j с командами j+1, j+2, …
       Для устранения помехи типа RAW используется метод, называемый коротким
замыканием (или запоминанием промежуточного результата). В этом случае, копия данных,
подлежащих запоминанию i команды, передается непосредственно ожидающей команде j,
что позволяет избежать фазы чтения из памяти и необходимости ждать завершения i
команды. В общем случае для ускорения устранения всех помех типа RAW использует
метод, называемый опережающей засылкой. В каждой ступени конвейера, в которой должно
происходить обращение к данным (выборка операнда) помещается множество фиксаторов
ступени (регистров) для приема этих данных. Если данные команды j (проходящей через
некоторую ступень) находятся в состоянии помехи типа RAW с ранней командой i, один из
фиксаторов этой ступени загружается не данными, которых все еще нет, а индексом или
тегом, указывающим на ту ступень, которая их вырабатывает. Затем команда j, ожидающая
эти данные, задерживается на этой ступени до их поступления. Остальные фиксаторы на
входе в ступень позволяют проходить другим командам через нее, пока команда j, зависящая
от RAW, задержана. Когда ступень завершает выполнение i команды, она проверяет все
соответствующие фиксаторы ступеней на предмет совпадения его идентификатора с тегом.
Если такой тег имеется, то соответствующая ступень получает копию данных. Это позволяет
возобновить выполнение задержанных команд.
       Для устранения помехи типа WAR и WAW используют метод дублирования или
переименования регистров. Он предполагает, например, использование двух внутренних
регистров Reg0 и Reg1. После такого дублирования можно одновременно и читать,и
записывать или одновременно записывать в них данные от команд находящихся в конвейере.

                         5.2.2.3. Структурная организация конвейера

      Процесс исполнения команды в общем случае можно разделить на две основные
стадии: подготовку и исполнение команды. Реализация этих стадий в процессоре
осуществляется двумя блоками, которые получили стандартные названия (рис.5.16).

                                         Пам я ть



                                    I-у с т р о й с т в о



                                    E-у с т р о й с т в о

            Рис.5.16. Стандартное разбиение процессора в архитектуре ОКОД
      Ступени, осуществляющие выборку команды, часть декодирования и некоторые
действия функции КОНОП, образуют устройство обработки команд или I-устройство.
Ступени, осуществляющие функции исполнения и остальные действия функции КОНОП,
образуют устройство исполнения (обработки данных) или E-устройство.
      При этом вопрос о доступе к данным (выборка операнда) является ключевым
моментом при таком разбиении. Помещение этой функции в I-устройство позволяет создать
единый интерфейс к памяти, но несколько ограничивает диапазон разбиений. В этом случае,
основные функции выборки команды, большая часть декодирования, вычисление