LINUX.ORG.RU

Полностью открытая аппаратная платформа

 ,


5

5

Группа разработчиков, в которую входит один из основателей проекта Raspberry Pi, объявила о работе над полностью открытой аппаратной платформой lowRISC. В отличие от Raspberry Pi, платформа предназначена для разработки массовых SoC. Опять же в отличие от Raspberry Pi, в качестве CPU будет использоваться процессор с ISA RISC-V; судя по тому, что в первой итерации SoC будет отсутствовать GPU, вопрос с его выбором ещё не решен.

Планируются тактовые частоты 500МГц-1ГГц при техпроцессе 40нм и 1-1.5ГГц при техпроцессе 28нм; ответы на вопрос «почему не MIPS? почему не OpenRISC?» есть в FAQ lowRISC и в FAQ RISC-V.

Ещё в RISC-V есть поддержка 128-битового адресного пространства, о которой мы так давно мечтали.

>>> Подробности

★★★★★

Проверено: fallout4all ()
Последнее исправление: CYB3R (всего исправлений: 3)
Ответ на: комментарий от azazello

пожалуйста, закончите хоть высшее образование в области ИТ

Плакал.

уже долго на жизнь зарабатываю в 3D. очень долго

Но при этом не сказал ничего конкретного. Впрочем, ладно...

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

А зачем r0 к нулю привязывают?

Я и сам это не до конца понимаю, но в ISA x0 используется, когда нужно игнорировать некоторое значение. Ну и специальный случай обнуления регистра/памяти, конечно.

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

OpenSPARC. Мне тоже непонятно, почему их не используют. По сравнению с сабжем преимущество, как минимум, в наличии SIMD.

OpenSPARC - это Оракел. Подозреваю, никто не хочет связываться с Оракелом после процесса против Гугла.

видимо, не всех устраивает GPL

Наверное, это тоже - lowRISC хочет «permissive open-source licence».

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

это высокопараллельный 16/32/64 битный процессор с FP/int модулями

так просто не отделаешься. Ати сколько не тужилось - а вместо видеокарт майнеры биткойнов получаются.

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

OpenSPARC - это ещё SUN.
А Оракл, кажется, похоронил всё что было связано с солярисом и спарками...

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

OpenSPARC - это ещё SUN.

Когда-то давно это был Sun (как и Java когда-то была). А сейчас - Оракел.

А Оракл, кажется, похоронил всё что было связано с солярисом и спарками...

Они развивают и то, и другое. Что, впрочем, делает идею связываться с OpenSPARC еще менее привлекательной :)

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

Работает

[    0.000000] Linux version 3.14.14-g989153f-dirty (skarandikar@a5) (gcc version 4.6.1 (GCC) ) #20 Fri Aug 1 23:18:58 PDT 2014
[    0.000000] Detected 0x10000000 bytes of physical memory
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x0fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x0fffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat ffffffff8024bef8, node_mem_map ffffffff8028e000
[    0.000000]   Normal zone: 224 pages used for memmap
/ # uname -a
Linux ucbvax 3.14.14-g989153f-dirty #20 Fri Aug 1 23:18:58 PDT 2014 riscv GNU/Linux

/ # cat /proc/cpuinfo 
CPU info: PUNT!
anonymous
()
Ответ на: комментарий от kike

Чтобы получать портируемость for free.

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

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

Мы уже поняли что твой повелитель велит рабам своим - ну и тебе в том числе, free pascal использовать

Этот язык для свободных художников, которые не желают жечь мозги забесплатно. С/С++ - только за бабки, а фрее софтваре почти не монетизируется.

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

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

Щито?

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

В железе на FPGA. Zybo board (arm a9 + FPGA в одном корпусе)

Какая реализация? Сколько места занял? Какая частота получилась?

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

Давайте ссылку на оригинальный документ

Я даю ссылки, которые считаю удобными. Спасибо за понимание.

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

Это даёт преимущества в том, чтобы использовать эту архитектуру очень долго и с меньшими костылями для поддержки legacy-кода.

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

Затем, что это SoC. В серверах по 8192 юнита SoC в текущем понимании не нужны, если на то пошло.

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

Тот ARM, что на RPi стоит, это залежаваяся на складах SoC, которую надо было скорее сбыть. Это главная причина, почему Raspberry Pi появился. Про массовое произвозство же сказано, что собираются выпустить SoC по цене менее 10$ за штуку.

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

Не MIPS потому, что сертификаты не у всех есть. А SoC открытую делают, чтобы каждый при наличии доступа к производству мог воспроизвести наработки в виде железа.

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

azazello> mesa на x86(через SSE)/arm(через Neon)/иже и есть реализация такого GPU.

Это называется программным рендерингом. GPU же - специализированная железка, которая заточена под быстрый обсчёт графики.

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

h31> Но решение использовать новую ISA - это чистый юношеский максимализм.

Вспоминаем ARM, которая недавно решила новую архитектуру сделать и назвать её ARM64...

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

kike> Интересно, почему портировали linux, а не FreeBSD?

Потому, что FreeBSD труднее переносить. Куда интереснее, почему не NetBSD.

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

h31> Это в МК можно сказать программистам: вот вам доки на процессор, вот вам доки на периферию, пилите, Шура, пилите. В полноценных компьютерах балом правят программы, а аппаратура должна под них подстраиваться.

Микроконтроллеры от «полноценных компьютеров» принципиально не отличаются. Весь вопрос в средствах разработки. Если аппаратуру дальше под программы подстраивать, то никакого развития не будет. Вон, мелкомягкие костылей наворотили ради того, чтобы под программы подстроиться. И что вышло? Правильно - говнище. В случае с линуксом такие проблемы решаемы, так как в первую очередь нужен подходящий компилятор, а остальное - компильнуть и проверить, а потом при надобности отладить и исправить.

h31> Ребята, видимо, сменили роль, взялись за аппаратуру, и внезапно поняли, что они теперь снизу. Вот они и делают всякие странные вещи.

Вот тут ты совсем неправ - они не странные вещи делают, а реальное железо начали делать вместо того, чтобы сунуть всем ISA и сказать: «Делайте что хотите». Наличие работающего железа важно. Они этим и занялись. Вот сколько ASIC на том же OpenRISC есть? Ноль? То-то и оно.

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

h31> если в RISC-V хотят попробовать что-то новое в «процессоростроении» - ну пусть делают.

Оно не новое - оно открытое и полноценное, плюс реализацию в виде ASIC и платы делают. Это лучше, чем крутить всё в эмуляторах и офигевать от платформы.

h31> Если у них цель - сделать доступный одноплатник с открытым процессором, то почему они выбрали экспериментальную разработку?

Разработка уже не экспериментальная. И вообще смотри «Why RISC-V and not OpenRISC/SPARCv8/MIPS/...?» и не задавай глупых вопросов. Там всё расписано.

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

h31> Поддерживать существующий код.

Поддерживать существующий код - это изначально определить особенности архитектуры (способы хранения данных и т.д.) для того, чтобы не пришлось в ограничения упираться долгое время, и предоставить компилятор, чтобы код можно было компильнуть без проблем. Что же до бинарников - ССЗБ. Ибо нефиг брать у кого попало бинарники без исходников и ставить на ответственное дело их. А если решили, что можно купить бинарники и железо - ну пусть потом докупают решения с нуля.

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

Штука хорошая, но это скорее синтезатор эффектов чем GPU. GPU ускоряет отрисовку графики в первую очередь.

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

Щито?

Никогда не находил в списке новых фич видеодров «исправлена совместимость с игрой Х» При разработке новых железяк должно быть тоже самое, тем более что в коробку часто и диск с хорошо идущей гамой кладут.

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

я в вивадо не очень.

как я понимаю, запускают на 125MHz, по расчётам может до 151 MHz кочегариться на этой плате. LUTы жрёт как паровоз.

|          Site Type         |  Used | Fixed | Available | Util% |
+----------------------------+-------+-------+-----------+-------+
| Slice LUTs                 | 16241 |     0 |     17600 | 92.27 |
|   LUT as Logic             | 13768 |     0 |     17600 | 78.22 |
|   LUT as Memory            |  2473 |     0 |      6000 | 41.21 |
|     LUT as Distributed RAM |  2472 |     0 |           |       |
|     LUT as Shift Register  |     1 |     0 |           |       |
| Slice Registers            | 11926 |     0 |     35200 | 33.88 |
|   Register as Flip Flop    | 11926 |     0 |     35200 | 33.88 |
|   Register as Latch        |     0 |     0 |     35200 |  0.00 |
| F7 Muxes                   |   756 |     0 |      8800 |  8.59 |
| F8 Muxes                   |     0 |     0 |      4400 |  0.00 |

|     Site Type     | Used | Fixed | Available | Util% |
+-------------------+------+-------+-----------+-------+
| Block RAM Tile    |  3.5 |     0 |        60 |  5.83 |
|   RAMB36/FIFO*    |    3 |     0 |        60 |  5.00 |
|     RAMB36E1 only |    3 |       |           |       |
|   RAMB18          |    1 |     0 |       120 |  0.83 |
|     RAMB18E1 only |    1 |       |           |       |

6. Clocking
|  Site Type | Used | Fixed | Available | Util% |
+------------+------+-------+-----------+-------+
| BUFGCTRL   |    1 |     0 |        32 |  3.12 |
| BUFIO      |    0 |     0 |         8 |  0.00 |
| MMCME2_ADV |    1 |     0 |         2 | 50.00 |
| PLLE2_ADV  |    0 |     0 |         2 |  0.00 |
| BUFMRCE    |    0 |     0 |         4 |  0.00 |
| BUFHCE     |    0 |     0 |        48 |  0.00 |
| BUFR       |    0 |     0 |         8 |  0.00 |



| Device       : 7z010-clg400
| Speed File   : -1  PRODUCTION 1.10 2014-03-13

    WNS(ns)      TNS(ns)  TNS Failing Endpoints  TNS Total Endpoints      WHS(ns)      THS(ns)  THS Failing Endpoints  THS Total Endpoints     WPWS(ns)     TPWS(ns)  TPWS Failing Endpoints  TPWS Total Endpoints  
    -------      -------  ---------------------  -------------------      -------      -------  ---------------------  -------------------     --------     --------  ----------------------  --------------------  
     19.330        0.000                      0                44105        0.021        0.000                      0                44105        6.751        0.000                       0                 15814  

Clock         Waveform(ns)         Period(ns)      Frequency(MHz)
-----         ------------         ----------      --------------
clk_fpga_0    {0.000 5.000}        10.000          100.000         
sys_clk_pin   {0.000 4.000}        8.000           125.000         
  gclk_fbout  {0.000 4.000}        8.000           125.000         
  host_clk_i  {0.000 20.000}       40.000          25.000  


Pulse Width Checks
--------------------------------------------------------------------------------------
Clock Name:         sys_clk_pin
Waveform:           { 0 4 }
Period:             8.000
Sources:            { clk }

Check Type  Corner  Lib Pin              Reference Pin  Required  Actual  Slack   Location         Pin
Min Period  n/a     MMCME2_ADV/CLKFBOUT  n/a            1.249     8.000   6.751   MMCME2_ADV_X0Y1  MMCME2_BASE_inst/CLKFBOUT
Max Period  n/a     MMCME2_ADV/CLKIN1    n/a            100.000   8.000   92.000  MMCME2_ADV_X0Y1  MMCME2_BASE_inst/CLKIN1



---------------------------------------------------------------------------------------------------
From Clock:  gclk_fbout
  To Clock:  gclk_fbout

Setup :               Failing Endpoints,  Worst Slack               ,  Total Violation             
Hold  :               Failing Endpoints,  Worst Slack               ,  Total Violation             
PW    :            0  Failing Endpoints,  Worst Slack        6.751ns,  Total Violation        0.000ns

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

OpenSPARC - это Оракел. Подозреваю, никто не хочет связываться с Оракелом после процесса против Гугла.

Он был открыт ещё в 2006м, когда Ораклом ещё не пахло. За столько лет могли бы пользователи появиться, если бы всё было в порядке. Интересно узнать, что именно пошло не так. Либо при всей открытости там есть какие-то юридические нюансы, либо архитектура слишком неудачная для процессора общего назначения.

lowRISC хочет «permissive open-source licence».

Это - первая причина, которая приходит в голову. Вторая - энергопотребление. Хотя тут трудно что-то сказать. Если оторвать от OpenSPARC simd, (а это люди в интернетах делали), энергопотребление уменьшится. Придумали ли они в lowRISC что-то чтобы быть ещё экономичнее - непонятно пока нет физических процов.

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

OpenSPARC - это Оракел. Подозреваю, никто не хочет связываться с Оракелом после процесса против Гугла.

Он был открыт ещё в 2006м, когда Ораклом ещё не пахло

Ява тоже.

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

Потому, что FreeBSD труднее переносить. Куда интереснее, почему не NetBSD.

Как только железка появится, энтузиасты перенесут туда NetBSD нахаляву. ;-)

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

Он был открыт ещё в 2006м, когда Ораклом ещё не пахло

Ява тоже.

Ну, так на неё и нашлись охотники. Почему на OpenSPARC не нашлись? Ждали 6 лет? Это как-то слишком много в процессорном мире.

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

Как только железка появится, NetBSD перенесётся туда сама. ;-)

Не благодари.

kike
()
Ответ на: комментарий от alt-x

Почему на OpenSPARC не нашлись? Ждали 6 лет?

Я думаю, что открытые реализации процессорных архитектур просто редко нужны. Вот с момента открытия SPARC никому не надо было. Даже сейчас непонятно, взлетит ли lowRISC.

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

OpenRISC уже которые годы собирает донаты на выпуск чипа, а эти где деньги собираются взять? На продаже значков?

O02eg ★★★★★
()

Вроде новость позитивная, а грустно. Если есть исходники программы, я могу их не только смотреть, а еще и править (хотя делаю это редко). А тут только изучать, если это не реализация на FPGA например (но тут дорого и неэффективно будет.) То есть такой опен сорс, но не для всех а для богатых )

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

Да конечно, прошу прощения, ведь термин GPU это изобретение nVidia, но разве видеоконтроллер не лучше чем ничего? Или видеоконтроллер у них уже есть? Тогда не ясно о чем переживать.

A-234 ★★★★★
()
Ответ на: комментарий от FreeLiver

Если есть исходники программы, я могу их не только смотреть, а еще и править (хотя делаю это редко). А тут только изучать

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

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

Да у меня вот прямо на столе плата лежит... Кто-нибудь вполне возможно уже реализовал на FPGA (понимаешь же что производительность и энергопотребление хуже в разы). Написав «для богатых» я имел ввиду производство ASIC. Ну то есть существует принципиальное отличие между открытым софтом и открытым железом. Ваш кэп)

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

А как же 128 бит?

Должны добавлять физической памяти?

На плате напаяно: 512MB x32 DDR3 w/ 1050Mbps bandwidth.

Половину отдали арму (в кремний), половину в RISC V (в FPGA).

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

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

согласен. у них первый суровый(R300) вообще 24битным получился, что поломало немало мозгов людям. разница в той самой команде прогеров из SGI, которая и породила индустрию во многом, и OpenGL в частности.

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

и «умения» относятся к SoC, у которой внутри много чего, кроме самого Milkymist.

Там все компоненты открытые: lm32, 2d GPU, DDR controller.

Для меня GPU - это процессор со своим набором команд.

С чего это такие ограничения? Далеко не всегда GPU это полноценный процессор. И там могут быть очень специфичные вещи - texture unit (как раз в Milkymist он очень похож на то, что ты найдешь и в коммерческих 3D GPU), vertex cache, и всякая подобная хренотень.

Сам процессор может быть тоже страшным, например, SIMD с предикатами, а может и вообще не уметь в бранчи.

то ли узкоспециализированный.

Ну да, узкоспециализированный. Заточен на спецэффекты и обработку видеопотока в реальном времени. Все GPU узкоспециализированные.

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