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