La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Système d’exploitation : Assembleur

Présentations similaires


Présentation au sujet: "Système d’exploitation : Assembleur"— Transcription de la présentation:

1 Système d’exploitation : Assembleur
Semaine 02 Architecture

2 Système informatique

3 Système informatique UCT = Unité Centrale de Traitement
= Central Processing Unit = CPU

4 Système informatique Le microprocesseur est un circuit intégré complexe qui joue le rôle de CPU. Analogie homme – machine Organes d’entrée : odorat, vue, toucher, goût, ouïe Organes de sortie : les muscles Organe de traitement : le système nerveux, le cerveau Cerveau (2 unités centrales) - CPU MCT - registres MLT - mémoires RAM-ROM Livres, Bibliothèques,… - disques externes : disque dur, cd rom, …

5 BIOS et DOS BIOS : programme permanent en ROM
permet de démarrer le système après mise sous tension exemple d’appel au BIOS : service date et heure service vidéo : taille du curseur DOS : système d’exploitation en RAM gère les composants du système interface homme-machine exemple d’appel au DOS : affichage à l’écran, entrée au clavier,… BIOS : le DOS s’appuie sur un prog en mémoire morte (ROM) le BIOS est le programme permanent de la machine contient un grand nombre de procédures d’accès aux périphériques Quand étude des INT (+ tard), nombreux appels au DOS et au BIOS

6 Composants de l’ordinateur
La mémoire : Différentes formes : ROM - RAM Comprend instructions et données Adresse et contenu d’une mémoire L’horloge : Circuit électronique qui cadence le µpro Le µprocesseur : caractéristiques taille bus de données jeu d’instructions modes d’adressage nombre de registres internes architecture interne taille bus d’adresses taille des registres du µpro famille des circuits programmables associés vitesse de fonctionnement µpro : relié à des circuits mem : données et instructions !! Mémoire : une commode avec tiroirs superposés. Chaque tiroir a un n° : adresse Chaque tiroir contient une information !!! Adresse <> Donnée ! Contenu : 1 octet = 8 bits = 2 digit hexa Adresse : 8088 : 20 bits = 5 digits hexa Horloge : +/- idem que métronome pour musicien permet un fonctionnement pas-à-pas de l’UC. à chaque impulsion, UC fait une partie d’une instr. (1 instr.: Min 2 cycles) µpro : BUS = circuiterie interne. Expl : maison : circuit chauffage (bus = tuyauterie) les info vont d’un circuit intégré à un autre en passant par le bus bus : divisé en 4 grdes parties : bus d’adresse, de données, de contrôle, les lignes d’alimentation. Taille du bus : transfert en parallèle bits ( chaque x des 1 et des 0). Horloge ! Bus d’adresses : 8088 : 20 bits / : 24 bits / et suvants : 32 bits 20 bits : 1024Ko = 1 Mo bits : 4Go Bus de données : 8088 : 8 bits / : 16 bits / et suivants : 32 bits

7 Structure classique d’un µP
Unité de mémoire RAM/ROM/HDD Port d’entrée Port de sortie Microprocesseur Bus d’adresses Bus de données Bus de contrôle

8 Le µprocesseur : architecture externe
Bus de données Bus d’adresses Bus de contrôle RAM ROM Entrée Sortie Sur la carte mère on retrouve les différents éléments mentionnés. Fonctionnement : grâce au décodeur Quand le µP veut accéder à une donnée en mémoire, l’adresse de la cellule mémoire est envoyée sur le bus d’adresse. RAM, ROM, IN, OUT : sont inactives. Le décodeur va activer le circuit auquel est destiné l’adresse. D E C

9 Le µProcesseur Etude du 8088 : Notion de multiplexage “vrai” 16 bits :
Architecture simple, jeu d’instructions de base… Notion de multiplexage Bus partagé entre adresses et données => Un décodeur est nécessaire “vrai” 16 bits : bus et registres en 16 bits Exemple : 8086 “faux” 16 bits : registres en 16 bits mais bus de données en 8 bits Exemple : 8088 Catégories de broches : 1) celles qui permettent transfert de données entre µpro et mém. (= bus de données - bidirectionnel !!) 2) celles où le µpro place une adresse de la mém ( càd n° de la case mémoire) = bus des adresses. 3) les autres forment le bus de contrôle : expl : - lecture/écriture (le µpro dit : je vais lire ou je vais écrire) - l’horloge - des signaux permettant le dialogue avec la mem et les circuits d’interfaçage (op. terminée,…) - des signaux d’interruption (qd un périphérique veut la main)

10 INTEL 8088

11 Le µProcesseur : 8088 Broche 1 : GND
Broches 2 à 8 : adresses bits 8 à 14 Broches 9 à 16 : adresses - données bits 7 à 0 Broche 17 : demande d’interruption (NMI) Broche 18 : demande d’interruption (INTR) Broche 19 : CLK : horloge système Broches 35 à 38 : adresses bits 16 à 19 Broche 39 : adresse bit 15 Broches S0 à S6 : Info sur ce que fait le µprocesseur Broche 1 : GND Broches 2 à 8 : adresses bits 8 à 14 Broches 9 à 16 : adresses - données bits 7 à 0 Broche 17 : demande d’interruption (NMI) Broche 18 : demande d’interruption (INTR) Broche 19 : CLK : horloge système …. Broches 35 à 38 : adresses bits 16 à 19 Broche 39 : adresse bit 15 Broches S0 à S6 : donnent info sur ce que fait le micropro. Expl : lecture mémoire

12 Architecture interne du µprocesseur 8088 : Execution Unit et Bus Interface Unit
EU et BIU fonctionnent en parallèle mode pipeline : pendant que EU exécute une instruction, BIU va chercher la suivante Les instruction recherchées sont mises en attente dans une file qui peut contenir 4 octets. Cette file d’attente est de type FIFO. Quand place libre, BIU va chercher la suivante. BIU suspend sa recherche quand EU ordonne un accès en mémoire EU : contient UAL : unité arithmétique et logique : exécute les opérations EU : pas en communication directe avec l’extérieur. Données : 8 bits et Adresses : 20 bits d’où multiplexage. Registre : petite zone de rangement de 8 bits ou 16 bits

13 Architecture interne du µprocesseur 8088 (1/3)
L’ UE : exécution des instructions (contient l’ALU, 8 registres de 16 bits et le registre d’état). L’UIB : adaptation entre UE et monde extérieur gère la segmentation de la mémoire, elle contient les registres de segment + IP (Instruction Pointer)

14 Architecture interne du µprocesseur 8088 (2/3)
Les registres du µprocesseur : qu’est-ce qu’un registre ? notion de taille d’un registre les registres de travail AX, BX, CX, DX se décomposent : AH,AL,BL,BH,... les registres pointeurs et index SP, BP, SI, DI les registres de segment CS, DS, SS, ES le registre IP le registre FLAG Les registres de travail ou registres généraux : AX accumulateur : utilisé lors d’opérations arithmétiques BX registre de base : utilisé lors de l’adressage CX compteur : utilisé notamment pour instruction LOOP DX data : utilisé pour instructions arithmétiques. Ces registres ont une longueur de 16 bits et peuvent être décomposés en 2 registres de 8 bits Les opérations impliquant les registres sont beaucoup + rapides que celles impliquant des zones mémoire. Les registres pointeurs et index: SI : “source index” utilisé pour les traitements sur chaînes de caractères - associé à DS DI : “destination index” utilisé lors d’opérations sur chaînes de caractères - associé à ES BP : “base pointer” associé au registre SS pour accéder aux données de la pile SP : “stack pointer” associé au registre SS - pointe vers le dernier élément de la pile Les registres de segment : CS : “code segment” : contient l’adresse du segment mémoire où se trouvent les instructions du programme DS : “data segment” : contient ……………………………………………..données du programme SS : “stack segment” : contient………………………………………………la pile ES : “extra segment” : contient………………………………………………données supplémentaires Le registre IP : reg 16 bits : associé à CS. CS:IP . Contient l’adresse de la prochaine instruction à exécuter. Ce registre ne pourra jamais être modifié directement. Il sera modifié indirectement par des sauts, appel à des sous-routines,... Registre FLAG : voir page suivante

15 Architecture interne du µprocesseur 8088 (3/3)
les registres de travail AX, BX, CX, DX (1x 16 bits ou 2x 8 bits) les registres pointeurs SP et BP les registres index SI et DI les registres de segment CS, DS, SS, ES le registre IP le registre FLAG 1) FFFF +0001 CF=1 2) 00FF CF=0 !!, mais AF=1 3) non signé signé FFFE - FFFF (-1) FFFF 4) +8000 CF=1 1) 0001h +0001h 0002h PF=0 2) 0001h +0002h 0003h PF=1 1) 0001 - 0001 ZF=1 2) 8000 +8000 1) OF sans CF 4000 +4000 OF=1 car (nb+)+(nb+)=(nb-) en signé 2) OF avec CF 8000 +8000 0000 OF=1 car (nb-)+(nb-)=(nb+) OF ACTIVE QD LE SIGNE CHANGE ET QU’IL NE DEVRAIT PAS !!!!!!! 1) 4000 + 4000 SF=1 2) 2000 +2000 SF=0

16 Les FLAGS (1/2) Overflow Flag Sign Flag Zero Flag Auxiliary carry Flag
à 1 si le dernier résultat a débordé de la taille du registre Pour l’addition: si 0+0=1 ou si 1+1=0 pour le MSB Pour la soustraction: si 0-1=1 ou si 1-0=0 pour le MSB Sign Flag à 1 si la dernière opération a généré un résultat négatif identique au MSB du résultat Zero Flag à 1 si les deux opérandes utilisés sont égaux le résultat vaut 0 Auxiliary carry Flag à 1 si la dernière opération a généré une retenue du bit numéro 3 vers le bit numéro 4, à 0 sinon Parity Flag à 1 si le nombre de bits à 1 est pair dans les 8 bits de poids faible du résultat de la dernière opération Carry Flag à 1 si la dernière opération a générée une retenue

17 Les FLAGS (2/2) Direction Flag Interruption Flag Trap Flag
à 1 si le transfert de données se fait en décrémentant les offset Interruption Flag à 1 si les interruptions sont autorisées Trap Flag à 1 pour exécuter les instructions en mode pas à pas. Avant chaque instruction, INT 1 est appelée. Cette interruption est utilisée par les débogueurs.


Télécharger ppt "Système d’exploitation : Assembleur"

Présentations similaires


Annonces Google