LINUX.ORG.RU
ФорумTalks

ARM опубликовала предварительные спеки на ARM64 (ARMv8)

 ,


0

1

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

Мне это нравится :)

★★★★

И это при контрасте с x86, c поддержкой тнструкций из 80-х годов. Но вот если им удастся слить x86 по производительности при таких изменениях, то вот это будет фокус :)

alexru ★★★★
() автор топика
Ответ на: комментарий от exception13

linux-kernel/arch/arm64

я не про то, просто если говорится что какой-то документ открыли - логично приложить на него ссылку.

ktk ★★★★
()
Ответ на: комментарий от ktk

Дата создания документа - июль 2012, так что это я слоупок. С другой стороны не поятно почему до сих пор нет Architecture Reference Manual.

alexru ★★★★
() автор топика
Ответ на: комментарий от tailgunner

Насколько я понял из куцей доки - нет, не пойдут. В ARM64 и регистров 31 (1 вседа 0 на чтение и /dev/null на запись) и условных инструкций не все, а только инструкции перехода. Четко формат опкодов тут не описан, но я не могу предствить как 2 набора инструкций совместить. Может только в каком режиме эмуляции. Но переход в этот режим тоже не описан.

alexru ★★★★
() автор топика
Ответ на: комментарий от tailgunner

совместимость не нужна, это же не PC и x86, перекомпиляешь, ничего страшного :)

Harald ★★★★★
()
Ответ на: комментарий от tailgunner

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

alexru ★★★★
() автор топика
Ответ на: комментарий от redgremlin

Тут не говорится, что на бинароном уровне. Перекомпилять можно.

Единственный способ их совместить - это что-то типа флага Thumb и инструкции BX. Но это костыли.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Ну да, отдельный режим:

Section 6 below lists the extensions introduced by ARMv8 to the A32 and T32 instruction sets – known in ARMv7 as the ARM and Thumb instruction sets respectively – which are available when the processor is operating in AArch32 register width state. The A32 and T32 assembly language syntax is unchanged from ARMv7.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Не совсем понятно как это согласуется с

The concept of a «coprocessor» is removed from the architecture.

Сопроцессоры - неотъемлемая часть ARM32. Получается, что как минимум системное ПО в 32 разрядном режиме не может рабоать. Ну или опять что-то симулируется.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Короче, я за тотальную переделку. Зачем тащить старые костыли в новый проц - не ясно.

alexru ★★★★
() автор топика
Последнее исправление: alexru (всего исправлений: 1)
Ответ на: комментарий от AiFiLTr0

В МИПСе это регистр 0, а тут 31 :) А вообще после чтения списка изменений меня не покидало чувство, что они переизобрели МИПС.

alexru ★★★★
() автор топика

Вообще странно, формат инструкций нигде не документирован, а GCC и binutils патчи приняли.

alexru ★★★★
() автор топика

Скачал первый попавшийся тулчейн. 64 разрядный режим абсолютно точно не совместим с 32 разрядами. Формат инструкций совершенно другой.

alexru ★★★★
() автор топика
Последнее исправление: alexru (всего исправлений: 1)
Ответ на: комментарий от alexru

чувство, что они переизобрели МИПС.

И это прекрасно.

tailgunner ★★★★★
()

небось такой же тормозной будет

Fatalist
()
Ответ на: комментарий от tailgunner

Путем Итаника пошли товарищи.

У первых Итаников была аппаратная совместимость с IA32. Потом её зачем-то отрезали. Щёчки решили понадувать.

lenin386 ★★★★
()
Ответ на: комментарий от alexru

64 разрядный режим абсолютно точно не совместим с 32 разрядами. Формат инструкций совершенно другой.

Да что ты. А типерь испытай ШОК ! Посмотри инструкции x86-64 и попробуй найти что-то общее между ними и IA32.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

У первых Итаников была аппаратная совместимость с IA32

...в виде режима эмуляции - и у ARM64 сейчас режим эмуляции.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

в виде режима эмуляции

Какой дибил вбил вам в мозг эти бредни ? Софтверную эмуляцию IA32 написали позже для процессоров без аппаратной поддержки IA32, а первые Итаники, вплоть до ядра Madison-9m, исполняли IA32 также спокойно и без лишних телодвижений, точь-в-точь также, как это делают процессоры AMD64. Ты, наверное, хочешь выразить, что где-то слышал свист про то, что де эта «эмуляция», как вы её называете, тормозила ? Да нет, тормозила она не меньше самого Итаника.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Какой дибил вбил вам в мозг эти бредни ?

Слово «дебил» пишется через «Е».

Софтверную эмуляцию IA32 написали позже

Что заставило тебя подумать о софтверной эмуляции?

тормозила она не меньше самого Итаника.

Теперь найди в моих постингах слово «тормоза».

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Что заставило тебя подумать о софтверной эмуляции?

А другой эмуляции в Итанике не было. Трансляция внешних команд в нейтивные команды RISC ядра, никогда эмуляцией не называлась.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Ты, наверное, хочешь выразить, что где-то слышал свист про то, что де эта «эмуляция», как вы её называете, тормозила ?

Да так, штеуд насвистел (из дока по софтварную эмуляцию):

The Benefits of the IA-32 Execution Layer
IA-32 EL enhances Itanium 2 processor support for
IA-32 applications:

Greater flexibility in supporting new IA-32 instructions.

Higher performance with IA-32 applications running on
Itanium 2-based platforms. With an Itanium 2 processor
1.50 GHz with 6M L3 cache, IA-32 EL enables performance
comparable to an Intel Xeon processor MP 1.50 GHz
(varies by application).

As the performance increases in future generations of the
Itanium processor family, performance with IA-32 EL will rise
proportionately. Expectations are that IA-32 EL performance
will be 50%-70% compared to performance with native
Itanium-based applications

redgremlin ★★★★★
()
Ответ на: комментарий от lenin386

Трансляция внешних команд в нейтивные команды RISC ядра, никогда эмуляцией не называлась.

То есть ты просто до термина доколебался? Тогда пусть будет «специальный режим исполнения».

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

То есть ты просто до термина доколебался? Тогда пусть будет «специальный режим исполнения».

Я никогда не докапываюсь до терминов и правописания. Итаник (первые модели) НИЧЕМ не отличается в способе исполнения IA32 от процессоров AMD64. И что такое есть придуманный тобой «путь Итаника» - остаётся только догадываться. AMD64 архитектурно срисован с Итаника, только набор команд другой и всё.

lenin386 ★★★★
()
Ответ на: комментарий от redgremlin

Да так, штеуд насвистел (из дока по софтварную эмуляцию):

Ну, учись читать и переводить маркетоидные бредни.

Higher performance with IA-32 applications running on

Itanium 2-based platforms. With an Itanium 2 processor 1.50 GHz with 6M L3 cache, IA-32 EL enables performance comparable to an Intel Xeon processor MP 1.50 GHz (varies by application).

Всё правильно. Пичаль только в том, что эффективный менеджер из Интел скромно так умолчал о том, что и в режиме IA-64 Итаник не быстрее равночастотного Ксеона. Ну, +-20%, не суть.

Expectations are that IA-32 EL performance

will be 50%-70% compared to performance with native Itanium-based applications

Ага-ага. Реальность только почему-то всегда не такие радужные, как наркоманские expectations эффективных менеджеров.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

AMD64 архитектурно срисован с Итаника, только набор команд другой и всё.

Ух ты, какой бред. Итаник вообще-то VLIW.

anonymfus ★★★★
()
Ответ на: комментарий от anonymfus

Ух ты, какой бред. Итаник вообще-то VLIW.

Ну, внешняя система команд VLIW, да. Давай даже забудем то, что ни один компилятор эффективно эти триады-паралелизьмы использовать не способен и по факту, код как на x86 линеен, так и на Итанике линеен. Забыли это. Допустим, там этот самый паралелизьм на на уровне команд цветёт и пахнет. И что дальше-то ? Немного другой транслятор внешних команд делает Итаником какой-то приниципиально иной машиной ? Какая разница, каким образом внешний транслятор загружает исполнительные блоки ? Меньше читай рекламные бумаги, больше пытайся думать тем, что у тебя между ушами.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Ты явно что-то курил и это был не нескафе.

в режиме IA-64 Итаник не быстрее равночастотного Ксеона. Ну, +-20%, не суть

will be 50%-70% compared to performance with native Itanium-based applications

Реальность только почему-то всегда не такие радужные, как наркоманские expectations эффективных менеджеров

Ты уж определись, «+-20%», или, «вопреки expectations», >+200%

P.S. Софтварный IA-32 EL разработан, как более быстрая _альтернатива_ медленной хардварной трансляции, а не замена. И работал он и на машинах с аппаратной трансляцией - выкидывание трансляции из проца - это не причина появления софтварной эмуляции, а следствие её бОльшей скорости, делающей хардварную часть лишней.
P.P.S. В конце процитированного документа прямо сказано - «если вам нужен сервер преимущественно под IA-32 задачи, то берите Xeon и не морочьте нам голову».

redgremlin ★★★★★
()
Ответ на: комментарий от XVilka

И как это согласуется с идеей GNU о свободе?

alexru ★★★★
() автор топика
Ответ на: комментарий от redgremlin

Ты явно что-то курил и это был не нескафе.

Не важно, что я курил. Важно, что я НЕ курил. Вот НЕ курил я рекламные брошюры и статьи, написанные профессиональные лгунами. А вот ты это всё явно курил, и теперь действительность режет тебе глаза.

Ты уж определись, «+-20%», или, «вопреки expectations», >+200%

Какие 200% ? Где ты видел 200 % ? В воспалённом сознании после выкуривания рекламной брошюры ? Я компилил свой софт и делал выводы. Разница была минимальной, за некоторыми исключениями, но пичаль в том, что эти исключения не в пользу Итаника. Я понимаю, что ты мне не веришь. Поэтому, приведу тебе результы SPEC CPU 2006. Ты же сам не можешь сходить и посмотреть. Integrity rx6600 (1.6GHz/24MB Dual-Core Intel Itanium 2) - 14.5 и 15.7(пик). И для сравнения, PRIMERGY TX150 S4, Intel Pentium D 940 processor, 3.20 GHz 18.6 и 19.5 пик. Ср@ный копеечный пень D (два ядра меганеудачного чморимого всеми 4-го пня) с в 18 раз меньшем кешем на ядро, работает на 20% быстрее топового Итаника. И где тут твои мифические 200% ? Тут слив полный говнопроцессорам. Покажи мне 200% Итаника, я жду.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Какие 200% ? Где ты видел 200 % ?

+200% - это я ошибся. +100% или 200%. Еще раз, для накуренных:

Expectations are that IA-32 EL performance will be 50%-70% compared to performance with native Itanium-based applications

т.е. по данным «рекламной брошюрки», итаник даже с IA-32 EL в 1.5-2.0 раза быстрее в IA-64, чем в IA-32. И это только по ожиданиям (а ты, вроде как, признал их ожидания несостоятельными). Т.е. либо это такой сильно оригинальный маркетинговый ход «смотрите, какое говно наш итаник» (ну всё равно, что маркетоиды АМД сейчас начнут в рекламной кампании напирать на то, что у бульдозеров в якобы 8ядерниках всего 4 векторных модуля и большая латентность кэша), либо твоя трава была излишне забористой.

redgremlin ★★★★★
()
Последнее исправление: redgremlin (всего исправлений: 1)
Ответ на: комментарий от redgremlin

Софтварный IA-32 EL разработан, как более быстрая _альтернатива_ медленной хардварной трансляции, а не замена.

Софтварный IA-32 был разработан чтобы задурить мозсг таким, как ты. Пацанов пичалила низкая производительность, и Интелу надо было оправдаться, вот и выдумывали фигню всякую. Сначала это, потом начали сетовать на низкую эффективность компиляторов, типа не распараллеливают, с#ки такие. А дело в том, что если распаллеливать на эти ср@ные трады, то итаниковский транслятор вообще дурел и скорость получалась ниже в несколько раз, чем если не распараллеливать - я это проверял на своём коде. Ну, покажи мне, где софварная эмуляция была быстрее. Жду.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Иди уже проспись. Мне абсолютно пофигу реальная производительность итаников. Итаниум не умеет в IA-32. Тчк. А там пусть он хоть селерону проигрывает, на факт о 2х кратном превосходстве нативного кода над транслированым это влияет никак.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

итаник даже с IA-32 EL в 1.5-2.0 раза быстрее в IA-64, чем в IA-32

Слушай, я тебе привёл результаты SPEC CPU, где ср@ный пень Dэ БЫСТРЕЕ ТОПОВОГО Итана на 20%. Тебя это не впечатляет ? И ты после этого называешь меня укуренным ?

lenin386 ★★★★
()
Ответ на: комментарий от redgremlin

Итаниум не умеет в IA-32. Тчк

Да он ничего не умеет, кроме внутренних команд своего ядра. IA32 и IA64 - абсолютно равноценный набор внешних команд, транслируемых его транслятором в во внутренний код. Так работают абсолютно все современные процессоры.

lenin386 ★★★★
()
Ответ на: комментарий от redgremlin

На IA-32 коде.

Дикая пичаль Итаника была в том, что на практике, всё работало с точно до наоборот по отношению к тому, как должно. Про распараллеливание на уровне команд я уже рассказал. Расскажу про 64-х битность. Засомневался я как-то в отношении разрядности АЛУ Итаника. И вот простейшая программа, складывающая в цикле 64-х битную цифирь. На AMD64 прирост скорости по отношению к IA-32 - чуть более чем 2 раза, как и должно быть. И Итаник начинал работать МЕДЛЕННЕЕ ! Причём, существенно. Меня это шокировало, и я очень много раз проверял, не напутал ли я что. Ошибок не нашёл, их трудно было сделать. К чему я это. Ты проверял НА ПРАКТИКЕ своё утверждение ?

lenin386 ★★★★
()
Ответ на: комментарий от tailgunner

То есть программы для ARM32 на ARM64 не пойдут?

Пойдут в режиме совместимости, который ещё несколько лет будет занимать место на чипах.

grim ★★☆☆
()
Ответ на: комментарий от alexru

Тут не говорится, что на бинароном уровне. Перекомпилять можно.

Инетересно.
Может быть и вправде трансляция кода бедет для 32 битного режима.

grim ★★☆☆
()
Ответ на: комментарий от lenin386

AMD64 архитектурно срисован с Итаника, только набор команд другой и всё.

Прикольно.
Где таких учат?

grim ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.