Микропроцессоры и микроконтроллеры

 
 
 
«Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня.»
Larry Wall
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы работы микропроцессоров :: Обобщенная структура микропроцессора

Обобщенная структура микропроцессора

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

В обобщенном виде функционирование процессора может быть представлено как циклическое чередование двух этапов – (1) выборки (чтения) команд из памяти и их дешифрации, и (2) выполнения команд.

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

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

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

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

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

Операционное устройство (ОУ) служит для обработки цифровой информации (арифметические и логические операции, сдвиги, анализ чисел и т.п.).

Обобщенна структура микропроцессора показана на рис. 3.1.

Обобщенная структура микропроцессора

Рис. 3.1. Обобщенная структура микропроцессора

Основным элементом для хранения информации внутри процессора являются регистры, которые выполняют функцию сверхоперативного ОЗУ с минимальным временем записи и считывания.

Регистр команд РгК (англ. IR - insructionregister) используется для фиксации кода команды после считывания ее из памяти. Как правило, в этом регистре фиксируется лишь код операции (КОП) - часть кода команды, определяющая выполняемое действие и способ адресации операндов (см. ниже).

Регистры операндов служат для хранения данных в процессе их обработки, позволяют избегать постоянных обращений к памяти. В современных процессорах количество регистров операндов может достигать 10-15 штук. По сути, они образуют внутреннюю память процессора. В однокристальных микроконтроллерах количество регистров операндов доведено до нескольких десятков, и применительно к ним вводится понятие регистрового файла. Некоторые из регистров операндов могут использоваться также для хранения или формирования адресов других операндов, т.е. на их основе реализуется механизм косвенной адресации данных в памяти (см. ниже). Данные, размещенные в регистрах операндов, поступают на обработку в арифметико-логическое устройство (АЛУ). В некоторых типах процессоров один из регистров операндов всегда является и приемником результата операции в АЛУ – такой регистр принято называть регистром-аккумулятором Процессоры, в которых принята схема выполнения операций в виде:

<аккумулятор> (операция) <операнд> Þ <аккумулятор>,

называются процессорами с аккумуляторно-ориентированной структурой.

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

Указатель стека (англ. SP - stackpointer ) - регистр, в котором при выполнении программы хранится адрес границы той области памяти, для которой программист использует принцип последовательного доступа к данным (так называемый протокол работы со стеком).

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

Регистр признаков (англ. F - flags) - это элемент внутренней памяти, в котором в виде отдельных битов фиксируются признаки, характеризующие результат операции, выполненной в АЛУ (нулевой результат, переполнение разрядной сетки и т.п.).

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

Результат операции, выполненной в АЛУ, заносится в один из регистров или пересылается в память (в зависимости от команды). В регистре признаков автоматически формируются признаки, характеризующие этот результат.

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

Выполнение команды всегда занимает некоторое количество периодов тактовой частоты и состоит из последовательности элементарных действий процессора (выборка команды, чтение операнда, вычисление в АЛУ). Эти элементарные действия называют машинными циклами (МЦ). В течение каждого МЦ происходит генерация строго определенной комбинации управляющих сигналов для соответствующих узлов процессора и всей вычислительной системы.