Управляющий блок с хранимой в памяти логикой работы


Анализируя название темы возникает такой вопрос: Зачем нам логику работы УБ хранить в памяти?

Самым сложным в современных процессорах является его логика работы. Логика заключается в том, что процессор на себя берет функции поддержки операционной системы. Чем больше времени проходит, тем усложняется сложность тех операций или команд, которые выполняет процессор, но сами операции, тот набор операций через которые эти команды реализуются остаются фактически неизменными, остаются такой какой мы с вами ввели рассматривая ОБ – это ALU плюс двигатель.

Таким образом, мы должны усложнять устройство управления. Классический пример взаимодействия ОБ и УУ — это реализация команды умножения и деления. В этом случае используется обычный сумматор, который может вычитать, если используется дополнительный код, может выполнять поразрядные логические операции. И вот с помощью этого примитивного устройства реализуется умножение или деление, но умножение и деление при такой реализации становиться сложной последоватльностью шагов,которое надо выполнить устройству управления последовательности микрокоманд, чтобы реализовать эту команду. При проектировании процессора все ноу-хау на 90% включаются в проектированни устройства управления. Стоимость устройства управления составляет 90% стоимости процессора. А в связи с этим хотелось бы сделать такой процессор, который позволял бы изменять логику своей работы, т.е., к примеру, добавить какую-то команду или изменить выполнение какой-то команды, сохранив некое ядро, типа ОБ, неизменным. И поэтому, в 1956 году английским ученым было предложено использовать запоминающее устройство для хранения логики работы УБ. А уже запоминающее устройство можно программировать.

Структура УБ, позволяющего нам изменять микропрограммы, используемые при функционировании процессора.

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

Во всех случаях у нас, перед тем как выполнить некую команду, надо считать ее из запоминающего устройства. А значит надо иметь некоторый регистр, где эта команда будет храниться во время ее исполнения. Иметь нужно регистр, потому что в момент исполнения команды возможно еще раз обращение к памяти. Если мы объединим ЗУК и ЗУД в единое устройство: в одной области будем хранить команды, в другой данные, то понятно что в этом случае за обращением к операндам потребуется обращение к этому запоминающему устройству и поэтому команда не может быть выставлена на выходе ЗУ все время: ЗУ начинает менять свой режим работы, а значит должен быть регистр команд. Получается, что код операции(КОП на схеме) задает часть адреса микрокоманд т.е. как бы определяет начало микропрограммы в памяти для этой команды. Регистр РгАМк является синхронным и мы будем тактировать его некоторым сигналом clip_image002. Далее оказывается мы должны учитывать состояние ОБ или флаги ОБ. Адрес микрокоманды поступает на память микропрограмм. По этому адресу из памяти микропрограмм извлекается микрокоманда. Из регистра РгМк есть 3 группы разрядов(выхода). То что УБ управляет самим собой (на схеме обозначается связью регистров РгМк и РгАМк). Другая группа выходов содержит микрооперации УБ и другие устройства. РгМк является синхронным и мы будем тактировать его сигналом dH.

группа выходов

Чтобы понять как работает данное устройство нарисуем временную диаграмму.

временная диаграмма

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

Загрузка...