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

 Публичный пост
13 июля 2022  2715

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

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

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

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

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

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

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

Спасение бухгалтеров прошлого
Спасение бухгалтеров прошлого

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

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

Oi mate some good mechanics innit?
Oi mate some good mechanics innit?

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

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

Из Википедии

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

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

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

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

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

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

Mark I – топовый девайс твоего прадеда
Mark I – топовый девайс твоего прадеда

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

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

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

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

User-friendly API во всей красе
User-friendly API во всей красе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интегральные схемы

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

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

Суть в чем: представьте, что вы можете размещать нужные элементы не на печатной плате, а прямо на кремниевой полупроводниковой подложке? Да, немного надо запариться с тем, чтобы как-то на мааааленькой пластинке разметить и закатать проводники, полупроводники и диэлектрики, но каков результат! Если хочется подробностей, можно почитать про планарную технологию хотя бы в Википедии.

Просто, понятно, высокотехнологично
Просто, понятно, высокотехнологично

Впрочем, еще догадались сделать гибридную интегральную схему – это когда у тебя в сборке и кремниевая подложка, и всякие внешние полупроводники. Так сделала компания IBM, потому что сомневалась в надежности и доступности новомодной технологии. Венцом такого подхода стала платформа IBM System/360. В СССР параллельно запустили программу ЕС ЭВМ, и отечественные мейнфреймы были совместимы с этой платформой. Ну вы знаете, как у нас с этим бывает.

Теперь компьютеры стали еще «компактнее», например, блок с центральным процессором занимал всего лишь небольшой шкаф.

System/360. Funny size and great performance, mate!
System/360. Funny size and great performance, mate!

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

Словом, очередной важный виток в технологиях мы прошли.

Микропроцессоры

Вы же не потеряли контекст, какого там размера были процессоры? Сравнительно большие такие, да. С холодильничек. А еще была речь про транзисторы. Угадайте, что произошло? Ну конечно, всё в очередной раз поменялось!

Короче, всё как обычно: прогресс не стоит на месте, и вместо биполярных транзисторов, которые управляются током, появились транзисторы с изолированным затвором. Они управляются напряжением, так как затвор изолирован от стока и истока, и ещё обладают очень высоким входным сопротивлением. Такие транзисторы еще называются МОП-транзисторами («металл-оксид-полупроводник»).

Охуенно понятная структура МОП-транзистора
Охуенно понятная структура МОП-транзистора

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

Плюс ко всему, создатели МОП-транзистора разработали метод проектирования схем произвольной логики. Если коротко, это когда ты теперь отказываешься от микрокода, находящегося где-то в памяти, а просто фигачишь логические элементы. Было еще много клевых открытий, и в 1971 году появился первый 4-битный микропроцессор: его величество Intel 4004. Создатели смогли уместить весьма сложную логику на одной маленькой интегральной схеме. Успех!

2300 транзисторов
2300 транзисторов

И все – под маленькой крышечкой
И все – под маленькой крышечкой

Дальше дело завертелось. Вслед за 4-битными микропроцессорами пошли восьмибитки. Intel 8080, его братишка Zilog Z80, на котором твой батя собрал свой первый клон Spectrum’а, MOS 6502, на котором Стив Возняк собрал Apple I. Все эти процессоры позволили создавать действительно персональные микрокомпьютеры, на которых, что очень важно, можно было решать свои личные задачи. Для конца 1970-х / начала 1980-х это было вообще чем-то крышесносным.

ZX Spectrum, подключенный к телику. Ставь лайк если тебе за 50 и ты вспомнил юность
ZX Spectrum, подключенный к телику. Ставь лайк если тебе за 50 и ты вспомнил юность

Очевидно, усложнение и расширение архитектуры продолжалось: вот процессор начинает жевать по 16-разрядов, и у тебя 8086й, потом по 32, и это i386.

4 бита, 8 бит, 16, да какая разница?

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

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

Кстати, знаете вот это словосочетание «IBM PC»? Первую версию сея компьютера компания IBM создала на базе процессора Intel 8088 и сделала настолько массовым, что наши нынешние железки – прямые его потомки. Разве что вместо MS-DOS теперь стоит винда.

Автор текста хардкорит за IBM PC XT в далеком 1996м
Автор текста хардкорит за IBM PC XT в далеком 1996м

В i486 уже не стали выносить отдельно математический сопроцессор, а разместили его прям в CPU, кроме совсем уж бичевой SX-серии.

Что такое математический сопроцессор?

Удивительно, но как-то из коробки процессор не умеет прям делить и умножать числа, считать синусы/косинусы и прочую хуйню. Потому что что ты можешь изначально в двоичной системе сделать? Сложение, вычитание, и побитовые сдвиги. Маловато.

Кто smart cookie и не прогуливал уроки информатики, тот помнит, что бывает форма представления числа в виде мантиссы и порядка – такое число называется числом с плавающей точкой.

Чтобы выписывать всякие математические кренделясы над такими числами было как-то попроще, рядом с CPU как раз и размещали FPU (floating-point unit), то бишь математический сопроцессор, который был заточен под это непотребство.

Как прогали?

Ой, ну тут началось прямо массовое увлечение! Это были те самые вещи, которые наверняка помнят деды из курилки.

Кто-то просто писал на QBasic, кто-то хардкорил низкоуровневые вещи на Ассемблере и Си. То самое настоящее программирование, про которое любят рассказывать олдфаги. Появлялись солидные IDE, чтобы писать на всякой всячине, типа Borland C++. Прям с дебагом и подсветкой кода, ага!

Покажи бате эту картинку, чтобы тот заплакал от ностальгии
Покажи бате эту картинку, чтобы тот заплакал от ностальгии

Тогда же стало прям модным лабать на под DOS на Паскале, снова привет компании Borland. Короче, настоящий кайф. Ресурсов стало дохрена, но (сюрприз!) все равно иногда не хватало.

Советую, кстати, посмотреть офигенную кулстори от Вадима Башурова, это он написал те самые игры «Поле чудес» и «Морской бой». 10 девелоперских историй из 10!

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

Короче, все стало похожим на то, чем мы занимаемся сейчас. Только JSON-ы не перекладывали.

Pentium и его друзья 💻

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

В общем, еще один важный момент в эволюции микропроцессоров – это кэш-память. Если ты покупал процессор в магазине, то наверняка замечал всякие L1/L2/L3 кэши в характеристиках. Че это за херня вообще?

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

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

Кэш L2 (4 микросхемы справа вверху) находится на материнской плате у процессора, а L1 прям на кристалле. Технологии!
Кэш L2 (4 микросхемы справа вверху) находится на материнской плате у процессора, а L1 прям на кристалле. Технологии!

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

Кстати кулстори, с Pentium сперва умудрились налажать

Чуваки из Intel ошиблись с работой FPU – в результате вычисления с плавающей запятой бывали не очень точными. Ну вот например:

4195835.0/3145727.0 = 1.333 820 449 136 241 002 (правильное значение)
4195835.0/3145727.0 = 1.333 739 068 902 037 589 (ошибочное значение, возвращаемое процессором, содержащим дефект)

Из-за этого дефекта в софте приходилось писать костыли

Все что было дальше – просто навороты. Так, например, с данными в 64 разряда начали работать аж в 60е, а вообще таких процессоров для разных персоналок было наделано как грязи. Если совсем нечего делать и очень интересно, можно почитать статью Джона Машеи про долгий путь к 64-разрядной архитектуре. Но да, со временем 64 разряда запихали и в семейство Pentium в том числе.

К чему это, короче – сраный Pentium D из нашей юности и два-ядра-два-гига-игровая-видеокарта со всеми Готиками, Crysis’ами или в че ты там еще играл – продукт вот этой вот эволюции.

Кстати, я обосрался с заголовком – в рекламе было три(!) гига. Качество картинки уровня «ебучий шакал» прилагается
Кстати, я обосрался с заголовком – в рекламе было три(!) гига. Качество картинки уровня «ебучий шакал» прилагается

Дальше можно рассказывать про всякие двух-четырех-стопицотъядерные процики, докатиться до микроархитектур Haswell/Broadwell/Skylake, но это будет уже настолько специфическая хуйня, что лучше туда не лезть.

На мой скромный и поверхностный взгляд, как-то так человечество доросло до современного представления персонального конплюхтера. И сегодня ты можешь играть в свои YOBA-игрульки с графонием вместо мыла, считать абсолютно ебанутейшие расчеты в MathCad/MATLAB/etc., прогать любой софт клепать очередной JS-фреймворк в окошке IntellijIDEA и параллельно палить ролики Вероники Степановой в ютьюбе. Тишь, гладь, божья благодать.

Ну и к чему мы пришли? 🤔

А пришли мы к тому, что в маленьком лэптопе, греющим твои нежные коленочки, сосредоточено лютое нечто, гоняющее совершенно впечатляющее количество информации: интересные (нет) JSON’ы, математические задачи, монтаж видеороликов – и вся эта шняга просто и легко умещается в рюкзак.

Компьютер для массового потребителя стал совсем доступным, как, кстати, и разработка софта. Пишут все, пишут всё, от мала до велика, от простецкого «Hello World» до какого-то откровенного rocket-science.

И получается вот какая история: раньше процессорное время было дорогим – это ведь её величество релейно-ламповая ЭВМ, не мешай ей работать, мразь, сиди и набивай свои сраные программы на перфокартах. Время программиста по сравнению с этими машинами стоило копейки. Теперь же мы имеем охуенный плот-твист в стиле Netflix: кожаные мешки победили, и джуны могут купить условный MacBook Pro за две-три зарплаты.

Единственная просьба, дорогой читатель – помни хоть иногда, какой долгий путь проделало человечество, и стыдись, если будут, своих неэффективных алгоритмов в O(n^3). Вот когда изобретут квантовый компьютер – тогда и поговнокодим!

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

21 комментарий 👇

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

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

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

Вот так выглядит принципиальная схема железнодорожного компьютера (точнее малая ее часть) - схема управления огнями светофора. На обычных инженеров-радиоэлектронщиков подобные схемы нагоняют страх или ворчливость, потому что тут нету привычных им DD1, XTAL и VT4. Вместо этого приборы имеют мнемонические названия - например ЖЗО на картинке выше - это огневое реле желтого и зеленого огней (огневое - это когда оно включено только если через лампу соответствующего огня светофора бежит ток, то есть она светится).

Электромагнитное реле как коммутационный прибор выигрывает у транзистора. Например реле НМШ может коммутировать одновременно до 8 цепей. Поэтому в железнодорожных компьютерах реле гораздо меньше чем в обычных, полупроводниковых при одинаковом количестве "бизнес-логики", на среднюю станцию 5-7 путей можно обйтись всего 2000-3000 реле. А еще коммутационная цепь у реле гальванически развязана от коммутирующей, а еще реле может спокойно включить что-нибудь на 220В и 3кВт (ну впрочем и транзисторы тоже могут, просто в случае с ж/д релейными системами там все реле такие).

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

Надо еще оговориться, что речь шла о технике 60-80-х годов, хотя если вы походите по ж/д станциям то вполне можете еще обнаружить там релейную систему, их срок службы составляет порядка 50 лет, а по факту эксплуатируются они еще дольше. Современные ж/д компьютеры - это обычные полупроводниковые компьютеры, только задублированные, зарезервированные и подключенные к исполнительным устройствам, гоняющим стрелки и зажигающим светофоры. В принципе почти как умный дом, только за 100500 денег.

Но иногда душа конечно тоскует по той теплой релейной эпохе, когда электромеханик СЦБ (это такой железнодорожник, который занимается всей этой автоматикой) имел полное представлние что происходит на его станции и как работает его специализированный железнодорожный компьютер. Сейчас конечно это уже не совсем так, микропроцессоры делают одни, программы пишут другие, системы собирают из всего этого третьи, и никто ничего до конца не знает. Ну это я так поныл, не обращайте внимания.

@mbeloshitsky, офигенно! Какая теплая ламповая релейная специфика

  Развернуть 1 комментарий

@mbeloshitsky, Офигенно так поныл. Может еще поноешь, и отдельным постом выложишь? Вроде хрень и узко-специально-специфическая, но как минимум один человек (я) точно был бы рад почитать по этой теме еще.)

  Развернуть 1 комментарий

@Algernon, спасибо. Я постараюсь, правда длинные тексты даются мне нелегко.

  Развернуть 1 комментарий

@mbeloshitsky, ну, я бы не стал называть релейную логику "компьютером" - как минимум потому что она не программируется в том же смысле что и тьюринг-полные системы. И кстати она до сих пор живее всех живых, все инженеры промавтоматики и по сей день рисуют лестничные диаграмы на контактах в каком-нибудь CODESYS, только потом оно компилируется во что-то что хавает PLC с обычным general purpose компьютером внутре (или прямо в программу на сишке). А ноги у релейных блокировок растут из механических, где ты рычагом через систему тяг физически дергаешь стрелки, а хитрая механика тупо физически не дает дернуть рычаг приводящий к недопустимым ситуациям. Вот хорошее видео про СЦБ, объясняющее что именно происходит в таких схемах, там интересно, всякие интерлоки и дабл-чеки (зеленый на светофоре не включится если не соблюден целый ряд условий, специфичных для конкретной станции):

  Развернуть 1 комментарий

@LexsZero Я назвал релейные системы "компьютерами", потому что они занимаются тем же, чем и компьютеры - вычисляют. Только компьютеры это достаточно абстрактные штуки - они вычисляют циферки у себя в памяти, а системы СЦБ вычисляют выполнение условий безопасности, маршрут, который можно проложить между двумя точками (и можно ли его проложить вообще), какой огонь светофора зажечь. В этом смысле грань достаточно зыбкая, особенно если вспомнить поздние релейные системы, где маршруты могли стоять в очереди или поздние системы горочного роспуска.

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

А так конечно да, электрическая централизация факториал не посчитает, бесспорно.

И про механику в начале всего ты верно расписал. Не даром ведь служба Ш (автоматики) так называется - потому что раньше это была Шнуровая часть. Олдскулы аж свело.

  Развернуть 1 комментарий

@mbeloshitsky, ну, тогда и электрочайник можно назвать однобитным "компьютером", "вычисляющим" когда ему выключиться на основании сигнала с датчика кипения - тоже своего рода условие безопасности (вода может выкипеть и чайник устроит пожар). В принципе, есть фреймворки мышления, в которых вообще все является вычисляющим компьютером, даже небо, аллах и межатомные взаимодействия. Но для практических инженерных нужд такой подход не очень продуктивен, поэтому пришлось где-то провести черту и придумать классы вычислимости и тьюринг-полноту. И даже с ними не все ладно, потому как обнаруживаются казусы где Magic the Gathering оказывается формально эквивалентным по классу задач которые можно в нем вычислить обычному компьютеру.

  Развернуть 1 комментарий

@LexsZero, кстати, годный коммент. Так-то есть мнение, что тот же Mark I из статьи был не то чтобы компьютером, а просто здоровым таким электрическим арифмометром. Makes sense.

  Развернуть 1 комментарий

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

Я не настаиваю, если что :)

  Развернуть 1 комментарий

@LexsZero, спасибо кстати за упоминание классов вычислимости, не знал о них. Ушел гуглить.

  Развернуть 1 комментарий
  Развернуть 1 комментарий
  Развернуть 1 комментарий

@kotyakott, в голосину завыл, господи!

  Развернуть 1 комментарий

Прочитал этот пост и подумал, что будущее вот оно, наступило, и оно крутое.

Можно взять телефон (многопроцессорный ультра-портативный компьютер с экраном 2532x1170, 4GB памяти, видеокамерой, микрофоном и динамиком, способным записывать и воспроизводить человеческую речь и работать как кнопочные/дисковые стационарные телефоны, только без проводов), открыть с помощью только пальцев на нем программу (которая автоматически исправляет в себе ошибки и добавляет новые возможности, загружая новую версию через соединение с сервером "на фоне") для доставки еды через международную глобальную сеть (100MB/c соединение через беспроводную! технлогию), авторизироваться для оплаты с помощью распознавания вашего лица с помощью нейронной сети третьего поколения, работающей прямо у вас на устройстве, и через 10 минут посмотреть на статус вашего заказа с помощью отслеживания реального времени, основанного на спутниковой навигации, наложенной на детальные цифровые карты вашего города.

Интересно, как бы я себе представил это в 90е, когда у меня появился первый компьютер (Amstrad PC1640DD, 8086 8Mhz, 640KB RAM, 32MB HDD, 640x350 EGA display).

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

  • 90е, рост вычислительных возможностей согласно закон Мура и переход к многозадачности для персональных компьютеров
  • 2000е - портативная революция (ноутбуки) и повсеместное распространение и коммерциализация интернета
  • 2010е - портативная революция x2 (телефоны) и повсеместное распространение мобильного интернета
  • 2020е -comeback нейронных сетей, нейронные сети третьего поколения, генеративные нейронные сети. IoT.

(все технологии появились в 10-летии прошлом для указанного, но "критической массы" они достигли именно тогда).

  Развернуть 1 комментарий
Evgenii Kochanov Анализирую данные 14 июля 2022

Супер статья! Интересно было бы еще почитать, в каком месте мы свернули не туда и начали на видеокартах майнить, а не запускать GTA 6

  Развернуть 1 комментарий

@kochanoff, когда можно что-то использовать не по прямому назначению ради своей пользы — это будет так использовано. Соцсети используют наш дофамин, созданный для охоты, майнинг использует видеокарты, созданные для игр, и так в принципе во всём.

  Развернуть 1 комментарий

Привет. Спасибо за пост, было интересно прочесть такую мини-историю развития современных ПК. А есть что почитать об этом подробнее, особенно про современный этап с вот этим ростом ядер, гигов, цифорок на наклейках и т.д.?)

  Развернуть 1 комментарий

@Yaanton, привет!

Боюсь, вкратце не отвечу, потому что консолидированных статей на этот счет я сходу не нашел :(

Вообще мне кажется, можно начать с описания технологии Hyper-Threading (есть еще вот такая статья прям из 2002 года). Интел ее придумали, чтобы на одноядерном процессоре (типа Pentium 4) как-то выполнять два потока сразу. Ее потом правда выкинули временно, но вернули обратно.

В принципе, можно погуглить и про Pentium D (первый топорный двухъядерник от интела, по сути два одинаковых процессора запихали под одну крышку и вуаля). А там уже и Intel Core архитектура подъехала со всеми её потомками (и с нормальной многоядерностью).

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

Вообще там еще много баззвордов можно накидать если увлечься, временна́я/одновременная многопоточность, суперскалярность и вот это всё.

Блин, выглядит, будто про это надо собирать отдельный материал, лол

  Развернуть 1 комментарий

@b00blik, спасибо за увлекательный формат! Буду рад новым постам! :)

  Развернуть 1 комментарий

@Yaanton, классная статья, и мне показалась созвучной с книгой "код. тайный язык информатики". Тоже вроде бы про всякие основополагающие штуки рассказывали, и в совсем лайтовом формате, не для фаанг-собеса ;)
https://www.ozon.ru/product/kod-taynyy-yazyk-informatiki-125884

  Развернуть 1 комментарий

@alexey-stogny, Крутяк, спасибо! Гляну её

  Развернуть 1 комментарий

😎

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

Что вообще здесь происходит?


Войти  или  Вступить в Клуб