Процессор. Понятие технологического процесса. Методы повышения быстродействия процессора. Направления развития архитектур современных процессоров.
Технологический процесс полупроводникового производства - технологический процесс изготовления полупроводниковых (п/п) изделий.
Совершенствование технологии и пропорциональное уменьшение размеров п/п структур способствуют улучшению характеристик микросхем, процессоров, микроконтроллеров и тд.
Пример техпроцесса:
• 3 мкм - Intel 8086 - 1979 год
• 65 нм Intel Core 2 Duo 2006 год
• 45 нм Intel Core i3, i5, i7 - 2008 год
Современный процессор стоит из:
• Одного или нескольких ядер, осуществляющих выполнение всех инструкций
• Несколько уровней КЭШ-памяти
• Контроллера ОЗУ
Характеристики процессора
Упрощенная структурная схема процессора (схема)
Ядро процессора
1) Блок выборки инструкций осуществляет считывание инструкций по адресу, указанному в счетчике команд. Количество считываемых инструкций обусловлено количеством блоков декодирования, так как необходимо при каждом такте работы максимально загрузить блоки декодирования.
• Предсказатель переходов пытается определить…
2) Блоки декодирования - занимаются декодированием инструкций, то есть определяют, что надо сделать процессору, и какие дополнительные данные нужны для выполнения инструкции.
3) Блок выборки данных осуществляет выборку данных из КЭШ-памяти или ОЗУ, необходимых для выполнения текущих инструкций.
4) Управляющий блок…
5) Блоки выполнения инструкций включают в себя несколько разнотипных блоков:
• ALU
• FPU
• MMX
• SSE
• ATA
• 3DNow!
• AES
6) Блок сохранения результатов обеспечивает запись результата выполнения инструкции в ОЗУ по адресу, указанному в обрабатываемой инструкции.
7) Блок работы с прерываниями. Работа с прерываниями - одна из важнейших задач процессора, позволяющая ему…
8) Микрокод - серия простых инструкций, в совокупности выполняющих то же действие, что и одна сложная инструкция. Набор микрокод прошит в ПЗУ, встроенном в процессоре.
9) Регистры - сверхбыстрая оперативная память небольшого объема (несколько сотен байт), входящая в состав…
10) Счетчик команд - регистр, сожержащий адрес…
Принцип работы ядра процессора (схема)
Принцип работы ядра процессора основан на цикле, описанном фон Нейманом
1) Блок выборки инструкций. Проверка прерываний. Если прерывания есть, то данные регистров и счетчика команд заносятся в стек, а в счетчик команд заносится адрес команды обработчика прерываний. По окончании работы, функция обработки прерываний, данные из стека будут восстановлены.
2)Блок выборки инструкций из счетчика команд считывает адрес команды, предназначенной для выполнения. По этому адресу из КЭШ памяти или ОЗУ считываются команды, полученные данные передаются в блок декодирования.
3)Блок декодирования команд расшифровывает команду, при необходимости используя для интерпретации команд записанный в ПЗУ микрокод. Управление передается в блок выборки инструкций, иначе счетчик команд увеличивается на размер команды и передает управление в блок выборки данных.
4)Блок выборки данных считывает КЭЩ память и ОЗУ, требуемые для выполнения команд данные. Управляющий блок определяет к какому блоку выполнения инструкций обработать текущую задачу
5)Блоки управления инструкций передают управление блоку сохранения результата
6)При необходимости сохранения результата в ОЗУ блок сохранения результата выполняет требуемые для этого действия и передает управление блоку выборки инструкций.
Способы повышения производительности яда процессора:
1) Конвейеризация
2) Суперскалярность
3) Параллельная обработка данных
4) Технология Hyper-Threading
5) Технология Turbo Boost
Практика конвейеризации.
1) Реальный поток команд - непоследовательный.
Пока команда условного перехода не будет обработана полностью, конвейер не сможет начать выполнение новой команды, так как не знает, по какому адресу она находится.
После условного перехода конвейера приходится наполнять заново.
2) Часто обрабатываемые инструкции - взаимосвязаны, то есть одна из из инструкций требует в качестве исходных данных результаты другой инструкции.
Статистическое планирование - …
Суперскалярность - архитектура вычислительного ядра, при которой наиболее нагруженные блоки могут входить в процессор в нескольких экземплярах.
Например, в ядре процессора блок выборки инструкций может нагружать сразу несколько блоков декодирования.
Параллельное выполнение инструкций возможно только если все инструкции - независимые.