Cours structure d’un ordinateur, tutoriel & guide de travaux pratiques en pdf.
Exécution d’une instruction (1/2)
1. Charger la prochaine instruction à exécuter depuis la mémoire dans le registre instruction
2. Modifier le compteur ordinal pour qu’il pointe sur la prochaine instruction
3. Décoder l’instruction que l’on vient de charger
4. Localiser en mémoire d’éventuelles données nécessaires à l’instruction
5. Charger, si nécessaire, les données dans les registres généraux
6. Exécuter l’instruction
7. Revenir à l’étape 1
Exécution d’une instruction (2/2)
Instructions simples ou complexes et performances (1)
– 1ers ordinateurs: instructions simples et en nombre limité Mais…
– Besoin de puissance et de performance conduisit à des instructions de plus en plus complexes et nombreuses:
par exemple instructions arithmétiques « en virgule flottante » (manipulation de nombres « réels »), manipulation de chaînes de caractères, de tableaux (« vecteurs », « matrices »,…)
instructions complexes plus efficaces que des suites d’instructions simples équivalentes, car possibilité de les exécuter en parallèle grâce à quelques composants additionnels (circuits), moyennant un certain coût supplémentaire du matériel.
Idée de « famille d’ordinateurs » (IBM): compatibilité de langages sur des machines différentes, plus ou moins efficaces
= Origine de la notion d’ « architecture » (une même architecture pour différentes implémentations matérielles).
Possibilité d’exécuter un même programme sur différentes machines, efficacité selon prix.
Instructions simples ou complexes et performances(2)
Idée d’ « interprétation »:
Permet de concevoir des ordinateurs simples et bon marché, mais permettant d’exécuter des instructions complexes
Exemple: gamme IBM 360, ordinateurs compatibles entre eux, mais large gamme de prix et performances (ceux qui interprètent les instructions complexes directement par le matériel étant les plus chères)
Avantages:
– Indépendance entre définition d’instructions complexes et implémentation
– Ajout possible d’instructions complexes après coup avec faible coût
– Structuration efficace du développement, test et documentaion des instructions complexes.
– Masquage possible de certains défauts du matériel
Facteur d’encouragement:
– Arrivée des ROM (Read Only Memory) pour réaliser des « mémoires de commande » contenant les instructions de l’interpréteur (micro-instructions). Accès rapide et relativement bon marché.
RISC versus CISC
Jeux d’instructions réduites vs complexes
– RISC = Reduced Instruction Set Computer
– CISC = Complex Instruction Set Computer
Tendance jusqu’en 1980: CISC
– IBM, Intel, Motorola, …
Dès 1980: RISC (initié par IBM !!!)
– John Coke (IBM)
– David Petterson und Carlo Séquin (Berkeley)
– Hennessy (Stanford): MIPS und SPARC (Sun !)
Aujourd’hui
– CISC: Pentium (Intel), …
– RISC: PowerPC (Motorola, IBM, Apple), Alpha (DEC), …
2.1 Processeur ou unité centrale (CPU)
2.1.1 Organisation du CPU
2.1.2 Exécution d’une instruction
2.1.3 RISC versus CISC
2.1.4 Principes de conception des ordinateurs
2.1.5 Parallélisme des instructions
2.1.6 Parallélisme du processeur
2.2 Mémoire principale
Bits, Adresses mémoire, Organisation des octets, Codes correcteurs d’erreurs, Mémoires cache, Conditionnement physique
2.3 Mémoires secondaires
Hiérarchie de mémoire, Disques durs, Disques souples, Disques IDE, SCSI, RAID, CD-x, DVD-x
2.4 Entrée / Sortie (E/S)
Bus, Terminaux, Souris, Imprimantes, Modems, Codification des caractères