AMD начал поставки ARM-процессоров код кодовым названием Seattle

Революция, о которой давно и много говорили в компании Advanced Micro Devices, состоялась: серверная платформа на базе восьмиядерного процессора Opteron A1100 с архитектурой ARM готова для массового производства. Об этом вчера сообщил сайт AnandTech. Ряд партнеров AMD уже получил образцы продукции, но что касается мировых брендов, сотрудничающих с компанией, то еще рано говорить о регулярных поставках ARM-решений для серверного рынка.

Анонс события AnandTech сопровождает собственной оценкой: «новый AMD SoC не дает преимущества и по производительности, и по соотношению цена/качество в сравнении с предложениями Intel».

 

Что имел в виду AnandTech?

В своей публикации Ананд пишет: and the software ecosystem was far from ready, что, возможно, связано с поддержкой ARM-архитектуры со стороны ACPI. Для этого интерфейса поддержка альтернативной архитектуры будет экзаменом на кроссплатформенность: с одной стороны, предлагаемые в спецификации методы описаны на языке AML (ACPI Machine Language) и никак не привязаны к x86-архитектуре; с другой стороны, форматы некоторых ACPI-структур спроектированы для x86-платформ. Так, например, много вопросов к таблице MADT (Multiple APIC Description Table), описывающей мультипроцессорную топологию и управление прерываниями, в силу того, что ее содержимое в некоторых случаях обусловлено регистровыми моделями Local APIC и/или IOAPIC. Поддержка ARM требует существенного пересмотра спецификации для поддержки контроллера GIC (Generic Interrupt Controller), обеспечивающего обработку прерываний и передачу межпроцессорных сообщений в ARM-платформе.

Особая тема — подложат ли свинью разработчикам, сделавшим ставку на EFI Byte Code? Ходят упорные слухи о выполнении x86-кода в режиме эмуляции, как альтернативе EBC, хотя вполне вероятно и наличие в составе UEFI обоих типов интерпретаторов: и EBC, и Emulation of a non-native binary.

AMD начал поставки серверных ARM-процессоров код кодовым названием Seattle
Рис 1. ARM-процессор от AMD код кодовым названием Seattle. Фото ©AnandTech, 2016.

В сравнении с ARM…

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

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

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

Отметим попутно, что перекладывание ответственности за оптимизацию на компилятор, — общая черта ARM и Itanium, хотя сами архитектуры абсолютно разные.

Серверные ARM-процессоры: AMD здесь первый