Отметим, что команды перемещения на самом деле данные не перемещают, а копируют их, т.к. данные в источнике не уничтожаются, а остаются неизменными

Модель программирования микропроцессора.

Принцип работы микропроцессора.

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

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

Логические операции реализуют переключательные функции, которые подразделяются на одно- и двух- местные. Одноместные реализуют переключательные функции одного аргумента; двухместные – функции двух аргументов. При одноместной операции аргументом функции является каждый бит операнда, т.е. одна и та же логическая операция, заданная командой производится над каждым битом операнда. При двухместных функциях одна и та же операция производится над каждой парой одноименных битов операндов. всего существует 4 переключательные функции одного аргумента и 16 - двух. Однако наиболее часто в микропроцессорах для одноместных операций используется только одна функция – инверсия, а для двух аргументов – три пары функций: конъюнкция (И), дизъюнкция (ИЛИ), штрих Шеффера (И-НЕ), стрелка Пирса (ИЛИ-НЕ), сумма по модулю два (исключительно ИЛИ), эквивалентность.

Таблицы истинности для одноместной логической операции "инверсия" и двухместных операций "исключительно ИЛИ" и "эквивалентность"

Инверсия   Входное слово Выходное слово
Входное слово Выходное слово     исключительно ИЛИ эквивалентность
           
           
           
           

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

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

- логический сдвиг – на освобождающееся место заносится "0"

- арифметический сдвиг – на освобождающееся место заносится бит переноса

- циклический сдвиг – на освобождающееся место заносится "вытолкнутый" бит слова

Операции проверки условий обеспечивают придание МП возможности принятия решений, обеспечивают его интеллектуальность. Результатом выполнения операций проверки условий являются ответы "да" или "нет", идентифицируемые состояниями "0" и "1" триггеров условий как соответствующие флаги регистра состояния МП. Типичными запросами проверки условий в МП являются:

* есть ли перенос?

* Равно ли нулю содержимое аккумулятора?

* Знак результата "плюс"?

* Равны ли между собой два операнда (содержимое двух регистров)?

* и т.д.

Команды условного и безусловного перехода предназначены для прерывания последовательного выполнения программы и вызывания перехода. Безусловный переход выполняется всегда, когда в программе встречается соответствующая команда. Для условного перехода в качестве условий используются следующие условия:

- величина А равна величине В;

- величина А не равна величине В;

- величина А меньше величины В;

- величина А больше величины В;

- величина А меньше или равна величине В;

- величина А больше или равна величины В.

В качестве величин для сравнения может служить содержимое регистра, ячейки памяти или константа.

Например, условный переход производится в результате сравнения кода нажатой клавиши с константой (если код клавиши равен 0, перейти к выполнению ветви 2). В случае невыполнения условия программа продолжит последовательное выполнение программы. В конце ветви 1 стоит команда безусловного перехода. Она нужна для того, чтобы программа не начала выполнять ветвь 2 сразу после выполнения ветви 1.

Технически переход выполняется путем записи в регистр адреса нового значения под действием команд передачи управления.

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

Важным элементом оператора цикла является параметр цикла. Параметр цикла – число, которое сначала равно требуемому количеству проходов цикла. При каждом проходе параметр цикла уменьшается. Оператор цикла выполняет следующие действия:

- уменьшает параметр цикла на единицу;

- проверяет, не равен ли параметр цикла после уменьшения нулю;

- если не равен, то оператор производит переход к началу цикла;

- если равен – переход не производится и выполнение программы продолжается в обычном порядке.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: