Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs. Cours n 1. Description d'un microprocesseur : le 386

Documents pareils
Programmation assembleur : aperçu

Structure d un programme

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

Logiciel de base. Première année ENSIMAG

Architecture des ordinateurs

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

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

Conception de circuits numériques et architecture des ordinateurs

Jeu d instructions NIOS II

Architecture des ordinateurs

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

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

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Initiation à la sécurité

4. Initiation à l'assembleur

ASR1 TD7 : Un microprocesseur RISC 16 bits

Exécution des instructions machine

Ordinateurs, Structure et Applications

Département informatique de l université d Angers

Architecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013

CM2 L architecture MIPS32

TD Architecture des ordinateurs. Jean-Luc Dekeyser

SSTIC Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

Déprotection semi-automatique de binaire

Réalisation d un OS 32 bits pour PC(x86)

Rappels d architecture

Architecture des Ordinateurs. Partie II:

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Résumé Génération de code Le code intermédiaire

Désobfuscation automatique de binaire - The Barbarian Sublimation

Solution du challenge SSTIC Emilien Girault ANSSI/COSSI/DTO/BAI 06/06/13

Concept de machine virtuelle

Microprocesseur + Logiciel

Une version javascript sera disponible directement dans le cours prochainement.

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

Conversion d un entier. Méthode par soustraction

Cours 3 : L'ordinateur

Introduction...6. Assembleur, philosophieet atouts...8. Avantages et inconvénients de l assembleur...9. Que programmer en Assembleur?.

Performances d un système virtualisé avec VMware ESX-ESXi

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

GlobalScape Secure FTP Server Buffer Overflow

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

Introduction Damien Nouvel

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

Le Projet BINSEC. Automatiser l analyse de sécurité au niveau binaire. Airbus group, CEA, IRISA, LORIA, Uni. Joseph Fourier. p.

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

Compilation (INF 564)

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Archivage numérique de documents SAP grâce à DocuWare

La Virtualisation Windows chez CASINO. Philippe CROUZY Responsable Infrastructure Equipes Systèmes -Stockage

Licence Sciences et Technologies Examen janvier 2010

IFT1215 Introduction aux systèmes informatiques

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Architectures d implémentation de Click&DECiDE NSI

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

Les opérations binaires

Cours Informatique 1. Monsieur SADOUNI Salheddine

EMC DATA DOMAIN OPERATING SYSTEM

IV- Comment fonctionne un ordinateur?

Documentation d information technique spécifique Education. PGI Open Line PRO

Limitations of the Playstation 3 for High Performance Cluster Computing

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

Architecture matérielle des systèmes informatiques

Architecture des ordinateurs Introduction à l informatique

ACQUISITION DE MATERIEL INFORMATIQUE

Prentice Hall, 2011 (ISBN )

Square-IT-Consulting. Présentation

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF DF 08 / 10

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

Les failles Format String

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

Fonctionnement et performance des processeurs

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

Tout savoir sur le matériel informatique

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

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

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

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

Cours 1 : La compilation

Service Cloud Recherche

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Windows Server 2012 R2 Administration avancée - 2 Tomes

Guide d installation JMap 5.0

WSM la solution complète de provisionnement de bureaux virtuels

Virtual Box Mettez un PC dans votre... PC

contexte cahier des charges critères de choix fonctionnalités configuration en pratique Bilan Conclusion Backuppc Logiciel de sauvegarde

EMC DATA DOMAIN HYPERMAX

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Organisation des Ordinateurs

Les techniques de protection du logiciel

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet

Éléments d'architecture des ordinateurs

SRS DAY: Problématique liée à la virtualisation

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

Transcription:

Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs Cours n 1 Description d'un microprocesseur : le 386 1

Introduction Un système informatique classique possède l'architecture suivante, dite architecture de Von Neumann : MÉMOIRE CPU IO IO IO On trouve également une architecture légérement différente : l'architecture de Harvard MÉMOIRE MÉMOIRE DONNÉES INSTR CPU IO IO IO BUS DONNÉES 2

Le microprocesseur Cache Instructions Unité de Contrôle CPU Unité de Traitement Cache Données Décodeur PC ALU Unité Flottante Registres En anglais CPU (Central Processing Unit), c'est le coeur de l'unité centrale Il exécute les instructions en provenance de la mémoire à l'aide de ses différents composants. 3

Le micro i386 Historique Ce microprocesseur est apparu en 1985. Il succède au 286, au 186, au 8086 et au 4004. Il hérite certaines de leurs caractéristiques et garde une certaine compatibilité avec eux. Caractéristiques générales Bus de données (et registres accumulateurs) de 32 bits. Bus d'adresses externe de 32 bits (donc 4 GO adressables) Bus d'adresse interne de 48 bits (donc 64 TO de mémoire virtuelle) Une ALU entière de 32 bits (pas d'unité de flottants) Pipeline de 6 unités Jeu d'instruction étendu (processeur de type RISC) 3 modes de fonctionnement : réel, protégé, virtuel. Prévu pour des OS multitâches 4

Les registres du 386 Département Informatique Registres généraux (accumulateurs) de 32 bits: EAX, EBX, ECX, EDX Registres de pointeurs et d'index (32 bits) : ESI, EDI, EBP, ESP, EIP Registres de segments (16 bits) : CS, DS, DS, ES, FS, GS Registres spéciaux EFLAGS, CR0, CR1, CR2, CR3, GDTR, IDTR, LDTR, etc... 5

Le registre des indicateurs (EFLAGS) C'est le seul registre dont le sens est bit à bit et non pas mot à mot. On pourrait en fait le voir comme 32 registres de 1 bit. Les bits utilisés par le 386 sont les suivants (du LSB au MSB) : CF (retenue) PF (parité) AF (retenue auxilaire) ZF (zéro) SF (signe) TF (piège) IF (interruption) DF (direction) OF (dépassement) IOPL (niveau de priviligège) NT (emboîtage des tâches) RF (reprise) VM (mode virtuel) 6

Instructions Le 386 reprend toutes les instructions de ses prédécesseurs, et en rajoute un grand nombre. Les plus utilisés sont les suivantes : Copie : MOV, MOVS Opérations arithmétiques : ADD, SUB, MUL, DIV, IMUL, IDIV Opérations logiques : AND, OR, XOR, NOT Branchements : JMP, JL, JLE, JNE, JE, JG, JGE, JC, JNC, etc... Sous-programmes : CALL, RET, IRET Gestion de la pile : PUSH, POP, PUSHA, POPA, PUSHF, POPF 7

Accès aux registres Les registres généraux sont accessibles au programmeur, ainsi que les registres index / de segment dans certains cas. On peut lire ou écrire un registre. En cas de lecture d'un registre, son contenu peut être transferé dans la mémoire centrale ou dans un autre registre compatible. Le contenu d'un registre peut être modifié à partir d'une constante (valeur immédiate) ou d'un autre registre, ou à partir de la mémoire. Le résultat d'une opération arithmétique et/ou logique doit se faire dans un des registres généraux (par exemple EAX) : ce registre doit dont contenir l'une des opérandes. 8

Exemple : affectation du nombre 0 au registre EAX MOV EAX, 0 Exemple : recopie du registre EAX dans le registre EBX MOV EBX, EAX Interdit : affectation d'un registre à une constante MOV 34, EAX Ajout de EAX et EBX dans EAX : ADD EAX, EBX Ajout de EAX et EBX dans ECX : MOV ECX, EAX ADD ECX, EBX 9

Accès à la mémoire L'accès à la mémoire centrale (la RAM) peut se faire en lecture, en écriture, mais pas les deux en même temps. Pour accéder à une cellule mémoire, il faut fournir son adresse. Cette adresse est soit fournie par une valeur constante (immédiate), soit contenue dans un registre d'index (ESI, EDI, EBP...) On peut utiliser un adressage direct, indirect, avec décalage. 10

Lire une valeur mémoire Lorsqu'on lit une valeur en mémoire, on ne peut que la stocker dans un registre général (accumulateurs, par exemple EAX). Exemple : lecture du contenu de l'adresse 0x1000F000 MOV EAX, [0x1000F000] Exemple : lecture du contenu d'une adresse indirecte MOV EAX, [EBP] Seuls EBP, EBX, ESI, EDI peuvent être utilisés ici Exemple : lecture du contenu d'adresse avec déplacement MOV EAX, [EBP + 0x04] MOV EBX, [EBP - 0x03] 11

Exemple : lecture d'une adresse mémoire avec indexage MOV EAX, [EBP + ESI] Exemple : lecture d'une adresse mémoire avec indexage et déplacement MOV EAX, [EBP + ESI + 4] Les combinaisons valides sont : EBP ± ESI EBP ± EDI EBX ± ESI EBX ± EDI 12

Ecriture d'une valeur en mémoire On peut écrire en mémoire à partir d'une valeur immédiate ou à partir d'un registre, mais pas à partir d'une autre cellule mémoire. Comme pour la lecture, l'accès peut être direct, indirect, indexé, etc... Ecriture à l'adresse 0xF000A000 de la valeur 10 : MOV [0xF000A000], 10 Ecriture à l'adresse contenue dans EBP de la valeur contenue dans EAX : MOV [EBP], EAX Recopie à l'adresse 0x0000F100 de la valeur lue à l'adresse 0xF120A012 : MOV EAX, [0xF120A012] MOV [0x0000F100], EAX 13

Prochain cours : La pile Les sous-programmes A la semaine prochaine! 14