Architecture de l'ordinateur

Voici un tuto sur l'architecture de l'ordinateur! 

 

Introduction au matériel et au système

 

Pour maîtriser son ordinateur, ou pour choisir un ordinateur, il est nécessaire d'en connaitre les mécanismes fondamentaux (architecture de l'ordinateur, architecture du microprocesseur et cycle d'exécution des instructions), et aussi d'en connaître certains aspects techniques.

 

Notions liées au thème de la séance :

  • Modèles conceptuels par couches d'abstractions du matériel, du système, des communications.
  • Architecture matérielle du processeur et de l'ordinateur (microprocesseurs, caches, RAM, ROM, bus, tampons, registres, etc.).
  • Organes d'un PC.
  • Choix d'une configuration PC.

Ne sont pas traitées ici les notions concernant :

  • Mécanismes de l'rchitecture matérielle pour accélérer les traitements (multiprocesseur, pipe line, parallélisme, etc.)
  • Architecture du système d'exploitation (interruptions, mémoire virtuelle, processus, multi tâches préemptif, etc.).
  • Architecture réseau (protocoles, débits, services, etc.)
  • Le matériel en tant que support des modèles de traitements et de données des langages de programmation.
  • Manipulations système : sortir d'un plantage, installer un logiciel ou le désinstaller, installer un périphérique, se connecter à internet, se brancher en réseau, etc...

Plan : Historique, les générations. - Modélisation par machines virtuelles - Machines virtuelles, modèle en couches - Du hard au soft - Autres modèles en couche : cycle du logiciel, réseaux - Architecture des ordinateurs - Processus d'exécution d'une instruction machine. - Architecture du processeur. - Architecture de l'ordinateur.
Compléments Organes d'un PC  - Unités informatiques - Glossaire - Bibliographie


 

Historique, les générations

 

L'histoire de l'informatique se structure en générations successives, correspondant à des innovations majeures dans l'évolution du matériel et du logiciel. Avant l'ordinateur électronique, il est de coutume de citer l'invention de l'écriture, vers -6000, le boulier chinois, et la machine de Pascal, en 1641. Coutume respectée...
Voici un essai de description shronologique des l'évolution des ordinateurs, en générations qui se chevauchent :

1ère génération

1946

ENIAC

Matériel :

lampes électroniques, MTBF -temps moyen entre deux pannes- de l'ordre du quart d'heure

Logiciel :

programmation en langage machine

Usage :

Calcul de tables pour la balistique, la bombe A, etc.

 

2ème génération "par lots"

1955

IBM 650

Matériel :

transistor et circuit imprimé

Logiciel :

système d'exploitation batch, programmation en assembleur, puis en FORTRAN

Usage :

Calcus numériques répétitifs

 

3ème génération"temps partagé"

1964

IBM 360, CDC 6000, puis miniordinateurs (PDP 11)

Matériel :

circuits intégrés, parallélisme dans l'exécution pour améliorer la vitesse

Logiciel :

compilateurs de langages de programmation : FORTRAN 56, Cobol 60, Algol 60, puis Basic 64, APL 69, Lisp, Pascal 69, C 70. Systèmes en temps partagé, miniordinateurs (OS Unix 1970)

Usage :

ordinateur central d'entreprise (mainframe), spécialisé gestion ou calcul

 

4ème génération "bureau personnel"

1976

microordinateurs Apple II (78), puis IBM PC (84)

Matériel :

microprocesseur VLSI (inventé en 1974 par Intel) : 1 MHz, 1Ko à 8 Ko de RAM

Logiciel :

applicatifs : tableur, texteur. OS mainframes mémoire virtuelle

Usage :

Microordinateur individuel de bureau. Services informatiques d'entreprise centralisés en infocentre

 

5ème génération "réseau local"

1984

Macintosh, stations Sun

Matériel :

microprocesseurs : 8 MHz, 512 Ko à 1 Mo de RAM

Logiciel :

(MSDOS) MacOS avec icônes et souris : métaphore du bureau

Usage :

microordinateur individuel familial et de bureau, apparition progressive de la mise en réseau local, politique de downsizing en entreprise

 

6ème génération "internet"

1992

PC Wintel

Matériel :

microprocesseurs : 33 MHz, 640 Ko à 4Mo de RAM (1992), 10M de transistors, 1GHz, 128Mo
super ordinateurs : 150 Gigaflops (Fujitsu VPP 700, 1999)

Logiciel :

butineur pour le web (1994), e-mail, mutimédia, jeux 3D

Usage :

Généralisation de l'ordinateur, tandis que la puisance de calcul donne accès au traitement d'images et de sons.
Web (1991, devient grand public en 1994)

 

next génération "invasif"

?

?

Matériel :

portable miniature, 3 GHz en 2003, sans fil,
et/ ou invisible : "intelligence ambiante" intégrée aux objets de la vie courante (exemple de la puce RFID) ?
super ordinateurs : Cray X1 52,4 Teraflops (début 2003) - 1 Pflops en 2010 ?

Logiciel :

entrée - sortie vocale ?
Assistance à l'utilisateur par des agents intelligents ?
Web sémantique ?

Usage :

Ne se plante plus ?
Concept d'objet - terminal d'internet ?
Complètement intégré à la vie quotidienne : technologie devenue invisible, présente quand nous en avons besoin, activée par des actions simples et intuitives...
Tout le monde apprend à pousser le mulot à l'école ?

L'avenir : les constructeurs nous vendront, comme dans les autres secteurs commerciaux, des produits de qualité, opérationnels, simples d'utilisation, dont la mise au point est achevée, et ne nous feront plus payer en supplément (sous forme de "nouvelle version") les corrections de leurs erreurs ? Document "voiture"
Date : du ressort de la science fiction.

La loi de Moore résume l'évolution accélérée : le nombre de transistors, donc la puissance, double tous les 18 mois à prix constant.
 


 

Couches d'abstraction

 

Un ordinateur, ensemble très complexe de matériel et de logiciel, se conçoit comme une hiérarchie d'abstractions appelées machines virtuelles. Cette hiérachie est aussi nommée modèle en couches. Chaque machine virtuelle possède son langage particulier, composé d'instructions. Ces instructions sont implémentées par la machine virtuelle de niveau inférieur, la couche inférieure, qui traduit ou interprête les instructions des couche supérieures en utilisant ses propres instructions ou services. De même chaque machine virtuelle fournit des services aux machines des couches supérieures.

Il est courant de présenter un modèle en sept couches :

couche n°
abstractions exemples  
6
applications
L 4G
Les logiciels de l'utilisateur
(tableur, SGBD, butineur, agenda, texteur,...)
software
5
langages de développement
L3G
Les "langages informatiques" dits de "haut niveau" :
C, C++, Java, Cobol, FORTRAN, Basic, VB, etc.
4
langages intermédiaires où chaque instruction symbolique correspond à une instruction de la
machine virtuelle sous jacente : ByteCode pour Java, PCode pour Pascal,
langage d'assemblage = représentation 'humaine' du LM
3
OS kernel Noyau du système d'exploitation, ajout par logiciel d'opérations
élémentaires au langage machine.
Gestion de la mémoire, des fichiers, de la mémoire virtuelle, du multi tâches, etc.
2
LM langage machine = opérations élémentaires
Le seul langage "compris" par la machine,
le langage natif, qui les rend les processeurs incompatibles entre eux
1
microprogrammes langage de programmation qui correspond exactement à l'architecture matérielle
où chaque bit d'instruction correspond à un dispositif matériel (porte,...).
Chaque instruction machine est exécutée comme une suite d'instructions microprogrammées
firmware
0
logique numérique

le « hard » ou circuiterie, lieu de rencontre de l'informatique et de l'électronique numérique
Intel Pentium, Celeron, Itanium - AMD Athlon, Duron - Motorola PowerPC - etc.

hardware

 


 

Du hard au soft

 

Une autre description plus détaillée des machines virtuelles permet de replacer les termes informatiques courants à leur niveau dans la pile de machines virtuelles et d'expliquer leur interdépendance :

software
du logiciel ...

  • assistance à l'utilisateur : agents intelligents
  • interface utilisateur : vocale, métaphore du bureau, icônes, souris, etc.
  • logiciel d'application : tableur, texteur, ludiciel, butineur, bases de données, etc.
  • environnement de développement : AGL, débogueur, etc.
  • logiciel de développement : compilateurs, éditeurs, SGBD, etc.
  • logiciel système utilisateur : TS, spool, etc.
  • langage de commande du système et du réseau : shell, JCL, etc.
  • langage de requêtes au système : SVC, macros
  • gestionnaire de ressources, comptabilité, etc.
  • gestionnaire de mémoire virtuelle : pagination, segmentation
  • gestionnaire des fichiers (SGF, FMS)
  • gestionnaire des entrées sorties (IOCS, BIOS)
  • ordonnanceur des tâches (scheduler)
  • synchonisation des tâches (primitives P et V sur sémaphores, etc.)
  • langage machine
  • entrées sorties physiques
  • interruptions (matérielles et logicielles)
  • microcode : langage lié au matériel (registres, portes, etc.)
  • architecture de l'ordinateur (bus, ram, rom, puces, etc.)
  • architecture logique des puces (portes, bus, etc.)
  • architecture physique des puces : VLSI...
  • support physique des puces : couches MOS
  • matériaux des circuits : silicium, etc.

... au matériel
hardware

Bien sur, dans les réalisations de machines du commerce, microordinateurs ou grands systèmes, toutes les couches d'abstraction ne sont pas forcément présentes, et la frontière entre les couches n'est pas partout très nette.

 


 

Autres modèles en couches d'abstraction 

 

Ce modèle "en couches d'abstraction" n'est pas propre au matériel et au système d'exploitation, elle se retrouve dans d'autres domaines de l'informatique, comme le génie logiciel, les réseaux, la compilation, etc.

Modèle du cycle de vie du logiciel :

Phases de développement

Phases de test

Etude de faisabilité

Recette sur site

Etude de besoins

Tests alpha et beta

Spécifications d'ensemble

Tests fonctionnels d'ensemble

Spécifications détaillées

Test de chaque fonction

Conception d'ensemble

Tests d'intégration

Conception unitaire

Tests unitaires

Codage

Modèle d'architecture des couches réseau :

Niveau Couche concerne

7

Application

sémantique des informations

6

Présentation

codage, cryptage

5

Session

session

4

Transport

message

3

Réseau

paquet

2

Liaison

trame

1

Physique

bit

 


 

Cycle d'exécution d'une instruction

 machine

 

Soit un programme en langage machine comportant à l'adresse "a" en mémoire l'instruction "accu <- not accu" provoquant l'inversion des bits de données contenues dans le registre accumulateur, interne au processeur. L'adresse de l'instruction à exécuter est à chaque instant contenue dans le registre "compteur ordinal" du processeur.

Dans un premier temps, le processeur va rechercher en mémoire l'instruction à exécuter :

 

Puis dans une seconde étape, l'instruction a exécuter va être chargée dans le "registre instruction" du processeur. C'est en fait le transfert du mot d'adresse "a" en mémoire vers le registre instruction :

Enfin dans une troisième phase l'instruction est décodée, pour connaitre son "code opération" et ses "parties adresses", puis exécutée :

 


 

Architecture des processeurs

 

Le processeur comporte en interne

  1. une UAL qui effectue les calculs commandés par les instructions,
  2. une unité de commande qui contrôle le cycle d'exécution des instructions,
  3. des registres accumulateurs pour présenter au processeur les données (ce sont des mémoires très rapides),
  4. un compteur ordinal, contenant systématiquement l'adresse mémoire de la prochaine instruction à exécuter,
  5. des bus pour le transfert des informations, larges d'un certain nombre de bits,
  6. des tampons, ou buffers, pour stocker temporairement les informations,
  7. etc.

Et le processeur communique avec le reste de l'ordinateur par des tampons internes, reliés à des bus externes.
Les transferts de données entre tampons se font toujours par un bus. L'accès au bus est commandé par des portes, activées par les signaux de validation des bus de contrôle.

Voici le schéma de principe de l'architecture d'un processeur :

 


Architecture des ordinateurs

Un ordinateur est composé d'un (ou plusieurs) processeur(s), de mémoires et d'interfaces (contrôleurs d'entrées-sorties). Dans l'ordinateur, le processeur accède aux mémoires et périphériques par des bus. En voici le bloc diagramme de principe, avec les trois bus de données, d'adresses et de contrôle :

Un ordinateur n'est alors qu'un assemblage de processeurs, de mémoires, de bus de données, de bus d'adresses, de tampons, de portes, de modules logiques et de signaux de contrôle.
Voici le schéma de principe de l'architecture d'un microordinateur à mots de 16 bits avec adressage sur 12 bits :


Les organes d'un PC de bureau - Grille

 de choix

La première question

Mac ou PC ? Fixe ou portable ? station d'accueil ?

Le minimum indispensable :

  • processeur (Intel ou AMD ? Pentium / Athlon ou Celeron / Duron ? combien de GHz ?)
  • RAM (2Go ?)
  • carte mère
    • quel modèle ?
    • bus 450/100 MHz ?
    • périphs combien de slots ISA, PCI ? combien de ports AGP, USB, USB2, UDMA, FireWare ?
    • chipset (lequel ?)
  • disque dur (IDE ou SCSI ? 160 à 500 Go ? 5200, 7500, 10500 tours ?)
  • lecteur de disquettes 3"1/2, lecteur/graveur CD (< 50x !) et DVD ?
  • carte vidéo (laquelle ? 32 Mo ?), carte son (laquelle ?), enceintes (stéréo ? 5.1 ?)
  • boitier (pizza ? mini tour ? moyen tour ? tour ? (quelles extensions futures ?) )
  • alimentation (200 W ? 300 W ? 400 W ? (quelles extensions futures ?) ), ventilateur(s) silencieux ?
  • moniteur (17" ? 19" ? pitch ? cristaux liquides ?), clavier, souris (optique, sans fil ?), tapis
  • OS (Windows ? Linux ?)
  • logiciels (suite bureautique : Microsoft ou OpenOffice ? et les autres logiciels ?), antivirus, firewall
  • contrat de maintenance (2 ans ? sur site ? pièces et main d'oeuvre ? hot line ?)
  • imprimante (jet d'encre ? laser ?), scanner, sauvegarde ( ?)
  • modem/routeur (ADSL ? câble ?)
  • réseau local (ethernet ? wifi ? CPL ?)

Le confort :

  • onduleur ?
  • carte tuner TV/radio ?
  • carte réseau (10/100/1000 Mbps ?) ou réseau sans fil BlueTooth ?
  • carte d'acquistion vidéo, appareil photo numérique ?

Quelques adresses pour chiffrer une configuration :
Les configurations de référence de Clubic http://www.clubic.com/article-13957-1-les-configurations-completes-de-reference.html
www.grosbill.com
www.officemedia.fr/AMD.htm
www.twing.fr
commerce.euro.dell/dellstore/config
www.eurisko.fr/configwizard

 


 

Les multiples et sous multiples des unités employées en informatique : 



J'ésperent que ce cours vous aura aidé!

Noter cette page

1/10 sur 2 votes

Sélectionnez une note dans le menu déroulant.
Dernière mise à jour de cette page le 12/06/2008

Créer un site internet gratuit avec E-monsite.com - Signaler un contenu illicite - Voir d'autres sites dans la catégorie Aide / Tutoriaux
Comment créer un site - Videos Droles - Clips musique - Cours création de site web