Portes logiques :
Les portes de base sont présentées aux pages 482-483
(Figures A.5, A.6). Ces portes sont celles qui sont le plus souvent
utilisées pour décrire un circuit logique combinatoire, mais
ne sont pas nécessairement les portes qui sont réellement
implatées au niveau matériel (transistores), dépendant
de la technologie utilisée. Par exemple, dans plusieurs technologies
(dont TTL et CMOS), le AND est fait avec un NAND suivi d’un NOT (voir figures
A.10 et A.8).
Un circuit combinatoire est un ensemble de portes logiques (noeuds) connectées ensemble (arcs), sans qu’il n’y ait de cycle (graphe dirigé acyclique).
Circuits combinatoires importants : multiplexeur (MUX), démultiplexeur (DEMUX), décodeur, Full Adder (pages 497-506).
Minimisation des expressions booléennes (pages
506-516) :
Pour trouver la somme de produits (SOP) ou le produit de sommes (POS)
minimal, on peut utiliser les tables de Karnaugh (K-maps). Ça
fonctionne bien jusqu’à 4 variables; pour plus, ça devient
un exercice de représentation mentale intéressant.
Il est à noter que ce n’est pas parcequ’une expression est en forme SOP (ou POS) minimale que c’est l’expression la plus simple, ni que c’est celle qui prendra le moins de temps à calculer par le circuit. Fan-in versus profondeur du circuit : en utilisant la forme SOP ou POS on fait un circuit avec une porte qui a un gros fan-in (beaucoup d’entrées), et ces portes sont grosses, lentes, et difficiles à réaliser directement en matériel. Il est donc parfois préférable d’augmenter la profondeur du circuit pour dimminuer le nombre d’entrées des portes.
Circuits séquentiels :
C’est un circuit qui contient des cycles. Par exemple, la bascule
D (figure A.57, page 522). Ces circuits fonctionnent à cause
du délais de propagation des informations. Quand on analyse
un tel circuit il faut donc décrire son comportement dans le temps
plutot que seulement une fonction combinatoire simple. Les circuits
combinatoires auquels on ajoute des boucles, sont difficiles à vérifier
et à modéliser, alors on utilise plutôt des élements
séquentiels synchrones de base (bascules bistables type D).
Pour chaque cycle dans le cicuit on met au moins une bascule, qui nous
permet d’avoir un modèle de temps plus simple. Les bascules
D sont les plus utilisées (et les seules utilisées dans ce
cours). On modélisera donc nos circuits séquentiels
comme dans la figure A.50 (page 517).
Écriture sur un bus : portes à trois états.
On veut utiliser un seul fil pour transmettre des informations venant
de plusieurs sources (une après l’autre; pas en même temps).
Un MUX peut faire ça, mais il faut savoir d’avance le nombre de
sources et le circuit peut devenir gros si ce nombre est grand. Si
plusieurs portes ont leur sortie branchées sur un même fil,
il y a un court circuit si une porte écrit un 0 pendant qu’une autre
écrit un 1. On utilise donc des portes à 3 états.
Au lieu d’avoir une sortie à 0 ou 1, on a une sortie à 0,
1 ou Z (haute impédence). Cette dernière met une grande
résistance entre l'alimentation/masse et la sortie, ce qui laisse
le fil de sortie à un voltage "flottant", c’est à dire qu’une
autre porte peut facilement faire varier le voltage pour écrire
un 0 ou un 1. Donc on peut utiliser un seul fil, avec des portes
à 3 états, où toutes sont à Z sauf une, au
lieu d’utiliser un gros MUX.
Ordinateur simple SRC
- Architecture RISC (Reduced Instruction Set Computer)
- Trois formats de base pour les instructions (op ra, c1
op| ra, rb, c2 op ra, rb, rc, c3)
- Sept sousformats (Figure 2.9, page 51)
- 32 registres généraux
Types d’opérations :
- Chargement/Rangement (Load/Store)
- ld r2, 4(r6)
- st r2, 6(r6)
- Arithmétique/Logique entre les registres (ou petite constante)
- add r1, r2, r3
- Branchement
- brnz ici
Exemples d’encodage des instructions : pages 54
et 58
Description de l’exécution des instructions :
pages 59-67
Projection
en classe (.PDF)