Vous êtes sur la page 1sur 4
ENSIMAG 1A ENSIMAG 1A. Travaux dirigés : Architecture des ordinateurs TDs Conception d'une carte a microprocesseur On souhaite réaliser une carte mére monoprocesseur. Le processeur utilisé dispose de interface suivante (la direction des signaux étant donnée du point de vue du processeur) : — ADPR[31 :0] : un bus unidirectionnel (sortie) d’adresse de 32 bit — RW[2 :0] : un bus unidirectionnel (sortie) détinissant le type d'accés (mot, demi-mot ou octet) et le sens du transfert sur 3 bits RW 000 NO OPERATION 001 WRITE WORD 010 WRITE HALF 011 WRITE BYTE txx READ WORD ~ DATA[31 :0] : un bus de données bidirectionnel (entrée-sortie) de 32 bits ; — FRZ : un signal d'entrée gelant le processeur (i.e. interdisant la moditication de son état interne). Dans ce TD, on fait hypothése que FRZ est toujours a zéro ; — BERR : un signal d'entrée indiquant la présence d'une adresse érronée. Par ailleurs, on suppose que les instructions de ce processeur sont d'une taille fixe de 32 bits. Dans le TD, nous faisons I'hypothése que les aspects temporels du protocole de commu- nication entre les différents composants sont résolus. Les questions de ce TD ont pour but de vous faire dessiner progressivement le schéma logique complet d'une carte & microprocesseur. Pour cela il est important de respecter les indications de positionnement des composants fournies. Processeur Question 1 Quelle est la zone de mémoire adressable par le processeur décrit ci des- sus ? Sur une feuille représenter sous /a forme d'un rectangle la zone de mémoire, en y faisant figurer l'adresse de la premiére case et adresse de la derniére case (valeur donnée en Hexa). Question 2 Quelle esta taille d'une case mémoire adressable par le processeur étudié ? TD d’architecture - 3 page - 1 ENSIMAG 1A Question 3 Sur le cété gauche de la feuille, au centre, dessiner la représentation gra- phique du processeur avec ses connecteurs. Préciser la direction de ceux-ci et /a taille des bus. Les ROM On souhaite connecter a ce processeur trois mémoires de type ROM, contenant res- pectivement le code exécuté par le processeur lors d'un reset, le code exécuté par le processeur lors d'une exception, et le code du programme principal. Les ROM de reset et d'exception ont une taille de 4 Koctets, et fournissent leurs données directement sur 32 bits. Elles doivent étre situées respectivement a partir des adresses 0xBFC00000 (reset) et 0x80000000 (exception). La ROM de code fait 64 Koctets, fournit aussi ses données sur 32 bits, et est accessible a partir de I'adresse 000400000. En plus des bus d’adresse et de données, chaque ROM dispose d'une entrée de sélection OE (Output Enable, ac- tive au niveau bas) permettant de faire passer la sortie de données de la ROM de l'état « 6lectriquement déconnecté » a l'état « mémoire connectée sur le bus de données », Question 4 Determiner le nombre de bits nécessaires a l'adressage de chacune des ROM. Question 5 Compléter le schéma de la mémoire en y faisant figurer les emplacements des ROM.(Attention a la taille des cases mémoires !!:) Question 6 Un petit peu en bas et a droite du microprocesseur précédemment repré- senté, dessiner les trois composants ROM (reset, exception, code de gauche a droite, en prévoyant un espace entre le CPU et le premier boitior de reset). Préciser la taille des bus, la direction de ceux-ci et comment le bus d'adresse (resp. de données) du processeur est relié au bus d'adresse (resp. de données) des ROM. Décodage d’adresse des ROM instructions En fonction de l'adresse émise par le processeur, un des trois boitiers doit étre sé- lectionné si le CPU cherche & accéder a la prochaine instruction. Suivant la valeur de TD d’architecture - 3 page - 2 ENSIMAG 1A ladresse, il faut donc sélectionner un boitier : c'est le réle de la logique de décodage. Question 7 Quels sont les signaux qui doivent intervenir comme entrées du bloc logique de décodage ? Question 8 Quels sont les signaux qui doivent intervenir comme sortie du bloc logique de décodage ? Question 9 Le bloc logique de décodage doit étre dessiné entre le processeur et le pre- mier boitier ROM. Proposer un schéma du bloc logique de aécodage, en supposant que Ton fait un décodage complet (un boitier ROM n’est vu qu’a une seule adresse du point de vue du processeur). Question 10 Proposer une autre version du bloc logique de décodage, en supposant que Ton fait maintenant un décodage incomplet (un boitier ROM est vu & plusieurs adresses du point de vue du processeu1). Donner alors les adresses ou sont wes les boitiers ROM. Question 11. Agjouter un montage qui permet dactiver lentrée BERR du processeur en cas derreur d'adressage. Les RAM On souhaite connecter a la carte précédente deux boitiers mémoire de type RAM, contenant respectivement les données utilisateur et les données superviseur. Les RAM utilisateur et superviseur ont une taille de 64 Koctets. Elles sont directement accessibles sur 82 bits mais, contrairement aux instructions qui sont exclusivement sur 32 bits, on peut y faire des accas sous forme de mot, de demi-mot et d'octet. Elles doivent étre situées respectivement a partir des adresses 0x10000000 (utilisateur) et 0xc0000000 (superviseur). En plus des bus d'adresse et de données, chaque RAM dispose de trois entrées supplémentaires : OE (Output Enable, active au niveau bas) permettant de faire passer la sortie de données de la RAM de |'état « Slectriquement déconnecté » a l'état « mémoire connectée sur le bus de données » et donc de connecter la RAM en sortie sur le bus DATA, WE (Write Enable, active au niveau bas) qui permet de recopier la valeur proposée sur le bus DATA a l'adresse considérée dans la RAM et SIZELi :0] (entrée de TD d’architecture - 3 page - 3

Vous aimerez peut-être aussi