Найти в Дзене
BaseIT

Глава 0. История компьютеров

На протяжении всей истории человечества люди сталкивались с большим количеством задач, которые требовали сложных вычислений. Необходимо было считать налоги, земельные участки, воинов, торговать, управлять запасами, путешествовать и многое другое. Как только пальцев на руках стало не хватать, люди стали использовать камни и узелки, а в последствии счеты, арифмометры, сумматоры, калькуляторы и компьютеры. Первым счетным инструментом принято считать абак или просто счеты. В различных исполнениях ими пользовались в Вавилоне, Греции, Риме ещё за тысячи лет до нашей эры. Несколькими тысячелетиями позже на другом конце света, империя Инков пользовалась так называемыми кипу - это были связки из различных узелков, каждый из которых обозначал порядок, число и тд. В 1642 году знаменитый ученный Блез Паскаль изобрел первую механическую арифметическую машину, чтобы облегчить работу своего отца, сборщика налогов. Машина получила название "Паскалина" (Pascaline). Собирать прототипы машин Паскал

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

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

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

Абак (счеты)
Абак (счеты)

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

Кипу - индийская счетная система
Кипу - индийская счетная система

В 1642 году знаменитый ученный Блез Паскаль изобрел первую механическую арифметическую машину, чтобы облегчить работу своего отца, сборщика налогов. Машина получила название "Паскалина" (Pascaline).

Собирать прототипы машин Паскаль начал, когда ему было 19 лет и за три года собрал более 50 прототипов.

«Я начал свой проект с конструкции, абсолютно иной и по материалу, и по форме, и по принципу действия. Однако она не доставила мне полного удовлетворения. Это привело к тому, что, исправляя её понемногу, я незаметно сделал вторую, где были недостатки, которые я не мог устранить из-за особенностей конструкции. Я переделывал её несколько раз. И, совершенствуя её, продолжал искать способ сделать её такой, какой нужно. Меня не устраивали трудность набора, грубость движений механизма, ошибки, которые накапливались из-за неслаженных действий. Набравшись терпения, я сделал более пятидесяти различных моделей, одни из дерева, другие из слоновой кости, третьи из меди. Машина, которую я сейчас собрал, хотя и состоит из множества мелких частей, как вы можете сами убедиться, ведёт точные расчёты». Блез Паскаль

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

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

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

Стоят два студента у памятника Паскалю.
Первый: «Гениальный был человек! Придумал свою машину...»
Второй: «Да? А на чём она ездила? На масле?»
Первый, вздыхая: «На нулях и единицах. Это был первый IT-мобиль». Deepseek
Паскалина (Pascaline) - вычислительная машина Паскаля
Паскалина (Pascaline) - вычислительная машина Паскаля
«...Ниже достоинства высокородных людей тратить своё время на расчеты, когда любой крестьянин смог бы выполнить работу настолько же точно с помощью машины».
Готфрид Лейбниц

В 1673 году немецкий ученный Готфрид Вильгельм Лейбниц сделал следующий гигантский шаг вперед. Он изобрел вычислительную машину, которая могла производить все 4 основные арифметические операции: сложение, вычитание, умножение и деление.

Что же революционного предложил Лейбниц в сравнении с «Паскалиной»?Ответ – шагающий цилиндр или колесо Лейбница. Кроме того, скорость операций умножения существенно повысила подвижная каретка.

Принцип работы колеса Лейбница можно посмотреть на канале Мастерская науки по ссылке:

Колесо Лейбница

Машина Лейбница во многом повторила судьбу Паскалины. Она не получила широкого распространения, но оказала существенное влияние на развитие технологий в дальнейшем. Например, шагающий цилиндр Лейбница применялся в последующих арифмометрах на протяжении двух веков. Даже в 1970-х гг. она входила в состав ручного калькулятора «Curta».

Арифметическая машина Лейбница
Арифметическая машина Лейбница

В 1820 году Шарль Ксавье Тома де Кольмар воспользовался наработками предшественников и создал первый коммерчески успешный арифмометр. По своим возможностям арифмометр превосходил все известные на то время машины, к примеру мог оперировать 30-ти значными числами, а на то чтобы перемножить два 8-ми значных числа необходимо было около 16-ти секунд.

С конца 1870-х арифмометр де Кольмара закрепился как первый стандарт в вычислительной технике и пользовался огромным спросом в офисах и банках по всей Европе.

Арифмометр Шарля Ксавье Тома Де Кольмара
Арифмометр Шарля Ксавье Тома Де Кольмара

Примерно в те же года, когда де Кольмар корпел над своим арифмометром, английский математик Чарльз Беббидж разрабатывал сразу два типа вычислительных машин: Разностные (Difference engine) и Аналитические (Analitycal engine).

В 1822 году ученый опубликовал статью с описанием своей Разностной машины, и уже в этом же году собрал первый её прототип.

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

Полный образец машины требовал около 25 000 деталей, а совокупный вес этой конструкции, по информации из разных источников, составлял бы от 4 до 15 тонн.

Современная копия упрощенной версии Разностной машины Бэббиджа
Современная копия упрощенной версии Разностной машины Бэббиджа

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

История:
Однажды к Бэббиджу привели знатного лорда, чтобы продемонстрировать работу его Разностной машины. Лорд, впечатлённый тем, как машина без ошибок считала и печатала результаты, спросил:
«Мистер Бэббидж, если вы введёте в машину неверные числа, она даст правильный ответ?».
Не моргнув глазом, изобретатель парировал:
«Сэр, я не могу понять, каким образом вы могли бы получить неверный результат из работающей машины».
Эта фраза стала классическим примером принципа «Garbage In, Garbage Out» (Мусор на входе — мусор на выходе), который актуален для компьютерных систем и по сей день.

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

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

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

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

  • Условные переходы - если "это", то делаем "это", если "не это", то делаем "то"
  • Циклы - многократное повторение команды или нескольких команд
  • Опрос состояние - периодическая проверка состояния устройства

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

1871 году Чарльз Бэббидж скончался так и не успев закончить создание Аналитической машины, однако его наработки легли в основу первых электрических компьютеров уже в 20-м веке.

По сути Бэббидж придумал и описал всю архитектуру того как компьютеры выглядят до сих пор.

Вот мы наконец и подобрались к первому в мире компьютеру который не остался мечтой своих создателей. Он был создан в 1941 году в Германии инженером по имени Конрад Цузе и получил название Z3.

-8

Думая над способом наипростейшей реализации вычислений, Конрад пришёл к идее проведения операций над двоичными числами 0 и 1. Все современные цифровые устройства: компьютеры, цифровые фотоаппараты, микрофоны, работают именно таким образом. Каждое нажатие кнопки, каждый записанный звук представляются устройством в виде последовательности нулей и единиц.

У меня есть отдельная статья посвящённая двоичному коду и как на нём строились компьютеры:
https://dzen.ru/a/aQIKUeDTCk0jVaiU

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

  • ВКЛ - что равнялось единице
  • ВЫКЛ - что представляло из себя ноль

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

Основываясь на этих идеях Конрад собрал первую модель своего релейного компьютера Z1. Машина была рабочая, но стабильностью правильных ответов порадовать не могла. В связи с чем было решено сильно упростить машину, для повышения стабильности её работы, результатом таких трудов стал прототип Z2.

В 1940 году в Германии, в которой в это время уже год как длится война, Конрад смог добиться демонстрации своей модели Z2 в научно-исследовательском институте аэродинамики. Большого фурора машина не производит, однако Конрада принимают в штат института заниматься автоматизацией вычислений в области аэродинамических исследований. Получив финансирование и необходимую поддержку Конрад уже 1941 году представил миру свой компьютер Z3, который являлся улучшенной версией его первого прототипа Z1.

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

Компьютер как мультимедийный центр
В 1942 году Конрад написал для своего компьютера Z3 программу, которая имитировала игру на пианино. Машина, используя реле и перфоленту, воспроизводила простые мелодии, превращаясь в гигантский электромеханический музыкальный инструмент.
Это был один из первых примеров компьютерного «хакерства» в его изначальном, положительном смысле — использование технологии не по прямому назначению (для вычислений), а для творчества и развлечения. Цузе показал, что компьютер может быть не только счётным устройством, но и машиной для креативных задач.

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

Итак, 1938 год: Z1 - первая в мире механическая программируемая вычислительная машина Была ненадёжной.

1941: Z3 - первый в мире электромеханический работающий программно-управляемый компьютер. Он же считается первым работающим компьютером современного типа.

1942: Atanasoff-Berry Computer (ABC) (США) - первая в мире машина, которая использовала электронные лампы для вычислений. Однако, машина не была программируема и могла решать только одну задачу.

Atanasoff-Berry Computer (ABC)
Atanasoff-Berry Computer (ABC)

1943: Colossus (Великобритания) - Был первым в мире программируемым, электронным, цифровым компьютером. Компьютер был создан в Великобритании Томми Флауэрсом и использовался для взлома немецких шифров во время Второй мировой войны. Его существование держалось в секрете до 1970-х годов, поэтому он не оказал прямого влияния на послевоенное развитие компьютерных технологий.

Colossus
Colossus

1944: Mark I (США) - гигантский электромеханический компьютер (длина 17 метров) собранный в США для военных расчетов. Он не был таким передовым как Z3, но примечателен тем что в его создании участвовала компания IBM, которая с тех пор стала одним из столпов современных информационных технологий.

Mark I
Mark I

1945: ENIAC (Electronic Numerical Integrator and Computer) (США) - первый универсальный электронный компьютер общего назначения. В отличии от коллег по цеху, ENIAC мог перепрограммироваться под широкий круг задач (хотя использовался, в основном также для военных расчетов) и был самым мощным компьютером своего времени. Машина занимала 167 кв. м. и весила 27 тонн.

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

1946: математик Джон фон Нейман опубликовал первый проект статьи, в которой описал ключевые принципы построения компьютеров:

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

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

*пока несуществующая ссылка*

1947: зарождение слова Баг
Однажды, компьютер Mark II начал работать с ошибками. После вскрытия гигантской машины инженеры обнаружили причину сбоя — между контактами реле застрял и был поджарен дугой высокого напряжения ночной мотылёк (moth).
Грейс Хоппер с чувством юмора вклеила извлечённое насекомое в технический журнал с подписью: «First actual case of bug being found» (Первый обнаруженный случай настоящего насекомого).
Термин «bug» (жучок) для обозначения ошибки в системе использовался инженерами и раньше (есть упоминания ещё со времён Эдисона), но именно этот случай с мотыльком и авторитет Грейс Хоппер популяризировали слова «bug» (ошибка, сбой), «debug» (отлаживать) и «debugging» (отладка).
Этот самый мотылёк до сих пор хранится в Смитсоновском музее.

1948: Manchester Baby (Великобритания) - первый в мире компьютер, в котором была реализована архитектура фон Неймана и хранимая программа.

1949: EDSAC (Великобритания) — первый практический компьютер с хранимой программой, доступный для регулярного использования учеными.

EDSAC
EDSAC

В 1964 году компания IBM выпускает семейство моделей System/360. Революционной идеей этого семейства, была возможность масштабирования. Можно было приобрести себе младшую слабую модель, а затем по мере роста бизнеса перейти на более старшую, не переписывая заново программный код.

IBM System/360
IBM System/360

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

Появление System/360 породило первые в истории правила поведения в машинном зале:
Не прикасаться к магнитным лентам (дороже, чем икра)
Не проносить напитки (источник коррозии и коротких замыканий)
Не шуметь (мешает операторам)
Легенда гласит, что один инженер был оштрафован на $50 (немало по тем временам) за то, что поставил чашку кофе на блок питания.

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

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

Бюджет на разработку IBM System 360 в 2,5 раза превышал бюджет «Манхэттенского проекта» по разработке первой атомной бомбы в США.

В 1964 году журнал «Scientific American» опубликовал проект «Мэйк-а-компьютер» (Make-a-Computer), предлагавший собрать простую вычислительную машину для персонального пользования. А в 1969 году инженер Маршиан Эдвард Хофф из компании Intel создал первый в мире микропроцессор — Intel 4004. Это был ключевой прорыв: целый центральный процессор на одном чипе, вместо шкафов с лампами и реле.

1971: Kenbak-1 - первый в мире персональный компьютер, предложенный для коммерческой продажи. Он был предназначен для обучения основам программирования. У него не было ни процессора, ни монитора, ни клавиатуры. Ввод данных и вывод результатов осуществлялся с помощью тумблеров и лампочек. Объём памяти — всего 256 байт. Это примерно в 270 миллионов раз меньше, чем у современного смартфона с 64 ГБ памяти.

Было продано около 40 штук, в основном школам. По современным меркам это была скорее программируемая логическая машинка.

Kenbak-1
Kenbak-1

1975: Altair 8800 стал настоящей сенсацией и отправной точкой для индустрии ПК. Он в свою очередь уже был построен на микропроцессоре Intel 8080. Это был ящик с мигающими лампочками и тумблерами. У него тоже не было ни клавиатуры, ни монитора, но его гениальность была в архитектуре открытой шины — S-100. Шина позволяла энтузиастам создавать и подключать свои платы расширения: память, видеокарты, контроллеры для клавиатуры.

Altair 8800
Altair 8800
Именно для Altair два молодых парня из Гарварда, Билл Гейтс и Пол Аллен, написали свою первую версию языка программирования Altair BASIC. Это стало началом компании Microsoft.
Появление Altair породило множество компьютерных клубов, одним из членов которого были, например, Стив Джобс и Стив Возняк - основатели Apple.

1976: Apple I был полностью собранной материнской платой, к которой пользователю нужно было всего лишь подключить клавиатуру и телевизор Это был огромный шаг к удобству. Он был спроектирован Возняком как единое целое, а не как набор плат расширения.

Apple I
Apple I

Хотя Apple I был всё ещё машиной для энтузиастов (было продано около 200 штук), он заложил фундамент для феноменального успеха Apple II (1977), который уже был полноценным, готовым к использованию компьютером в пластиковом корпусе с цветной графикой и стал первым массово успешным ПК в мире.

Apple II
Apple II

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

Офисные программисты 1980-е
Офисные программисты 1980-е

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

Именно в эти годы началась массовая миграция на клиент-серверные архитектуры. Активными вдохновителями этой миграции были Microsoft со своим продуктом Windows New Technology. До 1993 Microsoft занимались операционными системами для пользовательских компьютеров, а с выпуском Windows NT начали активно занимать позиции и в корпоративном сегменте среднего и крупного бизнеса.

Windows NT оказалась на волне трендов того времени, предлагая пользователям удобный и простой интерфейс, а бизнесу возможности централизованного управления серверами и пользователями.

Интерфейс Windows NT4
Интерфейс Windows NT4

Ещё одной революцией в 1991 году стала публикация первого WEB-сайта, и как следствие, появление Интернета. Развитие сетевых технологий началось ещё в 1960-х, однако, только к 90-м сформировался Интернет в привычном нам понимании.

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

*пока несуществующая ссылка*

Практически все компьютеры в мире физически соединены друг с другом кабелями.
Просто представьте!
Вы можете возразить, а как же Wi-Fi или мобильный 5G интернет, и будете правы. Однако, Wi-Fi устанавливает беспроводное соединение только с wi-fi роутером, который в свою очередь подключен с общей сети по проводу. Также и 5G, устанавливает соединение с ближайшей 5G вышкой, а далее подключается к сети проводами.
Карта интернет-кабелей
Карта интернет-кабелей

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

Современный центр обработки данных
Современный центр обработки данных

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