ГЛАВА 1
ОСНОВЫ ПК
Люди всегда испытывали потребность в счете. Для этого они использовали пальцы рук, камешки, которые складывали в кучки или располагали в ряд. Число предметов фиксировалось с помощью черточек, которые проводились по земле, с помощью зарубок на палках и узелков, которые завязывались на веревке.
С увеличением количества подлежащих подсчету предметов, развитием наук и ремесел появилась необходимость в проведении простейших вычислений. Самым древним инструментом, известным в различных странах, являются счеты (в Древнем Риме они назывались calculi). Они позволяют производить простейшие вычисления над большими числами. Счеты оказались настолько удачным инструментом, что дожили с древних времен почти до наших дней.
Никто не может назвать точное время и место появления счетов. Историки сходятся во мнении, что их возраст составляет несколько тысяч лет, а их родиной могут быть и Древний Китай, и Древний Египет, и Древняя Греция.
1.1. КРАТКАЯ ИСТОРИЯ
РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
С развитием точных наук появилась настоятельная необходимость в проведении большого количества точных вычислений. В 1642 г. французский математик Блез Паскаль сконструировал первую механическую счетную машину, известную как суммирующая машина Паскаля (рис. 1.1). Эта машина представляла собой комбинацию взаимосвязанных колесиков и приводов. На колесиках были нанесены цифры от 0 до 9. Когда первое колесико (единицы) делало полный оборот, в действие автоматически приводилось второе колесико (десятки); когда и оно достигало цифры 9, начинало вращаться третье колесико и т.д. Машина Паскаля могла только складывать и вычитать.
В 1694 г. немецкий математик Готфрид Вильгельм фон Лейбниц сконструировал более совершенную счетную машину (рис. 1.2). Он был убежден, что его изобретение найдет широкое применение не только в науке, но и в быту. В отличие от машины Паскаля Лейбниц использовал цилиндры, а не колесики и приводы. На цилиндры были нанесены цифры. Каждый цилиндр имел девять рядов выступов или зубцов. При этом первый ряд содержал 1 выступ, второй - 2 и так вплоть до девятого ряда, который содержал 9 выступов. Цилиндры были подвижными и приводились в определенное положение оператором. Конструкция машины Лейбница была более совершенной: она была способна выполнять не только сложение и вычитание, но и умножение, деление и даже извлечение квадратного корня.
Интересно, что потомки этой конструкции дожили до 70-х годов XX в. в форме механических калькуляторов (арифмометр типа «Феликс») и широко использовались для различных расчетов (рис. 1.3). Однако уже в конце XIX в. с изобретением электромагнитного реле появились первые электромеханические счетные устройства. В 1887 г. Герман Голлерит (США) изобрел электромеханический табулятор с вводом чисел с помощью перфокарт. На идею использовать перфокарты его натолкнула пробивка компостером проездных билетов на железнодорожном транспорте. Разработанная им 80-колонная перфокарта не претерпела существенных изменений и в качестве носителя информации использовалась в первых трех поколениях компьютеров. Табуляторы Голлерита использовались во время 1-й переписи населения в России в 1897 г. Сам изобретатель тогда специально приезжал в Санкт-Петербург. С этого времени электромеханические табуляторы и другие подобные им устройства стали широко применяться в бухгалтерском учете.
В начале XIX в. Чарльз Бэббидж сформулировал основные положения, которые должны лежать в основе конструкции вычислительной машины принципиально нового типа.
В такой машине, по его мнению, должны быть «склад» для хранения цифровой информации, специальное устройство, осуществляющее операции над числами, взятыми со «склада». Бэббидж называл такое устройство «мельницей». Другое устройство служит для управления последовательностью выполнения операций, передачей чисел со «склада» на «мельницу» и обратно, наконец, в машине должно быть устройство для ввода исходных данных и вывода результатов вычислений. Эта машина так никогда и не была построена - существовали лишь ее модели (рис. 1.4), но принципы, положенные в ее основу, были позже реализованы в цифровых ЭВМ.
Научные идеи Бэббиджа увлекли дочь известного английского поэта лорда Байрона - графиню Аду Августу Лавлейс. Она заложила первые фундаментальные идеи о взаимодействии различных блоков вычислительной машины и последовательности решения на ней задач. Поэтому Аду Лавлейс по праву считают первым в мире программистом. Многими понятиями, введенными Адой Лавлейс в описания первых в мире программ, широко пользуются современные программисты.
Рис. 1.1. Суммирующая машина Паскаля Рис. 1.2. Счетная машина ЛейбницаРис. 1.3. Арифмометр «Феликс»
Рис. 1.4. Машина Бэббиджа
Началом новой эры развития вычислительной техники на базе электромеханических реле стал 1934 г. Американская фирма IBM (International Buisness Machins) начала выпуск алфавитно-цифровых табуляторов, способных выполнять операции умножения. В середине 30-х годов XX в. на основе табуляторов создается прообраз первой локальной вычислительной сети. В Питсбурге (США) в универмаге была установлена система, состоящая из 250 терминалов, соединенных телефонными линиями с 20 табуляторами и 15 пишущими машинками для расчетов с покупателями. В 1934 - 1936 гг. немецкий инженер Конрад Цузе пришел к идее создания универсальной вычислительной машины с программным управлением и хранением информации в запоминающем устройстве. Он сконструировал машину «Z-3» - это была первая программно-управляемая вычислительная машина – прообраз современных ЭВМ (рис. 1.5).
Рис. 1.5. Вычислительная машина Цузе
Это была релейная машина, использующая двоичную систему счисления, имеющая память на 64 числа с плавающей запятой. В арифметическом блоке пользовалась параллельная арифметика. Команда включала операционную и адресную части. Ввод данных осуществлялся с помощью десятичной клавиатуры, был предусмотрен цифровой вывод, а также автоматическое преобразование десятичных чисел в двоичные и обратно. Скорость выполнения операции сложения - три операции в секунду.
В начале 40-х годов XX в. в лабораториях IBM совместно с учеными Гарвардского университета была начата разработка одной из самых мощных электромеханических вычислительных машин. Она получила название MARK-1, содержала 760 тыс. компонентов и весила 5 т (рис. 1.6).
Рис. 1.6. Вычислительная машина MARK-1
Последним наиболее крупным проектом в сфере релейной вычислительной техники (ВТ) следует считать построенную в 1957 г. в СССР РВМ-1, которая по целому ряду задач была вполне конкурентоспособна тогдашним ЭВМ. Тем не менее с появлением электронной лампы дни электромеханических устройств оставались сочтены. Электронные компоненты обладали большим превосходством в быстродействии и надежности, что и определило дальнейшую судьбу электромеханических вычислительных машин. Наступила эра электронных вычислительных машин.
Переход к следующему этапу развития средств вычислительной техники и технологии программирования был бы невозможен без основополагающих научных исследований в области передачи и обработки информации. Развитие теории информации связано прежде всего с именем Клода Шеннона. Отцом кибернетики по праву считается Норберт Винер, а создателем теории автоматов является Генрих фон Нейман.
Концепция кибернетики родилась из синтеза многих научных направлений: во-первых, как общий подход к описанию и анализу действий живых организмов и вычислительных машин или иных автоматов; во-вторых, из аналогий между поведением сообществ живых организмов и человеческого общества и возможностью их описания с помощью общей теории управления; и, наконец, из синтеза теории передачи информации и статистической физики, который привел к важнейшему открытию, связывающему количество информации и отрицательную энтропию в системе. Сам термин «кибернетика» происходит от греческого слова, означающего «кормчий», он впервые был применен Н.Винером в современном смысле в 1947 г. Книга Н.Винера, в которой он сформулировал основные принципы кибернетики, называется «Кибернетика или управление и связь в животном и машине».
Клод Шеннон - американский инженер и математик, человек, которого называют отцом современной теорий информации. Он доказал, что работу переключателей и реле в электрических схемах можно представить посредством алгебры, изобретенной в середине XIX в. английским математиком Джорджем Булем. С тех пор булева алгебра стала основой для анализа логической структуры систем любого уровня сложности.Шеннон доказал, что всякий зашумленный канал связи характеризуется предельной скоростью передачи информации, называемой пределом Шеннона. При скоростях передачи выше этого предела неизбежны ошибки в передаваемой информации. Однако с помощью соответствующих методов кодирования информации можно получить сколь угодно малую вероятность ошибки при любой зашумленности канала. Его исследования явились фундаментом для разработки систем передачи информации по линиям связи.