ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
655544
Evgeny_CD, Архитектор (24.02.2016 01:15 - 01:18, просмотров: 11489)
The uRV (Micro RISC-V) core is a small-sized implementation of a 32-bit RISC-V core, targeted specifically at FPGAs. -> Про RISC-V чуток терли уже --> http://caxapa.ru/540233.html
http://www.ohwr.org/projects/urv-core
Самое интересное во вложенных бумагах. An example implementation of an uRV-based system, incorporating a GPIO port, UART and 64 kilobytes of RAM takes 1210 LUTs, 954 FFs, 34 Block RAMs and 3 DSP cells on a Spartan-6 series FPGA, achieving a clock speed of 100 MHz (toolchain set up to minimize area). Теперь смотрим на цены дижикея XC6SLX9-2TQG144C 144TQFP 1 - $16.52 - это чтобы просто макетки делать XC6SLX9-2FT256C 186 I/O 256FTBGA 90 - $18.97 - это вполне фукнциональный девайс, в нем даже 2 Memory Controller Blocks есть Most Spartan-6 devices include dedicated memory controller blocks (MCBs), each targeting a single-chip DRAM (either DDR, DDR2, DDR3, or LPDDR), and supporting access rates of up to 800 Mb/s. И в такой камень поместится, по моей ламерской прикинке, аж 4 штуки таких ядер, только вот памяти каждому ядру достанется 16к. Это бомба. И вот почему. Coremark 1.0
Core and platform     Compiler             Score/MHz
uRV (Spartan-6)            GCC 5.2.0 -O2        2.14
Nios II/f (Altera FPGA)    GCC 4.9.2 -O2        1.87
Cortex-M3 (STM32F103)      GCC 4.4.1 -O3        1.80
LM32 (MT)                  GCC 4.5.3 -O3        1.78
Для RISC-V есть поддержка в GCC и LLVM, есть аж 3 софтовых симулятора, есть набор официальных тестов и прочая. Можно делать железно-оринетированные вещи (многие их которых изначально параллелятся) методом параллельного исполнения кода на нескольких ядрах. И для того, чтобы родить, скажем, 10к кода, который использует 6к ОЗУ, уверен, имеющегося тулчейна достаточно. А дальше, поскольку проц полностью открытый, начинается самое интересное. Можно делать не просто софтовую реализацию, а софтово-аппаратную. Например, несколько из его 32 регистров отмапить на некий аппаратный блок, с которым надо очень быстро работать. Что позволит экономить по 1 такту на каждом обращении к блоку. Что при генерации времянок может поднять временное разрешение в 2 раза. Или на шину повесить что посложнее. Поскольку есть полноценный RISC-V ISA Simulator, который изначально поддерживает несколько ядер http://riscv.org/s …/risc-v-isa-simulator/ То всю это прелесть можно отсимулировать на ПЦ, и только потом тащить в железо. Все это способно, при овладевании технологией, сильно сэкономить на времени разработки....