-1

Из книги « Современные операционные системы» ;

Изобилие транзисторов на одном кристалле приводит к проблеме: что делать со всеми из них?

Мы видели один подход выше: суперскалярные архитектуры с несколькими функциональными единицами. Но по мере увеличения количества транзисторов возможно еще больше. Одна очевидная вещь, которую нужно сделать, это поместить большие кеши в чип процессора. Это определенно происходит, но в конечном итоге будет достигнута точка снижения прибыли.

Очевидным следующим шагом является копирование не только функциональных блоков, но и части логики управления. Intel Pentium 4 представил это свойство, называемое многопоточностью или гиперпоточностью (название Intel), для процессора x86, и некоторые другие процессорные чипы также имеют его, в том числе SPARC, Power5, Intel Xeon и семейство Intel Core. В первом приближении он позволяет процессору удерживать состояние двух разных потоков, а затем переключаться назад и вперед в масштабе наносекунды. (Поток - это своего рода облегченный процесс, который, в свою очередь, является запущенной программой; мы подробно рассмотрим гл. 2.)

Суперскалярная архитектура приведена на предыдущем рисунке 1-7(б):

Интересно, что означают функциональный блок и логика управления в процессоре?

Суперскалярная архитектура также повторяет логику управления?

Являются ли "функциональный блок" и "Выполнить блок" одним и тем же?

Является ли "логика управления" такой же, как "Блок извлечения" и "Блок декодирования"?

Я не решаюсь ответить «да» на поставленные выше вопросы по следующим причинам. В тексте говорится, что суперскалярные архитектуры дублируют функциональные блоки, а многопоточность - не только функциональные блоки, но и логику управления.

  • Но на рисунке 1.7(b) суперскалярный имеет несколько блоков выборки и декодирования, кроме нескольких исполнительных блоков, поэтому я не уверен, что "управляющая логика == извлекает и декодирует блоки" и "функциональная единица == исполняющая единица".

  • Также под многопоточностью текст фактически означает временное мультиплексирование. Я не знаю, как тиражирование логики управления необходимо для временного мультиплексирования? Разве несколько потоков или процессов не могут совместно использовать одни и те же блоки управления (модуль извлечения и декодирования) в разное время?

2 ответа2

4

Являются ли "функциональный блок" и "Выполнить блок" одним и тем же?

Да (в контексте того, как они используются в вашей книге).


Исполнительный блок

В компьютерной технике исполнительный блок (также называемый функциональным блоком) является частью ЦП, которая выполняет операции и вычисления, требуемые компьютерной программой. Он может иметь свой собственный внутренний блок последовательности управления (не путать с основным блоком управления CPU), некоторые регистры и другие внутренние блоки, такие как sub-ALU или FPU, или некоторые более мелкие, более специфические компоненты. [1]

Для современных процессоров характерно наличие нескольких параллельных исполнительных блоков, называемых скалярным или суперскалярным дизайном. Самым простым способом является использование одного, менеджера шины, для управления интерфейсом памяти, а другого - для выполнения вычислений. Кроме того, современные исполнительные блоки ЦП обычно конвейерны.

Блок выполнения источника


Является ли "логика управления" такой же, как "Блок извлечения" и "Блок декодирования"?

Да (в контексте того, как они используются в вашей книге).

Блок управления является компонентом центрального процессора компьютера (CPU), который управляет работой процессора. Он сообщает памяти компьютера, арифметическому / логическому устройству и устройствам ввода и вывода, как реагировать на инструкции программы.

...

Блок управления (CU), как правило, представляет собой значительную совокупность сложных цифровых схем, соединяющих и управляющих многими исполнительными блоками, содержащимися в ЦП. инструкция, основанная на наборе команд ЦП, затем декодирует эту отдельную инструкцию в несколько последовательных шагов (выборка адресов / данных из регистров / памяти, управление выполнением [т.е. данные, отправленные в АЛУ или ввод / вывод], и сохранение полученных данных обратно в регистры / память), которая контролирует и координирует взаимодействие процессора.

Блок управления источником


Центральное процессорное устройство

получать

Первый шаг, выборка, включает в себя извлечение инструкции (которая представлена числом или последовательностью чисел) из памяти программы. Расположение (адрес) инструкции в памяти программ определяется счетчиком программ (ПК), который хранит число, которое идентифицирует адрес следующей команды, которая должна быть выбрана. После извлечения инструкции ПК увеличивается на длину инструкции, чтобы он содержал адрес следующей инструкции в последовательности. [D] Часто извлекаемая команда должна извлекаться из относительно медленной памяти, что вызывает ЦП останавливается в ожидании возврата инструкции. Эта проблема в основном решается в современных процессорах с помощью кэшей и конвейерных архитектур (см. Ниже).

раскодировать

Команда, которую процессор выбирает из памяти, определяет, что процессор должен делать. На этапе декодирования инструкция разбивается на части, которые имеют значение для других частей ЦП. Способ интерпретации числового значения инструкции определяется архитектурой набора команд ЦПУ (ISA). [E] Часто одна группа чисел в инструкции, называемая кодом операции, указывает, какую операцию выполнить. Остальные части числа обычно предоставляют информацию, требуемую для этой инструкции, такую как операнды для операции сложения. Такие операнды могут быть заданы как постоянное значение (называемое непосредственным значением) или как место, где можно найти значение: регистр или адрес памяти, как определено некоторым режимом адресации.

В некоторых конструкциях ЦП декодер команд реализован в виде зашитой неизменяемой схемы. В других случаях микропрограмма используется для преобразования инструкций в наборы сигналов конфигурации ЦП, которые применяются последовательно в течение нескольких тактовых импульсов. В некоторых случаях память, в которой хранится микропрограмма, перезаписывается, что позволяет изменить способ, которым процессор декодирует инструкции.

Исходный центральный процессор

1

диаграмма

Функциональные блоки процессора

  1. Информация из ОЗУ отправляется по BIU, который делает копию и отправляет ее в кэш L2.

  2. BIU определяет, является ли информация данными или инструкцией. и отправляет его в соответствующий кэш L1.

  3. CU извлекает инструкцию из кэша команд, перед тем как доставить ее в исполнительный модуль.

  4. Блок исполнения состоит из ALU, FPU или MMX (графика / аудио). Он проверяет, нужны ли данные, извлекает данные из кэша данных L1 → кэш L2 → RAM.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .