Architecture de machines Principes généraux Cours 2003-2004 L ’informatique ? Système automatique de traitement de l ’information – INFORmation autoMATIQUE Principales utilisations – – – – Calcul scientifique haute performance Stockage d ’informations Analyse de données Simplification des tâches quotidiennes • Bureautique • Gestion d’automatismes – Utilisation domestique ... Les traitements Programme Données Traitement Résultat L ’architecture de Von Neumann 5 composants pour un ordinateur Unité arithmétique et logique Mémoire centrale Unité de sortie Unité de commande Unité d’entrée Mémoire UAL Données & Programmes Unité de commande Principaux composants réels Microprocesseur – Réalise les traitements : UAL + Unité de contrôle La mémoire centrale – Stocke le programme et les données Les périphériques d ’entrée/sortie – Clavier, souris, écran – Mémoires de stockage • Disques Durs, CD-ROM, DVD, Disquette – Périphériques divers • Carte son, réseau, décodage vidéo, … Le Chipset qui relie tous ces éléments (ou leurs contrôleurs) sur la carte mère – Création des BUS : liens partagés entre composants – Fonctions variables suivant les modèles Circulation de l ’information L ’information circule entre les éléments sur des BUS 1 4 Mémoire UAL 3 Données 5 3 & Programmes 2 Unité de commande Les horloges Cadencent les échanges – Fréquence d’horloge: Changements possibles d’état par seconde • 1 changement = 1 Hertz • 1 Milliard de changements = 1 GigaHertz Cadence les échanges d ’information et les traitements – Vitesse du microprocesseur : • opérations/seconde (en théorie) – Vitesse des bus de l ’ordinateur • Transferts par seconde • Information parfois non binaire (regroupement de 2n bits/Transfert) Les technologies de codage Adaptation de l’information – Création de codes pour les traitements (internes) – Création de codes pour les échanges • Rich Text Format • DXF, EML, … Codage de données – Cryptographie (RSA, DES,…) – Compression • Sans perte (zip, gif,…) • Avec perte (mp3, jpeg,mpeg,…) 01001100011100 Les systèmes d’exploitation Permettent de relier le matériel, les logiciels et l’utilisateur – Pilotes permettant de piloter les fonctions du matériel (drivers) – Interface graphique permettant la gestion du dialogue Evolution de l’interface texte vers l’interface graphique Exemples de SE: – Windows – Mac OS – Dérivés d’Unix: Linux, FreeBSD, Solaris, HP/UX Les langages de programmation Code source: – Programme écrit dans un langage par le programmeur – Non exécutable tel quel par le processeur 2 stratégies de conversion vers un code exécutable – Langages compilés • Algorithme codé -> Code exécutable AVANT exécution – Code placé de manière statique ou dynamique – Liaison avec des bibliothèques dynamiques (.so, .dll, … ) • Pascal, C, C++ – Langages interprétés • Algorithme codé transformé LIGNE A LIGNE en langage machine par un interpréteur • Visual Basic, Php, Shell Unix Cas particulier : – Langage machine • Instructions du microprocesseur • Langages « Assembleur » dépendant du microprocesseur : Familles de processeurs – JAVA • Compilé puis interprété (Java Virtual Machine) Un ordinateur ? Machine programmable – Utilisation d’algorithmes transcrits dans des langages de programmation Machine à mémoire – Permet de stocker/retrouver de l’information Machine intelligente ? – Evolution des systèmes vers des modes de raisonnement de plus en plus complexes Les différents types d’ordinateurs Facilité d’utilisation Postes de travail Stations de travail Serveurs Puissance (Calcul/Stockage)