История возникновения ПК. Поколения компьютеров. Архитектура фон Неймана.
Более трех тысяч лет назад в Средиземноморье было распространено простейшее приспособление для счета: доска, разделенная на полосы, где перемещались камешки или кости. Такая счетная дощечка называлась абак и использовалась для ручного счета.
В Древнем Риме подобное изобретение называли calculi или abaculi и изготавливали из бронзы, камня, слоновой кости и цветного стекла. Слово calculus означает «галька», «голыш». От этого слова произошло латинское слово calculatore (вычислять), а затем — русское слово «калькуляция». Абак позволял лишь запоминать результат, а все арифметические действия должен был выполнять человек.
Для простоты понимания основные этапы развития вычислительной техники представлены в виде таблицы.
Этап | Период развития |
Ручной | до XVII века |
Механический | с середины XVII века |
Электромеханический | с 90-х годов XIX века |
Электронный | с 40-х годов XX века |
Первая механическая машина была построена немецким ученым Вильгельмом Шиккардом предположительно в 1623 году. Машина была реализована в единственном экземпляре и предназначалась для выполнения арифметических операций, но была недостаточно известна, потому долгие годы считалось, что первую суммирующую машину сконструировал Блез Паскаль (французский математик, физик, религиозный философ и писатель) в 1642 году.
В 1674 году Готфрид Лейбниц расширил возможности машины Паскаля, добавив операции умножения, деления и извлечения квадратного корня. Специально для своей машины Лейбниц применил систему счисления, использующую вместо привычных для человека десяти цифр две: 1 и 0. Двоичная система счислений широко используется в современных ЭВМ.
Ни одна из этих машин не была автоматической, они требовали непрерывного вмешательства человека. Но в 1834 году Чарльз Бэббидж первым разработал подробный проект автоматической вычислительной машины, однако, ему так и не удалось воплотить свой проект, так как в то время невозможно было достичь требуемой точности изготовления узлов.
Ч. Бэббидж выделял в своей машине следующие составные части:
• «склад» для хранения чисел (по современной терминологии — память);
• «мельницу» для производства арифметических действий (арифметическое устройство);
• устройство, управляющее последовательностью выполнения операций (устройство управления);
• устройства ввода и вывода данных.
В качестве источника энергии для приведения в действие механизмов машины Ч. Бэббидж рассматривал паровой двигатель. Бэббидж предложил управлять своей машиной с помощью перфорированных карт, содержащих коды команд. На этих картах было представлено то, что сегодня мы назвали бы программой. Вообще, Ч. Бэббидж довольно подробно рассматривал вопросы, связанные, как мы сейчас говорим, с программированием. В частности, им была разработана весьма важная для программирования идея «условной передачи управления». Идеи Бэббиджа заложили фундамент, на котором со временем были построены ЭВМ.
Первые программы для вычислительной машины Бэббиджа создавала Ада Лавлейс (Ada Lovelace) — дочь известного поэта Джорджа Байрона, в честь которой впоследствии был назван один из языков программирования. Ада Лавлейс разработала основные принципы программирования, которые остаются актуальными до настоящего момента времени. Ряд терминов, введенных ею, используется и сейчас, например, «цикл», «рабочие ячейки».
Теоретические основы современных цифровых вычислительных машин заложил английский математик Джордж Буль (1815-1864 гг.). Он разработал алгебру логики, ввел в обиход логические операторы И, ИЛИ и НЕ.
В 1888 году Германом Холлеритом была сконструирована первая электромеханическая машина для сортировки и подсчета перфокарт. Эта машина, названная табулятором, содержала реле, счетчики, сортировочный ящик. Изобретение Холлерита было использовано при подведении итогов переписи населения в США. Успех вычислительных машин с перфокартами был феноменален. То, чем за десять лет до этого занимались 500 сотрудников в течение семи лет, Холлерит сделал с 43 помощниками на 43 вычислительных машинах за 4 недели.
В 1896 году Герман Холлерит основал фирму Computing Tabulation Company. Спустя несколько лет это предприятие переименовали в известнейшую теперь фирму International Business Machine Corporation (IBM).
Немецкий инженер Конрад Цузе (Konrad Zuse) был первым, кто успешно осуществил идею создания автоматической электромеханической вычислительной машины на основе двоичной системы счисления. В 1936 году он начал конструировать вычислительный аппарат, работающий в двоичной системе счисления, который впоследствии был назван Zuse 1 (Z1).
В 1941 году Цузе сумел построить действующую модель Zuse 3, которая состояла из 600 реле счетного устройства и 2000 реле устройства памяти.
Еще одна полностью автоматическая вычислительная машина, изобретенная профессором Гарвардского университета Говардом Айкеном (Aiken Howard, 1900-1973 гг.), при участии группы инженеров фирмы IBM, была построена в 1944 г. Она была названа ASCC (другое название Mark 1) и была электромеханической (построена на реле), состоящей приблизительно из 750 тысяч компонентов. На умножение она тратила около 4 секунд.
До знакомства с работами Цузе научная общественность считала машину ASCC первой электромеханической машиной.
В 1937 г. в США Дж. Атанасов начал работы по созданию электронной вычислительной машины. Им были созданы и запатентованы первые электронные схемы отдельных узлов ЭВМ. Совместно с К. Берри к 1942 году была построена электронная машина АВС (Atanasoff-Berry Computer).
В 1943 году в Англии была разработана специализированная ЭВМ Colossus, предназначенная для дешифрации секретных сообщений.
Электронная вычислительная машина, разработанная Эккертом и Маучли (John W. Mauchly and J. Prosper Eckert, Jr.) в США в 1946 г., была названа ENIAC. При создании этой машины Эккерт и Маучли заимствовали основные идеи у Дж. Атанасова. ENIAC была примерно в 1000 раз быстрее, чем ASCC. Она состояла из 18 тысяч электронных ламп, 1,5 тысяч реле, имела вес более 30 тонн, потребляла мощность более 150 кВт.
Первоначально ENIAC программировалась путем соединения проводами соответствующих гнезд на коммутационной панели, что делало составление программы очень медленным и утомительным занятием. Американский математик и физик венгерского происхождения Джон фон Нейман (1903-1957 гг.) предложил хранить программу — последовательность команд управления ЭВМ — в памяти ЭВМ, что позволяло оперировать с программой так же, как с данными. Последующие ЭВМ строились с большим объемом памяти с учетом того, что там будет храниться программа.
В основу построения подавляющего большинства ЭВМ положены следующие общие принципы, сформулированные в 1945 году американским ученым венгерского происхождения ДЖОНОМ фон НЕЙМАНОМ.