Upload
magali-gabriel
View
120
Download
3
Embed Size (px)
Citation preview
sif-1053 1
Cours 5
3. Construction d’un ordinateur
Les circuits logiquesL ’unité de contrôle (UC)L’unité arithmétique et logique (UAL)
Le matériel
Chapitres 4 et 5 CSA Chapitres 3 et 4 CSAPP Synthèse du professeur
sif-1053 2
Les circuits logiques
La notion de circuits logiques a été introduite en vue de simplifier l’étude des circuits électroniques numériques.
Grâce à la notion de circuits logiques il est possible de travailler sur des systèmes extrêmement complexes sans pratiquement faire appel à aucune notion d’électronique.
Les systèmes électroniques numériques les plus complexes, tels les ordinateurs, sont construits à partir de circuits logiques (on utilise également portes logiques) fondamentaux. Il existe trois portes logiques élémentaires, le circuit NON (circuit inverseur), le circuit OU et le circuit ET.
sif-1053 3
Les circuits logiques
4sif-1053
Le circuit NON
Le circuit inverseur, ou circuit NON, effectue l’opération de complémentation d’une variable booléenne. Il comporte bien sûr une entrée et une sortie. Si dans l’entrée nous introduisons la variable A, à la sortie nous obtenons la variable complémentée A’.
A A
5sif-1053
Le circuit OU
0
1
t
0
1
t
A
AB
C = A + B
B
C
0
1
t
6sif-1053
Le circuit ET
0
1
t
0
1
t
A
B
C
0
1
t
AB
C = A x B
sif-1053 7
Identités de l’algèbre de Boole
8sif-1053
Le circuit NET
Le circuit NET (contraction de NON-ET) résulte de la mise en série d’un circuit ET et d’un circuit NON.
A
BA B+=A . B
A . B
AB
A B+=A . B
sif-1053 9
Le circuit NET
Le circuit NET
10sif-1053
Le circuit NI (OU complémenté) Le circuit NI résulte de la mise en série d’un circuit OU et d’un circuit NON.
A + BA
BA + B A . B=
A
BA + B A . B=
11sif-1053
Il est important de constater que le circuit NET peut, par de judicieuses combinaisons, servir à réaliser les trois portes logiques de base.
AA i AA
AB
A . BAB
A . BA . B i
A
BB
A
A + B A + BiA
B
Loi d’idempotence (AA = A)
Loi de De Morgan (AB)’ = A’ + B’
sif-1053 12
Le circuit OU EXCLUSIF (XOU) La porte OU EXCLUSIF est souvent appelée la porte “un mais pas tous”. On constate à partir du tableau booléen qu’il est semblable à celui de la fonction OU, à cela près que, quand les deux entrées sont à 1, la porte XOU donne un 0.
En fait, la porte XOU n’est validée (donne une sortie 1) que si ses entrées comportent un nombre impair de 1. La porte XOU peut donc être considérée comme un circuit de contrôle des bits impairs.
A A xor B
sif-1053 13
sif-1053 14
Circuits plus élaborés La combinaison de portes logiques permet le développement de circuits plus spécialisés
Par exemple, avec un circuit simple nous pourrions contrôler le flot de données
sif-1053 15
Circuits plus élaborés Pour sélectionner une entrée de donnée parmi plusieurs et l’aiguiller vers une sortie il existe des circuits de multiplexage
O = (A ET Z) OU (B ET Y) OU (C ET X) OU (D ET W)
sif-1053 16
Circuits plus élaborés En ajoutant un décodeur, nous pouvons sélectionner une des quatre entrées en ayant que deux signaux de sélection
O = (A ET (X’ ET Y’) ) OU (B ET (X ET Y’)) OU (C ET (X’ ET Y)) OU (D ET (X ET Y))
sif-1053 17
Circuits plus élaborés Multiplexeur 4/1 avec la sélection de l’entrée par un décodeur
sif-1053 18
Circuits plus élaborés Diagramme temporel d’un multiplexeur 4/1 avec la sélection de l’entrée par un décodeur
sif-1053 19
Multiplexeur 4/1
Permet de sélectionner une entréeparmi quatre
O = (D0 ET (C1’ ET C2’) ) OU (D1 ET (C1 ET C2’)) OU (D2 ET (C1’ ET C2)) OU (D3 ET (C1 ET C2))
sif-1053 20
Circuits plus élaborés Les circuits de décodage (décodeur) servent à la sélection de dispositifs:
Sélections de registres Sélections d’emplacements de mémoire Sélections d’opérations dans l’ALU
sif-1053 21
Décodeur et ALU
10
1
sif-1053 22
Décodeur 3/8
sif-1053 23
Circuits plus élaborés Les circuits de décodage (décodeur) servent à la sélection de dispositifs
Par exemple: sélection de segments d’afficheur
sif-1053 24
Circuits plus élaborés Regardons plus spécifiquement l’alimentation du segment a
Logique directe
a = W’X’Y’Z’ + W’X’YZ’ + W’X’YZ + W’XY’Z + W’XYZ + WX’Y’Z’ + WX’Y’Z
Logique inverse
a’ = W’X’Y’Z + W’XY’Z’ + W’XYZ’
sif-1053 25
Circuits plus élaborés Alimentation du segment a
sif-1053 26
Circuits plus élaborés Le contrôleur d’une machine à laver peut être considérer comme une représentation simplifiée de l’unité de contrôle d’un CPU
1 cycle = 30 minutes
sif-1053 27
Circuits plus élaborés Chaque opération (instruction) est associée à un code de trois bits qui eux sont associés à des signaux de contrôle
sif-1053 28
Circuits plus élaborés Nous pouvons alléger la logique de contrôle en emmagasinant les signaux de contrôle dans une mémoire
sif-1053 29
Circuits plus élaborés La méthode de décodage par utilisation d’une mémoire peut aussi être améliorée en ajoutant la possibilité de branchement conditionnel et le bouclage
Et ce en élargissant le mot de contrôle: Par l’ajout d’un champ adresse qui permet d’effectuer un branchement à un autre emplacement dans la mémoire du bloc de contrôle
Par l’ajout d’un champ permettant d’identifier les branchements conditionnels
sif-1053 30
Circuits plus élaborés
sif-1053 31
CISC versus RISC
La microprogrammation permet de concevoir des architectures très élaborées.
Toutefois, les constructeurs des supers ordinateurs utilisent une stratégie très différente, car les très grandes vitesses d ’exécution sont difficilement réalisables avec la microprogrammation.
Les supers machines privilégient les architectures qui offrent un jeux d ’instructions réduit. Donc, plus simple à réaliser et plus rapide à l ’exécution.
sif-1053 32
Ces architectures sont connues sous l ’acronyme RISC (Reduced Instruction Set Computer).
Ce terme a été choisi en opposition aux architectures « complexes » qui étaient la norme jusqu’à la fin des années 80 (Digital, Intel, IBM, entre autres).
Ces architectures sont du type CISC (Complex Instruction Set Computer).
La différence principale entre les architectures RISC et CISC réside dans la manière que l’unité de contrôle décode les instructions
sif-1053 33
Architecture RISC La méthode de décodage utilisée dans la
première implémentation du système de contrôle de la machine à laver est dite cablée (Hard-wired) puisque le décodage est strictement effectué à l’aide de circuits logiques
Les architectures RISC utilisent le même principe:
L’instruction en cours d’exécution est extraite de la RAM et emmagasinée dans le IR
Le code d’instruction (ex: ADD, SUB, MOV) est utilisé pour produire les signaux de contrôle
Les registres d’état de l’ALU et un compteur de cycles machine servent aussi à la logique de contrôle pour produire les signaux de contrôle
sif-1053 34
Architecture RISC
sif-1053 35
Architecture CISC
sif-1053 36
Architecture CISC
MAR: Memory adr. reg.MDR: Memory data reg.MBR: Memory byte reg.PC: Program counterSP: stack pointerLV: base pointer
sif-1053 37
Architecture CISC
F0, F1: Opérations de l ’ALUENA, ENB: Validation des entrées (ENABLE)INVA: Inversion de AINC: Tenir compte du carry in (+ 1)
sif-1053 38
Exemples d ’opérations
Incrément de 1 du SP
SP <- SP + 1
Bbus <- SP
ENB <- 1
ENA <- 0
INC <- 1
Cbus <- Bbus + 1
SP <- Cbus
sif-1053 39
MPC: program counterMIR: instruction register
Architecture CISC
sif-1053 40
Architecture CISC
NEXT_ADR.: adr. de la prochaine instructionJAM: détermine comment la prochaine instr. est sélectionnéeALU: fonction du ALU ou shifterC: reg. destinationMem: fonction mémoireB: reg. source
sif-1053 41
Architecture CISC
Une pile est indispensable pour le bon fonctionnement de nos programmes
Une pile est un ensemble d’espaces mémoire qui permet de stocker les variables locales d’une procédure
LV pointe au début du bloc mémoire où sont stockées les variables locales d’une procédure
SP pointe sur la variable locale sur le dessus de la pile
Chaque variable est accédée en donnant le décalage par rapport à LV
sif-1053 42
Architecture CISC (pile)
PROC()
{
int a1, a2, a3 ;
}
sif-1053 43
Architecture CISC (pile)
{
a1 = a2 + a3 ;
}
ILOAD a2 ILOAD a3 ADD ISTORE a1
sif-1053 44
Architecture CISC
==
sif-1053 45
Introduction au ISA deMIC-1 (Architecture CISC) Jeu d’instructions
sif-1053 46
Exemple d’implantation
sif-1053 47
Exemple d’implantation
Exécution du IADD (0x60) instruction iadd1
MAR <- SP <- SP - 1; rd • SP pointe sur l’emplacement juste en dessous du haut (dessus) de la pile
• Lecture de cet emplacement dans MDR
instruction iadd2 H <- TOS
• H contient le contenu de l’emplacement du dessus de la pile (au iadd1)
instruction iadd3 MDR <- TOS <- MDR + H ; wr; goto
Main1• Addition • Écriture dans TOS et sur le dessus de la pile (adr. dans MAR)
sif-1053 48
instruction iadd1
SP - 1
iadd2
sif-1053 49
instruction iadd2
iadd3
TOS
sif-1053 50
instruction iadd3
MDR + H
main1