Сегодня ни для кого не секрет, что последние 40 лет развитие вычислительной техники шло за счет совершенствования технологии производства интегральных микросхем.
В общем случае тех процессы производства микросхем именуются по схеме xxx YYY. Где xxx - обозначало некую цифру, а YYY- еденицу измерения длины МкМ или Нм. В разное время цифры означали:
- техническое разрешение литографического оборудования:
- длину затвора транзистора;
- полушаг линий металла;
- ширину линий металла.
После разработки техпроцесса 350 Нм цифры по прежнему обозначали какой-либо размер какого либо элемента микросхемы, но критерием перехода к новому названию техпроцесса стало удвоение плотности транзисторов на кристалле.
После разработки техпроцесса 7 Нм критерием создания нового техпроцесса стало сравнение с предыдущим уровнем технологии достигнутым ведущими производителями микросхем:
- снижение на 30% энергопотребления ;
- увеличение плотности размещения транзисторов на 30%;
- повышение производительности процессоров на 10-30%.
По состоянию на 2023 год ведущие производители микросхем работают над тех процессом 1 Нм.
Так как в 1 Нм номещается уже менее 4 атомов кремния.
То на лицо общее понимание того, что такое направление минитюризации электронных компонентов практически себя исчерпало. Переход на техпроцесс 0.1 Нм уже требует решений на уровне атома. А это принципиально другие технологии.
Так, как структурой атома у нас в стране занимаются физики ядерщики, то как говорится им и карты в руки. Скорее всего по этому ведущим разработчиком квантового компьютера у нас в стране является МИФИ совсем не компьютерный ВУЗ настолько не совсем, что можно смело говорить ни разу не компьютерный ВУЗ.
Что же должны в конце концов сотворить физики ядерщики в этой области, чего уже сотворили и как оценить возможные результаты их работы?
В обще принятых программистких представлениях они должны создать математический сопроцессор, который будет взаимодействовать с более традиционным компьютером повышенной мощности - суперкомпьютером следующего поколения.
О возможных альтернативных путях повышения мощности суперкомпьютеров поговорим в следующей статье.
Тут же мы только определим, что из себя должен представлять математический сопроцессор на базе квантового компьютера, чтобы иметь хоть какую-то практическую ценность.
Очевидно, оптимально он должен представлять собой ЦП и 16- 64 кубитовых регистров, работающих на квантовых принципах. Замечу, что приставку "КУ" я оставил только потому, что эти хранилища информации должны взаимодействовать с квантовым ЦП, причем самым удобным для последнего способом. Во всех других смыслах это обычный бит т.е. ячейка информации которая хранит "0" или "1".
Конечно математический сопроцессор работающий на квантовых принципах может состоять и из ЦП и 8 - 16 кубитовых регистров, но практическая ценность такого устройства значительно ниже, хотя оно и может использоваться в экспериментах по подтверждению жизнеспособности самой идеи.
Чего уже добились физики ядерщики? Хотя и кажется, что элементарные частицы самим богом созданы для хранения двоичной информации, а сами квантовые взаимодействия позволяют реализовывать логические операции. До практической реализации квантовых компьютеров еще очень и очень далеко. Потому, что для хранения двоичной информации надо не только иметь возможность находиться в двух состояниях, но и менять это состояние по внешнему воздействию нужным способом и сохранять измененное состояние достаточное для вычисления время, кроме того для представления длинных чисел кубиты должны быть сцеплены с друг-другом группами по 64 кубитов в каждой или на худой конец по 16. Что пока не реализованно.
Кроме того выполнение логической операции над парой кубитов пускай даже совсем без временных затрат, не означает, что не потребуеися некоторое пусть и малое время для выполнения этой операции над 64 сцепленными кубитами. Да и выполнением логических операций все вычислительные возможности универсальных ЭВМ не ограничиваются. Значит потребуются какие-то микропрограммы из многих многих микрокоманд. А еще остается задача перезаписи содержимого кубитов в память традиционного компьютера и обратно по любому невозможная без временных затрат. Наверное и затраты времени на управление таким сопроцессором не стоит со счетов сбрасывать.
Остается добавить, что все усилия и затраты на создание квантового компьютера оправдают себя, только, если он увеличит производительность универсального компьютера минимум в 10 000 раз. Что в общем-то, если отбросить разное "Бла-Бла" никто из разработчиков не гарантирует.
Теперь самое время поговорить о производительности современных компьютеров. По большому счету это не менее загадочная вещь чем принципы работы квантового компьютера.
На первый взгляд казалось бы все очень просто более производительный компьютер выполняет программы более быстро. Берем одну и туже программу выполняем на другом компьютере. Тот из двух компьютеров кто выполнит ее быстрее и есть более производительный. Причем на столько насколько быстрее выполнил, настолько и производительней.
Однако не все так просто, компьютер победитель на самом деле должен выполнять быстрее не одну какую-нибудь программу, а абсолютно все. А их бесконечное множество и всех их проверить таким образом просто нельзя!
Кроме того для корректного сравнения каждая из этих программ должна быть написана на ассемблере, а сам ассемблер на машинах которые мы сравниваем должен быть идентичен.
Но при этом нельзя забывать о том, что каждая машиная команда имеет свое отличное от других команд время исполнения. А каждая программа содержит свое уникальное количество самых различных команд.
Таким образом все зависит от того какие команды содержит программа. Конечно можно написать программу, которая содержит большинство не самых долгих по времени исполнения команд. В этом случае производительность измеряют количеством машинных операций выполняемых в секунду, на современных компьютерах это число измеряют миллионами отсюда название этой единицы MIPS. Можно наооборот составить программу из самых медленных по времени исполнения команд. Такими командами на большинстве современных компьютеров являются команды выполняющие операции над числами с плавающей точкой. Отсюда это число, на современных компьютерах, измеряют в миллионах операций с плавающей точкой в секунду, а единицей измерения называется MFLOPS.
Однако, если про большинство программ исполняемых на ЭВМ можно сказать, что они совсем не используют команд с плавающей точкой, то говорить, что программы использующие операции с плаваящей точкой состоят только из команд обрабатывающих числа с плавующей точкой категорически нельзя. Для них можно утверждать только то, что они используют определенный процент команд с плавающей точкой.
Отсюда желание измерять производительность ЭВМ программами состоящими из смеси всех команд в различном процентном соотношении. Причем процентное соотношение выбирать исходя из области применения программы.
Вот только программисты при создании реальной программы думают о чем угодно ( точности и скорости исполнения заказанного алгоритма решения задачи, скорости исполнения самой программы, экономии оперативной памяти и т.д.) только не о соблюдении процентного соотношения различных команд в их программе.
Наконец если вспомнить, что все микрокоманды в микропрограммах современных компьютеров исполняются за один такт, то можно сравнивать скорость работы компьютеров по частоте их тактового генератора. Тот компьютер у кого тактовая частота выше при прочих равных условиях и работает быстрее. Вот только эти равные условия обеспечить всегда не просто.
Остается только сказать, что все методы измерения скорости традиционых компьютеров дают разные результаты. И сравнить производительность двух компьютеров можно только в тех случаях если они очень похожи по архитектуре или очень сильно отличаются по производительности. В любом случае такое сравнение очень не точно.
Что касается квантовых компьютеров то метод сравнения тактовых частот абсолютно не пригоден так, как неизвестно, как он будет управляться и будет ли там вообще тактовый генератор.
Что касается других перечисленных методов то они будут приводить к более не надежным результатам так, как универсальный компьютер с квантовым математическим сопроцессором и традиционный универсальный компьютер будут иметь разные системы команд.