PIC-микроконтроллеры. Все, что вам необходимо знать | страница 26



. Шаг программы

• Режим = 000 (сброс).

• По импульсу на входе «Исполнение» значение с выхода АЛУ (00000000) загружается в регистр.

• Выходные данные — ноль (00000000).

2. Шаг программы

• Значение слова А подается на вход АЛУ.

• Режим = 011 (сложить).

• По импульсу на входе «Исполнение» значение с выхода АЛУ (слово А +ноль) загружается в регистр.

• Выходные данные — слово А.

3. Шаг программы

• Значение слова В подается на вход АЛУ.

• Режим = 011 (сложение).

• По импульсу на входе «Исполнение» значение с выхода АЛУ (слово В + слово А) загружается в регистр.

• Выходные данные — сумма слов В и А.



Рис. 2.20.8-битный блок обработки (АЛУ/рабочий регистр)


Последовательность кодов операций (000–100–100) и составляет программу. На практике каждая команда будет также содержать (при необходимости) адрес обрабатываемых данных; в данном случае — местонахождение слов А и В.

Результат любой операции характеризуется некоторым набором свойств. К примеру, результат может быть равен нулю или же при его вычислении может произойти переполнение. Эти свойства могут потребоваться при дальнейшем выполнении программы. В рассматриваемой схеме для сбора такой информации используются два D-триггера, тактируемые сигналом «Исполнение». В данном контексте состояния этих триггеров называются флагами (реже — семафорами). Таким образом, у нас имеются флаг нуля Z и флаг переноса из 7-го бита С, образующие регистр состояния (STATUS).

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

.



Рис. 2.21.8-битный блок обработки (АЛУ/рабочий регистр) на системном уровне


Центральным элементом нашей системы является АЛУ, изображение которого имеет сложную форму. Значения на его входах данных (операнды) обрабатываются согласно сигналам на входах режима. Первый операнд поступает извне, тогда как 2-й операнд считывается из рабочего регистра. В компьютерах коды, подаваемые на вход режима, обычно считываются из памяти программ, а 1-й операнд — из памяти данных.