Главная страница

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


Скачать 1.97 Mb.
НазваниеПрограмма для эвм это упорядоченная последовательность команд, подлежащая обработке
Дата16.04.2023
Размер1.97 Mb.
Формат файлаdocx
Имя файлаШинная организация микропроцессорных систем- с одной шиной, с дв.docx
ТипПрограмма
#1065457
страница24 из 40
1   ...   20   21   22   23   24   25   26   27   ...   40

35.Стековая архитектура микропроцессоров.


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

При описании вычислений с использованием стека обычно используется форма записи математических выражений, известная как обратная польская запись (обратная польская нотация), которую предложил польский математик Я. Лукашевич. Особенность ее в том, что в выражении отсутствуют скобки, а знак операции располагается не между операндами, а следует за ними (постфиксная форма). Запись математических выражений с использованием обратной польской нотации производится по следующему правилу. Исходное выражение просматривается слева направо и последовательно друг за другом выписываются встречающиеся операнды. Как только все операнды некоторой операции выписаны, записывается знак этой операции и продолжается запись операндов.

Если операндом некоторой операции является результат предыдущей операции и ее знак выписан, считается что этот операнд выписан.

Принцип действия стекового процессора поясним на примере вычисления выражения a = a + b + a × c. Это выражение в польской записи имеет вид: а = ab+acx+. Данная форма записи не содержит скобок и однозначно определяет порядок загрузки операндов в стек и порядок выполнения операций (рис. 52), т.е. может рассматриваться как программа вычисления исходного математического выражения, если под буквами понимать команды загрузки соответствующих операндов в стек (такие команды содержат только адрес операнда в основной памяти), а под знаками операций безадресные команды, содержащие только коды операций. Эти безадресные команды инициируют извлечение из стека двух (или одного) операндов, выполнение над ними указанной в команде операции и засылку результата в вершину стека.

Рисунок 52 Последовательность вычислений в микропроцессоре со стековой архитектурой

Основные узлы и информационные тракты одного из возможных вариантов микропроцессора на основе стековой архитектуры показаны на рис. 53. Рисунок 53 – Архитектура микропроцессора на базе стека

Информация может быть занесена в вершину стека из памяти или из АЛУ. Для записи в стек содержимого ячейки памяти с адресом x выполняется команда pushх, по которой информация считывается из ячейки памяти, заносится в регистр данных, а затем проталкивается в стек. Результат операции из АЛУ заносится в вершину стека автоматически. Сохранение содержимого вершины стека в ячейке памяти с адресом х производится командой popх. По этой команде содержимое верхней ячейки стека подается на шину, с которой и производится запись в ячейку х, после чего вся находящаяся в стеке информация проталкивается на одну позицию вверх.

Для выполнения арифметической или логической операции на вход АЛУ подается информация, считанная из двух верхних ячеек стека (при этом содержимое стека продвигается на две позиции вверх, т.е. операнды из стека удаляются). Результат операции заталкивается в вершину стека. Возможен вариант, когда результат сразу же переписывается в память с помощью автоматически выполняемой операции pop x.

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

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

Кроме того, стековая архитектура по определению не предполагает произвольного доступа к памяти, из-за чего компилятору

трудно создать эффективный программный код, хотя создание самих компиляторов упрощается. Поэтому организация вычислений с использованием стековой памяти нашла применение только в специализированных микропроцессорах
1   ...   20   21   22   23   24   25   26   27   ...   40


написать администратору сайта