T Стековая архитектура
Стеком называется память, по своей структурной организации отличная от основной памяти ЭВМ, стек образует множество логически взаимосвязанных ячеек, взаимодействующих по принципу «последним вошел, первым вышел» (LIFO, Last In First Out). Верхнюю ячейку называют вершиной стека (SP). Для работы со стеком предусмотрены две операции: push (проталкивание данных в стек) и pop (выталкивание данных из стека). Запись возможна только в ячейку стека с адресом SP-1, при этом указатель стека смещается на одну позицию вниз. Чтение допустимо только из вершины стека (ячейка с адресом SP). Извлеченная информация удаляется из стека, а указатель продвигается вверх – принимает значение SP+1. В вычислительных машинах, где реализована архитектура системы команд на базе стека, операнды выбираются из двух верхних ячеек стековой памяти. Результат операции заносится в вершину стека. К достоинствам архитектуры системы команд на базе стека следует отнести возможность сокращения адресной части команд, поскольку все операции производятся через вершину стека, то есть адреса операндов и результата в командах арифметической и логической обработки информации указывать не нужно. Код программы получается компактным. Достаточно просто реализуется декодирование команд. С другой стороны, стековая архитектура системы команд по определению не предполагает произвольного доступа к памяти, из-за чего компилятору трудно создать эффективный программный код. Кроме того, стек становится «узким местом» ЭВМ в плане повышения производительности.
Архитектура ЭВМ на основе стековой архитектуры системы команд
|