Принцип работы схемы фон неймана. Архитектура компьютера. Принципы фон Неймана. Логические узлы компьютера. Выполнение программы. Краткая биографическая справка

Джон фон Нейман уже в восьмилетнем возрасте владел основами высшей математики и несколькими иностранными и классическими языками. Закончив в 1926 году Будапештский университет, фон Нейман преподавал в Германии, а в 1930 году эмигрировал в США и стал сотрудником Принстонского института перспективных исследований.

В 1944 году фон Нейман и экономист О. Моргенштерн написали книгу «Теория игр и экономическое поведение». Эта книга содержит не только математическую теорию игр, но ее применения к экономическим, военным и другим наукам. Джон фон Нейман был направлен в группу разработчиков ENIAC консультантом по математическим вопросам, с которыми встретилась эта группа.

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

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

Этот принцип обеспечивает автоматизацию процессов вычислений на ЭВМ.

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


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

Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатом вычислений.

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

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

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

Фон Нейман описал, каким должен быть компьютер, чтобы он был универсальным и удобным средством для обработки информации . Он прежде всего должен иметь следующие устройства:

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

Компьютеры, построенные на этих принципах, относят к типу фон-неймановских.

На сегодняшний день это подавляющие большинство компьютеров, в том числе и IBM PC – совместимые. Но есть и компьютерные системы с иной архитектурой – например системы для параллельных вычислений.

Магистрально-модульный принцип построения ЭВМ

Под архитектурой компьютера понимается его логическая организация, структура, ресурсы, т. е. средства вычислительной системы. Архитектура современных ПК основана на магистрально-модульном принципе.

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

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

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


Разрядность шины данных задается разрядностью процессора, т. е. количеством двоичных разрядов, которые процессор обрабатывает за один такт.

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

Выбор абонента по обмену данными производит процессор, который формирует код адреса данного устройства, а для ОЗУ - код адреса ячейки памяти. Код адреса передается по адресной шине, причем сигналы передаются в одном направлении, от процессора к устройствам, т. е. эта шина является однонаправленной.

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

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

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

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

Разработка нового в области ПК всегда базируется на старых стандартах и принципах. Поэтому знание их является основополагающим фактором для (или против) выбора новой системы.

В состав ЭВМ входят следующие компоненты :

    устройства хранения информации (storage devices);
    устройства ввода (input devices);
    устройства вывода (output devices);
    устройства связи (communication devices).

В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В дальнейшем на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.

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

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

Принцип однородности памяти: программы и данные хранятся в одной и той же памяти.

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

Компьютеры, построенные на перечисленных принципах, относятся к типу фон – неймановских.

Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров, установка программ не требует значительных временных затрат.

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

В начале 1956 г. по инициативе академика С.Л. Соболева, заведующего кафедрой вычислительной математики на механико-математическом факультете Московского университета, в вычислительном центре МГУ был учрежден отдел электроники и стал работать семинар с целью создать практичный образец цифровой вычислительной машины, предназначенной для использования в вузах, а также в лабораториях и конструкторских бюро промышленных предприятий. Требовалось разработать малую ЭВМ, простую в освоении и применениях, надежную, недорогую и вместе с тем эффективную в широком спектре задач. Обстоятельное изучение в течение года имевшихся в то время вычислительных машин и технических возможностей их реализации привело к нестандартному решению употребить в создаваемой машине не двоичный, а троичный симметричный код, реализовав уравновешенную систему счисления, которую Д. Кнут двадцать лет спустя назовет быть может, самой изящной и как затем стало известно, достоинства которой были выявлены К. Шенноном в 1950г. В отличие от общепринятого в современных компьютерах двоичного кода с цифрами 0, 1, арифметически неполноценного вследствие невозможности непосредственного представления в нем отрицательных чисел, троичный код с цифрами -1, 0, 1 обеспечивает оптимальное построение арифметики чисел со знаком. Троичная система счисления основана на том же позиционном принципе кодирования чисел, что и принятая в современных компьютерах двоичная система, однако вес i -й позиции (разряда) в ней равен не 2 i , а 3 i . При этом сами разряды не двухзначны (не биты), а трехзначны (триты) - помимо 0 и 1 допускают третье значение, которым в симметричной системе служит -1, благодаря чему единообразно представимы как положительные, так и отрицательные числа. Значение n -тритного целого числа N определяется аналогично значению n -битного:

где а i ∈ {1, 0, -1} - значение цифры i -го разряда.

В апреле 1960 г. были проведены междуведомственные испытания опытного образца вычислительной машины, названной «Сетунь».По результатам этих испытаний “Сетунь” была признана первым действующим образцом универсальной вычислительной машины на безламповых элементах, которому свойственны “высокая производительность, достаточная надежность, малые габариты и простота технического обслуживания”.“Сетунь”, благодаря естественности троичного симметричного кода, оказалась поистине универсальным, несложно программируемым и весьма эффективным вычислительным инструментом, положительно зарекомендовавшим себя, в частности, как техническое средство обучения вычислительной математике более чем в тридцати вузах. А в Военно-воздушной инженерной академии им. Жуковского именно на “Сетуни” была впервые реализована автоматизированная система компьютерного обучения.

В соответствии с принципами фон Неймана компьютер состоит из:

· арифметико-логического устройства - АЛУ (англ. ALU, Arithmetic and Logic Unit), выполняющего арифметические и логические операции; устройства управления -УУ, предназначенного для организации выполнения программ;

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

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

Обеспечивает взаимодействие между процессором (АЛУ и УУ), основной памятью и устройствами ввода – вывода системная шина .

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

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

2.2 Команда, форматы команд

Команда – это описание элементарной операции, которую должен выполнить компьютер.

Структура команды.

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

В общем случае команда содержит следующую информацию:

Ø код выполняемой операции;

Ø указания по определению операндов или их адресов;

Ø указания по размещению получаемого результата.

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

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

В современных машинах длина команд переменная (как правило, от двух до четырёх байт), а способы указания адресов переменных весьма разнообразны.

В адресной части команды может быть указан, например:

Операнд;

Адрес операнда;

Адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда) и т.д.

Рассмотрим структуру возможных вариантов нескольких типов команд.

Трёхадресные команды.

Двухадресные команды.

Одноадресные команды.

Безадресные команды.

Рассмотрим бинарную операцию сложения: с = a + b.

Для каждой переменной в памяти определим условные адреса:

Пусть 53 – код операции сложения.

В этом случае структура трёхадресной команды выглядит следующим образом:

· Трёхадресные команды.

Процесс выполнения команды разбивается на следующие этапы:

Из ячейки памяти, адрес которой хранится в счётчике команд, выбирается очередная команда; содержимое счётчика изменяется и теперь содержит адрес следующей по порядку команды;

Выбранная команда передаётся в устройство управления на регистр команд;

Устройство управления расшифровывает адресное поле команды;

По сигналам УУ значения операндов считываются из памяти и записываются в АЛУ на специальные регистры операндов;

УУ расшифровывает код операции и выдаёт в АЛУ сигнал выполнить соответствующую операцию над данными;

Результат операции в данном случае отправляется в память(в одноадресных и двухадресных ЭВМ остаётся в процессоре);

Все предыдущие действия выполняются до достижения команды ОСТАНОВ.

2.3 ЭВМ как автомат

«Электрон­ные цифровые машины с программным управлением представляют собой пример одного из наиболее распространенных в настоящее время типов преобразователей дискретной информации, называемых дискретными или цифровыми автоматами»(Глушков В.М. Синтез цифровых автоматов)

Любая вычислительная машина работает автоматически (будь то большая или малая ЭВМ, персональный компь­ютер или Супер-ЭВМ). В этом смысле вычислительная машина как автомат может быть описана структурной схемой, представленной на рис. 2.1.

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

В качестве исполнительных элементов в автомат включаются:

· арифметико-логическое устройство:

· память;

· устройства ввода-вывода информации.

Управляющим элементом автомата является устройство управления, которое собственно обеспечивает автоматический режим работы. Как уже отмечалось, в современных вычислительных устройствах основным исполнительным элементом является процессор или микропроцессор, который содержит в себе АЛУ, память, устройство управления.

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

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

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

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

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

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

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

· Принцип последовательного программного управления

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

· Принцип жесткости архитектуры

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

· Компьютеры, построенные на этих принципах, относят к типу фон-неймановских.

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

· Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.

·

· Машина фон Неймана состоит из запоминающего устройства (памяти) - ЗУ, арифметико-логического устройства - АЛУ, устройства управления – УУ, а также устройств ввода и вывода.

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

· Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).


· Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.

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

· УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.

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

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

16)Структура и архитектура вычислительной системы

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

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

· Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.
SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся, прежде всего, классические последовательные машины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780. В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка - как машина CDC 6600 со скалярными функциональными устройствами, так и CDC 7600 с конвейерными попадают в этот класс.
SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Способ выполнения векторных операций не оговаривается, поэтому обработка элементов вектора может производится либо процессорной матрицей, как в ILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.
MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей относят конвейерные машины к данному

Основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Он подключился к созданию первой в мире ламповой ЭВМ ENIAC в 1944 г., когда ее конструкция была уже выбрана. В процессе работы во время многочисленных дискуссий со своими коллегами Г. Голдстайном и А. Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г. ученые изложили свои принципы построения вычислительных машин в ставшей классической статье “Предварительное рассмотрение логической конструкции электронно-вычислительного устройства”. С тех пор прошло полвека, но выдвинутые в ней положения сохраняют актуальность и сегодня.

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

Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип “хранимой программы”. Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней (в то время как собственно расчет не мог продолжаться более нескольких минут – выходили из строя лампы). Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.

Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ. Основными блоками по Нейману являются устройство управления (УУ) и арифметико-логическое устройство (АЛУ) (обычно объединяемые в центральный процессор), память, внешняя память, устройства ввода и вывода. Схема устройства такой ЭВМ представлена на рис. 1. Следует отметить, что внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде, удобном компьютеру, но недоступном для непосредственного восприятия человеком. Так, накопитель на магнитных дисках относится к внешней памяти, а клавиатура – устройство ввода, дисплей и печать – устройства вывода.

Рис. 1. Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов от процессора к остальными узлам ЭВМ

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

Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров “многоярусно” и включает оперативное запоминающее устройство (ОЗУ), хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы), и внешние запоминающие устройства (ВЗУ) гораздо большей емкости, чем ОЗУ. но с существенно более медленным доступом (и значительно меньшей стоимостью в расчете на 1 байт хранимой информации). На ОЗУ и ВЗУ классификация устройств памяти не заканчивается – определенные функции выполняют и СОЗУ (сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие подвиды компьютерной памяти.

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

Разработанные фон Нейманом основы архитектуры вычислительных устройств оказались настолько фундаментальными, что получили в литературе название “фон-неймановской архитектуры”. Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины).

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

Что-то вроде ностальгии: принципы фон Неймана

Я не сумел отыскать тетрадь с первой частью лекций по Архитектуре ЭВМ, поэтому данные пришлось брать из других источников.
В 1945 году Джон фон Нэйман, физик и математик венгерского происхождения, работавший в США над проектом ENIAC, опубликовал доклад, в котором были намечены основные принципы построения компьютера. Высказанные в докладе положения получили название "Принципы фон Нэймана".

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


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

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


Таким образом для памяти всё равно, что хранится в данной ячейке — данные или команды. Также этот принцип позволяет программе в процессе выполнения подвергать себя переработке (так в программе организуется выполнение циклов и подпрограмм). Команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык команд конкретной машины.

Разные типы данных в свою очередь могут быть различены по форматам.

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

Структурно основная память (ОЗУ) состоит из пронумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка.


Оперативная память как бы разбивается на ячейки фиксированной длины. Каджая такая ячейка имеет адрес (а фактически номер), обращаясь по которому можно получить содержание ячейки.

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

Архитектура ЭВМ и принципы фон Неймана

Термин «архитектура» используется для описания принципа действия, конфигурации и взаимного соединения основных логических узлов ЭВМ. Архитектура – это многоуровневая иерархия аппаратно-программных средств, из которых строится ЭВМ.

Основы учения об архитектуре ЭВМ заложил выдающийся американский математик Джон фон Нейман. Первая ЭВМ "Эниак" была создана в США в 1946 г. В группу создателей входил фон Нейман , который и предложил основные принципы построения ЭВМ : переход к двоичной системе счисления для представления информации и принцип хранимой программы.

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

Основные принципы построения ЭВМ :

1. Любую ЭВМ образуют три основных компонента: процессор, память и устр. ввода-вывода (УВВ).

2. Информация, с которой работает ЭВМ, делится на два типа:

    набор команд по обработке (программы); данные подлежащие обработке.

3. И команды, и данные вводятся в память (ОЗУ) – принцип хранимой программы .

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


5. С процессором и ОЗУ связаны устройства ввода-вывода (УВВ).

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

Внешнее запоминающее устройство (ВЗУ)

Рис. 1. Архитектура ЭВМ Конец формы,

Оперативное запоминающее устройство (ОЗУ)

построенной на принципах

фон Неймана

- направление потоков информации; - направление управляющих сигналов от процессора к остальным узлам ЭВМ

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

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

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

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

Как работает системная шина? Мы уже говорили, что единичные и нулевые биты существуют только в головах программистов. Для процессора реальны только напряжения на его контактах. Каждый контакт соответствует одному биту, и процессору нужно различать только две градации напряжения: есть-нет, высокое-низкое. Поэтому адрес для процессора – это последовательность напряжений на специальных контактах, называемых шиной адреса. Можно представить себе, то после того, как на контактах шины адреса выставляются напряжения, на контактах шины данных появляются напряжения, кодирующие хранящееся по указанному адресу число. Эта картина очень грубая, потому что для извлечения данных из памяти необходимо время. Чтобы не запутаться, работой процессора управляет специальный тактовый генератор. Он вырабатывает импульсы, которые делят работу процессора на отдельные шажки. Единицей времени процессора служит один такт, т. е. промежуток между двумя импульсами тактового генератора.

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

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


Всякая информация, передаваемая от процессора к другим устройствам по шине данных, сопровождается адресом , передаваемым по адресной шине. Это может быть адрес ячейки памяти или адрес периферийного устройства. Необходимо, чтобы разрядность шины позволила передать адрес ячейки памяти. Таким образом, словами разрядность шины ограничивает объем оперативной памяти ЭВМ, он не может быть больше чем , где n – разрядность шины. Важно, чтобы производительности всех подсоединённых к шине устройств были согласованы. Неразумно иметь быстрый процессор и медленную память или быстрый процессор и память, но медленный винчестер.

Рис. 2. Схема устройства компьютера, построенного по магистральному принципу

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

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

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

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

Связь компьютера с внешними устройствами осуществляется через порты – специальные разъёмы на задней панели компьютера. Различают последовательные и параллельные порты. Последовательные (COM – порты) служат для подключения манипуляторов, модема и передают небольшие объёмы информации на большие расстояния. Параллельные (LPT - порты) служат для подключения принтеров, сканеров и передают большие объёмы информации на небольшие расстояния. В последнее время широкое распространение получили последовательные универсальные порты (USB), к которым можно подключать различные устройства.