1 er séance : Rappel sur les Systèmes à base de Microprocesseur

Documents pareils
Cours Informatique 1. Monsieur SADOUNI Salheddine

Architecture des ordinateurs

Structure de base d un ordinateur

Chapitre 4 : Les mémoires

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Codage d information. Codage d information : -Définition-

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Leçon 1 : Les principaux composants d un ordinateur

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

GPA770 Microélectronique appliquée Exercices série A

Exécution des instructions machine

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Programmation assembleur : aperçu

Structure fonctionnelle d un SGBD

Ordinateurs, Structure et Applications

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

ASR1 TD7 : Un microprocesseur RISC 16 bits

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Architecture des Ordinateurs. Partie II:

Informatique Générale

Licence Sciences et Technologies Examen janvier 2010

GESTION DE LA MEMOIRE

IFT1215 Introduction aux systèmes informatiques

La mémoire. Un ordinateur. L'octet. Le bit

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Cours 3 : L'ordinateur

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

Matériel & Logiciels (Hardware & Software)

IV- Comment fonctionne un ordinateur?

Conversion d un entier. Méthode par soustraction

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Structure d un programme

Version default Titre : Procédure POURSUITE Date : 07/04/2009 Page : 1/10 Responsable : Clé : U Révision : 496

Fiche technique CPU 314SC/DPM (314-6CG13)

Tout savoir sur le matériel informatique

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Organisation des Ordinateurs

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

Partie 7 : Gestion de la mémoire

Guide Mémoire NETRAM

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

IFT2880 Organisation des ordinateurs et systèmes

Représentation des Nombres

ELP 304 : Électronique Numérique. Cours 1 Introduction

Architecture des ordinateurs

Premiers pas sur l ordinateur Support d initiation

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Fonctionnement et performance des processeurs

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

PIC : COURS ASSEMBLEUR

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

Représentation d un entier en base b

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

VIII- Circuits séquentiels. Mémoires

DOCM Solutions officielles = n 2 10.

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Génie Logiciel avec Ada. 4 février 2013

Une version javascript sera disponible directement dans le cours prochainement.

Cours 1 : Qu est-ce que la programmation?

TD Architecture des ordinateurs. Jean-Luc Dekeyser


3. Structure des ordinateurs. 3.1 L' Unité Centrale (UC) ou processeur (Central Processing Unit CPU)

Architecture des ordinateurs Introduction à l informatique

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Logiciel de Base. I. Représentation des nombres

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Cours de Systèmes d Exploitation

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Microprocesseur + Logiciel

Quelques matériels numériques

TP a Notions de base sur le découpage en sous-réseaux

Conception de circuits numériques et architecture des ordinateurs

La continuité de service

Module M1 Elément 2 : Informatique 1 (I1)

Programmation C. Apprendre à développer des programmes simples dans le langage C

Structure et fonctionnement d'un ordinateur : hardware

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Mathématiques appliquées à l informatique

CONFIGURATION DE L AUTOMATE SIEMENS

Systèmes et traitement parallèles

THEMIS-ACCES GESTION DES TEMPS ET DES ACCES

Précision d un résultat et calculs d incertitudes

Code_Aster. Procédure IMPR_RESU aux formats 'RESULTAT' et 'ASTER' 1 But

Rappels d architecture

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Transcription:

UNIVERSITE KASDI MERBAH DE OUARGLA FACULTE DES SCIENCES ET TECHNOLOGIE ET SCIENCES DE LA MATIERE TRAVAUX PRATIQUES MICROPROCESSEUR 1 er séance : Rappel sur les Systèmes à base de Microprocesseur 1. Architecture d un système à base de microprocesseur : Un système à base de microprocesseur est formé des trois éléments : Une unité CPU (central processing unit ) Une mémoire (ROM et RAM) Des ports d entrées/sorties. Les trois modules sont interconnectés comme le montre la figure autour de trois bus : bus de données, bus d adresses et bus de contrôles et commandes. Le bus de données : c est un ensemble de fils bidirectionnels qui va permettre le transfert de données entre les différents éléments du système. Autrement dit, toutes les données entrantes et sortantes du microprocesseur sont véhiculées par le bus de données qui fixe la longueur du mot échangé avec la mémoire. Le bus d adresses : il permet d adresser un élément par le microprocesseur.il est unidirectionnel.il détermine la capacité maximale d adressage du système, c est à dire le nombre maximum de mots de la mémoire associée (ex : 16 bits «adressent» 64 Kmots). Le bus de commandes et de contrôle : c est un bus qui permet de véhiculer les signaux de contrôles et de commandes tels que l horloge les signaux Rd/Wr etc. La mémoire: qui contient à la fois les données et le programme. La mémoire se divise entre mémoire volatile (programmes et données en cours de fonctionnement) et mémoire permanente (programmes et données de base de la machine. La mémoire morte ROM : Read Only Memory. La mémoire vive RAM : Random Access Memory. Page1

Les interfaces d entrées sorties : qui permettent de communiquer avec le monde extérieur. Donc le microprocesseur peut lire des données à partir d une interface d entrée de même il peut restituer le résultat de son traitement au monde extérieur en adressent des interfaces de sortie Le microprocesseur: doit Donc contrôler les fonctions effectuées par les autres modules, il doit chercher ainsi que décoder des instructions ranger en mémoire, et il doit adresser des interfaces d entrées/sorties pour lire des données du monde extérieur, et restituer le résultat de son traitement. 2. Architecture d un CPU : Un CPU est formée par les trois éléments fonctionnels interconnectés suivants : Registres. UAL : Unité arithmétique et logique. Circuit de contrôle. 2.1. Les registres : 2.1.1. L accumulateur : Il s agit d un registre d usage général recevant des opérandes, des résultats intermédiaires ou des résultats provenant de l unité arithmétique et logique. Ils évitent des appels fréquents à la mémoire, réduisant ainsi les temps de calcul. 2.1.2. Le compteur de programme : Le compteur de programme contient l adresse de l instruction suivante en mémoire qui doit être exécutée. 2.1.3. Registre d instruction et décodeur d instruction : chacune des instructions à exécuter est rangée dans le registre instruction puis est décodée par le décodeur d instruction. 2.1.4. Registres d adresses : Ces registres servent à gérer l adressage de la mémoire, et puisque les registres peuvent être incrémenter ou décrémenter donc on peut accéder facilement à des données qui se trouvent en mémoire. Page2

2.1.5. Registre d état (FLAGS) : Le registre d état FLAG sert à contenir l état de certaines opérations effectuées par le processeur. 2.2. L unité arithmétique et logique (UAL) : Comme son nom l indique, cette unité peut exécuter deux types d opérations, des opérations arithmétique et des opérations logiques. A la fin d une opération, l UAL peut aller modifier certains bits du registre d état (FLAG). 2.3. Unité de contrôle et commande : Synchronisée par le signal de l horloge, c est elle qui déclenche les événements dans le. Par exemple, quand une information passe dans un bus, cette information est destinée à un seul endroit (par exemple, un registre). C est donc l unité de commande et de contrôle qui va «déverrouiller» l entrée de cette destination pour que l information qui circule sur le bus puisse y entrer. 3. Fonctionnement d un système à base de µp : 3.1. Les interruptions : Les interruptions permettent au matériel (périphérique) de communiquer avec le processeur. Dans certains cas, on désire que le processeur réagisse rapidement à un évènement extérieur, mais la majorité de ces périphériques n ont besoin du microprocesseur qu à certains moments, alors ils génères demande d interruption. Une interruption est signalée au processeur par un signal électrique sur une borne spéciale. Lors de la réception de ce signal, le processeur traite l interruption dès la fin de l instruction qu il était en train d exécuter. 3.2. L écriture en mémoire (WRITE) : Pour écrire une donnée dans la mémoire le microprocesseur doit placer l adresse de la donnée sur le bus d adresses, puis il place la donnée sur le bus de données et enfin génère le signal WRITE. 3.3. La lecture de la mémoire (READ) : Pour lire une donnée de la mémoire le microprocesseur dépose son adresse sur le bus d adresses puis génère le signal READ, alors la donnée sera acheminée vers le microprocesseur à travers le bus de données. La donnée sera stockée dans un registre dans le microprocesseur. 3.4. Communication avec les entrées/sorties : Les données échangées entre un périphérique et le processeur transitent par l interface associé à ce périphérique.l interface possède de la mémoire tampon pour stocker les données échangées et les informations pour gérer la communication avec le périphérique : Page3

Lors de l exécution des instructions d entrées/sorties, le processeur met à 1 sa borne IO/M et présente l adresse E/S sur le bus d adresse. Le signal IO/M indique aux circuits de décodage d adresses qu il ne s agit pas d une adresse en mémoire principale, mais de l adresse d une interface d entrées/sorties. 3.5. Accès direct à la mémoire (DMA) Lorsqu un transfert en mémoire est nécessaire de la mémoire RAM à un port d E/S, la CPU lit le premier octet en mémoire et le charge dans l un des registres du microprocesseur. La CPU écrit ensuite l octet rangé précédemment sur le port d E/S approprié. Il en résulte que le microprocesseur effectue des opérations de lecture et d écriture répétées. Ainsi un certain temps est perdu entre le traitement de chaque octet. Pour remédier à ce problème, une procédure est mise au point pour l accès direct à la mémoire (Direct Memory Acess), qui permet de transférer des données de la mémoire RAM au port d E/S sans passer par le microprocesseur. Pour cela, un contrôleur DMA, qui reprend le rôle de la CPU, c est à dire qu il gère les transferts de la RAM aux ports d E/S. 3.6. Organisation de la mémoire centrale La mémoire peut être vue comme un ensemble de cellules ou cases contenant chacune une information : une instruction ou une donnée. Chaque case mémoire est repérée par un numéro d ordre unique : son adresse. Page4

3.7. Description matérielle d un microprocesseur Un microprocesseur se présente sous la forme d un circuit intégré muni d un nombre généralement important de broches. On peut représenter un microprocesseur par son schéma fonctionnel : 3.8. Fonctionnement d un microprocesseur Un microprocesseur exécute un programme. Le programme est une suite d instructions stockées dans la mémoire. Une instruction peut être codée sur un ou plusieurs octets. Format d une instruction : Exemple : Rangement en mémoire : Page5

Pour exécuter les instructions dans l ordre établi par le programme, le microprocesseur doit savoir à chaque instant l adresse de la prochaine instruction à exécuter. Le microprocesseur utilise un registre contenant cette information. Ce registre est appelé pointeur d instruction (IP : Instruction Pointer) ou compteur d instructions ou compteur ordinal. Pour savoir quel type d opération doit être exécuté (addition, soustraction,...), le microprocesseur lit le premier octet de l instruction pointée par le pointeur d instruction (code opératoire) et le range dans un registre appelé registre d instruction. Le code opératoire est décodé par des circuits de décodage contenus dans le microprocesseur. Des signaux de commande pour l UAL sont produits en fonction de l opération demandée qui est alors exécutée. Pendant que l instruction est décodée, le pointeur d instruction est incrémenté de façon à pointer vers l instruction suivante : Toutes ces étapes (lecture de l instruction, décodage, exécution) sont synchronisées par un séquenceur qui assure le bon déroulement des opérations : Page6

Pour exécuter le programme contenu dans la mémoire centrale, le séquenceur du microprocesseur exécute lui-même un programme appelé micro-code, contenu dans une mémoire morte à l intérieur du microprocesseur. Le séquenceur est dirigé par une horloge qui délivre un signal de fréquence donnée permettant d enchaîner les différentes étapes de l exécution d une instruction : Chaque instruction est caractérisée par le nombre de périodes d horloge (ou microcycles) qu elle utilise. Structure complète d un microprocesseur simple : pour fonctionner, un microprocesseur nécessite donc au minimum les éléments suivants : Page7

Le microprocesseur Intel 8086 1. Schéma fonctionnel du 8086 Le microprocesseur Intel 8086 est un microprocesseur 16 bits, apparu en 1978. C est le premier microprocesseur de la famille Intel 80x86 (8086, 80186, 80286, 80386, 80486, Pentium,...). Il se présente sous forme d'un boîtier de 40 broches alimenté par une alimentation unique de 5V. Il possède un bus multiplexé adresse/donnée de 20 bits. Le bus de donnée occupe 16 bits ce qui permet d'échanger des mots de 2 octets. Le bus d'adresse occupe 20 bits ce qui permet d'adresser 1 M octets (2 20 ). Tous les registres sont de 16 bits, mais pour garder la compatibilité avec le 8085/8088, certains registres sont découpés en deux et on peut accéder séparément à la partie haute et à la partie basse. 2. Organisation interne du 8086 Le 8086 est constitué de deux unit es fonctionnant en parallèle : l unité d exécution (EU : Exécution Unit) ; l unité d interface de bus (BIU : Bus Interface Unit). Page8

Rôle des deux unités : l unité d interface de bus (BIU) recherche les instructions en mémoire et les range dans une file d attente ; l unité d exécution (EU) exécute les instructions contenues dans la file d attente. Les deux unités fonctionnent simultanément, d où une accélération du processus d exécution d un programme (fonctionnement selon le principe du pipe-line). 3. La segmentation de la mémoire Le 8086 possède 20 bits d'adresse, il peut donc adresser 2 20 octets soit 1 Mo. L'adresse de la première case mémoire est 00000h celle de la dernière case est FFFFFh. Le problème qui se pose est comment représenter ces adresses au sein du µp puisque les registres ne font que 16 bits soit 4 digits au maximum en hexadécimal. La solution adoptée par Intel a été la suivante : Page9

Puisque avec 16 bits en peut adresser 2 16 octets = 65535 octets = 64 ko, La mémoire totale adressable de 1 Mo est fractionnée en pages de 64 ko appelés segments. On utilise alors deux registres pour adresser une case mémoire donnée, Un registre pour adresser le segment qu'on appelle registre segment et un registre pour adresser à l'intérieur du segment qu'on désignera par registre d'adressage ou offset. Une adresse se présente toujours sous la forme segment:offset. pas. A titre d'exemple, procédons au découpage de la mémoire en 16 segments qui ne se chevauche Segment Adresse début Adresse fin Pointeur de segment Segment 0 00000 0FFFF 00000 Segment 1 10000 1FFFF 10000 Segment 2 20000 2FFFF 20000 Segment 14 E0000 EFFFF E0000 Segment 15 F0000 FFFFF F0000 Considérons la case mémoire d'adresse 20350, appelée adresse absolue ou adresse linéaire. Cette case mémoire se situe dans le segment 2, son adresse relative à ce segment est 350, on peut donc la référencer par le couple segment:offset = 20000:350, Se pose maintenant le problème de la représentation de cette adresse au sein du CPU car les registres de 16 bits ne peuvent contenir que 4 digits. S'il n'y a aucun problème pour représenter 350 dans un registre d'offset, on ne peut pas représenter 20000 dans un registre segment. La solution adoptée par Intel est la suivante : Dans le registre segment, on écrit l'adresse segment sans le chiffre de faible poids. Dans le registre d'adressage (d'offset) on écrit l'adresse relative dans le segment Pour calculer l'adresse absolue qui sera envoyée sur le bus d'adresse de 20 bits, le CPU procède à l'addition des deux registres après avoir décalé le registre segment d'un chiffre à gauche : Dans notre exemple, l'adresse de la case mémoire considérée devient 2000:350 soit : = 2000, Offset = 350.. Segment Page10

L'adresse absolue est calculée ainsi : Remarque : Les zones réservées aux segments ne sont pas exclusives, elles peuvent se chevaucher. La seule règle à respecter lors du choix d'un segment est que le digit de plus faible poids soit nul. Exercice 1) 1. Donner les adresses linéaires (absolues) des mémoires 3500:AB00, 0022:FFFF, 2. Proposer au moins deux adresses segment:offset différentes pour les mémoires d'adresse linéaire 10000, FFFFF, 00000. 4. Les registres du 8086 Tous les registres et le bus interne du 8086 sont structurés en 16 bits. Vu de l'utilisateur, le 8086 comprend 3 groupes de 4 registres de 16 bits, un registre d'état de 9 bits et un compteur programme de 16 bits non accessible par l'utilisateur. 4.1. Les registres généraux Les registres généraux participent aux opérations arithmétiques et logiques ainsi qu'à l'adressage. Chaque demi-registre est accessible comme registre de 8 bits, AX : Accumulateur Usage général, Obligatoire pour la multiplication et la division, Ne peut pas servir pour l'adressage BX : Base Usage général, Adressage, (Par défaut, son offset est relatif au segment DS) Page11

CX : Comptage et calcul Usage général, Utilisé par certaines instructions comme compteur de répétition. Ne peut pas servir pour l'adressage. DX : Data Usage général, Dans la multiplication et la division 16 bits, il sert comme extension au registre AX pour contenir un nombre 32 bits, Ne peut pas servir pour l'adressage. 4.2. Les registres d'adressage (offset) Ces registres de 16 bits permettent l'adressage d'un opérande à l'intérieur d'un segment de 64 ko (2 16 positions mémoires). SP : Pointeur de Pile Utilisé pour l'accès à la pile. Pointe sur la tête de la pile. Par défaut, son offset est relatif à SS BP : Pointeur de Base Adressage comme registre de base, (Par défaut, son offset est relatif à SS) Usage général SI : Registre d'index (source) Adressage comme registre d index, (Par défaut, son offset est relatif à DS) Certaines instruction de déplacement de donnés l'utilise comme index de l'opérande source. L'opérande destination étant indexé par DI Usage général DI : Registre d'index (destination) Adressage comme registre d index, (par défaut, son offset est relatif à DS) Certaines instruction de déplacement de donnés l'utilise comme index de l'opérande destination, l'opérande destination étant indexé par SI. 4.3. Les registres de segment Ces registrent sont combiné avec les registres d offset pour former les adresses. Une case mémoire est repérée par une adresse de la forme RS:RO. On place le registre segment au début Page12

d une zone mémoire de 64Ko, ensuite on fait varier le registre d offset qui précise l adresse relative par rapport à cette position. CS : Code Segment Définit le début de la mémoire programme. Les adresses des différentes instructions du programme sont relatives à CS DS : Data Segment Début de la mémoire de données dans laquelle sont stockées toutes les données traitées par le programme SS : Stack Segment Début de la pile. La pile est une zone mémoire gérée d une façon particulière. Elle est organisée comme une pile d assiettes. On pose et on retire les assiettes toujours sur le haut de la pile. Un seul registre d adresse suffit donc pour la gérer, c est le stack pointer SP. On dit que c est une pile LIFO (Last IN, First Out). Empiler une donnée : sauvegarder une donnée sur (le sommet) de la pile Dépiler une donnée : retirer une donnée (du sommet) de la pile ES : Extra Segment Début d'un segment auxiliaire pour données. 4.4. Le registre d'état (flags) CF : indicateur de retenue (carry) ; PF : indicateur de parité ; indique que le nombre de 1 est un nombre pair AF : indicateur de retenue auxiliaire ; indique une retenue sur les 4 bits (digit) de poids faible. ZF : indicateur de zéro ; Indique que le résultat d'une opération arithmétique ou logique est nul. SF : indicateur de signe ; reproduit le bit de poids fort d'une quantité signée sur 8 bits ou sur 16 bit. TF : indicateur d exécution pas à pas (trap) ; IF : indicateur d autorisation d interruption ; DF : indicateur de décrémentation ; fixe la direction de l'auto-inc/décrémentation de SI et DI lors des instructions de manipulation de chaînes. OF : indicateur de dépassement (overflow). Page13