Принципы организации ЭВМ
Принципы организации ЭВМ с фоннеймановской архитектурой
- 1. Название «электронная вычислительная машина» говорит о том, что эта машина предназначена, во-первых, для решения сложных вычислительных задач, и во-вторых, что она должна быть реализована на базе электронных элементов.
- 2. ЭВМ — это машина с хранимой (в памяти ЭВМ) программой, представленной в виде последовательности команд.
- 3. Составляющие выполняемую ЭВМ программу команды и данные, над которыми выполняются задаваемые командами операции, должны быть представлены в ЭВМ в виде двоичного кода.
- 4. Память ЭВМ должна быть организована в виде последовательности запоминающих ячеек, в каждой из которых может храниться (запоминаться) какой-либо двоичный код (код команды, числа, символа алфавита). При этом в конкретный момент времени можно обратиться для записи или чтения к любой одной из этих ячеек независимо от места ее расположения в памяти, указав адрес (порядковый номер) этой ячейки.
- 5. Для хранения кодов команд и кодов данных в ЭВМ используется одна общая память. При этом в двоичных кодах самих команд и данных отсутствуют какие-либо признаки, позволяющие явно отличать команды от данных.
- 6. Предназначение содержащихся в ячейках памяти данных, их тип и способ интерпретации и обработки также явно в их двоичном коде не указываются.
- 7. В классической фоннеймановской ЭВМ используется один центральный процессор.
Обращаясь к предыстории ЭВМ, можно отметить, что большинство из приведенных принципов сами по себе в отдель-
Как работает компьютер? Шины адреса, управления и данных. Дешифрация. Взгляд изнутри!
ности не являются оригинальным изобретением создателей первых ЭВМ, а в том или ином контексте уже ранее встречались в вычислительных устройствах. Заслугой первых разработчиков ЭВМ является то, что они отобрали из богатого предшествующего опыта наиболее эффективные решения, собрав их в единый комплекс, что и позволило наконец создать это одно из самых феноменальных изобретений человека.
Рассмотрим приведенные выше принципы более подробно, пытаясь определить мотивацию создателей ЭВМ при выборе этих решений.
ЭВМ — это машина с хранимой (в памяти ЭВМ) программой, представленной в виде последовательности команд.
В этом тезисе содержится два ключевых слова — «программой» и «хранимой».
Первое означает, что в основу способа, с помощью которого ЭВМ становится способной решать какую-либо сложную задачу — а создавалась она для решения сложных вычислительных задач, — должен быть положен принцип программирования. Это означает, что решение сложной задачи должно быть представлено в виде последовательности выполнения достаточно простых действий (другими словами, представлено в виде программы, состоящей из последовательности элементарных опе- раций/команд).
Для создателей ЭВМ тут являлось важным то, что составляющие такую программу операции могли быть настолько простыми, что их становилось возможным практически реализовать с помощью устройств, имевшихся в то время в распоряжении разработчиков ЭВМ. Заметим, что к тому времени стало очевидным, что элементной базой, наиболее подходящей для создания ЭВМ, могут быть не механические, а только электронные элементы, как наиболее быстродействующие физические устройства.
КАК работает ПРОЦЕССОР? ОБЪЯСНЯЕМ
Второе ключевое слово — «хранимой» — означает, что в ЭВМ должно быть специальное устройство, способное запоминать, хранить и, самое главное, быстро выдавать в нужном порядке для исполнения команды, составляющие такую программу. Мы это устройство называем «память ЭВМ».
Следующий принцип посвящен тому, в каком виде должны быть представлены в ЭВМ команды и данные.
Выполняемые ЭВМ команды и данные, над которыми выполняется задаваемая командой операция, должны быть представлены в ней в виде двоичного кода.
Казалось бы, совершенно очевидно, что для представления чисел и произведения вычислений над ними наиболее естественным для человека является десятичное представление. Однако для реализации ЭВМ ее создателями было выбрано именно двоичное представление. И причина этого опять определяется соображениями простоты реализации носителей такого кода с помощью физических (а именно электронных) элементов. Реализовать электронный элемент, способный находиться всего в двух состояниях, принципиально проще, чем элемент с большим числом состояний.
Если выше декларировалось, что в ЭВМ обязательно должно быть запоминающее устройство для запоминания двоичных кодов команд и данных, то в следующем принципе определялась конструкция такого запоминающего устройства.
Память ЭВМ должна быть организована в виде последовательности одинаковых запоминающих ячеек, в каждой из которых может храниться (запоминаться) некоторый двоичный код — код команды ЭВМ, код числа или символа алфавита; при этом в конкретный момент времени можно обратиться для записи или чтения к любой одной из этих ячеек независимо от ее расположения в памяти (в начале, в середине, в конце), указав адрес (порядковый номер) этой ячейки.
Запоминающее устройство, организованное таким образом, называется памятью с произвольным доступом.
Хотя сама по себе способность к запоминанию чего-либо хорошо знакома человеку — у каждого из нас есть своя память, конструкция предложенной для ЭВМ памяти ничего общего с нашей собственной человеческой памятью не имеет. И опять создатели ЭВМ исходили из соображений реализуемости такого запоминающего устройства с помощью имевшихся в их распоряжении электронных элементов. Важным также является тот факт, что организация памяти в виде последовательности запоминающих ячеек хорошо согласуется с задачей хранения и быстрой выборки последовательности команд, составляющих выполняемую ЭВМ программу.
Отметим, однако, что память с произвольным доступом, даже применительно к ЭВМ, вообще говоря, является не единственно возможным и практически используемым способом реализации ее запоминающего устройства. В частности, чуть позже в рамках этого курса мы рассмотрим память, организованную в виде стека, в которой понятие адреса ячейки отсутствует; можно упомянуть также так называемую ассоциативную память, в которой обращение осуществляется не по адресу запоминающего элемента, а по его содержимому. Тем не менее в данный момент мы ведем речь именно о памяти с произвольным доступом.
Интересен следующий тезис.
В ЭВМ используется одна общая память как для хранения данных, так и для хранения команд. При этом в двоичных кодах самих данных и команд отсутствуют признаки, позволяющие явно отличать их друг от друга.
Казалось бы, коды команд и коды данных по сути являются совершенно разными сущностями с точки зрения их интерпретации и обработки в ЭВМ. Код команды определяет, какие действия должна выполнить ЭВМ, а данные — это объекты, над которыми эти действия выполняются. И тем не менее мы «складываем» эти объекты в одну общую память и отказываемся даже от того, чтобы как-то пометить их, чтобы различить. Дело в том, что, как будет видно дальше, сформулированные принципы реализации ЭВМ на самом деле позволяют реализовать корректную быструю выборку из памяти и последующую интерпретацию и использование двоичных кодов команд и данных при их размещении в одной общей памяти и отсутствии в их коде признаков, обозначающих тип этих кодов.
При этом существенным выигрышем является гораздо более эффективное использование всегда ограниченного количества ячеек запоминающего устройства (пространства памяти) в условиях, когда заранее не известно, сколько ячеек потребуется для размещения команд, а сколько — для данных.
Справедливости ради отметим, что в конце 1930-х гг. в Гарвардском университете Говардом Эйкеном была предложена иная архитектура запоминающего устройства вычислительной машины. Идея, реализованная Эйкеном, заключалась в физическом разделении устройств хранения и линий передачи команд и данных.
И тем не менее для ЭВМ фоннеймановской архитектуры (ее еще называют принстонской) было выбрано решение с общей памятью для команд и данных. То, что это было не самое плохое решение, подтверждается тем фактом, что и в настоящее время в большинстве компьютеров используется именно общая память для команд и для данных.
Однако не была забыта и гарвардская архитектура с раздельной памятью для команд и данных. В 90-е гг. XX в. она возродилась при создании так называемых процессоров сигналов, то есть процессоров, предназначенных для обработки сигналов в реальном масштабе времени, для которых фактор скорости выполнения операций оказался гораздо более приоритетным, чем оптимизация использования имеющегося объема памяти ЭВМ.
Следующий тезис обсуждаемого перечня фоннеймановских принципов реализации ЭВМ перекликается с предыдущим и гласит, что в двоичном коде данных также не содержится признаков, обозначающих предназначение данных, их тип и способ использования.
То есть даже зная, что данный двоичный код представляет какие-то данные, мы не можем сказать, что это: целое число без знака, число со знаком, число с плавающей точкой, код символа какого-то алфавита. Эти характеристики определяются и различаются в контексте выполняемой ЭВМ программы.
Наконец, последний тезис фоннеймановских принципов говорит о том, что в классической фоннеймановской ЭВМ используется один центральный процессор. Вполне понятно, что при создании первых ЭВМ их разработчики в сторону многопроцессорных вычислительных систем еще не глядели.
Контрольные вопросы
- 1. Объясните, в чем состоит принципиальный смысл формулы «ЭВМ — это машина с хранимой программой».
- 2. Какая система счисления и почему выбрана в фоннеймановской ЭВМ для внутреннего представления чисел?
- 3. Представление в памяти фоннеймановской ЭВМ данных и команд.
- 4. Что такое программа ЭВМ? В каком виде и где она должна размещаться для того, чтобы процессор мог ее выполнять?
- 5. Для чего в ЭВМ нужна память? Особенности организации памяти фоннеймановской ЭВМ.
- 6. Что такое память с произвольным доступом? Возможны ли другие способы доступа к ячейкам памяти, другие способы организации памяти?
- 7. Что такое адрес ячейки памяти ЭВМ?
- 8. В ЭВМ с фоннеймановской архитектурой данные и команды хранятся:
- а) раздельно в памяти команд и памяти данных;
- б) в общей памяти;
- в) данные хранятся в памяти ЭВМ, а команды поступают от внешних устройств;
- г) команды находятся в памяти ЭВМ, а данные принимаются из портов внешних устройств;
- д) ваш вариант.
В чем преимущество выбранного вами решения?
- 9. Можно ли по содержимому ячейки памяти фоннеймановской ЭВМ определить, что в ней находится: команда, целое число без знака, число со знаком и т. д.? Если да, то каким образом?
- 10. Каким образом процессор фоннеймановской ЭВМ определяет, из каких ячеек памяти следует выбирать команды, а из каких—данные?
Источник: studme.org
Принципы фон Неймана (Архитектура фон Неймана)
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.
По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новое.
Принципы фон Неймана
- Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
- Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
- Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
- Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
- Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой.
Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.
Как работает машина фон Неймана
Машина фон Неймана состоит из запоминающего устройства (памяти) — ЗУ, арифметико-логического устройства — АЛУ, устройства управления – УУ, а также устройств ввода и вывода.
Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы.
Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).
Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.
Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.
УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.
Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.
В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление.
Источник: inf1.info
Концепция машины с хранимой в памяти программой
При описании эволюции средств ВТ обычно используют один из двух подходов: хронологический или технологический. В первом случае – это хронология событий, существенно повлиявших на становление ВТ, во втором – технологический подход, когда развитие вычислительной техники рассматривается в терминах архитектурных решений и технологий.
В качестве узловых моментов, определяющих появление нового поколения ВТ, обычно выбираются революционные идеи или технологические прорывы, кардинально изменяющие дальнейшее развитие средств автоматизации вычислений. Одной из таких идей принято считать концепцию вычислительной машины с хранимой в памяти программой, сформулированную Джоном фон Нейманом. Взяв ее за точку отсчета, историю развития ВТ можно представить в виде трех этапов:
• эры вычислительных машин и систем с фон-неймановской архитектурой;
• постнеймановской эпохи – эпохи параллельных и распределенных вычислений, где наряду с традиционным подходом все большую роль начинают играть отличные от фон-неймановских принципы организации вычислительного процесса.
Значительно большее распространение, однако, получила привязка поколений к смене технологий. Принято говорить о «механической» эре (нулевое поколение) и последовавших за ней пяти поколениях ВС. Первые четыре поколения традиционно связывают с элементной базой вычислительных систем: электронные : лампы, полупроводниковые приборы, интегральные схемы малой степени интеграции (ИМС), большие (БИС), сверхбольшие (СБИС) и ультрабольшие (УБИС) интегральные микросхемы. Пятое поколение в общепринятой интерпретации ассоциируют не столько с новой элементной базой, сколько с интеллектуальными возможностями ВС. Работы по созданию ВС пятого поколения велись в рамках четырех достаточно независимых программ, осуществлявшихся учеными США, Японии, стран Западной Европы и стран Совета экономической взаимопомощи.
Ввиду того, что ни одна из программ не привела к ожидаемым результатам, разговоры о ВС пятого поколения понемногу утихают. Трактовка пятого поколения явно выпадает из «технологического» принципа. С другой стороны, причисление всех ВС на базе сверхбольших интегральных схем (СБИС) к четвертому поколению не отражает принципиальных изменений в архитектуре ВС, произошедших за последние годы.
Вычислительная машина – совокупность технических средств, служащих для автоматизированной обработки дискретных данных по заданному алгоритму.
Алгоритм – одно из фундаментальных понятий математики и вычислительной техники. Международная организация стандартов (ISO) формулирует понятие алгоритм как «конечный набор предписаний, определяющий решение задачи посредством конечного количества операций» (ISO 2382/1-84).
Основными свойствами алгоритма являются: дискретность, определенность, массовость и результативность.
Дискретность – свойство алгоритма, выражающееся в том, что алгоритм описывает действия над дискретной информацией (например, числовой или символьной), причем сами эти действия также дискретны.
Определенность означает – свойство алгоритма, выражающееся в том, что в алгоритме указано все, что должно быть сделано, причем ни одно из действий не должно трактоваться двояко.
Массовость – свойство алгоритма, выражающееся в том, что алгоритм подразумевает его применимость к множеству значений исходных данных, а не только к каким-то уникальным значениям.
Результативность – свойство алгоритма, выражающееся в том, алгоритм состоит в возможности получения результата за конечное число шагов.
В основе архитектуры современных ВМ лежит представление алгоритма решения задачи в виде программы последовательных вычислений. Согласно стандарту ISO 2382/1-84, программа для ВМ – это «упорядоченная последовательность команд, подлежащая обработке».
Вычислительная машина, где определенным образом закодированные команды программы хранятся в памяти называется вычислительной машины с хранимой в памяти программой. Идея создания такой ВМ принадлежит создателям вычислителя ENIAC Эккерту, Мочли и фон Нейману. Относительно авторства существует несколько версий, но поскольку в законченном виде идея впервые была изложена в 1945 году в статье фон Неймана, именно его фамилия фигурирует в обозначении архитектуры подобных машин, составляющих подавляющую часть современного парка ВМ и ВС.
Сущность фон-неймановской концепции вычислительной машины можно свести к четырем принципам:
Источник: studopedia.ru
Концепция машины с хранимой в памяти программой
В основе архитектуры современных ЭВМ лежит представление алгоритма решения задачи в виде программы последовательных вычислений. Согласно стандарту ISO 2382/1-84, программа для ЭВМ — это «упорядоченная последовательность команд, подлежащая обработке».
ЭВМ, где определенным образом закодированные команды программы хранятся в памяти, известна под названием вычислительной машины с хранимой в памяти программой. Идея принадлежит создателям вычислителя ENIAC Эккерту, Мочли и фон Нейману. Еще до завершения работ над ENIAC они приступили к новому проекту — EDVAC, главной особенностью которого стала концепция хранимой в памяти программы, на долгие годы определившая базовые принципы построения последующих поколений вычислительных машин. Относительно авторства существует несколько версий, но поскольку в законченном виде идея впервые была изложена в 1945 году в статье фон Неймана [Von Neumann, J. «First Draft of a Report on the EDVAC», Moore School, University of Pennsylvania, 1945], именно его фамилия фигурирует в обозначении архитектуры подобных машин, составляющих подавляющую часть современного парка вычислительных машин и вычислительных систем.
Сущность фон-неймановской концепции вычислительной машины можно свести к четырем принципам:
- — двоичного кодирования;
- — программного управления;
- — однородности памяти;
- — адресности.
Принцип двоичного кодирования
Согласно этому принципу, вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем, В числовой инфор-
мации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля (рисунок 1.6): поле кода операции (КОп) и поле адресов (адресную часть — АЧ).
Рис. 1.6 Формат команды
Код операции представляет собой указание, какая операция должна быть выполнена, и задается с помощью r-разрядной двоичной комбинации.
Вид адресной части и число составляющих ее адресов зависят от типа команды: в командах преобразования данных АЧ содержит адреса объектов обработки (операндов) и результата; в командах изменения порядка вычислений — адрес следующей команды программы; в командах ввода/вывода — номер устройства ввода/ вывода. Адресная часть также представляется двоичной последовательностью, длину которой обозначим через р. Таким образом, команда в вычислительной машине имеет вид (гн-р)-разрядной двоичной комбинации.
Принцип программного управления
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно.
Принцип однородности памяти
Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных.
Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.
Концепция вычислительной машины, изложенная в статье фон Неймана, предполагает единую память для хранения команд и данных. Такой подход был принят в вычислительных машинах, создававшихся в Принстонском университете, из-за чего и получил название принстонской архитектуры.
Практически одновременно в Гарвардском университете предложили иную модель, в которой ВМ имела отдельную память команд и отдельную память данных. Этот вид архитектуры называют гарвардской архитектурой. Долгие годы преобладающей была и остается принстонская архитектура, хотя она порождает проблемы пропускной способности тракта «процессор-память». В последнее время в связи с широким использованием кэш-памяти разработчики ВМ все чаще обращаются к гарвардской архитектуре.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек — адреса.
Контрольные вопросы
- 1.1. Что понимается под ЭВМ?
- 1.2. Охарактеризуйте перовое поколение ЭВМ.
- 1.3. В чем основные отличие ЭВМ второго поколения от первого?
- 1.4. Охарактеризуйте третье поколение ЭВМ.
- 1.5. В ЭВМ какого поколения впервые появились микропроцессоры?
- 1.6. В каком направлении идет развитие ЭВМ?
- 1.7. Приведите классификацию средств ЭВТ по принципу действия.
- 1.8. Приведите классификацию средств ЭВТ по сфере применения.
- 1.9. Приведите классификацию средств ЭВТ по быстродействию.
- 1.10. Поясните упрощенную структурную схему ЭВМ.
- 1.11. Какие базовые функции возлагаются на ЭВМ?
- 1.12. В чем состоит сущность фон-неймановской концепции вычислительной машины?
- 1.13. Поясните принцип двоичного кодирования.
- 1.14. В чем заключается принцип программного управления?
- 1.15. Чем отличается принстонская архитектура от гарвардской?
- 1.16. В чем заключается принцип адресности?
Источник: studref.com
programmig [1 term] / принципы работы компьютера / устройство компьютера[1-10] / схема фон Неймана
- Архитектура компьютера
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня. По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новое. Принципы фон Неймана
- Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
- Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
- Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
- Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
- Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой. Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск. Как работает машина фон НейманаМашина фон Неймана состоит из запоминающего устройства (памяти) — ЗУ, арифметико-логического устройства — АЛУ, устройства управления – УУ, а также устройств ввода и вывода. Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы. Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ). Арифметико-логическое устройство выполняет указанные командами операции над указанными данными. Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку. УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии. Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера. В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление. Принципы фон Неймана[править | править исходный текст] Принцип однородности памяти Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины. Принцип адресности Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек — адреса. Принцип программного управления Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно. Принцип двоичного кодирования Согласно этому принципу, вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля: поле кода операции и поле адресов. Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип “хранимой программы”. Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней (в то время как собственно расчет не мог продолжаться более нескольких минут – выходили из строя лампы). Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений. Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ. Основными блоками по Нейману являются устройство управления (УУ) и арифметико-логическое устройство (АЛУ) (обычно объединяемые в центральный процессор), память, внешняя память, устройства ввода и вывода. Схема устройства такой ЭВМ представлена на рис. 1. Следует отметить, что внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде, удобном компьютеру, но недоступном для непосредственного восприятия человеком. Так, накопитель на магнитных дисках относится к внешней памяти, а клавиатура – устройство ввода, дисплей и печать – устройства вывода.
Рис. 1. Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов от процессора к остальными узлам ЭВМ Устройство управления и арифметико-логическое устройство в современных компьютерах объединены в один блок – процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств (сюда относятся выборка команд из памяти, кодирование и декодирование, выполнение различных, в том числе и арифметических, операций, согласование работы узлов компьютера). Более детально функции процессора будут обсуждаться ниже. Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров “многоярусно” и включает оперативное запоминающее устройство (ОЗУ), хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы), и внешние запоминающие устройства (ВЗУ) гораздо большей емкости, чем ОЗУ. но с существенно более медленным доступом (и значительно меньшей стоимостью в расчете на 1 байт хранимой информации). На ОЗУ и ВЗУ классификация устройств памяти не заканчивается – определенные функции выполняют и СОЗУ (сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие подвиды компьютерной памяти. В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти. из которой будет извлечена следующая команда программы, указывается специальным устройством – счетчиком команд в УУ. Его наличие также является одним из характерных признаков рассматриваемой архитектуры. Разработанные фон Нейманом основы архитектуры вычислительных устройств оказались настолько фундаментальными, что получили в литературе название “фон-неймановской архитектуры”. Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины). По-видимому, значительное отклонение от фон-неймановской архитектуры произойдет в результате развития идеи машин пятого поколения, в основе обработки информации в которых лежат не вычисления, а логические выводы
.
Источник: studfile.net