doc

publicité
Cours 1 : Format de données
Q1.1 : Supposons un nombre entier positif représenté sur 8 bits. Écrivez 4, 12, 83 et 242 en
binaire et en hexadécimal.
Q1.2 : Supposons un nombre entier positif représenté sur 16 bits. Écrivez 34211 (base 10)
en base 12 (A = 10, B = 11, Par exemple, 154 en base 10 vaudrait 10A en base 12).
Q1.3 : Supposons des nombre entiers signés représentés sur 8 bits en notation complément
2. Écrivez, en hexadécimal, la valeur des nombres suivants : -1, -81, -127.
Q1.4 : Écrivez 1d, -1d, -32768d et 32767d en binaire, en utilisant la notation complément 2,
sur 16 bits. Écrivez aussi ces nombres en hexadécimal.
Q1.5 : Supposons des nombre entiers signés représentés sur 8 bits en notation complément
2. Additionnez les nombres hexadécimaux suivants (le «h» signifie hexadécimal):
a.
b.
c.
d.
e.
f.
1Ah + 41h
6Bh + 17h
01h + FCh
D3h + 5Ah
80h + 91h
E1h + E5h
Q1.6 : Pour quel(les) addition(s) de la question précédente y a-t-il une retenue (carry)? Un
débordement (overflow)?
Q1.7 : Supposons des nombre entiers signés représentés sur 8 bits en notation complément
2. Effectuer les soustractions suivantes:
a.
b.
c.
d.
A2h – 07h
41h – 7Ah.
21h – 9Fh
C2h – 51h
Q1.8 : Pour quel(les) soustraction(s) de la question précédente y a-t-il un emprunt
(borrow)? Un débordement (overflow)?
Q1.9 : Si C1280000h est une fraction représentant un nombre sur 32bits dans le format
IEEE754, quelle est la valeur décimale de ce nombre?
Q1.10: Écrivez 5 sur 32 bits en utilisant le format IEEE754. Vous pouvez vous inspirer de
l’algorithme suivant :
1) Déterminer le bit de signe (le bit vaut 1 si le nombre est négatif)
2) Déterminer l’exposant. La valeur de l’exposant est 127 + arrondi_inférieur(
log2(Nombre)).
3) Déterminer la mantisse comme suit.
a. Mettre le bit de signe positif
b. Diviser le nombre par 2^(Exposant-127)
c. Soustraire 1
d. Pour chaque de i allant de 1 à 23
i. Vérifier si le nombre est supérieur à 2^(-i)
ii. Si oui, mettre le bit i de la mantisse à 1 et soustraire 2^(-i) au
nombre. Notez que le bit le plus significatif de la mantisse apparait
lorsque i vaut 1.
Q1.11 : L’ENIAC, considéré par certain comme étant le premier ordinateur, a-t-il été
construit avant ou après la seconde guerre mondiale?
Q1.12 : Donnez un exemple d’addition sur 8 bits en notation complément 2 où on obtient
une retenue au neuvième bit. Donnez également un exemple de soustraction où on
emprunte un neuvième bit, toujours sur 8 bits en notation complément 2.
Q1.13 : Si un microprocesseur moderne a N transistors par cm2 et si la loi de Moore est
respectée pour les 25 prochaines années, combien de transistors par cm2auront les
microprocesseurs dans 25 ans?
Q1.14 : Le premier microprocesseur en circuit intégré avec transistors MOS est-il apparu
avant ou après le premier pas de l’homme sur la lune, c’est-à-dire avant le 21 juillet 1969?
Q1.15 : Vous retrouvez, en mémoire, la séquence de nombres suivante : 0x41, 0x4C, 0x4C,
0x4F. Sachant que cette séquence représente un mot codé en ASCII, quel est ce mot?
Cours 2 : Structure générale d’un ordinateur
Q2.1 : Qui contrôle le bus d’adresse? Le bus de données? Le bus de contrôle?
Q2.2 : Quand le microprocesseur de votre ordinateur ira-t-il lire une instruction de la
mémoire? Quand le microprocesseur de votre ordinateur ira-t-il lire ou écrire une donnée
de la mémoire?
Q2.3 : Si un bus d’adresse a 5 lignes, un bus de donnée à 8 lignes et un bus de contrôle a
deux lignes (lecture et écriture), combien de bits peuvent être adressés et lus/écris par ces
bus?
Q2.4 : Quelle est la séquence d’opération effectuée par le CPU pour…
… lire une donnée en mémoire?
… lire une instruction en mémoire?
… écrire une donnée en mémoire?
Q2.5 : Qu’est-ce qu’un ALU et quel est sont rôle?
Q2.6 : Qu’est-ce qu’un registre?
Q2.7 : Supposons le système suivant :
E
ADR
A4
A3
A2-A0
3
CPU
007
006
005
004
003
002
001
000
Mémoire 1
X
X
X
JMP adr (8)
adr (17) = R1
R1 = R1+ R2
R2 = 3
R1 = adr (16)
Data
D7-D0
R
W
E
ADR
Mémoire 2
007
006
005
004
003
002
001
000
X
X
X
X
X
X
Y
5
Data
R
W
8
Read memory
Write memory
Dans ce système, un bus d’adresse de 5 lignes permet d’accéder à 32 adresses différentes.
Les adresses 8 à 15 accèdent à la mémoire 1, car A3 active cette dernière. Les adresses 16 à
23 accèdent à la mémoire 2, car A4 active cette dernière. Les mémoires, le CPU et le bus de
donnée ont 8 bits. Par ailleurs, il existe deux lignes formant le bus de contrôle : Read
memory et Write memory. Ces lignes permettent de lire ou écrire en mémoire.
Le CPU possède au moins les registres R1, R2, IR, PC et MAR. Les registres R1 et R2 sont
équivalents à des variables 8 bits utilisées pour différentes opérations arithmétiques,
logiques ou autres. Le registre IR contient l’instruction en cours d’exécution. Le registre
PC détermine quelle sera la prochaine instruction exécutée par le CPU. Il est incrémenté
automatiquement à la fin d’une instruction, sauf pour l’instruction JMP. Finalement, le
registre MAR fixe la valeur des lignes d’adresse du CPU. Si ce registre contient 5 par
exemple, A0 et A2 seront à « 1 » et A1, A3 et A4 seront à « 0 ».
Le CPU est capable d’exécuter plusieurs instructions : il peut mettre le contenu d’une case
mémoire dans un registre et vice versa, il additionner des registres, il peut mettre des
constantes dans un registre, il peut effectuer des sauts inconditionnels (l’instruction JMP
change la valeur du PC, i.e. JMP 12 équivaut à PC = 12!), il peut…
Sachant que la valeur initiale de PC est 8 et que le CPU exécute une instruction par coup
d’horloge, décrivez ce que fera cet ordinateur dans les prochains coups d’horloge. Dites
quelles seront les valeurs des bus (contrôle, données, adresse), des registres et des cases
mémoire.
Voici le début pour vous guider :
Fetch instruction 1 :
PC vaut 8 -> Le MAR est mis à 8 -> La ligne Read Memory est activée (pour aller chercher une instruction!) ->
L’instruction « R1 = adr (16) » apparaît sur le bus de données et elle est mise dans IR.
Le CPU exécute l’instruction 1 :
Le MAR est mis à 16 -> La ligne Read Memory est activée (pour aller chercher une donnée!)-> 5 apparaît sur le
bus de données -> 5 est mis dans R1 -> PC est incrémenté, il vaut 9 maintenant.
Fetch instruction 2 :
PC vaut 9 -> Le MAR est mis à 9 -> …
Q2.8 : Pourquoi un port de sortie utilise-t-il des flip-flops?
Q2.9 : Pourquoi un port d'entrée utilise-t-il des buffers Tri-state?
Q2.10 : Soit une instruction de langage machine qui permet de transférer (écrire) la valeur
$E7 dans le port $148. Au moment où cette instruction est exécutée, indiquez la valeur
binaire présente sur le bus d'adresse, sur le bus de données et indiquez le signal de contrôle
actionné sur le bus de contrôle.
Q2.11 : Un circuit de mémoire comporte des broches A0 à A11, des broches D0 à D3, CE,
WE, RE, CAS et RAS. Combien de bits de mémoire peut-on lire avec ce circuit?
a) 2k
b) 8k
c) 16k
d) 64k
e) 1M
f) 2M
g) 4M
h) 8M
i) aucune de ces réponses
Q2.12 : Combien de lignes d’adresses sont nécessaires, au minimum pour adresser 2
mémoires RAMs de 8 adresse*1bytes et une mémoire ROM de 16 adresses *1 bytes?
Assumons que chacune de ces mémoires peut être mise en état de haute impédance avec
une broche/pin active HAUT/HIGH et nommée ENABLE. Les mémoires RAM ont aussi 3
broches pour déterminer l’adresse visée et la mémoire ROM en a 4. Dessinez un décodeur
d’adresse à l’aide de porte ET/AND et d’inverseur (NOT) qui permette d’activer une seule
adresse d’une seule de ces mémoire à la fois. La mémoire RAM doit être activée par les
adresses les plus basses.
Q2.13 : Dessinez un circuit logique qui permet d’additionner deux variables de 2 bits.
Q2.14 : Quelle est la principale différence entre l’architecture Harvard et l’architecture
Von Neumann?
Q2.15 : À quoi sert le décodeur d’adresse sur le bus d’un système ordinateur?
Cours 3 : Structure générale d’un ordinateur
Q3.1 : Pourquoi utilise-t-on des caches?
Q3.2 : Quels sont les quatre caractéristiques principales d’un bus?
Q3.3 : Combien d’accès à la mémoire sont nécessaires pour lire et exécuter une
instruction?
Q3.4 : Quand la mémoire prendra-t-elle le contrôle du bus de donnée? En d’autres mots,
quand imposera-t-elle une tension sur les broches du bus?
Q3.5 : Quel mécanisme permet d’éviter les collisions sur le bus de donnée dans votre
ordinateur?
Q3.6 : Quel est l’intérêt du DMA? Comment se passe un transfert par DMA?
Q3.7 : Associez, à l’aide de flèches, les éléments de la colonne de gauche à 2
caractéristiques de la colonne de droite. Il doit y avoir 2 flèches par élément de la colonne
de gauche, mais ceux de la colonne de droite peuvent servir plusieurs fois, ou ne pas servir
du tout.
A) PROM
1- Nécessite un rafraîchissement
B) SRAM
2- Ne se programme qu’une seule fois
C) DRAM
3- Peut s’effacer avec une lampe ultra-violet
D) EEPROM
4- S’efface électriquement avec une tension différente de celle
de l’alimentation.
5- Perd son contenu lorsqu’il n’est plus alimenté
6- Garde son contenu même lorsqu’il n’est plus alimenté
7- Est utilisé pour la mémoire cache
Q3.8 : Qui peut contrôler le bus d’adresse ? (2 réponses)
Le contrôleur d’interruption
Le contrôleur de DMA
Le BIOS
La mémoire
Les entrées-sorties
La carte vidéo
Le microprocesseur
Ça dépend du fuseau horaire
Q3.9 : Associez les items de gauche aux définitions de droite (1 à 1)
Le chipset
Appelé par le CPU, il sert à effectuer un transfert rapide de
données entre un périphérique et la mémoire
Le contrôleur d’interruption
Composé des contrôleurs de DMA, d’interruptions, de bus
d’extension, etc.
Le contrôleur de DMA
Suspend le déroulement d’un programme pour traiter une
information en priorité
CPU
Présente en petite quantité, elle permet d'accélérer l'exécution
des programmes
Mémoire cache
Exécute les instructions des programmes et fait les calculs
Q3.10 : Pourquoi dit-on que la mémoire vive de votre ordinateur peut être vue comme une
cache du disque dur ?
Q3.11 : De quel type de mémoire est habituellement constituée la cache L1 ? La mémoire
vive ? Un disque dur ?
Q3.12 : Le microprocesseur contient-il des séquences d’instructions préétablies pour
accéder aux entrées/sorties?
Q3.13 : Comment sont identifiés les périphériques dans les instructions qu’exécute le
microprocesseur?
Q3.14 : Que fait généralement le microprocesseur lorsque sa ligne d’interruption est
activée suite à un évènement provenant du périphérique X?
Q3.15 : Pourquoi une mémoire non-volatile n’est jamais dynamique?
Q3.16 : Quel est le rôle de la mémoire virtuelle?
Cours 4 : Introduction aux circuits logiques
Q4.1 : Démontrez les égalités suivantes :
- X ET 0 = 0
- X ET 1 = X
- X OU 0 = X
- X OU 1 = 1
Q4.2 : Remplacez le circuit logique suivant par une porte logique unique (une porte ET par
exemple).
A
C
B
Q4.3 : Sachant que le SET et le RESET de la bascule NAND-SR illustrée dans les notes de
cours sont actifs lorsqu’ils valent 0, donnez la table de vérité de la NAND-SR (similaire
celle de la bascule SR-NOR dans les notes de cours).
Q4.4 : Si on constitue un registre avec 8 bascules D, quel signal de la bascule D est
commun à toutes les bascules D du registre?
Téléchargement