Два ядра, два гига, игровая видеокарта: как мы получили кучу вычислительных ресурсов в XXI веке

👁 142

Часть первая. От ручки с бумагой до транзисторов

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

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

Времена вычислительного палеозоя 🦖

Как-то так получилось, что человечеству было откровенно вкрысу считать в уме. С глиняными дощечками, а потом и бумагой – тоже не особо срослось. Математика вообще довольно специфическое развлечение, честно говоря. 

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

В средние века дело дошло до того, что Паскаль и Лейбниц придумали механический арифмометр, причем каждый – свой.

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

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

На этом математики и инженеры не остановились, причем одним из таких ярых фанатов оказался Чарльз Бэббидж. Этот человек спроектировал настолько величественную механическую приблуду, что даже не успел ее целиком построить при жизни, оставив сказочное развлечение благодарным потомкам. Она называлась «Разностная машина Бэббиджа«

Спойлер:
Эта хуйня потом и вправду заработала))))
Oi mate some good mechanics innit?

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

В единую логическую схему Бэббидж увязал арифметическое устройство (названное им «мельницей»), регистры памяти, объединённые в единое целое («склад»), и устройство ввода-вывода, реализованное с помощью перфокарт трёх типов. Перфокарты операций переключали машину между режимами сложения, вычитания, деления и умножения. Перфокарты переменных управляли передачей данных из памяти в арифметическое устройство и обратно. Числовые перфокарты могли быть использованы как для ввода данных в машину, так и для сохранения результатов вычислений, если памяти было недостаточно.

Из Википедии

Ну офигеть же какой rocket-science для XIX века, разве нет?

Что на этом всем считали? На первых арифмометрах были простые математические операции. Машина же Бэббиджа была построена для аппроксимации функций многочленами и вычисления конечных разностей. Звучит пиздец сложно, да. Но круто.

ЭВМ. Теплая, ламповая, твоя.

Суть да дело, но техническая эволюция продолжалась, и появились реле и электронные лампы. В паре слов:

  • Реле – это такой коммутационный аппарат. Когда входная величина (ток или напряжение) меняется, реле замыкает или размыкает цепь;
  • Электронная лампа – нехитрый прибор, имеет в себе нить накаливания, анод и катод. Принцип простой: подаем ток на катод, он разогревается, электрончики разлетаются внутри лампы. У электрончиков отрицательный заряд, и если на второй электрод (анод) подать положительный заряд, электрончики направятся в анод и цепь замкнется. Если подать отрицательный заряд, электрончики будут отталкиваться и цепь не замкнется. Поздравляю, теперь вы знаете как работает кенотрон!

Короче, к 1940м годам мы увидели машины, собранные из реле и электронных ламп. Масштаб, конечно, был у них впечатляющий:

Это сейчас в компьютерной технике главное не размер, а умение пользоваться – раньше было по-другому. Оттого эти экземпляры занимали площадь с комнату. Потому что а почему бы и нет? Как тебе еще блоков памяти добавят? То-то же.

Вышеописанные игрушки уже представляли собой нечто более мощное, чем всякие там механические машины, и что самое самое интересное – на части из них действительно можно было немного программировать :)))

Уголок духоты

Так-то, конечно, у релейного Mark I и лампового ENIAC были весомые отличия – Гарвардская архитектура vs. Архитектура фон Неймана, а еще свои приколы с написанием программ: у Марка, например, нельзя было сделать условный переход, то есть циклы приходилось делать костылями, лол.

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

Как в такие махины загонялись программы? Ооо, слышу голос деда с последнего ряда: перфокартами и перфолентами! А ты хорош!

Удобно, пиздец! Зачем же эти здоровенные десептиконы были нужны? В основной массе своей – для всяких прикладных математических расчетов, типа траекторий снарядов в артиллерии, хотя на ENIAC даже как-то считали прогноз погоды.

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

Скорость работы описанных считалок была очевидно невысокой – Mark I например операцию умножения делал аж 6 секунд. На HighLoad++ с таким достижением не заявишься, да. Программный комитет не допустит.

Отдельно замечу, для меня было большим удивлением, когда я узнал, что в этих числодробилках использовалась десятичная система счисления: так-то Лейбниц описал двоичную систему за 240 лет до событий! Хотя вангую, было как сейчас в айтишечке: «у нас есть архитектурные ограничения».

Так или иначе, заметную лепту в истории эти старички оставили.

Спасибо деду за эмиттер и коллектор

Послевоенные годы, казалось бы, всё спокойно, сиди собирай из релюшек и лампочек свои ENIAC’и и прочая, но нет. В конце 40х кожаные мешки от скуки изобрели транзистор, и жизнь заиграла новыми красками. Лампы были хрупкими, энергоемкими, поэтому новое чудо техники стало значительным шагом вперед.

Узнали? Согласны?

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

Эмиттеры и коллекторы здесь? На месте?

Появились первые мейнфреймы от IBM, DEC выпускает свою PDP-1, в общем, дело завертелось. 

Влажный фетиш бородатых айтишников прошлого

Изнутри компьютеры тоже стали выглядеть цивильнее – вместо ламп и реле появилось большое количество печатных плат с логическими вентилями или триггерами. Все по-взрослому, короче! У железяк начала появляться знакомая нам периферия – устройства для внешнего хранения памяти, клавиатуры, дисплеи.

Прогресс было не остановить. В 1962 году британцы собрали Atlas, там вообще оказался полный фарш – виртуальная память на основе подкачки страниц и конвейерное выполнение инструкций. Охренеть вообще, мне казалось, раньше 70х до такого вообще додуматься не могли.

Как программировали? Да по-разному! За десяток лет появился целый зоопарк – у продвинутых ребят были языки Ассемблер, Фортран, Алгол, у тех кто попроще – пульты, где можно было заносить битики в регистры.

Пульт оператора IBM 7094. Youtube в соседнем окне не посмотришь 🙁

Что считали? Да всё. Конечно, в основном это была либо научная, либо военная, либо окологосударственная движуха. Траекторию для спутника посчитать? Да изи! Всякие матмодельки посчитать? Да пожалуйста. Циферки по данным о населении подбить? Как два пальца. Производительность машин была для того времени сумасшедшей – 100, 200, 300 и больше тысяч операций в секунду. Ну просто жир. 

Что дальше? 🤷‍♂️

У нас было два электрических реле, семьдесят пять газоразрядных электронных ламп, 5 печатных плат, маслёнка, наполовину наполненная маслом из арифмометра, и целое море разноцветных амфетаминов, барбитуратов и транквилизаторов, а так же пара дисплеев, магнитная лента, интегральные схемы и 12 МДП-транзисторов. Не то, чтобы всё это было категорически необходимо для человеческого прогресса, но если уж начал собирать вычислительную технику, то к делу надо подходить серьёзно.

JSON Statham

В общем, очевидно, что прогресс продолжался и дальше. Всё было почти как в олимпийском девизе: быстрее, меньше, энергоэффективнее. Появились интегральные схемы и микропроцессоры, всё стало очень похоже на то, как мы видим сейчас. Миру явились IBM/360 и ЕС ЭВМ. Apple I вообще перевернул идею компьютера дома. Маховик, двигающий человечество в новую эпоху, раскрутился до невиданных скоростей. Но про это – в следующей части. Stay tuned! 🛫