Главная страница Микропроцессоры [0] [1] [2] [3] [4] [5] [6] [ 7 ] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] только лишь одного операнда. При этом другой операнд должен быть предварительно занесен командой пересылки в специальный регистр, называемый аккумулятором (Ак). В этом случае выполняется операция над содержимым аккумулятора и операндом, выбранным по адресу, заданному в команде. Полученный результат заносится в аккумулятор. Команды пересылки данных также могут быть одноадресными и двухадресными (см. рис. 2.3). В двухадресных командах первый адрес указывает местоположение источника данных (откуда выбирается информация), второй адрес - местоположение приемника данных (куда выбранная информация перемещается). В одноадресных командах указывается лишь адрес приемника. В качестве источника в этом случае используется аккумулятор. Для загрузки аккумулятора используется другая команда, содержащая адрес источника, тогда приемником является аккумулятор. Заметим, что после выполнения команд пересылки данных предшествующее содержимое приемника стирается, а содержимое источника сохраняется. Среди команд передачи управления в современных микропроцессорах наиболее распространенными являются команды перехода и пропуска следующей ко.манды. Структура команды перехода показана на рис. 2.4, а.
Рис. 2.4. Команды передачи управления Как правило, в системе команд микропроцессора имеется несколько разновидностей таких команд. В их число входят команда безусловного перехода и ряд команд условного перехода. Команда безусловного перехода (рис. 2.4,а) обеспечивает передачу управления по адресу, содержащемуся в ее адресной части. Команда условного перехода осуществляет передачу управления только в том случае, если определяемое ею условие выполняется, в противном случае происходит выполнение следующей за ней команды. Команды пропуска обычно имеют безадресную структуру, они содержат только код операции. Как и в командах перехода, код операции у них определяет условие выполнения команды. Если условие выполняется, то обеспечивается пропуск команды, следующей за командой пропуска, в противном случае последовательность выполнения программы не нарушается. Структура команды пропуска показана на рис. 2.4, б. Для передачи управления подпрограммам используется команда вызова подпрограммы. Команда вызова, подобно команде перехода, обеспечивает передачу управления подпрограмме по адресу, содержащемуся в поле адреса. Особенность выполнения данной команды состоит в том, что микропроцессор «запоминает» адрес команды, следующей за командой вызова, для того, чтобы после выполнения подпрограммы вернуться в исходную программу. Этот адрес называют адресом возврата. Для его хранения в микропроцессоре может быть отведен специальный регистр (стековая память - особый вид организации памяти). Команды ввода - вывода в малых ЭВМ выполняют следующие функции: - управление работой внешнего устройства путем передачи ему инструкции, указывающей, какое действие необходимо выполнять; - контроль за состоянием внешнего устройства; - вывод информации на внешнее устройство; - ввод информации с внешнего устройства. Многообразие и сложность функций команд ввода- вывода определяют большое разнообразие способов организации этих команд в различных микропроцессорных системах. Рассмотрим некоторую обобщенную структуру команды ввода - вывода, представленную на рис. 2.5.
Рис. 2.5. Структура команды ввода - вывода Такая команда содержит код операции, код устройства (адрес устройства) и код инструкции. (од устройства используется для обращения к одному из внешних устройств, подключенных к ЭВМ, а код инструкции - для кодирования команд управления внешним устройством. Расшифровка кода инструкции обычно осуществляется внешним устройством. Максимальное количество команд управления, задаваемых устройству, и максимальное количество адресуемых внешних устройств определяются размерами соответствующих ти- пов команды. Так, если в команде код устройства содержит пять битов, а код инструкции три, то такая команда может адресоваться к 32 внешним устройствам, и каждому устройству может быть послано восемь команд управления. Следует помнить, что команды реализуются непосредственно аппаратными средствами процессора. Именно поэтому, для того чтобы чрезмерно не усложнять схему микропроцессора, упрощают его систему команд. Как правило, команды предписывают выполнение каких-то несложных (элементарных) действий. Выполнение более сложных функций достигается путем программирования, т. е. составления последовательности команд, приводящих к получению требуемого результата. При разработке программ для микропроцессора необ ходимо представлять лишь логическую организацию те} частей, которые непосредственно связаны с программиро ванием, т. е. архитектуру вычислительного устройства 2.2. Типовая структура микропроцессора Любой, даже самый простой, микропроцессор имеет сложную структуру. В его состав входит большое количество узлов и блоков, таких, как сумматоры, дешифраторы, всевозможные регистры, триггеры, логические схемы и т. п. Конструктивно микропроцессор может быть выполнен на одной или нескольких БИС. Рассмотрим типовую структуру микропроцессора. Условно можно выделить два основных функциональных блока, из которых состоит микропроцессор, - блок обработки команд и блок обработки данных. Блок обработки к о м а н д обеспечивает формирование адреса очередной команды, хранимой в ОП, выбор команды из памяти, ее расшифровку (декодирование). В результате обработки команды определяется адрес ячейки памяти, содержащей данные, подлежащие обработке, и формируются управляющие сигналы, обеспечивающие выбор данных из ОП и инициацию работы устройств блока обработки данных. Блок обработки данных обеспечивает прие.ч данных из ОП, помещает его на временное хранение в один из регистров, производит операции над данными и осуществляет пересылку результатов обработки в основную память. [0] [1] [2] [3] [4] [5] [6] [ 7 ] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] 0.0115 |