Архитектура фон Неймана: история возникновения термина. Основные архитектурные принципы эвм

  • Дата: 22.01.2024

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Рисунок 9.5 – Джон фон Нейман, 1945 г.

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

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

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

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

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

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

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

Для доступа к программам, командам и операндам используются их адреса. В качестве адресов выступают номера ячеек памяти ЭВМ, предназначенных для хранения объектов. Информация(командная и данные: числовая, текстовая, графическая и т.п.) кодируется двоичными цифрами 0 и 1.



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Компьютер должен иметь :


  • арифметическо-логическое устройство , выполняющее арифметические и логические операции. В наше время это устройство называется центральный процессор. Центральный процессор (central processing unit) – микропроцессор компьютера, представляющий собой микросхему, которая управляет всеми процессами, происходящими в компьютере;
  • устройство управления , которое организует процесс выполнения программ. В современных компьютерах арифметическо-логическое устройство и устройство управления объединены в центральный процессор;
  • запоминающее устройство (память) для хранения программ и данных;
  • внешние устройства для ввода-вывода информации.
  • Память компьютера представляет собой некоторое количество пронумерованных ячеек, в каждой из которых могут находиться или обрабатываемые данные, или инструкции программ. Все ячейки памяти должны быть одинаково легко доступны для других устройств компьютера.

    Принцип работы :

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

    Один из принципов "Архитектуры фон Неймана " гласит: в компьютере не придется изменять подключения проводов, если все инструкции будут храниться в его памяти . И как только эту идею в рамках “архитектуры фон Неймана» воплотили на практике, родился современный компьютер .

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

    Благодаря фирме IBM идеи фон Неймана реализовались в виде широко распространенного в наше время принципа открытой архитектуры системных блоков компьютеров. Согласно этого принципа компьютер не является единым неразъемным устройством, а состоящим из независимо изготовленных частей, причем методы сопряжения устройств с компьютером не являются секретом фирмы-производителя, а доступны всем желающим. Таким образом, системные блоки можно собирать по принципу детского конструктора, то есть менять детали на другие, более мощные и современные, модернизируя свой компьютер (апгрейд, upgrade - "повышать уровень"). Новые детали полностью взаимозаменяемы со старыми. «Открыто архитектурными» персональные компьютеры делает также системная шина, это некая виртуальная общая дорога или жила, или канал, в который выходят все выводы ото всех узлов и деталей системного блока. Надо сказать, что большие компьютеры (не персональные) не обладают свойством открытости, в них нельзя просто так что-то заменить другим, более совершенным, например, в самых современных компьютерах могут отсутствовать даже соединительные провода между элементами компьютерной системы: мышью, клавиатурой ("keyboard"– "клавишная доска") и системным блоком. Они могут общаться между собой при помощи инфракрасного излучения, для этого в системном блоке есть специальное окошко приема инфракрасных сигналов (по типу пульта дистанционного управления телевизора).

    В настоящее время обычный персональный компьютер представляет собой комплекс, состоящий из:

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

      Компьютеры, построенные на принципах фон Неймана

      В середине 1940-х проект компьютера, хранящего свои программы в общей памяти был разработан в Школе электрических разработок Мура (англ. Moore School of Electrical Engineering ) в Университете штата Пенсильвания . Подход, описанный в этом документе, стал известен как архитектура фон Неймана, по имени единственного из названных авторов проекта Джона фон Неймана, хотя на самом деле авторство проекта было коллективным. Архитектура фон Неймана решала проблемы, свойственные компьютеру ENIAC , который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в

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

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

Принципы фон Неймана

  1. Использование двоичной системы счисления в вычислительных машинах . Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
  2. Программное управление ЭВМ . Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
  3. Память компьютера используется не только для хранения данных, но и программ . При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
  4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы . В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
  5. Возможность условного перехода в процессе выполнения программы . Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.

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

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

Как работает машина фон Неймана

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

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

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

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

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

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

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

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

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

В 1671 году немецкий философ и математик Густав Лейбниц также создает арифмометр на основе зубчатого колеса особенной конструкции — зубчатою колеса Лейбница. Арифмометр Лейбница, как и арифмометры его предшественников, выполнял четыре основных арифметических действия. На этом данный период закончился, и человечество в течение почти полутора веков копило силы и знания для следующего витка эволюции вычислительной техники. XVIII и XIX века были временем, когда бурно развивались различные науки, в том числе математика и астрономия. В них часто возникали задачи, требующие длительных и трудоемких вычислений.

Еще одним известным человеком в истории вычислительной техники стал английский математик Чарльз Бэббидж. В 1823 году Бэббидж начал работать над машиной для вычисления полиномов, но, что более интересно, эта машина должна была, кроме непосредственного производства вычислений, выдавать результаты — печатать их на негативной пластине для фотопечати. Планировалось, что машина будет приводиться в действие паровым двигателем. Из-за технических трудностей Бэббиджу до конца не удалось реализовать свой проект. Здесь впервые возникла идея использовать некоторое внешнее (периферийное) устройство для выдачи результатов вычислений. Отметим, что другой ученый, Шойц, в 1853 году все же реализовал машину, задуманную Бэббиджем (она получилась даже меньше, чем планировалась). Наверное, Бэббиджу больше нравился творческий процесс поиска новых идей, чем воплощение их в нечто материальное. В 1834 году он изложил принципы работы очередной машины, которая была названа им «Аналитической». Технические трудности вновь не позволили ему до конца реализовать свои идеи. Бэббидж смог довести машину лишь до стадии эксперимента. Но именно идея является двигателем научно-технического прогресса. Очередная машина Чарльза Бэббиджа была воплощением следующих идей:

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

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

В разработке этой машины принимала участие графиня Ада Августа Лавлейс, которую считают первой в мире программистом.

Идеи Чарльза Бэббиджа развивались и использовались другими учеными. Так, в 1890 году, на рубеже XX века, американец Герман Холлерит разработал машину, работающую с таблицами данных (первый Excel?). Машина управлялась программой на перфокартах. Она использовалась при проведении переписи населения в США в 1890 году. В 1896 году Холлерит основал фирму, явившуюся предшественницей корпорации IBM. Со смертью Бэббиджа в эволюции вычислительной техники наступил очередной перерыв вплоть до 30-х годов XX века. В дальнейшем все развитие человечества стало немыслимым без компьютеров.

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

За океаном, в Америке, в этот период также шли работы по созданию подобных электромеханических машин. В 1944 году Говард Эйкен спроектировал машину, которую назвали Mark-1 . Она, как и машина Цузе, работала на реле. Но из-за того, что эта машина явно была создана под влиянием работ Бэббиджа, она оперировала с данными в десятичной форме.

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

Четыре поколения ЭВМ

К концу тридцатых годов XX столетия потребность в автоматизации сложных вычислительных процессов сильно возросла. Этому способствовало бурное развитие таких отраслей, как самолетостроение, атомная физика и других. С 1945 года по наши дни вычислительная техника прошла 4 поколения в своём развитии:

Первое поколение

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

Начиная с 1943 года, группа специалистов под руководством Говарда Айткена, Дж. Моучли и П. Эккерта в США начала конструировать вычислительную машину на основе электронных ламп, а не на электромагнитных реле. Эта машина была названа ENIAC (Electronic Numeral Integrator And Computer) и работала она в тысячу раз быстрее, чем «Марк-1». ENIAC содержал 18 тысяч вакуумных ламп, занимал площадь 9х15 метров, весил 30 тонн и потреблял мощность 150 киловатт. ENIAC имел и существенный недостаток – управление им осуществлялось с помощью коммутационной панели, у него отсутствовала память, и для того чтобы задать программу приходилось в течение нескольких часов или даже дней подсоединять нужным образом провода. Худшим из всех недостатков была ужасающая ненадежность компьютера, так как за день работы успевало выйти из строя около десятка вакуумных ламп.

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

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

Необходимо отметить огромную роль американского математика фон Неймана в становлении техники первого поколения. Нужно было осмыслить сильные и слабые стороны ENIAC и дать рекомендации для последующих разработок. В отчете фон Неймана и его коллег Г. Голдстайна и А.Беркса (июнь 1946 года) были четко сформулированы требования к структуре компьютеров. Многие положения этого отчета получили название принципов Фон Неймана.

Первые проекты отечественных ЭВМ были предложены С.А. Лебедевым, Б.И. Рамеевым в 1948г. В 1949-51гг. по проекту С.А. Лебедева была построена МЭСМ (малая электронно-счетная машина). Первый пробный пуск макета машины состоялся в ноябре 1950 года, а в эксплуатацию машина была сдана в 1951 году. МЭСМ работала в двоичной системе, с трехадресной системой команд, причем программа вычислений хранилась в запоминающем устройстве оперативного типа. Машина Лебедева с параллельной обработкой слов представляла собой принципиально новое решение. Она была одной из первых в мире и первой на европейском континенте ЭВМ с хранимой в памяти программой.

К ЭВМ 1-го поколения относится и БЭСМ-1 (большая электронно-счетная машина), разработка которой под руководством С.А. Лебедева была закончена в 1952г., она содержала 5 тыс. ламп, работала без сбоев в течение 10 часов. Быстродействие достигало 10 тыс. операций в секунду (Приложение 1).

Почти одновременно проектировалась ЭВМ «Стрела»(Приложение 2) под руководством Ю.Я. Базилевского, в 1953г. она была запущена в производство. Позже появилась ЭВМ «Урал — 1″(Приложение 3), положившая начало большой серии машин «Урал», разработанных и внедренных в производство под руководством Б.И. Рамеева. В 1958г. запущена в серийное производство ЭВМ первого поколения М – 20 (быстродействие до 20 тыс. операций/с).

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

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

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

К концу 50-х годов средства программирования претерпевают принципиальные изменения: осуществляется переход к автоматизации программирования с помощью универсальных языков и библиотек стандартных программ. Использование универсальных языков повлекло возникновение трансляторов.

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

Второе поколение

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

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

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

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

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

Первая бортовая ЭВМ для установки на межконтинентальной ракете – «Атлас» – была введена в эксплуатацию в США в 1955 году. В машине использовалось 20 тысяч транзисторов и диодов, она потребляла 4 киловатта.В 1961 году наземные компьютеры «стретч» фирмы «Бэрроуз» управляли космическими полетами ракет «Атлас», а машины фирмы IBM контролировали полет астронавта Гордона Купера. Под контролем ЭВМ проходили полеты беспилотных кораблей типа «Рейнджер» к Луне в 1964 году, а также корабля«Маринер» к Марсу. Аналогичные функции выполняли и советские компьютеры.

В 1956 г. фирмой IBM были разработаны плавающие магнитные головки на воздушной подушке. Изобретение их позволило создать новый тип памяти – дисковые запоминающие устройства, значимость которых была в полной мере оценена в последующие десятилетия развития вычислительной техники. Первые запоминающие устройства на дисках появились в машинах IBM-305 и RAMAC(Приложение 4). Последняя имела пакет, состоявший из 50 металлических дисков с магнитным покрытием, которые вращались со скоростью 12000 об/мин. На поверхности диска размещалось 100 дорожек для записи данных, по 10000 знаков каждая.

Первые серийные универсальные ЭВМ на транзисторах были выпущены в 1958 году одновременно в США, ФРГ и Японии.

Появляются первые мини-ЭВМ (например, PDP-8(Приложение 5)).

В Советском Союзе первые безламповые машины «Сетунь», «Раздан» и «Раздан-2» были созданы в 1959-1961 годах. В 60-х годах советские конструкторы разработали около 30 моделей транзисторных компьютеров, большинство которых стали выпускаться серийно. Наиболее мощный из них – «Минск-32» выполнял 65 тысяч операций в секунду. Появились целые семейства машин: «Урал», «Минск», БЭСМ.

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

Специально для автоматизации инженерных расчетов в Институте кибернетики Академии наук УССР под руководством академика В.М. Глушкова были разработаны компьютеры МИР (1966) и МИР-2 (1969). Важной особенностью машины МИР-2 явилось использование телевизионного экрана для визуального контроля информации и светового пера, с помощью которого можно было корректировать данные прямо на экране.

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

Третье поколение

Наконец, в третьем поколении ЭВМ (1965-1974) впервые стали использоваться интегральные схемы — целые устройства и узлы из десятков и сотен транзисторов, выполненные на одном кристалле полупроводника (то, что сейчас называют микросхемами). В это же время появляется полупроводниковая память, которая и по всей день используется в персональных компьютерах в качестве оперативной. Приоритет в изобретении интегральных схем, ставших элементной базой ЭВМ третьего поколения, принадлежит американским ученым Д. Килби и Р.Нойсу, сделавшим это открытие независимо друг от друга. Массовый выпуск интегральных схем начался в 1962 году, а в 1964 начал быстро осуществляться переход от дискретных элементов к интегральным. Упоминавшийся ENIAK, размерами 9х15 метров, в 1971 году мог бы быть собран на пластине в 1,5 квадратных сантиметра. Началось перевоплощение электроники в микроэлектронику.

В эти годы производство компьютеров приобретает промышленный размах. Пробившаяся в лидеры фирма IBM первой реализовала семейство ЭВМ — серию полностью совместимых друг с другом компьютеров от самых маленьких, размером с небольшой шкаф (меньше тогда еще не делали), до самых мощных и дорогих моделей. Наиболее распространенным в те годы было семейство System/360 фирмы IBM, на основе которого в СССР была разработана серия ЕС ЭВМ. В 1973 была выпущена первая модель ЭВМ серии ЕС, а с 1975 года появились модели ЕС-1012, ЕС-1032, ЕС-1033, ЕС-1022, а позже более мощная ЕС-1060.

В рамках третьего поколения в США была построена уникальная машина «ИЛЛИАК-4», в составе которой в первоначальном варианте планировалось использовать 256 устройств обработки данных, выполненных на монолитных интегральных схемах. Позднее проект был изменен, из-за довольно высокой стоимости (более 16 миллионов долларов). Число процессоров пришлось сократить до 64, а также перейти к интегральным схемам с малой степенью интеграции. Сокращенный вариант проекта был завершен в 1972 году, номинальное быстродействие «ИЛЛИАК-4» составило 200 миллионов операций в секунду. Почти год этот компьютер был рекордсменом в скорости вычислений.

Еще в начале 60-х появляются первые миникомпьютеры — небольшие маломощные компьютеры, доступные по цене небольшим фирмам или лабораториям. Миникомпьютеры представляли собой первый шаг на пути к персональным компьютерам, пробные образцы которых были выпущены только в середине 70-х годов. Известное семейство миникомпьютеров PDP фирмы Digital Equipment послужило прототипом для советской серии машин СМ.

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

Но и это еще не все — поистине, рубеж 60-х и 70-х годов был судьбоносным временем. В 1969 г. зародилась первая глобальная компьютерная сеть — зародыш того, что мы сейчас называем Интернетом. И в том же 1969 г. одновременно появились операционная система Unix и язык программирования С («Си»), оказавшие огромное влияние на программный мир и до сих пор сохраняющие свое передовое положение.

Четвертое поколение

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

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

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

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

Им стал проект по разработке 8-разрядного процессора 8080 (1974 г.). Этот микропроцессор имел довольно развитую систему команд и умел делить числа. Именно он был использован при создании персонального компьютера Альтаир, для которого молодой Билл Гейтс написал один из своих первых интерпретаторов языка BASIC. Наверное, именно с этого момента следует вести отсчет 5-го поколения.

Пятое поколение

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

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

Основные требования к компьютерам 5-го поколения: Создание развитого человеко-машинного интерфейса (распознавание речи, образов); Развитие логического программирования для создания баз знаний и систем искусственного интеллекта; Создание новых технологий в производстве вычислительной техники; Создание новых архитектур компьютеров и вычислительных комплексов.

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

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

Первые суперкомпьютеры появились уже среди компьютеров второго поколения (1955 — 1964, см. компьютеры второго поколения), они были предназначены для решения сложных задач, требовавших высокой скорости вычислений. Это LARC фирмы UNIVAC, Stretch фирмы IBM и «CDC-6600″ (семейство CYBER) фирмы Control Data Corporation, в них были применены методы параллельной обработки (увеличивающие число операций, выполняемых в единицу времени), конвейеризация команд (когда во время выполнения одной команды вторая считывается из памяти и готовится к выполнению) и параллельная обработка при помощи процессора сложной структуры, состоящего из матрицы процессоров обработки данных и специального управляющего процессора, который распределяет задачи и управляет потоком данных в системе. Компьютеры, выполняющие параллельно несколько программ при помощи нескольких микропроцессоров, получили название мультипроцессорных систем. До середины 80-х годов в списке крупнейших производителей суперкомпьютеров в мире были фирмы Sperry Univac и Burroughs. Первая известна, в частности, своими мэйнфреймами UNIVAC-1108 и UNIVAC-1110, которые широко использовались в университетах и государственных организациях.

После слияния Sperry Univac и Burroughs объединенная фирма UNISYS продолжала поддерживать обе линии мэйнфреймов с сохранением совместимости снизу вверх в каждой. Это является ярким свидетельством непреложного правила, поддерживавшего развитие мэйнфреймов — сохранение работоспособности ранее разработанного программного обеспечения.

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

Принципы Фон-Неймана

В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня. По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новые принципы:
1. Принцип представления и хранения чисел.
Для представления и хранения чисел используется двоичная система счисления. Преимущество перед десятичной системой счисления заключается в том, что бит легко реализуется, память на битах большого объема достаточно дешевая, устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
2. Принцип программного управления ЭВМ.
Работой ЭВМ управляет программа, состоящая из набора команд. Команды выполняются последовательно друг за другом. Команды обрабатывают данные, хранимые в памяти компьютера.
3. Принцип хранимой программы.
Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
4. Принцип прямого доступа к памяти.
Ячейки оперативной памяти ЭВМ имеют последовательно пронумерованные адреса. В любой момент можно обратиться к любой ячейке памяти по ее адресу.
5. Принцип ветвления и циклических вычислений.
Команды условного перехода позволяют реализовать переход к любому участку кода, обеспечивая тем самым возможность организации ветвления и повторного выполнения некоторых участков программы.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой. Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день.
И хотя программы для современных компьютеров могут разрабатываться месяцами, однако их инсталляция (установка на компьютере) занимает даже для больших программ несколько минут. Такая программа может быть установлена на миллионах компьютеров, и работать на каждом из них годами.

Приложения

Приложение 1

Приложение 2

ЭВМ “Урал”

Приложение 3

ЭВМ “Стрела”

Приложение 4

IBM-305 и RAMAC

Приложение 5

мини-ЭВМ PDP-8

Приложение 6

Литература:

1) Бройдо В.Л. Вычислительные системы, сети и телекоммуникации. Учебник для вузов. 2-е изд. – СПб.: Питер,2004

2) Жмакин А.П. Архитектура ЭВМ. – СПб.: БХВ — Петербург, 2006

3) Семененко В.А. и др. Электронные вычислительные машины. Учеб.пособие для ПТУ – М.: Высшая школа, 1991