Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Architektura RISC-V i narzędzia jej dedykowane - wprowadzenie

ghost666 29 Mar 2019 11:48 687 0
Texa Poland
  • Architektura RISC-V i narzędzia jej dedykowane - wprowadzenie
    Ostatnie newsy nie kłamią - wszyscy mówią o procesorach RISC-V, nowej otwartej architekturze etc. Ale o co w sumie chodzi? Jeżeli przespałeś ostatnie pół roku, to artykuł ten może być dla Ciebie - przyjrzymy się poniżej z czym w zasadzie jest związane popularne hasło RISC-V oraz jakie obecnie dostępne są narzędzia dla projektantów, chcących wykorzystać nową architekturę w swoich systemach.

    W zakresie technologii nigdy nie brakowało modnych i popularnych haseł (tzw. buzzwordów); jednym z nich wydaje się właśnie być RISC-V (czyt. RISK-pięć), które powtarzane jest w wielu kontekstach, czasami być może bez pełnego zrozumienia pełnego znaczenia tego słowa.

    Zacznijmy jednak do podstaw. Procesory podzielić możemy zasadniczo na dwie grupy. Pierwszą z nich są duże układy, które napędzają nasze desktopy czy stacje robocze - głównie są to układy Intela, chociaż AMD powoli odzyskuje część rynku. Niemalże bez wyjątku króluje tutaj architektura x86 w wariantach 32- i 64-bitowym.

    W drugiej grupie znaleźć możemy bardziej kompaktowe i energooszczędne układy do zastosowań w sprzęcie noszonym (np. w smartfonach) czy niewielkich urządzeniach a granicy Internetu Rzeczy. Tutaj najpopularniejsza jest architektura ARM, aczkolwiek jej dominacja tutaj nie jest aż tak kompletna jak w przypadku układów x86.

    Odmiennie niż w przypadku Intela czy AMD, ARM nie sprzedaje fizycznych układów. Zamiast tego firma handluje licencjami na bloki IP, które inne firmy wykorzystują do projektowania własnych, fizycznych podzespołów - mikrokontrolerów (MCU), procesorów aplikacyjnych (AP) czy systemów-na-chipie (SoC).

    Wymienianie w podobnym kontekście RISC-V sprawia wrażenie, że wiele osób myśli, iż jest to procesor. W rzeczywistości, ściśle mówiąc, RISC-V to darmowy, otwarty i elastyczny zestaw instrukcji (model programowy), który oparty jest na zasadach architektury RISC (architektury o zredukowanej ilości instrukcji). Czym jest więc "zestaw instrukcji"? Oddajmy głos Wikipedii:

    Wikipedia.pl wrote:
    Model programowy procesora, ISA (od ang. instruction set architecture), czasem nieściśle architektura procesora − ogólne określenie dotyczące organizacji, funkcjonalności i zasad działania procesora, widoczne z punktu widzenia programisty jako dostępne mechanizmy programowania. Na model programowy procesora składają się, między innymi:

    * lista rozkazów procesora
    * typy danych
    * dostępne tryby adresowania
    * zestaw rejestrów dostępnych dla programisty
    * zasady obsługi wyjątków i przerwań.


    ISA jest więc abstrakcyjnym opisem procesora, a jej fizyczna realizacja nazywana jest implementacją. Model programowy może mieć wiele różnych implementacji, różniących się wydajnością, poborem mocy czy kosztem produkcji.

    ARM to także ISA, jednakże nie jest darmowa - za jej wykorzystanie należy wnieść niemałą opłatę licencyjną. Implementacja RISC-V nie będzie nas kosztować nic. Implementacje te następnie można używać na własne potrzeby czy też sprzedawać jako bloki IP do wykorzystania przez innych, podczas projektowania SoC itp.

    Przykładem może być tutaj SiFive. Jest to spółka fabless, tj. nie posiadająca własnych linii do produkcji urządzeń półprzewodnikowych, która zajmuje się tworzeniem własnych bloków IP, będących implementacjami RISC-V. Mogą one być licencjonowane do własnych zastosowań, ale można też zamawiać dedykowane SoCi z tego rodzaju rdzeniami. Na stronie firmy znajduje się konfigurator, który pozwala na bardzo proste stworzenie dedykowanego do własnego zastosowania SoCa.

    "Zaprojektuj CPU RISC-V w godzinę. Otrzymaj SoCa w tygodnie, nie w miesiące. Niemożliwe? Już nie" - piszą przedstawiciele SiFive. Firma oferuje także zestawy ewaluacyjne dla wszystkich, którzy chcą spróbować zmierzyć się z nową architekturą. Płytka HiFive1 jest kompatybilna z Shieldami Arduino, co istotnie ułatwia testowanie nowej architektury. Oprócz SiFive, swoje implementacje licencjonować chce też Andes Technology, Codasip, Bluespec i Cortus.

    Są też takie firmy, takie jak Microsemi czy Rumble Development, które zapewniają implementacje RISC-V na układach FPGA. Takie bloki IP także dostępne są za opłatą licencyjną. Innym przykładem tego rodzaju implementacji jest stworzona przez VectorBloxa darmowa implementacja RISC-V na układy FPGA - ORCA. Źródła tego softcore dostępne są tutaj. ORCA została już skompilowana na układach Altery (Intel), Lattice, Microsemi i Xilinx. Pracownicy VectorBloxa stworzyli także nakładkę Deep Learning TinBiNN, która jest zestawem rozszerzeń procesora ORCA RISC-V dedykowanym do systemów głębokiego uczenia maszynowego. Działający z częstotliwością 24 MHz i zużywający mniej niż 5 mW procesor może być zrealizowany na tanich układach FPGA. Technologia ta może dać dostęp do ogromnej wydajności sztucznej inteligencji (AI) - równoważnej z klasycznym procesorem taktowanym zegarem o częstotliwości ok. 1,7 GHz. Czyni to tą implementację idealną do sztucznej inteligencji rzeczy (AIoT) - tj. "AI na krawędzi chmury".

    Mówiąc o "AI na krawędzi", inną interesującą firmą jest GreenWaves Technologies, której procesory aplikacyjne o ultraniskim poborze mocy i wysokiej wydajności obliczeniowej - GAP8 - umożliwiają implementację uczenia maszynowego w urządzeniach IoT zasilanych z baterii. GreenWaves jest kluczowym elementem platformy PULP opartej na RISC-V (platformy do obliczeń równoległych, wykorzystujących procesory o ultra-niskim poborze mocy). Cały ekosystem jest oparty o otwarte źródła, które stanowią podstawę dla procesorów GAP8.

    Rozwój RISC-V rozpoczął się w 2010 r, a pierwsza publiczna prezentacja RISC-V miała miejsce podczas Sympozjum Hot Chips w sierpniu 2014 r. Od czasu wprowadzenia na rynek zestaw instrukcji RISC-V szybko zyskał popularność na wielu rynkach ze względu na jego kompaktowość, modułowość i rozszerzalność . Oprócz ogólnego zastosowania, specyfikacja RISC-V zachęca do niestandardowego rozszerzania zestawu instrukcji, aby np. zaoferować sprzętową akcelerację specyficznych operacji. Ma ogromne zalety w systemach, takich jak sztuczna inteligencja, uczenie maszynowe (ML), rzeczywistość wirtualna (VR), rzeczywistość rozszerzona (AR) czy zaawansowane systemy wspomagania kierowcy (ADAS).

    W ciągu ostatnich kilku lat ekosystem RISC-V rozrastał się się skokowo. Fundacja RISC-V może pochwalić się teraz już ponad 200 firmami członkowskimi, a na całym świecie jest wielu programistów wykorzystujących implementacje RISC-V i narzędzi dedykowane do tworzenia układów czy oprogramowania na te układy.

    Mówiąc o narzędziach, RISCV.org wymienia ogromną ilość symulatorów, aplikacji będących elementami toolchainów do programowania, debuggerów i oczywiście kompilatorów języka C i bibliotek (a również kompilatorów i programów wykonawczych dla innych języków), menedżerów bootwania systemu czy monitorów zasobów, kerneli, pełnych systemów operacyjnych i rozbudowanych, kompletnych środowisk programistycznych (IDE).

    To bardzo ekscytujący moment w czasie. Niemal każdego dnia pojawiają się nowe informacje dotyczące firm, które przyjmują RISC-V w swoich produktach lub wprowadzają nowe narzędzia w celu ulepszenia pakietu RISC-V. Weźmy na przykład wspomnianą już firmę Andesa. W grudniu 2018 roku zaprezentowali oni najnowszą generację rdzeni IP AndeStar RISC-V. Rdzenie te są obsługiwane przez technologię Andes Custom Extension (ACE), która umożliwia projektantom systemów wbudowanych łatwe dodawanie dostosowanych instrukcji do swoich procesorów Andes. Oprogramowanie ACE jest dodatkowo udoskonalane za pomocą niestandardowych narzędzi do opracowywania instrukcji (COPILOT), które pozwalają projektantom szybko i łatwo tworzyć niestandardowe instrukcje dla swoich projektów opartych na RISC-V, automatycznie generując RTLe (pliki opisu fizycznego układu) i oprogramowanie dla niestandardowych instrukcji w ciągu kilku minut.

    Zaledwie kilka tygodni temu, w styczniu tego roku, Andes zaprezentowało darmowe IDE AndeSight dedykowane do ułatwianie tworzenia aplikacji dla SoCów opartych o układy RISC-V. To profesjonalne środowisko oparto na Eclipse i wyposażono w wiele przydatnych funkcji, ułatwiających tworzenie oprogramowania dla systemów wbudowanych.


    Z kolei firma SmartDV Technologies dostarcza narzędzia weryfikacyjne do bloków IP. Posiada ona w swoim portfolio wiele produktów, z których korzystają nawet duże firmy. 6 lutego br. firma ta zaprezentowała TileLink VIP - narzędzie do weryfikacji poprawności projektów interkonektu TileLink w systemach wykorzystujących RISC-V. Interkonekt ten jest szybkim, otwartym interfejsem pozwalającym na skalowalne i spójne łączenie systemów w SoC przy wykorzystaniu platformy RISC-V.

    Kilka dni temu z kolei AdaCore ogłosiło, że dołącza się do Fundacji RISC-V, co sprawi, że języki programowania Ada oraz Spark dostępne będą na tej nowoczesnej platformie sprzętowej. W ten sposób oba te języki dołączyły do technologicznej awangardy dostępnej dla deweloperów RISC-V.

    Źródło: https://www.eeweb.com/profile/max-maxfield/articles/introducing-risc-v-and-risc-v-tools

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11018 posts with rating 9359, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Texa Poland