Термины и определения. История развития ЭВМ. Принципы фон-Неймана.
Слово «архитектура», как и очень многое в нашей культуре, греческого происхождения, образовано из двух: αρχι - старший, главный и τέκτων - строитель.
Применительно к предмету нашего изучения архитектура большинством специалистов понимается в смысле совокупности общих принципов организации аппаратных и программных средств, определяющей функциональные возможности вычислителей при решении соответствующих классов задач. К термину «архитектура» близко примыкает термин «функциональная организация», смысл этих терминов, их специфику и различия мы более подробно обсудим отдельно.
Корень слова вычислитель – число. Понятие числа – тема отдельного и очень глубокого изучения. Изучения не только сугубо математического, но и философского. Если пифагорейцы, например, не различали числа и вещи, то Платон ввел понятие абстрактного числа, отличного от вещей.
В рамках нашего курса мы ограничимся следующими двумя определениями:
Число – одно из основных понятий математики, служащее для количественной характеристики различных предметов и явлений, как принадлежащих реальности, так и абстрактных.
Число – абстрактное, лишенное особенного содержания обозначение какого-либо члена некоторого ряда, в котором этому члену предшествует или следует за ним какой-нибудь другой определенный член; абстрактный индивидуальный признак, отличающий одно множество от другого того же рода.
Этапными в появлении и развитии вычислительной техники можно считать следующие даты:
1623 г. Вильгельм Шиккард создает первую из известных в настоящее время счетных машин, включающую механизмы выполнения операций "+" и "-".
1641 г. Выдающийся математик Блез Паскаль создает счетную машину, автоматизирующую выполнение операций "+" и "-". Идеи Паскаля оказали очень мощное влияние на дальнейшее развитие вычислительной техники.
1673 г. Великий Готфрид Лейбниц создает счетную машину (калькулятор, прототип арифмометра), реализующую операции "+", "-", "x", ":".
1821 г. Выпуск Карлом Томасом на основании идей Лейбница устройства, названного им арифмометром. С этого времени началось практическое применение вычислительных устройств.
На протяжении XIXв. было создано много конструкций счетных машин, повысилась точность и надежность их работы, удобство общения. Возникли идеи фиксации результатов счета путем выдачи их на печать, появилась клавиатура, кнопки гашения результатов и т.п.
Принципиально же новые концепции связаны с именем крупного английского математика Чарльза Бэбиджа. Эти концепции предвосхитили основные идеи в создании современных вычислительных машин.
"Аналитическая" машина Бэбиджа должна была состоять из следующих основных блоков:
• Устройство для хранения чисел на регистрах из зубчатых колес, включающее систему передачи этих чисел от одного узла машины к другому ("склад").
• Устройство для осуществления арифметических операций над числами, взятыми со "склада" ("фабрика").
• Устройство для управления последовательностью действий машины ("контора").
• Устройства для ввода исходных данных и вывода результатов на печать.
Все устройства в машине Бэбиджа были задуманы как чисто механическими, с использованием перфокарт, которые изобрел и в 1804 г. впервые применил Жозеф Мари Жаккар для управления ткацким станком.
Следует отметить, что отцом счетно-перфорационной техники, непосредственно предшествующей современным машинам, является Герман Холлерит. В 1896 г. Холлерит основал фирму по выпуску перфокарт и счетно-перфорационной техники - IBM (International Business Machine). Перфокарты предназначались в машине Бэбиджа для задания типа операций, выборки из "склада" чисел, над которыми необходимо произвести действие, в "фабрику" и, соответственно, обратного переноса результата выполнения операции. Посредством перфокарт Бэбидж предполагал управлять и специальными устройствами ввода данных и вывода результатов. Карты программы (последовательности перфокарт с указанными операциями), в зависимости от знака результата на арифметическом устройстве, могли двигаться вперед и назад, и тем самым открывалась возможность менять программу в зависимости от результатов вычислений. Это - главное отличительное свойство универсальных вычислительных машин от других вычислительных устройств. Именно это гениальное открытие Бэбиджа дало возможность использовать вычислительные машины как инструмент аналитических исследований. Таким образом, Бэбидж предвосхитил идею и принципы организации программно-управляемой автоматической машины, предназначенной для выполнения различных вычислений.
Работа Бэбиджа была доведена до инженерного проекта, однако технический уровень не позволил осуществить ее реализацию.
С аналитической машиной Бэбиджа связано и зарождение программирования. Прекрасный математик, дочь великого поэта лорда Байрона леди Ада Лавлайс исследовала возможность использования аналитической машины для выполнения сложных вычислений, то есть в современной терминологии проанализировала и разработала первые программы, доказав универсальные возможности вычислительных машин (в честь леди Лавлайс один из известных языков программирования назван «Ада»).
Труды Бэбиджа были опубликованы после его смерти в 1888 г. и забыты. А первые универсальные цифровые вычислительные машины (ЦВМ), в основу разработки которых легли идей Ч.Бэбиджа, были созданы в 30-40-х годах XX столетия.
Принципы построения ЭВМ.
Анализ сильных и слабых сторон первых ЦВМ позволил коллективу исследователей, в состав которого входил выдающийся математик Джон фон-Нейман, сформулировать основные концепции организации электронных ЦВМ.
Поскольку впервые публично официально эти идеи озвучил лично фон-Нейман, ЦВМ, созданные на основе этих принципов, часто называют машинами фон-Неймана (рис. 1).
Рис.1. Схема компьютера фон-Неймана.
Принцип работы такой машины показан на рисунке 2.
Рис. 2. Принцип работы (а) выборка команды; б) выполнение команды).
Перечень основных принципов фон-Неймана включает:
1. Необходимость использования двоичной системы счисления для представления информации в ЦВМ.
2. Наличие единого запоминающего устройства ("склада") с последовательно нумеруемыми ячейками.
3. Отсутствие явного различия между командами и данными (принцип "хранимой программы").
4. Строго последовательное выполнение команд (операций) программы.
5. Назначение данных (их смысл, семантика) не является их составной частью, а определяется только логикой программы, их обрабатывающей.
Перечисленные принципы являются основными и далеко не исчерпывают всех предложений фон-Неймана.
Разработка ЦВМ на основе элементов с двумя устойчивыми состояниями дала возможность широкого применения для построения электронных схем аппарата двоичной (бинарной) логики, разработанной в середине Х1Хв. английским математиком Джорджем Булем. Алгебра логики нашла свое применение и в области программирования (например, разработка алгоритмов). Принцип "хранимой программы" позволяет оперировать с закодированной в двоичном виде программой как с числами, что дает возможность ее модифицировать во время выполнения. Все эти концепции и совершенствование технологии привели к созданию в конце 40-х - начале 50-х годов XX в. первого поколения серийных электронно-вычислительных машин (ЭВМ).