Что такое функциональный блок и логика управления процессором

Функции и структура процессора

Электронная вычислительная машина (ЭВМ) – это устройство, выполненное на электронных приборах, предназначенное для автоматического преобразования информации под управлением программы.

Основные элементы электронной вычислительной машины (фон-неймановской структуры) и связи между ними показаны на рис. 2.1.

Рис. 2.1. Структура ВМ фон-неймановской архитектуры

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

При первом знакомстве с ЭВМ считают, что процессор состоит из четырех устройств: арифметико-логического устройства (АЛУ), устройства управления (УУ), регистров общего назначения (РОН) и кэш-памяти. АЛУ выполняет арифметические и логические операции над данными. Промежуточные результаты сохраняются в РОН. Кэш-память служит для повышения быстродействия процессора, которое обеспечивается путем уменьшения времени его непроизводительного простоя. УУ отвечает за формирование адресов очередных команд, т.е. за порядок выполнения команд, из которых состоит программа.

Программа – это набор команд, под действием которых работает ЭВМ. Команда обеспечивает выработку в УУ управляющих сигналов, под действием которых процессор выполняет элементарные операции.

Таким образом, программы состоят из команд, а при выполнении команд процессор разбивает команды на элементарные операции.

Элементарнымиоперациями для процессора являются арифметические и логические действия, перемещение данных между регистрами процессора, счет и т.д.

Основной функцией системной шины является передача информации между процессором и остальными устройствами ЭВМ. Системная шина состоит из трех шин: шины управления, шины данных и адресной шины. По этим шинам циркулируют управляющие сигналы, данные (числа, символы), адреса ячеек памяти и номера устройств ввода-вывода.

Сделаем образное сравнение работы системной шины с работой почты. По шине данных пересылаются письма в места, адреса которых указаны на шине адреса. Шина управления следит, чтобы письма при движении не мешали друг другу и перемещались по очереди. Под письмами нужно понимать операнды (данные и команды), которыми обмениваются отдельные блоки ЭВМ.

Память предназначена для записи, хранения, выдачи команд и обрабатываемых данных.

Существует несколько разновидностей памяти: оперативная, постоянная, внешняя, кэш, CMOS (КМОП), регистровая. Существование целой иерархии видов памяти объясняется их различием по быстродействию, энергозависимости, назначению, объему и стоимости. Многообразие видов памяти помогает снять противоречие между высокой стоимостью памяти одного вида и низким быстродействием памяти другого вида. Иерархическая структура памяти будет рассмотрена в главе 3.

Внешние запоминающие устройства (ВЗУ) предназначены для долговренного хранения информации. К ВЗУ относятся накопители на магнитной ленте (магнитофоны, стримеры), накопители на жестких дисках
(винчестеры), накопители на гибких дисках, накопители на оптических дисках. ВЗУ по сравнению с ОЗУ имеют, в основном, больший объем памяти, но существенно меньшее быстродействие.

К устройствам ввода информации относятся: клавиатура, ручные манипуляторы типа «мышь», трекбол, джойстик, трекпойнт, трекпад, сканер, сенсорные экраны, световое перо, информационные перчатки, информационный костюм, шлем, джойстринг, диджитайзер, цифровая видеокамера, микрофон и др.

К устройствам вывода информации относятся: дисплей (монитор), принтер, плоттер, акустические колонки и др.

Модем выполняет функции и устройства ввода и устройства вывода информации. Он позволяет соединяться с другими удаленными компьютерами с помощью телефонных линий связи и обмениваться информацией между ЭВМ.

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

Общий принцип работы ЭВМ

Общий принцип работы ЭВМ заключается в следующем. Из процессора на шину адреса (на структурной схеме она не показана и находится внутри системной шины) выдается адрес очередной команды. Считанная по этому адресу команда (например, из ПЗУ), поступает по шине данных (внутри системной шины) в процессор, где она выполняется с помощью АЛУ. Устройство управления процессора определяет адрес следующей выполняемой команды (фактически номер очередной ячейки памяти, где находится очередная команда). После исполнения процессором текущей команды на шину адреса выводится адрес ячейки памяти, где хранится следующая команда и т.д.

Сигналы, передаваемые по управляющей шине, синхронизируют работу процессора, памяти, устройств ввода и вывода информации.

Порядок выбора адресов из памяти (и очередности выполнения команд) определяет программа, которая может располагаться в ПЗУ, но чаще выполняемая в данный момент времени программа находится в ОЗУ. В линейных программах команды последовательно выбираются из очередных ячеек памяти. В разветвляющихся программах естественный порядок выбора адресов ячеек памяти может нарушаться. В результате может происходить переход (резкий скачок) к ячейке памяти, расположенной в любом месте ОЗУ. При одном наборе исходных данных переход будет происходить, а при другом наборе перехода не будет. По этой причине такие команды называют командами условной передачи управления.

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

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

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

Очевидно, что конструкция современной ЭВМ много сложнее рассмотренной конструкции. На структурной схеме не изображены тактовый генератор, который подключен к процессору, адаптеры (или контроллеры), включенные между системной шиной и каждым устройством ввода-вывода и многие другие блоки. Однако выбранный уровень детализации позволяет легче понять общий принцип работы ЭВМ. Приведенный вид структурной схемы ЭВМ является неймановской структурой, названной так в честь американского ученого венгерского происхождения Джона фон Неймана.

Центральный процессор (ЦП) является ядром ЭВМ и выполняет следующие основные функции: выборку из ОП, дешифрацию и выполнение команд программы, организует обращения к различным видам памяти, формирует процедуры ввода-вывода, инициирует работу ВЗУ и периферийных устройств, воспринимает, и обрабатывает запросы прерываний от устройств машины и взаимодействующих с ней, осуществляет контроль и диагностику ЭВМ.

Основными узлами процессора являются:

— устройство управления (УУ);

— арифметико-логическое устройство (АЛУ).

Структурная схема процессора приведена на рисунке 2.2.

Рис. 2.2. Структурная схема центрального процессора

Устройство управления

Организует автоматическое выполнение программ и функционирование ЭВМ, как единой системы.

Счетчик команд. Счетчик команд (СК) – неотъемлемый элемент устройства управления любой ЭВМ, построенной в соответствии с фон-неймановским принципом программного управления. Согласно этому принципу соседние команды программы располагаются в ячейках памяти со следующими по порядку адресами и выполняются преимущественно в той же очередности, в какой они размещены в памяти ВМ. Таким образом, адрес очередной команды может быть получен путем увеличения адреса ячейки, из которой была считана текущая команда, на длину, выполняемой команды, представленную числом занимаемых ею ячеек.

Читайте также:  Как выбрать процессор 2019

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

В рассматриваемой ЭВМ любая команда занимает одну ячейку, поэтому содержимое СК увеличивается на единицу, что обеспечивается подачей сигнала управления +1СК. По завершении текущей команды адрес следующей команды программы всегда берется из счетчика команд. Для изменения естественного порядка вычислений (перехода в иную точку программы) достаточно занести в СК адрес точки перехода.

Хотя термин «счетчик команд» считается общепринятым, его нельзя признать вполне удачным из-за того, что он создает неверное впечатление о задачах данного узла. По этой причине разработчики ЭВМ используют иные названия, в частности программный счетчик или указатель команды. Последнее определение представляется наиболее удачным, поскольку точнее отражает назначение рассматриваемого узла УУ.

В заключение добавим, что в ряде ЭВМ счетчик команд реализуется в виде обычного регистра, а увеличение его содержимого производится внешней схемой (схемой инкремента/декремента).

Регистр команды. Счетчик команд определяет лишь местоположение команды в памяти, но не содержит информации о том, что это за команда. Чтобы приступить к выполнению команды, ее необходимо извлечь из памяти и разместить в регистре команды (РК).

Этот этап носит название выборки команды. Только с момента загрузки команды в РК она становится «видимой» для процессора. В РК команда хранится в течение всего времени ее выполнения. Как уже отмечалось ранее, любая команда содержит два поля: поле кода операции и поле адресной части. Учитывая это обстоятельство, регистр команды иногда рассматривают как совокупность двух регистров – регистра кода операции (РКОп) и регистра адреса (РА), в которых хранятся соответствующие составляющие команды.

Если команда занимает несколько последовательных ячеек, то код операции всегда находится в том слове команды, которое извлекается из памяти первым.

Это позволяет по коду операции определить, требуются ли считывание из памяти и загрузка в РК остальных слов команды. Собственно выполнение команды начинается только после занесения в РК ее полного кода.

Регистр адреса памяти. Регистр адреса памяти (РАП) предназначен для хранения адреса ячейки основной памяти вплоть до завершения операции (считывание или запись) с этой ячейкой. Наличие РАП позволяет компенсировать различия в быстродействии ОП и прочих устройств машины.

Регистр данных памяти. Регистр данных памяти (РДП) призван компенсировать разницу в быстродействии запоминающих устройств и устройств, выступающих в роли источников и потребителей хранимой информации. В РДП при чтении заносится содержимое ячейки ОП, а при записи помещается информация, подлежащая сохранению в ячейке ОП. Собственно момент считывания и записи в ячейку определяется сигналами ЧтЗУ и ЗпЗУ соответственно.

Дешифратор кода операции. Дешифратор кода операции (ДКОп) преобразует код операции в форму, требуемую для работы микропрограммного автомата (МПА). Информация после декодирования определяет последующие действия МПА, а ее вид зависит от организации МПА. В рассматриваемой ВМ – это унитарный код УнитК. Часто код операции преобразуется в адрес первой команды микропрограммы, реализующей указанную в команде операцию. С этих позиций ДКОп правильнее было бы назвать не дешифратором, а преобразователем кодов.

Микропрограммный автомат. Микропрограммный автомат (МПА) правомочно считать центральным узлом устройства управления. Именно МПА формирует последовательность сигналов управления, в соответствии с которыми производятся все действия, необходимые для выборки из памяти и выполнения команд. Исходной информацией для МПА служат: декодированный код операции, состояние признаков (флагов), характеризующих результат предшествующих вычислений, а также внешние запросы на прерывание текущей программы и переход на программу обслуживания прерывания.

Введем два определения:

Микрооперация – это элементарные пересылки или преобразования информации, выполняемые в течение одного такта сигналов синхронизации. В течение одного такта могут одновременно выполнятся несколько микроопераций. Совокупность сигналов управления, вызывающих микрооперации, выполняемые в одном такте, называют микропрограммой. Реализует микропрограмму, т.е. вырабатывает управляющие сигналы, задаваемые ее микрокомандами, МПА – БМУ (блок микропрограммного управления).

Арифметико-логическое устройство

Это устройство, как следует из его названия, предназначено для арифметической и логической обработки данных. В машине, изображенной на рис. 2.2, оно содержит следующие узлы.

Операционный блок. Операционный блок (ОПБ) представляет собой ту часть АЛУ, которая, собственно, и выполняет арифметические и логические операции над поданными на вход операндами. Выбор конкретной операции из возможного списка операций для данного ОПБ определяется кодом операции команды. В нашей ВМ код операции поступает непосредственно из регистра команды. В реальных машинах КОп зачастую преобразуется в МПА в иную форму и уже из микропрограммного автомата поступает в АЛУ. Операционные блоки современных АЛУ строятся как комбинационные схемы, то есть они не обладают внутренней памятью и до момента сохранения результата операнды должны присутствовать на входе блока.

Регистры операндов. Регистры РХ и РY обеспечивают сохранение операндов на входе операционного блока вплоть до получения результата операции и его записи (в нашем случае в МП, т.е. в один из РОН).

Регистр признаков. Регистр признаков (РПрз) предназначен для фиксации и хранения признаков (флагов), характеризующих результат последней выполненной арифметической или логической операции. Такие признаки могут информировать о равенстве результата нулю, о знаке результата, о возникновении переноса из старшего разряда, переполнении разрядной сетки и т.д. Содержимое РПрз обычно используется устройством управления для реализации условных переходов по результатам операций АЛУ. Под каждый из возможных признаков отводится один разряд РПрз.

Формирование признаков осуществляется блоком формирования состояний регистра признаков, который может входить в состав ОПБ либо реализуется в виде внешней схемы, располагаемой между операционным блоком и РПрз.

Местная память процессора (аккумулятор). Аккумулятор (Акк) – это регистр, на который возлагаются самые разнообразные функции. Так, в него предварительно загружается один из операндов, участвующих в арифметической или логической операции. В Акк может храниться результат предыдущей команды и в него же заносится результат очередной операции.

Через Акк зачастую производятся операции ввода и вывода. Строго говоря, аккумулятор в равной мере можно отнести как к АЛУ, так и к УУ, а в ВМ с регистровой архитектурой его можно рассматривать как один из регистров общего назначения.

Источник

Что такое функциональный блок и логика управления процессором?

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

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

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

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

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

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

Читайте также:  Как запустить майнинг на процессоре с видеоинструкцией

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

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

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

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

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

2 ответа 2

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

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

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

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

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

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

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

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

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

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

получать

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

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

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

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

Источник

Форматы команд. Взаимодействие функциональных блоков процессора при выполнении команд

Работой МП управляет программа, записанная в оперативной памяти ЭВМ. Адрес очередной команды хранится в счетчике команд IP (Instruction Pointer) и в одном из сегментных регистров, чаще всего в CS.

Адрес очередной команды через внутреннюю магистраль МП и интерфейс памяти поступает на шину адреса системной магистрали. Одновременно из устройства управления (УУ) исполнительного блока на шину управления выдается команда (управляющий сигнал) в ОП, предписывающая выбрать число, находящееся по адресу, указанному в системной магистрали. Выбранное число, являющееся очередной командой, поступает из ОП через шину данных системной магистрали, интерфейс памяти, внутреннюю магистраль МП на регистр команд (INST).

Из команды в регистре команд выделяется код операции, который поступает в УУ исполнительного блока для выработки управляющих сигналов, настраивающих микропроцессор на выполнение требуемой операции.

В зависимости от используемого в команде режима адресации организуется выборка необходимых исходных данных.

Любая команда ЭВМ представляет собой некоторую упорядоченную последовательность битов, которая определяет:

1. Операцию, инициируемую этой командой.

2. Адреса операндов, участвующих в этой операции.

Поэтому в большинстве ЭВМ команда имеет операционно-адресную систему:

Код операции Код адресов (операндов)

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

Определение. Под форматом команды понимается состав, назначение и расположение отдельных полей команды.

Развитие структуры происходит лишь вследствие уменьшения поля адреса (CISC-процессоры). С появлением RISC процессоров произошел возврат к расширенной адресности системы команд. Говоря о базовом уровне, речь идет о CISC процессорах. Первоначально система команд имела следующий Формат:

КОп А1 А2 А3 А4

СчАК := А4, где СчАК – счетчик адреса команд, * — операция, (х) – содержимое адреса х.

В каждой команде задается адрес следующей команды (это самый универсальный вариант), но длина такой команды велика. При такой системе команд их можно располагать в любом порядке, но обычно стараются расположить последовательно. Такой порядок называется естественным, но при естественном расположении необходимость в поле А4 отпадает. Следовательно формат приобрел вид:

КОп А1 А2 А3

Даже переход к такому формату слабо уменьшает длину команды. Большинство вычислений имеет рекуррентную схему вычислений, следовательно, систему команд можно сделать двухадресной:

Такая схема вычислений является основной для современных ЭВМ.

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

Таким образом, если использовать аккумуляторный принцип, то для системы команд достаточно использовать один адрес:

Основная масса команд CISC процессора является одно- и двухадресная. В некоторых случаях команды можно не адресовать, если команда задает операцию над фиксированными адресами (например, действие над аккумуляторами), в формате таких команд адресное поле отсутствует (команда называется безадресной).

Короткие команды предпочтительнее длинных, так как занимают меньше памяти. Любая память ЭВМ характеризуется скоростью передачи (пропускной способностью). Если физическое быстродействие фиксировано, то количество выбираемых из памяти команд, обратно пропорционально длине команды. А значит скорость работы процессора для коротких команд больше, чем для длинных. Короткие команды увеличивают производительность процессора. Для большинства современных ЭВМ процессор работает быстрее памяти, следовательно, чтобы обеспечить высокую производительность, нужно увеличить количество команд, извлекаемых из памяти за один цикл обращения.

Читайте также:  Практика выбора безопасных разветвителей для вентиляторов

Источник



Устройство управления процессора

Устройство управления является наиболее сложным устройством персонального компьютера, генерирующим управляющие сигналы, которые передаются по кодовым шинам инст­рукций во все блоки компьютера. Его упрощенная функциональная схема представлена на рис. 3.2.

Рис. 3.2. Функциональная схема устройства управления

Основными элементами устройства управления являются:

регистр команд – запоминающий регистр, в котором хранится код команды, составленный из кода выполняемой операции и адресов операндов, участвующих в операции;

дешифратор операций – логический блок, выбирающий из множества вариантов решения один в соответствии с поступающим из регистра команд кодом операции;

постоянное запоминающее устройство микропрограмм – блок для хра­нения управляющих сигналов, необходимых при выполнении операций обработки информации; сигнал, выбранный дешифратором операций, считывает из ПЗУ микропрограмм необходи­мую последовательность управляющих сигналов;

узел формирования адреса – уст­ройство, вычисляющее полный адрес ячейки памяти по реквизитам, поступаю­щим из регистра команд и регистров процессорной памяти;

кодовые шины данных, адреса и инструкций – часть внутренней ин­терфейсной системы процессора.

Устройство управления формирует управляющие сигна­лы для выполнения следующих процедур:

1) выборки из регистра процессорной памяти адреса ячейки оперативной памяти, в которой хранится очередная команда программы;

2) выборки из оперативной памяти кода очередной команды и передачи его по кодовой шине данных в ре­гистр команд;

3) передачи в дешифратор операций кода операции для его последующей расшифровки;

4) передачи расшифрованного кода операции в ПЗУ микро­программ для считывания управляющих сигналов, которые определяют необходимые процедуры для выполнения заданной операции;

5) передачи считанных управляющих сигналов в нужные блоки компьютера по кодовой шине инструкций;

6) считывания из регистра команд и регистров процессорной памяти отдельных составляющих адресов операндов и формирования их полных адресов;

7) передачи полных адресов операндов по кодовой шине адреса в процессорную память;

8) выборки операндов по сформированным адресам из оперативной памяти и выполнения требуемой операции;

Источник

Что такое функциональный блок и логика управления процессором?

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

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

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

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

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

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

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

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

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

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

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

2 ответа 2

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

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

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

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

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

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

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

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

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

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

получать

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

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

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

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

Источник