soft-processeur NIOS sur carte Altera.

publicité
Architecture cible : la carte
Stratix d’Altera
Une carte embarquée (Stratix/Altera)
Carte Stratix
Exemple de système à base de
processeur Nios
Le processeur Nios-II,
un IP configurable
• Le processeur Nios-II est fourni en temps que
configurable soft-core.
• A opposé à un micro-contrôleur fixé dit On-TheShelf (composant sur étagère)
• Configurable signifie que les paramètres et le jeu
d’instruction du processeur peuvent être ajustés pour
satisfaire des objectifs
– De performance
– Ou de coût
• Le processeur est fourni comme un soft (vhdl)
instanciable sur n’importe quel cible Stratix
Processeur Nios-II 32 bits,
Architecture RISC
• Le processeur Nios-II est avant tout un Jeu
d’instruction.
• La dénomination Nios-II ne définit pas une
implantation particulière.
• Le jeu d’instruction Nios-II pourrait tout aussi bien être
implanté en matériel, par émulation logicielle ou par
simulation sur une machine existante
• Dans le cas matériel, plusieurs implantations
différentes existent selon les critères d’embarquabilité:
– Réduction de la taille
– Amélioration des performances
–…
Block-diagram
du processeur NIOS-II
ALU
Les opérations de l’ALU travaillent sur une ou deux
opérandes provenant des registres généraux et rangent le
résultat dans un registre.
Opérations de l’ALU
• Les opérations de multiplication et de division
sont les seules opérations qui n’apparaissent
pas dans toutes les implantations du Nios-II.
• Lorsqu’elles ne sont pas implantées en
matériel, une exception est levée et
l’Exception Handler appelle une routine
émulant l’opération en logiciel.
• La présence ou l’absence de l’implantation
matérielle est transparente à l’utilisateur
Registres généraux du Nios-II
Registres de contrôle
3 modes d’exécution du Nios-II
ISA, instructions de transfert
d’instructions
Instructions de transfert de données
Instructions A&L
Instructions de déplacement de
données
Instructions de comparaison
Instructions de décalage
Contrôleur d’interruptions
• Le processeur Nios-II supporte 32 niveaux
d’interruption (IRQ)
• La priorité des interruptions est fixée par logiciel
• Les interruptions sont autorisées individuellement par
le registre ienable et globalement par le registre d’état
• Une interruption est générée si et seulement si les 3
conditions suivantes sont réunies :
– L’entrée IRQi est active
– Le bit i du registre ienable est à 1
– Le champs PIE du registre d’état est à 1
Nios-II Custom
• De la même façon qu’il est possible d’ajouter
et d’enlever les instructions
– mul, muli, mulxss, mulxsu, mulxuu, div, divu
• L’utilisateur peut facilement ajouter des
instructions spécialisée à sa version de Nios-II
à travers le block « Custom Instruction Logic »
Organisation mémoire
Organisation mémoire
• Le processeur Nios-II supporte un bus séparé
pour les données et la mémoire
• architecture de Harward
• bus implémentés par spécification d’interface
Avalon
• mémoires et périphériques mappés dans
l’espace de données adressable du processeur
• protocole de rangement Little-Endian
Ports de communication
master-Avalon
• port de communication M-Avalon
d’instruction sur 32 bits.
• utilisé pour l’opération Fetch (Lecture
uniquement)
• port M-Avalon de donnée sur 32 bits
• utilisé à la fois en lecture (Load) et en écriture
(Store).
Mémoire Cache
• deux mémoires cache
– Données
– Et instructions
• mémoires on-chip faisant partie intégrante du
processeur
• La taille dépend de l’implémentation
• La gestion du cache et de la cohérence mémoire sont
gérées par logiciel
• Des instructions de l’ISA Nios-II ont pour rôle de
contrôler le cache
‘Address Mapping’
• Le mapping des adresses des mémoires et des
périphériques est ‘design-dependent’.
• Seules trois adresses font partie du processeur
:
– Adresse de Reset
– Adresse d’exception
– Adresse du Break Handler
Téléchargement