Программные свойства современных вычислительных машин

Lenovo-server
Раньше не вызывало сомнения, что в первых вычислительных машинах команда сложения должна выполняться аппаратными средствами, на микропрограммных машинах команда сложения традиционного машинного уровня уже интерпретировалась микропрограммой и выполнялась в виде последовательности таких простых операций, как «выбрать команду», «определить ее тип», «найти данные для сложения», «выбрать эти данные из памяти», «выполнить сложение», «запомнить результат».

Этот пример показывает повышение уровня выполнения операции от аппаратной реализации до микропрограммной. Еще раз подчеркнем, какие операции следует реализовать аппаратными, а какие программными средствами.

Это утверждение обобщает сформулированную выше проблему выбора, поскольку аппаратная реализация фактически соответствует самому нижнему уровню. Перечислим некоторые аппаратные (или микропрограммные) средства современных вычислительных машин, которые первоначально выполнялись только программно:

  • Команды арифметических операций с плавающей точкой (приложение Б).
  • Арифметические команды двойной точности (арифметика повышенной точности).
  • Команды обращения к процедурам.
  • Команды организации циклов.
  • Команды счета (добавление 1 к переменной).
  • Команды обработки строк символов.
  • Средства для ускорения операций над массивами (индексирование и косвенная адресация).
  • Средства для обеспечения перемещения выполняемых программ в памяти (перемещаемость программ).
  • Средства отсчета времени для синхронизации программ.
  • Система прерываний, сигнализирующая о завершении операций ввода-вывода.
  • Возможность быстрого переключения программ (переключение процессов).

Таким образом, программные средства сегодняшнего дня завтра могут стать аппаратными и наоборот.

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

Такой подход значительно упрощает конструирование и понимание сложных (виртуальных) машин.

Оцени статью!
Голосов: 0 Оценка: 0