RISC-V

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

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

Shaos wrote:Запустил в этом эмуляторчике RTOS (операционную систему реального времени) Zephyr ( Зефир : )

https://github.com/zephyrproject-rtos/zephyr/

Точнее 2 мультитредных примера, необходимых для прохождения на конкурс RISC-V :)
Зефирное ядро прилинковывается прямо к примеру и надо пускать получаемый файл zephyr.elf

Проблема в том, что для успешной работы нужен не совсем последний набор исходников:

https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v1.13.0
Подробности про RTOS Zephyr для RISC-V:

https://www.sifive.com/blog/getting-started-with-zephyr-rtos-v1.13.0-on-risc-v
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

Некая компания "Esperanto" разрабатывает супербыстрый RISC-V процессор:

http://www.linleygroup.com/newsletters/newsletter_detail.php?num=5949

Он реализует RV64GC (64-битная архитектура RISC-V с плавающей точкой и т.д. плюс компактные опкоды), декодируя 4 инструкции за один цикл и посылая их в 5 вычислительных модулей в Out-Of-Order (не по порядку) через 10-шаговый конвейер и всё это работает на 2 ГГц на 7нм технологии...

P.S. У меня на днях (до прочтения вышестоящей новости) мысль мелькнула, что наряду со своим Retro-V ядром с 8-битной шиной, можно разработать супер-быстрое ядро Super-V с 64-битной шиной, которая бы читала 2 стандартные 32-битные инструкции за цикл (или даже 4 компактные 16-битные инструкции за цикл) - типа superscalar, побив все существующие опенсорцные реализации по скорости, но вот это что выше описано оно конечно не побъёт :roll:

P.P.S. Создал топик про Super-V в другом подфоруме: viewtopic.php?f=46&t=19210
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

Shaos wrote:
Shaos wrote:вот есть опенсорцный эмулятор RISC-V под лицензией MIT:

https://bellard.org/tinyemu/

а вот урезанная до RV32I версия (один текстовый файл на полторы тыщи строк):

https://gist.github.com/FrankBuss/c974e59826d33e21d7cad54491ab50e8

причём которая способна проходить тесты совместимости для RISC-V 32-битной целочисленной подсистемы RV32I:

https://github.com/riscv/riscv-compliance

надо чтоли поиграться с этим...
В этом эмуляторчике по ходу кроме базового набора инструкций из RV32I есть умножение-деление (RV32M) и атомарные операции (RV32A) - сделаю макрос, чтобы их отключить

Текущее состояние эмуля: https://gitlab.com/nedopc/npc5/blob/master/emu-rv32i.c
Тут наткнулся вчера на тему, что Linux на RISC-V требует обязательного наличия подсистемы атомарных операций (RV32A)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC-V

Post by Shaos »

По ассемблеру:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

Shaos wrote:Некая компания "Esperanto" разрабатывает супербыстрый RISC-V процессор:

http://www.linleygroup.com/newsletters/newsletter_detail.php?num=5949

Он реализует RV64GC (64-битная архитектура RISC-V с плавающей точкой и т.д. плюс компактные опкоды), декодируя 4 инструкции за один цикл и посылая их в 5 вычислительных модулей в Out-Of-Order (не по порядку) через 10-шаговый конвейер и всё это работает на 2 ГГц на 7нм технологии...

P.S. У меня на днях (до прочтения вышестоящей новости) мысль мелькнула, что наряду со своим Retro-V ядром с 8-битной шиной, можно разработать супер-быстрое ядро Super-V с 64-битной шиной, которая бы читала 2 стандартные 32-битные инструкции за цикл (или даже 4 компактные 16-битные инструкции за цикл) - типа superscalar, побив все существующие опенсорцные реализации по скорости, но вот это что выше описано оно конечно не побъёт :roll:

P.P.S. Создал топик про Super-V в другом подфоруме: viewtopic.php?f=46&t=19210
Куча компаний щас появилась, которые предлагают свои реализации RISC-V - как правило это одно встраиваемое 32-битное решение типа микроконтроллера и другое навороченное 64-битное для запуска линукса - надо чтоли мне тоже побыстрее нагородить свою линейку ;)

Можно еще промежуточное решение сделать - для 16-битной шины BBQ-bus+ :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Yuri
Senior
Posts: 178
Joined: 01 May 2012 04:29
Location: 194.158.206.200

Re: RISC-V

Post by Yuri »

Суровые мипсы нагнали уже.
https://3dnews.ru/979795
Риск 5 ждёт суровая борьба.
https://www.mipsopen.com/
Я не за риск 5 и не за мипс. Я за ардуино!
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC-V

Post by Shaos »

Почти через год пропеарили :mrgreen:

https://hackaday.com/2019/11/19/emulating-risc-v-on-an-fpga/
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC-V

Post by Shaos »

RISC-V в логисиме играет "Bad Apple" :lol:


https://youtu.be/1OfeswjPZuw
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC-V

Post by Shaos »

Вот ещё один RISC-V, который играет "Bad Apple" - в железе :o


https://youtu.be/0F4-3X4bet0

Подробности тут: https://www.seeedstudio.com/Sipeed-Longan-Nano-RISC-V-GD32VF103CBT6-DEV-Board-p-4725.html
  • Powerful GD32VF103CBT6 MCU with RISC-V 32-bit core (128KB Flash, 32KB SRAM)
  • Onboard 0.96inch 160x80 IPS RGB LCD
  • Core power consumption is only 1/3 of that of traditional Cortex-M3
  • Double-row pin layout design which is breadboard friendly
  • Supports multiple download methods (USB DFU download, UART ISP download, JTAG download)
  • Peripheral:
    ● 4 x general-purpose 16-bit timer, 2 x basic 16-bit timer, 1 x advanced 16-bit timer
    ● Watchdog, RTC, Systick
    ● 3x USART, 2 x I2C, 3 x SPI, 2 x I2S, 2 x CAN, 1 x USBFS (OTG),
    ● 2 x ADC (10 channel), 2 x DAC
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC-V

Post by Shaos »

Вот пишут Debian написал хорошие инструкции как этот линух бутать на RISC-V:

https://wiki.debian.org/RISC-V

Вот вкраце из рассылки, которую я только что получил:
Here are the commands I used to setup the base image:

Code: Select all

apt-get install debootstrap qemu-user-static binfmt-support debian-ports-archive-keyring

debootstrap --arch=riscv64 --keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring unstable /mnt/tmp http://deb.debian.org/debian-ports
I first tried running RISC-V Qemu on Buster, but even ls didn’t work properly and the installation failed.

Code: Select all

chroot /mnt/tmp bin/bash
# ls -ld .
/usr/bin/ls: cannot access '.': Function not implemented
When I ran it on Unstable ls works but strace doesn’t work in a chroot, this gave enough functionality to complete the installation.

Code: Select all

chroot /mnt/tmp bin/bash
# strace ls -l
/usr/bin/strace: test_ptrace_get_syscall_info: PTRACE_TRACEME: Function not implemented
/usr/bin/strace: ptrace(PTRACE_TRACEME, ...): Function not implemented
/usr/bin/strace: PTRACE_SETOPTIONS: Function not implemented
/usr/bin/strace: detach: waitpid(1602629): No child processes
/usr/bin/strace: Process 1602629 detached
When running the VM the operation was noticably slower than the emulation of PPC64 and S/390x which both ran at an apparently normal speed. When running on a server with equivalent speed CPU a ssh login was obviously slower due to the CPU time taken for encryption, a ssh connection from a system on the same LAN took 6 seconds to connect. I presume that because RISC-V is a newer architecture there hasn’t been as much effort made on optimising the Qemu emulation and that a future version of Qemu will be faster. But I don’t think that Debian/Bullseye will give good Qemu performance for RISC-V, probably more changes are needed than can happen before the freeze. Maybe a version of Qemu with better RISC-V performance can be uploaded to backports some time after Bullseye is released.

Here’s the Qemu command I use to run RISC-V emulation:

Code: Select all

qemu-system-riscv64 -machine virt -device virtio-blk-device,drive=hd0 -drive file=/vmstore/riscv,format=raw,id=hd0 -device virtio-blk-device,drive=hd1 -drive file=/vmswap/riscv,format=raw,id=hd1 -m 1024 -kernel /boot/riscv/vmlinux-5.10.0-1-riscv64 -initrd /boot/riscv/initrd.img-5.10.0-1-riscv64 -nographic -append net.ifnames=0 noresume security=selinux root=/dev/vda ro -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0 -device virtio-net-device,netdev=net0,mac=02:02:00:00:01:03 -netdev tap,id=net0,helper=/usr/lib/qemu/qemu-bridge-helper
Currently the program /usr/sbin/sefcontext_compile from the selinux-utils package needs execmem access on RISC-V while it doesn’t on any other architecture I have tested. I don’t know why and support for debugging such things seems to be in early stages of development, for example the execstack program doesn’t work on RISC-V now.

RISC-V emulation in Unstable seems adequate for people who are serious about RISC-V development. But if you want to just try a different architecture then PPC64 and S/390 will work better.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

Shaos wrote:
Shaos wrote:вот есть опенсорцный эмулятор RISC-V под лицензией MIT:

https://bellard.org/tinyemu/

а вот урезанная до RV32I версия (один текстовый файл на полторы тыщи строк):

https://gist.github.com/FrankBuss/c974e59826d33e21d7cad54491ab50e8

причём которая способна проходить тесты совместимости для RISC-V 32-битной целочисленной подсистемы RV32I:

https://github.com/riscv/riscv-compliance

надо чтоли поиграться с этим...
В этом эмуляторчике по ходу кроме базового набора инструкций из RV32I есть умножение-деление (RV32M) и атомарные операции (RV32A) - сделаю макрос, чтобы их отключить

Текущее состояние эмуля: https://gitlab.com/nedopc/npc5/blob/master/emu-rv32i.c

P.S. А ещё у RISC-V есть инструкции привелигированного режима (в микро-эмуле поддержаны все, кроме URET):
Оказывается National Cheng Kung University (Taiwan) взял этот эмуль и дальше развивает :)

https://github.com/sysprog21/rv32emu

Теперь полный набор копирайтов там выглядит вот так ;)

Code: Select all

Copyright (c) 2019 National Cheng Kung University, Taiwan
Copyright (c) 2018 Alexander Shabarshin
Copyright (c) 2018 Frank Buss
Copyright (c) 2016-2017 Fabrice Bellard
Надо чтоли ихние изменения себе тоже замёрджить :dj:

P.S. У них есть несколько открытых пулл-реквестов, например компресснутый набор инструкций, а мне как минимум надо взять те пулл-реквесты, которые было одобрены и смёрджены:
https://github.com/sysprog21/rv32emu/pulls?q=is%3Apr+is%3Aclosed
Также их репу уже форкнули 19 раз:
@sysprog21 sysprog21 / rv32emu
@0x59616e 0x59616e / rv32emu
@amirgon amirgon / rv32emu
@brchiu brchiu / rv32emu
@czak czak / rv32emu
@eddie9712 eddie9712 / rv32emu
@HexRabbit HexRabbit / rv32emu
@kaeteyaruyo kaeteyaruyo / rv32emu
@kksweet8845 kksweet8845 / rv32emu
--- @dc-tw dc-tw / rv32emu
@kohnakagawa kohnakagawa / rv32emu
@llvmphighter llvmphighter / rv32emu
@manbing manbing / rv32emu
@sun363587351 sun363587351 / rv32emu
@taisukef taisukef / rv32emu
--- @shihyu shihyu / rv32emu
@tylerchen0619 tylerchen0619 / rv32emu
@xl86305955 xl86305955 / rv32emu
@yangyi625 yangyi625 / rv32emu
@yuppox yuppox / rv32emu
Дополнительную работу поделали вот эти форки:
https://github.com/czak/rv32emu - This branch is 7 commits ahead, 3 commits behind sysprog21:master.
https://github.com/kaeteyaruyo/rv32emu - This branch is 1 commit ahead of sysprog21:master.
https://github.com/kksweet8845/rv32emu - This branch is 24 commits ahead, 3 commits behind sysprog21:master.
--- https://github.com/dc-tw/rv32emu - This branch is 14 commits ahead, 36 commits behind kksweet8845:master. (форкнут из предыдущего форка)
https://github.com/manbing/rv32emu - This branch is 1 commit ahead, 1 commit behind sysprog21:master.
https://github.com/taisukef/rv32emu - This branch is 13 commits ahead, 3 commits behind sysprog21:master. (добавлена поддержка RV32C)
--- https://fukuno.jig.jp/2691
--- https://fukuno.jig.jp/2722
https://github.com/xl86305955/rv32emu - This branch is 1 commit ahead, 15 commits behind sysprog21:master.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC V

Post by Shaos »

Shaos wrote:
Shaos wrote: Оказывается у меня есть книжка человека, который в данный момент является CEO SiFive :)

Книжка 90х годов (у меня 3я редакция 1999 года) и купил я её на амазоне в октябре 2011 за $5.33 ( включая доставку : )

Автор в те времена работал в Intel...
кхм - только что получил запрос через Linkedin :roll:

Image
Интел внезапно надумал покупать SiFive за 2 миллиарда :o

https://www.cnews.ru/news/top/2021-06-11_intel_pokupaet_razrabotchika

Возможно CEO был засланный казачок, чтобы сдать основного игрока в области RISC-V...

P.S. Оказывается Naveed Sherwani уже теперь "Former President/CEO, SiFive Inc" то бишь бывший, а с сентября 2020 года он там "Chairman" (председатель совета директоров)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: RISC-V

Post by Shaos »

SiFive окончательно отказало Интелу в продаже:

https://www.cnews.ru/news/top/2021-10-22_intel_upustila_shans_kupit

P.S. Naveed Sherwani уже там совсем не при делах с января 2021 года
Я тут за главного - если что шлите мыло на me собака shaos точка net
A.L.
Novelist
Posts: 32
Joined: 23 May 2013 23:21
Location: 194.158.203.14

Re: RISC-V

Post by A.L. »

Вроде не видел - https://hackaday.io/project/178826-pineapple-one
Risc V на рассыпухе 500КГц
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: RISC-V

Post by Lavr »

Совершенно случайно попалась мне онлайн симуляция работы RISC-V.
Возможно, кому-либо это будет интересно:

WebRISC-V - RISC-V PIPELINED DATAPATH SIMULATION ONLINE
iLavr