ORGANIZATsIYa_EVM
.pdf
Горизонтально-вертикальное кодирование(гибрид двух способов).
МИКРООПЕРАЦИИ
|
ДШ 1 |
|
ДШ N |
|
|
|
|
|
|
|
|
|
|
|
|||
Поле 1 |
полеN |
адресная часть |
|||
|
|
|
|
|
|
|
|
|
|
|
|
При данном способе кодирования операционная часть микрокоманды разбивается на несколько полей, каждое из которых обычно управляет однородными узлами в процессоре. Например, в поле микроопераций АЛУ кодируются арифметические действия над операндами а их местонахождения кодируются адресами операционных регистров в соответствующих полях микрокоманды. Для анализа состояния узлов в процессоре отводят поля переходов, по кодам которых происходит аппаратная проверка того или иного флага или триггера в процессоре и в зависимости от его нулевого или единичного состояния формируется сигнал установки разряда адреса следующей микрокоманды.
Вертикально-горизонтальный способ кодирования.
Принцип данного способа заключается в том, операционное поле микрокоманды разбивается на две части; В первой каждый разряд фиксирует наличие или отсуствие
микрооперации, подобно как это делается при горизонтальном методе, в группе микроопераций, номер или код которой указывается во второй части операционного поля микрокоманды.
Такой способ хоть и позволяет сократить длину микрокоманды, но требует тщательного анализа и большой подготовительной работы при проектировании блока микропрограммного управления так как необходимо выбрать не только оптимальное число групп, но и сформировать их по возможности равномощными. Сложность реализации блока управления при таком кодировании еще и в том, что каждая микрокоманда имеет ограниченные возможности воздействия на количество функциональных узлов в процессоре, в противном случае пришлось бы увеличить длину первой части операционного поля микрокоманды, чтобы охватить управлением как
можно большее число узлов в процессоре. А это проще реализовать при горизонтально-вертикальном кодировании, когда в составе одной микрокоманды не одно поле, а группа полей и управлению подвергаются все узлы в процессоре таким образом увеличивая степень параллелизма на уровне выполнения команды.
Способ же вертикально-горизонтального кодирования ,как напрашивается вывод, в системах с малым количеством объектов управления или в которых происходит последовательная активизация узлов, функционирующих по принципу временного разделения с передачей промежуточных результатов из одного в другой,
Функциональные узлы
И |
|
И |
|
И |
|
|
И |
|
И |
|
И |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дешифратор
группы
Поле микроопераций в группе |
код группы |
адресная часть |
|
|
|
Блок-схема блока с микропрограммным управлением 1)Каждое управляющее слово расположено в ЦП по определенному адресу. 2)Часть разрядов микрокоманд отведена для размещения адреса следующей микрокоманды.
3)Одновременно с выполнением текущей микропрограммы формируется адрес следующей микрокоманды.
4)Для организации ветвления в микропрограмме( ближний переход) в микрокоманде отводят поле для анализа условий переходов(обычно для формирования младших разрядов регистрового адреса микрокоманд).
5)Для перехода в другие микрокоманды используются технологии перехода как и в программах с использованием регистрового адреса возврата.
6)В управления памяти микропрограмм находятся следующие вызовы микропрограмм:
а)микропрограммы операций; б) микропрограммы выборки команд;
в) микропрограммы обработки прерываний; г) микропрограммы пульт. операций; д)микропрограммы продвижение таймеров;
е) микропрограммное восстановление после машинных ошибок;
ж) ди аг но ст ич ес ки
е
ми
кр
оп
ро
гра
мм
ы
дш
Блок перехода к микропрограммам с использованием регистра адреса возврата
Установки
ТХР
Адреса
возврата
Микропрограммные управления в Z архитектурах. Идея использования микрокода в Z архитектурах базируется на
следующих положениях:
1)микрокод размещается в системной памяти ( HSA – hardware system address ) области предназначен для описания аппаратных средств, а не как во всех предыдущих архитектурах в отдельной памяти со своей структурой микрокоманд.
2)Структура микрокода (формат) такой же как и для всех команд в системе. Имеет вертикальное кодирование, то есть это не микрокоманда, а обычная системная команда.
3)Рутины ( микропрограмм ) могут использовать только те команды, которые непосредственно выполняются в процессоре, то есть использование экстракодов, представляющих комплекс команд, запрещено.
4)Кроме того в набор команд микрокода входит около 70-ти инструкций, которые могут быть использованы в рутинах микрокодах. Эти инструкции обрабатывают уникальные данные, доступ к которым для системных команд запрещен.
5)Для обработки данных в рутинах микрокода выделяются специальные регистры, а так же для хранения адресов с целью доступа к областям памяти пользователя и к областям HSA.
6)Микрокод использует аппаратные средства предсказания переходов в блок ВТВ, так же как и инструкции системных команд.
7)Использование в составе блока восстановления в процессоре регистров доступных микрокоду обеспечить интерфейс для управления аппаратными средствами процессора.
Блок управления с жесткой логикой.
Формирователи |
|
Функциональ |
управляющих сигналов |
|
ные блоки |
|
|
процессора |
|
|
|
|
|
|
Комбинационные схемы |
|
|
Блока управления процессора |
|
|
|
|
|
Воснову блока управления с жесткой логикой положен принцип построения комбинационных схем с обратными связями, схем в которых каждое последующее состояние элементов схем определяется предыдущим и с учетом всех возмущающих воздействий, представляющих результаты действия микроопераций или подругому управляющих сигналов, поступающих в функциональные блоки процессора , так и сигналов внешних несвязанных непосредственно с работой процессора.
Активизация блока управления с жесткой логикой происходит при выполнении команды по коду операции, который подается на дешифратор, на одном из выходов которого формируется управляющий сигнал, действующий во время выполнения команды в процессоре.
Вблоке управления находится распределитель импульсов, который по каждому тактовому импульсу в конъюнкции с управляющим сигналом с дешифратора кода операции формирует конкретные для каждой команды управляющие сигналы, направляемые в блоки процессора.
Количество тактов вырабатываемых распределителем берется из условия выполнения самой сложной команды в процессоре требующей для выполнения наибольшее количество тактов. Обычно выполнение команды делится на этапы или машинные циклы, как мы уже говорили, поэтому каждый этап выполнения команды фиксируется на триггерах. Переключение этих триггеров осуществляется через комбинационные схемы, в качестве входных сигналов в которых используют не только управляющие сигналы с дешифратора кода операций , но и другие параметры формата
команд. Так, например, триггер такта базирования в команде не будет установлен, если при переходе из такта чтения команды
комбинационная схема обнаружит нулевое значение поля базы в формате команды. При таком построении блока управления каждый триггер, фиксирующий этап выполнения команды, своим единичным состоянием разрешает формирование управляющих сигналов, распределенных во времени в течении такта. То есть помимо основного распределителя импульсов требуется дополнительный с большей частотой, вырабатывающий тактовые сигналы для каждого машинного цикла или этапа выполнения команды в процессоре
На ниже приведенной схеме представлен фрагмент комбинационной схемы ,на которой показано взаимодействие распределителя тактовых импульсов и выходов дешифратора кода операций при формировании управляющих сигналов во время выполнения команды в процессоре и влияние сигналов обратной связи поступающих из других блоков в блок управления.
В качестве другого примера приведена схема с жесткой логикой на базе использования программируемой логической матрицы, при изготовлении которой ,образуется схема допускающая множество вариантов комбинации входных сигналов. На каждый входное элемент представляющий конъюнкцию подаются все входные сигналы как в прямой так и в инверсной форме. Ко входам каждого элемента выполняющего функцию ИЛИ подведены все выходы элементов И . Таким образом можно реализовать любую
комбинационную схему в приделах наличия количества логических элементов путем устранения ненужных связей методом прожига.
Использование П.Л.М. в блоке управления «жесткой логикой»
ЛЕКЦИЯ N11
Тема лекции:
1.Блок операций.
2.Конвейерная обработка команд в процессоре.
Блок операций.
Блок операций предназначен для аппаратной реализации тех функций, которые заложены в команды осуществляющие преобразование данных, указанных в адресной части команды. Преобразования эти в первую очередь связаны с арифметическими и логическими действиями над операндами, поэтому блок операций идентифицируют как АЛУ.
Именно блок операций во многом определяет архитектуру процессора. В зависимости от функций, заложенных в архитектуру блока операций, процессор может быть классифицирован как спецпроцессор, предназначенный для решения узкого круга задач, связанных с определенными видами математических вычислений. Примером тому могут быть матричный или векторный процессор, которые выполняют однотипные операции над большими массивами данных.
При проектировании процессора общего назначения в котором основная масса операций связана с выполнением разнотипных действий над элементами массива, целесообразно иметь классическое операционное устройство в виде многофункционального АЛУ, в котором в зависимости от выполняемой операции активизируется соответствующий узел или схема.
Например, при обработке последовательных кодов в реальном масштабе применяются АЛУ побитной обработки.
При последовательной обработке команд в процессоре целесообразно иметь многофункциональное многоразрядное АЛУ, А при выполнении операций с плавающей точкой с особенностью
алгоритма выполнения операции блочное, в котором два блока независимо друг от друга ведут параллельную обработку мантисс и порядков операндов.
В виду специфики представления чисел в двоичной системе исчисления умножение двух чисел реализуется с использованием операций сложения и сдвигов промежуточных сумм относительно множимого. Процесс занимает не один такт работы операционного
