The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Android портирован для плат на архитектуре RISC-V, opennews (??), 23-Янв-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


211. "Android портирован для плат на архитектуре RISC-V"  –1 +/
Сообщение от Аноним (185), 25-Янв-21, 03:54 
> RISC-V - еще даже не взвлетевшая

А как она взлетит, если от рождения жирная? Вот типичная операция array[index]: на x86/arm занимает 1 (одну) команду, а на risc-v - 3 (три)!

Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

220. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от n00by (ok), 25-Янв-21, 08:18 
>> RISC-V - еще даже не взвлетевшая
> А как она взлетит, если от рождения жирная? Вот типичная операция array[index]:
> на x86/arm занимает 1 (одну) команду, а на risc-v - 3
> (три)!

На AMD64 тоже 3 выходит, если элемент размером больше 8 байт. На IA32 типовой размер 4 байта, поле Scale байта SIB имело запас, позволяющий хранить пару значений в элементе массива.

Ответить | Правка | Наверх | Cообщить модератору

235. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (185), 25-Янв-21, 09:44 
> тоже 3 выходит, если

где ты третью нашёл?!

Ответить | Правка | Наверх | Cообщить модератору

251. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от letsmac (ok), 25-Янв-21, 11:59 
Была статья от инженера конторы Arm. На хабре был перевод. RISC-V это пока замена MIPS/AVR/8051. Но не cortex с его уже не совсем RISC архитектурой.
Ответить | Правка | Наверх | Cообщить модератору

269. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (185), 25-Янв-21, 15:31 
> RISC-V это пока замена MIPS/AVR/8051

Это сразу было понятно, что доисторический шлак свелосипедили.

Ответить | Правка | Наверх | Cообщить модератору

319. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (376), 27-Янв-21, 16:46 
> Это сразу было понятно, что доисторический шлак свелосипедили.

Нихрена, они скорее идеи атм собезьянили, можно мелкое и обкоцаное, а можно вон тех опций донавернуть и ядро OoO сделать. Так оно микрконтроллер, а так - апликушник почтенный. А так нечто среднее, иногда тоже надо.

Ответить | Правка | Наверх | Cообщить модератору

276. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от Аноним (295), 25-Янв-21, 17:54 
А 8051 никогда RISCом и не был.
Ответить | Правка | К родителю #251 | Наверх | Cообщить модератору

281. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от letsmac (ok), 25-Янв-21, 18:27 
Имелась в виду сфера применения. У поздних хз что в ядре стоит - возможно тот-же RISC с декодером.
Ответить | Правка | Наверх | Cообщить модератору

337. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (-), 28-Янв-21, 03:03 
> Имелась в виду сфера применения. У поздних хз что в ядре стоит
> - возможно тот-же RISC с декодером.

Тем не менее еще один архитектурный уродец. За что и сожран с потрохами ARM. А теперь и RISCV слегка. Кстати да, хорошие вещи должны масшатироваться, по соображениям экосистемы. ARM просек и добился успехов :)

Ответить | Правка | Наверх | Cообщить модератору

315. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (-), 27-Янв-21, 16:27 
> Была статья от инженера конторы Arm.

Так не катит. Выдавать реалистичные заявления может только кто-нибудь нейтральный, без шкурного интереса. А тут явно не этот случай.

Ответить | Правка | К родителю #251 | Наверх | Cообщить модератору

365. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от netch (ok), 30-Янв-21, 11:06 
> Была статья от инженера конторы Arm. На хабре был перевод.

В статье половина - вкусовщина или устарело, из остатка ещё половина спорна. Фактически, единственное что похоже на повод задуматься это таки отсутствие адресации base+index*scale+offset. И то, практика показывает, что случаев необходимости в такой адресации реально ну очень мало.
Практический же код под RISC-V (64) оказывается даже компактнее, чем под AArch64.
Зато вот эта статья - повод задуматься: https://habr.com/ru/company/vdsina/blog/534542/

> RISC-V это пока замена MIPS/AVR/8051. Но не cortex с его уже не совсем RISC архитектурой.

Пока что видна тенденция на соревнование другими методами.

Ответить | Правка | К родителю #251 | Наверх | Cообщить модератору

272. "Android портирован для плат на архитектуре RISC-V"  –1 +/
Сообщение от n00by (ok), 25-Янв-21, 16:24 
>> тоже 3 выходит, если
> где ты третью нашёл?!

С запасом взял, что бы сошлись на 2-х в среднем.) Индекс может где-то еще использоваться, тогда его приходится копировать или хранить в 2-х регистрах в различном представлении (помноженный на 2, либо в виде адреса).

Ответить | Правка | К родителю #235 | Наверх | Cообщить модератору

252. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от letsmac (ok), 25-Янв-21, 12:04 
Вообще это нормально для чистых RISC процов. У них нет декодера - так что фактически тот-же ARM/x86 выполнит те-же три команды после декодера, просто это синтаксический сахар.
Ответить | Правка | К родителю #211 | Наверх | Cообщить модератору

268. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (185), 25-Янв-21, 15:29 
> тот-же ARM/x86 выполнит те-же три команды

и выполнит быстрее, чем пока risc-v будет ковыряться в трёх соснах.

Ответить | Правка | Наверх | Cообщить модератору

271. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (185), 25-Янв-21, 16:23 
> просто это синтаксический сахар

Ну ты сам-то посчитай... У x86 - 1 команда на 3 байта, у ARM - 1 команда на 4 байта, у RISC-V - 3 команды на 12 (!) байт. Затык по памяти у risc-v в 3..4 раза больше. Это раз. Далее - выборка команд, x86/arm сделают это за такт (опускаем пока, что x86 может вообще кучу команд сдекодить за раз). А вот risc-v сделает это за 3 такта (но после того, как пережуёт в 3..4 раза больше памяти). Это два. Всё, уже приплыли. И третий этап - конвейер, у нормальных будет результат на каждый такт, у risc-v - никак эти 3 команды не слепятся в одну. Ты удивишься, но операция base+scale*index выполняется за раз, а не в два приёма, как ты подумал.

Ответить | Правка | К родителю #252 | Наверх | Cообщить модератору

274. "Android портирован для плат на архитектуре RISC-V"  +2 +/
Сообщение от letsmac (ok), 25-Янв-21, 16:47 
>> просто это синтаксический сахар
> Ну ты сам-то посчитай... У x86 - 1 команда на 3 байта,
> у ARM - 1 команда на 4 байта, у RISC-V -

У x86 команда от байта до 4, еще и параметры хз сколько займут.  Из-за этого и геморрой с этой помесью велосипеда с осьминогом. Там декодер просто переуплотнен.

>>у RISC-V - 3 команды на 12 (!) байт.

Да пофиг реально. Никак не повлияет,

>>А вот risc-v сделает это за 3 такта

С чего бы? Даже AVR спокойно по 4 команды за такт кушал.

>>Ты удивишься, но операция base+scale*index выполняется за раз, а не в два приёма, как ты подумал.

Я ничего не думал. Операция обращения в RAM зависит только от RAM, чего там процессор в смещении насчитал сугубо его проблемы.

Ответить | Правка | Наверх | Cообщить модератору

297. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Аноним (185), 27-Янв-21, 06:38 
> У x86 команда от байта до 4, еще и параметры хз сколько займут

Не тупи, команда x86 base+scale*index кодируется ТРЕМЯ байтами.

Ответить | Правка | Наверх | Cообщить модератору

292. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от www2 (??), 26-Янв-21, 08:26 
>А как она взлетит, если от рождения жирная? Вот типичная операция array[index]: на x86/arm занимает 1 (одну) команду, а на risc-v - 3 (три)!

Либо дурак, либо тонкий тролль.

RISC - это Reduced Instruction Set Computer, то есть компьютер с упрощённым набором команд. Поскольку команды упрощены, для выполнения тех же операций требуется выполнить больше команд. Но за счёт этого процессор получается проще, команды выполняются быстрее и их проще выполнять конвейерным способом: несколько последовательных инструкций выполняются одновременно, каждая на своём этапе.

Ну и чтобы было понимание: x86 и arm внутри себя имеют RISC-ядра. Одна большая внешняя команда транслируется в несколько простых команд внутри процессора для исполнения их на RISC-ядре. Инструкции RISC при этом остаются неизменными, т.к. "отлиты в железе", а вот транслятор можно настраивать при помощи микрокода: прошивки для процессора. Можно заливкой новой прошивки реализовывать новые инструкции или управлять тем, в какие инструкции для RISC-ядра транслируются внешние большие инструкции.

Ответить | Правка | К родителю #211 | Наверх | Cообщить модератору

293. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от Аноним (295), 26-Янв-21, 12:02 
ARM перестал быть RISC? ARM - Advanced RISC Machine, как бы.
Ответить | Правка | Наверх | Cообщить модератору

316. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от Аноним (-), 27-Янв-21, 16:29 
> ARM перестал быть RISC? ARM - Advanced RISC Machine, как бы.

Он перестал быть удобной компанией у которой можно просто лицензировать процессорные ядра. Остальное при этом уже не важно. Они урыли свой главный ассет своими фокусами с нвидией. Статус-кво нарушен.

Ответить | Правка | Наверх | Cообщить модератору

298. "Android портирован для плат на архитектуре RISC-V"  –1 +/
Сообщение от Аноним (185), 27-Янв-21, 06:41 
Бла-бла-бла... Кроме академических слов ничего не знаешь про реальные архитектуры.
Ответить | Правка | К родителю #292 | Наверх | Cообщить модератору

324. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Онаним (?), 27-Янв-21, 21:19 
> А как она взлетит, если от рождения жирная? Вот типичная операция array[index]:
> на x86/arm занимает 1 (одну) команду, а на risc-v - 3
> (три)!

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

Почему бы не делать компилятором - это же так можно, да?

Да можно, и даже не менее эффективно, но... До первого conditional'а. Когда на RISC компилятору придётся не раскладывать ничего, кроме этого самого conditional'а, и только после получения результата дальше в новой цепочке раскладывать, потому что компилятор не знает, что там в источнике для условия, какие данные, и знать не может. А вот декодер CISCoRISC вполне может знать - и разложит "вперёд", занимая свободные модули. Если совсем не знает - разложит обе цепочки спекулятивно, и одну выкинет.

Ответить | Правка | К родителю #211 | Наверх | Cообщить модератору

325. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Онаним (?), 27-Янв-21, 21:23 
А самое весёлое начинается когда у тебя число например исполнительных модулей изменилось от ревизии проца к ревизии проца. CISCoRISC старый код выполнит, и даже возможно более оптимально разложит. А вот в случае чистого RISC ты в общем случае идёшь компилять всё заново :D
Ответить | Правка | Наверх | Cообщить модератору

329. "Android портирован для плат на архитектуре RISC-V"  +1 +/
Сообщение от Аноним (-), 27-Янв-21, 21:44 
Спасибо, все уже видели чего и куда интеловский декодер и микрокод раскладывают своим мельдонием. И потом хрен дождешься патченый микрокод, новый проц, дескать, лучше купите для починки интельской криворукости. Ага, отлично. А может лучше тогда денег кому-то другому дать? А то еще и отдельно платить за то чтобы процы не глюкавые были - это уже вообще оборзение в терминальной стадии у фирмы. Management Engine, значит, у этих сволочей время кодить есть, а свои косяки чинить - нет? А зачем такой производитель нужен?
Ответить | Правка | Наверх | Cообщить модератору

361. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от netch (ok), 30-Янв-21, 10:58 
> А самое весёлое начинается когда у тебя число например исполнительных модулей изменилось
> от ревизии проца к ревизии проца. CISCoRISC старый код выполнит, и
> даже возможно более оптимально разложит. А вот в случае чистого RISC
> ты в общем случае идёшь компилять всё заново :D

Это такая наркомания, что я вообще не знаю, как цензурно комментировать ;\
RISC не EPIC, в нём никаких подобных ограничений. Нормальный out-of-order заводится на нём не хуже чем на CISC, а то и лучше - декодер проще, не нужно регенерации потока микрокоманд. Уже старшие MIPS тому пример.

Ответить | Правка | К родителю #325 | Наверх | Cообщить модератору

366. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Онаним (?), 30-Янв-21, 11:10 
> а то и лучше -  декодер проще, не нужно регенерации потока микрокоманд

Оставим в покое MIPS, который ни жив ни мёртв. Давай за ARM, у которого таки и настоящее повеселее, и будущее не так печально.

То-то новые кортексы из фарша RISC сначала макрокоманды собирают (ну, не из всего, конечно), и даже кешируют, а потом решедулят на ядро, заново разобрав. Мужики-то не знали, что оно и проще, и не хуже, и нагородили вот такой огород, чтобы хоть как-то сделать вид, что умеют планировать не хуже CISC'ов.

Про EPIC и VLIW речи не шло. Там вообще никаким OOO близко не пахнет. В итанике попробовали, но вышло так себе.

Ответить | Правка | Наверх | Cообщить модератору

369. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от netch (ok), 30-Янв-21, 11:30 
> Оставим в покое MIPS, который ни жив ни мёртв. Давай за ARM,
> у которого таки и настоящее повеселее, и будущее не так печально.
> То-то новые кортексы из фарша RISC сначала макрокоманды собирают (ну, не из
> всего, конечно), и даже кешируют, а потом решедулят на ядро, заново
> разобрав.

Давай. Что именно они разбирают и складывают заново? Подробности в студию. Давай напророчу: в первую очередь это замена всяких cmp+bne на одну операцию. Потому что для OoO узкое место в виде одного регистра флагов на всё это гиря на ноге - и это у ARM таки общее с x86.

Или ты просто про раскладку по параллельным исполнительным блокам после разделения независимых операций и регистровых значений? Так это как раз не требует сложной подготовки при компиляции, и идентично переносится на RISC-V, MIPS, Power, и прочая и прочая.

> Мужики-то не знали, что оно и проще, и не хуже,
> и нагородили вот такой огород, чтобы хоть как-то сделать вид, что
> умеют планировать не хуже CISC'ов.

Предварительно ввернув один из главных CISCʼовских костылей (см. выше)? Ну да, самоисполняющееся пророчество.

Ответить | Правка | Наверх | Cообщить модератору

370. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от Онаним (?), 30-Янв-21, 12:01 
> Предварительно ввернув один из главных CISCʼовских костылей (см. выше)? Ну да, самоисполняющееся пророчество.

Именно так. Потому что без этого костыля оно так себе.

Ответить | Правка | Наверх | Cообщить модератору

373. "Android портирован для плат на архитектуре RISC-V"  +/
Сообщение от netch (ok), 30-Янв-21, 12:12 
>> Предварительно ввернув один из главных CISCʼовских костылей (см. выше)? Ну да, самоисполняющееся пророчество.
> Именно так. Потому что без этого костыля оно так себе.

Ну вот тогда у RISC-V как у архитектуры, где этот костыль с одним регистром на всех не нужен, а условием перехода становится наличный прямо сейчас явный результат, получается преимущество.

Ещё одно преимущество - так как передовые компиляторы сейчас на SSA, команды сравнения с немедленным переходом требуют меньше укладки на целевую ISA, чем те, которые зажаты одним регистром условий. (Вот интересно бы почитать, какая эффективность этого на Power - что-то быстро не могу найти такого анализа.)

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру