Процессоры и интерпретаторы ЭВМ

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

Поскольку интерпретатор делит выполняемые команды на более мелкие операции, то необходимая для его работы машина, как правило, гораздо проще, а, следовательно, и значительно дешевле, чем соответствующий аппаратный процессор интерпретируемой ЭВМ. В силу экономических и ряда других причин у большинства современных ЭВМ программы традиционного машинного уровня выполняются интерпретатором, работающим на совершенно другой и относительно более простой машине уровня 1, который будем называть микропрограммным уровнем.

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

Важно понимать, что набор команд и организация микропрограммного уровня соответствуют в действительности набору команд и организации аппаратных средств, т. е. CPU. В противоположность этому набор команд и организация традиционного машинного уровня определяются микропрограммами, а не аппаратными средствами.

Не все процессоры являются центральными процессорами общего назначения. ЭВМ часто содержат один или более процессоров для выполнения особых функций, требующих ограниченных специально сконструированных наборов команд. Такие процессоры широко используются для осуществления ввода-вывода. В качестве примера рассмотрим графический дисплей, т. е. устройство с экраном, подобным телевизионному, на котором ЭВМ может изображать чертежи электрических схем, проекты зданий, карты, графики и другую графическую информацию. Графический дисплей обычно содержит специализированный процессор и память. Графический процессор может обрабатывать команды высвечивания точек различной интенсивности и цвета, вычерчивания сплошных, пунктирных и штрихпунктирных линий, изображения символов и формирования таких геометрических фигур, как треугольники, прямоугольники и окружности. Отличие таких команд от обычно используемых в центральных процессорах общего назначения является очевидным.

Например, в соответствии с программой прогнозирования погоды ежечасно считываются температурные данные, получаемые от 1000 метеостанций, и затем вычисляется среднесуточная температура для каждой станции путем одной и той же обработки температурных данных за 24 ч. При этом первую величину данных от каждой станции необходимо загрузить в регистр, добавить вторую величину, потом третью и т. д. В заключение необходимо разделить полученную сумму на 24. Поскольку для каждого набора данных используется одна и та же программа, то процессор с одним счетчиком команд и одним блоком декодирования команд, но с N арифметическими устройствами и N наборами регистров мог бы выполнять вычисления одновременно для N наборов данных.