Регистр - указатель - стек - Большая Энциклопедия Нефти и Газа, статья, страница 1
Вы молоды только раз, но незрелым можете оставаться вечно. Законы Мерфи (еще...)

Регистр - указатель - стек

Cтраница 1


Регистр указателя стека позволяет размещать стек LIFO в любом месте памяти. Данные могут загружаться в стек и извлекаться из стека из любых или в любые регистры центрального процессора. Стек обеспечивает фактически любой уровень вложения подпрограмм, позволяет выполнять многоуровневые прерывания и может служить для хранения и извлечения обычных данных.  [1]

Поясним назначение регистра указателя стека. Так как МП могут применяться для целей управления, го их работа в любой момент времени может быть приостановлена ( режим прерывания) для получения и обработки информации от управляемых объектов. В связи с этим возникает необходимость в запоминании содержимого регистров, которое характеризуется так называемым словом состояния процессора - PSW.  [2]

Примечание: Оба регистра указателя стека должны быть инициализированы непосредственно программистом после сброса.  [3]

Стековая ( stack) - адресация посредством регистра указателя стека при программной реализации стека.  [4]

При стековой адресации исполнительный адрес операнда находится в регистре указателя стека SP, причем после чтения операнда из стека содержимое регистра указателя стека увеличивается на два, а перед записью операнда в стек содержимое регистра указателя стека уменьшается на два.  [5]

6 Команды условного перехода. [6]

Операция засылки адреса возврата выполняется в два шага: сначала текущее значение регистра указателя стека уменьшается на 2, затем производится запись адреса возврата в память по адресу, указанному в регистре УС. Эти действия выполняются по команде возврата из подпрограммы и приводят к тому, что выполнение основной программы продолжается, начиная с адреса возврата.  [7]

При стековой адресации исполнительный адрес операнда находится в регистре указателя стека SP, причем после чтения операнда из стека содержимое регистра указателя стека увеличивается на два, а перед записью операнда в стек содержимое регистра указателя стека уменьшается на два.  [8]

При стековой адресации исполнительный адрес операнда находится в регистре указателя стека SP, причем после чтения операнда из стека содержимое регистра указателя стека увеличивается на два, а перед записью операнда в стек содержимое регистра указателя стека уменьшается на два.  [9]

В нем аппаратно реализованы также команды условного перехода. Набор регистров GPR имеет 2 регистра указателя стека R6ISP), что обеспечивает работу CPU в двух режимах: ядра и пользователя. Состав чипа предусматривает выполнение в нем всех арифметических и логических операций, пересылку данных и адресов в пределах, не требующих диспетчера памяти.  [10]

Глубина стека может быть значительно увеличена за счет размещения его не в самом МП, а в памяти. В этом случае в Р размещается регистр указателя стека, содержание которого определяет адрес соответствующих ячеек памяти в оперативном запоминающем устройстве. От разрядности этого адреса зависит наибольшее число уровней или глубина стека.  [11]

12 Регистровый стек. [12]

Регистровый стек ( рис. 8) состоит из восьми 80-разрядных регистров, используемых в качестве собственно стека и ( или) набора рабочих регистров. Адрес верхнего регистра стека, называемого текущим, хранится в регистре указателя стека ST. Указатель стека размещается в слове состояния. Адрес текущего регистра ( т.е. содержимое ST) может быть увеличен или уменьшен командами сопроцессора.  [13]

Количество регистров в разных процессорах может быть от 6 - 8 до нескольких десятков. Регистры могут быть универсальными и специализированными. Специализированные регистры, которые присутствуют в большинстве процессоров, - это регистр-счетчик команд, регистр состояния ( PSW), регистр указателя стека. Остальные регистры процессора могут быть как универсальными, так и специализированными.  [14]

Далее в счетчик команд из ячейки, хранящей первое слово вектора прерывания, передается начальный адрес-прерывающей программы, а из следующей ячейки второе слово вектора прерывания заносится в регистр слова состояния процессора. В новом слове состояния процессора порог-прерывания должен быть не меньше уровня приоритета принятого к обслуживанию запроса, чтобы повторный запрос от этого источника прерывания не мог прервать выполняемую прерывающую программу. Управление переходит к программе обработки прерывания, заданной вектором прерывания. Если эта программа использует общие регистры, то она начинается с передачи их содержимого в стековую память с помощью команд передачи с автодекрементной прямой адресации по регистру указателя стека.  [15]



Страницы:      1