Принцип хранимой в памяти программы был предложен Дж. фон Нейманом в 1945 году. Этот принцип стал основой современных машин. В соответствии с этим принципом команды хранятся в памяти, также как и данные. При этом под программу отводится одна отдельная область памяти, под данные — другая область.
В командах указываются не операнды, а их адреса, то есть номера ячеек памяти ОП, где они размещаются. Для вызова команд также надо указывать их адреса в ОП. При такой организации можно многократно вызывать из памяти одну и ту же команду или последовательность из нескольких команд и одни и те же данные. Кроме этого, над командами и над данными можно производить операции, так как они с точки зрения обработки становятся равноценными. Структура команды для ЭВМ, организованной в соответствии с принципом фон-Неймана (фоннеймановской машины), будет следующей:
| КОП | Адрес операнда |
Такой тип команды оказался намного более универсальным и наряду с ранее приведенным он широко используется в современной вычислительной технике.
Архитектура Intel. Введение в Assembler
Программа вычисления выражения: при использовании команд последнего типа намного сокращается.
1-я команда: i:= 0;
2-я команда: Yi:= 0:
5-я команда: i:=i+1;
6-я команда: i>n? Если нет, то переход на 3-ю команду;
7-я команда: Конец.
Длина полученной программы, использующей введенный тип команды, не зависит от числа n слагаемых. Сокращение длины программы достигается благодаря возможности многократного вызова из памяти последовательности с 3-ей по 6-ю команд.
Воспользуйтесь поиском по сайту:

studopedia.org — Студопедия.Орг — 2014-2023 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с) .
Источник: studopedia.org
Архитектура фон Неймана
Принципы архитектуры фон Неймана; системная шина и общая схема типовой ЭВМ, основанной на архитектуре фон Неймана; гарвардская архитектура; комбинирова-ние фон Неймановской и гарвардской архитектур в современных вычислительных систе-мах.
ПРИНЦИПЫ АРХИТЕКТУРЫ ФОН НЕЙМАНА
Традиционно, под архитектурой ЭВМ понимают полную и детальную спецификацию ин-терфейса пользователя ЭВМ. При этом пользователями считались как люди — в основном, програм-мисты, работающие с ЭВМ, — так и технические средства, взаимодействующие с ЭВМ. Это опреде-ление было дано Фредериком Бруксом в 1975 году в его знаменитой книге «Мифический чело-веко-месяц» и стало общепринятым в индустрии. Однако оно, на наш взгляд, выглядит не-сколько архаично и не вполне вписывается в контекст нашего курса.
Будем называть архитектурой ЭВМ основные принципы организации вычислительных устройств, их основные узлы и интерфейсы, а также технологии и методы, с помощью которых они реализованы 1 Дальнейшее обсуж-дение термина «Архитектура ЭВМ» можно найти в учебнике В.Г. Хорошевского «Архитектура вычислительных систем» .
Информатика 10 класс (Урок№6 — Основополагающие принципы устройства компьютеров.)
Большинство современных ЭВМ созданы на основе архитектуры фон Неймана, предложенной Джоном фон Нейманом и его коллегами из университета Принстона. Эта архитектура была создана для ЭВМ под названием EDVAC, разрабатываемого в рамках Манхэт-тенского проекта (проект по созданию атомной бомбы в США, осуществлялся в конце второй миро-вой войны). Отчет, описывающий основные принципы организации этого компьютера, был написан фон Нейманом в 1945 году и, с разрешения американских военных, разослан в основные ведущие мировые университеты. Этот отчёт оказал решающее влияние на развитие индустрии и исследований в компьютерной сфере. Ниже представлены основные принципы архитектуры фон Неймана.
- Программное управление работой ЭВМ.
- Принцип хранимой программы.
- Принцип адресуемости памяти.
- Использование двоичной системы исчисления.
- Иерархичность запоминающих устройств.
- Использование условных переходов.
- Детально рассмотрим эти принципы.
Программное управление работой ЭВМ. Любое сложное оборудование имеет интерфейс для взаимодействия с оператором, и чем сложнее задачи, для решения которых оборудование предназначено, тем более сложный интерфейс взаимодействия с оператором оно име-ет.
Посредством этого интерфейс человек управляет оборудованием — принимает решения, которые последнее принять не в состоянии, проводит диагностику, перезапуск и т.д. Например, многие со-временные самолёты обладают интеллектуальными системами автопилотирования, но, даже умея самостоятельно решать сложные навигационные задачи, эти системы требуют от экипажа задания начальных условий маршрута, отдельных параметров режима полёта и т.д. ЭВМ также является сложным оборудованием, которое помогает конечному пользователю решать его задачи, как прави-ло, уже не лежащие в области программирования и вычислительной техники, как, например, рас-сматриваемая выше задача управления самолетом. Другим примером являются многочисленные за-дачи управления бизнес-организацией — учёт различных ресурсов, мониторинг индустриальных процессов и пр. Можно также вспомнить про мобильные устройства, которые решают задачу обще-ния людей, помогают ориентироваться на местности, удобно производить покупки и выполнять платежи и т.д.
Принцип программного управления ЭВМ архитектуры фон Неймана утверждает, что управление вычислительной техникой — мобильными устройствами, ноутбуками, рабочими станциями и серверами и пр. — может осуществляться оператором не напрямую, а с помощью программ. В идеале программы вообще освобождают оператора (конечного пользователя) от участия в управлении работой ЭВМ, требуя лишь задания начальных данных. Но даже последние часто считываются программой автоматически, являясь, так сказать параметрами контекста.
Программа, исполняемая на ЭВМ, состоит из отдельных команд (действий), и каждая ко-манда позволяет осуществить единичный акт преобразования информации над некоторыми данны-ми. Команды, которые могут исполняться конкретной ЭВМ, составляют её машинный язык.
Машинный язык ЭВМ должен был обладать выразительной силой: требуется, чтобы с его помощью было возможно и удобно задавать соответствующие алгоритмы. С другой стороны, он должен позволять эффективное выполнение на соответствующей ЭВМ. Компромисс между нагляд-ностью и выразительной силой, с одной стороны, и вычислительной эффективностью, с другой сто-роны, является одной из главных проблем современных языков программирования (будем считать, что читателю очевидно, что современные языки программирования являются надстройкой над ма-шинными языками ЭВМ, а программы, созданные с их помощью, относительно несложно превра-щаются в команды ЭВМ).
Один из пионеров вычислительной техники Чарльз Бэббидж пытался реализовать данный принцип ещё в XIX веке, но потерпел неудачу. Технологии XX века позволили успешно создать сложные программируемые устройства. Соответственно, для них стали разрабатываться специаль-ные «понятные» им языки (машинные языки), с помощью которых стало возможно выра-зить вычислительные алгоритмы.
Принцип хранимой программы. Этот принцип утверждает, что в процессе исполнения программа вместе со своими данными хранится в ЭВМ, а не передается через оператор-ский интерфейс по одной команде. При этом важным является то, что и код, и данные программы находятся в одном и том же месте — в оперативной памяти.
В процессе исполнения программы про-цессор выбирает из оперативной памяти команды и их операнды (то есть данные). При этом имеется возможность сделать команду операндом и тогда над ней можно выполнять различные операции, и таким образом появляется возможность преобразовывать программы при их выполнении. Также сле-дует отметить, что принцип хранимой программы обеспечивает одинаковое время выборки команд и операндов из памяти, позволяет использовать косвенные системы адресации для работы c памятью произвольных размеров и многое другое.
Наличие оперативной памяти, в которой хранится как программа, так и её данные, была новаторской идеей. Например, компьютер Mark I представлял собой, фактически, мощный электромеханический калькулятор, снабжённый управляющим устройством.
Исполняемая программа непосредственно считывалась с перфоленты, а не загружалась в оперативную память це-ликом перед запуском, то есть принцип хранимой программы архитектуры фон Неймана нарушался. Затраты на покомандное считывание сильно влияли на скорость исполнения программы. Однако на тот момент (40-х годы XX века) это всех устраивало: тот факт, что вычислительное устройство мож-но было программировать, а не подавать ему на вход каждую команду вручную, уже был значитель-ным шагом вперёд. Менее знаменитый современник компьютера Mark I , немецкий компьютер Z3 , созданный и утерянный во время Второй мировой войны, был устроен аналогичном образом.
Принцип хранимой программы впоследствии позволил создать компиляторы, операцион-ные системы, различные системные программы, которые манипулируют машинным кодом программ как данными, позволяя достичь значительной автоматизации в программном управлении ЭВМ.
Принцип адресуемости памяти. Данный принцип постулирует, что память ЭВМ (в частности, оперативная память) устроена следующим образом. Она представляет собой набор пронумерованных ячеек, каждая из которых имеет, таким образом, адрес доступа — номер.
Эти ячейки называются словами, у разных ЭВМ размер слова бывает разным (подробно про это будет рассказано в следующих лекциях). Команды программы, а также её данные, располагаются в этих словах последовательно. Процессору в любой момент времени доступна любое слово в памяти по номеру (адресу). Таким образом память является массивом слов.
Уже позднее данный принцип позволил организовывать различные схемы адресации, ис-пользуя адресные сегменты, косвенную адресацию и т.д. (все это будет подробно рассмотрено в сле-дующих лекциях). Такие схемы, в свою очередь, позволили реализовать гибкие стратегии размеще-ния программ и данных в памяти, а также осуществлять эффективный доступ к ним во время работы процессора.
Использование двоичной системы исчисления. Этот принцип означает, что для представления команд программ и их данных используется двоичная система счисления. Первые компьютеры использовали десятичную систему исчисления, были также варианты использования троичной системы исчисления.
Именно использование двоичной системы позволил наладить индустриальное производ-ство ЭВМ. Дело в том, что поскольку в двоичной системе имеются только две цифры (0 и 1), поэто-му для их представления может быть использована любая физическая система c двумя стабильными состояниями. Например, триод и транзистор (открытое или закрытое состояния), триггер c двумя устойчивыми состояниями, импульсная схема (наличие или отсутствие электрического импульса) и т. п. Предпринимались попытки конструирования ЭВМ на основе других систем исчисления (например, троичной и десятичной), и были достигнуты интересные результаты. Но лишь для двоичной системы удалось создать электронные схемы, надёжные и недорогие при массовом производстве.
Этот принцип также не был очевидным. Альтернативой двоичной системе исчисления была в первую очередь традиционная десятичная система. Для неё существовало много средств, например, алгоритмы для арифмометров, широко использовавшихся в 40-50 годы XX века.
Арифмо-метры — это небольшие механические вычислители, позволявшие выполнять 4 главных арифмети-ческих действия и помещавшиеся на письменном столе. Были также созданы, опубликованы и широко использовались таблицы значений функций и физических величин с достаточно высокой точностью в форме десятичных дробей и т.д. 2 Люди старшего поколения помнят таблицы Владимира Брадиса, в которых были собраны значения тригонометрических функций, логарифмов и прочие величины для использования в математических расчётах с точностью четыре знака после запятой . Таким образом, при переходе на двоичную систему требовалось преобразовать налаженные десятилетиями средства и процедуры расчётов, применяемые в большом количестве областей промышленности и науки.
Иерархичность запоминающих устройств. Этот принцип утверждает, что ЭВМ должна иметь различные виды памяти, обладающие различным объёмом и быстродействием. Кратко рассмотрим разные виды памяти современных ЭВМ.
Сначала сфокусируемся на долгосрочной и оперативной памяти.
- механические магнитные диски (жесткие диски, которые часто называют «винчестерами»),
- твердотельные накопители ( SSD ),
- внешние запоминающие устройства — гибкие и оптические диски, твердотельная флэш-память, магнитные ленты.
Оперативная память предназначена для хранения программы и её данных в процессе исполнения. То есть программа загружается из долгосрочной памяти в опера-тивную, давая возможность процессору выполнить её. Таким образом, процессор не работает с дол-госрочной памятью, что сильно уменьшило бы скорость исполнения программы. Соответственно, оперативная память имеет существенно меньший объем, чем долгосрочная, но скорость доступа к ней значительно выше — ведь требуется, чтобы процессор мог получать следующие команд и значе-ния соответствующих переменных очень быстро. В связи с этим для изготовления оперативной па-мяти используются иные технологи, нежели для изготовления долгосрочной памяти.
Взаимодействие процессора и оперативной памяти осуществляется через системную шину — быстрый канал передачи информации. Несмотря на эффек-тивную реализацию, системная шина является принципиальным узким местом архитектуры фон Неймана, замедляющим быстродействие компьютера. На решение этой проблемы нацелено большое количество различных решений на самых разных уровнях организации процесса выполнения про-граммы.
Разделение памяти компьютера на оперативную и долгосрочную было одной из главных инноваций архитектуры фон Неймана. Однако в современных компьютерах иерархия памяти значи-тельно сложнее. Кратко рассмотрим следующие виды памяти:
- регистры процессора,
- кэш-память процессора,
- внешние устройства памяти (дискеты, лазерные диски, флэш-карты),
- память для хранения настроек компьютера.
Источник: intuit.ru