RISC-V

Другие микроконтроллеры и микропроцессоры, не попавшие в предыдущие разделы

Moderator: Shaos

Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

RISC-V

Post by Odin P. Morgan »

http://riscv.org

Почему-то никто не рассматривал, данную архитектуру на этом форуме. А я с нетерпением жду когда выйдет 128битная разновидность.
64 битные числа с плавающей запятой и двойной точностью - ды это можно видеоускоритель делать :) Что скажете?
Yuri
Senior
Posts: 178
Joined: 01 May 2012 04:29
Location: 194.158.206.200

Re: RISC V

Post by Yuri »

Вот чего я я накопал по этой теме:
Открытый набор команд
Интересный процессор. Ознакомился с его системой команд. Есть забавные моменты: так в нескольких командах битовое поле непосредственного смещения разбито на две части. Зачем это нужно я не знаю. :D
Впрочем, почитайте сами:
http://www.eecs.berkeley.edu/~waterman/papers/riscv-tr.pdf

RISC-V - это всё таки более усовершенствованный MIPS, хотя и принявший облик отдельной архитектуры.
RISC-V основан на MIPS, только у RISC-V кроме инструкций R, I, J типа появились ещё две разновидности инструкций B и L типа, а также есть расширенные режимы адресации адресного пространства памяти. Как и у MIPS, у RISC-V есть такой же регистровый файл из 32-х регистров общего назначения, и нет регистра состояния (это особенность MIPS-подобных процессорных архитектур, типичный пример - DEC ALPHA).
В руководстве "The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA" (смотри ссылку выше) на 32-ой странице подтверждают, что основой архитектуры RISC-V является архитектура MIPS:
The RISC-V ISA and instruction set manual builds up several earlier projects. Several aspects of
the supervisor-level machine and the overall format of the manual date back to the T0 (Torrent-0)
vector microprocessor project at UC Berkeley and ICSI, begun in 1992. T0 was a vector processor
based on the MIPS-II ISA, with Krste Asanovi´c as main architect and RTL designer, and Brian
Kingsbury and Bertrand Irrisou as principal VLSI implementers.
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

Всё таки наверное RISC-V это развитие линейки Berkeley RISC (RISC и RISC II), а не MIPS...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Yuri
Senior
Posts: 178
Joined: 01 May 2012 04:29
Location: 194.158.206.200

Re: RISC V

Post by Yuri »

Берклинский RISC I и II - это процессор с регистром состояния(регистр флагов) для целочисленной арифметики, наподобие ARM. RISC-V не имеет регистра состояния для целочисленной арифметики, а это свойство только MIPS-подобных процессоров.
Первоначальный Berkley RISC имел регистр состояния, соответственно, что бы осуществить условный переход, для него необходимо выполнить две инструкции: инструкцию сравнения операндов с установкой флагов в регистре состояния, а затем инструкцию условного перехода по значению соответствующего флага. В RISC-V нет регистра состояния, поэтому для выполнения условного перехода требуется всего одна инструкция, в которой указаны: операнды которые будут сравниваться, требуемое условие сравнения и адрес перехода(обычно используется косвенная адресация со смещением). Разница огромна !!! Berkeley RISC(I и II) и RISC-V совершенно разные архитектуры. Фактически, между Berkeley RISC(I и II) и RISC-V нет ничего общего (они абсолютно несовместимы ни по коду ни по ассемблеру).
Кроме того RISC-V был разработан на основе проектов T0 (MIPS II), SMIPS, Maven( развитие MIPS в более отдаленную архитектуру по сравнению с первоначальной). Только в 2010 RISC-V оформляется в самостоятельную архитектуру, отдалившись от MIPS.
Это и удивительно, что создатель RISC I и II Дэвид Паттерсон отказался от первоначальной концепции своей архитектуры, и сделал выбор в пользу MIPS-подобной архитектуры. Конечно, это потребовало от него глубокого переосмысления концепции RISC.
P.S.
Кстати, это не первая попытка сделать MIPS-подобную свободную архитектуру. До RISC-V были MIPS-lite и Yellow Star, но их развитие было остановлено по требованию MIPS Technologies из-за нарушения патентов. Поэтому RISC-V и появился как ответ на патентные споры, избежать которых создателям RISC-V удалось только окончательно удалившись от привязки к MIPS.
Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

Re: RISC V

Post by Odin P. Morgan »

Чуть проясню: разработчик RISC-V, тот-же самый человек который работал и над MIPS и над ARM, он решил утянуть оттуда лучшее, и пойти дальше. RISC-V можно сравнивать ещё со PSARC, есть схожие моменты, однако регистровых окон нет, используется более рациональный "стек" из ARM (регистровые окна, так или иначе усложнят конструкцию ядра, и утяжелят оптимизацию кода). Однако в базе своей архитектура скорее MIPS подобная, однако чувствуется сильное веяние SPARC. От ARM там только аппаратный стек и ещё какие-то мелочи. (Вообще я считаю ARM худшим из всей доступной, популярной линейки RISC процов: POWER, SPARC, MIPS, ARM, OpenRISC, RISC-V). Про POWER ничего не могу сказать - не щупал, понравился MIPS, SPARC - впечатлил производительностью, с другой стороны сложноват (те же подозрения на POWER), ARM - тухляк, а вот RISC-V - мне кажется, самое золото РИСКов! =)
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Re: RISC V

Post by bigral »

Odin P. Morgan wrote: ARM - тухляк, а вот RISC-V - мне кажется, самое золото РИСКов! =)
Интересно мне вот, а не "тухляк" ли вообще сама эта RISC концепция? Ну предположим создали какое-то количество (с понтом маленькое) команд в проце и как потом повысить производительность на них? только за счет ядер, с которыми вечные проблемы и в софте и в силиконе. По-моему x86 выжил за счет расширения команд а не за счет урезания их количества, потому как новые команды все более мощьные а количество тактов на команду не растет если их добавлять отдельным куском силикона. Так гляди скоро весь libc будет сделан на кристалле.
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

x86 риск-ядром и исполняется - гдето микрокодом (атом), где то в силиконе (негалем)
а вообще классических рисков вроде и нет уже - все нарасширяли свои наборы команд уже всякими жирными командами...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: RISC V

Post by Lavr »

bigral wrote:Интересно мне вот, а не "тухляк" ли вообще сама эта RISC концепция?
Сама эта RISC концепция - не "тухляк". Но чистых RISC сейчас действительно практически нет.
Я где-то на форуме выкрадывал требования к чистому RISC - они сейчас действительно очень смягчены.
iLavr
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Re: RISC V

Post by bigral »

А мне чето кажется чистый тухляк, особенно если брать "крайний случай" RISC проца (у которого нет кодов команд в памяти а токо одни операнды) как максимально отражающий суть вопроса, так вот как не крути он самый тормознутый на реальных приложениях а не в выполнении той самой единственной своей команды. А то что внутри atoma то не процессор а микропрограмное управление.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: RISC V

Post by Lavr »

bigral wrote:А мне чето кажется чистый тухляк, ...
Ну, когда кажется - советуют креститься... :mrgreen:
iLavr
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

bigral wrote:А то что внутри atoma то не процессор а микропрограмное управление.
А на чём эти микропрограммы крутятся? На риск-ядре конечно же :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Re: RISC V

Post by bigral »

Shaos wrote:А на чём эти микропрограммы крутятся? На риск-ядре конечно же :)
Хех, ну как бы да, но проц в целом не совсем RISC даже очень себе CISC. Для выполнения старых команд, вполне годится RISC ядро с кучей микрокода, так как старый софт их использующий уже написан и писался для более тормозных процов, таким образом можно сократить размер "силикона" упаковав его в микрокод. Но главная ж фича нового проца в том что проц еще имеет НОВЫЕ жЫрные блоки заточенные под выполнение жЫрных команд за 1 такт. Как бы подразумевается что новые проги будут быстрее старых именно за счет новых жЫрных команд (пример тут твоя эпопея с либой под ppc пользующей вместо обычных команд altivec). При этом количество команд постоянно увеличивается.

Если глянуть на эволюцию процов pdp11 то видно похожую тенденцию:
- самый первый 20-й проц без микрокода c базовым набором команд;
- следующие процы 35,40,03 были уже с микрокодом и за счет расширений могли иметь команды EIS и FIS;
- 45-й и далее могли иметь FPP;
- 23,24,44,74 могли иметь CIS;
это еще не учитывая отдельных новых команд которые были сами по себе и не относятся к перечисленным наборам, + еще новые регистры, + дубликаты наборов регистров
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: RISC V

Post by Lavr »

bigral wrote:но проц в целом не совсем RISC даже очень себе CISC.
Вовсе он НЕ "очень себе CISC" - типичный проц, вобравший в себя успешные черты обоих архитектур.
У этих процев и своё название архитектуры есть (лень мне сейчас его гуглить)...
А называть его "очень себе CISC" - ошибочно.
iLavr
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: RISC V

Post by angry_troll »

А вот кто даст ссылку на нормальную доку риск-вэ, не с рефлексией аффторов, мол почему мы сделали так и как ещё хотели и с самохвальбой какие они умные и как биты в опкоде распределили, а с ОПИСАНИЕМ каждой команды. Ну как в любой другой доке (z80, avr, arm, ppc, openrisc, 68k, etc.), перечислены все команды отдельными пунктами, формальное описание закорючками, опкод и варианты, флаги (или тут флагов нету?), несколько слов.
привет засранцу лавру :)
aav8
Maniac
Posts: 287
Joined: 05 Nov 2008 19:47
Location: 81.28.208.238

Re: RISC V

Post by aav8 »

angry_troll wrote:А вот кто даст ссылку на нормальную доку риск-вэ, не с рефлексией аффторов, мол почему мы сделали так и как ещё хотели и с самохвальбой какие они умные и как биты в опкоде распределили, а с ОПИСАНИЕМ каждой команды. Ну как в любой другой доке (z80, avr, arm, ppc, openrisc, 68k, etc.), перечислены все команды отдельными пунктами, формальное описание закорючками, опкод и варианты, флаги (или тут флагов нету?), несколько слов.
погуглить "riscv-spec-v2.1.pdf"