Исполнение программы Энциклопедия учителя информатики Газета «Первое сентября»
Работа по программе Любая обработка информации на компьютере осуществляется по программе. Выполнением программы занимается процессор, при этом сама программа хранится, как правило, в ОЗУ и считывается оттуда в процессор по мере необходимости.
Отдельные двоичные команды Каждая программа состоит из отдельных двоичных команд, так что выполнение программы есть не что иное, как поочередное выполнение этих команд. Рассмотрим последовательность действий ЭВМ при выполнении каждой из команд программы.
Счетчик адреса команд Важной составной частью любой фоннеймановской машины является счетчик адреса команд. Этот специальный внутренний регистр в устройстве управления процессора постоянно указывает на ячейку памяти, в которой хранится следующая команда программы.
Пусть в рассматриваемый момент времени текущее значение счетчика команд уже определено. Тогда дальнейшие действия процессора определяются следующим алгоритмом. 1. Согласно содержимому счетчика адреса команд считывается очередная команда программы. Ее код обычно заносится на хранение в специальный регистр УУ, который носит название регистра команд. 2. Счетчик команд автоматически изменяется так, чтобы в нем содержался адрес следующей команды. В простейшем случае для этой цели достаточно к текущему значению счетчика прибавить некоторую константу, определяющуюся длиной команды. 3. Считанная в регистр команд операция расшифровывается, извлекаются необходимые данные, выполняются требуемые действия и, если это предусмотрено операцией, производится запись результата в ОЗУ.
Программный принципом работы ЭВМ Рассмотренный основной алгоритм работы ЭВМ (его также часто называют программным принципом работы ЭВМ) позволяет шаг за шагом выполнить хранящуюся в ОЗУ линейную программу. Если же требуется изменить порядок вычислений для реализации развилки или цикла, достаточно на этапе 3 в счетчик команд занести новый адрес (именно так происходит условный или безусловный переход).
Не самостартующий Как отчетливо видно из приведенной выше блок-схемы, основной алгоритм не является самостартующим: ему требуется определить первоначальное содержимое счетчика, т.е. фактически адрес самой первой команды. В старых машинах это делал оператор ЭВМ. В современных компьютерах при включении питания или при нажатии на кнопку сброса (reset) в счетчик аппаратно заносится стартовый адрес находящейся в ПЗУ программы инициализации всех устройств и начальной загрузки ЭВМ
Непрерывное выполнение команд В любом случае, как только первоначальный адрес задан, все дальнейшие действия процессора предопределены выполняемой программой. Мы видим теперь, что вся деятельность ЭВМ есть непрерывное выполнение тех или иных программ, причем программы эти могут, в свою очередь, загружать новые программы и т.д.
Метод конвейеризации В современных компьютерах для ускорения основного цикла выполнения команды используется метод конвейеризации, позволяющий реализовать перечисленные выше этапы алгоритма параллельно. Используются также и другие способы, которые направлены на ускорения выполнения команд программы.
Гибкость управления Уместно подчеркнуть, что программный способ управления компьютером делает его необычайно гибким и позволяет на одном и том же оборудовании решать самые разнообразные задачи (включая даже такие, которые в момент изготовления машины еще не были известны!).