Принцип хранимой программы

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

Принцип хранимой программы считается наиболее важной идеей компьютерной архитектуры

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

Вопрос о том, кто первый выдвинул принцип хранимой программы – до конца- 70-х годов решался однозначно в пользу Джона фон Неймана (1903–1957). Этот выдающийся математик впервые упоминает про принцип хранимой программы в докладе о проекте ЭВМ ЭДВАК датированном 30 июня 1945 года. Потом эта гениальная идея изложена в статье "Предварительное рассмотрение логической конструкции электронного вычислительного устройства", написанной Нейманом совместно с А. Берксом и Г. Голдстайном и получивший распространение в начале 1946 года. Лишь через тридцать лет выяснилось, что, хотя Нейман играл значительную роль во внедрении принципа хранимой программы в практику, сам принцип был сформулирован до того, как Нейман начал участвовать в проекте.

Ведущими этого проекта были Дж. Эккерт и Дж. Маучли, которые в 1943–46 годах создали первую американскую ЭВМ ЭНИАК (но не с принципом хранимой программы). Так вот, Маучли то и обнаружил документ, датированный январем 1944 года, в котором его бывший коллега Эккерт высказывал идею хранения программ в памяти ЭВМ. Маучли объявил, что идея обсуждалась ими еще в процессе проектирования ЭНИАКА, до Неймана, впервые посетившего их в сентябре следующего года. Другой участник работ, Г. Хьюзки, засвидетельствовал, что, когда весной 1944 года он был приглашен для участия в создании ЭНИАКА, Эккерт говорил ему об принципе хранимой программы в памяти. К ним присоединился и бывший сотрудник фирмы IВМ К. Хьюрд. Он говорил, что не раз беседовал с Нейманом, когда тот был консультантом их фирмы. "И я никогда не слышал от него утверждений, будто ему принадлежит эта идея" – сказал Хьюрд.

Инструменты