Шестое поколение (1990-)

Архитектура фон Неймана

Архитектура фон Неймана (англ. von Neumann architecture) — широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.

Наличие заданного набора исполняемых команд и программ было характерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства. Так, настольные калькуляторы, в принципе, являются устройствами с фиксированным набором выполняемых программ. Их можно использовать для математических расчётов, но невозможно применить для обработки текста и компьютерных игр, для просмотра графических изображений или видео. Изменение встроенной программы для такого рода устройств требует практически полной их переделки, и в большинстве случаев невозможно. Впрочем, перепрограммирование ранних компьютерных систем всё-таки выполнялось, однако требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации и перестройки блоков и устройств и т. п. Всё изменила идея хранения компьютерных программ в общей памяти. Ко времени её появления использование архитектур, основанных на наборах исполняемых инструкций, и представление вычислительного процесса как процесса выполнения инструкций, записанных в программе, чрезвычайно увеличило гибкость вычислительных систем в плане обработки данных. Один и тот же подход к рассмотрению данных и инструкций сделал лёгкой задачу изменения самих программ.

В настоящее время фон-неймановской архитектурой называется организация ЭВМ, при которой вычислительная машина состоит из двух основных частей — линейно-адресуемой памяти, слова которой хранят команды и элементы данных, и процессора, выполняющего эти команды. В основе модели вычислений фон Неймана лежат принцип последовательной передачи управления (счётчик команд) и концепция переменной (идентификатор).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лекция 1 по архитектуре компьютеров. Концепция машины с хранимой в памяти программой

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

ВМ, где определенным образом
закодированные команды программы
хранятся в памяти, известна под
названием вычислительной машины с
хранимой в памяти программой.
Идея принадлежит создателям
вычислителя ENIAC Эккерту, Мочли и
фон Нейману.

Сущность фон-неймановской концепции
вычислительной машины можно свести к
четырем принципам:
– двоичного кодирования;
– программного управления;
– однородности памяти;
– адресности.

ПРИНЦИП ДВОИЧНОГО КОДИРОВАНИЯ
Вся информация, как данные, так и
команды, кодируются двоичными
цифрами 0 и 1.

ПРИНЦИП ПРОГРАММНОГО УПРАВЛЕНИЯ
Все вычисления должны быть представлены в
виде программы, состоящей из
последовательности управляющих слов – команд.
Команды программы хранятся в
последовательных ячейках памяти
вычислительной машины и выполняются в
естественной последовательности.
При необходимости, с помощью специальных
команд, эта последовательность может быть
изменена.

ПРИНЦИП ОДНОРОДНОСТИ ПАМЯТИ
Команды и данные хранятся в одной и той же
памяти и внешне в памяти неразличимы.
Распознать их можно только по способу
использования.

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

ПРИНЦИП АДРЕСНОСТИ
Структурно основная память состоит из
пронумерованных ячеек, причем процессору в
произвольный момент доступна любая ячейка.
Двоичные коды команд и данных разделяются на
единицы информации, называемые словами, и
хранятся в ячейках памяти, а для доступа к ним
используются номера соответствующих ячеек—
адреса.

Порт –аппаратура сопряжения
периферийного устройства (ПУ) с ВМ и
управления им.
Устройство ввода/вывода (УВВ) или
модуль ввода/вывода ВМ(МВБ) –
совокупность портов ввода и вывода

Чтобы программа могла выполняться,
команды и данные должны располагаться в
основной памяти (ОП).
Доступ к любым запоминающего
устройства (ЗУ) основной памяти может
производиться в произвольной последовательности. Такой вид памяти известен как
память с произвольным доступом.

Размер ячейки ОП обычно принимается равным
байту. Для хранения больших чисел используются
2, 4 или 8 байтов, размещаемых в ячейках с
последовательными адресами.
Два подхода к адресации:
• адресация по младшему байту или метод
остроконечников (little endian addressing) – за
адрес числа принимается адрес его младшего
байта (Intel, DEC).
• адресация по старшему байту или метод
тупоконечников (big endian addressing) – по
меньшему из адресов располагается старший
байт (Motorola, большие ЭВМ фирмы IBM).

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

Устройство управления (УУ) — часть ВМ, организующая
автоматическое выполнение программ и обеспечивающая
функционирование ВМ как единой системы.
УУ ВМ можно рассматривать как совокупность элементов,
между которыми происходит пересылка информации, в ходе
которой эта информация может подвергаться определенным
видам обработки. Пересылка информации между любыми
элементами ВМ инициируется своим сигналом управления
(СУ), то есть управление вычислительным процессом сводится
к выдаче нужного набора СУ в нужной временной
последовательности.
Основная функция УУ – формирование управляющих сигналов,
отвечающих за извлечение команд из памяти в порядке,
определяемом программой, и последующее исполнение этих
команд. Кроме того, УУ формирует СУ для синхронизации и
координации внутренних и внешних устройств ВМ

Арифметико-логическое устройство (АЛУ) обеспечивает
арифметическую и логическую обработку двух входных
переменных, в результате которой формируется выходная
переменная.
Помимо результата операции АЛУ формирует ряд признаков
результата (флагов), характеризующих полученный результат и
события, произошедшие в процессе его получения (равенство
нулю, знак, четность, перенос, переполнение и т.д.).

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

+7 (499) 444-90-36 Отдел заботы о пользователях

Москва, Ленинский проспект, дом 6, строение 20

  • Участник Skolkovo
  • Премии Рунета 2018, 2019, 2020

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies

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

Если в выполняемой процессором команде не указан адрес следующей команды программы, то процессор выбирает эту команду —

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

Для того, чтобы правильно находить команды выполняемой программы в оперативной памяти, не путая их с данными, в фон-неймановском компьютере

Архитектура вычислительных машин

Различают Принстонскую и Гарвардскую архитектуру вычислительных машин. Эти архитектурные варианты были предложены в конце 40-х годов специалистами, соответственно, Принстонского и Гарвардского университетов США для разрабатываемых ими моделей компьютеров.

Принстонская архитектура

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

Архитектура современных персональных компьютеров основана на
магистрально-модульном принципе .

Принстонская архитектура

Любую вычислительную машину образуют три основные компонента:

  • процессор,
  • память,
  • устройства ввода-вывода (УВВ).

Информационная связь между устройствами компьютера осуществляется через системную шину (системную магистраль).

Шина – это кабель, состоящий из множества проводников. Количество проводников, входящих в состав шины, является
максимальной разрядностью шины .

Системная шина, в свою очередь, представляет собой совокупность

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

Системная шина характеризуется тактовой частотой и разрядностью. Количество одновременно передаваемых по шине бит называется
разрядностью шины .

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

Устройство управления (УУ) формирует адрес команды, которая должна быть выполнена в данном цикле, и выдает управляющий сигнал на чтение содержимого соответствующей ячейки запоминающего устройства (ЗУ). Считанная команда передается в УУ. По информации, содержащейся в адресных полях команды, УУ формирует адреса операндов и управляющие сигналы для их чтения из ЗУ и передачи в арифметико-логическое устройство (АЛУ). После считывания операндов устройство управления по коду операции, содержащемуся в команде, выдает в АЛУ сигналы на выполнение операции. Полученный результат записывается в ЗУ по адресу приемника результата под управлением сигналов записи. Признаки результата (знак, наличие переполнения, признак нуля и так далее) поступают в устройство управления, где записываются в специальный регистр признаков. Эта информация может использоваться при выполнении следующих команд программы, например команд условного перехода.

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

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

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

Обработка данных и команд осуществляется посредством арифметико-логического устройства (АЛУ), предназначенного для непосредственного выполнения машинных команд под действием устройства управления. АЛУ и УУ совместно образуют центральное процессорное устройство (ЦПУ). Результаты обработки передаются в память.

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

  • Принцип двоичности. Для представления данных и команд используется двоичная система счисления.
  • Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором друг за другом в определённой последовательности.
  • Принцип однородности памяти. Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления, чаще всего – двоичной). Над командами можно выполнять такие же действия, как и над данными.
  • Принцип адресуемости памяти. Структурно основная память состоит из пронумерованных ячеек, процессору в произвольный момент времени доступна любая ячейка.
  • Принцип последовательного программного управления. Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой.
  • Принцип условного перехода. Команды из программы не всегда выполняются одна за другой. Возможно присутствие в программе команд условного перехода (а также команд вызова функций и обработки прерываний), которые изменяют последовательность выполнения команд в зависимости от значений данных. Этот принцип был сформулирован задолго до фон Неймана Адой Лавлейс и Чарльзом Бэббиджем, однако был логически включен в указанный набор как дополняющий предыдущий принцип.

Архитектура фон Неймана имеет ряд важных достоинств.

  • Наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд, данных и реализации стека в зависимости от решаемых задач. Таким образом, обеспечивается возможность более эффективного использования имеющегося объема оперативной памяти в каждом конкретном случае применения.
  • Использование общей шины для передачи команд и данных значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность.

Поэтому Принстонская архитектура в течение долгого времени доминировала в вычислительной технике.

Однако ей присущи и существенные недостатки. Основным из них является необходимость последовательной выборки команд и обрабатываемых данных по общей системной шине. При этом общая шина становится «узким местом» (bottleneck – «бутылочное горло»), которое ограничивает производительность цифровой системы.

Гарвардская архитектура

Гарвардская архитектура

Гарвардская архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете с целью увеличить скорость выполнения вычислительных операций и оптимизировать работу памяти. Она характеризуется физическим разделением памяти команд (программ) и памяти данных. В ее оригинальном варианте использовался также отдельный стек для хранения содержимого программного счетчика, который обеспечивал возможности выполнения вложенных подпрограмм. Каждая память соединяется с процессором отдельной шиной, что позволяет одновременно с чтением-записью данных при выполнении текущей команды производить выборку и декодирование следующей команды. Благодаря такому разделению потоков команд и данных и совмещению операций их выборки реализуется более высокая производительность, чем при использовании Принстонской архитектуры.

Недостатки Гарвардской архитектуры связаны с необходимостью проведения большего числа шин, а также с фиксированным объемом памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи. Поэтому приходится использовать память большего объема, коэффициент использования которой при решении разнообразных задач оказывается более низким, чем в системах с Принстонской архитектурой. Однако развитие микроэлектронной технологии позволило в значительной степени преодолеть указанные недостатки, поэтому Гарвардская архитектура широко применяется во внутренней структуре современных высокопроизводительных микропроцессоров, где используется отдельная кэш-память для хранения команд и данных. В то же время во внешней структуре большинства микропроцессорных систем реализуются принципы Принстонской архитектуры.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector