2017-02-13

vak: (Default)
Приехала ко мне вот такая штуковина:



Это Arduino-совместимая плата, построенная на микроконтроллере FE310 фирмы SiFive. Процессор имеет открытую архитектуру RISC-V. Фактически это первая реализация RISC-V в кремнии, доступная широкой публике. Плату можно заказать за $59 на сайте CrowdSupply.

Скачиваем и устанавливаем среду разработки:
git clone --recursive https://github.com/sifive/freedom-e-sdk.git
cd freedom-e-sdk
make tools
Компилируем и загружаем в плату тест Dhrystone:
make software PROGRAM=dhrystone BOARD=freedom-e300-hifive1
make upload PROGRAM=dhrystone BOARD=freedom-e300-hifive1
Подключаемся к консоли платы и жмём кнопку Reset:
core freq at 279979622 Hz
циферки )
Dhrystones per Second: 775193.8


Progam has exited with code:0x00000000
Видим, что процессор работает на частоте 280 МГц. Измеренную производительность надо поделить на 1757 (скорость VAX), чтобы получить величину DMIPS = 775193.8 / 1757 = 441.2. Для сравнения: микроконтроллер ATmega2560 16MHz даёт 7.23 DMIPS, процессор STM32F103 72MHz - 48.8 DMIPS, PIC32MX 80MHz - 92 DMIPS.

Для оценки эффективности архитектуры процессора имеет смысл поделить производительность на частоту процессора. Получим характеристику DMIPS на MHz. Результат такой:
Processor    Architecture    DMIPS/MHz
-----------------------------------------
ATmega2560 AVR 0.45
STM32F103 ARM 0.68 PIC32MX MIPS 1.15
FE310 RISC-V 1.57