3 Le fonctionnement d un ordinateur

Documents pareils
Licence Sciences et Technologies Examen janvier 2010

Architecture des ordinateurs

Rappels d architecture

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

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

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

IV- Comment fonctionne un ordinateur?

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

Conception de circuits numériques et architecture des ordinateurs

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

Cours 1 : La compilation

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Compilation (INF 564)

Éléments d'architecture des ordinateurs

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Architecture matérielle des systèmes informatiques

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

Informatique Générale

Cours Informatique 1. Monsieur SADOUNI Salheddine

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

CM2 L architecture MIPS32

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

Représentation d un entier en base b

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

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

Machines virtuelles Cours 1 : Introduction

Microprocesseur + Logiciel

Cours 3 : L'ordinateur

Conversion d un entier. Méthode par soustraction

Exécution des instructions machine

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Architecture des ordinateurs Introduction à l informatique

Initiation. àl algorithmique et à la programmation. en C

Architecture des calculateurs

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

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

Structure de base d un ordinateur


Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

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

Chapitre 13 Numérisation de l information

I.1- DÉFINITIONS ET NOTIONS DE BASE

1 Introduction au codage

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

Ordinateurs, Structure et Applications

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

ASR1 TD7 : Un microprocesseur RISC 16 bits

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Cours 1 : Qu est-ce que la programmation?

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Tout savoir sur le matériel informatique

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Chapitre 10 Arithmétique réelle

Cours d Informatique

Représentation des Nombres

Algorithme. Table des matières

Sélection du contrôleur

Jeu d instructions NIOS II

Programmation en langage C

Bases de programmation. Cours 5. Structurer les données

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Évaluation et implémentation des langages

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Architecture des ordinateurs

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Architecture des ordinateurs

Introduction à l algorithmique et à la programmation (Info 2)

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

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

UE Programmation Impérative Licence 2ème Année

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Calculabilité Cours 3 : Problèmes non-calculables.

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Documentation Technique du programme HYDRONDE_LN

QUESTION 1 {2 points}

ACTIVITÉ DE PROGRAMMATION

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Hardware et software

Chapitre 4 : Les mémoires

Initiation au binaire

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

Guide de mise à niveau pas à pas vers Windows 8 CONFIDENTIEL 1/53

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

IFT1215 Introduction aux systèmes informatiques

Algorithmique et Programmation Fonctionnelle

Introduction à l informatique en BCPST

V- Manipulations de nombres en binaire

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Limitations of the Playstation 3 for High Performance Cluster Computing

Organisation des Ordinateurs

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS

Transcription:

3 Le fonctionnement d un ordinateur Peter Schlagheck Université de Liège Ces notes ont pour seule vocation d être utilisées par les étudiants dans le cadre de leur cursus au sein de l Université de Liège. Aucun autre usage ni diffusion n est autorisé, sous peine de constituer une violation de la Loi du 30 juin 1994 relative au droit d auteur.

3 Le fonctionnement d un ordinateur 3.1 La machine de Turing 3.2 Le fonctionnement d un processeur 3.3 La réalisation en pratique

3.1 La machine de Turing Alan Turing (1912-1954), mathématicien grande contribution au déchiffrement des codes allemands Enigma pendant la deuxième guerre mondiale (ordinateur électromécanique bombe, 1940) conception de la machine de Turing (1936) = une machine de calcul universelle qui sait effectuer tous les algorithmes numériques possibles... afin de démontrer qu il n est pas possible de déterminer si de tels algorithmes s arrêtent ou non

La machine de Turing La machine de Turing consiste d un ruban de mémoire binaire infini et d une unité de commande chargée d un programme

La machine de Turing L unité de commande peut lire le contenu (0 ou 1) de la cellule actuelle du ruban écrire 0 ou 1 dans la cellule actuelle du ruban se déplacer à gauche ou à droite par une cellule

La machine de Turing Le programme definit plusieurs états de l unité de commande. Chaque état se compose d une lecture et écriture dans la cellule actuelle d un déplacement à gauche ou à droite d un lien/saut à un autre état à executer à la suite... tout dépendant du contenu de la cellule actuelle

La machine de Turing Exemple d un programme (additions) pour la machine de Turing: cellule actuelle étape prochaine état actuel lecture écriture déplacement état suivant état 0 état 1 état 2 état 3 0 0 droite état 0 1 1 droite état 1 0 1 droite état 2 1 1 droite état 1 0 0 gauche état 3 1 1 droite état 2 0 0 droite STOP 1 0 droite STOP

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST

La machine de Turing Additions avec la machine de Turing: 0 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 3 2 1 1 2 0 0 ST 3 1 0 ST tous les algorithmes numériques peuvent être représentés sur une telle machine (thèse de Church-Turing) (ce n est pas forcément la meilleure façon de les exécuter... )

Comment est-ce qu on pourrait faire mieux... après tout ce qu on a déjà appris? remplacer tous les bits par des octets déplacement arbitraire de l unité de commande nécessite l adressage global des cellules du ruban

Comment est-ce qu on pourrait faire mieux... après tout ce qu on a déjà appris? remplacer tous les bits par des octets déplacement arbitraire de l unité de commande effectuer des calculs élementaires (additions des octets) à l interieur de l unité de commande encoder le programme dans la mémoire

3.2 Le fonctionnement d un processeur John von Neumann (1903-1957), mathématicien Contributions: théorie de logique physique quantique théorie des jeux Manhattan project informatique l architecture de von Neumann

3.2 Le fonctionnement d un processeur Un ordinateur se compose Le principe de von Neumann: d une unité de commande, d une unité arithmétique et logique, d une mémoire centrale et des unités d entrée et de sortie (clavier, souris, écran, imprimante,... )

ACC: accumulateur (1 octet) sauvegarde d une donnée pour des opérations arithmétiques et logiques

ACC: accumulateur (1 octet) CI: compteur d instructions (1 octet) contient l adresse de l instruction actuelle

ACC: accumulateur (1 octet) CI: compteur d instructions (1 octet) RI: registre d instruction (1 octet)

Opération 2: copier le contenu à l adresse indiquée dans l accumulateur

Opération 4: ajouter à l accumulateur le contenu dans l adresse indiquée

Opération 3: écrire le contenu de l accumulateur dans l adresse indiquée

Les instructions élémentaires: 2 010 LOAD copier la valeur de la mémoire dans l accumulateur 3 011 STORE copier la valeur de l accumulateur dans la mémoire 4 100 ADD ajouter la valeur de la mémoire à l accumulateur 5 101 MPY multiplier la valeur dans l accumulateur avec la valeur de la mémoire

Les instructions élémentaires: 2 010 LOAD copier la valeur de la mémoire dans l accumulateur 3 011 STORE copier la valeur de l accumulateur dans la mémoire 4 100 ADD ajouter la valeur de la mémoire à l accumulateur 5 101 MPY multiplier la valeur dans l accumulateur avec la valeur de la mémoire 1 001 BR copier l adresse indiqueée dans le compteur d instructions interromption de la séquence, continuation avec une autre partie du programme

Les instructions élémentaires: 2 010 LOAD copier la valeur de la mémoire dans l accumulateur 3 011 STORE copier la valeur de l accumulateur dans la mémoire 4 100 ADD ajouter la valeur de la mémoire à l accumulateur 5 101 MPY multiplier la valeur dans l accumulateur avec la valeur de la mémoire 1 001 BR copier l adresse indiqueée dans le compteur d instructions 0 000 BRG copier l adresse indiqueée dans le compteur d instructions si l accumulateur ne vaut pas zéro

Les instructions élémentaires: 2 010 LOAD copier la valeur de la mémoire dans l accumulateur 3 011 STORE copier la valeur de l accumulateur dans la mémoire 4 100 ADD ajouter la valeur de la mémoire à l accumulateur 5 101 MPY multiplier la valeur dans l accumulateur avec la valeur de la mémoire 1 001 BR copier l adresse indiqueée branchement dans le compteur d instructions 0 000 BRG copier l adresse indiqueée branchement dans le compteur d instructions conditionnel si l accumulateur ne vaut pas zéro

Opération 0: continuer avec l instruction dans l adresse indiquée si le contenu de l accumulateur ne vaut pas zéro

Opération 4: ajouter à l accumulateur le contenu dans l adresse indiquée

Opération 3: écrire le contenu de l accumulateur dans l adresse indiquée

Opération 0: continuer avec l instruction dans l adresse indiquée si le contenu de l accumulateur ne vaut pas zéro

Opération 4: ajouter à l accumulateur le contenu dans l adresse indiquée

Opération 3: écrire le contenu de l accumulateur dans l adresse indiquée

Opération 0: continuer avec l instruction dans l adresse indiquée si le contenu de l accumulateur ne vaut pas zéro

réalisation d une boucle

Le programme exprimé dans un langage symbolique (assembleur): 16: LOAD *10 17: ADD *15 18: STORE *4 19: IF (ACC NOT 0) GOTO 17 20:... *10 = la valeur encodée à l adresse 10

Le programme exprimé dans un langage symbolique (assembleur): 16: LOAD *10 17: ADD *15 18: STORE *4 19: IF (ACC NOT 0) GOTO 17 20:... toute complexité de la fonctionnalité des ordinateurs peut être introduite par la programmation (software)

hardware et software programmation Motorola Motorola Motorola transistors processeurs Intel DEC Motorola hardware compilateurs langages de programmation Fortran C Java software utilisateur

3.3 Réalisation en pratique Installations supplémentaires: séquenceur (cablé ou microprogrammé) contrôle le déroulement de toutes les actions

Comment décoder des codes d instructions?... pour deux bits: a b

Comment décoder des codes d instructions?... pour deux bits: a b

3.3 Réalisation en pratique Installations supplémentaires: séquenceur (cablé ou microprogrammé) contrôle le déroulement de toutes les actions

3.3 Réalisation en pratique Installations supplémentaires: séquenceur horloge (oscillateur de quartz) donne des signaux de cadence réguliers (GHz) pour lancer des actions

3.3 Réalisation en pratique Installations supplémentaires: séquenceur horloge bus de transfert entre mémoire et processeur... pour des adresses et des données

3.3 Réalisation en pratique Optimisations:

3.3 Réalisation en pratique Optimisations: execution parallèle des opérations indépendantes mémoire cache et mémoire centrale (réalisation avec SRAM et DRAM)

3.3 Réalisation en pratique Optimisations: execution parallèle des opérations indépendantes mémoire cache et mémoire centrale opération parallèle de plusieurs processeurs