Шапка

1.6 Наиболее интересные сведения из следующих частей книги

Множество сторон стековых машин исследуется в последующих частях книги. Для интересующихся приведём некоторые интересные факты, которые будут подробно рассматриваться далее:

  • Все типы стековых машин можно систематизировать по следующим квалифицирующим признакам: числу стеков, размеру стеков и количеству операндов в формате машинной инструкции. Размеры отводимой под стек памяти являются компромиссом между стоимостью и скоростью работы. В данной книге описаны стековые машины, имеющие несколько стеков и безаргументную адресацию, и именно их подразумевает под «стековыми машинами» большая часть материала книги.
  • Стековые машины имеют небольшие размеры программ, небольшую сложность конструкции, высокую предсказуемость производительности и её низкую зависимость от изменения внешних условий.
  • Стековые машины неплохо выполняют программы на обычных языках программирования, причём при заданном уровне производительности используют меньше аппаратных ресурсов, чем регистровые машины.
  • Стековые машины очень хорошо подходят для языка FORTH, интерактивность и гибкость которого позволяет говорить о нём, как о средстве быстрого проектирования. Вдобавок компактность результирующего кода хорошо подходит для управляющих приложений реального времени.
  • Четыре модели 16-разрядных стековых машин перекрывают большой диапазон возможных конструктивных вариантов с учётом степени интеграции и скорости. Даётся подробное описание процессоров WISC CPU/16 , MISC M17 , Novix NC4016 и Harris RTX 2000 .
  • Три 32-разрядные модели охватывают широкий спектр инженерных решений. Представляются модели: Johns Hopkins/APL FRISC 3 ( известный как Silicon Composers SC32 ), Harris RTX 32P и SF1 Университета Wright State.
  • Для понимания стековых машин необходим сбор и анализ результатов измерения и сравнения с регистровыми машинами. В книге представлены результаты измерений по следующим параметрам: статическая и динамическая частота конструкций языка FORTH при прогоне 10 миллионов инструкций, эффекты совмещения операций и вызовов подпрограмм в одной инструкции для RTX 32P , требования к размеру стека, различных стратегий обработки переполнения стека и снижения производительности на фоне частого возникновения прерываний и переключения контекста.
  • Выбор программного обеспечения для стековых машин должен учитывать массу факторов. Приложения, которые в основном пишутся на обычных языках программирования, могут быть весьма эффективны при исполнении на стековых машинах, особенно, если потратить немного усилий на оптимизацию часто исполняемых участков кода.
  • Очень хорошей областью использования стековых машин являются встраиваемые приложения реального времени. Данная область включает большинство направлений возможного использования компьютеров. Обсуждаются и другие сферы применения.
  • Возможные направления развития стековых машин будут, вероятно, включать увеличение эффективности поддержки обычных языков программирования, а также разработку аппаратуры, которая бы менее чувствительна к ограничению пропускной способности памяти, чем процессоры других архитектур.

Previous part:

Next part: