Принцип фон Неймана
Еще при создании первых компьютеров в 1945 г. знаменитый математик Джон фон Нейман описал, как должен быть устроен компьютер, чтобы он был универсальным и эффективным устройством для обработки информации. Джон фон Нейман предложил реализовать в компьютере возможность передачи управления от одной программы к другой. Возможность хранить в памяти компьютера разные наборы команд (программы), приостанавливать выполнение одной программы и передавать управление другой, а затем возвращаться к исходной значительно расширяла возможности программирования для вычислительных машин. Другой ключевой идеей, предложенной фон Нейманом, стал процессор (центральное обрабатывающее устройство), который должен был управлять всеми функциями компьютера. В 1945 году Фон Нейман нe только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ. Основными блоками пo Нейману являются следующие устройства:
В некоторых источниках арифметическо-логическое устройство и устройство управления объединены в центральное обрабaтывающее устройство (процессор) [Рис.2.]. Рис. 2.Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющие сигналов от процессора к остальным узлам ЭВМ Память компьютера должна состоять из некоторого количества пронумерованных ячеек, каждая из которых имеет свой уникальный адрес. В каждой ячейки могут находиться или обрабатываемые данные, или инструкции программ. Все ячейки памяти должны быть одинаково легко доступны для других устройств компьютера. В этом и состоит принцип адрестности. Единственным источником активности (не считая стартового или аварийного вмешательства человека) в компьютере является процессор, который, в свою очередь, управляется программой, находящейся в памяти. В любой момент процессор выполняет одну команду программы, адрес которои находится в специальном регистре процессора - счетчике команд (информация в процессор поступает из памяти или от внешнего устройства). Эта команда может задавать выполнение арифметических или логических операций или запись их результатов в память, ввод данных из внешнего устройства в память или вывод данных из памяти на внешнее устройство. В каждой команде программы зашифрованы следующие предписания: из каких ячеек взять о6рабатываемую информацию; какие операции совершить с этой информацией; в какие ячейки памяти направить результат; как изменить содержимое счетчика команд, что6ы знать, откуда взять следующую команду для выполнения. Процессор исполняет программу команда за командой в соответствии с изменением содержимого счетчика команд до тех пор, пока не получит команду остановится. Таким образом, управляющее устройство выполняет инструкции программы автоматически, т. е. без вмешательства человека. Это и есть принцип программного управлении[2, С 467-468]. В 1946 г. Джон фон Неиман и другие ученные изложили свои принципы построения вычислительных машин в ставшей классической статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства». В статье убедительно обосновывается использование двоичной системы для представления чисел и продемонстрировали ее преимущества для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации - текстовую, графическую, звуковую и другие. Двоичное кодирование данных попрежнему составляет информационную основу любого современного компьютера. .Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке,что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм). Более того, команды одной программы могут быть получены как результаты исполнения другой программы.На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык конкретной машины. В этом и состоит принцип однородности памяти[6. С. 38-39]. 3. Написать программу вычисления функции .
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|