MI41 - Final Automne 2001 UTBM 1/3 Nicolas Lacaille MI41 – FINAL Documents auto
MI41 - Final Automne 2001 UTBM 1/3 Nicolas Lacaille MI41 – FINAL Documents autorisés : poly de cours et TD Durée 2h 1. Circuit de Décalage 1.1. Décaleur simple On souhaite réaliser un circuit dit décaleur 8 bits. Le principe consiste à décaler la valeur d’un mot de 8 bits de N rangs vers la gauche ou vers la droite. N est compris entre 0 et 7. On se limitera au décalage à gauche (poids faible vers poids fort). Dans ce type de circuit, lors des décalages à gauche, les bits de poids faibles prennent pour nouvelle valeur 0. Exemple : Décaleur N bits Les entrées E sont les entrées de données, les entrées D correspondent au nombre de rangs de décalage (N). S correspond aux sorties décalées. Ainsi si D = 011 (N = 3) S est égal à E décalé de 3 rangs vers la gauche : S7 = E4 ; S6 = E3 ; S5 = E2 ; S4 = E1 ; S3 = E0 ; S2 = 0 ; S1 = 0 ; S0 = 0 1.1.1. Description VHDL 1. Donnez la description comportementale (pas d’équations logiques) VHDL de ce circuit décaleur N bits (entity/architecture) 1.1.2. Réalisation à l’aide de portes logiques Le principe du décalage est basé sur 3 circuits de décalage. Chacun de ces circuits de décalage permet d’effectuer, en fonction d’une entrée de commande D, les décalages suivants : Décalage à gauche de 0 bit si D0 = 0 ou décalage à gauche de 1 bit si D0 = 1. Décalage à gauche de 0 bit si D1 = 0 ou décalage à gauche de 2 bits si D1 = 1. Décalage à gauche de 0 bit si D2 = 0 ou décalage à gauche de 4 bits si D2 = 1. Décaleurs 1, 2 et 4 bits Exemple du décaleur 1 bit Si D0 = 0, [S7 S6 S5 S4 S3 S2 S1 S0] = [E7 E6 E5 E4 E3 E2 E1 E0] Si D0 = 1, [S7 S6 S5 S4 S3 S2 S1 S0] = [E6 E5 E4 E3 E2 E1 E0 0] 1. Donner les équations logiques correspondant à la sortie S7 du décaleur 2 bits 2. Donner le logigramme correspondant à la sortie S7 du décaleur 2 bits (on n'utilisera que des portes logiques à 2 entrées) 3. Donner la structure du décaleur N bits en utilisant les blocs fonctionnels, donnés ci-dessus, des décaleurs 1, 2 et 4 bits. 4. Si les portes logiques utilisées ont un temps de traversée de 1ns, quel est le temps de traversé du décaleur N bits ? << N D2 D1 D0 E5 E6 E5 E4 E3 E2 E1 E0 S7 S6 S5 S4 S3 S2 S1 S0 << 1 ou 0 D0 << 2 ou 0 D1 0 << 4 ou 0 D2 E S E S E S MI41 - Final Automne 2001 UTBM 2/3 Nicolas Lacaille 1.2. Registre décaleur On souhaite réaliser le registre suivant Avec : • DataOut correspond à la valeur (un octet) mémorisée dans le registre • Lorsque load est actif (i.e. lorsque load = 1) la donnée, sur un octet, présente sur l’entrée DataIn est chargée dans le registre sur un front montant de l’horloge H. • Lorsque la valeur présente sur l’entrée D[2..0] est différente de "000" et que load est inactif la donnée dans le registre est décalée sur un front montant de l’horloge H de N rang vers la gauche, où N correspond au nombre binaire D[2..0]. 1.2.1. Description VHDL On souhaite, pour réaliser le registre décaleur, réutiliser le circuit décaleur simple. On suppose que ce dernier est disponible sous forme de component et peut donc être utilisé dans cette nouvelle description à l’aide de l’instruction port map. 1. donner la description comportementale en VHDL de ce registre décaleur (entity/architecture) 1.2.2. Réalisation câblée On dispose des composants suivant : 1. Donnez, en utilisant les composants ci dessus et en commentant votre réponse, la structure du registre décaleur sous forme de schéma. 2. Quel est l’intérêt d’une telle structure par rapport à un simple registre à décalage ? 3. Si votre registre était implanté en « dur » dans un microprocesseur. Quelle fréquence d’horloge maximale autoriserait-il ? (En considérant toujours des portes logiques à 2 entrées ayant un temps de traversée égal à 1 ns). Registre D[2..0] load H DataIn DataOut 0 1 MUX MuxA Registre à chargement parallèle 8bits LoadA H << N D[2..0] Multiplexeur 2 voies vers 1, les bus sont sur 8 bits Registre à chargement parallèle synchrone : LoadA lorsqu’il est actif autorise le chargement du registre sur front montant d’horloge H. Dans le cas contraire les données contenues dans le registre A sont inchangées Décaleur 8 bits MI41 - Final Automne 2001 UTBM 3/3 Nicolas Lacaille 2. Séquenceur de commande Un processus de lecture écriture d'une interface périphérique (échange de données) est donné par le graphe ci-dessous : On souhaite réaliser un séquenceur de commande câblé à l'aide de bascules D. 1. Expliquer comment réaliser ce séquenceur câblé en vous appuyant sur un schéma. 2. Donner les équations des entrées Di des bascules du séquenceur câblé (on ne simplifiera pas les équations) On souhaite que le passage de l'état "repos" à l'état "1" s'effectue avec la condition suivante : nStrobe = 0 nRead = 0 et que le passage de l'état "repos" à l'état "3" s'effectue avec la condition suivante : nStrobe = 0 nRead = 1 Par ailleurs, lors de la transition entre l'état repos et l'état 1 la valeur présente sur un bus de donnée doit être mémorisée dans un registre à chargement parallèle synchrone : 3. Donner l'équation de la condition d'évolution r1 4. Donner l'équation de load R1 R2 W1 W2 r2 w2 r3 w3 r1 w1 repos 1 2 3 4 D Q load bus de données load : commande synchrone de chargement H : horloge du séquenceur H MI41 Final UTBM Automne 2000 1/3 Nicolas Lacaille MI41 – Examen final - 2h Les documents sont autorisés excepté livres et photocopies de livres. Le prêt de documents entre étudiants n'est pas autorisé. 1. Description VHDL (7pts) Donnez la description (entity et architecture) du timer BCD (décimal codé binaire) décrit ci-dessous. Descriptif fonctionnel : Ce timer BCD est un décompteur BCD qui ne décompte qu'une seule fois et qui génère un signal en fin de décomptage : • la commande load# est une commande synchrone active niveau bas • lorsque load# est actif la valeur présente sur les entrées D est chargée • lorsque load# est inactif, la valeur courante est décrémentée d'une unité BCD • lorsque le décompteur atteind la valeur Zéro la sortie borrow est activée. Cette sortie reste active tant qu'une nouvelle valeur n'est pas chargée. 2. Séquenceur de machine RISC (6 pts) Il s'agit dans cet exercice de réaliser un séquenceur câblé simplifié pour une machine de type RISC L'exécution des instructions est décomposée en 4 étapes qui sont pour une opération entière : la recherche en mémoire de l'instruction, le décodage de l'instruction, l'éxécution et le rangement des résultats. Les instructions sont de 3 types : • op : opération entière (registre à registre), • ls : opération load/store, • br : branchement conditionnel. Description des différentes étapes N° place description de l'opération Opération réalisée en sortie de place (franchissement transition) 0 recherche instruction mémorisation dans registre d'instruction 1 décodage instruction mémorisation dans registre de micro-commandes 2 calcul des conditions de branchement résultat test (registre d'état) t = vrai ou faux 3 calcul adresse load/store mémorisation dans registre d'adresse 4 exécution du calcul (opération UAL) mémorisation dans registre de résultat 5 calcul adresse du saut mémorisation dans compteur de programme 6 donnée placée sur le bus (store) attente donnée présente (load) lecture ou écriture effective 7 déplacement résultat dans registre de destination résultat opération sauvegardé dans registre destination TIMER BCD Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 Borrow D7 D6 D5 D4 D3 D2 D1 D0 load# CLK =1 ls op br =1 t 0 1 2 3 4 5 6 =1 7 =1 =1 =1 Fetch Decode Execute Store t MI41 Final UTBM Automne 2000 2/3 Nicolas Lacaille Questions : Il s'agit de réaliser le séquenceur câblé de ce microprocesseur qui implémente le graphe à états donnés précédemment, à l'aide de bascules D actives sur front montant. 1. Expliquez le principe d'un séquenceur câblé et donnez la structure du séquenceur demandé 2. Donnez les équations d'entrée de chaque bascule en expliquant votre démarche Notes importantes : • on gardera le codage des états proposés • on ne demande pas de dessiner le logigramme complet 3. Etude d'une unité d'exécution entière (7 pts) On considère l'unité d'exécution entière d'un processeur RISC suivante : C A B MUXB MUXA Banc de 16 registres R0 … R15 MUXD 16x32 bits SA SB D U L 32 bits LDA LDB LDC LDR LDD U A L DR DC C DA DB 3.1. Description Les données traitées sont uploads/Litterature/ annales-d-x27-examens.pdf
Documents similaires










-
28
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 30, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.5089MB