Микропроцессорные системы и программное обеспечение в средствах связи. Гребешков А.Ю. - 269 стр.

UptoLike

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

Рубрика: 

Микропроцессорные системы и программное обеспечение в средствах связи
269
Также различают статическое и динамическое предсказание ветв-
ления в программе. При статическом предсказании направление
перехода задаётся разработчиком МПр, например все условные пере-
ходы «вперед» будут выполняться, а переходы «назад» – не будут. При
динамическом предсказании направление ветвления обусловлено
результатами предшествующего выполнения команд и может меняться
в процессе исполнения программы. Динамическое предсказание
более
точно и эффективно, хотя и достаточно сложно для реализации.
В динамике управление переходами осуществляется следующими
способами:
1. Самый простой способ состоит в том, чтобы остановить прием
команд на вход конвейера до тех пор, пока команда перехода не дос-
тигнет ступени исполнения и не будет вычислено реальное направле-
ние перехода. Этот
метод, упрощая управление, тем не менее приво-
дит к простою конвейера.
2. Наиболее сложный, второй способ, заключается в том, чтобы
при появлении команды перехода выбирать и условно выполнять обе
ветви возможных переходов. Условное выполнение обозначает, что до
момента определения адреса перехода запрещается запись результа-
тов вычислений в регистры или в кэш/
ОЗУ.
3. Третьим способом динамической обработки ветвлений являет-
ся предсказание. Самым простым способом предсказания является
выбор для выполнения той ветви, которая следует непосредственно за
командой перехода (короткий переход). Но в 50% случаев этот выбор
будет ошибочным.
Наиболее достоверные предсказания выдаются на основе исто-
рии процесса вычислений. Поэтому на рис. 5.7 присутствует устройство
прогнозирования
ветвлений. Оно содержит таблицу достаточно боль-
шого размера, например, на 256 строк. В каждой строке таблицы запи-
саны для выполнения части программы:
  Микропроцессорные системы и программное обеспечение в средствах связи
     Также различают статическое и динамическое предсказание ветв-
ления в программе. При статическом предсказании направление
перехода задаётся разработчиком МПр, например все условные пере-
ходы «вперед» будут выполняться, а переходы «назад» – не будут. При
динамическом предсказании направление ветвления обусловлено
результатами предшествующего выполнения команд и может меняться
в процессе исполнения программы. Динамическое предсказание более
точно и эффективно, хотя и достаточно сложно для реализации.
     В динамике управление переходами осуществляется следующими
способами:
     1. Самый простой способ состоит в том, чтобы остановить прием
команд на вход конвейера до тех пор, пока команда перехода не дос-
тигнет ступени исполнения и не будет вычислено реальное направле-
ние перехода. Этот метод, упрощая управление, тем не менее приво-
дит к простою конвейера.
     2. Наиболее сложный, второй способ, заключается в том, чтобы
при появлении команды перехода выбирать и условно выполнять обе
ветви возможных переходов. Условное выполнение обозначает, что до
момента определения адреса перехода запрещается запись результа-
тов вычислений в регистры или в кэш/ОЗУ.
     3. Третьим способом динамической обработки ветвлений являет-
ся предсказание. Самым простым способом предсказания является
выбор для выполнения той ветви, которая следует непосредственно за
командой перехода (короткий переход). Но в 50% случаев этот выбор
будет ошибочным.
     Наиболее достоверные предсказания выдаются на основе исто-
рии процесса вычислений. Поэтому на рис. 5.7 присутствует устройство
прогнозирования ветвлений. Оно содержит таблицу достаточно боль-
шого размера, например, на 256 строк. В каждой строке таблицы запи-
саны для выполнения части программы:

                                   269