Sunteți pe pagina 1din 39

Institut National des Sciences Appliquées de Toulouse

Préorientations IMACS et MIC

2ème année

Informatique Matérielle

Travaux Pratiques

Octobre 2006
page 1

2ème année MIC/IMACS 2006-2007

Travaux Pratiques d’Informatique Matérielle


Introduction
La série des Travaux Pratiques d’Informatique Matérielle de 2ème année IMACS et MIC
comprend 3 séances se déroulant sur ordinateurs avec des outils de simulation informatique.
A chaque séance, tous les étudiants effectuent la même manipulation.
TP N°1 : Systèmes logiques (outil DSCH)
TP N°2 : Structure et Fonctionnement des Ordinateurs (outil SimProc)
TP N°3 : Structure et Fonctionnement des Ordinateurs (outil SimProc)
Ces travaux pratiques constituent un complément indispensable aux séances de cours et de
TD. Ils vous permettent de vérifier expérimentalement vos connaissances sur des circuits
logiques combinatoires et séquentiels (TP 1) et la sur le fonctionnement et la programmation
au niveau matériel d’une structure de traitement de l’information (TPs 2 et 3).

Informations pratiques
Les groupes de Travaux Dirigés doivent être découpés en deux sous-groupes de 12 étudiants :
A1 et A2, B1 et B2, C1 et C2 (pour les étudiants de IMACS & MIC) et D1 et D2 (pour les
étudiants de MIC). Les étudiants de chaque groupe de TP doivent se répartir en binômes
(avec un monôme si le nombre total d’étudiants est impair, les trinômes n’étant pas
souhaitables). Chaque groupe de TP travaille dans une salle ou ‘sous-salle’ de 6 PCs avec un
enseignant. Cette répartition en groupes de TP et en binômes doit être effectuée par les
étudiants avant les TPs.
La présence et la participation aux séances de TP seront contrôlées.
Le travail se fait sur ordinateur sous Windows 2000. Les étudiants doivent utiliser leur
compte informatique INSAT (nom de login et mot de passe) valable dans toutes les salles
de l’INSAT connectées en réseau.
Tous les fichiers créés lors des séances de TP doivent être placés sur les répertoires personnels
des étudiants : tout fichier placé sur un autre répertoire risque d’être perdu.
Les étudiants peuvent accéder aux salles informatiques en dehors des séances de TP sous
réserve de disponibilité des salles et en demandant l’autorisation aux responsables de salles.
Nous vous conseillons de travailler avec méthode en donnant des noms clairs et courts à
vos fichiers et en n’hésitant pas à créer des sous-répertoires pour placer tous les fichiers
d’un même travail.
Vous pouvez télécharger ce document en version couleur et les outils DSCH3 et SIMPROC-
SIMUAL sur l’intranet pédagogique de l’INSAT (https://intranet.insa-toulouse.fr) :
Informatique Matérielle/Tronc Commun de 2ème année/TPs.

2ème année IMACS-MIC TP Informatique matérielle


page 2

TP N°1. Systèmes Logiques


Cette première manipulation illustre la partie logique combinatoire et séquentielle. Il concerne
l’étude de quelques circuits simples à l’aide d’un simulateur logique (DSCH3-lite)
fonctionnant sous Windows 2000.
Il vous est demandé de bien préparer ce TP en étudiant le sujet ainsi que l’annexe
technique qui décrit toutes les commandes de l’outil DSCH.
Le simulateur DSCH3 lite peut être téléchargé à l’adresse : http://www.microwind.org/.

Introduction
La conception d’un produit logique industriel passe par une succession d’étapes dites
‘descendantes’ qui transforment progressivement les spécifications en une structure
assemblant des composants élémentaires. Les systèmes actuels étant de très grande
complexité, les ingénieurs utilisent des outils informatiques qui les aident à maîtriser ces
étapes de transformation et à vérifier la conformité des réalisations proposées avec les
spécifications. Tous les outils industriels de CAO (Conception Assistée par Ordinateur)
intègrent des Simulateurs logiques ou électroniques pour vérifier que la conception est
correcte. Le simulateur DSCH3 qui vous est proposé dans ce TP est une version simple
d’outil de vérification logique au niveau ‘portes’ dont la présentation est tout à fait semblable
à celle des outils professionnels. Vous allez donc vous familiariser avec ce contexte de travail
classique des conceptions orientées circuits intégrés tout en fixant certaines connaissances des
fonctions logiques combinatoires et séquentielles que vous avez vues en cours et en TD.

Première Partie. Circuits Combinatoires


A. Réalisation d’un additionneur binaire à 3 bits
On considère le circuit logique dessiné à la figure 1 qui réalise l’addition de 3 bits et fournit la
somme S et la retenue R. Ce circuit a été analysé en Travaux Dirigés.

a
⊕ ⊕ S

Figure 1. Additionneur 3 bits

1. Ouvrir DSCH en cliquant sur l’icône qui est sur le bureau Windows. Créer un nouveau
circuit que vous nommerez A3B (fichier A3B.sch). Placer dans le plan de travail de
l’outil DSCH des portes NANDs et XOR, des boutons d’entrée et des LEDs de sortie en
assemblant ces composants avec des connexions selon le schéma de la Figure 1. Se
référer à l’annexe I pour les commandes de l’outil DSCH.

2ème année IMACS-MIC TP Informatique matérielle


page 3

2. Simuler et vérifier le bon fonctionnement de ce circuit.


3. Créer dans votre espace de travail un nouveau symbole noté A3B (fichier A3B.sym)
associé à ce circuit à l’aide de l’icône « Schema To New Symbol » du bandeau
supérieur ou depuis le menu File/Schema To New Symbol. Ce symbole sera utilisé dans
la suite du TP.

B. Réalisation d’un circuit complet d’addition de mots de 4 bits


1. A partir du schéma de principe présenté à la figure 2, et en utilisant le module
d’addition 3 bits A3B mis en place précédemment, réaliser le circuit complet d’addition
de 2 mots de 4 bits : Z = X + Y.
2. Simuler et vérifier le bon fonctionnement du circuit.
3. Créer un symbole noté AM4B (fichier AM4B.sym) dans votre espace de travail.

Y4 X4 Y3 X3 Y2 X2 Y1 X1

Add Add Add Add Re


Rs

Rs Z4 Z3 Z2 Z1

Figure 2. Additionneur de deux nombres binaires

Seconde Partie. Circuits Séquentiels


A. Etude d’une bascule RS asynchrone
On considère le circuit de la Figure 3 qui représente une bascule RS asynchrone simple avec 2
portes NORs interconnectées (notées A et B).

a
A

B S
b

Figure 3. Bascule RS

1. Créer un nouveau circuit selon le schéma précédent.

2ème année IMACS-MIC TP Informatique matérielle


page 4

2. Valider ce circuit en utilisant une séquence de test ‘significative’ du comportement


séquentiel.

B. Etude d’un compteur/décompteur synchrone à deux bits


A partir de l’exemple de la synthèse de système séquentiel synchrone traité en cours, tracer la
table des excitations et faire la synthèse à l’aide de bascules D synchrones d’un
compteur/décompteur à 2 bits. Ce circuit possède une entrée de commande notée COM et 2
sorties S1 & S2 ; il compte ou décompte les tops de l’horloge H selon que l’entrée COM vaut
0 ou 1.
Il est recommandé de préparer ce travail avant de venir en séance de TP en s’aidant de
l’exemple de compteur/décompteur étudié au chapitre 6 du cours
1. Réaliser ce circuit à l’aide de composants élémentaires portes et bascules D synchrones.
On utilisera une entrée horloge notée ‘clock’ dans le tableau des composants.
2. Valider le circuit en utilisant une séquence de test significative du comportement
séquentiel.
3. Sauver ce circuit en créant un nouveau symbole sous le nom CD2 (fichier CD2.sym).

Troisième Partie. Approfondissements


Cette troisième partie vous propose deux études de circuits logiques plus complexes. Selon le
temps qui vous reste, traitez l’une ou l’autre ou les deux études.

A. Additionneur DCBN (décimal codé binaire naturel)


La figure 4 donne le principe d’un additionneur DBCN.

X Y

M o d u l e A d d i t io n n e u r
Re
b in a ir e 4 b its

Rs
X + Y

M o d u le d e
c o r r e c tio n
4 4

Figure 4. Additionneur DCBN

2ème année IMACS-MIC TP Informatique matérielle


page 5

Les deux nombres binaires (X et Y) à ajouter sont compris entre 0 et 9. Le résultat de leur
addition binaire (X+Y) est donc :
• compris entre 0 et 18 si la retenue initiale Re vaut 0,
• compris entre 1 et 19 si Re vaut 1.
5
Une partie seulement des 2 configurations de sortie de l’additionneur binaire est donc
utilisée. Le résultat DCBN devant se présenter sous forme de deux chiffres décimaux (unités
et dizaine), il est nécessaire de corriger le résultat binaire lorsqu’il est supérieur à 9 pour
obtenir la forme souhaitée.
Exemples de fonctionnement :
• Prenons X = 0110 (6) et Y = 0010 (2) Î X + Y = 01000 (8). Le résultat est correct, la
partie unité vaut 8 (6 + 2) et la partie dizaine vaut 0.
• Prenons X = 0110 (6) et Y = 1000 (8) Î X + Y = 01110 (14). Le résultat est
incorrect et doit être corrigé : dizaine = 1 et unité = 0100 (4)
• Prenons X = 1001 (9) et Y = 0111 (7) Î X + Y = 10000 (16).
Il faut donc corriger : dizaine = 1 et unité = 0110 (6).
Nous allons maintenant reprendre et détailler ces deux modules : additionneur binaire 4-bits
et module de correction.

1 Module additionneur binaire 4 bits


Nous supposons que les entrées sont déjà codées en DCBN. Le module d’addition s’appuie
sur un circuit d’addition de deux nombres de 4 bits selon le même principe que celui réalisé
précédemment.

2 Module de correction
Le module de correction repose sur la comparaison à 10 et la soustraction (-10). Si le résultat
binaire est supérieur ou égal à 10, la retenue vaut 1 et il faut alors soustraire 10 au résultat
binaire (voir figure 5). Dans le cas contraire, le résultat est déjà correct.

Résultat binaire
X+Y
(Rs,Z4,Z3,Z2,Z1)

Comparateur
à 10

0 : < 10
1 : ≥ 10 Soustraction
(- 10)

U : Unité
D : Dizaine
(retenue) U4,U3,U2,U1

Figure 5. Module de correction

2ème année IMACS-MIC TP Informatique matérielle


page 6

Remarque : Ce module effectue un transcodage du code binaire naturel à 5 bits vers un code
DCBN à deux digits.
1. Déterminer l’équation logique du comparateur à 10 en fonction des 5 bits d’entrées
(Rs, Z4, Z3, Z2, Z1 (Z1 est le poids faible)).
2. Réaliser le comparateur à 10.
3. Simuler et vérifier le fonctionnement du circuit comparateur.
4. Créer un module comparateur noté C10.
5. A partir du module S10 (soustraction 10) fourni par l’enseignant, mettre en place le
circuit de correction. La sélection de traitement « soustraction » ou « pas soustraction »
se fera à l’aide du module SELECTION fourni également en séance.
6. Simuler et vérifier le bon fonctionnement du circuit de correction.
7. Créer un module de correction.
8. Réaliser l’additionneur DCBN selon le schéma de principe de la figure 4 à partir des
modules additionneur et correction créés précédemment.
9. Simuler et vérifier le bon fonctionnement de l’additionneur DCBN complet.

B. Système de comptage d’objets


Nous allons maintenant utiliser deux compteurs issus de la seconde partie (circuits CD2) et un
additionneur de deux nombres à 4 bits défini dans la première partie (circuit AM4B).
A l’entrée d’une unité de production, des objets à traiter arrivent sur deux tapis roulants (voir
Figure 6). Pour simplifier, on suppose ici que sur chaque tapis il ne peut pas arriver plus de 3
objets durant une session de travail.

Tapis 1
H1 Additionneur
1
COM1 Compteur NbrObjets
2
1 A
3
4 +
1
COM2 Compteur
2 B
2
3
H2 4 C5
Tapis 2
OK/KO

Figure 6. Comptage d’objets

2ème année IMACS-MIC TP Informatique matérielle


page 7

On désire réaliser un circuit qui indique combien d’objets sont présents dans l’unité. On
associe donc un compteur à chaque tapis et on ajoute les sorties de ces deux compteurs avec
un additionneur de nombres de 4 bits étudié dans la première partie. Les bits 3 et 4 des entrées
de cet additionneur seront donc mis à la valeur 0.
1. Réaliser l’interconnexion des objets CD2 (2 exemplaires) et AM4B.
2. Valider cette réalisation avec une séquence de fonctionnement ‘significative’.
3. On suppose que l’unité de traitement ne peut pas recevoir plus de 5 objets en même
temps. Définir et ajouter un module de comparaison à 5 (noté C5) qui détecte si le
nombre d’objets en sortie est supérieur ou égal à 5.

2ème année IMACS-MIC TP Informatique matérielle


page 8

TP N°2
Structure et Fonctionnement des Ordinateurs
Les TP 2 & 3 illustrent la partie Structure et Fonctionnement des Ordinateurs de
l’enseignement d’Informatique Matérielle de seconde année. Ils sont consacrés à l’étude d’un
microprocesseur simulé et à la réalisation de petits programmes illustrant le fonctionnement
interne d’un microprocesseur. Ces études sont menées à l’aide de l’outil SimProc/SimUAL
qui fonctionne sous Windows 2000. Cet outil peut être téléchargé sur l’Intranet pédagogique
de l’INSAT.

I - Présentation de SimProc/SimUAL (par l’enseignant)


Présentation en début de séance par l’enseignant du simulateur de processeur et de ses
différentes fonctionnalités.

II - Fonctionnement d’une Unité Arithmétique et Logique


Lancez le simulateur d’unité arithmétique et logique SimUAL.exe.
Considérer le code suivant (FFF1)16
1. En se référant aux champs S (Signé), H (Hexadécimal) et NS (Non Signé) associés à
l’opérande A de l’UAL faire les analyses suivantes :
a. Déduire l’entier non signé qui est représenté par ce code ?
b. Déduire l’entier signé qui est représenté par ce code ?
c. Déduire le plus grand entier non signé que peut prendre l’opérande A ?
Démarche : Faire des tests sur des valeurs élevées que vous aurez choisies au
préalable et noter la réponse du simulateur) ? Déduire la taille (en chiffres binaires)
des opérandes de l’UAL ?
2. Nous allons dans ce qui suit vérifier que l’UAL considérée utilise la technique du
complément à 2 pour coder les entiers relatifs.
a. Pour ce faire, en utilisant les opérations « complément à 1 » (qui complémente un
à un les chiffres binaires de l’opérande A) et « Incrémenter » (qui incrémente la
valeur de A) de l’UAL, déterminer l’opposé de l’entier signé ayant pour code
(FFF1)16 en complément à 2 ? Vérifier que l’entier trouvé correspond bien à ce que
a été déterminé dans la question 1.b.
b. Quel est le plus petit et le plus grand entier signé que peut prendre une opérande de
l’UAL ? Justifier votre réponse ?
3. Addition d’entiers :
a. Fixer les opérandes A et B / A = B = 10000 et sélectionner l’opération d’addition.
Vérifier la validité des résultats obtenus aussi bien dans le cas où les opérandes sont
des entiers signés que non signés ?
b. Fixer les opérandes A et B / A = B = 40000 et sélectionner l’opération d’addition
sur entiers non signés. Que constatez vous ? Que est l’état de l’indicateur de retenue
C ? Justifier la non validité du résultat obtenu ?
c. Fixer successivement les opérandes (A, B) à (-20000, 20000), (-20000, 30000) puis
à (-20000, -20000) et relever à chaque fois le résultat ainsi que les valeurs des
indicateurs Z, N et C, V. Justifier les valeurs des indicateurs ?

2ème année IMACS-MIC TP Informatique matérielle


page 9

III - Déroulement du programme ‘exemple’


Lancez le simulateur de processeur SimProc4f.exe

Cette première fenêtre apparaît et décrit les différentes étapes, depuis l’élaboration d’un
algorithme structuré jusqu’au chargement en mémoire. L’exemple consiste à calculer la
valeur de (27-1) grâce à une méthode itérative. Vous trouverez en mémoire du simulateur, de
l’adresse 0010H à l’adresse 001AH, les instructions codées de ce programme.

Vous ferez fonctionner ce programme en mode pas à pas à partir d’un RESET.
A chaque étape, vous observerez et noterez les différentes actions effectuées dans la structure
(BUS, Multiplexeurs, UAL, registres généraux, registres d’adresses, …).

2ème année IMACS-MIC TP Informatique matérielle


page 10

IV – Mise œuvre de quelques instructions instructives


Dans cette partie, un mini-programme vous est proposé. Les étapes de choix des registres et
de traduction de l’algorithme en langage d’assemblage sont déjà réalisées. Votre travail
consiste à effectuer le chargement en mémoire du programme, à l’exécuter et à vérifier le bon
déroulement des opérations (Adresses mémoire, IR, UAL et registre des indicateurs,…) après
application d’un RESET.

Algorithme structuré
Initialiser Var /* la valeur de Var doit être choisie > 0 */
Repeter
Var = Var -1
Tant que (Var ≠ 0)

Choix des registres


R7 correspond à Var

Langage d’assemblage
Mnémoniques Commentaires
Etiquettes
Start : LDI R7,5 ; Initialiser Var (ici à 5)
Repeat: DEC R7 ; Var = Var - 1 (Indicateur Z affecté)
JNZ Repeat ; Tant que (Var ≠ 0)
End : JMP End ; Boucle infinie

Assemblage
On décide que le placement commencera à l'adresse hexadécimale 0020.
Code Source
Adresses
0020 1470 LDI R7,5
0021 0005
0022 0170 DEC R7
0023 24FE JNZ Repeat (-2)
0024 20FF JMP End (-1)

Chargement en mémoire et exécution


Entrez le code de ce tout petit bout de programme en mémoire.
Faites en sorte que le contenu du registre PC soit chargé avec l’adresse de début du
programme (0020H).
Exécutez en mode pas à pas le petit bout de programme et observez toutes les évolutions
internes.

2ème année IMACS-MIC TP Informatique matérielle


page 11

V – Conception, réalisation et test d’un petit programme


Dans cette dernière partie de ce TP nous vous proposons de concevoir, réaliser, implémenter
et tester un programme simple à partir d’un ou des deux sujets décrits ci-dessous. Quel que
soit le sujet traité, le programme devra être implémenté à l’adresse (0020H) et l’application
devra débuter par une commande RESET.

1. Comptage du nombre de bits 1 dans un registre


Le but est de compter le nombre de bits ‘1’ contenus dans un registre quelconque et de mettre
le résultat dans un second registre.
Vous êtes totalement libre de votre algorithme. La seule contrainte est que le contenu du
registre testé ne doit pas être détruit à la fin de l’opération de comptage.

2. Multiplication de 2 nombres entiers


Deux nombres entiers sont placés dans deux registres. On désire faire le produit de ces deux
nombres et de placer le résultat dans deux autres registres.
Vous pouvez utiliser l’algorithme présenté en cours de SFO.

2ème année IMACS-MIC TP Informatique matérielle


page 12

TP N°3
Structure et Fonctionnement des Ordinateurs

Calcul du PGCD de deux nombres


Dans ce TP, nous vous proposons de participer à l’élaboration d’un programme de calcul du
PGCD de deux nombres (méthode d’ Euclide). Il s’agit donc, à partir de la méthode fournie
ci-après, d’écrire le programme en langage d’assemblage, d’assembler et de rentrer ce code en
mémoire.

I - La méthode
Calcul du PGCD de deux nombres par la méthode d'Euclide
PGCD (A, B), avec A et B tels que A > B
1°) R1 = A mod B (reste de la division entière de A par B)
2°) R2 = B mod R1
3°) R3 = R1 mod R2

n°) jusqu'à Rn = 0. Alors PGCD = Rn-1

II - Algorithme structuré
A, B initialisés
Si (A < B)
Alors échanger A avec B
Répéter Calcul de R = A mod B
R = A mod B (voir ci-contre) RÅA
AÅB Tant que (R ≥ B) faire
BÅR
RÅR–B
Jusqu'à (R = 0)
(in fine PGCD en A)
Et finalement :
A, B initialisés avec A > B
Répéter
RÅA
Tant que (R ≥ B) faire
RÅR–B
AÅB
BÅR
Jusqu'à (R = 0)
(in fine PGCD en A)

2ème année IMACS-MIC TP Informatique matérielle


page 13

III – Travail à effectuer


Vous devez dérouler les étapes restantes de la programmation :
• le choix des registres,
• l’écriture du programme en langage d’assemblage,
• l’assemblage des instructions (langage machine),
• puis le chargement en mémoire des codes opératoires.
Vous lancerez ensuite l’exécution de votre programme en pas à pas. Testez votre programme
avec les nombres suivants : 62997 et 22908. Vérifierez qu’à partir de ces nombres vous
obtenez bien le résultat attendu : PGCD = 5727 (62997 = 11 * 5727 22908 = 4 * 5727).

IV – Emploi d’un sous-programme


Dans l’algorithme précédent, la fonction ’A mod B’ est exécutée plusieurs fois. Nous allons
maintenant implémenter cette fonction sous forme d’un sous-programme qui sera placé à
l’adresse (0030H).
Modifier le programme réalisé et testé au paragraphe III pour utiliser ce sous-programme.
On déroulera le programme modifié en examinant notamment comment est stockée et
restaurée l’adresse de l’instruction appelant le sous-programme.

2ème année IMACS-MIC TP Informatique matérielle


page 14

Annexe I. Outil de simulation logique DSCH

Lancement de DSCH
Cliquer deux fois sur l’icône DSCH. L’écran de la figure 1 apparaît. Il comprend :

ƒ Un bandeau supérieur de travail avec des menus et des icônes.


ƒ Un plan de travail avec une grille pour placer et interconnecter des composants.
ƒ Une bibliothèque de composants (boutons, portes, bascules, LED de visualisation …)
représentés par des symboles et que vous pouvez sélectionner et faire glisser avec la
souris sur le plan de travail.

Figure 1. Ecran initial de DSCH

Vous pouvez alors :


ƒ ouvrir un circuit déjà réalisé, le simuler et le modifier éventuellement,
ƒ créer un nouveau circuit et le simuler.
Tout circuit que vous créez ou que vous modifiez doit être sauvé sous forme d’un fichier de
tpe *.sch dans un de vos répertoires personnels ; par exemple : circuit1.sch.

2ème année IMACS-MIC TP Informatique matérielle


page 15

Exemple introductif d’utilisation de DSCH


Ouvrir un schéma existant. DSCH propose trois façons ouvrir un fichier :
ƒ Soit cliquer FileÆ Open
ƒ Soit presser la touche F3

ƒ Soit appuyer sur l’icône

Figure 2. Ouverture d’un schéma

Dans la boite de dialogue qui apparaît (ci-dessus), choisir le fichier BASE.SCH puis “Ouvrir”.
L’écran de la figure 3 apparaît alors.

Figure 3. Circuit comprenant plusieurs petits circuits (BASE.SCH).

2ème année IMACS-MIC TP Informatique matérielle


page 16

Voir les propriétés d’un symbole


Par un double click sur la porte NAND, la fenêtre de la figure 4 apparaît. Elle donne des
informations sur la structure interne du symbole, en détaillant notamment le nombre de nœuds
et la description du comportement logique de la cellule, au format VERILOG (language de
description ‘orienté matériel’ de type C).

Figure 4. Un double click dans un symbole permet d’éditer ses propriétés

Lancer une simulation


Pour démarrer la simulation logique du circuit présent à l’écran,vous pouvez :
ƒ cliquer dans le menu simulateÆ start simulation,
ƒ cliquer sur l’icône représentant un petit triangle vert,
ƒ ou taper le raccourci au clavier Ctrl-S.
DSCH rentre alors en mode de simulation et une fenêtre appelée Simulation Control apparaît
(voir figure 5). Elle vous permet de contrôler la simulation du circuit au moyen de quatre
petits boutons représentés ci-dessous : start, pause, step by step (pas-à-pas) et stop.

Start simulation Stop simulation

Pause Step by step

Une petite réglette vous permet de modifier la vitesse de simulation (utile lorsque l’on utilise
une entrée d’horloge). Enfin vous pouvez choisir de visualiser l’état logique des lignes (wires)
ou des entrées/sorties (pins) des portes logiques.

2ème année IMACS-MIC TP Informatique matérielle


page 17

Figure 5. Mode de simulation

Figure 6. Diagramme de la simulation logique (BASE.SCH)

2ème année IMACS-MIC TP Informatique matérielle


page 18

En mode de simulation, utilisez la souris pour cliquer dans les boutons logiques d’entrée des
petits circuits. L’état logique des entrées change alors et cela affecte ou non les sorties. La
couleur rouge correspond à un niveau logique “1”, le noir le niveau logique “0”. Cette
simulation est interactive.
Il est possible de visualiser les chronogrammes de l’évolution des signaux logiques (Figure 6).

Arrêt de la simulation
Cliquer sur l’icône Stop Simulate, ou choisir au menu SimulateÆ End simulation, ou encore
frapper Ctrl-E au clavier. La simulation s’arrête et vous êtes de nouveau en mode édition.

L’icône permet de visualiser les simulations logiques qui viennent d’être effectuées.
L’écran reporté ci-dessous montre l’évolution de différents signaux au cours du temps.

Quitter Dsch
Cliquer File ->Leave Dsch du menu principal pour quitter le logiciel. Celui-ci vous pose une
question de confirmation, ainsi qu’une demande éventuelle de sauvegarde du circuit en cours
d’édition s’il a été modifié.
Remarque. Pensez toujours à sauvegarder vos circuits dans des fichiers distincts avec des
noms clairs et courts.

Principe de réalisation d’un schéma logique


Un schéma se construit à partir de briques de base que sont les symboles. Ces symboles
peuvent être insérés depuis la fenêtre Symbol Library, mais vous pouvez également charger
un fichier .sym que vous avez déjà créé et sauvé dans l’un quelconque de vos répertoires.
Les symboles donnés dans la bibliothèque “IEEE” sont au format de la norme IEEE/ANSI 91-
1984. Ils ne sont pas modifiables. Tous les symboles comportent des “pins” d’entrée ou de
sortie. Les propriétés attachées à chaque “pin” sont le nom, le type et le délai. Le nom de la
“pin” peut être affiché à l’écran ou non grâce à la propriété “Visible”. Une pin peut être de
type « input » ou « output ». Le délai concerne le nombre de pas de simulation nécessaire
pour propager le signal depuis l’entrée vers la sortie du symbole.

DSCH utilise les familles de symboles suivantes :

SIMULATION Les symboles de simulation sont les boutons, horloge simple et


SYMBOLS complexe, clavier, lampes et afficheurs qui permettent une
simulation logique directe à l’écran.

PRIMITIVE Primitives de base.


DSCH inclut les portes and, nand, or, nor, xor, xnor, not, buf,
notif0, notif1, bufif0, bufif1, nmos, pmos, tgate, et switch.
Toutes ces primitives sont combinatoires.

2ème année IMACS-MIC TP Informatique matérielle


page 19

BASIC SYMBOLS Certains symboles ont été construits avec des primitives et sont
disponibles sous DSCH : Add, Comp, Dlatch, et Rs.
Ces symboles se trouvent dans le répertoire « \symbols ».
Le schéma correspondant se trouve dans le répertoire « \schemas »

USER-DEFINED Vous pouvez créer votre propre symbole pour représenter votre
SYMBOLS dessin en cours d’édition : utiliser pour ce faire la commande
Menu→Schema to new symbol.
Les boutons et claviers définissent les pins d’entrée tandis que les
lampes et afficheurs précisent les sorties.
Par défaut, les entrées sont créées à gauche du symbole, les sorties
à droite. Cette répartition peut être modifiée par l’utilisateur

Présentation de la fenêtre initiale


La fenêtre initiale est celle présentée sur la figure 1. Elle se compose classiquement d’un
bandeau donnant accès à différents menus décrits dans les pages suivantes.

2ème année IMACS-MIC TP Informatique matérielle


page 20

Les menus
Menu « File »

Redémarre le programme
avec un fichier par défaut
’example.sch’

Ouvre un schéma existant

Traduit le circuit en
Sauve le circuit en un fichier de texte au
cours format Verilog
Sous le circuit sous un
nom nouveau
Traduit le circuit en un
Génère un symbole fichier de texte au format
équivalent au schéma Spice
en cours d’édition
Passe en mode
monochrome ou couleur
Quitte le logiciel

Imprime le circuit
en cours d’édition

Menu « Edit »

Efface les objets


englobés dans la
zone définie

Colle les éléments Rotation à -90° des


préalablement effacés objets englobés

Duplique les objets englobés


dans la zone définie
Symétrie verticale des
objets englobés
Rotation à +90° des
objets englobés

Ajout d’une liaison Ajout d’une connexion


électrique entre liaisons

Ajout d’un texte de


commentaires dans le
dessin

2ème année IMACS-MIC TP Informatique matérielle


page 21

Menu « View »

Voir l’ensemble du
circuit

Zoom sur une


redessiner le circuit à
partie du circuit
l’identique
Zoom arrière sur le
circuit

Liste des symboles


bibliothèque

Voir le nœud électrique pointé


par le curseur

Chronogrammes de
la dernière
simulation Remettre le dessin sous
sa forme originale

Menu « Simulate »

Vérifie le dessin

Montre le chemin logique


le plus lent

Options de
simulation
Démarre la simulation

2ème année IMACS-MIC TP Informatique matérielle


page 22

La barre d’icônes

Move symbol

Schema to new symbol


Views All

Save File Zoom In

Open File Zoom Out

Electrical node

Select State Symbol library

Cut View Timing Diagram

Start simulation

Copy
Connect
Rotate Left
Wire

Rotate Right Text

Flip

Détail des commandes

Connect
Cette commande ajoute un point de connexion électrique entre deux fils qui se croisent
ou se touchent. Cliquer l’icône, puis cliquer à l’endroit de la connexion. Noter que la
jonction est automatiquement rajoutée lors de l’ajout d’interconnexion dans les cas de
figure standard.

Copy
Cliquer l’icône «copy ». Déplacer la souris dans la fenêtre de dessin, délimiter l’espace
englobant les éléments à copier. En relâchant la souris, la forme des objets copiés apparaît.
Cliquer à l’endroit désiré pour fixer les éléments à copier. La touche «escape » permet
d’arrêter le processus de copie.
Voir Paste pour replacer des éléments effacés.
Voir Cut pour effacer des éléments.
Voir Move pour déplacer un symbole, une ligne ou un texte.
Voir Stretch pour agrandir une connexion

2ème année IMACS-MIC TP Informatique matérielle


page 23

Cut
Cliquer l’icône «cut ». Déplacer la souris dans la fenêtre de dessin, délimiter l’espace
englobant les éléments à effacer. En relâchant la souris, les objets englobés disparaissent. Un
simple clic dans un symbole ou sur une interconnexion permet aussi d’activer l’effacement.
Remarque : le nom d’une «pin » de symbole ne peut être effacé par cette commande. Il faut
cliquer deux fois dans le symbole pour éditer ses propriétés, puis déselectionner la propriété
«pin visible ».

Voir Paste pour replacer des éléments effacés.

Voir Copy pour copier des éléments.

Voir Move pour déplacer un symbole, une ligne ou un texte.

Voir Stretch pour agrandir une connexion

Floating Lines
Avant la simulation, Dsch fait une vérification du dessin et peut trouver des lignes flottantes
et les signaler.

Insert Symbol
Cliquer dans la palette le symbole désiré, et sans relâcher le bouton de la souris, se remettre
dans la fenêtre de dessin pour désigner l’endroit où fixer le symbole. Relâcher le bouton de la
souris, le symbole est positionné. Une alternative est de lancer la commande Insert ->IEEE
Symbol.

Line
Cliquer l’icône. Revenir dans la fenêtre de dessin, cliquer pour fixer le point de départ de la
connexion et sans relâcher le bouton déplacer la souris au point d’arrivée de la connexion.
Relâcher alors la souris.
La ligne est automatiquement routée sur un pas de grille fixe
Dans certaines configurations de connexion attachées, un point de connexion électrique est
automatiquement rajouté.

Move Command
Cliquer l’icône ci-dessus. Cliquer dans le symbole, garder appuyé. La forme du symbole
apparaît. Déplacer la forme du symbole à l’endroit voulu. Le symbole est alors déplacé. Il est
aussi possible de déplacer des lignes et du texte.
En déplaçant un symbole verticalement ou horizontalement, les connexions existantes sont
réajustées.
En cliquant précisément à une extrémité d’une connexion, la commande «stretch » est activée
Pour déplacer un groupe d’objet, passer par la commande «cut » puis la commande «paste »

Paste

2ème année IMACS-MIC TP Informatique matérielle


page 24

Cliquer l’icône «paste » ci-dessus. Les éléments effacés au préalable apparaissent sous la
forme d’une boite englobante. Cliquer à l’endroit voulu pour les fixer.
L’opération «paste » doit suivre l’opération «cut ».

Print Schema
Imprimer le schéma en cours d’édition. Lancer au préalable la commande «view All » si
vous voulez être sûr d’imprimer l’ensemble du dessin.

Properties
Informations sur l’état du logiciel avec le détail du remplissage de sa base de données.

Schema to new Symbol


Génère d’après le schéma en cours d’édition le symbole correspondant. Dsch utilise comme
entrée tous les nœuds connectés à des boutons, claviers et horloges. Comme sortie, Dsch
utilise les lampes et afficheurs.

2ème année IMACS-MIC TP Informatique matérielle


page 25

Il est possible pour chaque «pin » du symbole de préciser sa position : ‘U’ pour « Up (haut)»,
‘D’ pour « down (bas)», ‘L’ pour « left (left)» and ‘R’ pour « right (droite) ». Les
numérotations affectent la position des pins, le « 1 » correspondant à la pin la plus en haut et à
gauche.

Cliquer Save pour sauvegarder votre symbole, dont le nom et l’endroit précis de sauvegarde
apparaissent dans le bandeau d’information.

Voir Insert -> User symbol pour rappeler votre nouveau symbole.

Rotate Left / Rotate Right / Flip


Icônes permettant de modifier l’orientation du symbole ou de la portion de schéma.

Symbol Library

Liste des symboles disponibles directement. Une alternative est d’utiliser la commande
« Insert -> IEEE Symbol »

Select
Cliquer l’icône «select » avant de double-cliquer dans un symbole pour éditer ses propriétés

Cliquer l’icône «select » avant de déplacer un symbole

Cliquer l’icône «select » avant de modifier la forme d’une interconnexion Cliquer ensuite sur
l’une ou l’autre des extrémités de l’interconnexion

Text
Cliquer l’icône «texte ». Revenir dans la fenêtre de dessin et cliquer à l’endroit où le
texte sera fixé. Une fenêtre apparaît dans laquelle vous entrez le texte au clavier. Une
fois validé, le texte est dessiné dans la fenêtre.
En cliquant dans le texte avec l’icône texte sélectionnée, vous pouvez l’éditer
Le texte est indépendant des autres éléments
La longueur de la chaîne est limitée à 128 caractères

View All
L’écran est redessiné de manière à inclure la totalité des objets en cours d’édition, symboles,
interconnexions et texte.

View Interconnect
Cette commande permet de faire apparaître dans une couleur spécifique le nœud électrique à
l’endroit précisé par le curseur. Cliquer «escape » pour redessiner le schéma avec les couleurs
normales.

2ème année IMACS-MIC TP Informatique matérielle


page 26

View Timing Diagram


Cette commande permet de dessiner le chronogramme de la simulation passée, avec le détail
de l’évolution de chaque entrée et sortie en fonction du temps.

Décalage temporel vers le


temps plus ancien

Décalage temporel vers le


temps plus récent

Zoom avant pour obtenir plus


de détail sur l’évolution des
signaux dans le temps

Zoom arrière pour agrandir


l’échelle des temps

Zoom In & Out


En mode «zoom In » l’utilisateur spécifie un espace qui sera agrandi de manière à occuper
toute la fenêtre de dessin. En mode «zoom Out », l’écran est redessiné avec un zoom arrière
permettant de découvrir les bords de la zone en cours de visualisation.

2ème année IMACS-MIC TP Informatique matérielle


page 27

La librairie logique (principaux éléments)

Bouton. Le rouge Buffer. Amplifie le signal


équivaut au niveau « 1 », logique.
le noir à « 0 »

Lampe. Le rouge Inverter. Inverse l’entrée


équivaut au niveau « 1 », logique
le noir à « 0 »

Porte ET deux entrées Porte Non ET 2 entrées

Porte OU deux entrées Porte Non OU 2 entrées

Porte XOR deux entrées Porte XNOR deux entrées

Masse. Alimentation.

Générateur d’horloge Afficheur 7 segments


avec décodeur intégré

Inverseur 3 états Clavier hexadécimal.

Porte OU trois entrées Porte Non OU trois


entrées

Porte ET trois entrées Porte Non ET trois


entrées

Horloge spécifiée point Additionneur 3 bits


par point dans le temps

2ème année IMACS-MIC TP Informatique matérielle


page 28

Récapitulatif
Résumé des principales commandes
Menu Sous menu Description
Icône

File New Redémarre le logiciel avec le nom par


défaut ‘example.sch’.

File Open Ouvre un fichier existant.

File Schema to New Commande de génération d’un symbole à


Symbol partir du fichier en cours de dessin
File Save Sauve le dessin en cours dans un fichier
par défaut (.sch)
File Save As Sauve le dessin dans un fichier dont le
nom est précisé par l’utilisateur (‘.sch’)
File Print Schema Imprime le dessin

File Leave DSCH Quitte le logiciel Dsch


View View All Ajuste le zoom pour inclure l’ensemble du
dessin en cours d’édition
View Zoom In Agrandit une zone du dessin

View Zoom Out Elargit la zone de dessin affichée à l’écran

View View InterConnect Fait apparaître le nœud électrique


connecté à la pin du symbole désigné
View View Symbol Affichage de la palette des symboles
Library
View View Timing Affichage des chronogrammes de la
Diagram dernière simulation temporelle
View Undo Annule l’effet de la dernière commande
d’édition
View Unselect All Key ‘Esc’ or Désélectionne les objets en cours d’édition
Right button et redessine l’écran
of mouse
View Monochrome/color Commutation du mode couleur au mode
noir et blanc
Edit Cut Efface la portion de schéma englobée ou
l’élément pointé par la souris
Edit Paste Copie les éléments effacés auparavant

2ème année IMACS-MIC TP Informatique matérielle


page 29

Edit Copy Copie les éléments englobés

Edit Rotate Left Rotation des éléments englobés de +90°

Edit Rotate Right Rotation des éléments englobés de -90°

Edit Flip Symétrie verticale des éléments englobés


ou pointés par la souris
Edit Line Dessine une connexion électrique

Edit Connect Connecte deux connexions croisées

Edit Text Ajoute un texte de commentaire sur le


dessin

Simulate Start Simulation Démarre la simulation logique interactive

Simulate Pause Pause de la simulation logique

Simulate Make One Step Un pas de simulation logique

Simulate End Simulation Fin de simulation et retour en mode


édition
Help Aide en ligne

2ème année IMACS-MIC TP Informatique matérielle


page 30

A propos des fichiers de données

Dsch utilise quatre types de fichiers de données, tous de type texte lisible par tout éditeur de
base tel que NOTEPAD.

n .sym Description de symboles. Les symboles de base sont dans le


répertoire « \IEEE »

o .sch Description de circuit. Un circuit intègre une liste de symboles,


reliés entre eux par des interconnexions.

p.cir Traduction du circuit au format SPICE, simulateur analogique


extrêmement répandu.

q.txt Traduction du circuit logique au format VERILOG, format


standard de description de portes logiques, langage d’entrée de
Microwind pour la compilation du circuit en micro-électronique.

2ème année IMACS-MIC TP Informatique matérielle


page 31

Annexe II. Outil de simulation SimProc

Présentation du simulateur
La vision du processeur simulé est celle qui apparaît dans la fenêtre suivante :

On retrouve dans ce cadre les différents éléments qui constituent la structure d’un ordinateur.
Les principaux sont l’unité de commande, l’unité arithmétique et logique, les unités d’entrée
et de sortie, une banque de registres généraux internes ainsi que quelques registres spécialisés
indispensables au fonctionnement de l’ordinateur. Il apparaît de plus dans ce même cadre la
mémoire externe au processeur, dans laquelle sont stockés les programmes et les données
(architecture de Von Neumann).

Afin de bien distinguer chacun de ces éléments, le simulateur permet d’obtenir l’affichage
suivant par simple clic du bouton gauche de la souris sur le fond de page :

2ème année IMACS-MIC TP Informatique matérielle


page 32

Les différents registres


Le processeur comporte :
• 8 registres généraux 16bits : R0, R1, …, R7
• 1 registre compteur ordinal, PC (Program Counter)
• 1 registre d’instruction, IR (Instruction Register)
• 1 registre pointeur de pile, SP (Stack Pointer)
• 1 registre pointeur d’interruption, VI (Vector Interrupt)
• 1 registre d’Etat (Etat)

Glossaire

Un glossaire rappelle le nom et le rôle de chacun des éléments internes (registres, signaux,
principaux composants, …) du processeur. Ce glossaire est accessible par simple clic sur le
bouton gauche de la souris sur le fond de page.

2ème année IMACS-MIC TP Informatique matérielle


page 33

L’unité de Commande
L’unité de commande est modélisée par une machine séquentielle à états. Dans le
déroulement complet d’une instruction :
• 2 états sont nécessaires pour la recherche de l’instruction
9 lecture de l’instruction et chargement dans le registre d’instruction
9 décodage de l’instruction
• de 0 à 3 états sont utilisés pour exécuter l’instruction
• 4 états sont nécessaires pour le traitement d’une requête d’interruption (prise en
compte de l’interruption).

2ème année IMACS-MIC TP Informatique matérielle


page 34

Cette machine à états est représentée par la figure suivant :

2ème année IMACS-MIC TP Informatique matérielle


page 35

2ème année IMACS-MIC TP Informatique matérielle


page 36

Le jeu d’instructions

Le jeu d’instructions du processeur se répartit en 4 groupes d’instructions (Groupes 0, 1, 2 et


3) et en 3 formats différents d’instruction (formats a, b ou c).

• les instructions du groupe 0 sont celles qui utilisent l’unité arithmétique et logique.
• le groupe 1 rassemble les instructions de recopie, de chargement, de stockage et
d’entrée/sortie.
• le groupe 2 correspond aux instructions de sauts conditionnels et inconditionnels.
• enfin le groupe 3 contient les instructions de contrôle du processeur.

Les 5 figures suivantes décrivent ces formats et groupes, elles peuvent être appelées par
simple clic sur le bouton gauche de la souris sur le fond de page.

Formats des instructions

2ème année IMACS-MIC TP Informatique matérielle


page 37

Instructions du groupe 0

Instructions du groupe 1

2ème année IMACS-MIC TP Informatique matérielle


page 38

Instructions du groupe 2

Instructions du groupe 3

2ème année IMACS-MIC TP Informatique matérielle

S-ar putea să vă placă și