Фон нейман архитектура
Принципы фон Неймана (Архитектура фон Неймана)
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.
По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новое.
Принципы фон Неймана
- Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
- Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
- Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
- Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
- Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой.
Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.
Как работает машина фон Неймана
Машина фон Неймана состоит из запоминающего устройства (памяти) — ЗУ, арифметико-логического устройства — АЛУ, устройства управления – УУ, а также устройств ввода и вывода.
Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы.
Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).
Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.
Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.
УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.
Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.
В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление.
Архитектура фон Неймана
Архитектура фон Неймана — широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
Наличие заданного набора исполняемых команд и программ было характерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства. Так, настольные калькуляторы, в принципе, являются устройствами с фиксированным набором выполняемых программ. Их можно использовать для математических расчётов, но невозможно применить для обработки текста и компьютерных игр, для просмотра графических изображений или видео. Изменение встроенной программы для такого рода устройств требует практически полной их переделки, и в большинстве случаев невозможно. Впрочем, перепрограммирование ранних компьютерных систем всё-таки выполнялось, однако требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации и перестройки блоков и устройств и т. п.
Всё изменила идея хранения компьютерных программ в общей памяти. Ко времени её появления использование архитектур, основанных на наборах исполняемых инструкций, и представление вычислительного процесса как процесса выполнения инструкций, записанных в программе, чрезвычайно увеличило гибкость вычислительных систем в плане обработки данных. Один и тот же подход к рассмотрению данных и инструкций сделал лёгкой задачу изменения самих программ.
Содержание
Принципы фон Неймана
В 1946 году трое учёных [1] [2] — Артур Бёркс (англ. Arthur Burks ), Герман Голдстайн и Джон фон Нейман — опубликовали статью «Предварительное рассмотрение логического конструирования электронного вычислительного устройства» [3] [4] . В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций — до этого машины хранили данные в десятичном виде [5] ), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».
Принцип однородности памяти Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Принцип адресуемости памяти Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен. Принцип последовательного программного управления Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Принцип жесткости архитектуры Неизменяемость в процессе работы топологии, архитектуры, списка команд.
Так же в некоторых источниках [каких?] указывается принцип двоичного кодирования, но существовали машины работающие с троичным и с десятичным кодом.
Компьютеры, построенные на принципах фон Неймана
В середине 1940-х проект компьютера, хранящего свои программы в общей памяти, был разработан в Школе электрических разработок Мура (англ. Moore School of Electrical Engineering ) в Университете штата Пенсильвания. Подход, описанный в этом документе, стал известен как архитектура фон Неймана, по имени единственного из названных авторов проекта Джона фон Неймана, хотя на самом деле авторство проекта было коллективным. Архитектура фон Неймана решала проблемы, свойственные компьютеру ENIAC, который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в 1946 году было объявлено о создании ENIAC. По плану предполагалось осуществить проект силами Муровской школы в машине EDVAC, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной компьютерной памяти и разногласий в группе разработчиков. Другие научно-исследовательские институты, получившие копии проекта, сумели решить эти проблемы гораздо раньше группы разработчиков из Муровской школы и реализовали их в собственных компьютерных системах. Первыми семью компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:
- прототип — Манчестерская малая экспериментальная машина — Манчестерский университет, Великобритания, 21 июня 1948 года;
- EDSAC — Кембриджский университет, Великобритания, 6 мая 1949 года;
- Манчестерский Марк I — Манчестерский университет, Великобритания, 1949 год;
- BINAC — США, апрель или август 1949 года;
- CSIR Mk 1 — Австралия, ноябрь 1949 года;
- SEAC — США, 9 мая 1950 года
- EDVAC — США, август 1949 года — фактически запущен в 1951 году;
Узкое место архитектуры фон Неймана
Совместное использование шины для памяти программ и памяти данных приводит к узкому месту архитектуры фон Неймана, а именно ограничению пропускной способности между процессором и памятью по сравнению с объёмом памяти. Из-за того, что память программ и память данных не могут быть доступны в одно и то же время, пропускная способность является значительно меньшей, чем скорость, с которой процессор может работать. Это серьезно ограничивает эффективное быстродействие при использовании процессоров, необходимых для выполнения минимальной обработки на больших объёмах данных. Процессор постоянно вынужден ждать необходимых данных, которые будут переданы в память или из памяти. Так как скорость процессора и объём памяти увеличивались гораздо быстрее, чем пропускная способность между ними, узкое место стало большой проблемой, серьезность которой возрастает с каждым новым поколением процессоров [источник не указан 68 дней] .
Фон нейман архитектура
Компьютер должен иметь:
Память компьютера представляет собой некоторое количество пронумерованных ячеек, в каждой из которых могут находиться или обрабатываемые данные, или инструкции программ. Все ячейки памяти должны быть одинаково легко доступны для других устройств компьютера.
- С помощью внешнего устройства в память компьютера вводится программа.
- Устройство управления считывает содержимое ячейки памяти, где находится первая инструкция (команда) программы и организует ее выполнение. Команда может задавать:
- выполнение логических или арифметических операций;
- чтение из памяти данных для выполнения арифметических или логических операций;
- запись результатов в память;
- ввод данных из внешнего устройства в память;
- вывод данных из памяти на внешнее устройство.
- Устройство управления начинает выполнение команды из ячейки памяти, которая находится непосредственно за только что выполненной командой. Однако этот порядок может быть изменен с помощью команд передачи управления (перехода). Эти команды указывают устройству управления, что ему необходимо продолжить выполнение программы, начиная с команды, содержащейся в иной ячейки памяти.
- Результаты выполнения программы выводятся на внешнее устройство компьютера.
- Компьютер переходит в режим ожидания сигнала от внешнего устройства.
Один из принципов «Архитектуры фон Неймана» гласит: в компьютере не придется изменять подключения проводов, если все инструкции будут храниться в его памяти . И как только эту идею в рамках “архитектуры фон Неймана» воплотили на практике, родился современный компьютер.
Как всякая техника, компьютеры развивались в сторону увеличения функциональности, целесообразности и красоты. Есть вообще утверждение, претендующее на закон: совершенный прибор не может быть безобразным по внешнему виду и наоборот, красивая техника не бывает плохой. Компьютер становится не только полезным, но и украшающим помещение прибором. Внешний вид современного компьютера, конечно, соотносится со схемой фон Неймана, но в то же время и разнится с ней.
Благодаря фирме IBM идеи фон Неймана реализовались в виде широко распространенного в наше время принципа открытой архитектуры системных блоков компьютеров. Согласно этого принципа компьютер не является единым неразъемным устройством, а состоящим из независимо изготовленных частей, причем методы сопряжения устройств с компьютером не являются секретом фирмы-производителя, а доступны всем желающим. Таким образом, системные блоки можно собирать по принципу детского конструктора, то есть менять детали на другие, более мощные и современные, модернизируя свой компьютер ( апгрейд , upgrade — «повышать уровень»). Новые детали полностью взаимозаменяемы со старыми. «Открыто архитектурными» персональные компьютеры делает также системная шина, это некая виртуальная общая дорога или жила, или канал, в который выходят все выводы ото всех узлов и деталей системного блока. Надо сказать, что большие компьютеры (не персональные) не обладают свойством открытости, в них нельзя просто так что-то заменить другим, более совершенным, например, в самых современных компьютерах могут отсутствовать даже соединительные провода между элементами компьютерной системы: мышью, клавиатурой («keyboard»– «клавишная доска») и системным блоком. Они могут общаться между собой при помощи инфракрасного излучения, для этого в системном блоке есть специальное окошко приема инфракрасных сигналов (по типу пульта дистанционного управления телевизора).
В настоящее время обычный персональный компьютер представляет собой комплекс, состоящий из:
- основной электронной платы (системной, материнской), на которой размещены те блоки, которые осуществляют обработку информации вычисления;
- схем, управляющих другими устройствами компьютера, вставляемых в стандартные разъемы на системной плате – слоты;
- дисков хранения информации;
- блока питания, от которого подводится электропитание ко всем электронным схемам;
- корпуса (системный блок), в котором все внутренние устройства компьютера устанавливаются на общей раме;
- клавиатуры;
- монитора;
- других внешних устройств.
Компьютеры, построенные на принципах фон Неймана
В середине 1940-х проект компьютера, хранящего свои программы в общей памяти был разработан в Школе электрических разработок Мура (англ. Moore School of Electrical Engineering ) в Университете штата Пенсильвания. Подход, описанный в этом документе, стал известен как архитектура фон Неймана, по имени единственного из названных авторов проекта Джона фон Неймана, хотя на самом деле авторство проекта было коллективным. Архитектура фон Неймана решала проблемы, свойственные компьютеру ENIAC, который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в 1946 году было объявлено о создании ENIAC. По плану предполагалось осуществить проект силами Муровской школы в машине EDVAC, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной компьютерной памяти и разногласий в группе разработчиков. Другие научно-исследовательские институты, получившие копии проекта, сумели решить эти проблемы гораздо раньше группы разработчиков из Муровской школы и реализовали их в собственных компьютерных системах. Первыми пятью компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:
Архитектура компьютера. Принципы фон Неймана. Логические узлы компьютера. Выполнение программы
На бытовом уровне термин «архитектура» у большинства людей прочно ассоциируется с различными зданиями и другими инженерными сооружениями. Так, можно говорить об архитектуре готического собора, Эйфелевой башни или оперного театра. В других областях этот термин применяется достаточно редко, однако для компьютеров понятие «архитектура ЭВМ» (электронно-вычислительная машина) уже прочно устоялось и широко используется, начиная с 70-х годов прошлого века. Для того чтобы разобраться в том, каким образом происходит выполнение программ, сценариев на компьютере, необходимо в первую очередь знать, как устроена работа каждой из его составляющих. Основы учения об архитектуре вычислительных машин, которые рассматриваются на уроке, были заложены Джоном фон Нейманом. Более подробно о логических узлах, а также о магистрально-модульном принципе архитектуры современных персональных компьютеров можно будет узнать на этом уроке.
Введение
Современную обработку информации невозможно представить без такого устройства, как компьютер. Его следует рассматривать, как совокупность двух составляющих:
Также аппаратную часть иногда называют «железо».
Архитектура компьютера
Архитектура компьютера – это его устройство и принципы взаимодействия его основных элементов – логических узлов, среди которых основными являются процессор, внутренняя память (основная и оперативная), внешняя память и устройства ввода-вывода информации (периферийные) (Рис. 1).
Рис. 1. Условная модель структуры архитектуры ЭВМ (Источник)
Принципы фон Неймана
Принципы, лежащие в основе архитектуры ЭВМ, были сформулированы в 1945 году Джоном фон Нейманом, который развил идеи Чарльза Беббиджа, представлявшего работу компьютера как работу совокупности устройств: обработки, управления, памяти, ввода-вывода.
Принципы фон Неймана.
1. Принцип однородности памяти. Над командами можно выполнять такие же действия, как и над данными.
2. Принцип адресуемости памяти. Основная память структурно состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
3. Принцип последовательного программного управления. Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
4. Принцип жесткости архитектуры. Неизменяемость в процессе работы топологии, архитектуры, списка команд.
Гарвардская архитектура
Компьютеры, построенные на принципах фон Неймана, имеют классическую архитектуру, но, кроме нее, существуют другие типы архитектуры. Например, Гарвардская. Ее отличительными признаками являются:
- хранилище инструкций и хранилище данных представляют собой разные физические устройства;
- канал инструкций и канал данных также физически разделены.
Этапы развития ЭВМ
В истории развития вычислительной техники качественный скачок происходил примерно каждые 10 лет. Такой скачок связывает с появлением нового поколения ЭВМ. Идея делить машины появилась по причине того, что за время короткой истории своего развития компьютерная техника проделала большую эволюцию как в смысле элементной базы (лампы, транзисторы, микросхемы и др.), так и в смысле изменения ее структуры, появления новых возможностей, расширения областей применения и характера использования. Более подробно все этапы развития ЭВМ показаны на Рис. 2. Для того чтобы понять, как и почему одно поколение сменялось другим, необходимо знать смысл таких понятий, как память, быстродействие, степень интеграции и т. д.
Рис. 2. Поколения ЭВМ (Источник)
Среди компьютеров не классической, не фон Неймановской архитектуры, можно выделить так называемые нейрокомпьютеры. В них моделируется работа клеток головного мозга человека, нейронов, а также некоторых отделов нервной системы, способных к обмену сигналами.
Функции некоторых узлов компьютера
Каждый логический узел компьютера выполняет свои функции. Функции процессора (Рис. 3):
— обработка данных (выполнение над ними арифметических и логических операций);
— управление всеми остальными устройствами компьютера.
Рис. 3. Центральный процессор компьютера (Источник)
Программа состоит из отдельных команд. Команда включает в себя код операции, адреса операндов (величин, которые участвуют в операции) и адрес результата.
Выполнение команды делится на следующие этапы:
- формирование адреса следующей команды;
- декодирование команды;
- вычисление адресов операндов;
- выборку операндов;
- исполнение операции;
- формирование признака результата;
- запись результата.
Не все из этапов присутствуют при выполнении любой команды (зависит от типа команды), однако этапы выборки, декодирования, формирования адреса следующей команды и исполнения операции имеют место всегда. В определенных ситуациях возможны еще два этапа:
Оперативная память (Рис. 4) устроена следующим образом:
- прием информации от других устройств;
- запоминание информации;
- передача информации по запросу в другие устройства компьютера.
Рис. 4. ОЗУ (Оперативное запоминающее устройство) компьютера (Источник)
Магистрально-модульный принцип
В основе архитектуры современных ЭВМ лежит магистрально-модульный принцип (Рис. 5). Модульный принцип позволяет комплектовать нужную конфигурацию и производить необходимую модернизацию. Он опирается на шинный принцип обмена информацией между модулями. Системная шина или магистраль компьютера включает в себя несколько шин различного назначения. Магистраль включает в себя три многоразрядные шины:
Рис. 5. Магистрально-модульный принцип построения ПК
Шина данных используется для передачи различных данных между устройствами компьютера; шина адреса применяется для адресации пересылаемых данных, то есть для определения их местоположения в памяти или в устройствах ввода/вывода; шина управления включает в себя управляющие сигналы, которые служат для временного согласования работы различных устройств компьютера, для определения направления передачи данных, для определения форматов передаваемых данных и т. д.
Такой принцип справедлив для различных компьютеров, которые можно условно разделить на три группы:
- стационарные;
- компактные (ноутбуки, нетбуки и т. д.);
- карманные (смартфоны и пр.).
В системном блоке стационарного компьютера или в корпусе компактного находятся основные логические узлы – это материнская плата с процессором, блок питания, накопители внешней памяти и т. д.
Список литературы
1. Босова Л.Л. Информатика и ИКТ: Учебник для 8 класса. – М.: БИНОМ. Лаборатория знаний, 2012.
2. Босова Л.Л. Информатика: Рабочая тетрадь для 8 класса. – М.: БИНОМ. Лаборатория знаний, 2010.
3. Астафьева Н.Е., Ракитина Е.А., Информатика в схемах. – М.: БИНОМ. Лаборатория знаний, 2010.
4. Танненбаум Э. Архитектура компьютера. – 5-е изд. – СПб.: Питер, 2007. – 844 с.
Дополнительные рекомендованные ссылки на ресурсы сети Интернет
1. Интернет портал «Все советы» (Источник)
2. Интернет портал «Электронная энциклопедия “Компьютер”» (Источник)
3. Интернет портал «apparatnoe.narod.ru» (Источник)
Домашнее задание
1. Глава 2, §2.1, 2.2. Босова Л.Л. Информатика и ИКТ: Учебник для 8 класса. – М.: БИНОМ. Лаборатория знаний, 2012.
2. Как расшифровывается аббревиатура ЭВМ?
3. Что подразумевает термин «Архитектура компьютера»?
4. Кем были сформулированы основные принципы, лежащие в основе архитектуры ЭВМ?
5. На чем основывается архитектура современных ЭВМ?
6. Назовите основные функции центрального процессора и оперативной памяти ПК.
Если вы нашли ошибку или неработающую ссылку, пожалуйста, сообщите нам – сделайте свой вклад в развитие проекта.
Архитектура фон Неймана
Краткая биография и характеристика личности Джона фон Неймана. Определение архитектуры фон Неймана как известного принципа совместного хранения программ и данных в памяти компьютера. Описание основных принципов и схемы вычислительной машины фон Неймана.
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
на тему: «Архитектура фон Неймана»
по дисциплине: Информатика
Выполнила Романова Анастасия
1. Личность Джона фон Неймана
Джон фон Немйман 28 декабря 1903, Будапешт — 8 февраля 1957, Вашингтон) — венгеро-американский математик еврейского происхождения, сделавший важный вклад в квантовую физику, квантовую логику, функциональный анализ, теорию множеств, информатику, экономику и другие отрасли науки.
Наиболее известен как человек, с именем которого (спорно) связывают архитектуру большинства современных компьютеров (так называемая архитектура фон Неймана), применением теории операторов к квантовой механике (алгебра фон Неймана), а также как участник Манхэттенского проекта и как создатель теории игр и концепции клеточных автоматов.
2. Определение архитектуры фон Неймана
Архитектура фон Неймана — широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
Наличие заданного набора исполняемых команд и программ было характерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства. Так, настольные калькуляторы, в принципе, являются устройствами с фиксированным набором выполняемых программ. Их можно использовать для математических расчётов, но невозможно применить для обработки текста и компьютерных игр, для просмотра графических изображений или видео. Изменение встроенной программы для такого рода устройств требует практически полной их переделки, и в большинстве случаев невозможно. Впрочем, перепрограммирование ранних компьютерных систем всё-таки выполнялось, однако требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации и перестройки блоков и устройств и т. п. Всё изменила идея хранения компьютерных программ в общей памяти. Ко времени её появления использование архитектур, основанных на наборах исполняемых инструкций, и представление вычислительного процесса как процесса выполнения инструкций, записанных в программе, чрезвычайно увеличило гибкость вычислительных систем в плане обработки данных. Один и тот же подход к рассмотрению данных и инструкций сделал лёгкой задачу изменения самих программ.
В настоящее время фон-неймановской архитектурой называется организация ЭВМ, при которой вычислительная машина состоит из двух основных частей — линейно-адресуемой памяти, слова которой хранят команды и элементы данных, и процессора, выполняющего эти команды. В основе модели вычислений фон Неймана лежат принцип последовательной передачи управления (счётчик команд) и концепция переменной (идентификатор).
архитектура компьютер память вычислительный
3. Принципы фон Неймана
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.
По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новое.
1. Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
2. Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
3. Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
5. Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой.
Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.
4. Машина фон Неймана
В соответствии с принципами фон Неймана компьютер состоит из арифметико-логического устройства — АЛУ), выполняющего арифметические и логические операции; устройства управления, предназначенного для организации выполнения программ; запоминающих устройств (ЗУ), в т.ч. оперативного запоминающего устройства (ОЗУ) и внешнего запоминающего устройства (ВЗУ);внешних устройств для ввода-вывода данных. Фон-неймановская архитектура компьютера считается классической, на ней построено большинство компьютеров. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
Первые компьютерные системы отличались жестко заданным набором исполняемых команд и программ. Примером такого рода вычислительных устройств являются калькуляторы. Идея хранения компьютерных программ в общей памяти позволяла превратить вычислительные машины в универсальные устройства, которые способны выполнять широкий круг задач.
Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы.
Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).
Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.
УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии. Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.
В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление.
Подавляющее большинство вычислительных машин на сегодняшний день — фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины). По-видимому, значительное отклонение от фон-неймановской архитектуры произойдет в результате развития идеи машин пятого поколения, в основе обработки информации в которых лежат не вычисления, а логические выводы.