SRUCTURE FONCTIONNELLE MATÉRIELLE ET LOGICIELLE DES SYSTÈMES DE TRAITEMENT DE L'INFORMATION page 1/5

Documents pareils
Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours Informatique 1. Monsieur SADOUNI Salheddine

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

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

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

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

Structure et fonctionnement d'un ordinateur : hardware

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

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

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

Cours 3 : L'ordinateur

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

Matériel & Logiciels (Hardware & Software)

Éléments d'architecture des ordinateurs

Structure de base d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur

Chapitre 1 : Introduction aux bases de données

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

Lecteur de carte à puce LCPM1 SOMMAIRE

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP


Annexe : La Programmation Informatique

Conception de circuits numériques et architecture des ordinateurs

Cours Informatique Master STEP

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

Généralités sur le Langage Java et éléments syntaxiques.

Ajouter de la mémoire à son ordinateur

Les réseaux informatiques

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Chapitre 4 : Les mémoires

I. Introduction aux fonctions : les fonctions standards

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

I- Définitions des signaux.

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

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

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

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)

Nouveautés Ignition v7.7

Projet de Veille Technologique

Conservation des documents numériques

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

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

Introduction à NetCDF

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

I00 Éléments d architecture

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

GESTION DE LA MEMOIRE

Chapitre 18 : Transmettre et stocker de l information

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

PARCOURS COMPLET AU COURS MOYEN

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

Chapitre 1 I:\ Soyez courageux!

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

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Systeme d'exploitation

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

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Leica Application Suite

Service Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3

Résultats. 1 Quelle est votre tranche d âge?

Algorithmique avec Algobox

Quelques éléments de compilation en C et makefiles

I.1- DÉFINITIONS ET NOTIONS DE BASE

«Clustering» et «Load balancing» avec Zope et ZEO

ACTIVITÉ DE PROGRAMMATION

Le Network File System de Sun (NFS)

Conception de circuits numériques et architecture des ordinateurs

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Démontage d'un ordinateur

Tests de performance du matériel

Mysql. Les requêtes préparées Prepared statements

Micro ordinateur & Périphériques Mémoire de masse Disque dur (SOLUTION)

Documentation d information technique spécifique Education. PGI Open Line PRO

NOTIONS DE RESEAUX INFORMATIQUES

Publipostage avec Calc

Architecture des ordinateurs Introduction à l informatique

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

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Le Framework.Net. Introduction. Pourquoi.Net?

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

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

Architecture des ordinateurs

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

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

KeePass - Mise en œuvre et utilisation

CH.6 Propriétés des langages non contextuels

Cours admin 200x serveur : DNS et Netbios

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

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.

Google fait alors son travail et vous propose une liste de plusieurs milliers de sites susceptibles de faire votre bonheur de consommateur.

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

GUIDE D UTILISATION. Réglages par défaut. Installation. Panneau de configuration de l'unité principale: Sirène D alarme. maison.

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

Architecture des Ordinateurs. Partie II:

Transcription:

STRUCTURE FONCTIONNELLE MATÉRIELLE ET LOGICIELLE DES SYSTÈMES DE TRAITEMENT DE L'INFORMATION Introduction L'objectif ici est de vous apporter des connaisances de base d'un point de vue matériel et logiciel concernant les systèmes microprogrammés. Il va de soi qu'ils sont complexes et que leur approche sera très simplifiée. Il est cependant intéressant de remarquer que le principe de fonctionnement que nous allons voir est valable pour toutes les machines numériques que nous connaissons : ordinateur, console de jeu, téléphone portable, etc. Depuis maintenant plusieurs années la tendance est tournée vers une intégration de plus en plus importante (nombre de transistors toujours plus important sur une même surface). Pourtant cela n'a pas empêché la baisse des prix, et il existe aujourd'hui des composants possédant une miryade de fonctions pour un prix dérisoire au regard de leurs performances. 1. STRUCTURE FONCTIONNELLE MATÉRIELLE 1.1 SCHÉMA GÉNÉRAL Tous les S.T.I. possède la même architecture matérielle (ou presque). Le schéma ci-dessous vous en donne une vue extrêmement simplifiée mais elle reste exacte et permet de bien comprendre comment s'agence tout ce petit monde. Unité de traitement Mémoire Vive Mémoire Morte Bus de commande Bus des données Bus d'adresse Interfaces Entrée/Sortie Schéma fonctionnel interne d'un microcontrôleur SRUCTURE FONCTIONNELLE MATÉRIELLE ET LOGICIELLE DES SYSTÈMES DE TRAITEMENT DE L'INFORMATION page 1/5

Unité de traitement : c'est elle qui effectue tous les calculs en fonction de ce qui est demandé dans le programme. La mémoire vive : c'est une mémoire fugitive qui perd les informations qu'elle contient lorsqu'elle n'est plus sous tension. Elle a cependant l'avantage d'être rapide. La mémoire morte : c'est une mémoire qui garde les informations qu'elle contient lorsqu'elle n'est plus sous tension. Elle a cependant l'inconvénient d'être lente. Elle contient le programme. Interfaces d'entrée -sortie : elles assurent la liaison entre l'unité centrale et le monde extérieur (adaptation des signaux). Bus de données : comme son nom l'indique, c'est par cette voie là que vont transiter les informations entre les différents organes. Il est commun à tout le monde. Mais plusieurs composants ne peuvent pas parler simultanément sur ce bus. Cela veut donc dire que la prise de parole sur le bus suit un ordre hiérarchique et que seulement deux composants peuvent dialoguer entre eux en même temps. Pendant ce temps les autres attendent. Même si cela peut paraître comme une limitation, elle est nécessaire car il est impossible de multiplier les bus de données. On devrait avoir dans ce cas un nombre de bus trop important, ce qui serait ingérable. De toute façon l'unité centrale ne peut tenir qu'une seule communication en même temps. Bus d'adresse : il indique l'endroit de destination des informations. Chaque composant possède sa propre plage d'adresse (voir plus bas). Bus de commande : il indique comment doit être traitée l'information. Par exemple pour une mémoire cela peut être une lecture ou une écriture. Chaque organe donné dans le schéma ci-dessus joue un rôle dans la fonction globale de traitement de l'information. Mais pour pouvoir dialoguer, il a besoin de bus. Ce sont tout simplement des fils sur lesquels vont transiter les signaux électriques porteurs de l'information. Ces signaux ont des caractéristiques bien déterminées en fonction de l'environnement du bus. A cela, il faut ajouter le protocole de dialogue utilisé pour que chacun puisse utiliser le bus de manière polie et non anarchique. Le tout constitue le bus. Dans le schéma on peut voir qu'il y a trois bus différents, qui ont chacun leur fonction. Ils sont bidirectionnels (c'est à dire que les informations circulent dans les deux sens) et ont une largeur (nombre de fils) dépendant de choix technologiques. Par exemple le microprocesseur pentium a un bus d'adresse de 32 bits, ce qui lui permet d'adresser jusqu'à 4 Go de mémoire vive (2 32 =4 Go). 1.2 FONCTIONNEMENT Le fonctionnement des systèmes numériques est schématiquement toujours le même, même si aujourd'hui il est de plus en plus complexe. Il suit les étapes suivantes : 1. Aller chercher l'instruction à exécuter dans la mémoire morte (qui est la mémoire de programme). 2. Aller chercher la (ou les) donnée(s) (si besoin car parfois ce n'est pas nécessaire) sur laquelle l'instruction doit opérer en mémoire vive. 3. Exécuter l'instruction. 4. Ranger le résultat dans la mémoire vive. 5. Recommencer. Cette suite d'opérations se répète jusqu'à la fin du programme. SRUCTURE FONCTIONNELLE MATÉRIELLE ET LOGICIELLE DES SYSTÈMES DE TRAITEMENT DE L'INFORMATION page 2/5

1.3 ESPACE D'ADRESSES Sauf execption et pour parler de manière générale, seule l'unité centrale engage le dialogue avec les différents organes du système. Pour les différencier et communiquer avec eux, il faut leur allouer ce que l'on appelle une plage adresse. C'est à dire qu'il faut leur donner un ensemble de nombres (qui sont des adresses) pour pouvoir dialoguer avec eux. Ainsi chaque système possède son propre plan d'adressage indiquant quelles adresses sont affectées à quelle composant. Exemple On suppose avoir un système doté d'un bus d'adresse de 20 bits (soit 65536). Pour le plan d'adressage, on utilise ce type de représentation : Autres périphériques EEPROM 2 8 ko EEPROM 1 8kO RAM 4 2kO RAM 3 2kO RAM 2 4kO RAM 1 4kO 0h7000 0h5000 0h3000 0h2800 0h2000 0h1000 0h0000 etc Première adresse de la RAM 2 Première adresse de la RAM 1 D'après le plan, on peut voir que le système possède 4 RAM dont 2 ont une capacité de 4 ko et 2 autres ayant une capacité de 2 ko. Elles serviront au rangement temporaire des données. Il y a aussi 2 EEPROM (Electrical Erasable Programmable Read Only Memory) de 8 ko chacune contenant le programme. Les autres adresses serviront à d'autres périphériques. Le choix de l'emplacement des différents composants dépend de contraintes particulières qui peuvent être liées au matériel ou au logiciel, le plan d'adressage aurait pu être complètement différent sans nuire au fonctionnement du système. SRUCTURE FONCTIONNELLE MATÉRIELLE ET LOGICIELLE DES SYSTÈMES DE TRAITEMENT DE L'INFORMATION page 3/5

2. STRUCTURE LOGICIELLE Qu'est ce qu'un langage informatique? C'est un codage particulier qui permet de faire le lien entre l'algorithme et le programme souhaité. Les machines fonctionnant grâce à un programme, ne comprennent qu'un seul langage : c'est le langage binaire qui n'est fait que de 0 et de 1. C'est ce qu'on appelle un langage de bas niveau (c'est meme le plus bas qu'il puisse y avoir). C'est donc le langage le plus proche de la machine mais difficilement compréhensible pour les humains (même très difficile!). En règle général, chaque système numérique (processeur et microcontrôleur) possède son propre langage binaire. Ce qui veut dire qu'il peut y avoir autant de langages qu'il y a de composants différents. Dans la réalité, chaque fabricant invente son propre langage et l'adapte sur plusieurs de ses produits. C'est pourquoi tous les microcontrôleurs de la marque ATMEL comprennent le même langage (on ne va pas réinventer la poudre à chaque fois...). Pour écrire des programmes il est absolument impossible de le faire en langage binaire, car si tel était le cas il faudrait des siècles pour pouvoir écrire n'importe lequel des programmes modernes actuels. La technique est donc d'utiliser des langages beaucoup plus évolués donc plus faciles à comprendre pour l'être humain. Le langage C, le C++, le Java, Perl, Python, etc sont autant d'exemple permettant de s'affranchir des contraintes de la programmation de bas niveau. Chacun possède une syntaxe et une grammaire particulière qui lui est propre (cependant on trouve souvent des ressemblances entre ces langages). Quel est alors le lien entre un langage de haut niveau et le langage binaire? La réalisation d'un programme suit toute une chaîne de développements permettant d'arriver à l'exécutable final (donc en langage binaire). Ces étapes sont au nombre de 3 et se déroulent de la manière suivante : l'édition : pendant cette phase, on écrit un fichier source dans un langage déterminé. C'est le plus souvent un fichier texte, mais cela peut aussi être un fichier graphique comme sous AUTOMGEN. La compilation : Pendant cette phase, le fichier source est transformé en fichier binaire par le biais d'un autre programme que l'on appelle compilateur. Le déboguage : avant d'implanter le programme il peut être nécessaire de le vérifier et de corriger les éventuelles erreurs (il est rare quand il n'y en ait pas). Pour cela on utilise un autre logiciel appelé débogueur et qui permet de simuler le programme. Les options que ces logiciels proposent permettent de cibler l'erreur beaucoup plus rapidement que de tâtonner jusqu'à tomber dessus (nous l'utiliserons aussi en TP). l'implantation: une fois que tout est terminé, il n'y a plus qu'à implanter le programme dans le système cible, c'est à dire un automate ou bien un microcontrôleur par le biais d'un câble. Le schéma donné en annexe vous résume tout le processus de création et de chargement d'un programme. SRUCTURE FONCTIONNELLE MATÉRIELLE ET LOGICIELLE DES SYSTÈMES DE TRAITEMENT DE L'INFORMATION page 4/5

ANNEXE Processus de création et de chargement d'un programme dans un système numérique programmable Fichier source Fichier binaire // Fichier écrit par moi #include <stdio.h> #include <conio.h> void main (void) { printf("le cours est génial!"); } // Fin du programme Compilation 110001100101001010 100101001001010010 101001010001111110 111110101000010111 010101101010010010 101001010100111000 010010111111110101 001011000000111111 111110010000011111 111101001001000101 010101001111111111 111111000001010101 11000001110011011 Déboguage Implantation dans le système cible SRUCTURE FONCTIONNELLE MATÉRIELLE ET LOGICIELLE DES SYSTÈMES DE TRAITEMENT DE L'INFORMATION page 5/5