Новое расширение для x86 от Intel Advanced Performance Extensions (APX)
"В последнее время в микропроцессорах компаний Intel и AMD широко используются идеи, свойственные RISC-архитектуре, так что многие различия
между CISC и RISC постепенно стираются" Организация ЭВМ и систем.
Intel представила новое расширение APX.
Изменение, которое первым делом бросается в глаза - это удвоение регистров общего назначения (GPRs) с 16 до 32. Это позволяет компилятору сохранять больше значений в регистрах, в результате чего код, скомпилированный для APX, содержит на 10% меньше операций загрузки и более чем на 20% меньше операций сохранения, чем тот же код, скомпилированный для базового уровня Intel® 64. [количественные метрики взяты с сайта Intel].
За счет чего достигается повышение производительности? Сокращается количество операций типа регистр-память, что является отличительной особенностью CISC машин Доступ к данным через паттерн регистр-регистр не только быстрее, но также требует значительно меньше динамической энергии по сравнению с сложными операциями загрузки и сохранения данных через всю иерархию памяти.
Возникает вопрос, тогда почему Intel только в 2023 году решил довести количество регистров общего назначения до 32, когда в RISC этот подход используется не один десяток лет?
Давайте посмотрим на график [см.картинку] разрыва производительности памяти/процессора. В начале 80-х, в золотое время CISC, не было такого разрыва между производительностью памяти/процессора как в наши дни и подход для загрузки/сохранения операндов источников, операндов результата по типу память-память, память-регистр была абсолютно нормальной и типичной практикой.
Яркий пример того времени CISC машина VAX-11 с 12 регистрами общего назначения.
Но технологии не стояли на месте, и такой подход стал вызывать простои процессора из-за долгого обращения к памяти.
Ошибочные представление о развитии технологий у CPU архитекторов порой приводят к необходимости закрывать проблемы производительности специализированными Perfomance Extensions. ⌨️
Post #131
2.09K

- 👍 17
- 🔥 3
- 👀 1