История до компьютерной
эпохи.
Вычислительная техника
является важнейшим компонентом
процесса вычислений и обработки
данных. Первыми приспособлениями для
вычислений были, вероятно, всем известные
счётные палочки, которые и сегодня
используются в начальных классах
многих школ для обучения счёту. Развиваясь,
эти приспособления становились
более сложными, например, такими как
финикийские глиняные фигурки, также
предназначаемые для наглядного
представления количества считаемых
предметов, однако для удобства, помещаемые
при этом в специальные контейнеры. Такими
приспособлениями, похоже, пользовались
торговцы и счетоводы того времени. Постепенно
из простейших приспособлений для счёта
рождались всё более и более сложные устройства:
абак (счёты), логарифмическая линейка,
механический арифмометр, электронный
компьютер. Несмотря на простоту ранних
вычислительных устройств, опытный счетовод
может получить результат при помощи простых
счёт даже быстрее, чем нерасторопный
владелец современного калькулятора.
Естественно, сама по себе, производительность
и скорость счёта современных вычислительных
устройств давно уже превосходят возможности
самого выдающегося расчётчика-человека.
Человечество научилось
пользоваться простейшими счётными
приспособлениями тысячи лет назад.
Наиболее востребованной оказалась
необходимость определять количество
предметов, используемых в меновой
торговле. Одним из самых простых
решений было использование весового
эквивалента меняемого предмета,
что не требовало точного пересчёта
количества его составляющих. Для
этих целей использовались простейшие
балансирные весы, которые стали,
таким образом, одним из первых устройств
для количественного определения массы.
Принцип эквивалентности широко использовался
и в другом, знакомом для многих, простейшем
счётном устройств Абак
или Счёты. Количество
подсчитываемых предметов соответствовало
числу передвинутых костяшек этого инструмента.
Сравнительно сложным приспособлением
для счёта могли быть чётки, применяемые
в практике многих религий. Верующий как
на счётах отсчитывал на зёрнах чёток
число произнесённых молитв, а при проходе
полного круга чёток передвигал на отдельном
хвостике особые зёрна-счётчики, означающие
число отсчитанных кругов. С изобретением
зубчатых колёс появились и гораздо более
сложные устройства выполнения расчётов.
Антикитерский механизм, обнаруженный
в начале XX века, который был найден на
месте крушения античного судна, затонувшего
примерно в 65 году до н. э. (по другим источникам
в 80 или даже 87 году до н. э.), даже умел моделировать
движение планет. Предположительно его
использовали для календарных вычислений
в религиозных целях, предсказания солнечных
и лунных затмений, определения времени
посева и сбора урожая и т/п. Вычисления
выполнялись за счёт соединения более
30-ти бронзовых колёс и нескольких циферблатов;
для вычисления лунных фаз использовалась
дифференциальная передача, изобретение
которой исследователи долгое время относили
не ранее чем к XVI веку. Впрочем, с уходом
античности навыки создания таких устройств
были позабыты; потребовалось около полутора
тысяч лет, чтобы люди вновь научились
создавать похожие по сложности механизмы.
В 1623 году Вильгельм Шикард придумал «Считающие
часы» — первый механический калькулятор,
умевший выполнять четыре арифметических
действия. Считающими часами устройство
было названо потому, что, как и в настоящих
часах, работа механизма была основана
на использовании звёздочек и шестерёнок.
Практическое использование это изобретение
нашло в руках друга Шикарда, философа
и астронома Иоганна Кеплера. За этим последовали
машины Блеза Паскаля («Паскалина», 1642 г.) и Готфрида
Вильгельма Лейбница. Примерно в 1820 году
Charles Xavier Thomas создал первый удачный, серийно
выпускаемый механический калькулятор
— Арифмометр Томаса, который мог складывать,
вычитать, умножать и делить. В основном,
он был основан на работе Лейбница. Механические
калькуляторы, считающие десятичные числа,
использовались до 1970-х. Лейбниц также описал двоичную систему
счисления, центральный ингредиент всех
современных компьютеров. Однако вплоть
до 1940-х, многие последующие разработки
(включая машины Чарльза Бэббиджа и даже ЭНИАК 1945 года) были
основаны на более сложной в реализации
десятичной системе. Джон Непер заметил,
что умножение и деление чисел может быть
выполнено сложением и вычитанием, соответственно,
логарифмов этих чисел. Действительные
числа могут быть представлены интервалами
длины на линейке, и это легло в основу
вычислений с помощью логарифмической
линейки, что позволило выполнять умножение
и деление намного быстрее. Логарифмические
линейки использовались несколькими поколениями
инженеров и других профессионалов, вплоть
до появления карманных калькуляторов.
Инженеры программы «Аполлон» отправили
человека на Луну, выполнив на логарифмических
линейках все вычисления, многие из которых
требовали точности в 3-4 знака. Для составления
первых логарифмических таблиц Неперу
понадобилось выполнить множество операций
умножения, и в то же время он разрабатывал
палочки Непера. В 1801 году Джозеф Мари
Жаккар разработал ткацкий станок, в котором
вышиваемый узор определялся перфокартами.
Серия карт могла быть заменена, и смена
узора не требовала изменений в механике
станка. Это было важной вехой в истории
программирования. В 1838 году Чарльз Бэббидж
перешёл от разработки Разностной машины
к проектированию более сложной аналитической
машины, принципы программирования которой
напрямую восходят к перфокартам Жаккара.
В 1890 году Бюро Переписи США использовало
перфокарты и механизмы сортировки (табуляторы[1]),
разработанные Германом Холлеритом, чтобы
обработать поток данных десятилетней
переписи, переданный под мандат в соответствии
с Конституцией. Компания Холлерита, в конечном счете, стала
ядром IBM. Эта корпорация развила технологию
перфокарт в мощный инструмент для деловой
обработки данных и выпустила обширную
линию специализированного оборудования
для их записи. К 1950 году технология IBM
стала вездесущей в промышленности и правительстве.
Предупреждение, напечатанное на большинстве
карт, «не сворачивать, не скручивать и
не рвать», стало девизом послевоенной
эры. Во многих компьютерных решениях
перфокарты использовались до (и после)
конца 1970-х. Например, студенты инженерных
и научных специальностей во многих университетах
во всём мире могли отправить их программные
команды в локальный компьютерный центр
в форме набора карт, одна карта на программную
строку, а затем должны были ждать очереди
для обработки, компиляции и выполнения
программы. Впоследствии после распечатки
любых результатов, отмеченных идентификатором
заявителя, они помещались в выпускной
лоток вне компьютерного центра. Во многих
случаях эти результаты включали в себя
исключительно распечатку сообщения об
ошибке в синтаксисе программы, требуя
другого цикла редактирование — компиляция
— исполнение. Определяющая особенность
«универсального компьютера» — это программируемость,
что позволяет компьютеру эмулировать
любую другую вычисляющую систему всего
лишь заменой сохранённой последовательности
инструкций. В 1835 году Чарльз Бэббидж описал
свою аналитическую машину. Это был проект
компьютера общего назначения, с применением
перфокарт в качестве носителя входных
данных и программы, а также парового двигателя
в качестве источника энергии. Одной из
ключевых идей было использование шестерней
для выполнения математических функций.
Его первоначальной идеей было использование
перфокарт для машины, вычисляющей и печатающей
логарифмические таблицы с большой точностью
(то есть для специализированной машины).
В дальнейшем эти идеи были развиты до
машины общего назначения — его «аналитической
машины». Хотя планы были озвучены и проект,
по всей видимости, был реален или, по крайней
мере, проверяем, при создании машины возникли
определённые трудности. Бэббидж был человеком,
с которым трудно было работать, он спорил
с каждым, кто не отдавал дань уважения
его идеям. Все части машины должны были
создаваться вручную. Небольшие ошибки
в каждой детали, для машины, состоящей
из тысяч деталей, могли вылиться в значительные
отклонения, поэтому при создании деталей
требовалась точность, необычная для того
времени. В результате, проект захлебнулся
в разногласиях с исполнителем, создающим
детали, и завершился с прекращением государственного
финансирования. Ада Лавлейс, дочь лорда
Байрона, перевела и дополнила комментариями
труд «Sketch of the Analytical Engine». Её имя часто
ассоциируют с именем Бэббиджа. Утверждается
также, что она является первым программистом,
хотя это утверждение и значение её вклада
многими оспаривается. Реконструкция
2-го варианта Разностной машины — раннего,
более ограниченного проекта, действует
в Лондонском музее науки с 1991 года. Она
работает именно так, как было спроектировано
Бэббиджем, лишь с небольшими тривиальными
изменениями, и это показывает, что Бэббидж
в теории был прав. Для создания необходимых
частей, музей применил машины с компьютерным
управлением, придерживаясь допусков,
которые мог достичь слесарь того времени.
Некоторые полагают, что технология того
времени не позволяла создать детали с
требуемой точностью, но это предположение
оказалось неверным. Неудача Бэббиджа
при конструировании машины, в основном,
приписывается трудностям, не только политическим
и финансовым, но и его желанию создать
очень изощрённый и сложный компьютер.
По стопам Бэббиджа, хотя и не зная о его
более ранних работах, шёл Percy Ludgate, бухгалтер
из Дублина (Ирландия). Он независимо спроектировал
программируемый механический компьютер,
который он описал в работе, изданной в
1909 году. К 1900-у году ранние механические
калькуляторы, кассовые аппараты и счётные
машины были перепроектированы с использованием
электрических двигателей с представлением
положения переменной как позиции шестерни.
С 1930-х такие компании как Friden, Marchant и Monro
начали выпускать настольные механические
калькуляторы, которые могли складывать,
вычитать, умножать и делить. Словом «computer»
(буквально — «вычислитель») называлась
должность — это были люди, которые использовали
калькуляторы для выполнения математических
вычислений. В ходе Манхэттенского проекта,
будущий Нобелевский лауреат Ричард Фейнман
был управляющим целой команды «вычислителей»,
многие из которых были женщинами-математиками,
обрабатывающими дифференциальные уравнения,
которые решались для военных нужд. Даже
знаменитый Станислав Мартин Улам уже
после окончания войны был принужден к
работе по переводу математических выражений
в разрешимые приближения — для проекта
водородной бомбы. В 1948 году появился Curta
— небольшой механический калькулятор,
который можно было держать в одной руке.
В 1950-х — 1960-х годах на западном рынке появилось
несколько марок подобных устройств. Первым
полностью электронным настольным калькулятором
был британский ANITA Мк. VII, который использовал
дисплей на трубках «Nixie» и 177 миниатюрных
тиратроновых трубок. В июне 1963 года Friden
представил EC-130 с четырьмя функциями.
Он был полностью на транзисторах, имел
13-цифровое разрешение на 5-дюймовой электронно-лучевой
трубке, и представлялся фирмой на рынке
калькуляторов по цене 2200 $. В модель EC
132 были добавлены функция вычисления
квадратного корня и обратные функции.
В 1965 году Wang Laboratories произвёл LOCI-2, настольный
калькулятор на транзисторах с 10 цифрами,
который использовал дисплей на трубках
«Nixie» и мог вычислять логарифмы. В Советском
Союзе в то время самым известным и распространённым
калькулятором был механический арифмометр
«Феликс», выпускавшийся с 1929 по 1978 год
на заводах в Курске (завод «Счетмаш»),
Пензе и Москве.
Поколение ЭВМ и
их элементная база.
Поколение |
1 |
2 |
3 |
4 |
Период, гг. |
1946 - 1960 |
1955-1970 |
1965-1980 |
1980-наст. вр. |
Элементная
база |
Вакуумные электронные
лампы |
Полупроводниковые
диоды и транзисторы |
Интегральные схемы |
Сверхбольшие интегральные
схемы |
Архитектура |
Архитектура фон
Неймана |
Мультипрограммный
режим |
Локальные сети ЭВМ,
вычислительные системы коллективного
пользования |
Многопроцессорные
системы, персональные компьютеры, глобальные
сети |
Быстродействие |
10 – 20 тыс. оп/с |
100-500 тыс. оп/с |
Порядка 1 млн. оп/с |
Десятки и сотни
млн. оп/с |
Программное
обеспечение |
Машинные языки |
Операционные системы,
алгоритмические языки |
Операционные системы,
диалоговые системы, системы машинной
графики |
Пакеты прикладных
программ, базы данных и знаний, браузеры |
Внешние устройства |
Устройства ввода
с перфолент и перфокарт |
АЦПУ, телетайпы, НМЛ,
НМБ |
Видеотерминалы, НЖМД |
НГМД, модемы, сканеры,
лазерные принтеры |
Применения |
Расчетные задачи |
Инженерные, научные,
экономические задачи |
АСУ, САПР, научно –
технические задачи |
Задачи управления,
коммуникации, создание АРМ, обработка
текстов, мультимедиа |
Примеры |
ENIAC , UNIVAC ( США);
БЭСМ - 1,2, М-1, М-20 (СССР) |
IBM 701/709 (США)
БЭСМ-4, , М-220, Минск, БЭСМ-6
(СССР) |
IBM 360/370, PDP -11/20, Cray
-1 (США);
ЕС 1050, 1066,
Эльбрус 1,2 (СССР) |
Cray T3 E, SGI (США),
ПК, серверы, рабочие
станции различных производителей |
Классификация современных
компьютеров по функциональным возможностям.