Шапка

Часть 6. Пояснения к конструкции и принципам работы стековых машин

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

В этой части в качестве характеристических точек используются три различных подхода к разработке компьютеров. Первый подход олицетворяют компьютеры со сложной системой команд ( CISC ). Типичным представителем является серия VAX фирмы Digital Equipment Corporation и процессоры для персональных компьютеров ( например, 680x0, 80x86 ). Второй подход используют компьютеры с сокращённой системой команд ( RISC ) ( Patterson 1985 ). Проекты: Berkeley RISC ( Sequin & Patterson 1982 ) и Stanford MIPS ( Hennesy 1984 ). Третье направление - стековые машины, описанные в предыдущих частях.

В §6.1 рассматривается история многолетних споров между сторонниками машин на основе регистров , стеков и массивов памяти и более современные дискуссии между сторонниками CISC и RISC архитектур.

Преимущества стековых машин обсуждаются в §6.2 . Программы для стековых машин компактнее, аппаратура проще, а производительность и степень вычислительной однородности выше, чем у других процессоров в большинстве областей применения. [* Речь, вероятно, идёт о более равномерном перемешивании различных типов инструкций ( переходы, вычисления, вызовы и т.д. ) в коде программ, ведущем к малым мгновенным отклонениям скорости вычислений относительно среднего значения ] .

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

В §6.4 проблемы управления стеком оцениваются через симуляцию обращений к нему. Результаты показывают, что значительной части приложений требуется менее 32 элементов стека. Раздел также освещает четыре способа борьбы с переполнениями стека: очень большие стеки, обслуживание по запросу, страничная организация управления и ассоциативный кэш.

В §6.5 прикидываются затраты на обработку прерываний и поддержку многозадачности в стековых машинах. Симуляция показывает умеренные накладные расходы на контекстное переключение стековых буферов в большинстве конфигураций. Более того, стоимость переключения можно снизить дополнительно, если придерживаться правильной программной техники обработки прерываний, использовать «лёгкие» задачи и разделять стековые буфера на множество небольших областей.

Previous part:

Next part: