Главная -> Книги

(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) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124) (14)

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

Регистр команд (РК) принимает выбранную из памяти программ команду и хранит ее в течение цикла выполнения команды. Загрузка РК осуществляется по п-битной шине данных; если команда хранится в двух или более ячейках памяти, то для загрузки каждой части команды, например байта, требуется отдельный машинный цикл выборки команды. Ограниченная разрядность 8-битных МП приводит к тому, что для двух- и трехбайтных команд значительная доля (50-75 %) общего времени реализации команды может потребоваться для выборки команд и операндов, разрядность которых может также превышать 8 бит. В 8-битных МП регистр команд обычно хранит первый байт команды, являющийся кодом операции, а второй или третий байты хранятся во вспомогательных регистрах, как правило, программно недоступных.

Указатель стека (УС) хранит адрес последней занятой ячейки в области стековой памяти. Под стековой памятью понимают оперативную память, в которую запись или выборка слова производится по принципу: последний записанный элемент выбирается из памяти первым. Адрес ячейки стековой памяти, по которому выполняется запись или чтение слова, называют вершиной стека. Начальный адрес стека устанавливается в указателе стека программным путем, и под действием команд записи или чтения информации из стека указатель стека автоматически изменяется, например, для МП КР580 увеличивается на 1, когда код извлекается из стека, и уменьшается на 1 при записи, т. е. стек «растет» снизу вверх. Некоторые МП используют внутреннюю стековую память команд для запоминания только адресов команд для возврата из подпрограмм. Однако емкость такой памяти ограничена, а кроме того, в ней нельзя запоминать содержимое регистров прерываемой программы, слово-состояние программу и другую информа-



а) 7

р о

Данное Данное

Рис. З-б. Форматы ко.чанд передачи данных (а) и загрузки регистровой пары (б) в МП КР580

цию при переключении программ. Поэтому подавляющее больщинство выпускаемых МП использует внещнюю стековую память, емкость которой для 16-битного указателя стека может составлять до 64К слов. Адресация стековой памяти также осуществляется через щину адреса МП.

В процессорах микро- и мини-ЭВМ широкое использование нашли регистры общего назначения (РОН), представляющие собой сверхоперативную память МП. РОН обычно используются для временного хранения исходных операндов при выполнении бинарных логических и арифметических операций, промежуточных результатов вычислений, иногда в РОН хранятся индексы, если в МП отсутствуют специальные индексные регистры (ИР). Это позволяет повысить быстродействие микро-ЭВМ за счет сокращения пересылок кодов между МП и памятью. Регистры общего назначения являются программно-доступными, и обращение к ним осуществляется посредством команд передачи данных. Так как число РОН обычно составляет 8-16, то для их адресации достаточно в поле адреса команд 3-4 разрядов соответственно. Например, в МП КР580, содержащем 6 РОН, формат команды для передачи данных между РОН имеет вид, представленный на рис. 3-6, а. В МП КР580 8-битые РОН В, С, D, Е, Н, L могут для некоторых команд рассматриваться как 16-битные регистры (В, С; D, Е и Н, L), что позволяет обрабатывать 16-битные данные параллельным способом. На рис. 3-6,6 приведен формат команды с непосредственной адресацией «загрузить регистровую пару», код которой указывается в поле гр.

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



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

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

Арифметико-логическое устройство (АЛУ) предназначено для арифметической и логической обработки данных, выполнения операции сдвига, формирования признаков результатов операций. Если МП имеет только одну внутреннюю магистраль, как показано в МП на рис. 3-5, то на входах АЛУ необходимы буферные регистры (БР), которые выполняют функцию временного хранения операндов, участвующих в операции. Рассмотрим выполнение команды сложения содержимого аккумулятора с содержимым одного из РОН на примере аккумулятора А и регистра В (ADD В) для МП КР580. Для реализации команды потребуется три микротакта (МТ):

1-й МТ 2-й МТ 3-й МТ

(БР1) {БР2) (А)

= (BV, = (А);

= (BPl)-f (БР2).

После формирования в аккумуляторе результата выполнения арифметических и логических команд на регистре признаков (РПР) формируются признаки результатов операций Z, S, С, V и др. Эти признаки используются командами условий передачи управления при разветвлениях в программах. Команда условного перехода определяет тип

Рис. 3-7. Форматы команды условного перехода МП КР580

1 1 С С С О 1 О

Адрес

А Spec



(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) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124)