- •1. Показать развитие и классификацию однопроцессорных архитектур
- •2. Конвейерная технология обработки команд
- •3. Основные черты суперскалярной обработки
- •4. Классификация архитектуры sisd с краткой характеристикой классов
- •5. Основные характерные черты cisc-архитектуры
- •6. Основные характерные черты risc-архитектуры
- •7. Основные характерные черты vliw-архитектуры
- •8. Основные отличительные черты epic-концепции
- •9. Классификация способов организации simd-архитектуры
- •10. Суть матричного и векторно-конвеерного способов организации simd-архитектуры
- •11. Суть ммх-технологии и потокового simd-расширения
- •12. Почему появились многоядерные структуры процессоров и технологии многопоточности
- •13. Виды производительности компьютера
- •14. Определение энергоэффективности процессора
- •15. Функциональные возможности, области применения, основные производители мэйнфреймов.
- •16. Функциональные возможности, пути развития, современные разработки супер-эвм
- •17. Функциональные возможности, назначение, платформы рабочих станций.
- •18. Классификация микро-эвм
- •19. Классификация серверов
- •20. Блэйд-серверы
- •21. Требования, учитываемые при проектировании серверов
- •22. Основные характеристики пк
- •23. Классификация пк по способу использования и назначению
- •24. Классификация ноутбуков
- •25. Функциональные возможности, назначение, современные разработки льтра-мобильных и планшетных пк
- •26. Классификация, состав, платформы, производители карманных пк
- •27. Встраиваемые и промышленные компьютеры
- •28. Обобщенная структура эвм и основные направления ее развития
- •29. Типы данных ia-32
- •30. Типы данных mmx технологии
- •31. Данные sse технологии
- •32. Типы данных ia-64
- •33. Теги и дескрипторы
- •34. Абсолютные способы формирования исполнительного адреса
- •35. Косвенная адресация операндов
- •36. Реализация адресации операндов «базирование способом суммирования»
- •37. Реализация адресации операндов «базирование способом совмещения» составляющих исполнительного адреса (конкатенации)
- •38. Реализация индексной адресации операндов
- •40. Развитие cisc-системы команд x86 (по годам)
- •41. Новые возможности процессора с введением sse2 и sse3
- •42. Расширения aes-ni и avx
- •43. Особенности архитектуры процессоров x86-64
- •Intel 64
- •44. Обобщенный формат команд x86
- •45. Форматы команд risc процессора
- •46. Особенности системы команд ia-64
- •47. Формат команд ia-64 и структура пакета инструкций
- •48. Характеристики системы прерывания
- •49. Программно-управляемый приоритет прерывающих программ
- •50. Логическая организация центрального процессора эвм
- •51. Функции центрального устройства управления процессора эвм
- •52. Классификация методов построения цуу процессора
- •53. Цуу микропрограммного типа
- •54. Назначение, структура, количество основных функциональных регистров ia-32
- •55. Регистры процессора обработки чисел с плавающей точкой
- •56. Регистры mmx технологии
- •57. Переименование регистров
- •58. Регистровые структуры процессоров x86-64 архитектуры
- •59. Регистровые структуры процессоров ia-64
- •60. Характерные черты современных универсальных микропроцессоров
- •61. Микроархитектура Intel Core
- •62. Особенности микроархитектуры Intel Nehalem
- •63. Декодирование команд х86 в процессоре Intel Nehalem
- •64. Назначение, количество, принцип действия исполнительных устройств Intel Nehalem
- •65. Особенности процессорного ядра amd k10
- •66. Декодирование команд х86 в ядре amd k10
- •67. Количество, назначение, принцип действия исполнительных устройств ядра and k10
- •68. Стратегия развития процессоров Intel
- •69. Особенности микроархитектуры Intel Sandy Bridge
- •70. Модульная структура процессора Intel Nehalem
- •71. Особенности процессоров Intel Westmere
- •72. Иерархическая структура памяти компьютера
- •73. Механизм стековой адресации по способу lifo
- •74. Типовая структура кэш-памяти
- •75. Структура кэш-памяти с прямым распределением
- •76. Принцип работы кэш-памяти с полностью ассоциативным распределением
- •77. Принцип работы кэш-памяти с частично ассоциативным распределением
- •78. Методы обновления строк в основной и кэш-памяти
- •79. Методы замещения строк в кэш-памяти
- •80. Организация многоуровневой кэш-памяти
- •81. Общие принципы организации оперативной памяти компьютера
- •82. Распределение оперативной памяти фиксированными разделами
- •83. Распределение оперативной памяти динамическими разделами
- •84. Распределение оперативной памяти перемещаемыми разделами
- •85. Методы повышения пропускной способности оперативной памяти (организация памяти на ddr sdram)
- •86. Методы повышения пропускной способности оперативной памяти (расслоение обращений)
- •87. Концепция виртуальной памяти
- •88. Страничное распределение виртуальной памяти
- •89. Механизм преобразования виртуального адреса в физический при страничной организации виртуальной памяти
- •90. Сегментное распределение виртуальной памяти
- •91. Странично-сегментное распределение виртуальной памяти
- •92. Механизм преобразования виртуального адреса в физический при странично-сегментном распределении памяти с использованием tlb
- •93. Методы ускорения процессов обмена информацией между оп и внешним запоминающими устройствами
- •94. Характеристики интерфейсов
- •95. Классификация интерфейсов
- •96. Программно-управляемая передача данных в компьютере
- •97. Прямой доступ к памяти в компьютере
- •98. Системная организация эвм на базе чипсетов компании Intel
- •99. Классификация mimd-систем по способу взаимодействия процессоров
- •100. Сильносвязанные и слабосвязанные многопроцессорные системы
66. Декодирование команд х86 в ядре amd k10
Как большинство современных х86-процессоров, имеющих внутреннюю RISC-архитектуру, в процессоре К10 внешние х86-команды декодируются во внутренние RISC-инструкции, для чего используется декодер команд. Процесс декодирования состоит из двух этапов. На первом этапе выбранные из кэша L1 блоки инструкций длиной 32 байта (256 бит) помещаются в специальный буфер преддекодирования (Predecode/Pick Buffer), где происходит выделение инструкций из блоков, определение их типов и отсылка в соответствующие каналы декодера. Декодер транслирует х86-инструкции в простейшие машинные команды (микрооперации), называемые micro-ops (µOp). Сами х86-команды могут быть переменной длины, а вот длина микроопераций уже фиксированная. Инструкции х86 разделяются на простые и сложные. Простые инструкции при декодировании представляются с помощью одной-двух микроопераций, а сложные команды – тремя и более микрооперациями. Простые инструкции отсылаются в аппаратный декодер, построенный на логических схемах и называемый Direct Path, а сложные – в микропрограммный декодер, называемый Vector Path. Он содержит память микрокода, в которой хранятся последовательности микроопераций.
Аппаратный декодер Direct Path является трехканальным и может декодировать за один такт: три простые инструкции, если каждая из них транслируется в одну микрооперацию; либо одну простую инструкцию, транслируемую в две микрооперации, и одну простую инструкцию, транслируемую в одну микрооперацию; либо две простые инструкции за два такта, если каждая инструкция транслируется в две микрооперации (полторы инструкции за такт). Таким образом, за каждый такт аппаратный декодер выдает три микрооперации.
Микропрограммный декодер Vector Path также способен выдавать по три микрооперации за такт при декодировании сложных инструкций. При этом сложные инструкции не могут декодироваться одновременно с простыми, т. е. при работе трехканального аппаратного декодера микропрограммный декодер не используется, а при декодировании сложных инструкций, наоборот, бездействует аппаратный декодер.
Микрооперации, полученные в результате декодирования инструкций в декодерах Vector Path и Direct Path поступают в буфер Pack Buffer, где они объединяются в группы по три микрооперации. В том случае, когда за один такт в буфер поступает не три, а одна или две микрооперации (в результате задержек с выбором инструкций), группы заполняются пустыми микрооперациями, но так, чтобы в каждой группе было ровно три микрооперации. Далее группы микроинструкций отправляются на исполнение.
Кроме того в микроархитектуре К10 в декодер добавлен специальный блок, называемый Sideband Stack Optimizer. Не вникая в подробности, отметим, что он повышает эффективность декодирования инструкций работы со стеком и, таким образом, позволяет переупорядочивать микрооперации, получаемые в результате декодирования, чтобы они могли выполняться параллельно.
После прохождения декодера микрооперации (по три за каждый такт) поступают в блок управления командами, называемый Instruction Control Unit (ICU). Главная задача ICU заключается в диспетчеризации трех микроопераций за такт по функциональным устройствам, т. е. ICU распределяет инструкции в зависимости от их назначения. Для этого используется буфер переупорядочивания Reorder Buffer (ROB), который рассчитан на хранение 72 микроопераций. Из буфера переупорядочивания микрооперации поступают в очереди планировщиков целочисленных (Int Scheduler) и вещественных (FP Mapper) исполнительных устройств в том порядке, в котором они вышли из декодера.
