
- •1. Основные параметры и характеристики вычислительных систем.
- •7. Иерархическая организация системы памяти.
- •8. Память с произвольным доступом. Структура.
- •9. Память с произвольным доступом. Функционирование.
- •10. Озу статического типа.
- •11. Dram (асинхронная).
- •12. Синхронная dram.
- •13. Регенерация.
- •14. Ddr dram.
- •15. Многопортовая память.
- •16. Память с адресацией по содержанию.
- •17. Организация кэш-памяти.
- •18. Режимы работы кэш-памяти.
- •21. Внешняя память. Параметры. Характеристики.
- •22. Структура накопителей на основе жестких магнитных дисков.
- •23. Физическая и логическая структуры жестких магнитных дисков.
- •24. Дисковые системы raid.
- •25. Процессор. Классификация процессоров.
- •26. Система Команд Процессора.
- •27. Методы Адресации.
- •28. Форматы команд процессора.
- •2.Двухадресные команды
- •3.Одноадресные команды
- •29. Структура процессора.
- •30. Функционирование процессора.
- •1.Архитектура фон Неймана
- •2.Суперскалярная архитектура
- •3.Конвейерная архитектура
- •31. Конфликты конвейера процессора.
- •32. Устранение конфликтов конвейера процессора .
- •33. Обобщенная структура микропроцессора.
- •34. Структура регистров процессора ia-32 Pentium.
- •35. Команды. Форматы команд процессора архитектура ia-32.
- •36. Многоядерная структура современных процессоров.
- •Архитектура многоядерных систем
- •Производительность
- •37. Видеоконтроллер. Параметры. Структура.
- •Типы видеоконтроллеров
- •38. Прерывания. Структура. Функционирование.
- •39. Режим прямого доступа к памяти. Структура. Функционирование.
- •40. Многопроцессорные вычислительные системы.
- •41. Память многопроцессорных вс
- •42 Топологии вычислительных систем
31. Конфликты конвейера процессора.
При реализации конвейерной обработки возникают ситуации, которые препятствуют выполнению очередной команды из потока команд в предназначенном для нее такте. Такие ситуации называются конфликтами. Конфликты снижают реальную производительность конвейера, которая могла бы быть достигнута в идеальном случае.
Существуют три класса конфликтов:
1)Структурные конфликты, которые возникают из-за конфликтов по ресурсам, когда аппаратные средства не могут поддерживать все возможные комбинации команд в режиме одновременного выполнения с совмещением.
2)Конфликты по данным, возникающие в случае, когда выполнение одной команды зависит от результата выполнения предыдущей команды.
3)Конфликты по управлению, которые возникают при конвейеризации команд переходов и других команд, которые изменяют значение счетчика команд.
Конфликты в конвейере приводят к необходимости приостановки выполнения команд (pipeline stall). Обычно в простейших конвейерах, если приостанавливается какая-либо команда, то все следующие за ней команды также приостанавливаются. Команды, предшествующие приостановленной, могут продолжать выполняться, но во время приостановки не выбирается ни одна новая команда.
Классификация конфликтов по данным
Конфликт возникает везде, где имеет место зависимость между командами, и они расположены по отношению друг к другу достаточно близко так, что совмещение операций, происходящее при конвейеризации, может привести к изменению порядка обращения к операндам
Известны 3 возможных конфликта по данным в зависимости от порядка опер-ий чтения и записи. Рас-им две команды i и j, при этом i предшествует j. Возможны следующие конфликты:
1)RAW (чтение после записи) - j пытается прочитать операнд-источник данных прежде, чем i туда запишет. Таким образом, j может некорректно получить старое знач. Это наиболее общий тип конфликтов, способ их преодоления с помощью механизма "обходов".
2)WAR (запись после чтения) - j пытается записать результат в приемник прежде, чем он считывается оттуда командой i, так что i может некорректно получить новое значение. Этот тип конфликтов как правило не возникает в системах с централизованным управлением потоком команд, обеспечивающих выполнение команд в порядке их поступления, так как последующая запись всегда выполняется позже, чем предшествующее считывание. Однако конфликты такого рода могут возникать в сист., допускающих выпол-ие команд не в порядке их расположения в програм. коде.
3)WAW (запись после записи) - j пытается записать операнд прежде, чем будет записан результат команды i, т.е. записи заканчиваются в неверном порядке, оставляя в приемнике значение, записанное командой i, а не j. Этот тип конфликтов присутствует только в конвейерах, которые выполняют запись со многих ступеней (или позволяют команде выполняться даже в случае, когда предыдущая приостановлена).
Конфликты по управлению.
Конфликты по управлению могут вызывать даже большие потери производительности конвейера, чем конфликты по данным. Когда выполняется команда условного перехода, она может либо изменить, либо не изменить значение счетчика команд. Если команда условного перехода заменяет счетчик команд значением адреса, вычисленного в команде, то переход называется выполняемым; в противном случае, он называется невыполняемым.