Cours 2 Archi
Cours 2 Archi
Département Informatique
Cours Architecture des ordinateurs 2
Marie-Agnès PERALDI-FRATI
Maître de Conférences
[email protected]
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 1
Organisation de ce cours
• Cours , TD, TP = 25h
– 6 séances de cours
– 10 séances de TD
• Evaluation :
– 2 examens de contrôle continu
– 1 examen final
• Intervenants :
– Marie-Agnès Peraldi-Frati
– Gurvan Huiban
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259
• les Périphériques :
– Liaison série,
– Liaison parallèle,
– Imprimante
• Exemple de processeurs embarqués
– Robots lego
– Microcontrôleur Beck
Mécanisme d'interruption
• Principe :
– interrompre un programme en cours pour traiter une tâche plus
urgente
– prise en compte d'événements asynchrones
• Objectif :
– Détecter un événement imprévu
alarme, coupure d'alimentation ...
– Sans avoir à faire une scrutation permanente
analogie avec une sonnerie de téléphone
– Pour exécuter un sous programme appelé sous-programme
d'interruption.
Mécanisme d'Interruption
• IT externe et matérielle
– provoquée par un périphérique (clavier, port ES, imprimante ...)
– permet de gérer les conflits d'accès au processeur
• IT externe logicielle
– IT est générée par un programme. L'instruction assembleur INT
• IT interne trap ou exception
– IT est générée par le processeur lui même.
Division/0, overflow
• Priorités des interruptions
– hiérarchisation des IT: classement par ordre de priorités.
– Priorité IT interne > Priorité IT matérielles > Priorité IT logicielles
IT1
IT2
Processeur IT3
...
IT1
Processeur IT2
IT3
...
• Interruption vectorisée :
– 1 signal de demande
– un identificateur qui permet le branchement direct sur le Sous
programme d'IT
– le vecteur est déposé sur le bus de donnée
– il est fourni par un composant appelé Contrôleur d'IT
» Avantages : le microprocesseur reconnaît de suite le
périphérique qui a déclenché l'IT
» Inconvénient : il est nécessaire de gérer des priorités
(dépôts simultanés de 2 vecteurs sur le bus)
• Interruptions matérielles:
– Détection sur une ligne du processeur
– Ligne active => déroutement du programme pour traiter l'IT
– le microprocesseur termine l'instruction en cours avant de
traiter l’IT
– événement asynchrone
• Interruptions logicielles
– invoquée par un processus à un moment précis de son
exécution (instruction INT)
– événement synchrone
– peut être assimilé à un appel de sous programme
PROCESSEUR
IR0
Contrôleur
d’interruption PERIPHERIQUE
Demande d’IT
IR7
1ère Phase
Dépôt du vecteur
PROCESSEUR sur le bus de donnée
PERIPHERIQUE
Autorisation Contrôleur
d’Interruption d’interruption
2ème Phase
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 11
« ... » « ... »
{ adresse de
}
SP3
{ adresse de
SP2 Table de
{ adresse de
SP1
vectorisation
adresse de
{ SP0
3ème Phase
4ème Phase
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 12
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
Interruptions
non masquables
NMI
Requête
d’Interruptions
Interruptions
INTR Masquables
8259A
logiques
Division Mode
INT n INT 0 par zéro trace
a) Type = 14h
b) Type * 4 = 50h -> Offset dans la Table des vecteurs d’IT
c) Table des vecteurs d’IT d) Flags --> pile
}
00053 20 0 --> IF
00052 00 ISR Adresse 2000:3456--> CS:IP
00051 34 = 2000:3456
00050 56 =23456 e)Procédure ISR
0004F XX 23456 PUSH AX
~
~ ~
~
PUSH BX
...
00002 XX 23874 IRET
00001 XX
00000 XX f) Pile --> CS:IP
Pile --> Flags
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 19
• Fonctions du DOS
• Fonctions du BIOS
• Routines à programmer
Interruptions logicielles
• Appel aux fonctions du BIOS (Basic Input Output System)
– Interface normalisée (OS)
– Compatible PC
– Fonctions élémentaires
• Exemple :
– Accès écran
– Accès imprimante
– Consultation date du système
– ...
Interruptions logicielles
• Fonction vidéo du Bios
– Une fonction BIOS => une routine d’IT
– une ISR = ensemble de fonctions lié à un périphérique
– Exemple: interruption 10h => Routine vidéo
» Fonction 00h: sélection du mode vidéo monochrome couleur
...
» Fonction 01h : définition de la forme du curseur
» ...défilement des pages ...
– Appel : Fonction 0Ah de l’IT 10h (Affiche un caractère à l’écran
sur le curseur)
MOV AH, 0Ah
MOV AL, ‘x’
INT 10h
Interruptions logicielles
Interruptions logicielles
• Exemple :
– Création d’un fichier,
– Affichage de caractères à l’écran
– ...
• Appel : Ecriture de ‘‘IUT de Nice’’ sur écran
DS:DX contient l’adresse de la donnée
MOV DX, 0h
MOV AH, 09h ; fonction d’affichage d’une chaîne à l’écran
INT 21h
Interruption Logicielles
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259
• les Périphériques d’Entrées Sorties
– Liaison série,
– Liaison parallèle,
– Imprimante
Les entrées/sorties
• Comment le CPU réalise les transactions
d’entrée sortie
– Stratégie qui détermine quelles données sont
transférées
– Le circuit d’interface qui réalise le transfert hors et
dans le PC
– Les composants d’E/S qui convertissent les données
dans les deux sens.
• Exemple:
– Un ordinateur connecté à un clavier et à un écran télé
Exemple
• Programme data transfert
Stratégie de transmission des données vers le périphérique via
» son port de sortie (pour écran) ou
» son port d’entrée (pour clavier)
– Port est un pont entre le périphérique et le PC
» Met en forme les données (série <->Parallèle)
» Ajoute des bits de synchronisation
– Connexion se fait par une « twisted pair « (2 fils)
» Données internes transmises au port sont //
» Données transmises par le port au périphérique se fait
en série
Exemple
Composant d’interface Périphérique
Bus Adresse
CPU
Bus Données
Bus de Contrôle
Coté Coté
CPU Périphérique
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 31
Handshaking et Buffering
• Les transferts de données d’E/S sont de 2 types:
– Boucle ouverte : les données sont transférées et leur
réception correcte est supposée après un certain délai
» Exemple du service de mail
» Généralement suffisant
DAV
A B C D
DAV
Diagramme temporel
A : données valides
B: le PC signale au périphérique la disponibilité des données
C: le PC signale au périphérique que les données ne sont plus valides
D: Données invalides
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 33
DAV
DAC
A B C D
DAV
DAC
Diagramme temporel : Handshaking
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 34
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
DAV
• Handshaking :
– utile pour les périphériques lents DAC
– Permet de valider la réception des données
• Fully interlocked data transfert
– Accusé de réception de DAC lui même
A B C D E
DAV
DAC
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 35
000000
000400
Data Address Data Address Data Address
Programme
0007FF
008000
Port de sortie
008003
Périphérique
do {
do {
/* Attente du canal prêt pour transmettre */
retour = EtatCom(&port,0X40);
} while (retour !=0);
retour = EmetCar(&port,&Chaine[i]);
if (retour !=0)
printf ("\nErreur de transmission !!!!");
else
i=i+1;
} while (Chaine[i-1] != '\0');
Output Port
CPU Memory Data Reg.
Status Reg.
IVR
IRQ IRQ
Périphérique
DMA (suite)
Fonctionnement de l’UART
Interface Série
Générateur Générateur
Horloge parité TxD
Trasmitter data TxClk
Chip Select Registre transmission
Register
et CTS
Read write Contrôle transmission
control Status
Register RTS
Logique d’Interruption
IRQ
Control
Contrôle Vérification
Register RxD
Buffer Réception parité
Du bus de
donnée Receiver data Registre Générateur RxClk
Register Réception Horloge
DCD
Logique de synchronisation
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 56
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
Fonctionnement de l’UART
• Registres internes :
– 4 registres internes : TDR, RDR, CR, SR
– Seuls 2 sont accessibles par le CPU en écriture
Exemple de programmation
» Si caractère == ‘\n’
• Envoi de la chaîne par la liaison série
• Si erreur d’envoi arrêter l’envoi
• Fin de boucle
Interface parallèle
• Le port parallèle des PC et compatibles se présente sous la
forme d'une prise DB25 femelle,
• Ce port a été pensé pour communiquer avec une
imprimante, ses signaux sont très lié à ce périphérique
Performances
• Les ports plus récents, de type EPP (pour Enhanced
Parallel Port, développé par Xircom, Zenith et Intel),
permettent d'atteindre un débit de 2Mo/s
• il permet néanmoins la réception de périphériques tels que
des lecteurs de CD-ROM, disques durs, Zip
• En plus d'un débit supérieur, les ports EPP sont
bidirectionnels.
Programmation
Programmation
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259
• les Périphériques d’Entrées Sorties
– Liaison série,
– Liaison parallèle,
• Système Multitâches
– Structure, fonction d’un OS multitâche
– Gestion des tâches
– Relations entre tâches
– Mécanismes d’exclusion mutuelle
– Synchronisation
– Communication
• Exemples de systèmes multitâches
– Exécutif temps-réel RTC
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 72
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
Système multitâche
Système multitâche
Système multitâche
• Motivation
– servir équitablement différents utilisateurs
– Accès au CPU par plusieurs utilisateurs
– Comment partager le CPU ?
Ordinateur
Terminal 3
Terminal 1
Terminal 2
– le système doit
» lire les commandes tapées au clavier
» afficher les résultats à l’écran
Processus séquentiel
S_occuper_terminal(int a){
- lire une commande du terminal a
- exécuter la commande
- afficher le résultat de la commande sur le terminal a
Processus séquentiel
CS
CS Tâche4
Exécution de la tâche1
Tâche1 pendant une durée t
Tâche3
….
Tâche2
CS Changement de contexte
CS entre Tâche1 et Tâche2
Changement de contexte
entre Tâche2 et Tâche3 Exécution de la tâche2
pendant une durée t
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 79
Traitements
multi-tâches multi-utilisateurs
Multitâche
Process_terminal1(){
while(true){
s’occuper_terminal(1);
}
}
Process_terminal2(){
while(true){
s’occuper_terminal(2);
}
}
Process_terminal3(){
while(true){
s’occuper_terminal(3);
}
}
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 82
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
Multitâche
• Chaque processus n’a plus qu’une partie du
problème initial à résoudre
• un problème non séquentiel est ramené à plusieurs
sous problèmes séquentiels
• Ceci est rendu possible grâce à la notion de noyau
• Avec un seul processeur un seul processus s’exécute
à la fois
• le noyau exécute à tour de rôle chacun pour donner
l’impression que chaque processus dispose de son
propre processeur
5 Alarme
4 A A A
3 B B B
Interruption d’E/S
Horloge temps-réel
Interruption d’alarme
t1 t2 t3 t4 t5 t7 t8 t9 t10
Système temps-réel
• Système destiné à l’automatisation
• Couplage étroit avec le monde extérieur
• Contraintes sévères de délai d’exécution (milliseconde)
• Tâches cycliques
– réglage de moteurs
– échantillonnage de capteurs
• Traitements asynchrones
– réponse à des événements externes
– gestion d’alarme
• Systèmes qui fonctionnent sans opérateurs (en ligne)
d’abstraction
• règle de visibilité
Le noyau
• Donne à l’exécutif l’accès à une machine virtuelle
• Réside en mémoire centrale
• Assure
– la gestion des tâches
– l’allocation du processeur
– la gestion de la mémoire
– la gestion des interruptions et des trappes
– la synchronisation et l’exclusion mutuelle
– la communication entre tâches
– la communication avec l’extérieur
Pseudo-parallélisme :
Rôle du noyau
• Noyau d’un OS = ensemble de procédures
• Un noyau est un allocateur de processeur
• Le noyau gère la commutation de processus
• Structures de données gérées par le noyau:
– Descripteur de processus
» ensemble des variables propres au processus
» priorité et état
» contenu des registres du processus
• Ces informations constituent le contexte d’exécution
– ceci permet aux procédures d’être réentrantes
– possibilité d’exécuter une procédure simultanément par
plusieurs processus
j=15 j=20
i=10
v1=10
}Local à proc P1 i=15
v2=15
}Local à proc P2
Pile de P1 Pile de P2
Pointeur-suivant
Contexte
Etat
Supervision
• Définie
– connue du superviseur Réquisitionner
– descripteur spécifié
Prête Allouer Active
• Prête
– en attente du processeur Débloquer
Bloquée Bloquer
• Active
Arrêter
– en cours d’exécution
• Bloquée Démarrer Définie Terminer
Créer Inexistante
Détruire
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259
• les Périphériques d’Entrées Sorties
– Liaison série,
– Liaison parallèle,
• Système Multitâches
– Structure, fonction d’un OS multitâche
– Gestion des tâches
– Relations entre tâches
– Mécanismes d’exclusion mutuelle
– Synchronisation
– Communication
• Exemples de systèmes multitâches
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 95
dimension
dimension
AVANT
APRES
pointeur tâche
dimension
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 98
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
AVANT APRES
Commutation de processus
Commutation de processus
• Question :
– est il indispensable que le noyau utilise les interruptions
de l’horloge?
– Ne peut-il pas se contenter des interruptions des autres
périphériques?
• Système à temps partagé cela est essentiel
– ‘‘computer bound process’’
• Système purement temps réel :
– de part les applications
– aucun processus ne monopolise le processeur
– les commutations sur horloges ne sont pas implémentées
– ‘‘input/output bound process’’
Allocation du processeur
• Algorithme du tourniquet (Round-Robin scheduling)
– files des tâches prêtes
– chaque tâche reçoit le processeur
» durant une durée fixe
» jusqu’à ce qu’elle se bloque
– les tâches suspendues retournent en fin de file
Tâches
Tâches prêtes
Tâches
nouvellement Processeur terminées
démarrées
Tâches recyclées
Allocation du processeur
• Allocation par priorité
– priorité matérielle, priorité logicielle
– Round robin pour un même niveau de priorité
Tâches
prêtes
priorité1
Tâches
nouvellement priorité2 Tâches
Processeur
démarrées terminées
priorité3
Gestion du processeur
• le processeur doit traiter
– les tâches synchrone
– les tâches de fond
– les tâches asynchrones
• les tâches asynchrones correspondent à des opérations à
effectuer à des instants imprévisibles :
– déclenchées par des interruptions
– qui provoquent la réallocation du processeur
=> le temps de service doit être court
– priorité
» inverse du temps de service
» plus élevée pour les périphériques lents
• Echéancier
– tâche spéciale du noyau
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259 les Périphériques : écrans, imprimantes ,
drivers …
• Circuits séquentiels/Automates
• Système Multitâches
– Structure, fonction d’un OS multitâche
– Gestion des tâches
– Relations entre tâches
– Mécanismes d’exclusion mutuelle
– Synchronisation
– Communication
• Exemples de systèmes multitâches
– Exécutif temps-réel RTC
mémoire tampon
tâches tâches
«producteur» «consommateur»
◗ Blocage fatal
– Arrêt de l’évolution des tâches par suite d’un manque de
ressources:
Ressource P
Tâche A Tâche B Situation Initiale
Ressource Q
Ressource P Ressource P
Tâche A Tâche B Tâche A Tâche B
Ressource Q Ressource Q
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259 les Périphériques : écrans, imprimantes ,
drivers …
• Circuits séquentiels/Automates
• Système Multitâches
– Structure, fonction d’un OS multitâche
– Gestion des tâches
– Relations entre tâches
– Mécanismes d’exclusion mutuelle
– Synchronisation
– Communication
• Exemples de systèmes multitâches
– Exécutif temps-réel RTC
} {
ressource
• on peut assurer l’exclusion mutuelle : critique
– en masquant les IT
– par un verrou
– par un sémaphore
◆ Sémaphore :
– évite l’attente active
– tâches en attente sont mises en sommeil
– Sémaphore traite l’exclusion mutuelle avec accès multiples simultanés.
– Structure de données + primitives
ATTENDRE et SIGNALER
Sémaphore
P(S) V(S)
Variable
entière Liste des
S tâches
en sommeil
F(S)
S:=S+1
Non Oui
S <= 0
- Retirer de F(S) le
descripteur de
tâche Eveil
- Mettre le descri- d’une
pteur dans la tâche
file des tâches
prêtes
- Rendre le processeur
S:=S-1
Non Oui
S < 0
- Insérer le
descripteur dans
la file F(S) Mise en
sommeil
- Sauvegarder le d’une
contexte de la tâche tâche
- Rendre le processeur
tâche A tâche B
P(S) P(S)
V(S)
} ressource
{ V(S)
critique
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259 les Périphériques : écrans, imprimantes ,
drivers …
• Circuits séquentiels/Automates
• Système Multitâches
– Structure, fonction d’un OS multitâche
– Gestion des tâches
– Relations entre tâches
– Mécanismes d’exclusion mutuelle
– Synchronisation
– Communication
• Exemples de systèmes multitâches
– Exécutif temps-réel RTC
fin fin
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 122
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
tâche A tâche B
ai doit se faire
après bj
P(S)
Sémaphore ai
bj
initialisé avec S=0
V(S)
P(S) ck
ai bj V(S)
V(S)
• Exemple 2 :
tâche A tâche B tâche C
Synchronisation sur ET
Initial : SB =0 , SK=0
F(SB), F(SK)vides P(SK)
P(SB) ck
bj V(SK)
ai V(SB)
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259 les Périphériques : écrans, imprimantes ,
drivers …
• Circuits séquentiels/Automates
• Système Multitâches
– Structure, fonction d’un OS multitâche
– Gestion des tâches
– Relations entre tâches
– Mécanismes d’exclusion mutuelle
– Synchronisation
– Communication
• Exemples de systèmes multitâches
– Exécutif temps-réel RTC
• Echanges d’informations
sous forme de messages
• Configuration de type
– point à point
– diffusion
– multipoint symétrique
• Primitives atomiques
Deposer (message, boite-aux-lettres)
Retirer (message, boite-aux-lettres)
• Méthode du rendez-vous :
– Les tâches s'arrêtent en un point convenu pour s'échanger leurs
messages
• Primitives:
ENVOYER(message, destinataire)
RECEVOIR(message, emetteur)
REPONDRE(message,emetteur)
•Principe du rendez-vous
tâche A tâche B
ENVOYER(message,B) RECEVOIR(message, A)
Synchronisation
Transmission du message
Plan
• Mécanismes d’Interruption
– Détection
– Traitement
– Différents types d’interruptions : logicielles / matérielles
– Contrôleur d’interruption 8259 les Périphériques : écrans,
imprimantes , drivers …
• Circuits séquentiels/Automates
• Système Multitâches
– Structure, fonction d’un OS multitâche
– Gestion des tâches
– Relations entre tâches
– Mécanismes d’exclusion mutuelle
– Synchronisation
– Communication
• Exemple de systèmes multitâches
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique 134
IUT de Nice Côte d’Azur
Département Informatique
Cours Architecture des ordinateurs 2
• Deux exemples :
– multitâches TR : RTC
– multitâche non TR : Windows NT
• Communications
InitMailBox(IdBL, DimBl);
Send(IdBL, Message);
Receive (IdBL, &Message, Time-out);
TestReceive(IdBl, &Message);
• Exclusion Mutuelle
InitSemaphore(IdSem, Compte);
P(IdSem, Time-Out);
V(IdSem);
TestP(IdSem);
• Synchronisation
SignalEvent (IdTache, IdEvt);
WaitEvents’Evts Attendus, Time-Out, &CopieEvtSig);
ClearEvents(Liste Evts);
Les périphériques
Périphériques:
les mémoires secondaires.
Périphériques:
les écrans
• Ecrans alphanumériques
– Zone mémoire contenant des caractères
– Caractère codé sur 2 octets : attribut + code Ascii
– Mémoire de 4 k pour un écran alpha couleur
• Ecrans Graphiques
– Zone mémoire de pixels
– Organisation en 480x640 ou 800x600 ou 1024x1024 pixels
– Ecran bit map (juxtaposition de plans mémoire)
– Taille mémoire augmente ( écran 16 couleurs de taille
1024x1024 = 1Mega )
– Temps d’affichage lent => processeurs doivent être rapides.
• Souris
– mécanique : déplacement de roues => calcul de la position
– optique : déplacement d’une LED sur une grille,
– optomécaniques : Déplacement de roues + photodétecteur
• Codage des informations
– 3 octets par 100 ms
– pooling des informations
– Etat, x, y
• Imprimantes matricielles
– aiguilles activées par un électro-aimant
– impression par point
• Imprimantes laser
– photosensibilisation
– poudre electrostatique => toner
– Processeur interne /externe
– Langage Postscript
• Pentium 66 et +
• Sparc de Sun
• 2 voies d'évolution
– accroissement des performances
– miniaturisation des composants
• Accroissement des performances
– augmentation de la vitesse d'exécution
» composants
» vitesse de propagation
» dimension physique
» optimisation des connexions
» unité de calcul rapide
» registres spécialisés (pipeline)
» organiser les traitements (//)
Performance
• Pour l’utilisateur : =
Temps d'exécution
Evaluation de performances
• SPEC System Performance Evolution Coopérative
– consortium de constructeurs
– standards communs de test
– exécution sur différentes plates-formes
– => SPECMARK
– De là viennent les unités de mesure
» MIPS : Million Instructions Per Second
» MFlops : Million of Floating Point Opération Per Second
• Problème:
– le calcul des Mips dépend du constructeur
– les jeux d’instructions étant différents => résultats non comparables
entre eux.
• NB:
– Ces mesures sont des indicateurs théoriques de performance
– Choix d’une machine : benchmarks avec programmes types qu’on va
utiliser.
Evaluation de performances
• Systèmes temps-réel :
– systèmes critiques
– dépassement de temps => DANGER
– Exemple :
» Détection d’alarme dans une centrale nucléaire
» Détection d’un décrochage sur un A 310
• Pour ces systèmes
– Evaluation doit être précise
– benchmarks
– analyse statique des programmes
– simulation
• Problème ouvert :
– activité de recherche importante
– quête d’une approche systématique pour ces évaluations
EDCBA Re Rd Rc Rb Ra
Opération O
• Structure de l’en-tête
A dresse C o n te n u Type
+00h A d r e s s e d u p ro c h a in d r iv e r 1 PTR
• 13 fonctions numérotées de 0 à 12
• Fonctions obligatoires même si inutilisées : bit Termine
=1
• Certaines sont propres aux drivers de blocs ou de
caractère
• Elles tirent leurs arguments du bloc de données
• Elles rendent leur résultats dans ce même bloc
• Principales fonctions:
– 00h Initialisation du driver
– 03h Lecture directe
– 04h Lecture
– ...
Les Bus
Les Bus