Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Концепция машины с хранимой в памяти программой

Поиск

 

Исходя из целей данного раздела, введем новое определение термина «вычисли­тельная машина» как совокупности технических средств, служащих для автома­тизированной обработки дискретных данных по заданному алгоритму.

Алгоритм – одно из фундаментальных понятий математики и вычислитель­ной техники. Международная организация стандартов (ISO) формулирует поня­тие алгоритм как «конечный набор предписаний, определяющий решение задачи посредством конечного количества операций» (ISO 2382/1-84).

Помимо этой стан­дартизированной формулировки существуют и другие определения. Приведем более распространенные из них. Итак, алгоритм – это:

· способ преобразования информации, задаваемый с помощью конечной систе­мы правил;

· совокупность правил, определяющих эффективную процедуру решения любой задачи из некоторого заданного класса задач;

· точно определенное правило действий, для которого задано указание, как и в какой последовательности это правило необходимо применять к исходным данным задачи, чтобы получить ее решение.

Основными свойствами алгоритма являются: дискретность, определенность, массовость и результативность.

Дискретность выражается в том, что алгоритм описывает действия над диск­ретной информацией (например, числовой или символьной), причем сами эти дей­ствия также дискретны.

Свойство определенности означает, что в алгоритме указано все, что должно быть сделано, причем ни одно из действий не должно трактоваться двояко.

Массовость алгоритма подразумевает его применимость к множеству значений исходных данных, а не только к каким-то уникальным значениям.

Наконец, результативность алгоритма состоит в возможности получения ре­зультата за конечное число шагов.

Рассмотренные свойства алгоритмов предопределяют возможность их реали­зации на ВМ, при этом процесс, порождаемый алгоритмом, называют вычислитель­ным процессом.

В основе архитектуры современных ВМ лежит представление алгоритма реше­ния задачи в виде программы последовательных вычислений. Согласно стандарту ISO 2382/1-84, программа для ВМ — это «упорядоченная последовательность ко­манд, подлежащая обработке».

ВМ, где определенным образом закодированные команды программы хранят­ся в памяти, известна под названием вычислительной машины с хранимой в памя­ти программой. Идея принадлежит создателям вычислителя ENIАС Эккерту, Мочли и фон Нейману. Еще до завершения работ над ENIАС они приступили к новому проекту — EDVAC, главной особенностью которого стала концепция хранимой в памяти программы, на долгие годы определившая базовые принципы построе­ния последующих поколений вычислительных машин. Относительно авторства существует несколько версий, но поскольку в законченном виде идея впервые была изложена в 1945 году в статье фон Неймана, именно его фамилия фигурирует в обозначении архитектуры подобных машин, составляющих подавляющую часть современного парка ВМ и ВС.

Сущность фон-неймановской концепции вычислительной машины можно све­сти к четырем принципам:

· двоичного кодирования;

· программного управления;

· однородности памяти;

· адресности.

 

Принцип двоичного кодирования

 

Согласно этому принципу, вся информация, как данные, так и команды, кодиру­ются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в фор­мате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля (рис. 2): поле кода операции (КОп) и поле адресов (адресную часть — АЧ).

 

Рис. 2. Структура команды.

 

Код операции представляет собой указание, какая операция должна быть вы­полнена, и задается с помощью r-разрядной двоичной комбинации.

Вид адресной части и число составляющих ее адресов зависят от типа команды: в командах преобразования данных АЧ содержит адреса объектов обработки (опе­рандов) и результата; в командах изменения порядка вычислений – адрес следую­щей команды программы; в командах ввода/вывода – номер устройства ввода/вывода. Адресная часть также представляется двоичной последовательностью, длину которой обозначим через р. Таким образом, команда в вычислительной ма­шине имеет вид (r+р)-разрядной двоичной комбинации.

 

Принцип программного управления

 

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

 

Принцип однородности памяти

 

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

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

Принцип адресности

 

Структурно основная память состоит из пронумерованных ячеек, причем процес­сору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих яче­ек — адреса.

 



Поделиться:


Последнее изменение этой страницы: 2016-09-18; просмотров: 831; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.245.158 (0.008 с.)