Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset.

Slides:



Advertisements
Présentations similaires
Le micro-ordinateur.
Advertisements

Module Systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Électronique de base du processeur
LES MEMOIRES INTRODUCTION UN PEU D ’HISTOIRE LES DIFFERENTES MEMOIRES
sont des registres 32 bits
Le Concept du programme enregistré
TRAITEMENT PROGRAMME DE L’INFORMATION
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
GEF 435 Principes des systèmes d’exploitation
La mémoire morte(ROM) Il existe un type de mémoire permettant de stocker des données en l'absence de courant électrique, il s'agit de la ROM (Read Only.
auxiliaires ou mémoires de masse ou alors secondaire).
Le Concept du programme enregistré
Mémoire & Processus Cours SE - SRC
Les microprocesseurs A. Objectifs de la séquence:
Architecture de machines La mémoire
Architecture de machines La mémoire
Cours d’initiation en Informatique
Système d’exploitation : Assembleur
Les systèmes à microprocesseur
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
CYCLE 1 : Saisir – Afficher – Données Afficher du texte sur lécran 1- Rôle du printf() 2- Syntaxe du printf() 3- Exécution du printf() par le CPU.
Mémoire cache ou antémémoire
Partie 1 Etude de l'existant
Architecture de base d’un ordinateur
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Architecture des Ordinateurs
Architecture d ’un système à MICROPROCESSEUR
LES SYSTEMES AUTOMATISES
Périphériques et bus système
Architecture et technologie des ordinateurs II
Module 2 : Préparation de l'analyse des performances du serveur
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Logique programmée & Microprocesseurs
Architecture Des Ordinateurs Microprocesseur Et Mémoire
ARCHITECTURE D’UN SYSTEME MICROPROGRAMME
3-Présentation d’un µP simple
Structure de Base d’un ordinateur Matière : Informatique
Les Machines RAM.
Programmation Système et Réseau
Exemple de mise en oeuvre
Microprocesseur famille 68'000 Interface matériel
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. tél Fax Cours Architecture des.
INFOR 101 Chapitre 5 Marianne Morris.
D.E ZEGOUR Ecole Supérieure d’Informatique
LES MEMOIRES.
Un programme Algorithme permettant au processeur de s'alimenter:
On utilisera la version HC912DG128
Micro contrôleurs M. Boutemeur
UE MAREP Cours 1 : Algèbre de Boole et entiers naturels
Patricia Renault UPMC 2005/2006
Cours Système LI324 Les Interruptions Cours Système LI324
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Chapitre 4 La représentation des nombres.
Chapitre 9 Les caractères.
Semaine 5 Registres spéciaux et périphériques internes Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
Un ordinateur est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui.
L3 Instrumentation Pétrolière S6
Plan… -Introduction et motivations : -Qu'est-ce que le traitement de fichiers ? -Terminologie et définitions fondamentales des structures de fichiers :
Architecture d’un ordinateur
LES MEMOIRES et le décodage d’adresses
Les bascules et registres
Département Informatique Microprocesseurs & Ordinateurs Laurent JEANPIERRE IUT de CAEN – Campus 3.
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Architecture d'un automate programmable
Systèmes à microprocesseur Les mémoires
Transcription de la présentation:

Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset d ’un bit) 3) Hexadécimale: base 16 (Byte: Character, adresse,.) Décimale Binaire Hexadécimale A B C D E F 4 bits Non signés

Entiers Signés et non signés Valeur d ’un entier non signés: ‘ 1010 = 1(2^3)+ 0(2^2) 1(2^1) + 0(2^0) = 10 Les nombres signés sont représentés dans le format: complément à 2 - Le bit le plus significatif indique le signe i.e négatif si = 1 Le plus grand nombre positif = 2^(n-1) -1 Le plus petit nombre négatif = -2^(n-1) Exemple: 8 bit 12 = = Avantage du complément à deux La même logique est utilisée pour l ’addition(manipulation) des nombres signés ou non signés: Non Signés Signés Pour obtenir le négatif: Complémenter tous les bit et ensuite ajouter 1

Détails du CPU Un CPU consiste en: * Ensemble de registres * ALU (Unité logique et arithmétique) * Buffer d ’instruction * décodeur d ’instruction * Registre d ’adresse de mémoire Le CPU est connecté à: * Un bus (ou plusieurs) * Mémoires * Ports d ’entrées/Sorties (I/O) * Contrôleurs d ’entrées/Sorties. Registres: * Le registre stocke les données pour les instructions I/O * Chaque registre est équivalent à 1 ensemble de bascules D (flip-flop) * Chaque bascule flip-flop stock 1 bit. A X CCR Y SP PC B

ALU : Unité arithmétique et logique A X CCR Y SP PC B ALU ALU exécute les opérations du CPU Une ALU simple consiste en 1 additionneur Les Opérandes sont lues et écrites dans les registres

Buffer et Décodeur d ’instructions AB X Y CCR SP PC ID IB ALU Le buffer IB contient l ’instruction en cours Le décodeur ID décode l ’instruction ID informe l ’ALU de l ’opération à exécuter ID indique les registres à lire et à écrire

Le registre d ’adresse de mémoire (MAR) AB X Y CCR SP PC ID IB ALU MAR Le MAR contient les adresses pour les références mémoires Charge l ’instruction (Fetch) Charge le registre à partir de la mémoire Stock le contenu d ’un registre dans la mémoire

Mémoire et Bus mémoire AB X Y CCR SP PC ID IB ALU MAR Bus mémoire Mémoire La mémoire contient les instructions et les données pour le CPU Le Bus Mémoire a des: 1) Lignes d ’adresses 2) Lignes de données 3) Lignes de contrôle

Ports Entrées/Sorties I/O AB X Y CCR SP PC ID IB ALU MAR Mémoire Bus mémoire Port A Port B Port C Port D Port E Unités Les Ports I/O permettent aux CPU de lire le statut (status) et d ’écrire les Commandes sur les Unités (devices)

Exemple: étapes nécessaires pour A+B-->A 1) (re)Set la valeur initiale du PC 2) La valeur du PC est envoyée à travers l ’ALU 3) La valeur du PC est placée dans le MAR 4) Une instruction est lue de la mémoire 5) L ’instruction est écrite dans IB 6 ) L ’instruction est décodée par ID 7) Les registres A et B sont lues 8) L ’ALU ajoute les contenus de A et B 9) La somme est écrite dans A 10) Le PC est lu ( à partir du registre PC) 11) Le PC est incrémenté par l ’ALU pour pointer vers la prochaine instruction. 12) La nouvelle valeur du PC est écrite dans PC et dan MAR. 13) L instruction suivante est obtenue de la mémoire.

DMA: Contrôleur d ’ accès mémoire direct CPU MémDMA Port Unités externes * Peut envoyer des commandes vers les mémoires et vers le unités Entrées/Sorties * Comme un Second CPU spécialisé dans les I/O Transfert Mém I/O avec CPU libre Avec 1 seul Bus: DMA actif CPU idle DMA est utilisé pour Transfert par paquet (burst) CPU Mém DMA I/O Mieux avec 2 bus

Interface mémoire Données = ensemble de mots { bit, byte, word,..} Accès Adresse { 1 position mémoire Adresse unique} Une Opération mémoire prend un temps fixe: dt Accès aléatoire ( Random access): Données accessibles de manière aléatoire (dt fixe ) Accès séquentiel : dt dépend de la séquence (i.e Bande magnétique ) Exemple du Disque dur: Accès aléatoire ( Têtes) suivi de lecture séquentielle (Traces) Types: RAM: Volatile, Random access memory (dt<5ns) ROM: Read Only EPROM: Programmables électriquement EEPROM: Effaçable, Programmables électriquement

Historique 1970: Intel mot = 4bits 1975: Intel 8008 et 8080, Motorola mot =bits 1980: Zilog z80, Intel mot = 16bits 1982: MC68000, Intel iPPX mot 32 bits Convention: 1 Byte = 8 bits, 1 mot (Word) = 16bits lsbmsb Byte Mot 131Mot 134 Mot 131Mot 134 LSI Adresse début = PAIRE Adresse début = peu importe

Signaux: Mémoire CPU Mémoire Bus adresses Bus données Read Write IDLE READY SIZE(taille) 3 états: -) READ: Activation des ligne d ’adresses, les données accédées seront retournées dans les lignes de données. -) WRITE: le CPU donne l ’adresse et la donnée -) IDLE : Mémoire désactivée. SIZE: donne la taille ( 8 ou 16 bits) READY: Synchronisation: Signal pouvant servir à ajuster le temps de cycle mémoire (mélange de mémoire avec différent temps d ’accès).

Interface entrées/sorties Système I/O : Mémoire externe dont les registre sont connectés aux unités périphériques Exemple: 1 Port contenant 1 (ou 2) registres, les registres contiennent les données en TRANSIT entre le CPU et les unités périphériques. Le Port contient aussi la logique de contrôle du transfert de données entre le Port et les unités externes Commande StatutDonnées Registre Lignes de contrôle Lignes données Interface CPU PORT I/O TYPIQUE Donnée = Registre pour données en transit Commande = Registre de Contrôle <-- commande du CPU Statut = Registre accessible au CPU, informe de l ’état des opérations

Interactions avec les sous systèmes I/O Deux cas : 1) Programmes (Polling); 2) Interruptions 1) Interactions contrôlée par programme: I/O READ: 1) Tester « Status » du port et attend « Ready » « Ready »= 1 bit du registre « Status » (Pas de nouvelle commande s ’il y a déjà une en cours) 2) Passer une commande « Read » au registre de contrôle, le CPU peut alors faire autre chose, il passera à 3 quand il pourra accepter des données. 3) Tester «Status» du port et attendre « Ready » 4 ) Lire le « Registre Donnée » et passe à 2 sans tester « Status »pour voir s ’il peut initier une nouvelle commande « Read ».

I/O Write: 1) Tester « Status » et attendre « Ready ». 2) Transférer la donnée de sortie suivante dans le « registre Données » du Port. 3) Transférer une commande « Write » dans le « Registre de contrôle »du Port, le CPU peut passer alors le contrôle à une autre tâche pendant que l ’opération I/O se fait

Résume: I/O contrôlée par programme Request Status Report Status Demande Data (à lire) Transmet Data (à écrire) Report Data(lire) Accepte Data (écrire ) Accepte Data (pour lire) Issue la Prochaine commande Exécution Normale Accepte la commande suivante et initie une nouvelle opération I/O CPUPort Ready ? Non Oui

Interaction avec I/O: Contrôlées par Interruptions (IRQ) - Ici on génère une IRQ à la fin d ’une opération ( Requête) - Le CPU répond à l ’IRQ, reconnaît que l ’unité n ’est pas occupée, initie une nouvelle opération I/O I/O READ CPU signal au PORT d ’armer (enable) la requête d ’interruption (Interrupt request IRQ). Le Port fini le transfert de données et insert l ’IRQ. Dans le cas où le CPU peut être interrompu, alors il interrompt son activité et identifie l ’unité ayant émis l ’IRQ. Si pas d ’IRQ de plus haute priorité, le programme (driver) spécifique à l ’IRQ accuse réception (IRQ aknowledge), le Port doit alors enlever son IRQ. Le CPU exécute le programme qui accepte les données lues et envoie une autre commande « Read. Le CPU retourne au programme interrompu.

I/O Write: CPU enable l ’IRQ du Port et transmet au port la donnée et la commande « Write ». CPU s ’occupe d ’autres choses pendant que le Port transmet les données à l ’unité externe, à la fin du transfert, le Port insert l ’IRQ. Plus tard, le CPU suspend son activité et identifie le Port. CPU envoie « IRQ aknowledge »à l ’unité identifiée, cette unité enlève son IRQ. Si le CPU a plus de données a transférer, il passe alors une autre donnée et une commande « Write » au Port. Dans tous les cas le CPU retourne au programme interrompu. Exercice: Dans quelles circonstances l interaction I/O contrôlée par IRQ est préférable à celle contrôlée par programme

Identification de l ’unité/Port qui a émis l ’IRQ Au moins 3 méthodes différentes : A) Le CPU transmet un signal à tout le système I/O, le Port de plus haute priorité et qui a une IRQ en attente répond en plaçant son identificateur ID dans le bus I/O. Le CPU calcule l ’adresse (qui est fonction de l ’ ID) et commence l ’exécution à cette adresse. ( En fait. L ’ID du port force le CPU à se brancher sur une routine qui sert ce port particulier (c ’est le DRIVER) B) Le CPU transmet un signal à chaque port en commençant par celui qui a la plus haute priorité. Chaque Port répond à ce signal en indiquant s ’il a un IRQ active. Dès qu ’une IRQ active est détectée, le processus d ’identification est interrompu et le CPU se branche au DRIVER qui sert le port identifié. C) Le CPU possède autant de ligne IRQ que d ’unités I/O. Quand le CPU répond à un e IRQ, il se branche à une adresse qui est fonction de l ’IRQ ayant la plus haute priorité au moment du branchement.

Résumé: Interaction I/O contrôlée par IRQ Exécution normale état non interruptible Suspend exécution, identifie le Port Aknowledge IRQ Lecture/écriture donnée dans I/O Initie une nouvelle opération Retour au programme suspendu Transfert donnée à une unité externe Transfert terminé Insertion IRQ Répond à l ’identification d ’unité Enlève IRQ Accepte ou envoie de donnée Commence un nouveau transfert de données CPU Port I/O Temps

Interface pour interruption ID: chaque Port a un identificateur unique 3 lignes de contrôle: 1 Port Read 2 Port Write 3 Port IDLE Le Port peut avoir plusieurs registres --> donc l ’ID n ’est suffisant suffisant pour identifier le registre: Ici le registre « Commande/Donnée »peut être utilisé comme un ID secondaire Résolution de priorité CPUPort I/O ID du Port Données IRQ request IRQ aknowledge ID unité Port Write Port Read Port IDLE Commande/data (ID) IRQ IAK IRQ request IRQ aknowledge Autres Ports Existe plusieurs manières d ’implémentation de la résolution de priorité