Шапка

1.3 В чём важность стековых машин ?

С теоретической точки зрения стеки важны сами по себе, так как являются наиболее простым и естественным инструментом, используемым при выполнении хорошо структурированного кода ( Wirth 1968 ). Машины с LIFO буферами необходимы при компиляции машинных языков и могут требоваться при трансляции натуральных языков ( Evey 1963 ). Любая машина с аппаратной поддержкой стековых структур будет, вероятно, эффективнее исполнять программу, чем таковой поддержки не имеющая [* это можно сказать о любом элементе вычислительной архитектуры ] .

Существует мнение, что программирование стековых процессоров проще, чем вычислительных машин любого другого типа, и, что работают такие программы надёжнее ( McKeeman 1975 ). Для стековых машин легче писать компиляторы, так как у них бывает меньше особых ситуаций, усложняющих трансляцию ( Lipovski 1975 ). Из-за того, что запущенный компилятор часто отъедает значительную часть вычислительных ресурсов, остаются актуальными машины, для которых возможно создание «лёгкого» компилятора ( Earnest 1980 ).

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

Previous part:

Next part: