в аккумуляторе, а другого в памяти или регистре. Так, при сложении двух слов, называемых условно А и В и расположенных в аккумуляторе и памяти соответственно, результирующая сумма С загружается в аккумулятор, замещая слово А. Результат операции АЛУ тоже размещается в аккумуляторе стирая его исходное содержимое.
Операцией другого типа, использующей аккумулятор, является программируемая передача данных из одной части микропроцессора в другую – это пересылка данных между портом ввода-вывода и областью памяти, между двумя областями памяти.
Микропроцессор может выполнять некоторые действия над данными непосредственно в аккумуляторе. Например, аккумулятор может быть очищен путем записи двоичных нулей во все его разряды, установлен в единичное состояние посредством записи двоичных единиц во все разряды. Содержимое аккумулятора можно сдвигать влево или вправо, получать его инвертированное значение, а также выполнять другие операции.
Для выполнения любой операции над данными, поступающими с внутренней шины данных микропроцессора, необходимо поместить их в аккумулятор. В свою очередь аккумулятор может пересылать данные на эту шину.
Счетчик команд предназначен для хранения адреса выполняемой команды. Перед выполнением программы счетчик команд загружается числом – адресом области памяти, содержащей первую команду программы. На рис. 7.1 регистр адреса памяти и адресная шина расположены ниже счетчика команд. Адрес области памяти, содержащей первую команду программы, пересылается из счетчика команд в регистр адреса памяти, после чего содержимое обоих регистров становится одинаковым. После извлечения команды из памяти микропроцессор автоматически дает приращение содержимому счетчика команд. Это приращение счетчик команд получает в тот момент, когда микропроцессор начинает выполнять команду, только что извлеченную из памяти. Следовательно, начиная с этого момента, счетчик команд «указывает», какой будет следующая команда. Счетчик команд содержит адрес следующей выполняемой команды на протяжении всего времени выполнения текущей команды.
Регистр адреса содержит адрес ячейки памяти, к которой обращается процессор для считывания команды или данных. Выход этого регистра является адресной шиной. Регистр адреса подключен к внутренней шине данных МП и он может
136
загружаться от различных источников. Большинство МП располагают командами, позволяющими загружать этот регистр содержимым счетчика команд, регистров общего назначения или какой-либо области памяти.
Втечение подцикла выборки команды из памяти регистр адреса памяти и счетчик команд имеют одинаковое содержимое, т. е. регистр адреса памяти указывает местоположение команды, извлекаемой из памяти.
Втечение подцикла выполнения команды содержимое регистра адреса памяти зависит от выполняемой команды. Если в соответствии с командой микропроцессор должен произвести еще одно обращение к памяти, то регистр адреса памяти подлежит вторичному использованию в процессе обработки этой команды.
Регистр команд предназначен для хранения текущей выполняемой команды, эта функция реализуется микропроцессором автоматически с началом цикла выборкавыполнение, называемого также машинным циклом.
Сначала команда извлекается из памяти, затем счетчик команд настраивается на указание следующей команды, подлежащей выполнению. При извлечении команды из соответствующей области памяти копия команды помещается на внутреннюю шину данных и пересылается в регистр команд. После этого начинается выполнение команды. Дешифратор команд считывает содержимое регистра команд (КОП) и настраивает УУ на заданную операцию.
Буферные регистры предназначены для временного хранения одного слова данных. Один из этих регистров, ближайший к аккумулятору (рис. 7.1), называется буфером аккумулятора. В другой буферный регистр на временное хранение поступают данные с внутренней шины микропроцессора. Необходимость в таком регистре вызвана отсутствием в АЛУ своего запоминающего устройства. В состав АЛУ включены только комбинационные схемы, и поэтому при поступлении исходных данных на входе АЛУ немедленно появляются результирующие данные на его выходе как следствие выполнения операций данной программы.
Если на вход описанного выше буферного регистра могут поступать данные только с внутренней шины данных микропроцессора, то на вход другого буферного регистра, именуемого буфером аккумулятора, данные могут поступать, кроме того, и
свыхода аккумулятора. Буфер аккумулятора позволяет избежать ситуации, при которой вход и выход АЛУ одновременно подсоединены к одной и той же точке схемы.
137
Регистр состояний предназначен для хранения результатов проверок, осуществляемых в процессе выполнения программы. Разряды регистра состояния принимают значение «1» или «0» в зависимости от выполняемой операции. В состав регистра входят флаги: S – знак; СY – перенос; AC – вспомогательный перенос; P – четность; Z – ноль.
Шина данных предназначена для передачи данных. По линиям данных в любой определенный момент времени передается одно слово данных в микропроцессор или в обратном направлении. В отличие от адресных шин, шина данных является двунаправленной и по ней передаются данные с внутренней шины микропроцессора в память или блок ввода-вывода либо из памяти или блока ввода-вывода на эту шину.
Шина управления предназначена для управления регистрами МП и контроля за их работой. С помощью управляющих сигналов УУ сообщает, когда передавать (получать) информацию на шину данных.
Шина адреса используется для идентификации областей памяти или устройств, с которыми микропроцессору необходима связь. Адресные линии передают данные только из микропроцессора, в обратном направлении передача запрещена.
Память микроЭВМ состоит из ячеек, имеющих индивидуальный адрес. Каждая ячейка памяти имеет свой номер – адрес его местоположения. Адрес используется всякий раз, когда необходимо записать данные в память или прочесть данные из памяти. Адрес (двоичное число) появляется на адресной шине микропроцессора и декодируется дешифратором адреса памяти. Если на адресную шину помещен адрес допустимого значения, то схемы управления микропроцессора вырабатывают и посылают по линиям управления импульсные сигналы «Чтение памяти» или «Запись в память». Эти сигналы информируют микропроцессор о необходимости подачи данных с шины для записи в выбранную область памяти. При записи данных в память предыдущее содержимое соответствующей ее области стирается и заменяется записываемой информацией. Чтение данных из памяти не меняет содержимое области, в которой они находятся. Одни и те же данные можно считывать любое количество раз.
Блок ввода-вывода микроЭВМ состоит из портов ввода и вывода. Микропроцессор позволяет подключать к шинам адресов до 256 портов ввода и до 256 портов вывода. Порты 00 или 01 являются портами входными. Каждый порт имеет восемь входных линий. При адресации порта 00 или 01 данные, поступающие по этим
138
линиям, подаются на шину данных микроЭВМ, затем микропроцессор помещает эти данные в аккумулятор. Порты 02 и 03 являются выходными: каждый из них имеет восемь выходных линий. Состояние каждой выходной линии хранится в буфере данных. При обращении к порту 02 или 03 восемь бит данных, имеющихся на шине данных микроЭВМ, записываются в буфер данных адресуемого выходного порта. Эти данные буфер хранит для возможного их использования устройствами, внешними по отношению к микроЭВМ. Данные сохраняются до следующего обращения к этому порту или до тех пор, пока не выключат питание микроЭВМ.
Порты 00, 01, 02 и 03 называются портами параллельного ввода-вывода, поскольку данные пересылаются по восьми параллельным линиям. Принцип такого «параллелизма» заложен в основу организации системы ввода-вывода. Последовательный ввод-вывод применяется, когда возникает необходимость передавать данные на большие расстояния. В пункте приема устанавливается преобразователь последовательного кода в параллельный, подаваемый по восьми параллельным линиям.
Дешифратор адреса блока ввода-вывода подобен дешифратору адреса памяти. Поскольку имеется только четыре порта ввода-вывода, достаточно располагать двумя адресными линиями. Дешифратор адреса портов ввода-вывода декодирует все адреса, пересылаемые микропроцессором. Порты ввода-вывода отвечают на запрос, передаваемый в форме их адресов, только тогда, когда имеет место совпадение импульсов «Чтение ввода-вывода» или «Записи ввода-вывода» с декодированием этих адресов.
Шина микроЭВМ предназначена для передачи нескольких видов сигналов. Она состоит из восьми двунаправленных линий данных, т. е. по этим линиям можно передавать данные как в микропроцессор, так и из него. Эту шину можно рассматривать как продолжение внутренней шины данных микропроцессора.
Шестнадцать адресных линий адреса используются для адресации как памяти так и устройств ввода-вывода. Кроме того, по адресной шине передаются сигналы питания, некоторые сигналы синхронизации и управления, а также с помощью этой шины осуществляется заземление всех блоков.
Структура микроЭВМ, рассмотренная в п. 7.1, ориентирована на микропроцессор КР580ИК80А, предназначенный для обработки 8-разрядных двоичных чисел.
139
7.2. Система команд и способы адресации
Программа состоит из отдельных команд. Каждая команда предписывает определенное действие (например, сложить два числа). Для реализации данного действия команда разбивается на отдельные операции (чтение команды, формирование адреса операндов, выполнении заданного действия). Система команд — это совокупность правил и форм представления управляющей информации для записи программ, пригодных для непосредственного выполнения техническими средствами ЭВМ.
Система команд характеризуется:
структурой и форматом команды;
списком выполняемых операций (кодов команд);
количеством адресов в команде (адресностью);
способом адресации.
Структура команды — это схема расположения информации в команде. Формат команды – структура команды с разметкой номеров разрядов, опреде-
ляющей границы ее полей.
Команды, как и любая информация в ЭВМ, кодируются двоичными словами, которые должны содержать в себе следующие виды информации (рис. 7.2):
тип операции (код), которую следует реализовать в данной команде (КОП);
место в памяти, откуда следует взять первый операнд (А1);
место в памяти, откуда следует взять второй операнд (А2);
место в памяти, куда следует поместить результат (А3).
КОП А1 А2 А3
Рис. 7.2. Формат команды
Список выполняемых операций – это перечень всех принятых в данной ЭВМ командных операций и их кодировка в операционном поле команды.
Адресность ЭВМ определяется количеством адресов, указанных в команде. Способ адресации показывает, каким образом по информации, содержащейся в
поле адреса команды, получается исполнительный адрес.
140
| 00539 |
| 02.03 |
| 0501 Конунников ЛР1-1 |
| 10Лекция 10 |
| 1136 |
| 1304 |
| 131 |
| 1362 |
| 15.02.16 1 пара |
| 1741 |