Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСС.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
702.46 Кб
Скачать

7 Классификация микропроцессоров и микроконтроллеров

По области применения определяются три направления развития микропроцессоров:

микроконтроллеры; универсальные микропроцессоры; сигнальные микропроцессоры.

По внутренней структуре существует два основных принципа построения микропроцессоров: Гарвардская архитектура; Архитектура Фон-Неймана.

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

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

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

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

В Гарвардской архитектуре принципиально различаются два вида памяти: Память программ; Память данных.

В настоящее время выпускается целый ряд типов МК. Все эти приборы можно условно разделить на три основных класса: 8-разрядные МК для встраиваемых приложений; 16- и 32-разрядные МК; цифровые сигнальные процессоры (DSP).

Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко используемые в промышленности, бытовой и компьютерной технике.

8 Состав команд арифметических действий

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

Команда сложить непосредственно является двухбайтовой. Команда ADI выполняется по схеме, приведенной на рис. 6.4, а. Данные, находящиеся в памяти непосредственно за КОП, складываются с содержимым аккумулятора (0000 11112). Сумма (0001 11112) помещается в аккумулятор.

Рис 6 4. Интерпретация операции ADD M в кодах:

а — сложение (А) с данными, следующими непосредственно за КОП; б—сложенье (L) и (А); б—сложение (Н) и (А); г—сложение с косвенной адресацией

Команда сложить содержимое регистров L и А (мнемоника ADD L), на рис. 6.4, б показано ее выполнение. Содержимое аккумулятора (0000 10002) складывается с содержимым регистра L (0000 000l2), получающаяся в результате выполнения команды ADD L сумма (0000 l00l2) помещается в аккумулятор.

Следующая команда представляет собой однобайтовую команду сложить содержимое регистров Н и А (мнемоника ADD Н). Это другая команда сложения содержимого одного регистра с содержимым другого (как и предшествующая), и она выполняется в последовательности, приведенной на рис. 6.4, в. Содержимое регистра А (0010 11002) сложено с содержимым регистра Н (0001 001l2), сумма (0011 11112) помещена в аккумулятор.

Четвертая команда представляет собой однобайтовую команду сложить с косвенным регистром (мнемоника ADD M). Адрес данного слагаемого числа задан в более сложной форме с использованием способа косвенной регистровой адресации. Рисунок 6.4, г является примером выполнения команды ADD M. Пара HL указывает 16-разрядный адрес памяти, т.е. LOC (от location – место расположения). Содержимое LOC (0000 001l2) сложено с содержимым аккумулятора (0110 00002), сумма (0110 001l2) помещена в аккумулятор. Команды косвенного сложения используют в качестве указателя адреса 16-разрядный регистр (обычно пару HL).

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

Р ис. 6.6. Команда вычитания данных с непосредственной адресацией

Команда вычесть непосредственные данные (мнемоника SUI) используется в примере на рис. 6.6. Следующие непосредственно за КОП данные второго байта памяти 0000 00012 вычитаются из содержимого аккумулятора 0000 10012, разность передается в аккумулятор, после чего операция завершается. Индикатор переноса сбрасывается в 0. Это означает, что переноса не было или содержащееся в аккумуляторе число до операции было больше числа в памяти. Индикатор нуля проверяет содержимое аккумулятора. Операция вычитания завершается, содержимое 0000 1000 - не нуль, индикатор нуля также сброшен в 0.

Команды сравнения вычитают содержимое регистра или ячейки памяти из содержимого аккумулятора, но не изменяют содержимое ни того, ни другого. Индикаторы же подвержены воздействию команд сравнения.

Рис. 6 8. Команда сравнения (А) с (L)

На рис. 6.8 приведен пример использования команды СРАВНИТЬ регистр L. Равные числа 0001 00002 являются содержимым аккумулятора и регистра L и сравниваются микропроцессором. Заметим на рис. 6.8, а, что ни одно, ни другое из содержимых не изменяется после операции сравнения. Индикаторы подвержены влиянию результата сравнения. Первое число 0001 00002 и дополнительный код второго числа 1111 0000 складывается, что дает 1 0000 0000. Затем проверяется равенство 0 восьми младших разрядов. Индикатор нуля принимает значение 1. Переполнение 1 инвертируется АЛУ, и в этом примере индикатор переноса принимает значение 0. Сброшенный индикатор переноса СУ означает, что содержимое аккумулятора больше или равно содержимому регистра L. Т.о., арифметические операции типового микропроцессора могут выполняться по большому числу команд из всего состава. Многие МП снабжены несколькими дополнительными арифметическими командами и индикаторами в их регистре состояния.