Architectures des ordinateurs

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

Rappels d architecture

Architecture des ordinateurs

ASR1 TD7 : Un microprocesseur RISC 16 bits

Conception de circuits numériques et architecture des ordinateurs

IV- Comment fonctionne un ordinateur?

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

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

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Compilation (INF 564)

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Chapitre 4 : Les mémoires

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

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

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

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

Ordinateurs, Structure et Applications

Fonctionnement et performance des processeurs

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Exécution des instructions machine

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

PIC : COURS ASSEMBLEUR

Initiation au HPC - Généralités

Architecture des Ordinateurs. Partie II:

PIC 16F84. Philippe Hoppenot

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Informatique Générale

CM2 L architecture MIPS32

Les liaisons SPI et I2C

Ed 03/95 PAQ 1530 NON URGENTE (INFO PRODUIT) TEMPORAIRE DEFINITIVE

Conception de circuits numériques et architecture des ordinateurs

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Carte ARDUINO UNO Microcontrôleur ATMega328

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Conférence sur les microcontroleurs.

É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

Représentation des Nombres

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

Représentation d un entier en base b

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

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

Jeu d instructions NIOS II

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

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

Contraintes, particularités. 1. Généralités Gestion de la mémoire a. Type des variables et constantes... 2

IFT1215 Introduction aux systèmes informatiques

Éléments d'architecture des ordinateurs

Cours d initiation à la programmation en C++ Johann Cuenin

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

La programmation des ATMEL AVR

Organisation des Ordinateurs

Sanity Check. bgcolor mgcolor fgcolor

Architecture matérielle des systèmes informatiques

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

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

Architecture des ordinateurs

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

Cours 3 : L'ordinateur

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

as Architecture des Systèmes d Information

Capacité de mémoire Tablettes

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

Optimisations des SGBDR. Étude de cas : MySQL

Systèmes et traitement parallèles

Architecture des calculateurs

Architecture des ordinateurs Introduction à l informatique

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

Temps Réel. Jérôme Pouiller Septembre 2011

La carte à puce. Jean-Philippe Babau

Concept de machine virtuelle

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

Présentation du système informatique utilisé et éléments d architecture des ordinateurs

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

Leçon 1 : Les principaux composants d un ordinateur

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

Cours 1 : La compilation

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

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

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

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

SYSTEME DE TELESURVEILLANCE VIDEO

Vers du matériel libre

QUESTION 1 {2 points}

Cours d Algorithmique et de Langage C v 3.0

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

Cours 1 : Qu est-ce que la programmation?

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Cours de Systèmes d Exploitation

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

ANALYSE TRAMEs LIAISON SERIE

Transcription:

Architectures des ordinateurs

Sommaire 1) organisation minimale d un ordinateur 2) le processeur 3) la mémoire 4) le programme 5) les interfaces

organisation minimale d un ordinateur Initialisation Génération horloge Microprocesseur Bus adresses Bus données Lignes de contrôle Mémoire RAM ROM Décodage d adresses Interfaces périphériques ENVIRONNEMENT 3

le système minimal - le circuit d horloge et circuit d initialisation (reset) - la mémoire principale - le processeur ou CPU - le décodeur d adresses - le bus d adresse et bus de données - le bus de contrôle - les périphériques

circuit d horloge et circuit de reset Exemple de circuits de reset et de génération d horloge sck /reset MISO C1 Reset BUTTON SW1 22pF C4 10nF Y1 4Meg R2 10k D1 1N914 C2 22pF +5V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 U6 AT90S8535 pb0-t0 adc0-pa0 pb1-t1 adc1-pa1 pb2-ain0 adc2-pa2 pb3-ain1 adc3-pa3 pb4-ss/ adc4-pa4 pb5-mos i adc5-pa5 pb6-miso adc6-pa6 pb7-sck adc7-pa7 res et/ aref vcc agnd gnd avcc xtal2 tosc2-pc7 xtal1 tosc1-pc6 pd0-rxd pc5 pd1-txd pc4 pd2-int0 pc3 pd3-int1 pc2 pd4-oc1b pc1 pd5-oc1a pc0 pd6-icp oc2-pd7 AT90S8535 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Reset: activé tant que l alimentation n est pas stabilisée : réseaux RC ou circuits spécialisés Horloge (Quartz ou quartz + PLL): fixe le rythme d exécution des instructions 5

la mémoire programme : (instructions sur 16 bits pour famille ATmega) => contient le programme exécutable (flash eeprom) 6

la mémoire données : données sur 8 bits pour ATmega (SRAM) accessible en lecture/écriture sauvegarde de variables, adresses de retour de sousprogrammes, d interruptions, de contexte (registre d état, ) contrôlée en lecture/écriture par le bus de contrôle 7

La CPU: son rôle Implémente le cycle Fetch-Decode-Execute: 1) Fetch: a) assigne une valeur d adresse au bus d adresses b) lit l instruction associée à l adresse pointée 2) Decode a) décode l instruction b) lit les opérandes si nécessaire 3) Execute a) exécute l instruction b) sauvegarde les opérandes si nécessaire

9

Architecture Harvard (2 bus séparés) / Von Neumann (1 bus)

- architecture Von Neumann => instructions CISC - architecture Harvard => instructions RISC La majorité des processeurs actuels sont à architecture de Harvard et disposent d un pipeline Avantages RISC CISC Temps d exécution court, hardware plus simple, coût puce électronique réduit Inconvénients Programme plus complexe à écrire, plus de lignes, compilateur difficile à concevoir Instructions puissantes, programme plus simple à écrire, moins de lignes de programme, compilateur simple à concevoir Temps exécution long, hardware plus compliqué et plus coûteux

12 Architecture Harvard => pipelining

Architecture de la CPU (Atmel ATmega) (HARVARD-RISC et pipeline 2 étages) 13

14 Architecture famille Atmel Atmega (HARVARD- RISC)

Organisation de la CPU: - bus d adresse, bus de données et bus de contrôle - les registres de travail - l unité arithmétique et logique (ALU) - l unité de traitement - le pointeur de pile - le registre d état - les interruptions et leur traitement

Bus d adresses pointe la prochaine instruction à exécuter (à 0 au reset). s incrémente de 1 si aucun saut de programme demandé unidirectionnel avec souvent possibilité de mise à l état «haute impédance» piloté par un compteur synchrone à chargement parallèle capacité d adressage direct: de 0 à 2 n -1 (n: taille du bus) 16

Décodage d adresses assigne à un périphérique, une zone dans l espace adressable par le processeur génère un «chip select» (ex.: CS_DDRA=1 quand @=0x3A) 17

Bus de données définit la taille du processeur: 8, 16, 32, 64 bits sens des data contrôlé par Read/Write Von Neumann: bus de données bidirectionnel Harvard: bus de données bidirectionnel pour la mémoire données, unidirectionnel pour la mémoire programme 18

19 Les cycles de lecture/écriture

les registres de travail: bascules D (32 en général) 20

l unité arithmétique et logique Unité arithmétique et logique (ALU) M S1 S0 F 0 0 0 A 0 0 1 A B 0 1 0 A 0 1 1 A+B 1 0 0 A-1 1 0 1 A+B 1 1 0 A-B 1 1 1 A+1 logique arithmétique 2 A M S F B

l unité arithmétique et logique (ALU) effectue les opérations: - addition - soustraction - complémentation - comparaison - multiplication - 22

l unité de traitement assure le décodage et l exécution des instructions ROM Initialisation horloge Code de l instruction à exécuter Compt eur prépos itionna ble (charg ement parallè le) Adresse microcode * * * * * * * * microcode micr opro gra mme * * * * * * * * Signaux de contrôle internes/externes 23

Le pointeur de pile (stack pointer) Pile: zone réservée de la mémoire RAM (en général, la partie haute) Pointeur de pile: registre matériel servant à l adressage de la zone RAM Son rôle est d adresser la pile pour : - la sauvegarde de l adresse de retour du programme lors d un appel à un sous-programme ou lors d une interruption. - la restitution de l adresse de retour du programme lors du retour d un sous-programme ou du retour d une interruption. - la sauvegarde d un contexte (registre d état, registres de travail, ) Cas du ATmega16: - Registre de 16 bits dont seulement les 11 bits de poids faibles sont utilisés (puisque la zone RAM va de $60 à $45F). Il pointe la prochaine adresse libre dans la pile Le pointeur de pile doit toujours être initialisé avec l adresse haute de la RAM dès le début du programme. Dans le cas du Atmega16 cette adresse est $45F. 24

25 pointeur de pile

26 pointeur de pile

Le registre d état (SREG pour ATmega) Registre de 8 bits (bascules D écrites ou lues séparément). contient des «drapeaux» qui se positionnent ou non en fonction du résultat de l instruction qui vient d être exécutée (actifs à 1) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 I T H S V N Z C I : si à 1 => autorise les interruptions T : Bit de stockage pour la copie d'un bit H : Drapeau de signalisation de semi-retenue S : S = N V ( Drapeau de signalisation de signe arithmétique ) V : Drapeau de signalisation de double complément de dépassement N : à 1 si l instruction exécutée génère un résultat négatif Z : à 1 si l instruction exécutée génère un résultat nul C : à 1 si l instruction exécutée a provoqué une retenue Remarque : Lorsqu une instruction est susceptible de modifier l état d un bit du registre SREG, celui-ci est remis à 0 avant l exécution de l instruction. 27

Interruptions et interruptions vectorisées Interruption: Plusieurs demandeurs peuvent activer la même ligne d interruption: le processeur rentre alors dans une boucle d identification du demandeur. - avantage: simplicité du matériel - inconvénient: délai pour servir l interruption (identification par logiciel) Interruption vectorisée: Chaque demandeur dispose d une adresse qui lui est propre: le service est immédiat sauf si une autre interruption est en cours de traitement. 0 à 21 sur Atmega 0 est le plus prioritaire, 21 est le moins prioritaire 28

29 Interruptions vectorisées (ATmega16)

Obtention du programme exécutable description algorithmique => langage de haut niveau => compilation => assembleur => assemblage => exécutable 1) Description algorithmique: (ex. a=a+1 puis b=a) définition du type des variables: Var a, b: caractère non signé a <- a+1 b <- a 2) Traduction en langage C unsigned char a, b; //def des types a++; b=a; Compilation: a et b affectés en priorité à des registres de travail sinon en SRAM

a et b affectés aux registres de travail R4 et R5 a++ traduit en assembleur par «INC R4» b=a par «MOV R5,R4»

32

33