Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вопросы госы 2021.docx
Скачиваний:
109
Добавлен:
01.06.2021
Размер:
10.49 Mб
Скачать
  1. Концепция вычислительной машины с хранимой в памяти программой

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

Вычислительная машина – совокупность технических средств для обработки дискретных данных по заданному алгоритму

Стандарт ISO 2382/1-84 определяет базовые понятия, в том числе алгоритма

Алгоритм – конечный набор предписаний, определяющий решение задачи посредством конечного числа операций.

Свойства алгоритма:

  • Дискретность. Алгоритм описывает дискретные действия над дискретными данными в цифровой машине. Альтернатива – алгоритмы для аналоговых и гибридных вычислительных машин – своя специфика не относится к стандарту ISO 2382/1-84.

  • Определённость. В алгоритме должно быть указано всё, что подлежит выполнению. При этом ни одно из действий не должно трактоваться ________.

  • Массовость. Применимость алгоритма к множеству исходных данных. Или универсальность алгоритма относительно исходных данных. Если требуется ограничить исходные данные, что в алгоритме должны быть предусмотрены соответствующие условия.

  • Результативность. Возможность получения результата за конечное число шагов. Число шагов может быть очень большим, но обязательно конечным.

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

Согласно концепции Фон Неймана, данные команды кодируются двоично и хранятся в памяти вычислительной машины на ряду с данными.

Основные принципы фоннеймановской концепции вычислительной машины:

  • Двоичное кодирование. И команды, и данные кодируются бинарно. При этом в формате команды выделяют два поля: КОп (код операции) длиною r бит и АЧ (адресная часть) длиною p бит. Таким образом вся команда содержит r+p бит. КОп указывает на то, какая операция должна быть выполнена. Адресная часть – адрес операнда, над которым будет выполнена команда, а может быть адрес следующей команды, подлежащей выполнению.

  • Программное управление. Программа – последовательность команд, которые хранятся в последовательно пронумерованных ячейках памяти и выполняются в естественной последовательности. Принцип перехода – естественная последовательность выполняемых команд может быть нарушена, если возникают безусловный или условный переходы.

  • Однородность памяти. И команды, и данные хранятся в одной и той же памяти. Это позволяет проводить над командами такие же действия, как и над данными. Отсюда следует, что команды могут быть получены как результат работы другой программы. Пример: компиляция – переход от текстового файла к набору машинных команд. Самое главное св-во – возможность синтеза программного кода стало базисом для создания высокоуровневых языков программирования, которые позволили программисту осуществлять диалог с машиной на естественном для человека языке. Архитектура Фон-Неймана. Позже появилась Гарвардская архитектура, где память разделена на память данных и память команд. Сегодня архитектуры сочетаются. Гарвардская выражается в различных уровнях кэш памяти. В настоящее время и постоянная память проходит то же разделение по быстродействию

  • Принцип адресности. Структурно память состоит из пронумерованных ячеек. При этом одинаково доступна любая из ячеек (равновероятность (равнодоступность) доступа каждой ячейки памяти). Постоянная память трактуется Фон Нейманом как вторичная.

УС – указатель стека

ДКОп – дешифратор кода операции

МПА – микропрограммные автоматы

АЛУ – арифметико-логическое устройство

Рх – регистр операнда х

Ру - регистр операнда у

ОпБ – операционный блок

РПр – регистр признаков

Акк – аккумулятор (регистр)

УВВ – устройство ввода-вывода

ДВВ – дешифратор номера порта ввода-вывода

(

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

Итак, алгоритм — это:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Согласно этому принципу, вся информация, как данные, так и команды, кодиру­ются двоичными цифрами 0 и 1.

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

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

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

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

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

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

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

)

Соседние файлы в предмете Государственный экзамен