LINUX.ORG.RU

H.J. Lu анонсирует x32-abi

 , , , , , , , x32-psabi,


1

0

Сегодня один из ведущих инженеров Intel, занимающихся разработкой для Linux, H.J. Lu, сообщил о прогрессе в разработке ответвления архитектуры x86_64 — x32-abi (x32-psABI). Данная архитектура, являясь 64-битной и использующей практически все преимущества x86_64, тем не менее, предлагает 32-битный размер указателей, и, возможно, будет востребованной для устройств и систем не обладающих большими объёмами оперативной памяти.

В настоящее время ведутся работы над:

  • портом ядра (Linux) на новую архитектуру (практически готово);
  • binutils, добавлена поддержка в версию 2.21.51.0.6;
  • GCC (стабилизация);
  • Bionic libc.

Следующим этапом должно стать создание порта Glibc.

Проектом занимаются инженеры Intel, SuSE и Codesourcery : H.J. Lu, Milind Girkar, Michael Matz, Jan Hubicka, Andreas Jaeger и Mark Mitchell.

Доступна техническая документация.

Проекту требуется помощь в тестировании и разработке.

>>> Сайт проекта

★★★★★

Проверено: hibou ()
Последнее исправление: Dendy (всего исправлений: 4)
Ответ на: комментарий от elipse

DDR2 сцуко дорогой стал (
чоб получуть 4гига - надо отдать 3+ - 4 рубля
печаль

megabaks ★★★★
()

> Данная архитектура, являясь 64-битной и использующей практически все преимущества x86_64, тем не менее, предлагает 32-битный размер указателей, и, возможно, будет востребованной для устройств и систем не обладающих большими объёмами оперативной памяти.

Данное нововведение будет полезно тем ОС, которые ещё не осуществили полный переход на 64 бита.

anonymous
()

Если они бобавят в билдсервис еще одну архитектуру, то билдсервис не выдержит. Там и так уже перегруз.

Nxx ★★★★★
()

>H.J. Lu
А. теперь я понял почему в свободном американском Интеле в процессоры зонды вставляют. Оказывается там китайский Большой Брат работает!
По сабжу: это такой железный мультилиб^wАрч в железном исполнении?
Давно кстати мечтал чтобы эти тупые программы ускоренные ровным счётом на 0% в 64bit жрали не столь наглое количество памяти. Дождёмся ли в АМД такой же штучки? :(

darkshvein ☆☆
()
Ответ на: комментарий от Sylvia

Если это не маразм, то это диверсия.

Поскольку от этого человека маразма не ожидается (хотя почему? Тут вот недавно один нобелевский лауреат маразм про волновую генетику нес. Никакие заслуги 20 лет назад не гарантируют от визита Альцгеймера сегодня). то значит это политика.

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

Вот так же под благовидным предлогом объедингения усилий они сподвигли Nokia делать вместо Maemo MeeGo, и успешно добились увольнения человека который вел это направление. В результате nokia вместо нормальных линуксовых смартфонов будет делать виндовую.

Здесь задача более интересная - поскольку из этого ABI явно торчат уши Win64 - здесь имеет место попытка сделать ставку на ту часть коммьюнити которая не хочет учиться писать код, независимый от размера машинного слова.

vitus
()
Ответ на: комментарий от anonymous

> Что же используется вместо стека, прямой доступ к Христу за пазуху?

В 2 раза больше регистров, каждый из которых в 2 раза больше.

tailgunner ★★★★★
()

Опоздали лет эдак на 5-7. Сейчас архитектура x86_64 уже отлажена и используется, 4 Гб - так же естественно, как эдак в 97-м было 16 Мб, меньше 1 (а то и 2) Гб для системы уже считается мало. Логичнее бы было дополнить синтаксис x86_64 «короткими указателями», работоспособными в большинстве случаев (скажем, на каждый процесс выделяется «поле» коротких адресов, и он свободно ими пользуется; при необходимости адресации чего-нибудь глобального выделяет глобальную память - или что-нибудь в этом роде, я - не специалист архитектуры). Во всяком случае, бинарную обратную совместимость с amd64 следовало бы оставить. Или же делать совершенно другую архитектуру, но здесь у Intel есть весьма печальный опыт.

FoodChemist
()
Ответ на: комментарий от elipse

>в отделе продаж CPU Intel не оценят, так как разница в цене на новые CPU ужж явно не будет меньше стоимости задрыпанного 1 гига DDR от этой «экономии». Ыы ??))
А сколько стоит гиг L2/L3 кэша? Или он уже не экономится?

x3al ★★★★★
()

неплохо, у MIPS есть N32, почему бы для интела тоже самое не сделать

sashz
()
Ответ на: Если это не маразм, то это диверсия. от vitus

>В результате nokia вместо нормальных линуксовых смартфонов будет делать виндовую.

во-первых, не вместо, а вместе. Миго еще не готово (как впрочем и maemo) для массового рынка. Игрушку для гиков скоро обещали выпустить, типа продолжение н900.

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

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

> Ну.. pg'шные базы, OpenLDAP'ные базы на bdb.. этого мало?

Это не смертельно на самом деле. Да и конвертируется безболезненно. Главное не забыть.

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

> Можно. VP7, который для 32бит есть в виде win32 кодека, а для amd64 нет.

Это трудно назвать именно проблемой контента.

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

новое ABI для линукс, _программную_ архитектуру с 32 битными указателями памяти , для запуска на существующих железных решениях с сравнительно небольшим объемом ОЗУ, например на атомах

аппаратно ничего нового не предвидится, это исключительно программное решение

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

Нах или пох? Вот в чём вопрос!

gigamax ★★
()

Взлетит....

ИМХО. В списке поддерживаемых технологий процессоров Intel появиться еще один пунктик. Очередное расширение/технология/режим и всего то.

Wise
()
Ответ на: комментарий от vadic

>неудачно выбрала слово «архитектура» вместо «ABI» или «personality» в исходном посте, чем создала у многих впечатление, что речь идет о каких-то новых процах.

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

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

> Кто там говорил о дешевой RAM?

Сына, кабы ты паял к565ру5 (или ещё более ранние) и знал бы, сколько они стоили, ты бы лужицу не газифицировал. Память им видите ли дорогая.

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

> А, ну понятно. Они строго говоря не not supported, их не надо использовать потому что все будет хреново. То есть запрещено (не в смысле «процессор не позволит», а в смысле «не надо»)

Не «не надо», а скорее «компилятор не даст». Для этого gcc -mx32 этот целый Лю и пилит. Ну то есть процессору ничего не мешает эти инструкции выполнять, но, похоже, gcc в этом режиме их не будет «видеть» и генерировать, да и ассемблеру видеть запретит (если кто-то асмовыми вставками захочет обойти).

Так что я вроде как все понял правильно.

shimon ★★★★★
()

Одно мне во всей этой истории не нравится.

Ну, допустим, доделают они тулчейн, дебиан соберут, потом редхэт, и все такое.

А потом интел радостно выкатит процессоров, которые только такое куцое подмножество инструкций и будут использовать, превратив программное решение в аппаратное. В результате у нас будут дешевые «десктопные» 64-битные процессоры с кастрированной 32-битной адресацией и SIGILL на long pointer instructions, а альтернативой будут заоблачно дорогие зеончики с 64-битной.

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

> К их счастью, такой режим совместимости уже давным-давно сделан (CONFIG_IA32_EMULATION) для запуска старых 32битных i386 бинарников, надо только чуть-чуть подпилить, чтоб кроме одного ABI (IA-32) повесить на него еще и второй (x32).

Какое ещё нафиг счастье? То раньше в режиме совместимости запускался один кривой ископаемый бинарник, а теперь весь юзерспейс будет так работать. Ну нафига оно такое счастье?
Любители усложнять и городить костыли пусть делают вдоль.

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

> В результате у нас будут дешевые «десктопные» 64-битные процессоры с кастрированной 32-битной адресацией и SIGILL на long pointer instructions, а альтернативой будут заоблачно дорогие зеончики с 64-битной.

Вот тут-то амд и даст штеуду прикурить.

Lumi ★★★★★
()

Кажется, менеджеры из майкрософта пролезли не только в Нокию.

Vit ★★★★★
()

Кто-нибудь может объяснить, там 32-х битый линейный адрес и 64-х битный физический или как?

sv75 ★★★★★
()

И это во времена, когда сотовые телефоны вот вот перейдут 4Гб порог по оперативе :)

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

> Сына, кабы ты паял к565ру5 (или ещё более ранние) и знал бы, сколько они стоили, ты бы лужицу не газифицировал. Память им видите ли дорогая.

Когда нет аргументов (а чем он может ответить, если «дешевая» память - это ~30% от стоимости устройства) глупый тролль всегда переходит на личности.

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

> А потом интел радостно выкатит процессоров, которые только такое куцое подмножество инструкций и будут использовать, превратив программное решение в аппаратное. В результате у нас будут дешевые «десктопные» 64-битные процессоры с кастрированной 32-битной адресацией и SIGILL на long pointer instructions, а альтернативой будут заоблачно дорогие зеончики с 64-битной.

Отставить параною! Во-первых, кому это надо? Во-вторых, какое ядро сможет работать на таком новом железе? Также не забывайте про альтернативные опереционные системы вроде windows (внедрить там X32 - это уже из области ненаучной фантастики). Никто урезать аппаратные возможности процессоров исключительно ради некоей специализированной сборки linux не будет. Новый X32 ABI предназначен для СУЩЕСТВУЮЩИХ 64-битных процессоров, как Intel, так и AMD.

ssvb
()

Может, эта хрень нужна для пускалок проприетарного
совта, типа wine? Сейчас вайн собирают с -m32, так как
виндовые проги используют 32битный ABI. Как результат -
вайн работает медленнее, и требует зоопарк 32битных библиотек.
С другой стороны, с этим psABI, небось, зоопарк либ всё
равно тянуть придётся? Или не придётся?
А, допустим, как это должно уменьшить потребление памяти - я вообще
не вкурил. Что, только за счёт того, что поинтеры будут меньше
места занимать? А какой процент данных, по статисктике, в
обычных прогах поинтеры составляют? Их там не так уж и много, что
это за экономия...
В общем, долго думал, но не осилил. :)

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

Либо, как более правдоподобный вариант - это нужно для того, чтобы 64битный совт мог проприетарные 32битные либы без проблем вызывать... Наверное, у интела таких много. :)

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

> Либо, как более правдоподобный вариант - это нужно для того, чтобы 64битный совт мог проприетарные 32битные либы без проблем вызывать... Наверное, у интела таких много. :)

Наводящие вопросы:

1. Какой ABI используется этими проприетарными 32битными либами?

2. Можно ли линковать библиотеки с несовместимым ABI и несовместимым набором инструкций?

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

> Никто урезать аппаратные возможности процессоров исключительно ради некоей специализированной сборки linux не будет.

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

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

1. Какой ABI используется этими проприетарными 32битными либами?

Обычный, x32.

2. Можно ли линковать библиотеки с несовместимым ABI и

несовместимым набором инструкций?

С несовместимым набором инструкций - можно (при соотв доработке
ld.so), а на счёт ABI - есть пруф, что psABI не совместим с x32 ABI?
Если есть, тогда конечно нельзя. А так - мож это и есть backward-compat
ABI для 64битных прог? Инфы-то никакой...

anonymous
()
Ответ на: комментарий от ssvb

Наводящие вопросы:

Собственно, вот что написано в самом документе:
---
Binaries using the AMD64 instruction set may program to either a 32-bit
model, in which the C data types int, long and all pointer types are 32-bit
objects (X32); or to a 64-bit model, in which the C int type is 32-bits but the
C long type and all pointer types are 64-bit objects (LP64). This specification
covers both the LP64 and X32 programming models.
---

Таким образом, похоже, это и есть реализация x32 ABI for x86_64,
или я не прав?

anonymous
()
Ответ на: комментарий от Sylvia

>вот мы и дожили до того, что приходится пояснять что такое ABI...

Ну грустно комментарии читать же. Регулярно в тред врывается очередной человек с криками «Новые процессоры! Урезали возможности! AMD будет?!» и прочими «Галактика в опасности». Причем комментарии никто не читает - еще вчера все разжевали.

AptGet ★★★
()

Заголовок новости прекрасен.

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

Причем комментарии никто не читает - еще вчера все разжевали.

Разжевали - ну тогда ответь здесь и сейчас, для чего это всё нужно?
Только без мифических «экономит кучу памяти, доказано на жаве».
Специально весь трид прочёл - никто не знает, зачем сие (моё
предположение - для 32битных проприетарных либ, но сомнения слишком
велики).
Сильви 5 баллов за новость, обсуждение затянется. :))

anonymous
()
Ответ на: комментарий от anonizmus

>Ну это типа целерона очередное поделие для нищебродов, видимо.

ORLY? это ABI.

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

>> Никто урезать аппаратные возможности процессоров исключительно ради некоей специализированной сборки linux не будет.

Если это позволит им сэкономить хоть пять баксов на единицу продукции — они это сделают. Семь баксов вообще счастье.\

И первой перенесенной libc стала bionic, что как бы намекает.

tailgunner ★★★★★
()

Я думаю, что они под свой мурстоун (или как там этот недопроцессор для мобилок называется) этот ABI подводят.

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

>И первой перенесенной libc стала bionic, что как бы намекает.

Я бы предположил, что bionic, основанная на коде из netbsd, должна легко переноситься.

AptGet ★★★
()

Лю обновил сайт и теперь более ясно, что куда зачем. В рассылке (gcc, lkml, libc, выбирайте любую — там большой-большой Cc:) тоже интересная дискуссия, напоминающая конденсированное и вежливое лоровское «нафига козе баян». Точнее, нафига баян, более-менее ясно, а вот нафига отдельная таблица системных вызовов — тот еще вопрос.

А еще у автора неясные формулировки в ответ на вопрос: «так все-таки кто тут 64-битный, а кто — 32-битный?» Путаница с сисколлами, с time_t, ориентировка на маргинальные архитектуры типа встроенных решений на атоме, стадия глубокого черновика (то бишь, когда выкатится спецификация и тулчейн, интел закопает атом с его ограничениями). Мутное оно какое-то.

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

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

А именно?
---
X32 API is designed for environments where the current ia32 API is sufficient. It can be viewed as ia32 with register extended to 64bit plus 8 more registers. Everything else is still 32bit.
---
Он только на «что» и «куда» ответил, а таки зачем? Ни слова про
это там не нашёл. Прям «что где когда» какое-то. :)
И таки он будет с обычным x32 совместим, или не до конца?
И таки что даёт эта новость на ЛОР? :))

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