Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_з_1.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2.57 Mб
Скачать

3.3. Блок управления

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

- считывает и запоминает текущую команду;

- формирует адрес следующей команды;

- реализует выполнение по тактам алгоритма поступившей ко­манды;

- управляет обменом информацией с внешними устройствами по системной шине.

Блок управления состоит из регистра команд (РгК), дешиф­ратора команд (ДшК) и блока формирования управляющих сиг­налов (БФУС). Управляющие сигналы с выходов БФУС поступа­ют на управляющие входы других блоков МП, настраивая их на выполнение определенных микроопераций. В состав блока управле­ния также включают программно доступные счетчик команд PC (Program Counter) и указатель стека SP (Stack Pointer). Большин­ство элементов этого блока, кроме счетчика PC и указателя сте­ка SP, являются программно недоступными. Счетчик PC (его другое название Instruction Pointer — указатель команд IP) пред­назначен для адресации команд программы. После выборки из памяти очередной команды в регистре IP формируется адрес следующей по порядку команды. В командах условных и безус­ловных переходов, вызова подпрограмм и возврата из подпрог­рамм в регистр IP непосредственно загружается адрес перехода. Назначение и использование указателя стека рассматривается ниже.

Выполнение любой команды реализуется как последователь­ность трех фаз: выборка, декодирование и выполнение. Фаза вы­борки обеспечивает считывание очередной команды из памяти и пересылку ее в МП. Адрес считываемой команды определяется содержимым программного счетчика PC. Любая команда, всегда содержит всю необходимую информацию о выполняемой опера­ции и об ее операндах. Для указания этой информации команды МП имеют определенную структуру, называемую форматом или структурой команды. Форматы команд у различных типов МП в деталях отличаются. Общим является то, что структура команды состоит из двух частей: кода операции и адресной части. Код операции однозначно определяет тип выполняемой операции. Ад­ресная часть указывает на ячейки памяти, к которым надо обра­титься, выполняя команду. В ней содержится информация об ад­ресах операндов и результата. В зависимости от типа команда может состоять из одного или нескольких байтов, при этом код опера­ции всегда размешается в первом байте команды. Код операции текущей команды запоминается в РгК. В фазе декодирования со­держимое РгК с помощью ДшК преобразуется в управляющее слово. Схема синхронизации, используя это слово, вырабатыва­ет совокупность сигналов, управляющих внутренними операци­ями МП и обменом информацией между МП и внешними уст­ройствами.

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

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

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

Так как выполнение любой команды по тактам на уровне реги­стровых передач реализуется микропрограммой команды, управ­ляющий автомат, формирующий наборы управляющих сигналов, называют микропрограммным автоматом (МПА). В соответствии с реализуемой логикой управления МПА подразделяют на МПА с «жесткой логикой управления и МПА с «мягкой» логикой уп­равления. Термин «микропрограммный автомат», вначале исполь­зовавшийся только применительно к управляющим автоматам с «мягкой» логикой, с начала 80-х гг. XX в. используется и для авто­матов с «жесткой» логикой.

МПА с «жесткой» логикой управления представляется в виде конечного автомата (в сложных случаях используется сеть конеч­ных автоматов). Алгоритм команды в МП с подобным МПА задан жестко соединениями схемы, поэтому список операций (система команд) МП является неизменным, и это не позволяет вносить какие-либо изменения в систему команд МП после его изготов­ления. Основным достоинством МПА с «жесткой» логикой управ­ления является его высокое быстродействие. Такие устройства уп­равления используются в большинстве однокристальных МП, от­личительной характеристикой которых является то, что все эле­менты структуры МП выполнены на одном кристалле.

При реализации МПА с «мягкой» логикой управления исполь­зуется типовая структура автомата с блоком памяти микропрог­рамм, который, как и основная память, имеет линейно-адресную организацию. До появления технологии СБИС МПА с «мягкой» логикой управления имели преимущественное распространение. В основном это было связано с тем, что при ограниченных воз­можностях технологии производства ИС и средств автоматизации проектирования МПА с «мягкой» логикой управления позволяли эффективно использовать блоки памяти с регулярной структурой для хранения микропрограмм команд проектируемой системы. Явное представление микропрограмм команд в памяти облегчает внесение изменений в алгоритмы управления. В целом разработка УА МПА с «мягкой» логикой управления в значительной мере определяется разработкой микропрограмм команд.

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

МПА с «жесткой» логикой управления представляется в виде конечного автомата (в сложных случаях используется сеть конеч­ных автоматов). Алгоритм команды в МП с подобным МПА задан жестко соединениями схемы, поэтому список операций (система команд) МП является неизменным, и это не позволяет вносить какие-либо изменения в систему команд МП после его изготов­ления. Основным достоинством МПА с «жесткой» логикой управ­ления является его высокое быстродействие. Такие устройства уп­равления используются в большинстве однокристальных МП, от­личительной характеристикой которых является то, что все эле­менты структуры МП выполнены на одном кристалле.

При реализации МПА с «мягкой» логикой управления исполь­зуется типовая структура автомата с блоком памяти микропрог­рамм, который, как и основная память, имеет линейно-адресную организацию. До появления технологии СБИС МПА с «мягкой» логикой управления имели преимущественное распространение. В основном это было связано с тем, что при ограниченных воз­можностях технологии производства ИС и средств автоматизации проектирования МПА с «мягкой» логикой управления позволяли эффективно использовать блоки памяти с регулярной структурой для хранения микропрограмм команд проектируемой системы. Явное представление микропрограмм команд в памяти облегчает внесение изменений в алгоритмы управления. В целом разработка УА МПА с «мягкой» логикой управления в значительной мере определяется разработкой микропрограмм команд. Следует отме­тить, что использование такого подхода внутри однокристально­го МП не является предпочтительным, так как приводит к сни­жению быстродействия. При необходимости изменения команд таких МП вносят изменения в схемные реализации алгоритмов команд, что при развитых средствах автоматизированного проек­тирования не представляет труда.

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