Conception de circuits numériques et architecture des ordinateurs



Documents pareils
Conception de circuits numériques et architecture des ordinateurs

Exécution des instructions machine

Conception de circuits numériques et architecture des ordinateurs

Programmation assembleur : aperçu

Compilation (INF 564)

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

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

Architecture : Circuits numériques et éléments d architecture

Fonctionnement et performance des processeurs

Architecture des ordinateurs

Tout savoir sur le matériel informatique

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Rappels d architecture


Architecture Matérielle et Logicielle (LIF6) Cahier d'exercices, automne 2014

IFT1215 Introduction aux systèmes informatiques

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

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

Concept de machine virtuelle

CM2 L architecture MIPS32

Matériel & Logiciels (Hardware & Software)

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

Architecture des ordinateurs

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

Recherche dans un tableau

Chapitre 4 : Les mémoires

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Les fonctions logiques

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Manipulations du laboratoire

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Architecture des Ordinateurs. Partie II:

PIC 16F84. Philippe Hoppenot

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

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

Architecture des ordinateurs Introduction à l informatique

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Le langage VHDL. Eduardo Sanchez EPFL

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

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

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Informatique Industrielle

Système binaire. Algèbre booléenne

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

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

Une version javascript sera disponible directement dans le cours prochainement.

Cours 1 : La compilation

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

Organisation des Ordinateurs

Architecture des ordinateurs

Architecture des ordinateurs. Robin FERCOQ

TP 1 : 1 Calculs en binaire, octal et hexadécimal

Cours 3 : L'ordinateur

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

T. BLOTIN Lycée Paul-Eluard SAINT-DENIS

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

La programmation des PIC en C. Les fonctions, les interruptions.

ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES : TERTIAIRE ET NTIC : SYSTÈME ET RÉSEAUX INFORMATIQUES

GESTION DE LA MEMOIRE

Jeu d instructions NIOS II

Éléments d'architecture des ordinateurs

2. Ispro nuclear electronics symposium. Sfesa (Italy), May 1975 CONTROLEUR AUTONOME JCAM-10 POUR CHASSIS CAÎ1AC

PIC : COURS ASSEMBLEUR

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

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Ordinateurs, Structure et Applications

Programmation C++ (débutant)/instructions for, while et do...while

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

Plan du cours. Historique du langage Nouveautés de Java 7

Licence Sciences et Technologies Examen janvier 2010

IV- Comment fonctionne un ordinateur?

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

SUR MODULE CAMÉRA C38A (OV7620)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Architecture des calculateurs

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

Présentation du cours

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

Systèmes et traitement parallèles

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

QUESTION 1 {2 points}

Vérification formelle de la plate-forme Java Card

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Les avantages de la virtualisation sont multiples. On peut citer:

Cours Informatique Master STEP

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

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

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

IFT2880 Organisation des ordinateurs et systèmes

Concevoir son microprocesseur

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

Transcription:

Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015

Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique booléenne, portes logiques, circuits combinatoires Circuits séquentiels Construction circuits complexes Micro-architecture et fonctionnement des mémoires Machines à état Synthèse de circuits PC/PO Optimisation de circuits PC/PO Interprétation d'instructions Interprétation d'instructions Interprétation d'instructions Introduction aux caches 2 / 19

Plan Plan détaillé du cours d'aujourd'hui 1 Introduction Encodage des instructions 3 / 19

Plan 1 Introduction Encodage des instructions 4 / 19

Introduction Introduction Rappel de l'épisode précédent Interprétation de données binaires considérées comme des instructions Lues implicitement et en séquence ISA déni les changement d'états de la machine qu'induit chaque instruction 5 / 19

Introduction ISA : exemples typiques Usage : f = a b (a + c b) a, b, c variables en mémoire, %r i, %r j registres du processeur stack HP3000, Sun picojava,... accu mostek 6502, Motorola 68H12, Microchip PIC,... 2-addr Motorola 68k, Intel x86,... 3-addr MIPS rx00, Sun Sparc Vx, IBM Power, ARM Vx,... stack accu 2-addr 3-addr 3-addr-ld/st push a clear xor %r1, %r1 mult %r1, b, c ld %r1, c push b add c add %r1, b add %r1, %r1, a ld %r2, b mult mult b mult %r1, c mult %r2, a, b mult %r1, %r1, %r2 push a add a add %r1, a sub f, %r2, %r1 ld %r3, a push c st x xor %r2, %r2 add %r1, %r1, %r3 push b clear add %r2, b mult %r2, %r2, %r3 mult add a mult %r2, a sub %r3, %r2, %r1 add mult b sub %r2, %r1 st %r3, f sub sub x mov f, %r2 pop f st f 6 / 19

Inuence de l'isa sur l'architecture : Machine à Pile Instructions push a push(mem[a]) pop a mem[a] := pop cpush n push(mem[pc + 1]) add push(pop + pop) sub push(pop pop) mult push(pop pop) De plus, pour chaque instruction Incrémentation de pc pc := pc + 1 Chargement de l'instruction suivante ir := mem[pc] 7 / 19

Inuence de l'isa sur l'architecture : Machine à Pile Encodage des instructions Instructions sur des octets 7-5 40 OPCODE 00000 push a 000 pop a 001 cpush n 010 add 100 sub 101 mult 110 Pour push a et pop, les 2 octets suivants contiennent l'adresse Pour cpush, l'octet suivant contient la constante Ressources Instructions sur 8 bits Memoire programme et données de 65536 (2 16 ) octets 8 / 19

Principe de l'exécution 1 state := RESET; 2 while true do 3 switch state do 4 case RESET 5 state := FETCH, PC := @reset 6 case FETCH 7 state := DECODE, IR := MEM[PC], PC := PC + 1 8 case DECODE 9 switch IR 7..5 do 10 case 00- state := GETLADDR; 11 case 010 state := PUSHC; 12 case 1 state := OP1; 13 endsw 14 case GETLADDR 15 state := GETHADDR, ADDR 7..0 := MEM[PC], PC := PC + 1 16 case GETHADDR 17 if IR 5 = 0 then state := PUSH ; 18 else state := POP; 19 ADDR 15..7 := MEM[PC], PC := PC + 1 20 case......; 31 endsw 32 end while 9 / 19

Principe de l'exécution 1 state := RESET; 2 while true do 3 switch state do 4 case......; 18 case PUSHC state := FETCH, push(mem[pc]), PC := PC + 1; 19 case OP1 state := OP2, top := pop(); 20 case OP2 state := OP3, pot := pop(); 21 case OP3 22 switch IR 6..5 do 23 case 00 state := ADD; 24 case 01 state := SUB; 25 case 10 state := MULT; 26 endsw 27 case ADD state := FETCH, push(pot + top); 28 case SUB state := FETCH, push(pot top); 29 case MULT state := FETCH, push(pot top); 30 endsw 31 end while 10 / 19

Inuence de l'isa sur l'architecture : Machine à Pile Ressources de la Partie Opérative wepc ir src pop pushwet wep op rw id wei wea +1 PC IR ADDR pot top D MEMORY A 11 / 19

Inuence de l'isa sur l'architecture : Machine à Accumulateur Instructions clear accu := 0 add a accu := accu + mem[a] sub a accu := accu mem[a] mult a accu := accu mem[a] st a mem[a] := accu add n accu := accu + ir 3..0 sub n accu := accu ir 3..0 mult n accu := accu ir 3..0 Incrémentation de pc pc := pc + 1 Chargement de l'instruction suivante ir := mem[pc] 12 / 19

Inuence de l'isa sur l'architecture : Machine à Accumulateur Encodage des instructions Instructions sur des octets 74 30 OPCODE nnnn clear 0000 add a 1000 mult a 1001 sub a 1010 st a 1011 add n 1100 mult n 1101 sub n 1110 Pour opérations mémoire, 2 octets suivants contiennent adresse Pour opérations avec constante, 8 <= n <= +7 Ressources Instructions sur 8 bits Memoire programme et données de 65536 (2 16 ) octets 13 / 19

Principe de l'exécution 1 state := RESET; 2 while true do 3 switch state do 4 case RESET state := FETCH, PC := @reset; 5 case FETCH state := DECODE, IR := MEM[PC], PC := PC + 1; 6 case DECODE 7 switch IR 7..4 do 8 case 0000 state := CLEAR; 9 case 10 state := GETLADDR; 10 case 1100 state := ADDC; 11 case 1101 state := MULTC; 12 case 1110 state := SUBC; 13 endsw 14 case GETLADDR 15 state := GETHADDR, ADDR 7..0 := MEM[PC], PC := PC + 1 16 case......; 28 endsw 29 end while 14 / 19

Principe de l'exécution 1 state := RESET; 2 while true do 3 switch state do 4 case......; 16 case GETHADDR 17 switch IR 5..4 do 18 case 00 state := ADD ; 19 case 01 state := MULT; 20 case 10 state := SUB; 21 endsw 22 ADDR 15..7 := MEM[PC], PC := PC + 1 23 case ADD state := FETCH, accu := accu + MEM[ADDR]; 24 case MULT state := FETCH, accu := accu MEM[ADDR]; 25 case SUB state := FETCH, accu := accu MEM[ADDR]; 26 case ST state := FETCH, MEM[ADDR] := accu; 27 case ADDC state := FETCH, accu := accu + IR 4 3 IR 3..0; 28 case MULTC state := FETCH, accu := accu IR 4 3 IR 3..0; 29 case SUBC state := FETCH, accu := accu IR 4 3 IR 3..0; 30 endsw 31 end while 15 / 19

Inuence de l'isa sur l'architecture : Machine à Accumulateur Ressources de la Partie Opérative wepc ir sel op wea rw id wei wea +1 PC IR ADDR accu D MEMORY A 16 / 19

Encodage des instructions Encodage des instructions Dépend : du nombre d'opérations du nombre d'opérandes du nombre de registres des modes d'adressage Peut être : de taille variable les instructions peuvent aller de 1 à 13 octets par exemple (x86) et possèdent des formats diérents de taille xe toute les instructions ont la même taille, i.e. 32 bits (ARM) mais ne possèdent pas pour autant le même format 17 / 19

Encodage des instructions Encodage des instructions 2-adresses, 4 registres, instruction sur 8 bits 2 bits par registre MSB à 0, opérations entre 2 registres MSB à 1, opérations entre 1 registre et la mémoire opérande stocké après l'instruction (1 ou 2 octets) Exemples : add %r1, %r0 add %r2, $12 add %r3, addr formats d'instruction Regs : Mém : 74 3-2 10 OPCODE Rs Rd Const : 74 3-2 10 7 0 7 0 OPCODE 00 Rd ADDRL ADDRH 74 3-2 10 7 0 OPCODE 00 Rd CSTE 18 / 19

Encodage des instructions Résumé Implantation des processeurs Choix d'un ISA Choix de formats d'instructions adaptés Implantation naturelle sous la forme Partie Contrôle/Partie Opérative 19 / 19