logo search
Кафедра “Системы автоматического управления”

6.1. Функциональная схема однокристального мп.

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

Рис.6.1

На рис.6.1 приняты следующие обозначения: АLU - арифметико-логическое устройство; АС - аккумулятор; ВD, BA, BC - буферные усилители шины данных, адреса и управления; RA-адресный регистр; R1 ...Rn – набор регистров; RF - регистр флагов; РС - счетчик команд; IR - регистр команд; DС - дешифратор команд; СВ- устройство синхронизации и управления.

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

Регистр - схема для временного хранения двоичной информации. Его строят на триггерах, общее число которых определяет разрядность регистров. Каждый триггер выполняет функции ввода, вывода и хранения одного разряда 0 или 1 двоичного числа.

Регистры, входящие в состав МП подразделяются на регистры данных, адресные , специальные.

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

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

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

Разрядность регистров данных равна разрядности шины данных.

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

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

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

Регистр команд принимает и хранит код очередной команды, адрес которой находится в счетчике команд. По сигналам УУ команды из него переписываются в дешифратор команд.

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

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

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

Набор шин МП представляет собой внутреннюю магистраль.

Для сопряжения внутренних шин МП с внешними шинами используются специальные буферные схемы: буферные регистры адреса и данных, буферные усилители шины управления.

Буферный регистр адреса - специальный регистр, служащий для приема, хранения адресной информации и сопряжения с внешней шиной адреса (регистр однонаправленный).

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

Буферные усилители шины управления служат для приема и выдачи сигналов управления в МПС с целью осуществления обмена информацией между компонентами МПС и периферийными устройствами.

Работа МП заключается в следующем. При запуске программы, в РС загружается адрес первого оператора программы (стартовый адрес).

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

Адрес очередной команды, которую необходимо выполнить в соответствии с программой , формируется в РС - счетчике команд. Содержимое РС после извлечения очередной команды из памяти увеличивается на число, соответствующее длине выполненной команды в байтах. Это обеспечивает последовательное выполнение команд программы.

Нормальная последовательность выполнения команд может быть изменена специальными командами ветвления, вызова подпрограммы, возврата из подпрограмм и т.д. Выполнение этих команд приводит к изменению содержимого счетчика команд РС отличному от простого увеличения на 1 или 2, т.е. в него загружается адрес команды, которая должна быть выполнена. Чтобы иметь возможность вернуть программу в исходное состояние, например, после возврата из п/п, необходимо сохранить текущее содержимое внутренних регистров МП и РС.

Данная операция выполняется, как правило, при помощи специально организованной области памяти - стека. Перед вызовом п/п содержимое регистров МП записывается в стек, а, при возврате из п/п оно восстанавливается путем извлечения из стека, обеспечивая тем самым продолжение выполнения программы.