В каком направлении развивается архитектура процессоров

Обновлено: 21.11.2024

Китай стремился стать самодостаточным в полупроводниковой промышленности и недавно объявил о своей собственной архитектуре набора инструкций. Что такое ISA, почему Китай хочет быть самодостаточным и что мы сейчас знаем о новой ISA?

Что такое ISA?

Архитектура набора инструкций, или ISA, описывает регистры, инструкции и модель памяти ЦП. Тем не менее, он не описывает физическую реализацию (то есть то, как чип реализует инструкции). Два процессора могут быть построены принципиально по-разному (например, Intel и AMD). Тем не менее, если оба используют одну и ту же ISA, они смогут одинаково выполнять код.

Несмотря на то, что ISA — это скорее концепция, чем что-либо физическое, она все же является интеллектуальной собственностью, и при разработке ЦП важно это учитывать. Например, архитектура x86 разработана Intel, и у них есть на это лицензионные права. Однако RISC-V имеет открытый исходный код, и любой, кто создает ЦП с нуля, может с радостью использовать этот набор инструкций.


Почему Китай движется к самообеспечению полупроводниками?

Большинство полупроводников производится на востоке (Тайвань, Южная Корея и Китай), и очень большая часть приходится на Китай. Однако, хотя Китай может нести ответственность за производство операционных усилителей, транзисторов и диодов, он не производит многих западных высокопроизводительных процессоров (если вообще производит). Вместо этого Китай полагается на импорт таких устройств, и это ставит Китай в невыгодное положение.

Нет никаких реальных причин, по которым Китай не может производить такие детали. У них есть полупроводниковые мощности для изготовления таких чипов и, конечно же, средства для этого. Два самых популярных набора инструкций в мире, x86 и ARM, являются проприетарными, и большинство операционных систем используют эти ISA. Если Китай попытается производить процессоры с такими ISA, об этом узнают почти сразу, и в результате негативная реакция со стороны других стран будет включать торговые эмбарго и санкции.

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

Loongson объявляет о разработке новой ISA

Осознавая потребность в собственном решении, которое позволило бы Китаю управлять собственным кораблем, компания Loongson недавно объявила о разработке новой ISA. Новый ISA под названием LoongArch считается полностью независимым от X86, ARM и RISC-V, что означает, что он не будет нарушать какие-либо патенты или существующую интеллектуальную собственность.

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

В настоящее время документы по архитектуре были выпущены только для нескольких человек, но известно, что набор инструкций включает 2500 инструкций с векторными инструкциями, виртуализацией и двоичной трансляцией. Кроме того, Loongson объявила, что ее первый процессор LoongArch, LS3C5000, будет включать 16 ядер, иметь тактовую частоту 2,5 ГГц, производиться с использованием 12-нанометрового техпроцесса и будет стремиться соответствовать производительности серверных процессоров Intel и AMD.

Несмотря на то, что разработка LoonArch действительно возвращает силы разработчиков обратно в Китай, у нее есть некоторые серьезные недостатки. Первая задача — разработка программных инструментов для новой архитектуры, поскольку в новой ISA вообще не будет инструментов.

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

Третья основная проблема заключается в том, что новая ISA не будет поддерживать широко используемые в настоящее время операционные системы, такие как Window и Linux.

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

Казалось бы, что Китай движется к нестандартной архитектуре ради того, чтобы иметь что-то «незападное», и в долгосрочной перспективе это, скорее всего, будет плохим решением.Если Китай серьезно настроен на создание собственных процессоров, RISC-V будет гораздо лучшим выбором для совместимости программного и аппаратного обеспечения.

Тогда и сейчас: от мэйнфреймов до микропроцессоров процессорные технологии значительно продвинулись вперед с момента первой публикации Electronic Design.

Что вы узнаете:

  • Радикальные изменения в развитии процессорных технологий за последние десятилетия.
  • Некоторые из ключевых игроков на заре мейнфреймов.
  • Появление микропроцессоров.
  • Уменьшение размеров современных микропроцессоров и потребность в мерах безопасности.

Процессор AMD построен на основе 5-нм транзисторной технологии, работающей на гигагерцовой частоте. Его энергопотребление составляет порядка пары сотен ватт по сравнению с ранними мэйнфреймами, которым требовалось много киловатт вместе с принудительным воздушным или даже водяным охлаждением. UNIVAC потреблял 125 кВт мощности и весил 13 тонн. Многочиповые серверы обычно имеют от гигабайт до терабайтов внешней памяти, не говоря уже о встроенных регистрах и многоуровневых системах кэширования.

Архитектуры процессоров и компьютеров только развивались. UNIVAC 1103A был первым компьютером с прерываниями. Входные данные часто представляли собой перфокарты, бумажную ленту или магнитную ленту, а выходные данные обычно включали стопки бумаги со 132 столбцами (бумага шириной 14 дюймов с 10 символами на дюйм плюс поля). Мигающие индикаторы состояния не были светодиодами, а ряды тумблеров были стандартными.

Мейнфреймы

Мейнфреймы обычно размещались в специальных помещениях, а фальшполы для прокладки кабелей и охлаждения были нормой на протяжении десятилетий. Знаменитая система International Business Machines (IBM) System/360 (S/360) появилась в 1964 году (рис. 2). S/360 заменил пять других семейств компьютеров IBM.

Набор символов EBCDIC был предпочтительным кодированием, а ASCII теперь стал общепринятым стандартом. Магнитная лента с девятью дорожками была повсеместно распространена, и в конце концов к ним добавился дисковод IBM 3340 "Winchester".

К IBM присоединилась BUNCH (Burroughs, UNIVAC, NCR, Control Data и Honeywell). У каждого была своя архитектура. Языки программирования, такие как FORTRAN и COBOL, объединены с ассемблером, что упрощает программирование процессоров.

Операционные системы обычно писались на ассемблере, но мейнфрейм Burroughs B5000 был запрограммирован на Алголе. Вариант Алгола Burroughs ESPOL (проблемно-ориентированный язык исполнительных систем) обеспечивал доступ к системе и использовался для написания основной управляющей программы (MCP). Для этих мейнфреймов не существовало ассемблера. Язык программирования C стал доступен и популярен гораздо позже. Термин MCP позже использовался как имя антагониста во франшизе фильма Tron.

Обычный миникомпьютер был 16-разрядным и весил около 50 фунтов. для этого не требовалось специально построенное помещение, хотя кондиционер помогал. Один из них можно было приобрести всего за 10 000 долларов. Они были построены с использованием легкодоступной технологии БИС. Логические микросхемы транзисторно-транзисторной логики (TTL) серии 7400 были популярным инструментом реализации. Эти чипы все еще доступны, но редко используются для реализации процессоров.

В старших классах школы я использовал двухпроцессорную версию миникомпьютера HP 2000 (рис. 4). Это была система с разделением времени, в которой могли размещаться десятки телетайпных терминалов с дополнительными блоками перфоленты и, в конечном итоге, дисплеи с электронно-лучевой трубкой (ЭЛТ). Междугородние соединения благодаря модемам на 300 и 1200 бод были нормой.

12-разрядная версия DEC PDP-8 была популярной платформой, а 16-разрядная PDP-11 в конечном итоге превратилась в набор микросхем LSI-11.

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

Intel 8080 был сердцем микрокомпьютера IMSAI 8080 (рис. 6), показанного в фильме WarGames и упомянутого в Первому игроку приготовиться. . Intel 8085 был частью с одним напряжением, 5 В, которую затмил Zilog Z80. Z80 был внутри Epson QX10 с 256 КБ ОЗУ, в котором работал многофункциональный офисный пакет VALDOCS, над которым я работал в Rising Star Industries.

Архитектура 8088/86 была разработана для упрощения перехода с 8080, но они не были совместимы ни с исходным кодом, ни с кодом. Это огромное отличие от совместимости с x86, которую мы знаем сегодня.

Текущие архитектуры

Упаковка также меняет способ сборки процессоров. Стекирование 2.5D и 3D широко используется для памяти и процессоров более высокого уровня. Существуют также решения на основе пластин, такие как решение от Cerebras Systems, которое задействует триллион транзисторов с упором на алгоритмы машинного обучения.

Сейчас у разработчиков есть выбор, радикально отличающийся от тех, что были несколько лет назад. Чипы многоядерных процессоров легко доступны от небольших микроконтроллеров до чипов, предназначенных для облачных серверов. Архитектуры процессоров включают x86, Arm, MIPS, RISC-V, SPARC и POWER. Из них x86 и Arm сейчас доминируют, а RISC-V находится на подъеме.

Доступ к огромному количеству транзисторов сделал возможными решения системы на кристалле (SoC) с множеством различных процессоров — разнообразие просто ошеломляет. Точно так же использование выделенных процессоров для функций от безопасности до управления сетью теперь стало обычным явлением.

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

Хотя я сосредоточился на основных архитектурах центральных процессоров (ЦП), мы не должны упускать из виду множество новых архитектур, таких как графические процессоры (ГП), ПЛИС и программируемые ускорители для таких задач, как машинное обучение. Графические процессоры общего назначения (GPGPU) и ЦП используют многочиповые каналы связи. Программирование на графическом процессоре выводит вычисления с одной инструкцией, несколькими данными (SIMD) и векторными вычислениями на новый уровень, и разработчики программного обеспечения теперь смешивают целевые платформы для достижения оптимальной производительности.

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

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

Появление и первоначальный успех процессора RISC-V ISA возродили интерес к разработке нестандартных процессоров, но сейчас отрасль пытается решить, как их проверить. Опыт и инструменты, которые когда-то были на рынке, были объединены в руках нескольких компаний, которые поставляли процессорные чипы или IP-ядра в течение последних 20 лет.

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

"На нем можно запускать любую программу", – говорит Пол Каннингем, корпоративный вице-президент и генеральный менеджер Cadence Design Systems. «Это одно из самых настраиваемых устройств глубокого состояния, которое только можно себе представить. На самом деле сказать, что я завершил проверку процессора, значит сказать, что вы запустили все возможные программы, которые могли работать на этом процессоре, чего вы, конечно же, никогда не сделаете. Это совершенно неразрешимо. Проверка процессора чрезвычайно сложна».

В эпоху, когда аппаратное обеспечение должно быть максимально гибким, разумно делать все возможное в программном обеспечении. «Одна компания обнаружила, что гораздо лучше создавать конечные автоматы в процессоре с использованием небольшого количества программного обеспечения, чем создавать конечные автоматы в Verilog», — говорит Саймон Дэвидманн, генеральный директор Imperas Software. «Если вы строите свои конечные автоматы в Verilog и что-то делаете не так, вам нужно заново раскрутить чип. Но если вы создадите небольшие контроллеры и запрограммируете конечные автоматы, вы сможете разобраться во всем позже, если возникнут проблемы».

Но это создает две проблемы. «В ходе недавнего проекта проверки процессоров было обнаружено, что в этот процесс необходимо вовлекать команду разработчиков программного обеспечения, — говорит Хагай Арбель, генеральный директор VTool. «Это создает целый ряд новых проблем, потому что они говорят на совершенно другом языке, как технически, так и мысленно».

Вторая проблема — проверка. «Процессор хорош ровно настолько, насколько он проверен», — говорит Дуэйн Прайор, главный технолог Mentor, Siemens Business. «Решения грубой силы для закрытия проверки невозможны. Мы видим, как это проявляется как в дорогом, так и в бюджетном сегментах рынка».

Независимо от того, основано ли ядро ​​процессора на RISC-V или уникальной архитектуре набора инструкций (ISA), тщательная проверка имеет решающее значение. «Пользователи больше не могут рассчитывать на десятилетия проверки кремния, которыми они наслаждались с устаревшими процессорами, — говорит Николае Тусински, эксперт по проверке проектов в OneSpin Solution. «Пользователи RISC-V не получают специального пропуска; опыт показал, что многие ядра с открытым исходным кодом слабо проверены и содержат много ошибок. Все разработчики процессоров должны тщательно проверять свои конструкции ядер, документировать процессы и достигнутый охват, а также предоставлять пользователям возможность использовать эту проверку для полных конструкций систем на кристалле (SoC), содержащих ядра».

Некоторые аспекты процессоров являются общими, независимо от масштаба проекта.«Проверку процессора можно в целом разделить на проверку управления и проверку пути данных», — говорит Даниэль Шостак, архитектор и сотрудник центральной инженерной группы в Arm. «Ни один из них не прост, и у обоих есть свои проблемы. При проверке управления основными проблемами являются количество взаимодействующих компонентов и обеспечение охвата всех крайних случаев, в то время как при проверке пути данных основная проблема заключается в разработке граничных случаев, чтобы их можно было должным образом охватить. Эти проблемы могут быть дополнительно усложнены микроархитектурными особенностями в отношении площади, производительности или мощности».

Проблема усугубляется в сфере открытого исходного кода, особенно когда речь идет о RISC-V. «С одной стороны, у вас есть функциональная проверка», — сказал Луи Де Луна, директор по маркетингу в Aldec. «Но тогда у вас также есть тестирование на соответствие. Вы должны убедиться, что любые пользовательские инструкции соответствуют исходному коду. Это влияет на вашу модель покрытия, а потока инструментов де-факто еще нет. В этой области предстоит еще много работы. Помимо изучения того, как использовать все инструменты, вы также должны увидеть, как их можно использовать для тестирования».

Изменение сложности.
Хотя производительность процессора существенно не увеличилась примерно с 2000 года, это не означает, что сложность осталась неизменной. «Мы по-прежнему наблюдаем рост сложности процессоров, — говорит Колин МакКеллар, вице-президент по платформам проверки Imagination Technologies. «Нарастает желание выжимать из процесса все больше и больше. И есть очень сильное желание иметь какой-то уникальный набор функций или уникальный способ работы».

Это стремление к уникальности является движущей силой текущей тенденции. «На нижнем уровне, особенно для периферийных устройств, ограничения по мощности и стоимости намного жестче; цены ниже», — говорит Прайор из Mentor. «Это означает, что более тесно связанное ускорение, настраиваемость и даже удаление инструкций являются ценными. Меньший дизайн и специализированное программное обеспечение способствуют снижению затрат на повторную проверку по сравнению с более дорогими моделями. RISC-V предоставляет легко настраиваемую платформу по более низкой цене. В совокупности преимуществ настройки больше, чем недостатков, что создает новую группу инженеров по проверке, сталкивающихся с проблемой (повторной) проверки процессора, хотя и на небольших и более закрытых системах».

На высоком уровне в игру вступают другие силы. «Архитектура процессора началась с перехода более сложных инструкций в сторону RISC, — говорит Каннингем из Cadence. «Это начало сглаживаться, и мы начали переходить на многоядерность. И тогда у нас закончилось масштабирование на многоядерности. На данный момент все новые уровни сложности связаны с настраиваемой конкретной архитектурой — различными типами вычислительных механизмов, которые адаптированы к конкретным вертикалям, таким как ИИ, графика или видео. Базовая сложность основного конвейера может меняться не так быстро, как раньше, но она все еще существует. Есть больше вещей, связанных с безопасностью. И так много спекулятивного исполнения».

Спекулятивное выполнение – это метод оптимизации, связанный с рядом известных уязвимостей процессора, таких как Spectre и Meldown. Безопасность — это постоянная проблема, и это область, в которой все еще добавляются требования к дизайну.

«Безопасность — это новое измерение для современных процессоров, и ключевое значение имеет обеспечение того, чтобы процессор обеспечивал эффективный аппаратный корень доверия (HRoT), — говорит Дэйв Келф, вице-президент и директор по маркетингу компании Breker Verification Systems. «Чтобы убедиться в этом, важна отрицательная проверка (доказывающая, что нет никакого доступа к областям, кроме предписанного механизма). Формальный подходит для этого, но его возможности на системном уровне иссякают. Таким образом, инструменты, позволяющие задавать и анализировать пространство состояний системы, станут важным компонентом набора инструментов для группы проверки процессоров».

Если ожидается, что операционная система будет работать на процессоре, необходимо предоставить дополнительные уровни поддержки. «Ожидается, что процессоры общего назначения будут поддерживать все современные операционные системы и множество приложений, — говорит Шубходип Рой Чоудхури, соучредитель Valtrix Systems. «Большинство этих вариантов использования требуют аппаратной поддержки, такой как TLB/MMU для виртуальной памяти, гипервизоры для виртуализации и FPU для вычислений с плавающей запятой. Поддержка параллельных потоков выполнения влияет на порядок памяти и когерентность кэша. Учитывая количество вариантов использования, процессорных блоков и перекрестных продуктов, проверка процессоров общего назначения является гораздо более сложной задачей по сравнению с другими проектами».

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

"Ведущие компании-производители вложили огромные средства и обладают большим опытом, чтобы создавать хорошие продукты", – говорит Каннингем. «Необходимо помнить, что RISC-V — это набор инструкций. Это не фактическая реализация процессора. Реализация должна быть проверена и должна быть достаточного качества, а также соответствовать определенным целям мощности, производительности и площади. Arm — это не просто набор инструкций. Они предлагают всю экосистему. Они тратят на это миллионы долларов».

Качество важно для процессоров. «Arm выполняет около 10 15 инструкций на ядро», — говорит Дэвидманн из Imperas. «Много инструкций. У среднего разработчика RISC-V или провайдера IP нет даже аппаратных эмуляторов. Они нигде не могут сделать такой объем проверки. На протяжении многих лет, когда люди покупали процессоры Arm или MIPS и Power, они полагались на поставщика IP для проверки».

Но не все ядра такие большие и сложные. «Сегодня многие проекты RISC-V довольно малы, а их сложность вполне управляема, — говорит МакКеллар из Imagination. «Затраты, связанные с его проверкой, не будут огромными. Но когда вы начинаете улучшать производительность или добавлять сложность, выполняя многопоточные и параллельные операции, она может расти довольно быстро. Я полагаю, что половина компаний, которые пытаются создавать сложные процессоры, сочтут это слишком сложной задачей, и люди, находящиеся выше по пищевой цепочке, прекратят финансирование, связанное с этим, потому что это было дорого и не обязательно работало правильно».

Вице-президент Codasip Джерри Ардиццоне согласен с этим. «Один из наших клиентов собирался использовать ядро ​​RISC-V с открытым исходным кодом с инструментами с открытым исходным кодом, создав 108 воспроизводимых сопроцессоров, и столкнулся с рядом проблем. Во-первых, им нужно было доказать, что ядро ​​работает. Затем они поняли, что единственный тестовый набор, доступный для этого ядра, был с открытым исходным кодом, потому что все другие коммерческие инструменты были в наборах инструментов, разработанных такими компаниями, как Arm, Codasip, MIPS и Synopsys. А потом им нужно было показать, что все эти процессоры могут обрабатывать 35 инструкций для очень специфического ускорения, что в опенсорсе очень сложно. Вы можете купить все это у Arm и быть уверенным, что это работает. Вы также можете создать собственное ядро, что предполагает, что вы знаете, как собрать процессор, и можете убедиться, что он не зависнет. Но проверка всегда является большим узким местом».

Это также может оказаться довольно дорогим. «Проверка — самая сложная и самая дорогая часть», — говорит Ардиццоне. «Это узкое место, и оно требует как минимум пары четвертей работы. И каждый раз, когда вы прикасаетесь к аппаратному обеспечению, вам приходится его повторно проверять».

Для оборудования с открытым исходным кодом более низкая стоимость является одним из ключевых преимуществ. «Такие компании, как Intel и Arm, действительно хороши в этом, и вы знаете, что когда вы интегрируете их в SoC, вы сможете убедиться, что они работают», — сказал Де Луна из Aldec. «Теперь индустрия говорит, что это не так просто. Если вы думаете о сообществе открытого исходного кода, многое из того, что происходит, зависит от бюджета. Но есть много частей, которые должны быть вместе. Отрасли необходимо наладить сквозной поток, а это возможно только при большем сотрудничестве».

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

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

Консалтинговые компании, которые недавно помогали другим проверять процессорные ядра, говорят о том, насколько важен этот опыт. «Наш предыдущий опыт и знания были очень важны», — говорит Арбель из VTool. «Впервые я начал проверку процессоров 20 лет назад, но если бы это был первый раз, когда я говорил о проблемах такого типа, я бы споткнулся, пытаясь решить проблемы. Даже если у вас очень маленький или простой процессор, группы проверки проекта должны быть готовы к таким знаниям. Есть несколько возможных решений, и мы, возможно, не сделали это наилучшим образом. Но вам определенно нужно подойти к проблеме иначе, чем к другим типам дизайна».

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

И получить эти знания сложно. «То, как тестировать процессор, в основном стало закрытым и инкапсулированным внутри этих основных трех или четырех крупных поставщиков», — говорит Дэвидманн. "Просто не так много документов, публикаций или инструментов, которые могут помочь".

Полезный совет
Каннингем предлагает этот совет. «Прежде всего, наймите кого-нибудь. Убедитесь, что вы знаете, действительно ли вы хотите пойти и построить свой собственный процессор, и если вам нужно, отнеситесь к этому серьезно. Это все еще большое дело. Вам нужен кто-то, кто будет руководить и владеть этим».

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

А также спросите себя, почему вы это делаете. «Если вы действительно не пытаетесь сделать что-то инновационное и индивидуальное, хорошие решения уже существуют», — говорит Дэвидманн. «Если вы пытаетесь добавить какие-то очень интересные вещи из ткани или специальные инструкции, то, возможно, именно поэтому вам стоит пойти по пути RISC-V. Все больше людей создают или настраивают собственные процессоры, что означает гораздо большую сложность, гораздо больше проверок и гораздо больше возможностей для индустрии проверки».

Проверка с открытым исходным кодом
RISC-V, безусловно, расширил понятие аппаратного обеспечения с открытым исходным кодом, и некоторые задаются вопросом, могут ли они также ожидать появления проверки с открытым исходным кодом. «Для успеха модели с открытым исходным кодом требуется инфраструктура, которая позволяет создавать реальные проекты и продукты, запускать их в производство и поставлять на рынок», — говорит Бипул Талукдар, директор по разработке приложений SmartDV. «Ключевой частью необходимой инфраструктуры является платформа проверки RISC-V, которая точно проверяет проекты с использованием спецификаций с открытым исходным кодом с помощью ЦП, выполняющего ISA».

Некоторые видят надежду. «Сообщество RISC-V работает вместе над поиском решений, — говорит Кевин Макдермотт, вице-президент по маркетингу Imperas Software. «Возможно, это лучше всего иллюстрирует работа Google Cloud по разработке и усовершенствованию проекта с открытым исходным кодом для генератора случайных инструкций RISC-V, который использует бесплатную эталонную модель riscvOVPsim».

Тем не менее маловероятно, что основные инструменты EDA будут заменены открытым исходным кодом. Реальная стоимость — это не инструменты EDA. Это сложность, и крупные поставщики процессоров все еще находят неожиданные ошибки и уязвимости, несмотря на многолетний опыт решения этих проблем.

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

Похожие статьи
Центр знаний по верификации
Репозиторий основных статей, специальных отчетов, технических документов, блогов и видео
Убедимся, что проекты RISC-V работают должным образом
Открытый исходный код прогнозы роста впечатляют, но процесс проверки может быть сложнее, чем с коммерческими ISA.
Приведут ли процессоры с открытым исходным кодом к изменению верификации?
Инструменты и методологии существуют, но неясно, кто на самом деле будет проводить проверку.
Рынки RISC-V, безопасность и перспективы роста
Эксперты за столом, часть 1: преимущества и ограничения новой архитектуры набора команд.
Проблемы и возможности RISC-V
Кто зарабатывает на ISA с открытым исходным кодом, текущее состояние экосистемы RISC-V и чем отличается один поставщик от другого.
Будет ли работать EDA с открытым исходным кодом?
Программа DARPA подталкивает к более дешевым и простым инструментам, но это может быть не так просто.
Открытые ISA набирают обороты
Упор на гибкость, время выхода на рынок и неоднородность требует больше вариантов обработки

ARM — ведущий разработчик процессоров для телефонов, Intel – известная компания в области ПК. Оба производят процессоры, но в чем разница?

Объяснение архитектуры процессора

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

Приложения, работающие на вашем телефоне, не написаны в инструкциях процессора. это было бы безумием с сегодняшними большими кросс-платформенными приложениями, чем работать на множестве чипов. Вместо этого приложения, написанные на различных языках программирования более высокого уровня (например, Java или C++), соответствуют определенным наборам инструкций, чтобы они правильно работали на процессорах Arm, x86 или других. Эти инструкции далее декодируются в операции микрокода внутри ЦП, что требует дискового пространства и мощности. Если вам нужен процессор с наименьшим энергопотреблением, первостепенное значение имеет простота набора инструкций. Однако более высокая производительность может быть достигнута за счет более сложного оборудования и инструкций за счет энергопотребления. Это фундаментальное различие между историческими подходами Arm и Intel к проектированию ЦП.

Arm использует RISC (вычисления с сокращенным набором инструкций), а Intel (x86) — CISC (сложные вычисления с набором инструкций). Инструкции процессора Arm достаточно атомарны, с очень тесной корреляцией между количеством инструкций и микрооперациями. CISC, для сравнения, предлагает гораздо больше инструкций, многие из которых выполняют несколько операций (например, оптимизированные вычисления и перемещение данных). Это приводит к повышению производительности, но увеличивает энергопотребление при расшифровке этих сложных инструкций.

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

Современные 64-разрядные архитектуры ЦП

Сегодня 64-разрядные архитектуры широко распространены на смартфонах и ПК, но так было не всегда. Телефоны появились только в 2012 году, примерно через десять лет после ПК. Короче говоря, 64-битные вычисления используют регистры и адреса памяти, достаточно большие для использования 64-битных (1 и 0) длинных типов данных. Помимо совместимого оборудования и инструкций, вам также потребуется 64-разрядная операционная система, например Android.

Ветераны отрасли, возможно, помнят шумиху, когда Apple представила свой первый 64-разрядный процессор раньше конкурентов Android. Переход на 64-разрядные технологии не изменил повседневные вычисления. Однако важно эффективно выполнять математические операции при использовании высокоточных чисел с плавающей запятой. 64-битные регистры также повышают точность 3D-рендеринга, скорость шифрования и упрощают адресацию более 4 ГБ ОЗУ.

ПК перешли на 64-разрядную версию задолго до появления смартфонов, но современную архитектуру x86-64 (также известную как x64) придумала не Intel. Эта награда принадлежит объявлению AMD от 1999 года, которое модернизировало существующую архитектуру Intel x86. Альтернативная архитектура Intel IA64 Itanium отошла на второй план.

Arm представила 64-разрядную архитектуру ARMv8 в 2011 году. Вместо расширения набора 32-разрядных инструкций Arm предлагает чистую 64-разрядную реализацию. Для этого в архитектуре ARMv8 используются два состояния выполнения: AArch32 и AArch64. Как следует из названий, один предназначен для запуска 32-битного кода, а другой — для 64-битного. Прелесть дизайна ARM заключается в том, что процессор может плавно переключаться из одного режима в другой во время обычного выполнения. Это означает, что декодер для 64-битных инструкций представляет собой новую конструкцию, которая не нуждается в поддержке совместимости с 32-битной эпохой, но процессор в целом остается обратно совместимым. Однако Arm указала, что будущие процессоры ARMv9 Cortex-A будут 64-разрядными только к 2023 году, что отключит поддержку старых 32-разрядных приложений и операционных систем на этих процессорах следующего поколения. Фактически, небольшие процессоры Cortex-A510 и мощные процессоры Cortex-X2 2021 года уже являются только 64-разрядными.

Гетерогенные вычисления от Arm победили на мобильных устройствах

Различия в архитектуре, рассмотренные выше, частично объясняют текущие успехи и проблемы, с которыми сталкиваются два чипа-гиганта. Подход Arm к низкому энергопотреблению идеально подходит для требований к расчетной тепловой мощности (TDP) 3,5 Вт для мобильных устройств, при этом производительность также увеличивается, чтобы соответствовать чипам Intel для ноутбуков. Между тем, типичные Core i7 и i9 с TDP 100 Вт, наряду с конкурирующими чипсетами от AMD, выигрывают в серверах и высокопроизводительных настольных компьютерах, но исторически с трудом сокращаются до уровня ниже 5 Вт. См. сомнительную линейку Atom.

Конечно, мы не должны забывать о той роли, которую процессы производства кремния сыграли в значительном повышении энергоэффективности за последнее десятилетие. Вообще говоря, транзисторы процессора меньшего размера потребляют меньше энергии.Intel застряла, пытаясь выйти за пределы своего внутреннего 14-нм техпроцесса 2014 года, а 10-нм чипы начнут выпускаться в 2021 году. 2021 года. Это было достигнуто просто за счет конкуренции между производителями Samsung и TSMC. Это также частично помогло AMD сократить отставание от своего конкурента x86-64 с новейшими 7-нанометровыми процессорами Ryzen.

Однако одна уникальная особенность архитектуры ARM сыграла особенно важную роль в поддержании низкого TDP для мобильных приложений — гетерогенные вычисления. Идея достаточно проста: создать архитектуру, позволяющую различным частям ЦП (с точки зрения производительности и мощности) работать вместе для повышения эффективности.

Возможность Arm распределять рабочие нагрузки между высокопроизводительными и низкопроизводительными ядрами ЦП является благом для повышения энергоэффективности

Первая попытка Arm реализовать эту идею была сделана big.LITTLE в 2011 году с большим ядром Cortex-A15 и маленьким ядром Cortex-A7. Идея использования более крупных неупорядоченных ядер ЦП для ресурсоемких приложений и энергоэффективных ЦП с последовательностью для фоновых задач сегодня воспринимается пользователями смартфонов как нечто само собой разумеющееся, но потребовалось несколько попыток, чтобы сгладить формулу. Arm построила эту идею с DynamIQ и архитектурой ARMAv8.2 в 2017 году, позволяя разным процессорам находиться в одном кластере, совместно используя ресурсы памяти для гораздо более эффективной обработки. DynamIQ также поддерживает схему ЦП 2+6, которая все чаще встречается в чипах среднего класса.

Конкурирующие чипы Intel Atom, не имеющие разнородных вычислений, не могли сравниться с балансом производительности и эффективности Arm. Только в 2020 году проекты Intel Foveros, Embedded Multi-die Interconnect Bridge (EMIB) и Hybrid Technology привели к созданию конкурирующего чипа — 10-нм Lakefield. Lakefield сочетает в себе одно высокопроизводительное ядро ​​Sunny Cove с четырьмя энергоэффективными ядрами Tremont, а также графику и функции подключения. Однако даже этот пакет предназначен для подключенных ноутбуков с TDP 7 Вт, что все еще слишком много для смартфонов.

Сегодня в сегменте рынка ноутбуков с TDP менее 10 Вт все чаще ведутся споры между Arm и x86, где масштабы Intel уменьшаются, а масштаб Arm растет все успешнее. Переход Apple на собственные специализированные чипы Arm для Mac — яркий пример растущей производительности архитектуры Arm, отчасти благодаря гетерогенным вычислениям, а также пользовательским оптимизациям, сделанным Apple.

Пользовательские ядра Arm и наборы инструкций

Еще одно важное различие между Arm и Intel заключается в том, что последняя контролирует весь процесс от начала до конца и продает свои чипы напрямую. Арм просто продает лицензии. Intel полностью сохраняет свою архитектуру, конструкцию ЦП и даже производство. Для сравнения, Arm предлагает множество продуктов таким партнерам, как Apple, Samsung и Qualcomm. Они варьируются от готовых конструкций ядер ЦП, таких как Cortex-A78 и A710, конструкций, созданных в партнерстве в рамках программы Arm CXC, и лицензий на нестандартную архитектуру, которые позволяют таким компаниям, как Apple и Samsung, создавать собственные ядра ЦП и даже вносить коррективы. набор инструкций.

Создание нестандартных процессоров — это дорогостоящий и сложный процесс, но правильное выполнение может привести к впечатляющим результатам. Процессоры Apple демонстрируют, как специальное аппаратное обеспечение и инструкции приближают производительность Arm к массовому x86-64 и даже выше. Хотя ядра Mongoose от Samsung оказались менее успешными и со временем сели.

Apple намерена постепенно заменять процессоры Intel в своих продуктах Mac на собственный кремний на базе Arm. Apple M1 — первый процессор в этой области, который используется в новейших моделях MacBook Air, Pro и Mac Mini. M1 может похвастаться некоторыми впечатляющими улучшениями производительности, что говорит о том, что высокопроизводительные ядра Arm способны работать с x86-64 в более ресурсоемких вычислительных сценариях. Однако помните, что Apple сравнивает процессоры класса ноутбуков, а не настольных компьютеров.

Совместимость программного обеспечения

Как мы упоминали ранее, приложения и программное обеспечение должны быть скомпилированы для архитектуры ЦП, на которой они работают. Исторический брак между ЦП и экосистемами (такими как Android на Arm и Windows на x86) означал, что совместимость никогда не была проблемой, поскольку приложениям не нужно было работать на нескольких платформах и архитектурах. Однако рост числа кроссплатформенных приложений и операционных систем, работающих на многопроцессорных архитектурах, меняет эту картину.

Компьютеры Mac на базе Arm от Apple, Chrome OS от Google и Windows на Arm от Microsoft — все это современные примеры, когда программное обеспечение должно работать как на архитектуре Arm, так и на архитектуре x86-64. Компиляция собственного программного обеспечения для обоих вариантов — это вариант для новых приложений и разработчиков, желающих инвестировать в перекомпиляцию. Чтобы заполнить пробелы, эти платформы также полагаются на эмуляцию кода. Другими словами, перевод кода, скомпилированного для одной архитектуры ЦП, для работы на другой. Это менее эффективно и снижает производительность по сравнению с собственными приложениями, но в настоящее время возможна хорошая эмуляция, чтобы гарантировать, что приложения работают.

После многих лет разработки эмуляция Windows on Arm находится в довольно хорошем состоянии для большинства приложений. Приложения для Android по большей части также работают на Intel Chromebook прилично. У Apple есть собственный инструмент перевода под названием Rosetta 2, который также поддерживает устаревшие приложения Mac. Но все три имеют снижение производительности по сравнению с приложениями, скомпилированными в собственном коде.

ARM против x86: последнее слово

За последнее десятилетие соперничества между Arm и x86 Arm победила как выбор для устройств с низким энергопотреблением, таких как смартфоны. В настоящее время эта архитектура также успешно используется в ноутбуках и других устройствах, где требуется повышенная энергоэффективность. Несмотря на проигрыш в телефонах, усилия Intel в области маломощных устройств с годами улучшились: гибридные идеи, такие как Lakefield и Alder Lake, теперь имеют гораздо больше общего с традиционными процессорами Arm, используемыми в телефонах.

Тем не менее, Arm и x86 существенно отличаются с инженерной точки зрения, и у них по-прежнему есть сильные и слабые стороны. Тем не менее, потребительские варианты использования этих двух архитектур становятся размытыми, поскольку экосистемы все больше поддерживают обе архитектуры. Тем не менее, хотя в сравнении Arm и x86 есть пересечение, именно Arm, несомненно, останется предпочтительной архитектурой для индустрии смартфонов в обозримом будущем. Эта архитектура демонстрирует большие перспективы для вычислений и повышения эффективности на уровне ноутбуков.

Читайте также: