Простой конвейера: старые проблемы, умноженные на новые частоты
Приведенное ранее описание работы механизма предсказания ветвлений осталось все же немного незавершенным: мы закончили его на "победном" варианте: ветка предсказана правильно, процессор начал декодирование команд "наперед", переход осуществился к "угаданному" адресу, находящиеся там команды готовы к исполнению (или даже уже частично исполнены). Но что происходит, если "штатный предсказатель" все же ошибся? А происходит "воистину страшное" -- весь конвейер приходится очищать от ненужных команд и в срочном порядке начинать готовить к исполнению новые, находящиеся еще в памяти и совсем по другому адресу. Естественно, ядро CPU во время всего этого "разбора полетов" просто исполняет холостой цикл, так как ни подготовленных данных, ни команд к нему не поступает. И наверняка наш читатель уже догадался сам об основной проблеме гиперконвейерной архитектуры нового процессора: чем длиннее конвейер, тем больше работы идет насмарку и тем дольше придется ждать, пока он будет "вычищен" от непонадобившихся команд и снова заполнен нужными. К тому же высокая частота работы в данном случае автоматически означает, что с момента ошибки в предсказании перехода до момента ее обнаружения "лишней" работы процессор успеет сделать больше. Да, такова реальность: не всегда высокая частота означает высокое быстродействие. Однако не все так плохо -- естественно, проблема эта была известна еще задолго до выхода процессора, и минимизации потерь было уделено серьезное внимание.
- Средства поддержки сегментации памяти
- Сегментно-страничный механизм
- Средства вызова подпрограмм и задач
- Новая архитектура Pentium 4
- Как работают современные процессоры
- Конвейерная архитектура: плюсы и минусы, проблемы и решения
- Pentium 4: гиперконвейеризация
- Простой конвейера: старые проблемы, умноженные на новые частоты
- Предсказания должны сбываться!
- Усовершенствованное внеочередное исполнение
- Удвоенная внутренняя частота ALU
- Кэш первого и второго уровня
- Pentium IV [4]
- Pentium I pentium II pentium III [4]
- Intel Pentium IV (ядро Willamette)
- Intel Pentium IV (ядро Willamette)
- 6.1. Архитектурные особенности процессоров Pentium
- Intel Pentium IV (ядро Willamette)
- Pentium, pentium pro, pentium II and pentium III
- Друге покоління Pentium IV
- 21.1. Процесор Pentium IV Перше покоління Pentium IV