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

UptoLike

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

Зависимости по управлению обрабатываются в явной форме, а зависимости по
данным определяются на этапе выборки команды.
Эффективность функционирования конвейера, показанного на рис.5.20, начинает
резко падать при наличии в программе значительного количества команд условного
перехода типа BRANCH.
При условном переходе BRANCH происходит полная остановка I-устройства, до
окончания выполнения этой команды E-устройством (рис.5.14,в), и перезапуск конвейера с
вычисленного адреса ЕА.
Производительность конвейера падает до производительности не конвейерного
процессора.
Для того, чтобы минимизировать этот эффект используют предварительную выборку
команд по одному из возможных направлений перехода или обоим
а)
Сделать выборку
команды (СК)
Поместить в
I-очередь
E-устройство
сигнализирует о
переходе
Имеется ли место в
I-очереди
СК:=СК+1
Очистить
I-очередь
Пе
р
езаг
ру
зить СК
да
да
нет
нет
б )
I-очередь пуста
Декодировать и
исполнить
следую щую
команду
Послать ЕА в
I-устройство
Выполнение
команды перехода
да
нет
Рис.5.20. I-устройство как устройство предварительной выборки: а) I-устройство; б) E-
устройство
направлениям, когда встречается переход BRANCH. Затем, E-устройство окончательно
разрешает проверяемое условие и переходит к выполнению команды ветви, определенной
данным условием. Пока E-устройство обрабатывает эту команду, I-устройство может
осуществлять продвижение вперед, выбирая дальнейшие команды. На рис.5.21 показана
работа такой структуры.
      Зависимости по управлению обрабатываются в явной форме, а зависимости по
данным определяются на этапе выборки команды.
      Эффективность функционирования конвейера, показанного на рис.5.20, начинает
резко падать при наличии в программе значительного количества команд условного
перехода типа BRANCH.
      При условном переходе BRANCH происходит полная остановка I-устройства, до
окончания выполнения этой команды E-устройством (рис.5.14,в), и перезапуск конвейера с
вычисленного адреса ЕА.
      Производительность конвейера падает до производительности не конвейерного
процессора.
      Для того, чтобы минимизировать этот эффект используют предварительную выборку
команд по одному из возможных направлений перехода или обоим
                       а)

                                             Сделать выборку
                                              команды (СК)


                                                Поместить в
                                                 I-очередь



                                              E-устройство           да
                                             сигнализирует о
                                                переходе

                                                            нет
                                                                                    Очистить
                                                                                    I-очередь
                                 нет
                                           Имеется ли место в
                                               I-очереди


                                                            да               Перезагрузить СК
                                                СК:=СК+1



                  б)

                            да
                                        I- о ч е р е д ь п ус т а

                                                      нет                Выполнение
                                                                    к о м а н д ы п е р е хо д а
                                       Д ек о ди р о ват ь и
                                          и сп о л н ит ь              П ослать ЕА в
                                         с л е д ую щ ую               I- ус т р о й с т в о
                                            ком анду




   Рис.5.20. I-устройство как устройство предварительной выборки: а) I-устройство; б) E-
                                        устройство
направлениям, когда встречается переход BRANCH. Затем, E-устройство окончательно
разрешает проверяемое условие и переходит к выполнению команды ветви, определенной
данным условием. Пока E-устройство обрабатывает эту команду, I-устройство может
осуществлять продвижение вперед, выбирая дальнейшие команды. На рис.5.21 показана
работа такой структуры.