Nios II - Nios II

Nios II
Designer Altera
Biți 32 de biți
Proiecta RISC
Endianitate Micul-Endian
Deschis Nu
Registrele
Scop general 32

Nios II este o arhitectură de procesor încorporat pe 32 de biți concepută special pentru familia Altera de circuite integrate cu matrice de poartă programabilă în câmp (FPGA). Nios II încorporează multe îmbunătățiri față de arhitectura originală Nios, făcându-l mai potrivit pentru o gamă mai largă de aplicații de calcul încorporate, de la procesarea digitală a semnalului (DSP) la controlul sistemului.

Nios II este succesorul primului procesor configurabil încorporat pe 16 biți Altera, Nios .

Caracteristici cheie

La fel ca Nios-ul original, arhitectura Nios II este o arhitectură RISC soft-core care este implementată în întregime în blocurile de logică și memorie programabile ale Altera FPGA. Spre deosebire de predecesorul său, este un design complet pe 32 de biți :

  • 32 de registre de 32 de biți de uz general,
  • Set complet de instrucțiuni pe 32 de biți, calea datelor și spațiul de adresă,
  • Instrucțiunile unice 32 × 32 se înmulțesc și se divid, producând un rezultat pe 32 de biți.

Natura soft-core a procesorului Nios II permite proiectantului de sistem să specifice și să genereze un core Nios II personalizat, adaptat cerințelor sale specifice ale aplicației. Proiectanții de sistem pot extinde funcționalitatea de bază a Nios II adăugând o unitate de gestionare a memoriei predefinită sau definind instrucțiuni personalizate și periferice personalizate.

Instrucțiuni personalizate

Similar instrucțiunilor native Nios II, instrucțiunile definite de utilizator acceptă valori de până la două registre sursă pe 32 de biți și, în mod opțional, înregistrează un rezultat într-un registru de destinație pe 32 de biți. Prin utilizarea instrucțiunilor personalizate, proiectanții de sisteme pot ajusta hardware - ul sistemului pentru obiectivele de performanță se întâlnesc și , de asemenea , proiectantul poate manipula cu ușurință instrucțiunea ca macro în C .

Periferice personalizate

Pentru sistemele critice de performanță care petrec majoritatea ciclurilor procesorului executând o anumită secțiune de cod, un periferic definit de utilizator poate descărca o parte sau toată execuția unui algoritm software către logica hardware definită de utilizator , îmbunătățind eficiența energetică sau randamentul aplicației .

Unitatea de gestionare a memoriei

Introdus cu Quartus 8.0, MMU-ul opțional permite Nios II să ruleze sisteme de operare care necesită paginare și protecție bazate pe hardware, cum ar fi nucleul Linux. Fără un MMU, Nios este limitat la sistemele de operare care utilizează o protecție simplificată și un model de memorie virtuală: de exemplu, µClinux și FreeRTOS .

Unitate de protecție a memoriei

Introdus cu Quartus 8.0, MPU opțional oferă o protecție a memoriei similară cu cea oferită de un MMU, dar cu un model de programare mai simplu și fără cheltuielile de performanță asociate cu un MMU.

Familia CPU Nios II

Nios II Classic este oferit în 3 configurații diferite: Nios II / f (rapid), Nios II / s (standard) și Nios II / e (economic). Nios II gen2 este oferit în 2 configurații diferite: Nios II / f (rapid) și Nios II / e (economic).

Nios II / f

Miezul Nios II / f este proiectat pentru performanțe maxime în detrimentul dimensiunii miezului. Caracteristicile Nios II / f includ:

  • Instrucțiuni separate de memorie cache (512  B până la 64  KB )
  • Opțional MMU sau MPU
  • Acces la până la 2  GB spațiu de adresă extern
  • Memorie opțională strâns cuplată pentru instrucțiuni și date
  • Conductă în șase trepte pentru a atinge DMIPS / MHz maxim
  • Hardware-ul cu ciclu unic se înmulțește și schimbătorul de cilindri
  • Opțiune opțională de divizare hardware
  • Predicția dinamică a ramurilor
  • Până la 256 de instrucțiuni personalizate și acceleratoare hardware nelimitate
  • Modul de depanare JTAG
  • Îmbunătățiri opționale ale modulului de depanare JTAG, inclusiv puncte de întrerupere hardware, declanșatoare de date și urmărire în timp real

Nios II / s

Miezul Nios II / s este conceput pentru a menține un echilibru între performanță și cost. Caracteristicile Nios II / s includ:

  • Cache de instrucțiuni
  • Până la 2 GB spațiu de adresă extern
  • Memorie opțională strâns cuplată pentru instrucțiuni
  • Conductă în cinci etape
  • Predicția ramurilor statice
  • Hardware multiplică, împarte și schimbă opțiunile
  • Până la 256 de instrucțiuni personalizate
  • Modul de depanare JTAG
  • Îmbunătățiri opționale ale modulului de depanare JTAG, inclusiv puncte de întrerupere hardware, declanșatoare de date și urmărire în timp real

Nios II / e

Miezul Nios II / e este conceput pentru utilizarea logică cât mai mică posibilă a FPGA-urilor. Acest lucru este eficient în special pentru aplicațiile FPGA Cyclone II cu costuri reduse. Caracteristicile Nios II / e includ:

  • Până la 2 GB spațiu de adresă extern
  • Modul de depanare JTAG
  • Sisteme complete în mai puțin de 700  LE
  • Îmbunătățiri opționale de depanare
  • Până la 256 de instrucțiuni personalizate
  • Gratuit, nu este necesară licență

Interfață Avalon switch fabric

Nios II folosește comutatorul Avalon ca interfață cu perifericele sale încorporate. Comparativ cu o magistrală tradițională într-un sistem bazat pe procesor, care permite accesul la magistrală a unui singur master de autobuz la un moment dat, structura comutatorului Avalon, utilizând o schemă de arbitraj în partea sclavă, permite mai multor master-uri să funcționeze simultan.

Procese de dezvoltare

Dezvoltarea pentru Nios II constă din doi pași separați: generarea de hardware și crearea de software.

Dezvoltarea este găzduită într-o aplicație Altera numită Embedded Design Suite (EDS). EDS conține un mediu de dezvoltare integrat complet pentru a gestiona atât hardware cât și software în doi pași separați:

Procesul de generare a hardware-ului

Proiectanții hardware Nios II folosesc instrumentul de integrare a sistemului Qsys, o componentă a pachetului Quartus-II, pentru a configura și genera un sistem Nios. Interfața grafică de configurare a utilizatorului (GUI) permite utilizatorilor să aleagă setul de caracteristici al Nios-II și să adauge blocuri periferice și I / O (temporizatoare, controlere de memorie, interfață serială etc.) la sistemul încorporat. Când specificațiile hardware sunt complete, Quartus-II efectuează sinteza, locul și ruta pentru a implementa întregul sistem pe ținta FPGA selectată.
Qsys înlocuiește vechiul SOPC (System-on-a-Programmable-Chip) Builder, care ar putea fi, de asemenea, utilizat pentru a construi un sistem Nios II și este recomandat pentru noi proiecte.

Procesul de creare a software-ului

Un pachet separat, numit Embedded Design Suite (EDS), gestionează dezvoltarea software-ului. Bazat pe Eclipse IDE, EDS include un compilator C / C ++ (bazat pe lanțul de instrumente GNU ), depanator și un simulator de seturi de instrucțiuni. EDS permite programatorilor să-și testeze aplicația în simulare sau să descarce și să ruleze aplicația compilată pe gazda FPGA reală.

Deoarece lanțul de dezvoltare C / C ++ se bazează pe GCC, marea majoritate a software-ului open source pentru Linux se compilează și rulează cu modificări minime sau deloc. Sistemele de operare terțe au fost, de asemenea, portate la Nios II. Acestea includ Micrium MicroC / OS-II , eCos , Segger Microcontroller embOS, ChibiOS / RT , μCLinux și FreeRTOS .

Licențierea

Nios II este comparabil cu MicroBlaze , un procesor softcore concurent pentru familia Xilinx a FPGA. Spre deosebire de MicroBlaze, Nios II este licențiat pentru ASIC - uri cu celule standard prin intermediul unui furnizor IP terț, Synopsys Designware. Prin licența Designware, proiectanții pot transfera modele bazate pe Nios de la o platformă FPGA la un dispozitiv ASIC de producție în serie.

Vezi si

Referințe

linkuri externe