Cтраница 3
Содержимое счетчика команд автоматически увеличивается после выборки каждого байта команды. Шестнадцатиразрядный указатель стека содержит начальный адрес памяти, используемый для хранения и восстановления содержимого программно-доступных регистров ЦПУ, Содержимое указателя стека уменьшается, когда данные загружаются в стек, и увеличивается, когда данные выбираются из стека. Регистры временного хранения W, Z используются для приема и временного запоминания второго и третьего байтов команд переходов, передаваемых с внутренней магистрали ЦПУ в счетчик команд. [31]
![]() |
Структурная схема КР580ВМ80А. [32] |
Содержимое счетчика команд автоматически увеличивается после выборки каждого байта команды. Шестнадцатиразрядный указатель стека содержит начальный адрес памяти, используемый для хранения и восстановления содержимого программно-доступных регистров ЦПУ, Содержимое указателя стека уменьшается, когда данные загружаются в стек, и увеличивается, когда данные выбираются из стека. Восьмиразрядные регистры общего назначения В, С, D, Е, Н, L могут применяться как накопители ( обрабатываемые данные находятся в самом регистре) и указатели ( 16-разрядный адрес операнда определяется содержимым пары регистров), Регистры временного хранения W, Z используются для приема и временного запоминания второго и третьего байтов команд переходов, передаваемых с внутренней магистрали ЦПУ в счетчик команд. Эти регистры являются программно-недоступными. [33]
Содержимое аккумулятора пересылается в ячейку памяти, адрес которой на единицу меньше содержимого указателя СТЕКа SP. Содержимое флагов объединяется в слово состояния, это слово пересылается в ячейку памяти, адрес которой на 2 меньше содержимого указателя СТЕКа. [34]
Необходимо помнить, что МК обеих архитектур имеют ограниченную емкость памяти для хранения данных. Если в процессоре имеется отдельный стек и объем записанных в него данных превышает его емкость, то происходит циклическое изменение содержимого указателя стека, и он начинает ссылаться на ранее заполненную ячейку стека. Это означает, что после слишком большого количества вызовов подпрограмм в стеке окажется неправильный адрес возврата. [35]
Стек микросхем организован по принципу памяти магазинного типа. Стек может работать в трех режимах: чтение без изменения состояния указателя стека ( хранение), запись адреса микрокоманды после увеличения на 1 содержимого указателя стека и чтение адреса микрокоманды и уменьшение на 1 содержимого указателя стека. [36]
Для возврата из подпрограммы используется команда RET, под действием которой происходит передача управления по адресу возврата, занесенному в стек при выполнении предыдущей команды CALL. При возврате из подпрограмм, расположенных в текущем программном сегменте, применяются первые два формата команды RET, причем второй формат отличается от первого тем, что к содержимому указателя стека добавляется константа, записанная во 2 - м и 3 - м байтах команды. Это позволяет одновременно с возвратом из подпрограммы сбрасывать параметры, записанные в стек при выполнении этой подпрограммы и не используемые в дальнейшем. [37]
Стек микросхем организован по принципу памяти магазинного типа. Стек может работать в трех режимах: чтение без изменения состояния указателя стека ( хранение), запись адреса микрокоманды после увеличения на 1 содержимого указателя стека и чтение адреса микрокоманды и уменьшение на 1 содержимого указателя стека. [38]
Старшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на единицу меньше содержимого указателя СТЕКа. Младшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на два меньше содержимого указателя СТЕКа. Содержимое указателя СТЕКа уменьшается на два. [39]
Если теперь с помощью команд BSR или JSR осуществить переход к подпрограмме, то код адреса возврата ( младший байт) будет автоматически записан в ячейку, адрес которой содержится в указателе стека. Затем содержимое указателя стека уменьшится на единицу и в заданную ячейку будет записан старший байт кода адреса возврата. После этого содержимое указателя стека снова уменьшится на единицу и при этом укажет адрес следующей свободной ячейки области ОЗУ, отведенной под стек. [40]
Далеевыделяют области в ПЗУ для записи основной программы, подпрограмм, в том числе подпрограмм обработки прерываний, табличных данных и разного рода констант. Производится также распределение емкости ОЗУ, в котором выделяются области для запоминания результатов вычислений, данных из ВУ, а также для организации стека. Поскольку в данном МПВУ при заполнении стека содержимое указателя стека уменьшается, то начало стека обычно располагают в последней ячейке ОЗУ. Необходимо отметить, что в МПВУ не имеется средств защиты памяти. Поэтому важно при записи новых данных не потерять ценную информацию, записанную ранее. [41]
Для определения тождественности двух байтов используют команду ИСКЛЮЧАЮЩЕЕ ИЛИ. Например, до того как байт данных будет загружен в стек с помощью команды PUSH, должна быть выполнена проверка условия СТЕК ЗАПОЛНЕН. Если под стек отведена страница OF памяти ( адреса OFFF-OFOO), стек заполнен, когда указатель стека содержит значение OEFF, так как содержимое указателя стека уменьшается после каждой загрузки в стек байта данных. [42]
Стек представляет собой оперативную память с организацией 17 четырехразрядных слов. Запись в стек через коммутатор стека производится с шины D или со счетчика адресов. Адрес последнего слова, записанного в стек, хранится в указателе стека. При записи в стек содержимое указателя стека увеличивается на 1, при считывании - уменьшается на 1, Дешифратор микрокоманд представляет собой комбинационную схему, которая на основании входных сигналов MNSO - MNS4, EMNS, СС формирует управляющие сигналы, необходимые для работы различных узлов микросхемы. [43]
![]() |
Укрупненная структурная схема ЙСП ВМ87. [44] |
Группа арифметических регистров включает восемь 80-битовых регистров, организованных в стек. Со стеком связан 3-битовый указатель стека ST, содержимое которого определяет номер одного из восьми арифметических регистров, являющегося вершиной стека. Группа арифметических регистров служит для хранения обрабатываемых данных, представленных в формате ВВ. При загрузке данных в арифметический регистр содержимое указателя стека ST предварительно уменьшается ST - ST - 1 и указывает номер регистра, в который производится загрузка. С группой арифметических регистров связан регистр этикеток TAG, в котором каждому АР ставится в соответствие 2-битовое поле. [45]