СТЕК
-
Рубрика: Технологии и техника
-
-
Скопировать библиографическую ссылку:
СТЕК (англ. stack – штабель, стопка, кипа) в вычислит. технике, область оперативной памяти, используемая в режиме очереди (LIFO, Last In – First Out, «последним пришёл – первым ушёл») для временного хранения состояния процессора, регистров, локальных переменных. В С. обычно записывается адрес возврата (return address) при вызове процедуры, метода или функции, а также передаваемые параметры или ссылки на них. Размер выделяемой под С. памяти ограничен и имеет нижнюю и верхнюю границы, нарушение которых называют соответственно переполнением и исчерпанием. Чаще всего принцип работы С. сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю. Каждый процесс, поток или задача имеют собственный С. Работа со С. поддерживается аппаратно с помощью команд занесения в С. и извлечения из С., а также спец. регистра – указателя С. и схем контроля нарушения границ. С. может быть аппаратным (операции поддерживаются набором машинных команд процессора) или программным (реализуется программными средствами). Некоторые процессоры могут иметь неск. С. и, соответственно, неск. указателей С. На основе С. может быть разработана спец. стековая архитектура, т. е. компьютерная архитектура, в которой у машинных команд нет адресной части – операнды берутся из вершины С. и помещаются снова в С. Такая архитектура хорошо подходит для выполнения математич. операций, поэтому она частично присутствует в блоке АЛУ с плавающей запятой, регистры которого образуют регистровый С. Существуют языки программирования, полностью ориентированные на работу со С., самый известный из них – форт (Forth).