Cours 7 : éléments de construction du processeur LC3 d

publicité
Architecture Logicielle et matérielle
Cours 7 : éléments de construction du processeur LC3
d’après le cours de Nicolas Louvet
et http://ece224web.groups.et.byu.net/lectures/LC3-1.pdf
Laure Gonnord
http://laure.gonnord.org/pro/teaching/
[email protected]
Licence d’info - Université Lyon 1 - FST
Introduction
Notre but sera ici de montrer comment il est possible
d’ébaucher la micro-architecture du processeur LC3 suivant le
modèle de Von Neumann :
une mémoire centrale contient le programme et les
données ;
l’unité centrale de traitement (l’UCT) exécute le
programme contenu en mémoire centrale.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
2 / 23 Chemin de données
Il va donc nous falloir mettre au point tout le chemin de
données de notre UCT. En voici une vue d’ensemble :
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
3 / 23 Méthode
Définition
Le chemin de données est l’ensemble des circuits qui
permettent le traitement des instructions et des données,
hormis toute la partie contrôle.
Dans la suite, nous allons :
rappeler les éléments architecturaux du LC3
mettre en place un chemin de données adapté pour
l’architecture décrite.
parler (brièvement) d’automate de contrôle pour l’unité de
contrôle du processeur.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
4 / 23 Méthodologie de synchronisation
1
Méthodologie de synchronisation
2
Architecture LC3 : chemin de données
3
Signaux de contrôle - automate de contrôle
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
5 / 23 Méthodologie de synchronisation
Synchronisation : problématique
On va concevoir un circuit dans lequel certains signaux
logiques doivent être lus, d’autres écrits à des instants précis :
si on se retrouvait dans une situation où un signal doit être lu
en même temps qu’il est écrit, cela poserait problème. . .
I synchronisation basée sur le front montant de l’horloge :
les valeurs contenues les registres du circuit seront mises à
jour seulement sur un front montant de l’horloge.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
6 / 23 Méthodologie de synchronisation
Synchronisation : registres
Seuls les registres permettent de stocker une donnée, et de la
maintenir sur leur sortie, donc tout « sous-circuit » combinatoire
doit :
avoir ses entrées connectées aux sorties d’un registre,
avoir ses sorties connectées aux entrées d’un registre.
I Rappel : sorties utilisables au cycle suivant.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
7 / 23 Architecture LC3 : chemin de données
1
Méthodologie de synchronisation
2
Architecture LC3 : chemin de données
Quelques parties importantes
Quelques exemples
3
Signaux de contrôle - automate de contrôle
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
8 / 23 Architecture LC3 : chemin de données
Rappels
8 registres 16 bits, et quelques registres spéciaux dont :
PC → adresse mémoire de la prochaine instruction à
exécuter.
IR → contient l’instruction dont le cycle est en cours.
MAR → sélectionne l’adresse mémoire à écrire/lire
MDR → stocke temporairement une donnée lue en
mémoire (où à écrire en mémoire)
+ mémoire centrale adressable par 16 bits.
Instructions de trois sortes : arith/logique, accès mémoire,
branchement ; codées sur 16 bits.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
9 / 23 Architecture LC3 : chemin de données
LC3 : schéma d’ensemble
I Visualiser le bus et les tristates, l’IR, les registres. . .
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
10 / 23 Architecture LC3 : chemin de données
Quelques parties importantes
1
Méthodologie de synchronisation
2
Architecture LC3 : chemin de données
Quelques parties importantes
Quelques exemples
3
Signaux de contrôle - automate de contrôle
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
11 / 23 Architecture LC3 : chemin de données
Quelques parties importantes
LC3 : Effective Address Block
I Calcule les bonnes adresses pour MAR et PC à partir de
l’IR. Sortie sur PCmux et Marmux.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
12 / 23 Architecture LC3 : chemin de données
Quelques parties importantes
LC3 : PC et PCmux
Durant la phase “fetch”, le PC est modifié pour pointer vers la
prochaine instruction à exécuter.
I PC peut être PC+1, ou venir du bus, ou venir de l’UAB (c’est
l’UC qui décide !)
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
13 / 23 Architecture LC3 : chemin de données
Quelques parties importantes
LC3 : MarMux
Le Marmux calcule quoi charger dans MAR :
I Sources : sortie EAB (load) ou IR[7 :0] (trap) (c’est l’UCT qui
décide : commande du mux, le tristate, et quand on charge.)
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
14 / 23 Architecture LC3 : chemin de données
Quelques parties importantes
LC3 : Autres composants
Il resterait à voir finement la mémoire, les registres, et les
conditions Z,N,P. (on verra en TP)
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
15 / 23 Architecture LC3 : chemin de données
Quelques exemples
1
Méthodologie de synchronisation
2
Architecture LC3 : chemin de données
Quelques parties importantes
Quelques exemples
3
Signaux de contrôle - automate de contrôle
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
16 / 23 Architecture LC3 : chemin de données
Quelques exemples
Data path pour ADD R1, R4, #-2
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
17 / 23 Architecture LC3 : chemin de données
Quelques exemples
Data path pour LD R2 x1AF
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
18 / 23 Architecture LC3 : chemin de données
Quelques exemples
Data path pour BRz x0D9
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
19 / 23 Signaux de contrôle - automate de contrôle
1
Méthodologie de synchronisation
2
Architecture LC3 : chemin de données
3
Signaux de contrôle - automate de contrôle
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
20 / 23 Signaux de contrôle - automate de contrôle
Signaux de contrôle
Dans la section précédente, nous avons vu que des
signaux provenant de l’UCT venaient diriger les différents
tristate, mux, . . .
Le contrôle est donc un circuit de la forme :
LC3
IR, N, Z, P
control
LC3
datapath
control signals
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
21 / 23 Signaux de contrôle - automate de contrôle
Lecture - TP
Se rapporter au début de l’annexe C du LC3, distribuée avec le
cours. À lire chez vous.
En TP, nous n’implémenterons pas la partie contrôle du LC3
comme un automate, mais une simplification.
Laure Gonnord (L2/FST/Univ Lyon1)
ArchiL2 (LIF6) Cours 07 : processeur LC3
2014
22 / 23 
Téléchargement