Возможно ли, чтобы процессор x86 соответствовал процессору ARM с точки зрения производительности на ватт?

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

Для меня это похоже на то, что x86 является архитектурой CISC, а ARM – архитектурой RISC . Однако процессоры Intel Atom обеспечивают очень хорошую производительность по сравнению с их потреблением энергии. Кроме того, изучив компьютерную архитектуру, я понимаю, что в современных процессорах сложная архитектура набора команд x86 (ISA) внутренне переведена на более простые микрооперации, которые используют внутренний набор команд, который ближе к более простым ARM или MIPS ISA Чем собственно x86. Таким образом, ISA, представленный программисту, представляет собой нечто большее, чем интерфейс для выдачи команд процессору, а не представление фактических операций низкого уровня, выполняемых чипом. Опять же, для реализации этого слоя перевода требуется дополнительное силиконовое пространство на чипе …

Тем не менее, если предположить, что они реализованы с использованием одного и того же полупроводникового процесса, ARM по своей сути более эффективен, чем x86? С правильно спроектированной микроархитектурой возможно ли, чтобы процессор x86 обеспечивал такую ​​же производительность на ватт, что и ARM-процессор?

Помните, я ищу хорошо написанный технический ответ в духе Stack Exchange, а не просто спекуляцию.

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

Большая часть использования энергии также не является процессором – связанная со мной статья anandtech, как правило, предполагает, что, возможно, 1/4 общего использования энергии – это процессор, а атом clovertrail использует чуть более половины процессора ARM на поверхности. Он также показывает интересную альтернативную точку зрения – оптимизировать системы на один компонент для использования энергии (как в стороне – вполне возможно, что вы можете получить довольно значительную экономию энергии, делая это и на стандартной настольной платформе). Что-то простое, как избежать неэффективных преобразований мощности, может сделать справедливый бит. Например, на большинстве телефонов ваш дисплей, вероятно, приближается к половине вашего общего использования энергии.

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

Arm не создает свой собственный кремний – они проектируют и тестируют его, а продают IP для изготовления процессоров. Для компаний, которым необходимо разрабатывать собственные процессоры или настраивать их, это означает значительную экономию в исследованиях и разработках без необходимости разрабатывать все с нуля (сложно) или покупать процессоры у другой компании (с x86 у нас есть Via, AMD и Intel, Но только intel, похоже, действительно интересуется мобильным пространством, и я не знаю, что происходит до этого).

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

  • Заказ локального распределения переменных в стеке
  • Какая технология сопоставления кеша используется в процессоре Intel Core i7?
  • Что делает NOPL в системе x86?
  • Почему для x86 (-64) для подписчиков и без знака умножаются разные инструкции?
  • Каковы наилучшие последовательности команд для генерации векторных констант «на лету»?
  • Что означает «DS: » означает в сборке?
  • Что отсутствует / не оптимально в этой реализации memcpy?
  • Оптимизация для быстрого умножения, но медленное добавление: FMA и doubleedouble
  • Почему медленная инструкция цикла? Не удалось ли Intel эффективно внедрить его?
  • x86 Расчет AX с учетом AH и AL?
  • Как работает $ в NASM?
  • Давайте будем гением компьютера.