Преимущества многоядерной структуры процессора
За последнее десятилетие удельная производительность процессоров в пересчете на число транзисторов упала на один-два порядка. Дальнейшее развитие полупроводниковых технологий в соответствии с законом Мура не может компенсировать неэффективность современных процессоров. Диспропорцию между числом транзисторов на кристалле и удельной производительностью, которая выражена в скорости выполнения, отнесенной к площади, иногда называют «дефицитом Мура» (Moore Gap). Показатели быстродействия процессоров (в частности, частоты) достигли практически граничных показателей, плотность энергии увеличивается пропорционально уменьшению размеров транзисторов, и, соответственно, увеличиваются проблемы с отводом тепла.
Нетрудно прийти к выводу, что если нельзя использовать возможности закона Мура на одном ядре из-за исключительной сложности такого ядра, то следует пойти по пути увеличения числа ядер.
Однако реализовать в одном процессоре n ядер и получить в n раз большую производительность компьютера не реально. Все значительно сложнее — результат будет зависеть от используемого приложения и его оптимизации к многоядерному процессору. Чтобы приложение могло одновременно задействовать несколько процессорных ядер, оно должно хорошо распараллеливаться. Если же программа написана таким образом, что подразумевает только последовательное выполнение команд, от многоядерности проку не будет.
Дата добавления: 2015-09-29 ; просмотров: 625 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
wiki.vspu.ru
портал образовательных ресурсов
Нужна ли многоядерность?
Что такое ядро процессора
В центре современного центрального микропроцессора (CPU – сокр. от англ. central processing unit – центральное вычислительное устройство) находится ядро (core) – кристалл кремния площадью примерно один квадратный сантиметр, на котором посредством микроскопических логических элементов реализована принципиальная схема процессора, так называемая архитектура (chip architecture).
Ядро связано с остальной частью чипа (называемой «упаковка», CPU Package) по технологии «флип-чип» (flip-chip, flip-chip bonding – перевернутое ядро, крепление методом перевернутого кристалла). Эта технология получила такое название потому, что обращенная наружу – видимая – часть ядра на самом деле является его «дном», – чтобы обеспечить прямой контакт с радиатором кулера для лучшей теплоотдачи. С обратной (невидимой) стороны находится сам «интерфейс» – соединение кристалла и упаковки. Соединение ядра процессора с упаковкой выполнено с помощью столбиковых выводов (Solder Bumps).
Ядро расположено на текстолитовой основе, по которой проходят контактные дорожки к «ножкам» (контактным площадкам), залито термическим интерфейсом и закрыто защитной металлической крышкой.
Что такое многоядерный процессор
Многоядерный процессор – это центральный микропроцессор, содержащий 2 и более вычислительных ядра на одном процессорном кристалле или в одном корпусе.
Для чего нужна многоядерность
Требования к вычислительной мощности центрального микропроцессора постоянно росли и продолжают расти. Но если раньше производителям процессоров приходилось постоянно подстраиваться под текущие насущные (вечно растущие!) запросы пользователей ПК, то теперь чипмейкеры идут с бо-о-о-льшим опережением!
Долгое время повышение производительности традиционных одноядерных процессоров в основном происходило за счет последовательного увеличения тактовой частоты (около 80% производительности процессора определяла именно тактовая частота) с одновременным увеличением количества транзисторов на одном кристалле. Однако дальнейшее повышение тактовой частоты (при тактовой частоте более 3,8 ГГц чипы попросту перегреваются!) упирается в ряд фундаментальных физических барьеров (поскольку технологический процесс почти вплотную приблизился к размерам атома: сегодня процессоры выпускаются по 45-нм технологии, а размеры атома кремния – приблизительно 0,543 нм):
• во-первых, с уменьшением размеров кристалла и с повышением тактовой частоты возрастает ток утечки транзисторов. Это ведет к повышению потребляемой мощности и увеличению выброса тепла;
• во-вторых, преимущества более высокой тактовой частоты частично сводятся на нет из-за задержек при обращении к памяти, так как время доступа к памяти не соответствует возрастающим тактовым частотам;
• в-третьих, для некоторых приложений традиционные последовательные архитектуры становятся неэффективными с возрастанием тактовой частоты из-за так называемого «фон-неймановского узкого места» – ограничения производительности в результате последовательного потока вычислений. При этом возрастают резистивно-емкостные задержки передачи сигналов, что является дополнительным узким местом, связанным с повышением тактовой частоты.
Применение многопроцессорных систем также не получило широкого распространения, так как требует сложных и дорогостоящих многопроцессорных материнских плат. Поэтому было решено добиваться дальнейшего повышения производительности микропроцессоров другими средствами. Самым эффективным направлением была признана концепция многопоточности, зародившаяся в мире суперкомпьютеров, – это одновременная параллельная обработка нескольких потоков команд.
Так в недрах компании Intel родилась Hyper-Threading Technology (HTT) – технология сверхпоточной обработки данных, которая позволяет процессору выполнять в одноядерном процессоре параллельно до четырех программных потоков одновременно. Hyper-threading значительно повышает эффективность выполнения ресурсоемких приложений (например, связанных с аудио- и видеоредактированием, 3D-моделированием), а также работу ОС в многозадачном режиме.
Процессор Pentium 4 с включенным Hyper-threading имеет одно физическое ядро, которое разделено на два логических, поэтому операционная система определяет его, как два разных процессора (вместо одного).
Hyper-threading фактически стала трамплином к созданию процессоров с двумя физическими ядрами на одном кристалле. В 2-ядерном чипе параллельно работают два ядра (два процессора!), которые при меньшей тактовой частоте обеспечивают большую производительность, поскольку параллельно (одновременно!) выполняются два независимых потока инструкций.
Архитектура многоядерных систем
Многоядерные процессоры можно подразделить по наличию поддержки когерентности (общей) кеш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё.
Способ связи между ядрами: разделяемая шина сеть (Mesh) на каналах точка-точка сеть с коммутатором общая Кеш-память
Способность процессора выполнять одновременно несколько программных потоков называется параллелизмом на уровне потоков (TLP – thread-level parallelism). Необходимость в TLP зависит от конкретной ситуации (в некоторых случаях она просто бесполезна!).
Основные проблемы создания многоядерных процессоров
• каждое ядро процессора должно быть независимым, – с независимым энергопотреблением и управляемой мощностью;
• рынок программного обеспечения должен быть обеспечен программами, способными эффективно разбивать алгоритм ветвления команд на четное (для процессоров с четным количеством ядер) или на нечетное (для процессоров с нечетным количеством ядер) количество потоков;
Преимущества многоядерных процессоров
• возможность распределять работу программ, например, основных задач приложений и фоновых задач операционной системы, по нескольким ядрам;
• увеличение скорости работы программ;
• процессы, требующие интенсивных вычислений, протекают намного быстрее;
• более эффективное использование требовательных к вычислительным ресурсам мультимедийных приложений (например, видеоредакторов);
• работа пользователя ПК становится более комфортной;
Недостатки многоядерных процессоров
• возросшая себестоимость производства многоядерных процессоров (по сравнению с одноядерными) заставляет чипмейкеров увеличивать их стоимость, а это отчасти сдерживает спрос;
• так как с оперативной памятью одновременно работают сразу два и более ядра, необходимо «научить» их работать без конфликтов;
• возросшее энергопотребление требует применения мощных схем питания;
• требуется более мощная система охлаждения;
• количество оптимизированного под многоядерность программного обеспечения ничтожно мало (большинство программ рассчитаны на работу в классическом одноядерном режиме, поэтому они просто не могут задействовать вычислительную мощь дополнительных ядер);
• операционные системы, поддерживающие многоядерные процессоры (например, Windows XP SP2 и выше) используют вычислительные ресурсы дополнительных ядер для собственных системных нужд;
Следует признать, что в настоящее время многоядерные процессоры используются крайне неэффективно. Кроме того, на практике n-ядерные процессоры не производят вычисления в n раз быстрее одноядерных: хотя прирост быстродействия и оказывается значительным, но при этом он во многом зависит от типа приложения. У программ, которые не рассчитаны на работу с многоядерными процессорами, быстродействие увеличивается всего на 5%. А вот оптимизированные под многоядерные процессоры программы работают быстрее уже на 50%.
Технологии многопоточности процессоров: принцип работы и сферы применения
Содержание
Содержание
Физические ядра, логические ядра, технологии многопоточности — все это разрабатывалось инженерами для увеличения производительности компьютерного железа, требования к которому постоянно растут. Программы и игры требуют все больше ресурсов. Как же производители процессоров увеличивают мощность своих детищ? Процессор является «сердцем» компьютера и выполняет вычисления, необходимые для работы софта. Модели CPU отличаются между собой даже в рамках одного семейства. Например, Intel Core i7 отличается от i5 технологией многопоточности под названием «Hyper-Threading», о которой далее пойдет речь (Core i3, i9, и некоторые Pentium также обладают данной технологией).
Принцип работы процессорных ядер и многопоточности
В современных операционных системах одновременно работает множество процессов.
Нагрузка от операционной системы на процессор идет по так называемому конвейеру, на который «выкладываются» нужные задачи для ядра. В качестве примера возьмем одно ядро процессора на частоте 4 ГГц с одним ALU (арифметико-логическое устройство) и одним FPU (математический сопроцеесор). Частота в 4 ГГц означает, что ядро исполняет 4 миллиарда тактов в секунду. К ядру по конвейеру поступают задачи, требующие исполнительной мощности, на которые тратится процессорное время.
Часто происходят случаи, когда для выполнения необходимой операции процессору приходится ждать данные из кеша более низкой скорости (L3 кеш), или же оперативной памяти. Данная ситуация называется кэш-промах. Это происходит, когда в кэше ядра не была найдена запрошенная информация и приходится обращаться к более медленной памяти. Также существуют и другие причины, заставляющие прерывать выполнение операции ядром, что негативно сказывается на производительности.
Данный конвейер можно представить, как настоящую сборочную линию на заводе — рабочий (ядро) выполняет работу, поступающую к нему на ленту. И если необходимо взять нужный инструмент, работник отходит, оставляя конвейер простаивать без работы. То есть, исполняемая задача прерывается. Инструментом, за которым пошел рабочий, в данном случае является информация из оперативной памяти или же L3 кэша. Поскольку L1 и L2 кэш намного быстрее, чем любая другая память в компьютере, работа с вычислениями теряет в скорости.
На конвейере с одним потоком не могут выполняться одновременно несколько процессов. Ядро постоянно прерывает выполнение одной операции для другой, более приоритетной. Если появятся две одинаково приоритетные задачи, одна из них обязательно будет остановлена, ведь ядро не сможет работать над ними одновременно. И чем больше поступает задач одновременно, тем больше прерываний происходит.
Способы увеличения производительности процессоров
Разгон
При увеличении частоты ядра повышается количество исполняемых операций за секунду. Казалось бы, с возрастанием производительности процессора проблемы должны исчезнуть. Но все не так просто, как хотелось бы думать. Прирост от увеличения частоты ЦП нелинейный. Множество процессов все еще делят одно ядро между собой и обращаются к памяти. Кроме того, не решается проблема с кэш-промахами и прерываниями операций, поскольку объем кэша от разгона не изменяется. Разгон — не самый лучший способ решения проблемы нехватки потоков. В пример можно привести всю ту же сборочную линию: рабочий увеличивает темп работы, но по-прежнему не умеет собирать два и более заказа одновременно.
Увеличение количества потоков на ядро
В процессорах Intel данная технология носит название Hyper-Threading, а в процессорах от Amd — SMT. Производители добавляют еще один регистр для работы со вторым конвейером. Пока один поток простаивает, ожидая нужные данные, свободная вычислительная мощность может быть использована вторым потоком. На кристалл же добавлен еще один контроллер прерываний и набор регистров.
Появляется возможность избавиться от последствий прерывания операций и сокращения времени простоя процессорной мощности. Благодаря чему ядро с двумя потоками выполняет больше работы за одинаковый отрезок времени, нежели в случае с однопотоком. На примере с рабочим: у конвейера появляется вторая сборочная линия, на которую выкладываются заказы. Пока производство на первой ленте простаивает в ожидании нужных инструментов, рабочий приступает к работе на второй ленте, сокращая время перерыва.
Стоит учитывать, что логический поток это не второе ядро, как может показаться с первого взгляда. Это лишь дополнительная «линия производства», чтобы более эффективно использовать доступную мощность. Из минусов технологии Hyper-Threading или SMT можно выделить увеличение тепловыделения, недостаток кэша (кэш на два потока по-прежнему общий), и проблемы с оптимизацией некоторых программ или игр, не способных отличать настоящее ядро от логического потока.
Именно по этой причине процессоры серии i7 «горячее» и имеют больше кэша по сравнению с i5. Использование технологии многопоточности может принести примерно до 30 % прироста производительности. Все это применимо как к Intel Hyper-Threading, так и к AMD SMT, поскольку технологии во многом схожи. Может возникнуть вопрос: «Если можно добавить второй поток, то почему бы не добавить третий и четвертый?» Это реализуемо, но не имеет смысла, поскольку кэш одного ядра достаточно мал для большего количества потоков и прироста производительности практически не будет.
Увеличение количества ядер
Это самый действенный способ решения проблемы, поскольку каждый конвейер теперь располагает своим FPU, ALU и кэшем, который не придется делить с другим потоком. Разные процессы используют разные ядра, из-за чего реже происходят кэш-промахи и конфликты приоритетных задач. Способ, разумеется, несет в себе некоторые издержки для производителей: дороговизна разработки и производства, увеличение тепловыделения и размера кристалла, и, как результат, повышается итоговая стоимость процессора.
Сферы применения многопоточных процессоров
С развитием компьютерных технологий перечень программ, использующих многопоточность, неуклонно растет. Это дает огромный простор разработчикам для создания нового софта и игр. Например, сейчас каждый современный triple-A проект оптимизирован для многопоточных процессоров, что позволяет наслаждаться игрой, получая высокий уровень fps на многоядерном CPU.
Еще больше распространены многоядерные системы в среде разработчиков. Программы для 3D-моделирования, монтажа видео и создания музыки требуют параллельного выполнения большого количества задач, с чем хорошо справляются системы с Hyper-Threading или SMT. В операционных системах мощность одного потока может тратиться на фоновые задачи (Skype, браузер, мессенджер), в то время как остальные задействуются для тяжелой игры или программы.
Но далеко не всегда увеличение количества потоков означает увеличение общей производительности. Почему же SMT процессоры порой уступают немногопоточным собратьям? Дело в программной поддержке. Иногда плохо оптимизированные программы не могут отличать логический поток от настоящего ядра, из-за чего на одно ядро может попасть две тяжелых задачи и замедлить работу. Тем не менее, подобные технологии имеют огромный потенциал, главное — грамотно реализовать его на программном уровне.
Выясняем, нужно ли много ядер процессора для типовых задач анализа данных на примере Ryzen
Проблема масштабируемости производительности.
реклама
В последние дни 2020го я приобрел процессор AMD Ryzen 5950x, в результате чего у меня на руках оказались свободные threadripper 2990wx, ryzen 3900x, 5950x, плюс, так как очень хотелось включить старшие процессоры zen2 в эту статью я попросил прогнать свой код товарища, обладающего 3960x.
Можно ли положиться на рендер бенчмарки?
Можно ли купить процессор, рассчитывая на его эффективный параллелизм в анализе данных, полагаясь на цифры, доступные из популярных бенчмарков, типа Cinebench или Blender? Рендеринг очень хорошо параллелится хоть на уровне пикселей, хоть на уровне объектов и при прямых руках создателей рендер-движков производительность растет линейно в зависимости от количества ядер процессора. Но это не значит что для ваших прикладных задач все будет так гладко, и что условный Ryzen 5800х не окажется на равных с вашим 5950х, как бы вы не старались с оптимизацией кода. У вас могут возникнуть проблемы, описанные ниже, и не влияющие на эффективность рендеринга в Cinebench.
Разные уровни многопоточности
реклама
Предположим, вы заменили 4х-ядерный процессор на 12-ядерный в вашей системе, и ожидаете, что ваш код будет теперь исполняться в 3 раза быстрее. Для этого нужно чтобы все звезды сошлись, а именно:
Если на всех этих уровнях все идеально, то, заменив, скажем, Ryzen 3100x на 3900x мы бы получили 3-кратный прирост производительности. К сожалению, в реальном мире это не так, и прирост в большинстве прикладных вычислительных задач будет ниже линейного. В этом вы можете убедиться ниже, в разделе Тесты.
Факторы влияющие на масштабирование производительности
Что является основными препятствиями к заветному линейному увеличению производительности? Основными факторами являются следующие:
реклама
Тесты для Zen+, Zen2 и Zen3
Давайте посмотрим, как хорошо плохо масштабируются различные типовые задачи анализа данных для разных поколений Zen.
Zen2 Представлена двумя бойцами: 12-ядерный Ryzen 3900х и Ryzen 24-ядерный 3960x
реклама
Zen3 представляет Ryzen 5950x
Какие задачи будут использоваться в тестировании:
Выводы
Могу сказать следующее:
Зачем нужен многоядерный процессор.
В современных ОС существуют понятия процесса, потока или нити (thread), а также планировщика задач.
На каждый процесс приходится минимум 1 поток.
Схема переключения потоков, называемая «карусель».
И чем больше потоков, тем больше времени уходит на их переключение.
Так зачем же были нужны потоки до появления многоядерных процессоров?
Все просто. Многие программы выполняют несколько задач асинхронно. Даже когда вы просто листаете эту страничку в браузере, ему нужно рендерить ее, при этом не забывая своевременно обрабатывать то, что вы вводите, выполнять скрипты на странице и прочее прочее.
Казалось бы, несколько ядер должны были просто очень увеличить производительность компьютера.
Но на практике все не так хорошо. Потоки в не адаптированной для многоядерных машин программе выполняют разные задачи, с разной скоростью, и зачастую зависят друг от друга.
Вот и выходит, что горшочек не варит, а ядра простаивают.
Каким критериям должна отвечать программа, способная эффективно выполняться на многоядерной машине? Ее потоки не должны зависеть друг от друга, и иметь приблизительно одинаковую вычислительную сложность. Есть задачи, которые сравнительно легко поддаются такому препарированию, например, обработка изображений, видео, архивирование, рендеринг. С определенным оговорками, конечно. А есть и такие, с которыми приходится сильно попотеть, прежде всего это любимые многими компьютерные игры. Разработчику приходится практически с самого момента написания движка серьезно думать над его архитектурой, чтобы несколько не зависящих друг от друга потоков рисовали слаженную картинку. Не у всех выходит.
Теперь поговорим о компоновках и технологиях многоядерных CPU на десктопах. Благо, есть о чем.
Классические многоядерные процессоры появились в домашних компьютерах в 2005 году.
Революционная технология от Intel, и те самые виртуальные ядра, которые все так хотят видеть в своем компьютере. На самом деле, люди часто сами вводят себя в заблуждение, считая, что двухядерный процессор будет работать как четырехядерный. На самом деле вся соль заключается в том, что каждое ядро имеет удвоенный набор регистров, два контроллера прерываний и может хранить два контекста потока одновременно. Тем самым экономится время планировщика на переключение потоков, и блоки процессора загружаются более равномерно, что иногда дает неплохое ускорение. Однако, если программа спроектирована так, что способна гибко адаптироваться к количеству ядер, вполне возможно, HT только навредит, увеличивая накладные расходы. Хотя его всегда можно отключить. Полезная штука, если вы знаете, за что переплачиваете.
Модульная архитектура AMD.
Многие ошибочно полагают, что это аналог HT от Intel, и что AMD льет нам в уши про 8 ядер в своих процессорах FX. Некоторых даже бывает крайне сложно переубедить.
На самом деле, это принципиально иная технология, впрочем, не снискавшая особой популярности. Посмотрим на блок-схему модуля:
Что здесь можно заметить? Да, на нем два целочисленных кластера, 4 блока декодирования, один FPU, общий кеш L2. Он действительно может выполнять два потока одновременно, но будет стопориться на операциях с плавающей точкой. Впрочем, немногие помнят, что когда-то FPU был отдельной микросхемой и не входил в состав CPU. Технология была довольно интересной для серверов, но на десктопах АМД подвела плохая оптимизация софта и слабый FPU, и, вероятно, они откажутся от нее в будущем поколении процессоров. Но это уже совсем другая история.
Вы прослушали краткий курс лекций по компьютерной грамотности.
Не люблю грубить, но не перевариваю когда некомпетентные люди выдают свою половину знаний за правду.
Эта статья прекрасна с первых строк- «У многоядерных процессоров есть как свои сторонники, так и противники».
Многоядерность давно уже у никого не вызывает вопросов в классе десктопных и серверных процессоров. Это основное направление, обеспечивающее максимальную производительность. Про его необходимость можно погоаорить для процессоров «реального» времени, ни это абсолютно отдельная тема.
А если уж что то то помнить, то явно не FPU, а отдельные математические сопроцессоры на платах.
А есть прикольные визуализации работы многоядерников с HT? С дельтами и переключениями контекста. Ябпосмотрел.
Какойто слишком краткий курс, только во вкус вошёл (((
Расскажи про процессоры Xeon последних поколений.
Почему будет стопориться на операциях с плавающей точкой?
Что-то такое слышал про нынешние АМД.
Увы, их подвела упоротость самоуверенность. Нынешние игро и софто писатели пишут в первую очередь под Интел, а поддержку процев АМД прикручивают по остаточному принципу. А то и вовсе никакой оптимизации под них не делают.
АМД же по видимому считали, что они будут удостаиваться внимания наравне с Интел 🙂
Будем надеяться, что грядущее поколение «Zen» поддаст жарку))
ЗЫ: У самого Интел, если что.
Ответ VsmPrvt в «Камушек»
А помните анекдот про айтишника, который размотал накрутившийся на стул провод и запнул поглубже системник?
Так вот, на работе подобное было.
История 1.
Принтеры у нас обслуживает сторонняя фирма. То есть, если возникают проблемы, составляется заявка с описанием, и приезжает специальный человек чинить это всё.
Проблемы: принтер стал криво захватывать листы при печати и зажевывать их же при сканировании.
Решение: пришёл мужик, отрегулировал «ушки» в лотке с бумагой, вытащил из сканирующей части скрепку, посмотрел на нас как на идиотов и ушёл.
История 2.
У удаленно работающего сотрудника неожиданно вырубился комп. Как умные, подошли к рабочему месту, потыкали во все части компа, проверили работоспособность бесперебойника и монитора, попытались перезагрузить «мертвый» ноутбук, к монитору подключенный, проверили, не отходят ли где провода, бессильно вызвали айтишника.
Пришедший айтишник подержал кнопку перезапуска ноутбука на несколько секунд дольше, чем это делали мы. Ноут заработал, монитор ожил, айтишник с грустным лицом молча ушёл.
История 3 (на десерт, не связана с компами).
В кабинете вешали на стену картину. Случайно пробили насквозь трубу с горячей водой. 2 раза.
ID десять Т
93-летний SSD рекордсмен
В январе этого года обратился ко мне человек с просьбой бюджетно ускорить его рабочий ПК. Менять проц, наращивать память не захотел, но замена накопителя стояла остро, ибо жесткий диск, отработав десят лет, начинал сбоить чаще.
Поставил ssd Patriot BURST TLC 2D NAND на 240 Гб.
У самого такой год работает без нареканий.
Сегодня звонит мне человек, просит заскочить в гости и глянуть, т.к. после аварийной перезагрузки пропало всё с рабочего стола.
Комп начал грузиться со старого винта, где стояла ХРюшка. А ссд в Управлении дисками числится, как неразмеченный, не инициализированный и вообще. Даже создать том не разрешает. Да и в списке дисков начал называться как SATAFIRM вместо PATRIOT.
MiniTool, Paragon, Acronis и сотоварищи виснут через несколько секунд после запуска любой операции по восстановлению данных или разделов. А родная утилита вообще ссд не замечает.
За 9 месяцев работы наработать более 93 лет и включаться по 1400 раз в сутки.
P.S. если не в том сообществе, то подскажите нужное
Китай объявил о создании квантового компьютера в 10 миллионов раз более быстрого, чем у Google
В Китае достигнут существенный прогресс в технологиях сверхпроводящих и фотонных квантовых вычислений. Такое достижение делает Китай единственной страной, достигшей вычислительных «квантовых преимуществ» по двум основным техническим направлениям. На сегодня ученые из США достигли только «квантового преимущества» в сверхпроводящих квантовых вычислениях.
Созданная в Университете науки и технологий Китая (USTC) квантовая система, по заявлению ученых, «…в 10 миллионов раз быстрее, чем самый быстрый суперкомпьютер, а его вычислительная сложность более чем в 1 миллион раз выше, чем у процессора Sycamore от Google».
Китайская пресса сообщает о создании группой ученых во главе со специалистом по квантовой физике Пан Цзяньвэем 66-ти кубитной программируемой сверхпроводящей системы квантовых вычислений. Разработанная система получила название Zuchongzhi 2.1, в честь известного китайского математика и астронома V века.
Достижение «квантового превосходства» в двух технологических направлениях прокомментировал директор Института квантовой науки и технологии при Университете Калгари Барри Сандерс, утверждающий, что получение «квантового преимущества» по двум направлениям позволит перевести экспериментальные квантовые вычисления на еще более высокий уровень, который недостижим для классических компьютеров. Таким образом, китайская разработка подтверждает вступление человечества в эпоху «квантового превосходства», считает ученый.
Тем не менее само понятие «квантовое превосходство» является всего лишь научной концепцией, которая гласит, что квантовый компьютер может делать что-то в некоторых областях, выходящих за рамки возможностей неквантовых или классических компьютеров, но он никогда не заменит классические компьютеры. Такое определение «квантовому превосходству» дал ученый Юань Ланьфэн из USTC.
Выполняемые квантовыми компьютерами алгоритмы на сегодня являются искусственно созданными учеными задачами, не имеющими практического применения. При этом математики специально усложняют алгоритмы, создавая математические задачи, на решение которых у самых мощных классических суперкомпьютеров будут уходить абсурдные десятки триллионов лет.
Разработчики суперкомпьютеров из IBM уже один раз опровергли «квантовое преимущество», достигнутое Google и NASA. Тогда в Google объявили, что создали компьютер, способный за минуты справиться с задачей, решение которой при помощи суперкомпьютера займет до 10 тысяч лет. Специалисты IBM, в свою очередь, заявили, что при идеальном моделировании алгоритма классическая система способна разрешить задачу всего за 2,5 дня с точностью более высокой, чем квантовый компьютер Google.
Таким образом, использование искусственно внедряемого термина «квантовое превосходство» пока не позволяет реально оценить превосходство полученных квантовых вычислений над решением задач с помощью классических компьютеров. Тем не менее, если абстрагироваться от понятия «квантовое превосходство», очередное достижение китайских ученых становится крупным научным прорывом в квантовых вычислениях.
Сисадмин Коля
Наш сисадмин Коля на корпоративах достигал такого уровня просветления, что совершенно точно мог объяснить, чем роутер отличается от маршрутизатора и с лёгкостью переводил числа из двоичной системы в бинарную.
Это я еще не запустил компиляцию
К сорокалетнему юбилею IBM PC. Предыстория. Продолжение
В прошлый раз мы остановились в 1977 году, когда на рынок вышла «1977 Trinity» в лице сразу трех персональных компьютеров — Apple II, Commodore PET и Tandy TRS-80. Поле было примерно поделено: Яблоку досталась домашняя бухгалтерия и школьные классы, Tandy просто был самым популярным компьютером на рынке (аж до 1982 года), а PET, хоть сам по себе и не стал прорывом, тоже использовался в школах, а в дальнейшем позволил Commodore в дальнейшем выпустить легендарный Commodore 64 – самый популярный компьютер в истории человечества, согласно Книге рекордов Гиннесса.
Для более серьезных задач предназначались Международные Бизнес Машины моделей 5100 и 5110.
Помимо грандов, на рынок вышли буквально десятки производителей компьютеров, и каждый из них пытался занять свое место под солнцем. И ничего, что половина из них была самоделками, слепленными на коленке в гараже. Той же Apple это не помешало выйти в лидеры рынка.
Таким образом, к 1980 году сложился полноценный рынок персональных компьютеров, каждый из которых занял свою нишу.
Более того, сложилась полноценная экосистема для этих машин.
В качестве языка программирования для большинства выступал BASIC. Многие машины имели Бейсик, уже встроенный в память. Дело в том, что в те далекие годы вы не могли просто пойти и [скачать хаха!] купить нужную вам программу. Их было слишком мало, и вам скорее всего понадобилось бы её _написать_. Относительно простой бейсик подходил для этого как нельзя лучше.
Гораздо реже встречалась такая штука, как операционная система. Да-да, в те времена вы покупали просто железку и кодили на ней! Всё! ОС была нужна в крайне редких случаях. Более того, в вашем компьютере было примерно 4-8 КИЛОбайт (да! Не гигабайт, не мегабайт!) оперативной памяти. Даже если ОС и была, работала она в «реальном режиме». То есть сначала вы запускали ОС, а когда из-под ОС вы запускали какую-либо программу – она закрывалась и открывалась, собственно, прога. Всё, ни о какой многозадачности и речи не шло.
Основной операционкой для большинства компов с 1974 года стала CP/M компании Intergalactic Digital Research и её создателя и владельца Гэри Килдалла. Гэри был талантливым программистом, и его операционка захватила практически весь доступный рынок персональных компьютеров. CP/M стояла как на компьютерах «большой тройки» 1977 года, так и на всякой мелочи. И только IBM не устанавливал её, так как его «бизнес машины», по представлениям компании, всё ещё были привязаны к «большим» компьютерам и их языку программирования APL, несмотря на наличие Бейсика. Однако, это был колоссальный успех, к 1980 году было продано 250 тысяч копий CP/M для более чем 3000 различных ПК! Фактически, Digital Research стала монополистом рынка операционных систем для персональных компьютеров своего времени.
Гэри смотрит на тебя как-то недовольно, свирепо и в то же время грустно и с недоумением.
Разумеется, весь софт не мог бы существовать без «харда», и с этим к концу 70-х тоже всё было хорошо. Четыре популярнейших процессора на двух основных архитектурах завоевали практически весь рынок «персоналок».
CP/M неспроста требовала Intel. Гэри Килдалл именно в Intel прокачал свой навык программиста, разработав собственный язык программирования PL/M, Programming Language for Microcomputers. Именно на нем он написал свою ОС Control Programs for Microcomputers – CP/M.
Intel Intellec 4/40. Выглядит, как Альтаир, но не Альтаир.
Цифры означают, что данная версия работает на четырехбитном процессоре Intel 4040. Были ещё варианты как на более простом Intel 4004, так и на новинке — Intel 8008, а затем на Intel 8080.
Именно Килдалл, увидев возможности нового процессора 8008, предложил включить в состав Intel Intellec не только монитор, клавиатуру и считыватель перфолент, но и дисковод гибких магнитных дисков от Shugart, ныне известный всем как Seagate.
Да-да именно ему нужно сказать спасибо, за то, что вы не перематываете кассету для вашего нового Core i-9))) По некоторым слухам, именно он ввёл в обиход выражение флоппи-дисковод для обозначения накопителя на гибких магнитных дисках)
На самом деле, это был прорыв, так как до этого дискеты стоили космических денег и применялись только на мейнфреймах и мини-компьютерах. Имплементация в персональные компьютеры позволила кратно увеличить продажи и, соответственно, снизить цену до приемлемого уровня. Например, в 1976 году пятидюймовый дисковод стоил 390 долларов, а десяток дискет для него – 45$. Впрочем, для домашнего пользования он все равно стоил дорого, и поэтому, например, вся «большая тройка 1977» обходилась кассетами. Тот же Tandy TRS-80 на старте продаж стоил 399$, прям как один дисковод.
В 1976, Shugart Associates представила дискеты формата 5¼ дюйма. К 1978 году флоппики производили уже более 10 разных компаний. И это стало проблемой, так как диск, записанный на дисководе одной фирмы, невозможно было прочитать на дисководе другой. Это сделало компьютеры разных фирм в своём роде «проприетарными», примерно как нынешние игровые консоли.
Восьмидюймовый дисковод с дискетой и 3,5 дискета для сравнения.
Не всем нравилась такая ситуация. Тем более, что уже в середине 70-х индустрия разработала и внедрила системные шины, позволявшие расширять и изменять состав компьютера.
Microsoft SoftCard, она же Z-80 SoftCard. Практически полноценный компьютер с процессором Z-80 внутри.
Такая плата расширения была нужна для того, чтобы запускать на Эппл ту самую CP/M, для которой требовался процессор Motorola 6800. Дело в том, что Apple II работал на процессоре MOS Technology 6502. Данный проц был переработанной версией Motorola 6800, но конструктивно они были несовместимы.
А создал MOS Technology 6502 Чак Педдл.
И именно ему всё человечество должно сказать спасибо за то, что он сделал возможным появление по-настоящему домашних компьютеров.
Чак работал в Мотороле и разрабатывал её первый восьмибитный процессор – тот самый Motorola 6800. Однако он выдвинул предложение, что рынку требуется микропроцессор с гораздо более низкой стоимостью. В это время цена Моторолы предполагалась в районе 300$ (ещё раз напомню, что вышедший через три года Tandy стоил всего 399$).
Это был натуральный демпинг! Процессорные гиганты, не только Моторола, но и Intel, были вынуждены значительно снизить цены на свою продукцию, а также подыскивать иные способы борьбы, в том числе выпуск упрощенных версий своих процессоров. Это ещё аукнется IBM PC, вот увидите.
MOS Technology 6502, естественно, стал популярен, став не только процессором для компов и консолей, но и для всяких встраиваемых вещей. Удивительно, что буквально сейчас, в августе 2021 года, вы можете пойти и купить немного переработанные версии — 65C02S и 65C816S, а также микроконтроллеры на их основе. А прошло 46 лет! Это – абсолютный рекорд продолжительности выпуска процессоров.
Его концепция очень похожа на концепцию Педдла: берём хороший современный процессор и уменьшаем его себестоимость. В данном случае исходником выступил Intel 8080, а застрельщиком идеи — Федерико Фаджин. Он, а также Ральф Уингерманн и Масатоси Сима (разработчик того самого, первого в истории микропроцессора Intel 4004) – все были выходцами из Intel, но хотели разработать что-то своё.
Федерико Фаджин и Ральф Уингерманн
Итоговый результат был прекрасен — Z80 имел ряд улучшений по сравнению с 8080, но при этом полностью бинарно совместим с ним. Это позволяло запускать операционку CP/M без каких-либо ухищрений.
В итоге Zilog Z80 был быстрее, производительней и… дешевле Intel 8080! Потрясающий успех.
Зилог стоил всего 200 долларов. Не так дешево, как MOS (и им тоже пришлось опустить цену), но почти в два раза дешевле, чем Intel 8080 за 360 долларов. Удивительно, но есть даже конспирологическая версия, что Интеловцы поспособствовали созданию Зилога для того, чтобы прямо не конкурировать с MOS Technology 6502.
Но, откровенно говоря, Интел отнюдь не стояли на месте, и вслед за мегауспешным Intel 8080 начали разрабатывать процессор уже следующего уровня — шестнадцатибитный Intel 8086.
И это уже была совсем другая История.
Сегодня знаменательная дата: ровно сорок лет исполняется с момента появления IBM Personal Computer, он же IBM 5150, он же IBM PC.
Именно эта машина – прародитель почти каждого компьютера, с которого вы читаете эти строки. История его многократно описана умными людьми, поэтому я сегодня всего лишь напомню самое интересное.
Прежде чем понять, что такого особенного было в этом компьютере, почему он достиг таких высот и вытеснил все остальные, нужно посмотреть на бэкграунд всей истории, и на «соседей по палате» данной машинки в таком далеком и таком близком 1981 году.
Во-первых, любопытно, что IBM PC был ни самым первым компьютером (это понятно), ни самым первым персональным компьютером.
Первым фактически, но не формально, компьютером, к которому вполне можно применить понятие «персональный», был Datapoint 2200, появившийся аж за 11 лет до указанных событий – в июне 1970 года.
Компания Computer Terminal Corporation, впоследствии переименованная в Datapoint, никогда не использовала термин «компьютер» для его описания. «Компьютером» в те годы могла быть только агромадная бандура размером с квартиру, ну или, как минимум, с холодильник – такие назывались «мини-компьютеры». Поэтому для обозначения своего изделия компания использовала название «Glass teletype», то бишь электронный телетайп – в отличие от обычных телетайпов, куда загружалась физически бумажная программа на обычных перфокартах. (Что такое перфокарты, предлагаю погуглить ньюфагам самостоятельно – узнаете много интересного =)
Телетайп, или терминал – это такая штука, с помощью которой программы и информация вносится в память компьютера, а потом считывается результат. Так вот, раньше требовалось скрупулезно вбить все данные на самой обычной печатной машинке, соединенной с большим компьютером – это был электромеханический терминал. В случае малейшей ошибки приходилось вбивать все заново. Поэтому изделие Datapoint было встречено с овациями – теперь время работы на таком терминале сократилось в разы.
Но главное отличие этой машинки от остальных современников с клавиатурой и экраном было в том, что он мог быть не обычным терминалом для огромной махины компьютера, подключенным через кабель, а стоять на рабочем месте простого работника и использоваться самостоятельно.
Впрочем, до полноценного персонального компьютера ему было далеко, и даже операционная система как таковая отсутствовала. Однако и того, что есть, было достаточно для прорыва. И вообще, эта машина ещё ждёт своей отдельной статьи.
Примерно в то же время, но уже в Канаде, профессор математики Мерс Кутт (Катт? По-английски Mers Kutt) пришёл к тем же мыслям – что вводить информацию в компьютер с помощью электронного терминала будет удобней, чем перфокартами.
Но он пошёл дальше – он решил сделать свой терминал настолько компактным и удобным, насколько возможно.
По итогам его разработок появилась такая машина, как MCM/70.
Вы скажете: да это ж калькулятор какой-то, и будете почти правы. Даже сам создатель хотел, чтобы его творение выглядело как калькулятор (для первого прототипа использовали именно корпус какого-то калькулятора).
Но внутри это была полноценная рабочая машина, и в первую очередь – за счет недавно появившегося языка программирования APL. В этом было его главное отличие от Datapoint.
К тому же комп целиком весил всего 9 килограмм (ага, всего), и, таким образом, был первым в истории портативным переносным компьютером.
Прототип был создан в 1971 году, а широкой публике он был представлен 11 ноября 1972 года.
И буквально через месяц мегакорпорация Hewlett-Packard представила публике своё видение похожей машины: HP-9830A.
При этом создатели всё ещё стеснялись называть корову коровой, и обозвали его «калькулятором».
Сам Билл Хьюлетт по этому поводу говорил: «Если бы мы назвали его компьютером, наши клиенты – компьютерные отвергли бы его, потому что он не был похож на IBM. Поэтому мы решили назвать его калькулятором, чтобы вся эта чепуха не мешала».
В то же время, собственный журнал компании «Hewlett-Packard Journal» писал: «The BASIC-Language Model 30 can be Calculator, Computer, or Terminal». То бишь по вашему желанию машинка может быть и калькулятором, и компьютером, и простым терминалом.
Но самое главное – в нём был Бейсик!
Да, это фактически была первая машина, за которой один человек мог персонально что-нибудь напрограммировать себе в обычном бейсике, и после этого ему не требовалось бежать в комнату с мейнфреймом, чтобы получить результат.
Вот теперь начался бум подобных машин, появились Tektronix 4050, Wang 2200 и, наконец, веское слово попытался сказать «Голубой гигант».
Это был IBM 5100 Portable Computer.
«Первый блин» IBM получился вполне хорош.
Разработанный в Пало-Альто и представленный в сентябре 1975 года «переносной» компьютер IBM уже не боялся слова «компьютер» (ещё бы, это жи сама IBM! Ей можно).
Прототип под названием SCAMP был разработан ещё в 1973 году, и все это время доводился до хорошего состояния. Его создателем был Пол Фридл, а дизайнером – Том Харди (не тот Том Харди!).
Машина эмулировала обычный айбиэмовский компьютер IBM 1130 и работала с языком APL.
Весила бандура аж 25 килограмм, но при этом включала в себя монитор, клавиатуру, оперативную память, постоянную память, и кассетный магнитофон. В итоге, это был полноценный All-in-one компьютер, способный работать самостоятельно в любом месте – только подключите его к электричеству, так как аккумуляторов у него не было.
Естественно, комп сразу получил популярность у геологов, землемеров и инженеров, несмотря на заоблачную стоимость в 12000 долларов. На нынешние цены это примерно 100 000 долларов! За один персональный компьютер, напомню.
Поэтому «персональность» его была так себе. Однако какая-то умная голова в IBM решила включить в его состав и Бейсик – так, на всякий случай. Что случилось далее – позволю себе процитировать википедию:
«Хотя руководство по обслуживанию и не предназначено для обычных пользователей, оно описывает последовательность клавиш для переключения 5100 в режим обслуживания. В этом режиме можно было читать и записывать непосредственно в RAM-память, видеопамять, регистры CPU, векторы прерываний, счетчик часов и т.д., используя шестнадцатеричные коды, эквивалентные языку ассемблера. Это позволяло писать сложные программы прямо в ОЗУ. Поскольку этот режим представлял собой однопользовательскую систему, эффективно работающую без операционной системы, целеустремленный пользователь мог управлять пространством памяти и писать стабильные многозадачные программы с использованием прерываний.»
Таких целеустремленных пользователей было довольно много.
И для них уже была готова другая система – известнейший Altair 8800!
Творение Micro Instrumentation Telemetry Systems (MITS) и сейчас довольно известно среди людей, увлекающихся техникой. Ещё бы, начиная с 1975 года были проданы сотни тысяч этих компьютеров.
Именно популярность Altair 8800 дала возможность обычным людям приобщится к таинству программирования, и стала основой десятков стартапов и успешных компаний, включая Apple и Microsoft.
Именно популярность дешёвого Altair 8800 постучалась в головы крупнейших воротил рынка электроники, что людям нужен незамысловатый, но доступный девайс для повседневного применения.
Именно популярность простого Altair 8800 открыла дорогу производителям разнообразнейших клонов на его базе – от прямых копий, до серьезных модификаций, ставших самостоятельными линейками.
В 1977 году таких последователей вышло аж три. И это были первые абсолютно полноценные и полностью готовые к использованию персональные компьютеры.
Первым стал Apple II.
Дебютировавшее в июне 1977 года творение Стива Возняка перевернуло представление простого обывателя о том, каким должен быть компьютер, и должен ли он быть вообще у него в доме.
Впервые обычному человеку была доступна такая роскошь, как цветной экран, дисковод, и встроенный Бейсик, и это всё – за 1298 долларов (что примерно 5500 по нынешним временам).
Более того, для Apple было разработано ставшее невероятно популярным ПО – VisiCalc, одна из первых электронных таблиц.
Для американцев, рассчитывавших свои налоги самостоятельно (а чаще – с помощью особых специалистов по налогам), эта программа была настоящей отдушиной. С момента релиза в 1979 году она учетверила продажи Apple II и стала основой дальнейшего процветания компании.
Вторым крупным релизом 1977 года стал Tandy TRS-80.
Эта машина была попроще, но у неё было другое преимущество.
Tandy Corporation в то время была держателем крупнейшей сети электроники по всему США – магазинов Radio Shack. И они решили продавать TRS-80 в своих магазинах как обычный магнитофон или радио. И это сработало! Теперь простой американец, придя в самый обычный магазин у дома, мог просто взять и купить компьютер, не задумываясь, как куда и зачем он ему нужен. Компания продала десятки тысяч компьютеров, а десятки тысяч людей впервые познакомились с техникой, доселе доступной только каким-то так нердам из университета.
Примерно также поступила и Commodore со своим PET, выпущенном в декабре. И да, название компьютера так и читалось – «домашнее животное». Мило, правда?)
PET 2001 по сути был простым одноплатным компьютером, он даже не умел в графику, но всё необходимое у него было – экран, клавиатура и кассетная дека. Правда клавиатура была полным отстоем – резиновая и размером с нынешний смартфон, но зато у «питомца» был полнофункциональный бейсик, в отличии от урезанного у конкурентов.
Именно это позволило всем трём конкурентам достаточно долго доминировать на рынке теперь уже настоящих персональных компьютеров.
Термопаста на неделю
Хотелось бы рассказать про опыт использования термопасты grizzly
Друг попросил поменять термуху на ноутбуке, и купил это:
По изначальный тестам температура была ниже на 5-10 градусов (до этого менял на мх-4 или stg-2, уже не помню), а через пару месяцев принесли мне этот ноутбук с проблемой перегрева
«мишка» стал прозрачным.
Термопасту не рекомендую, реклама у неё по типу «это лучше жидкого метала» и тд, а на деле говно
P. S. термопрокладки заказал
Первым инвестором Google был преподаватель вуза. Теперь он миллиардер
Google мог бы не родиться без скромного стэнфордского профессора Дэвида Черитона. Он первым поверил в стартап Сергея Брина и Ларри Пейджа, и потому сейчас Черитон – один из богатейших людей мира. Вот как это было.
Таких, как Дэвид Черитон, называют «бизнес-ангелами» — это люди, напрямую инвестирующие в инновационные компании на самых ранних стадиях развития, в обмен получая долю в компании. Это очень рискованные вложения: финансирование предоставляется на длительный срок без каких-либо залогов и гарантий. Многие стартапы прогорают, неся «ангелам» безвозвратные потери.
Но тем немногим, которым среди множества проектов-пустышек удается найти жемчужину, получают сверхприбыли. Черитон как раз из таких — он годами успешно вкладывает в инновационные компании. А в 1998 году он сделал вложение, повторить которое мечтает каждый бизнес-ангел. Рассказываем, как Черитон дал первый капитал основателям Google.
Черитон родился в Ванкувере в семье двух инженеров. Отец Дэвида рассказывал, что тот рос независимым и самодостаточным мальчиком, которого не слишком увлекало общение со сверстниками. Дэвид даже отказался от учебы в школе в предпоследний год обучения, посчитав его «отсталым» — и родители не стали возражать.
Он хотел учиться игре на гитаре на музыкальныом факультете Университета Альберта, но не поступил. Зато потом у Черитона получилось попасть в Университет Британской Колумбии, где он изучал математику и стал бакалавром, а позднее — в Университет Ватерлоо, где получил степень магистра и доктора в области компьютерных наук.
В 1981 году Дэвид оказался в Стэнфордском университете, где познакомился с Энди Бехтольшаймом — впоследствии знаменитым инженером и основателем компании Sun Microsystems. Именно Черитон помогал ему в разработке ПО для мощного компьютера SUN Workstation.
Лучшая инвестиция Черитона (и наверное, одна из лучших в истории вообще) была сделана в 1998 году. Тогда к нему обратились студенты Стэнфордского университета Сергей Брин и Ларри Пейдж — они учились не у Дэвида, но все же попросили его помочь советом по монетизации алгоритмов своего проекта — поисковой системы Googol. И нет, это не ошибка — тогда она называлась именно так.
Причем Бехтольшайм допустил ошибку: выписал чек на компанию Google Incorporated, а не Googol. Юридически ее не существовало — чтобы обналичить чек, Брину и Пейджу пришлось регистрировать компанию под новым именем. Именно поэтому Google называется так.
Бехтольшайм же отмечал энергичность Брина и Пейджа и их подход, предполагающий эффективное использование инвестиций вместо траты их на раскрутку проекта. «Другие веб-сайты получали от инвесторов большие суммы и вкладывали их в рекламу. Здесь же мы видим противоположный подход. Можно создать качественный продукт, умело его представить, и люди сами начнут им пользоваться», — вспоминает Бехтольшайм в книге Уолтера Айзексона «Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию».
На радостях Сергей и Ларри отправились праздновать успех в Burger King. «Мы подумали, что должны вознаградить себя чем-нибудь по-настоящему вкусным, хотя знали, что это нездоровая еда. К тому же она стоила недорого, так что мы сочли это сочетание качеств подходящим для того, чтобы отметить первые полученные на наш проект деньги», — приводятся слова Пейджа в книге Джанет Лоу «Google. Прошлое, настоящее и будущее».
Он отказался от покупки больших поместий и уже более 30 лет живет в маленьком доме в Пало-Альто. Нет у него и дорогих машин — он передвигается на старом микроавтобусе Volkswagen Vanagon 1986 года. Летает обычными рейсами, стрижется самостоятельно и даже чайные пакетики заваривает несколько раз. «Люди, у которых 13 ванн и все такое — с ними что-то не так», — говорил Дэвид Edmonton Journal.