Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur



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

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

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

Chapitre 10 Arithmétique réelle

Conception de circuits numériques et architecture des ordinateurs

IV- Comment fonctionne un ordinateur?

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

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

Architecture des ordinateurs

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

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

Structure de base d un ordinateur

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

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

Leçon 1 : Les principaux composants d un ordinateur

Tests de performance du matériel

ASR1 TD7 : Un microprocesseur RISC 16 bits

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)

L informatique en solo

Éléments d'architecture des ordinateurs

Architecture des Ordinateurs. Partie II:

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

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

Compilation (INF 564)

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

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

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

I00 Éléments d architecture

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Cours 3 : L'ordinateur

Ordinateurs, Structure et Applications

Histoire de l Informatique

CH.3 SYSTÈMES D'EXPLOITATION

Chapitre 4 : Les mémoires

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Microprocesseur + Logiciel

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

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

Évaluation et implémentation des langages

1 L évolution de l informatique

Traitement de données

Structure et fonctionnement d'un ordinateur : hardware

Introduction à l Informatique licence 1 ère année Notes de Cours

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Logiciel de base. Première année ENSIMAG

Programmation assembleur : aperçu

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

Rappels d architecture

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

Windows 7 - Installation du client

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Architecture des ordinateurs Introduction à l informatique

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

Organisation des Ordinateurs

Traduction des Langages : Le Compilateur Micro Java

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

Algorithmique et structures de données I

Hardware et software

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

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Ordinateurs, Structure et Applications

PIC : COURS ASSEMBLEUR

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

Cours d Algorithmique et de Langage C v 3.0

Architecture matérielle des systèmes informatiques

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

Informatique Générale

ACTIVITÉ DE PROGRAMMATION

Cours 1 : Qu est-ce que la programmation?

IFT1215 Introduction aux systèmes informatiques

Premiers pas sur l ordinateur Support d initiation

Pré-requis installation

Conception de circuits numériques et architecture des ordinateurs

Matériel & Logiciels (Hardware & Software)

Initiation au HPC - Généralités

Machines virtuelles Cours 1 : Introduction

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

ATELIERS DE FORMATION TECHNICIEN DE MAINTENANCE INFORMATIQUE

Systèmes d exploitation

CUOMO PC Route d Oron Lausanne 021/

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

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Pré-requis installation

Alchin Couderc Flambard TBSEID 2

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

I.1- DÉFINITIONS ET NOTIONS DE BASE

Aide à l installation et à la migration en HelloDoc 5.60

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

Logiciel REFERENCE pré-requis informatiques et techniques :

Algorithme. Table des matières

CI 1 PROBLEME : Quelles sont les fonctions et les caractéristiques d un environnement informatique?

Transcription:

Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur Jean Privat Université du Québec à Montréal INF217 Organisation des ordinateurs et assembleur Automne 21 Jean Privat (UQAM) 1 Introduction INF217 Automne 21 1 /

Organisation des ordinateurs et assembleur Objectifs du cours Comprendre comment un ordinateur fonctionne (en vrai) Apprendre à programmer directement un ordinateur (en vrai) Difficultés du cours C est un cours de programmation Jean Privat (UQAM) 1 Introduction INF217 Automne 21 2 /

Plan 1 Programmer en assembleur 2 Structure et fonctionnement d un ordinateur Le processeur Pep/8 Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Plan 1 Programmer en assembleur 2 Structure et fonctionnement d un ordinateur Le processeur Pep/8 Jean Privat (UQAM) 1 Introduction INF217 Automne 21 4 /

Programmer en assembleur Qui programme en assembleur? Développeurs de systèmes d exploitation Développeurs de pilotes Développeurs de compilateurs et machines virtuelles Développeurs de logiciels haute performance Et les autres programmeurs? Ne veulent pas entendre parler d assembleur Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Pourquoi ce cours alors? Organisation des ordinateurs Comprendre l organisation des ordinateurs du point de vue du programmeur Car tout ce que fait l ordinateur passe forcément par le langage machine Bonus Apprendre à programmer autrement Jean Privat (UQAM) 1 Introduction INF217 Automne 21 6 /

Domaine d étude Structure typique d un ordinateur Applications Langages de haut niveau (dits évolués) Système d exploitation Assembleur et langage machine Micro-architecture Circuits logiques Jean Privat (UQAM) 1 Introduction INF217 Automne 21 7 /

Domaine d étude Structure typique d un ordinateur Applications Langages de haut niveau (dits évolués) Système d exploitation Assembleur et langage machine Micro-architecture Circuits logiques Jean Privat (UQAM) 1 Introduction INF217 Automne 21 7 /

Assembleur Langage de programmation impératif Séquences d instructions Boucles Structures conditionnelles Appels de sous-programmes... Bref, rien de nouveau Langage sans petites roues pas de contrôle automatique pas d aide Jean Privat (UQAM) 1 Introduction INF217 Automne 21 8 /

Assembleur Entités en œuvre Le programmeur Le langage (assembleur) Le compilateur (assembleur) Le moteur d exécution (processeur ou simulateur) Principes du génie logiciel fondamentaux Discipline Méthode Jean Privat (UQAM) 1 Introduction INF217 Automne 21 9 /

Assembleur Définition Forme symbolique des instructions du langage machine Exemple x = a + b - c ; sera codé OBT A ; o b t e n i r l a v a l e u r de A AJT B ; a j o u t e r l a v a l e u r de B SOU C ; s o u s t r a i r e l a v a l e u r de C RAN X ; r a n g e r l a v a l e u r dans X Jean Privat (UQAM) 1 Introduction INF217 Automne 21 1 /

Plan 1 Programmer en assembleur 2 Structure et fonctionnement d un ordinateur Le processeur Pep/8 Jean Privat (UQAM) 1 Introduction INF217 Automne 21 11 /

Structure et fonctionnement d un ordinateur Principes de base Un ordinateur est une machine Tout n est que bits Jean Privat (UQAM) 1 Introduction INF217 Automne 21 12 /

Historique Cailloux et abaques (-) «Calcul» et «caillou» ont la même étymologie Abaques = outils (bouliers, tablettes, etc.) Machines mécaniques Pascaline (1642) : une calculatrice Machine analytique (18) : programmable Premiers vrais ordinateurs MARK I (197 1944) : électromécanique ENIAC (194 1946) : électronique Jean Privat (UQAM) 1 Introduction INF217 Automne 21 1 /

Machine de von Neumann Principes Un médium d entrée quantité virtuellement illimité de données Une unité d emmagasinage même représentation interne (bits) pour les instruction et les données Une unité de calcul arithmétique et logique Un médium de sortie quantité virtuellement illimité de résultats Une unité de contrôle interpréter les instructions Jean Privat (UQAM) 1 Introduction INF217 Automne 21 14 /

Machine de von Neumann Entrée (clavier) Mémoire Sortie (écran) Bus Unité arithmétique et logique Registres UCT Unité de contrôle Jean Privat (UQAM) 1 Introduction INF217 Automne 21 1 /

Mémoire Élément central Tout passe par là (programmes et données) Ensemble fini de cellules Chaque cellule A une adresse A un nombre fixe de bits A une seule valeur à la fois Est accessible très rapidement (nano seconde) Jean Privat (UQAM) 1 Introduction INF217 Automne 21 16 /

Mémoire Tout n est que bits Un cellule mémoire de contient que des bits (des nombres) Toute information traitée par un ordinateur doit être codée sous forme numérique... Y compris les instructions machines Jean Privat (UQAM) 1 Introduction INF217 Automne 21 17 /

Mémoire : Exemple 1 1 19 1 11 12 22 14 Jean Privat (UQAM) 1 Introduction INF217 Automne 21 18 /

Mémoire : Exemple 1 1 19 1 11 12 22 14 Une interprétation possible 19 1 ; Obtenir mot en 1 11 12 ; Ajouter mot en 12 22 14 ; Ranger mot en 14 ; Terminer l exécution ; Entier (Première opérande) ; Entier (Seconde opérande) ; Entier Jean Privat (UQAM) 1 Introduction INF217 Automne 21 18 /

Mémoire : Exemple 1 1 19 1 11 12 22 14 8 Une interprétation possible 19 1 ; Obtenir mot en 1 11 12 ; Ajouter mot en 12 22 14 ; Ranger mot en 14 ; Terminer l exécution ; Entier (Première opérande) ; Entier (Seconde opérande) 8 ; Entier 8 (résultat) Jean Privat (UQAM) 1 Introduction INF217 Automne 21 18 /

RAM/ROM Mémoire vive ou RAM (random access memory) Stocke les programmes et les données Accessible en lecture et écriture Mémoire morte ou ROM (read-only memory) Contient de quoi amorcer l ordinateur Contient le code des primitives basiques d entrées-sorties (BIOS) Accessible en lecture seulement (voire en écriture par des moyens détournés) Jean Privat (UQAM) 1 Introduction INF217 Automne 21 19 /

Unités d entrée-sortie Communiquer avec l extérieur Humains et environnement On parle communément de périphériques Exemples Clavier Écran Disque dur Haut-parleur Jean Privat (UQAM) 1 Introduction INF217 Automne 21 2 /

Unité centrale de traitement (UCT) Unité de calcul Exécute les opérations logiques et arithmétiques Unité de contrôle Lit les instructions en mémoire Fournit les opérandes à l unité de calcul Récupère les résultats de l unité de calcul Jean Privat (UQAM) 1 Introduction INF217 Automne 21 21 /

Horloge Synchronise les activités Engendre un signal régulier (GHz) Les activités de l ordinateur sont synchronisées Cycle d horloge La plus petite unité de temps Une instruction peut nécessiter plusieurs cycles Jean Privat (UQAM) 1 Introduction INF217 Automne 21 22 /

Bus Définition Medium de communication entre les composantes Ensemble de lignes de communication Les bus sont spécialisés Données bus de donnée Adresses bus d adresse Signaux bus de contrôle Jean Privat (UQAM) 1 Introduction INF217 Automne 21 2 /

Registres Mémoire Cellules mémoire de l UCT Accès plus rapide que la mémoire principale (pas besoin de prendre le bus) Contient Stocke les opérandes, résultats, etc. Sert au contrôle de l ordinateur Jean Privat (UQAM) 1 Introduction INF217 Automne 21 24 /

Plan 1 Programmer en assembleur 2 Structure et fonctionnement d un ordinateur Le processeur Pep/8 Jean Privat (UQAM) 1 Introduction INF217 Automne 21 2 /

Pep/8 Une machine de von Neumann très simple Caractères US-ASCII (7 bits) Mots de 16 bits (2 octets) Mémoire de 2 16 octets (64 ko) 16 bits d adresse 8 instructions (1 ou octets) 6 registres Jean Privat (UQAM) 1 Introduction INF217 Automne 21 26 /

Pep/8 Registres Accumulateur (A) : 1 mot (2 octets) Index (X) : 1 mot Compteur ordinal (PC) : 1 mot Pointeur de pile (SP) : 1 mot Mot d état : 4 bits Instruction : 1 ou octets Jean Privat (UQAM) 1 Introduction INF217 Automne 21 27 /

Mot d état Pep/8 4 bits de statut (NZVC) N = 1 si négatif Z = 1 si zéro V = 1 si débordement (overflow) C = 1 si retenu (carry) Jean Privat (UQAM) 1 Introduction INF217 Automne 21 28 /

Boucle d exécution de l UCT L UCT ne s arrête jamais Exécute continuellement les instructions 1 pas d exécution = 4 étapes Extraire le contenu de la cellule mémoire dont l adresse se trouve dans le compteur ordinal Décoder l instruction obtenue : extraire le code de l opération et les opérandes Augmenter le compteur ordinal Exécuter les opérations indiquées par l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 29 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 19 1 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 19 1 Ranger dans A le mot en 1 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 19 1 Ranger dans A le mot en 1 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 19 1 Ranger dans A le mot en 1 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 11 12 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 11 12 Ajouter à A le mot en 12 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 6 11 12 Ajouter à A le mot en 12 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 8 6 11 12 Ajouter à A le mot en 12 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 8 6 22 14 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 8 6 22 14 Ranger en 14 le mot de A Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 A PC Instr = 8 9 22 14 Ranger en 14 le mot de A Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 8 A PC Instr = 8 9 22 14 Ranger en 14 le mot de A Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 8 A PC Instr = 8 9 Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 8 A PC Instr = 8 9 Terminer l exécution Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 8 A PC Instr = 8 1 Terminer l exécution Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Cycle d exécution : Exemple 1 1 19 1 11 12 22 14 8 A PC Instr = 8 1 Terminer l exécution Exécution d une instruction Obtenir l instruction à partir du compteur ordinal (PC) Décoder l instruction Incrémenter PC Exécuter l instruction Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /

Instructions et données Attention : pas de distinction pour l UCT L UCT travaille en aveugle (tout n est que des bits) Le programmeur en assembleur est responsable Erreur habituelle Faire exécuter des trucs en mémoire qui ne sont pas des instructions du programme Jean Privat (UQAM) 1 Introduction INF217 Automne 21 1 /

La semaine prochaine Codage de l information Tout est des bits... mais pas forcément rangés pareils Jean Privat (UQAM) 1 Introduction INF217 Automne 21 2 /

Bibliographie Notes de cours Chapitre 1 : Introduction Chapitre 2 : Structure et fonctionnement d un ordinateur Livre Sections 1.1, 1.2, 1., 4.1 et 4. Programmes 1-exemple.pep 1-exemple.pepo Jean Privat (UQAM) 1 Introduction INF217 Automne 21 /