Главная страница Комод Кухня Компьютерный стол Плетеная мебель Японский стиль Литература
Главная  Кремниевые микросхемы 

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

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

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

Точная последовательность событий при выполнении программы, естественно, варьируется в зависимости от используемых команд и разных способов адресации. Содержимое счетчика команд может увеличиваться пли уменьшаться более чем на один адрес команды, и программе в этом случае придется осуществлять переходы к другим операциям заданной последовательности. Таким образом, последовательность выполнения команд программы можно менять в зависимости от определенных проверяемых условий, таких как равенство, нулевое значение, отрицательное значение, больше чем и т. п.

В состав микропроцессора обычно входит также специальный регистр, называемый указателем стека (SP - Stack Pointer). Он содержит адрес ячейки, находящейся

Или команда условного перехода, при которой заполнение счетчика команд зависит от результата предшествующей условному переходу операции. (Прим. ред.)



,на дне свободного пространства стека. Стек-это особым образом организованный участок оперативной памяти для временного хранения содерхуимого внутренних регистров микропроцессора *. Такая память необходима в том случае, когда нужно прекратить выполнение реализуемой последовательности команд и вернуться к ней .позже, например, для немедленного выполнения специальной подпрограммы или в результате прерывания программы. Текущее состояние счетчика команд и в случае прерывания состояние других регистров должно быть сохранено, с тем чтобы микропроцессор мог к ним вернуться и продолжить свою работу, начиная с момента, на котором она была прервана. Заметим, что если указателем стека служит 8-разрядный регистр, то стек ограничен 256 ячейками, размещенными на первой странице. Данные от микропроцессора поступают в верхнюю часть стековой памяти, по восемь разрядов одновременно, и содержимое указателя стека при этом уменьшается на единицу, чтобы, всегда указывать на дно свободного пространства стека.

Когда данные выбираются (считываются) из стека (выталкиваются из магазина), содержимое указателя стека увеличивается на единицу с каждым выбранным бай-ITOM. Такое устройство памяти, кроме того, называют стеком типа LIFO (Last-In, First-Out) или последним вошел, первым вышел .

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

Иногда в состав хмикропроцессора входит также регистр вектора прерываний. Он загружается данными, которые комбинируются с кодом устройства, вызывающего прерывание (например, порт ввода), и формируют тех^ самым адрес памяти, указывающий на местоположение в памяти программы обработки прерываний для этого устройства. Например, входной порт может сообщить

Так называемая стековая память или магазинная память. (Прим. пер.)



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

Шит адреса

Линии биетнего управления


Виутрстяя 8-раз' рядная jHiHUft

Линии §Н1трениега управления

Соединения с внешней muHOii

Татовые импульсы

синщш^йн,и,и Главный

синхрзёеиератор прерывании

Управление

Рис. 9.2. Типовая архитектура микропроцессора:

УС -указатель стека; СК - счетчик команд; ИР - индексный регистр; РАП^ регистр адреса памяти; ПВ - подключение выхода

Взаимосвязи между всеми рассмотренными элементами и устройствами, входящими в состав микропроцессора, указаны на рис. 9.2, представляющем собой схему типовой внутренней структуры микропроцессора.

Как неоднократно отмечалось, микро-ЭВМ не способна отличить данные, подлежащие обработке, от команд, которые необходимо выполнить. Если программист случайно поместит данные в область памяти, к которой микропроцессор обращается при поиске команды, произойдет ошибка, и, если команда действи-



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

© 2007 EPM-IBF.RU
Копирование материалов разрешено в случае наличия письменного разрешения