Architecture des processeurs

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

Exécution des instructions machine

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

Chapitre 4 : Les mémoires

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

Cours 3 : L'ordinateur

Architecture des ordinateurs

Architecture des Ordinateurs. Partie II:

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Conception de circuits numériques et architecture des ordinateurs

Fonctionnement et performance des processeurs

Cours Informatique 1. Monsieur SADOUNI Salheddine

ASR1 TD7 : Un microprocesseur RISC 16 bits

Tout savoir sur le matériel informatique

CM2 L architecture MIPS32

Licence Sciences et Technologies Examen janvier 2010

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 matérielle des systèmes informatiques

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

Architecture des ordinateurs Introduction à l informatique

Structure de base d un ordinateur

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

Architecture des ordinateurs

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Matériel & Logiciels (Hardware & Software)

Une version javascript sera disponible directement dans le cours prochainement.

Ordinateurs, Structure et Applications

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

I.1- DÉFINITIONS ET NOTIONS DE BASE

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

IFT1215 Introduction aux systèmes informatiques

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

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)

Leçon 1 : Les principaux composants d un ordinateur

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

Un ordinateur, c est quoi?

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

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

Prentice Hall, 2011 (ISBN )

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

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

Structure fonctionnelle d un SGBD

Rappels d architecture

Éléments d'architecture des ordinateurs

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

Ordinateurs, Structure et Applications

Architecture des calculateurs

Partie 7 : Gestion de la mémoire

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

IV- Comment fonctionne un ordinateur?

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

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

COMMANDER la puissance par MODULATION COMMUNIQUER

Fiche technique CPU 315SN/PN (315-4PN33)

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

Conférence sur les microcontroleurs.

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

Samsung Drive Manager FAQ

INTRODUCTION À L INFORMATIQUE

Programmation assembleur : aperçu

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

Systèmes et traitement parallèles

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

CH.3 SYSTÈMES D'EXPLOITATION

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

Système binaire. Algèbre booléenne

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

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

D1- L'environnement de travail

Mettre Linux sur une clé USB bootable et virtualisable

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

Structure et fonctionnement d'un ordinateur : hardware

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

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

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

Initiation au HPC - Généralités

Microprocesseur + Logiciel

Manipulations du laboratoire

Diagrammes de Package, de déploiement et de composants UML


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)

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

CUOMO PC Route d Oron Lausanne 021/

Cours 1 : La compilation

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

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

Drupal : Optimisation des performances

TRIGONOMETRIE Algorithme : mesure principale

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

GESTION DE LA MEMOIRE

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Extrait de uvrez/technique.mspx UREC MMSH (S. ZARDAN) 1

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

FRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO

Enseignement secondaire technique

SYSTÈME DE GESTION DE FICHIERS

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Transcription:

Unité : Systèmes séquentiels s avancés s (SSA) Architecture des processeurs Etienne Messerli & collègues institut REDS Institut REDS, HEIG-VD 30 avril 2013 Architecture des processeurs, p 1 Contenu de la présentation Introduction Principe de l'architecture Von Neumann Processeur simple: MU0 (Furber 1.3, pp. 7-13) conception du processeur simple MU0 étude fonctionnement MU0 ajout d instruction au MU0 Architecture des processeurs, p 2

Unité : Systèmes séquentiels s avancés s (SSA) Architecture des processeurs Introduction Architecture des processeurs, p 3 Ordinateur Système UNIVERSEL de traitement de l'information "binaire" Utilisé pour : Traitement de texte Calcul complexe Commande de machines.. Architecture des processeurs, p 4

Terminologie Calculette simple opérations fixes Calculatrice type HP48 Ordinateur personnel PC Maxi ordinateur ordinateurs de puissances différentes Microprocesseur Micro-contrôleur partie d'un ordinateur système à processeur intégré dans une seule puce Architecture des processeurs, p 5 Eniac, école de Moore, Pennsylvanie, 1946 Architecture des processeurs, p 6

Historique Puissance W Performances (add/s) Rapport Perfor- /Prix Rapport Perfor- /Prix Année Nom Taille m3 Mém. Ko Prix $ Prix $ (1991) 1951 UNIVAC 28,317 124'500 1'900 48 1'000'000 1 4'533'607 1 1964 IBM S360 1,699 10'000 500'000 64 1'000'000 263 3'756'502 318 1965 PDP-8 0,227 500 330'000 4 16'000 10'855 59'947 13'135 1976 Cray-1 1,642 60'000 166'000'000 32'768 4'000'000 2'842 7'675'591 51'604 1981 IBM PC 0,0283 150 240'000 256 3'000 42'105 3'702 1991 HP 9000 0,0566 500 50'000'000 16'384 7'400 3'556'188 7'400 16'122'356 2000 PC 0,0250 150 1'000'000'000 256'000 1'000 526'315'789 Référence [2]: Organisation et conception des ordinateurs Patterson et Hennessy, Dunod Site internet : http://histoire.info.online.fr/ Architecture des processeurs, p 7 Architecture Von Neumann John Von Neumann, Princeton, 1946 imagine de stocker le programme en mémoire pas de distinction entre la mémoire pour le programme et celle pour les données un seul ensemble de bus entre : CPU-Mémoire-E/S Architecture des processeurs, p 8

Architecture Harvard Howard Aiken, université de Harvard, 1946 Utilise un programme stocké en mémoire Programme et données stockés dans des mémoires séparées Dispose de 2 ensembles de bus, soit : un ensemble : CPU-Mémoire programme un ensemble : CPU-Mémoire donnée-e/s Architecture des processeurs, p 9 Principe architecture von Neumann CPU Unité de traitement central BUS Mémoire Programme et données E/S Entrées et sorties Environnement extérieur Architecture des processeurs, p 10

Unités s fonctionnelles CPU Central Processing Unit unité de traitement centrale Mémoire Stockage du programme et des données Entrées & sorties Connexion avec l'environnement extérieur Bus Interconnexions entre les 3 unités Architecture des processeurs, p 11 CPU Maître du système Son rôle: chercher une instruction dans la mémoire décoder cette instruction exécuter l'instruction transférer des données réaliser une opération, un calcul. calculer l adresse de la prochaine instruction Architecture des processeurs, p 12

Instructions du CPU Les instructions du CPU peuvent être classées en trois catégories : instructions de calcul (arithmétique et logique) instructions de transfert de donnée interne interne, interne externe instructions de branchement (saut) Architecture des processeurs, p 13 La mémoirem moire Permet de stocker le programme et les données Plusieurs types mémoires volatiles (RAM, SRAM, DRAM,..) mémoires non-volatiles (EPROM,EEPROM,..) mémoires de masses (disque dur, bande, ) celles-ci seront considérées comme des entrées/sorties Architecture des processeurs, p 14

Les entrées es & sortie Connexion avec l'environnement extérieur Clavier Ecran Convertisseur A/D et D/A Mémoires de masse (disque dur, clé USB, ). Indispensable pour le fonctionnement de l'ensemble Architecture des processeurs, p 15 Les Bus Interconnecte les 3 unités principales Commun à tous indispensable de définir un plan d'adressage Le CPU est le maître Composé de 3 parties : Bus d'adresse Bus de données Bus de contrôle Architecture des processeurs, p 16

Conception CPU Rôle du CPU: tâche principalement séquentielle (voir p 11) CPU MSS complexe, 2 unités : unité de séquencement (UC) unité d exécution (UT) Architecture des processeurs, p 17 CPU: schéma bloc Registre d instruction Séquenceur CPU Unité de traitement Mémoire de microprogramme Compteur de programme Mémoire de programme Architecture des processeurs, p 18

Fonctionnement du CPU 2 niveaux de programmation! Exécution d une instruction du programme nécessite : l'exécution de plusieurs micro-instructions (un microprogramme par instruction) Fonctionnement séquentiel du CPU Architecture des processeurs, p 19 Structure CPU, MSS complexe Partie commande CPU (UC) Registre d'instruction IR souvent avec un décodeur d instruction Séquenceur (UC micro-programmée ou câblée) Mémoire de micro-programme (si UC micro-programmée) Partie traitement CPU (UT) Unité de traitement composée de Compteur de programme PC ALU, Accumulateur Registres.. Architecture des processeurs, p 20

Exécution d'une instruction Déterminer l'adresse du micro-programme Méthodes possibles: Directement code instruction table de saut indirect Code instruction + quelques bits de poids faible taille fixe pour tous les micro-programmes Utiliser un transcodeur : mémoire de mapping taille micro-programme variable (souple) même adresse de début pour différentes instructions Architecture des processeurs, p 21 Exercice 1 Etudier le fonctionnement interne des instructions d'un processeur Pour chaque instruction, indiquez les informations circulant sur les différents chemins de données (datapath) Architecture des processeurs, p 22

Exercice 1: énoncé La mémoire contient le programme suivant : Adresse Instruction Description 0 Load ACC, #25 ; ACC = 25 (valeur immédiate) 1 Load R0, ACC ; R0 = ACC 2 ADD ACC, R0 ; ACC = ACC + R0 3 Load 80,ACC ; Mem[80] = ACC (adressage direct) 4 JUMP 1 ; PC = 1 Architecture des processeurs, p 23 CPU... exe... PC 0 1 MEM ALU ACC R0 R1 Adresse Données 2 3 4 5 6 7 IR 80 81 E/S 82 83 84 85 Architecture des processeurs, p 24

CPU... exe... PC 0 1 MEM ALU ACC R0 R1 Adresse Données 2 3 4 5 6 7 IR 80 81 E/S 82 83 84 85 Architecture des processeurs, p 25 CPU... exe... PC 0 1 MEM ALU ACC R0 R1 Adresse Données 2 3 4 5 6 7 IR 80 81 E/S 82 83 84 85 Architecture des processeurs, p 26

CPU... exe... PC 0 1 MEM ALU ACC R0 R1 Adresse Données 2 3 4 5 6 7 IR 80 81 E/S 82 83 84 85 Architecture des processeurs, p 27 CPU... exe... PC 0 1 MEM ALU ACC R0 R1 Adresse Données 2 3 4 5 6 7 IR 80 81 E/S 82 83 84 85 Architecture des processeurs, p 28

Unité : Systèmes séquentiels s avancés s (SSA) Architecture des processeurs Le processeur simple MU0 ( 1.3, pp.7-13, Furber) Architecture des processeurs, p 29 Didacticiel : ARM System Design Sélectionner le menu : Background and Introduction to the ARM Choisir le sous-menu : A Simple Processor Explications sur la conception du processeur MU0 Architecture des processeurs, p 30

MU0: processeur simple Approche par un processeur simple: Eléments de base: PC: compteur de programme ACC: accumulateur ALU: unité arithmétique et logique IR: registre d'instruction unité de séquencement machine 16 bits (données) avec 12 bits d'espace adressable Architecture des processeurs, p 31 Jeu et format d'instructions Format des instructions : Sauf indication, le PC est incrémenté 4 bits 12 bits opcode operande S Instruction Opcode Effect LDA S 0000 ACC := mem 16 [S] STO S 0001 mem 16 [S]:= ACC ADD S 0010 ACC := ACC + mem 16 [S] SUB S 0011 ACC := ACC - mem 16 [S] JMP S 0100 PC := S JGE S 0101 if ACC >= 0 then PC := S JNE S 0110 if ACC /= 0 then PC := S STP 0111 stop Architecture des processeurs, p 32

Méthodologie Etude du processeur par l'étude de sa conception datapath: éléments qui transportent, stockent ou traitent plusieurs bits en parallèle; représentation: niveau RTL (register transfer level) logique de contrôle: éléments qui ne font pas partie du "datapath" représentation par machine d'état Architecture des processeurs, p 33 Datapath de MU0 Nombreuses possibilités d'interconnexion Principe choisi ici comme guide: accès mémoire = facteur limitatif i.e.: nombre de cycles de chaque instruction = nombre d'accès mémoire Donc, on cherchera un datapath tel que: Instructions qui utilisent mem 16 [S]: 2 cycles Instructions qui utilisent S directement: 1 cycle Architecture des processeurs, p 34

Exemple de "datapath" datapath" address bus PC control IR ALU ACC memory data bus Architecture des processeurs, p 35 Exercice 2 : analyse du sch Questions sur le schéma "datapath" analyse du schéma "datapath" datapath" Indiquer la largeur des bus du schéma précédent Que doit-il se passer au démarrage? Comment le PC est-il incrémenté? Combien de cycles sont nécessaires pour chaque instruction du processeur MU0? Indiquer les modes d'adressage du jeux d'instructions du MU0? Architecture des processeurs, p 36

Opérations Convention: instruction dans IR exécutée, puis IR chargé avec instruction suivante Etapes, dans l'ordre: Selon l'instruction: Soit un opérande est lu de la mémoire, combiné avec l'acc dans l'alu et le résultat est écrit dans l'acc Soit le contenu de l'acc est placé en mémoire Soit cette étape n'a pas lieu Pour toutes les instruction: Chargement de la prochaine instruction à exécuter (FETCH) (adresse: du PC ou de l'instruction, via l'alu) Architecture des processeurs, p 37 Initialisation Le processeur doit démarrer dans un état connu entrée RESET forcer une adresse de départ connue (PC = 0x000) fonctionnement dans le cas du MU0: lors du RESET sortie de l'alu = 000 16, valeur chargée dans le PC au prochain flanc d'horloge dans le cas du MU0 : RESET synchrone!! Architecture des processeurs, p 38

Architecture système à processeur MU0 Processeur MU0 RD WR Bus d'adresse Bus de données Mémoires programme et données Entrées/ Sorties Architecture des processeurs, p 39 Dia volontairement laissé vide Architecture des processeurs, p 40

Schéma MU0 12 Bus d'adresse Asel mux Bsel ALUfs PCce En 0 1 0 Clock Bits 15..12 mux 1 16 B ALU 12 PC 12 bits IRce Clock En 12 Bits 11..0 Clock Reset ACCce Clock En ACCz A 16 IR 16 bits 4 Bits 15..12 opcode ACC 16 bits ACC(15) ACCz ACC(15) Reset Unité de séquencement RD WR ACCoe Signaux de contrôle 16 Bus de données Architecture des processeurs, p 41 Décodeur d'instruction du MU0 Entrées Sorties Instr Opcode Reset Cycle ACCz ACC15 Asel Bsel ACCce PCce IRce ACCoe ALUfs RD WR Cycle + (Reset) xxxx 1 x x x 0 0 1 1 1 0 =0 1 0 0 LDA S 0000 0 0 x x 1 1 1 0 0 0 =B 1 0 1 0000 0 1 x x 0 0 0 1 1 0 B+1 1 0 0 STO S 0001 0 0 x x 1 x 0 0 0 1 x 0 1 1 0001 0 1 x x 0 0 0 1 1 0 B+1 1 0 0 ADD S 0010 0 0 x x 1 1 1 0 0 0 A+B 1 0 1 0010 0 1 x x 0 0 0 1 1 0 B+1 1 0 0 SUB S 0011 0 0 x x 1 1 1 0 0 0 A-B 1 0 1 0011 0 1 x x 0 0 0 1 1 0 B+1 1 0 0 JMP S 0100 0 x x x 1 0 0 1 1 0 B+1 1 0 0 JGE S 0101 0 x x 0 1 0 0 1 1 0 B+1 1 0 0 0101 0 x x 1 0 0 0 1 1 0 B+1 1 0 0 JNE S 0110 0 x 0 x 1 0 0 1 1 0 B+1 1 0 0 0110 0 x 1 x 0 0 0 1 1 0 B+1 1 0 0 STP 0111 0 x x x 1 x 0 0 0 0 x 0 0 0 Architecture des processeurs, p 42

Exercice 3 : questions sur le MU0 Comment le Reset agit-il sur les différents blocs? Quel contrainte temporelle doit respecter le Reset? Quel est le contenu du registre IR lorsque le signal Reset se désactive? Comment l'incrémentation du PC est-elle obtenue? Qu'elle remarque pouvez-vous faire? Quel est la fonction du signal Cycle? Concevoir l'unité de séquencement. Voir structure page suivante. Architecture des processeurs, p 43 exercice 3: Concevoir l'unité de séquencement (unité de commande du MU0) Celle-ci se décompose comme suit : Entrées Décodeur d'états futurs (Décod. instructions) Sorties Architecture des processeurs, p 44

Exercice 4 : Faire le chronogramme de l'exécution du programme suivant après un Reset : Adr. Contenu MEM Adr. Contenu MEM 0 LDA 0xC00 0xC00 0x0009 1 SUB 0xC01 0xC01 0x0001 2 STO 0xC00... 3 JNE 0 4 STP... Architecture des processeurs, p 45 Exercices 5 : Indiquer toutes les variantes possible pour fournir l'adresse d'une instruction? Comment fonctionne l'instruction JMP S? Comment l'opération de soustraction est-elle réalisée dans l'alu? Architecture des processeurs, p 46

Etude fonctionnement du MU0 Menu démarrer Labo systèmes numériques Embedded => MUO lancer le programme SimMU0.tcl Editer dans le simulateur MU0 le programme de l'exercice 4 Simuler au niveau programmeur le programme Choisir le mode "Tutorial" étudier le fonctionnement interne du MU0 lors de l'exécution du programme Architecture des processeurs, p 47 Exercice 6, 7 et 8 : 6. Sur le processeur MU0, étendre l'espace d'adressage à 20 bits à l'aide d'un registre de base de 16 bits 7. Ajouter au processeur MU0 la possibilité d'appeler des sousroutines. Implanter les fonctions d'appel (CALL) et de retour (RET) au sousprogramme. La pile sera prévue avec un seul niveau (pas d'appel imbriqué de sous-programme) 8. Ajouter au processeur MU0 le mode d'adressage indexé (voir exercice 1.2 p. 33, Furber) Architecture des processeurs, p 48

Bibliographie [1] ARM, system-on-chip, 2000 (second edition), Steve Furber, Addison-Wesley [2] Organisation et conception des ordinateurs Patterson & Hennessy, Dunod [3] [4] Systèmes à microprocesseur, ch. XI architecture Serge Boada, EIVD Architecture des processeurs, p 49