Next: Résumé #2: Le rôle
Up: Résumés de Organisation et
Previous: Résumés de Organisation et
À lire: pp. 1 à 41.
- Approche hiérarchique et abstraction: Principes fondamentaux
pour comprendre et maîtriser le développement de systèmes
complexes.
- Abstraction = Description simplifiée d'un système mettant
l'emphase sur les aspects essentiels (QUOI?) et ignorant certains
autres (COMMENT?).
- Approche hiérarchique = Décomposition d'un système en
plusieurs couches, où la couche supérieure utilise/communique avec
la couche inférieure via une interface bien définie (QUOI?), la
couche inférieure dissimulant ainsi de nombreux détails de mise en
oeuvre (COMMENT?) à la couche supérieure.
- La présence de plus en plus grande des ordinateurs est liée
à l'amélioration fulgurante des performances, amélioration qui a
rendu possible de nombreuses nouvelles utilisations et
applications. Étant donné la complexité de ces applications,
elles n'ont pû être développées, du point de vue logiciel, que
par l'utilisation de langages de haut niveau.
- Analogie avec moyens de transport: Si les automobiles avaient
subi des améliorations du même ordre que les ordinateurs, une
Ferrari coûterait $5.50, aurait une consommation d'un litre
d'essence aux
km et pourrait stationner sur une tête
d'épingle.
- Première abstraction du niveau du matériel (description
abstraite de l'organisation interne d'un ordinateur) = Les 5
composants d'un ordinateur: Contrôle et chemin de données
(processeur), mémoire, entrées, sorties.
- Chacun de ces composants est lui-même une abstraction
(approche hiérarchique): chemin de données = registres, UAL, bus,
etc.; mémoire = cache, mémoire vive, mémoire virtuelle; UAL =
composants électroniques, e.g., portes ET, OU, multiplexeurs; porte
ET = transistors, résistances, ...; etc.
- Autre abstraction fondamentale du niveau matériel =
Architecture du jeu d'instructions:
- Jeu d'instructions = Ensemble des instructions machines, de
leurs modes d'adressage, etc.
- Sert d'interface entre le matériel et le logiciel: définit
tout ce que les programmeurs doivent savoir pour faire fonctionner
correctement un programme en langage machine.
- Permet une variété de mises en oeuvres de la même
architecture avec des coûts et des performances variables (famille
d'ordinateurs).
- La distinction entre architecture et mise en oeuvre fut
introduite dans les années 60 par IBM, lors du développement de la
famille d'ordinateurs IBM Système 360. Les divers modèles de cette
famille d'ordinateurs étaient tous compatibles entre eux (même jeu
d'instructions), avec des prix variant selon les performances et
capacités et avec des possibilités de mise à jour (
upgrade).
- L'évolution des circuits intégrés est le facteur ayant eu l'influence la plus importante sur le développement des ordinateurs:
- Les générations d'ordinateurs sont essentiellement fonction
du type de circuits utilisés:
- Caractéristiques des diverses technologies:
- Tube à vide: Fiabilité faible pcq. ampoule, donc tendance
à ``brûler'' et consommant une grande quantité d'énergie.
- Transistor: Même rôle qu'un tube à vide mais plus petit,
moins cher, plus fiable (circuit solide) et dissipant moins de
chaleur.
- Circuit intégré: Incorpore des dizaines/centaines de
transistors sur une même puce.
- ITGE (VLSI) = Intégration à Très Grande Echelle
(Very Large Scale Integration): Intègre des milliers/millions
de transistors sur une même puce.
- Grosso modo, depuis un certain nombre d'années:
- La densité des puces est multipliée par 4 à tous les 3
ans.
- La vitesse des UCs est multipliée par 2 à tous les 3 ans.
- Le prix est divisé par 10 entre l'introduction et le retrait
d'une puce.
- Effet de l'évolution technologique:
- Mémoire: Augmentation de la capacité des mémoires (nombre
d'octets) réalisés sur une seule puce et diminution des temps
d'accès.
- Processeur:
- Augmentation de la largeur des chemins de données: processeurs
8 bits (1972), 16 bits (1978), 32 bits (1984), 64 bits (1992).
- Modification de l'organisation interne des machines de façon
à profiter de l'espace rendu disponible par la miniaturisation des
circuits: utilisation de pipelines pour augmenter le débit,
incorporation de caches pour diminuer le temps d'accès à la
mémoire, etc. En d'autres mots, on peut se permettre d'ajouter, pour
une puce d'une taille donnée, des éléments (du matériel)
visant à améliorer les performances.
- Malgré les progrès technologiques, il est quand même
important de faire des bons choix de conceptions: Le coût d'une puce
est proportionnel, grosso modo, au cube de sa surface. L'ajout
d'instructions, de caractéristiques additionnelles ou
d'optimisations du matériel nécessite un plus grand nombre de
circuits, i.e., une puce avec une surface plus grande. Pour une puce
d'une superficie donnée (pour un budget puce donné), l' espace
doit donc être utilisé à bon escient. (De plus les
compétiteurs profitent aussi des mêmes progrès technologiques!)
Next: Résumé #2: Le rôle
Up: Résumés de Organisation et
Previous: Résumés de Organisation et
Guy Tremblay
Tue Aug 27 14:04:33 EDT 1996