Première page
Page précédente
Page suivante
Dernière page
Réduire l’image
100%
Agrandir l’image
Revenir à la taille normale de l’image
Rotation antihoraire 90°
Rotation horaire 90°
Imprimer la page
- PAGE DE TITRE (Première image)
- [Avant-propos] (p.r5)
- [Table des matières] (p.r7)
- Chapitre I. Introduction aux ordinateurs (p.1)
- 1. Introduction historique : les précurseurs (p.1)
- 1.1. Machine à programme intérieur (p.2)
- 1.2. Machine à programme extérieur (p.2)
- 1.3. Machine à programme enregistré (p.3)
- 2. Présentation générale d'un ordinateur (p.3)
- 2.1. L'unité centrale et la mémoire centrale (p.3)
- 2.2. Les unités d'échange et les unités périphériques (p.4)
- 3. Principe du fonctionnement d'un ordinateur : présentation de Boulix (p.5)
- 3.1. Les registres (p.5)
- 3.2. La mémoire centrale (p.6)
- 3.3. Le programme (p.6)
- 3.4. L'unité arithmétique et logique (p.7)
- 3.5. L'unité de contrôle (p.8)
- 3.6. Le déroulement d'une instruction portant sur un opérande en mémoire (p.9)
- 3.7. L'instruction de rupture de séquence (p.11)
- 3.8. L'unité d'échange (p.11)
- 3.9. Les unités périphériques (p.11)
- 3.10. Les interruptions (p.13)
- 3.11. Configuration d'un système informatique (p.13)
- 4. Quelques ordres de grandeur (p.13)
- 5. Notions de hardware et de software (p.14)
- 5.1. Technologie (p.14)
- 5.2. Logique (p.14)
- 5.3. Architecture (p.14)
- 5.4. Langages (p.14)
- 5.5. Systèmes d'exploitation (p.15)
- 6. Introduction historique (suite) : les générations d'ordinateurs (p.15)
- 6.1. L'évolution de la technologie (p.15)
- 6.1.1. Miniaturisation (p.16)
- 6.1.2. Fiabilité (p.16)
- 6.1.3. Complexité (p.17)
- 6.1.4. Vitesse (p.17)
- 6.2. L'évolution de l'exploitation des ordinateurs (p.17)
- 6.2.1. Traitement séquentiel (p.17)
- 6.2.2. Traitement par lot (p.18)
- 6.2.3. Chargement continu (p.19)
- 6.2.4. Télétraitement (p.20)
- 6.2.5. Temps partagé (p.20)
- 7. Retour sur le rôle du système d'exploitation (p.20)
- 8. L'utilisation des ordinateurs (p.21)
- 8.1. Le calcul scientifique (p.22)
- 8.2. La gestion (p.22)
- 8.3. La conduite de processus (p.22)
- 8.4. Les systèmes conversationnels (p.23)
- Chapitre II. Structure de l'information. (p.25)
- 1. L'information digitale (p.25)
- 1.1. L'information digitale élémentaire (p.25)
- 1.2. Notion de codage (p.25)
- 1.2.1. Exemple : le code de l'hérédité (p.25)
- 1.3. Notion de code redondant (p.26)
- 1.3.1. Contrôle deux sur trois (p.27)
- 1.3.2. Contrôle de parité (p.27)
- 1.3.3. Codes autocorrecteurs de Hamming (p.27)
- 1.3.4. Codes auto vérificateurs de type n dont p (p.28)
- 1.3.5. Utilisation des codes redondants (p.28)
- 1.4. Taille des informations dans un calculateur (p.28)
- 1.4.1. Le caractère (p.28)
- 1.4.2. Le mot (p.28)
- 1.4.3. Machines caractères et machine mots (p.29)
- 1.5. Notion de contenant et de contenu (p.29)
- 2. La représentation des nombres (p.29)
- 2.1. Rappel sur les systèmes de numération (p.29)
- 2.2. Le système binaire (p.30)
- 2.3. En marge du système binaire (p.33)
- 2.3.1. Application aux codes de Hamming (p.33)
- 2.3.2. Les codes de Gray et le binaire réfléchi (p.34)
- 2.4. Numération octale et hexadécimale (p.35)
- 2.5. La représentation des nombres binaires négatifs (p.36)
- 2.6. La représentation des nombres décimaux (p.38)
- 2.7. Le format des nombres en machine (p.39)
- 2.7.1. La virgule fixe (p.39)
- 2.7.2. La virgule flottante (p.40)
- 2.7.3. Les chaînes décimales de longueur variable (p.41)
- 3. Le codage des informations non numériques (p.42)
- 3,1. Codage des caractères (p.42)
- 3.2. Codage des instructions (p.42)
- 4. L'organisation et la recherche des informations en mémoire (p.43)
- 4.1. Notions de tableau, de liste et de pointeur (p.43)
- 4.2. Notion de table (p.44)
- 4.3. Notion de file d'attente et de pile (p.45)
- 4.4. Notion de préfixe (p.46)
- 5. Éléments de langage machine (p.46)
- 5.1. Forme générale des instructions arithmétiques (p.46)
- 5.2. Le jeu d'instructions d'un calculateur (p.48)
- 5.3. Les différents types d'instructions (p.48)
- 6. Notions élémentaires sur la structure des programmes (p.52)
- 6.1. Calcul d'une expression arithmétique (p.52)
- 6.1.1. Programmation en langage machine (p.52)
- 6.1.2. Programmation en langage assembleur (p.53)
- 6.1.3. Programmation en langage évolué (p.54)
- 6.2. Notion de récurrence ; boucles, indices, registres d'index (p.54)
- 6.2.1. Gestion de boucle en langage évolué (p.54)
- 6.2.2. Gestion de boucle en langage assembleur (p.55)
- 6.2.2.1. Méthode par modification d'instruction (p.55)
- 6.2.2.2. Méthode par registre d'index (p.56)
- 6.3. Notion de sous-programme (p.57)
- 6.3.1. Sauvegarde de l'adresse de retour (p.57)
- 6.3.2. Transmission des arguments (p.58)
- 6.3.2.1. Transmission par registres (p.58)
- 6.3.2.2. Transmission par zone commune fixe (p.58)
- 6.3.2.3. Transmission par séquence d'appel (p.58)
- 6.3.2.4. Transmission par registre de base (p.58)
- 6.4. Notions d'invariance, réentrance et récursivité (p.59)
- 6.4.1. Notion d'invariance (p.59)
- 6.4.2. Notion de réentrance (p.59)
- 6.4.3. Notion de récursivité (p.60)
- Chapitre III. Les circuits logiques (p.61)
- 1. Généralités sur les circuits logiques (p.61)
- 1.1. Représentation électrique des signaux logiques (p.61)
- 1.1.1. Signaux logiques et analogiques (p.61)
- 1.1.2. Logique à niveau (p.62)
- 1.1.3. Logiques impulsionnelles (p.62)
- 1.2. Transmission série et transmission parallèle (p.63)
- 1.3. Circuits combinatoires et circuits séquentiels (p.64)
- 2. Eléments de l'algèbre de Boole (p.64)
- 2.1. Variables logiques (p.64)
- 2.2. Fonctions logiques (p.64)
- 2.3. Théorèmes fondamentaux de l'algèbre de Boole (p.66)
- 2.4. Génération et simplification des expressions booléennes (p.67)
- 2.4.1. Génération de l'expression représentant une fonction (p.67)
- 2.4.2. Simplification des expressions logiques (p.68)
- 2.4.3. Utilisation d'un nombre restreint d'opérateurs de base (p.69)
- 2.5. Le OU exclusif (p.70)
- 3. Concept d'automate fini (p.71)
- 3.1. Définition des états internes d'un automate fini (p.71)
- 3.2. Les fonctions de transition (p.71)
- 3.3. Exemples d'automates finis (p.72)
- 3.3.1. Elément de mémoire d'une position binaire (p.73)
- 3.3.2. Automate d'addition binaire série (p.73)
- 3.3.3. Automate diviseur de quatre (p.74)
- 3.4. Automates et circuits séquentiels (p.75)
- 4. Les circuits de base à semi-conducteur (p.75)
- 4.1. La diode ; les circuits ET et OU (p.76)
- 4.2. Le transistor bipolaire (p.77)
- 4.2.1. Opérateur complémentation (p.78)
- 4.2.2. Etages séparateur (p.78)
- 4.3. Systèmes logiques (p.79)
- 5. Les basculeurs (p.80)
- 5.1. Le bistable (p.80)
- 5.2. Le bistable R.S. (p.80)
- 5.3. Le bistable J.K. (p.82)
- 5.4. Le monostable (p.83)
- 5.5. La bascule (p.83)
- 6. Matrices de codage et décodage à diodes (p.84)
- 6.1. matrice rectangulaire de codage (p.84)
- 6.2. Matrice rectangulaire de décodage (p.85)
- 7. Les additionneurs (p.86)
- 7.1. Le demi-additionneur (p.86)
- 7.2. L'étage d'additionneur (p.87)
- 7.3. L'additionneur série (p.88)
- 7.4. Le soustracteur (p.89)
- 8. Les registres et les bus (p.90)
- 8.1. Les registres (p.90)
- 8.1.1. Opérations élémentaires sur les registres (p.90)
- 8.1.2. Transferts parallèles entre registres (p.90)
- 8.2. Les bus (p.91)
- 8.3. Le multiplexage (p.91)
- 9. Les registres spéciaux (p.92)
- 9.1. Les registres à décalage (p.92)
- 9.2. Les compteurs d'impulsion (p.93)
- 10. Logiques cellulaires (p.93)
- 10.1. Introduction aux logiques cellulaires (p.93)
- 10.1.1. Logiques cellulaires avec interconnexion à la demande (p.94)
- 10.1.2. Logiques cellulaires avec interconnexions fixes (p.94)
- 10.2. Logiques cellulaires à point de coupure (p.94)
- 10.3. Logiques cellulaires programmables (p.95)
- 10.3.1. Exemple 1 : logique cellulaire d'interconnexion (p.96)
- 10.3.2. Exemple 2 : Logique cellulaire d'évaluation des fonctions booléennes (p.96)
- 10.4. conclusions sur les logiques cellulaires (p.97)
- 11. Redondances des circuits et logiques majoritaires (p.98)
- Chapitre IV. Les mémoires (p.101)
- 1. Définition, classification terminologie (p.101)
- 1.1. Essai de définition (p.101)
- 1.2. Le point mémoire (p.101)
- 1.3. Classification technologique (p.102)
- 1.3.1. Les mémoires statiques (p.102)
- 1.3.2. Les mémoires à propagation (p.102)
- 1.3.3. Les mémoires dynamiques (p.102)
- 1.4. Caractéristiques des mémoires (p.102)
- 1.4.1. Volatilité (p.102)
- 1.4.2. Lecture et écriture (p.102)
- 1.4.3. Adressage (p.102)
- 1.4.4. Accès (p.103)
- 1.4.5. Temps d'accès (p.104)
- 1.4.6. Cadence de transfert (p.104)
- 1.4.7. Capacité (p.104)
- 1.4.8. Amovibilité (p.104)
- 1.5. La hiérarchie de mémoires (p.105)
- 1.5.1. Les niveaux hiérarchiques dans un système informatique (p.105)
- 1.5.1.1. Mémoires bloc-note (p.105)
- 1.5.1.2. Mémoire centrale ou principale (p.105)
- 1.5.1.3. Extensions de la mémoire centrale (p.105)
- 1.5.1.4. Mémoires de masse (p.105)
- 1.5.1.5. Mémoires fichier (p.106)
- 1.5.2. Domaine d'utilisation des différentes technologies de mémoire (p.106)
- 1.6. Les mémoires spécialisées (p.107)
- 1.6.1. Les piles et les files d'attentes câblées (p.107)
- 1.6.2. Les mémoires mortes (p.107)
- 1.6.3. Les mémoires associatives (p.107)
- 2. Les mémoires à tores (p.107)
- 2.1. Le fonctionnement du tore (p.108)
- 2.2. L'organisation des mémoires à tores (p.109)
- 2.2.1. Organisation par mot (ou organisation 2 D) (p.109)
- 2.2.2. Sélection par courants coïncident, type 3 D (p.110)
- 2.2.3. Sélection type 2 1/2 D (p.111)
- 2.2.4. Comparaison des divers types de sélection (p.112)
- 3. Les mémoires à semi-conducteurs (p.112)
- 4. Les mémoires associatives (p.113)
- Chapitre V. Les opérateurs arithmétiques et logiques. (p.116)
- 1. Classement des opérateurs arithmétiques (p.116)
- 2. L'unité arithmétique et logique élémentaire (p.117)
- 2.1. Les opérations logiques (p.118)
- 2.2. Les opérations de décalage (p.119)
- 2.3. Addition et soustraction binaires (p.120)
- 2.3.1. L'additionneur binaire et parallèle (p.120)
- 2.3.2. Addition accélérée (p.120)
- 2.3.3. Addition et soustraction de nombres algébriques binaires (p.121)
- 2.4. Unité arithmétique et logique pour Boulix (p.122)
- 3. Multiplication et division binaires (p.124)
- 3.1. Le multiplicateur séquentiel par addition - décalage (p.124)
- 3.2. Les techniques de multiplication rapide (p.126)
- 3.2.1. Amélioration de la technique par addition - décalage (p.126)
- 3.2.2. Multiplication parallèle cellulaire (p.126)
- 3. Division élémentaire par soustraction - décalage (p.128)
- 3.4. Division avec et sans restauration (p.130)
- 4. Les opérations décimales (p.131)
- 4.1. Le compteur décimal (p.132)
- 4.2. L'additionneur décimal parallèle (p.132)
- 5. Arithmétique binaire en virgule flottante (p.133)
- 5.1. Addition et soustraction en virgule flottante (p.134)
- 5.1.1. Les problèmes à résoudre (p.134)
- 5.1.2. Fonctionnement d'un opérateur d'addition flottante (p.135)
- 5.2. Multiplication et division en virgule flottante (p.137)
- Chapitre VI. Le chemin des données. (p.138)
- 1. Le cheminement des informations dans l'unité centrale (p.138)
- 1.1. Schématisation des transferts d'informations (p.138)
- 1.2. Description de l'unité centrale de Boulix (p.140)
- 1.3. L'instruction d'addition dans Boulix (p.141)
- 1.3.1. Recherche de l'instruction (p.141)
- 1.3.2. Recherche de l'opérande (p.143)
- 1.3.3. Réalisation de l'addition (p.144)
- 1.3.4. Préparation de l'instruction suivante (p.145)
- 1.3.5. Synthèse de l'addition (p.146)
- 1.4. L'instruction de rangement dans Boulix (p.146)
- 1.5. L'instruction de branchement inconditionnel dans Boulix (p.147)
- 1.6. Récapitulation des signaux de commande de Boulix (p.148)
- 2. Organisation et composants du chemin des données (p.150)
- 2.1. Définition du chemin des données (p.150)
- 2.2. Les registres du chemin des données (p.151)
- 3. Le cheminement des opérandes (p.152)
- 3.1. Schémas comportant une seule unité fonctionnelle (p.153)
- 3.1.1. Utilisation de registres montés en mémoire locale (p.153)
- 3.1 .2. Utilisation de registres arithmétiques indépendants (p.153)
- 3.1.3. Combinaison de registres indépendants et d'une mémoire locale (p.154)
- 3.1.4. Adaptation des unités fonctionnelles au format des opérandes (p.154)
- 3.2. Schémas comportant plusieurs unités fonctionnelles (p.154)
- 3.2.1. Spécialisation des unités fonctionnelles (p.154)
- 3.2.2. Opérations simultanées (p.155)
- 4. Le cheminement des adresses (p.155)
- 4.1. Les différents types d'adressage (p.155)
- 4.1.1. Adressage normal (direct et absolu) (p.156)
- 4.1.2. Adressage immédiat 156 4.1.3. Adressage indirect (p.156)
- 4.1.4. Adressage relatif (p.157)
- 4.1.4.1. Adressage par base et déplacement (p.157)
- 4.1.4.2. Adressage par rapport à l'adresse courante (p.158)
- 4.1.4.3. Adressage par page (ou par juxtaposition) (p.158)
- 4.1.4.4. Compléments sur l'adressage relatif (p.159)
- 4.1.5. Adressage indexé (p.159)
- 4.2. Relation entre les différents types d'adressage (p.160)
- 4.2.1. Préindexation et postindexation (p.160)
- 4.2.2. Combinaison des différents types d'adressage (p.160)
- 4.2.3. Récapitulation des types d'adressage dans un calculateur à registre (p.162)
- 5. L'évolution de l'architecture des chemins de données (p.162)
- 5.1. Machines de la deuxième génération (p.162)
- 5.1.1. Machine scientifique de la deuxième génération (p.162)
- 5.1.2. Machine de gestion de la deuxième génération (p.163)
- 5.2. Machines de la troisième génération (p.165)
- 5.2.1. Superboulix ou l'utilisation de registres banalisés (p.165)
- 5.2.1.1. Le chemin des données de Superboulix (p.165)
- 5.2.1.2. Premier exemple d'instruction et d'adressage Superboulix 1 (p.166)
- 5.2.1.3. Deuxième exemple d'instruction et d'adressage Superboulix 2 (p.168)
- 5.2.1.4. Quelques instructions dans Superboulix (p.169)
- 5.2.2. Machines mixtes scientifique et gestion (p.170)
- 5.2.2.1. L'adressage des mots et des caractères (p.170)
- 5.2.2.2. Les instructions de taille variable (p.171)
- 5.2.2.3. Le chemin des données des machines mixtes (p.171)
- 5.2.3. L'organisation des chemins de données dans une gamme de calculateurs compatibles (p.172)
- 5.2.3.1. Description succincte de la logique IBM 360 (p.172)
- 5.2.3.2. Chemins des données des différents modèles de la gamme IBM 360 (p.173)
- 5.3. Introduction aux méthodes d'accroissement des performances (p.173)
- 5.3.1. Le recouvrement des cycles mémoire (p.173)
- 5.3.2. Notions d'anticipation et d'antémémoire (p.177)
- 5.3.2.1. Anticipation explicite (p.177)
- 5.3.2.2. Anticipation implicite (p.178)
- 5.3.3. Fonctionnement d'opérateurs arithmétiques en parallèle (p.180)
- Chapitre VII. Le séquencement des instructions. (p.181)
- 1. Notion de séquenceur central (p.181)
- 1.1. Les entrées et les sorties du séquenceur (p.181)
- 1.2. Calculateurs synchrones et asynchrones (p.182)
- 1.3. Séquenceurs câblés et microprogrammés (p.182)
- 2. Séquenceur à logique câblée (p.183)
- 2.1. Principe du séquencement (p.183)
- 2.2. Le distributeur de phases (p.185)
- 2.3. Le décodage de l'instruction (p.187)
- 2.4. Les bistables d'état (p.188)
- 2.5. Le tracé des chronogrammes (p.188)
- 2.6. Les équations logiques (p.190)
- 2.7. Réflexions sur la conception des séquenceurs câblés (p.195)
- 3. Séquencement des opérateurs arithmétiques (p.195)
- 3.1. Méthodes générales (p.195)
- 3.2. Le séquencement d'un opérateur de multiplication par addition décalage (p.196)
- 4. La microprogrammation (p.198)
- 4.1. Définition et terminologie (p.198)
- 4.2. Structure de l'unité de contrôle des machines microprogrammées (p.199)
- 4.2.1. Le modèle de Wilkes (p.199)
- 4.2.2. La mémoire de contrôle (p.200)
- 4.2.3. Le codage des micro-instructions (p.201)
- 4.2.3.1. Le codage type instruction (p.201)
- 4.2.3.2. Le codage par champs (p.201)
- 4.2.4. L'adressage des micro-instructions (p.202)
- 4.2.4.1. L'adressage séquentiel (p.202)
- 4.2.4.2. L'adressage explicite (p.202)
- 4.2.5. Le cadencement dans les machines microprogrammées (p.203)
- 4.2.5.1. Le cadencement du déroulement d'une micro-instruction (p.203)
- 4.2.5.2. Le cadencement des appels des micro-instructions (p.204)
- 4.2.6. Notion de macromachine et de micromachine (p.204)
- 4.2.7. Machines partiellement microprogrammées (p.205)
- 4.2.8. Microprogrammation à deux niveaux (p.205)
- 4.3. Exemple de machine microprogrammée (p.205)
- 4.3.1. Le chemin des données et son contrôle microprogrammé (p.205)
- 4.3.2. Présentation de Microboulix (p.207)
- 4.3.3. Le microprogramme d'addition dans Microboulix (p.208)
- 4.4. Avantages et utilisations de la microprogrammation (p.210)
- 5. L'initialisation d'un ordinateur (p.210)
- Chapitre VIII. Les échanges d'information avec l'extérieur. (p.212)
- 1. Introduction (p.212)
- 1.1. Terminologie (p.212)
- 1.2. Introduction historique au concept de simultanéité entre traitement et entrées-sorties (p.213)
- 1.2.1. Mode bloqué. (p.213)
- 1.2.2. Mode par test d'état (p.214)
- 1.2.3. Mode par interruption de programme (p.214)
- 1.2.4. Mode automatique par suspension de programme (p.215)
- 1.2.5. Enchaînement automatique des transferts (p.215)
- 2. Concepts et techniques de base (p.216)
- 2.1. Notion d'interface (p.216)
- 2.1.1. Description d'une sortie d'information (p.216)
- 2.1.2. Description d'une entrée d'information (p.217)
- 2.2. Notion de multiplexage (p.217)
- 2.3. Lignes omnibus (p.218)
- 2.4. Regroupement et éclatement des informations (p.219)
- 2.5. Différentes techniques d'exécution du transfert élémentaire (p.219)
- 2.5.1. Transfert programmé (p.220)
- 2.5.2. Transfert par instruction forcée (p.220)
- 2.5.3. Transfert par vol de cycle (p.220)
- 2.5.4. Transfert par accès direct en mémoire (p.221)
- 2.5.5. Comparaison des différentes techniques de transfert élémentaire (p.222)
- 3. Les unités d'échange (p.222)
- 3.1. Liaison programmée (p.222)
- 3.2. Unité d'échange automatique : mode canal (p.225)
- 3.3. Chaînage des données (p.227)
- 3.4. Notion de programme canal (p.229)
- 3.5. Unité d'échange multiplexée dans le temps (p.232)
- 3.6. Unité d'échange multiplexée par blocs (p.235)
- 3.7. Notion de canal flottant (p.236)
- 3.8. Unités d'échange spécialisées (p.237)
- 4. Les unités de commande de périphériques (p.238)
- 5. Les interruptions prioritaires (p.239)
- 5.1. Généralités (p.239)
- 5.2. Description d'un système hiérarchisé d'interruptions prioritaires (p.241)
- 5.3. Prise en compte d'une interruption (p.242)
- 5.4. Instruction de commande du système d'interruption (p.243)
- 6. Influence du système d'entrée-sortie sur l'organisation générale des machines (p.243)
- 6.1. Unités d'échange et tailles de machine (p.244)
- 6.1.1. Petits ordinateurs (p.244)
- 6.1.2. Ordinateurs moyens (p.244)
- 6.1.3. Gros ordinateurs (p.245)
- 6.2. Organisation autour d'un bus unique (p.245)
- 6.3. Influence des entrées-sorties sur l'organisation des mémoires centrales dans les gros systèmes (p.246)
- Chapitre IX. Machines à piles. (p.248)
- 1. Machines à piles et langages évolués (p.248)
- 2. Principe et technique de réalisation des piles (p.249)
- 2.1. Mécanisme de la pile (p.249)
- 2.2. Gestion d'une pile implantée en mémoire (p.249)
- 2.3. Pile câblée (p.250)
- 2.4. Organisation d'une pile partiellement câblée (p.250)
- 3. Le calcul des expressions arithmétiques (p.251)
- 3.1. La notation polonaise (p.252)
- 3.2. Calcul d'expressions arithmétiques mises sous forme polonaise (p.252)
- 4. L'allocation dynamique de mémoire aux variables (p.254)
- 4.1. Rappel sur la structure des programmes ALGOL (p.254)
- 4.2. Affectation dynamique des mémoires dans une hypothèse restreinte (p.257)
- 4.2.1. L'adressage dans la pile (p.258)
- 4.2.2. La gestion de la pile (p.259)
- 4.3. Affectation dynamique des mémoires dans le cas général (p.260)
- 4.3.1. L'adressage dans la pile (p.262)
- 4.3.2. La gestion de la pile (p.262)
- 5. Compléments sur les machines à piles (p.263)
- 5.1. Relation entre la pile de calcul et la pile d'allocation dynamique (p.263)
- 5.2. Machines à préfixes et à piles (p.264)
- 5.2.1. Gestion de la pile câblée (p.264)
- 5.2.2. Adressage des procédures et des tableaux (p.264)
- 5.2.3. Transmission d'arguments par nom (p.265)
- 6. Retour sur les concepts de base, la classification et l'évolution des ordinateurs (p.266)
- 6.1. Les concepts de base (p.266)
- 6.1.1. Machinesfondées sur le concept d'opération (p.266)
- 6.1.2. Machines fondées sur le concept d'expression (p.266)
- 6.2. L'évolution des concepts (p.266)
- 6.2.1. Évolution des machines à registres (p.266)
- 6.2.2. Évolution des machines à piles (p.267)
- 6.3. Les autres machines digitales (p.267)
- Chapitre X. Les dispositifs liés à la gestion de la multiprogrammation. (p.268)
- 1. Les problèmes de la multiprogrammation (p.268)
- 1.1. Multiprogrammation sans interruption (p.269)
- 1.2. Multiprogrammation avec interruption (p.269)
- 1.3. Multiprogrammation en temps partagé (p.269)
- 2. Gestion de la mémoire centrale (p.270)
- 2.1. Les problèmes de translation d'adresse (p.271)
- 2.1.1. Utilisation par plusieurs programmes d'un segment commun (p.272)
- 2.1.2. Utilisation simultanée de plusieurs zones de données par un même programme (p.273)
- 2.2. L'implantation en mémoire centrale (p.274)
- 2.3. Les techniques de pagination avec topographie mémoire. (p.274)
- 2.3.1. Modèle simplifié de pagination (p.275)
- 2.3.1.1. L'organisation des mémoires (p.275)
- 2.3.1.2. Le dispositif de topographie de la mémoire centrale (p.277)
- 2.3.1.3. Technique d'adressage par registres associatifs (p.277)
- 2.3.2. L'adressage dans les systèmes à topographie mémoire incomplète (p.278)
- 2.3.3. Le remplacement des pages (p.279)
- 2.3.4. Pagination et segmentation (p.280)
- 2.3.4.1. Limitation des tables (p.280)
- 2.3.4.2. Utilisation de très grandes mémoires virtuelles (p.282)
- 2.3.5. Partage d'un programme dans un contexte paginé (p.283)
- 3. La protection des programmes et des données (p.283)
- 3.1. Protection des informations en mémoire centrale (p.284)
- 3.1.1. Le digit de protection (p.284)
- 3.1.2. Clé et verrou de protection (p.284)
- 3.1.3. Registres limites 285 3.1.4. Barre de verrouillage (p.285)
- 3.1.5. Cas des machines à piles (p.285)
- 3.1.6. Cas des machines paginées (p.285)
- 3.2. Protection des fichiers en mémoire auxiliaire (p.285)
- 3.3. Protection du fonctionnement de la machine (p.286)
- 4. Changement de contexte Lors des changements de programme (p.286)
- 4.1. Sauvegarde de l'état programme (p.287)
- 4.2. Sauvegarde des registres de la machine (p.287)
- Chapitre XI. Les gros monoprocesseurs. (p.289)
- 1. La course vers les hautes performances (p.289)
- 1.1. Les limitations de la technologie (p.290)
- 1.2. L'architecture des machines et les hautes performances (p.290)
- 2. L'architecture pipe-line (p.291)
- 2.1. Opérateurs pipe-line et opérateurs parallèles (p.291)
- 2.1.1. Structure pipe-line de l'opérateur d'addition flottante (p.292)
- 2.1.2. Organisation pseudo pipe-line de la mémoire centrale (p.292)
- 2.2. Notion de machine pipe-line (p.293)
- 2.2.1. Les problèmes de parallélisme (p.294)
- 2.2.1.1. Le contrôle du flot d'informations (p.295)
- 2.2.1.2. Les conflits de parallélisme : (p.296)
- - les conflits d'accès (p.296)
- - les conflits de dépendance (p.296)
- 2.2.1.3. Conclusion sur les problèmes de parallélisme (p.298)
- 2.2.2. Description générale d'une machine pipe-line (p.298)
- 2.3. Gestion de la mémoire centrale (p.302)
- 2.3.1. L'aiguillage des informations lues dans la mémoire (p.302)
- 2.3.2. La gestion des conflits d'accès au niveau des banks mémoire (p.303)
- 2.3.3. La gestion des priorités d'accès à la mémoire (p.304)
- 2.3.4. La gestion des problèmes de dépendance (p.305)
- 2.3.5. La gestion des accès multiples (p.305)
- 2.4. Gestion de la pile d'instructions (p.307)
- 2.4.1. L'unité d'instruction (p.307)
- 2.4.2. Les modes de fonctionnement de la pile d'instructions : (p.307)
- - initialisation (p.307)
- - fonctionnement normal (p.307)
- - discontinuité de fonctionnement (p.308)
- 2.5. Gestion d'une unité arithmétique : l'algorithme de Tomasulo (p.310)
- 2.5.1. La méthode du bit de verrouillage (p.311)
- 2.5.2. Critique de la méthode du bit de verrouillage (p.311)
- 2.5.3. Les dispositifs de base de l'algorithme de Tomasulo (p.313)
- 2.5.4. Description de l'algorithme de Tomasulo (p.315)
- 2.6. L'avenir de l'architecture pipe-line (p.317)
- 3. La hiérarchisation des mémoires (p.319)
- 3.1. Principe des mémoires centrales hiérarchisées (p.319)
- 3.2. Le concept d'extension de la mémoire centrale (p.320)
- 3.2.1. Transferts entre niveaux de mémoire (p.320)
- 3.2.2. Rôle respectif des deux niveaux de mémoire (p.321)
- 3.3. Le concept d'antémémoire dans une machine type von Neumann (p.321)
- 3.4. Le concept de mémoire tampon dans une machine à piles (p.324)
- 3.5. L'avenir des mémoires centrales hiérarchisées (p.324)
- Chapitre XII. Multiprocesseurs et machines parallèles (p.326)
- 1. Définitions et concepts de base (p.326)
- 1.1. Concepts de multitraitement et de parallélisme explicite (p.326)
- 1.1.1. Concept de multitraitement : les multiprocesseurs (p.326)
- 1.1.2. Concept de parallélisme explicite : les machines parallèles (p.327)
- 1.2. Relations entre différents concepts (p.327)
- 1.2.1. Parallélisme explicite et formes implicites de parallélisme (p.327)
- 1.2.2. Multitraitement et multiprogrammation (p.327)
- 1.2.3. Multitraitement et simultanéité des entrées-sorties (p.328)
- 1.2.4. Multitraitement et multiprocesseurs (p.328)
- 1.2.5. Multiprocesseurs et multi-opérateurs (p.328)
- 1.2.6. Multiprocesseurs et multicalculateurs (p.328)
- 1.2.7. Récapitulation sur les structures à hautes performances (p.328)
- 2. Les multiprocesseurs (p.329)
- 2.1. Les différents types de multiprocesseurs (p.330)
- 2.1.1. Systèmes à processeurs identiques (p.330)
- 2.1.2. Systèmes à processeurs spécialisés (p.330)
- 2.1.3. Multiprocesseurs modulaires décomposés (p.330)
- 2.2. Les problèmes généraux des multiprocesseurs (p.330)
- 2.2.1. L'accroissement des performances (p.330)
- 2.2.2. L'augmentation de la disponibilité (p.330)
- 2.2.3. Les problèmes d'interconnexions (p.331)
- 2.2.4. Les communications entre processeurs (p.331)
- 2.3. Les systèmes multi-unités centrales (p.331)
- 2.3.1. Interconnexions entre processeurs et mémoire centrale (p.332)
- 2.3.1.1. Interconnexion par lignes olnnibus (p.332)
- 2.3.1.2. Interconnexion matricielle (p.332)
- 2.3.2. Intercommunication par l'intermédiaire de la mémoire (p.333)
- 2.3.3. Interconnexions entre processeurs et unités d'échange (p.334)
- 2.3.3.1. Solution avec processeurs et unités d'échange couplés deux à deux (p.334)
- 2.3.3.2. Solution avec un processeur maître (p.335)
- 2.3.3.3. Solution avec processeurs et unités d'échange banalisés (p.335)
- 2.3.4. Performances (p.336)
- 2.3.5. Partitionnement et reconfiguration (p.337)
- 2.4. Les multiprocesseurs par partage des circuits d'une unité centrale (p.337)
- 2.5. Les systèmes avec processeurs spécialisés (p.338)
- 2.6. Les multiprocesseurs modulaires (p.340)
- 2.7. Les multiprocesseurs modulaires décomposés (p.341)
- 2.7.1. Systèmes à hautes performances et haute disponibilité (p.341)
- 2.7.2. Systèmes à très haute disponibilité (p.343)
- 3. Les machines à parallélisme explicite (p.345)
- 3.1. Les machines à programmes maillés (p.345)
- 3.2. Les machines cellulaires (p.346)
- 3.2.1. Machines à contrôle centralisé et machines à contrôle distribué (p.346)
- 3.2.2. L'organisation de Salomon (p.346)
- 3.2.3. Illiac IV (p.348)
- 3.2.3.1. Présentation générale (p.348)
- 3.2.3.2. Instructions et adressage (p.348)
- 3.2.3.3. Contrôle local (p.349)
- 3.2.3.4. Partitionnement des processeurs (p.349)
- 3.2.3.5. Partitionnement de la matrice (p.349)
- 3.2.3.6. Organisation de la mémoire (p.349)
- 3.2.3.7. Interconnexions (p.350)
- 3.2.4. L'avenir des machines cellulaires (p.350)
- Chapitre XIII. La micro-informatique. (p.353)
- 1. Notion de microprocesseur et micro-ordinateur (p.353)
- 2. Description générale d'un micro-ordinateur (p.354)
- 3. Les composants d'un micro-ordinateur (p.355)
- 3.1. Le microprocesseur (p.355)
- 3.2. Les mémoires (p.356)
- 3.3. Les processeurs d'entrée-sortie (p.357)
- 4. Les microprocesseurs en tranches (p.358)
- 5. Le devenir de la micro-informatique (p.358)
- Chapitre XIV. L'évolution de l'architecture des systèmes (p.360)
- 1. Les gammes traditionnelles des grands constructeurs (p.360)
- 2. Les mini-ordinateurs (p.361)
- 3. Les architectures de réseau et les concepts de systèmes distribués (p.362)
- 3.1. Les réseaux de transport (p.363)
- 3.2. Les participants à un réseau (p.364)
- 3.3. Concepts standard pour les réseaux paquets (p.365)
- 3.4. Concepts de systèmes distribués (p.366)
- 3.5. Concepts de réseaux locaux (p.366)
- 4. La gestion des hiérarchies de mémoire (p.367)
- 4.1. Principe de la gestion automatique d'une hiérarchie de mémoire (p.367)
- 4.2. Les concepts de la pagination (p.367)
- 4.3. Calcul de l'adresse réelle (p.368)
- 4.4. Gestion des échanges entre mémoire virtuelle et mémoire réelle (p.369)
- 4.5. Quelques exemples d'application du concept de pagination (p.370)
- 4.5.1. L'approche « anté-mémoire » (p.370)
- 4.5.2. L'approche mémoire virtuelle traditionnelle (p.371)
- 4.5.3. L'approche mémoire imaginaire, mémoire physique (p.371)
- 4.6. Evolution des hiérarchies de mémoire (p.373)
- 5. Les machines à très hautes performances (p.373)
- 6. Machines associatives (p.375)
- Glossaire et index (p.376)
- Lexique anglais-français (p.399)
- Dernière image
4. 4. Avantages et utilisations de la microprogrammation.
Etablissant un pont entre le hardware et le software, la microprogrammation permet une simplification du premier tout en lui conférant une souplesse qui était jusqu’à présent réservée au second.
Récapitulons les avantages que l’on peut attendre de ces deux qualités, simplification et souplesse, lorsque l’on compare une structure microprogrammée à une structure câblée.
— La simplification entraîne une diminution du coût du matériel, de l’étude, de la maintenance et du dépannage, ainsi qu’une meilleure fiabilité intrinsèque.
— La souplesse ouvre la voie à de multiples possibilités :
(1) Etude plus rapide car pouvant être remise en cause : on peut facilement ajouter ou modifier une instruction, alors que dans un système câblé il faudrait reprendre tout le séquenceur.
(2) Extension ou modification du code instructions prévu par le constructeur et notamment personnalisation de ce code pour chaque type d’application ou pour chaque utilisateur.
(3) Possibilité d’instructions complexes souvent appelées super-instructions généralement réalisées sous forme de sous-programmes dans les calculateurs traditionnels. Par exemple instructions orientées vers la compilation, voire même microprogrammation partielle de compilateurs.
(4) Possibilité d’émuler ou de simuler un calculateur quelconque sur un calculateur microprogrammé par l’utilisation d’un jeu d’instructions spécial. Les techniques d’émulation permettent notamment d’utiliser les programmes conçus pour un calculateur de la génération précédente sur un calculateur de la nouvelle génération lorsqu’ils ne sont pas compatibles. La mémoire morte d’émulation est laissée à l’utilisateur pendant la période de reconversion de ses programmes. La simulation, au contraire, permet d’étudier une nouvelle machine et de développer son software avant qu’elle ne soit effectivement réalisée.
(5) Aptitude à la conception d’une gamme compatible dans laquelle les machines du bas de gamme sont microprogrammées et celles du haut de gamme câblées. Les micromachines correspondantes posséderont pour le même code instructions, c’est-à-dire la même macromachine, des chemins de données de plus en plus simples à mesure que l’on descend dans la gamme, ce qui correspond à un gain sur le prix de revient et une perte sur les performances. La série IBM 360 en est un excellent exemple.
Enfin la microprogrammation n’est pas réservée aux unités centrales. Elle peut être utilisée également pour la commande des opérateurs arithmétiques indépendants, le séquencement des unités d’échange et des unités de commande de périphériques.
5. L’initialisation d’un ordinateur.
Pour lancer manuellement un programme précédemment enregistré en mémoire, l’ordinateur étant à l’arrêt, il suffit d’afficher sur les clés placées
210
Le texte affiché peut comporter un certain nombre d'erreurs. En effet, le mode texte de ce document a été généré de façon automatique par un programme de reconnaissance optique de caractères (OCR). Le taux de reconnaissance estimé pour cette page est de 99,89 %.
La langue de reconnaissance de l'OCR est le Français.
Etablissant un pont entre le hardware et le software, la microprogrammation permet une simplification du premier tout en lui conférant une souplesse qui était jusqu’à présent réservée au second.
Récapitulons les avantages que l’on peut attendre de ces deux qualités, simplification et souplesse, lorsque l’on compare une structure microprogrammée à une structure câblée.
— La simplification entraîne une diminution du coût du matériel, de l’étude, de la maintenance et du dépannage, ainsi qu’une meilleure fiabilité intrinsèque.
— La souplesse ouvre la voie à de multiples possibilités :
(1) Etude plus rapide car pouvant être remise en cause : on peut facilement ajouter ou modifier une instruction, alors que dans un système câblé il faudrait reprendre tout le séquenceur.
(2) Extension ou modification du code instructions prévu par le constructeur et notamment personnalisation de ce code pour chaque type d’application ou pour chaque utilisateur.
(3) Possibilité d’instructions complexes souvent appelées super-instructions généralement réalisées sous forme de sous-programmes dans les calculateurs traditionnels. Par exemple instructions orientées vers la compilation, voire même microprogrammation partielle de compilateurs.
(4) Possibilité d’émuler ou de simuler un calculateur quelconque sur un calculateur microprogrammé par l’utilisation d’un jeu d’instructions spécial. Les techniques d’émulation permettent notamment d’utiliser les programmes conçus pour un calculateur de la génération précédente sur un calculateur de la nouvelle génération lorsqu’ils ne sont pas compatibles. La mémoire morte d’émulation est laissée à l’utilisateur pendant la période de reconversion de ses programmes. La simulation, au contraire, permet d’étudier une nouvelle machine et de développer son software avant qu’elle ne soit effectivement réalisée.
(5) Aptitude à la conception d’une gamme compatible dans laquelle les machines du bas de gamme sont microprogrammées et celles du haut de gamme câblées. Les micromachines correspondantes posséderont pour le même code instructions, c’est-à-dire la même macromachine, des chemins de données de plus en plus simples à mesure que l’on descend dans la gamme, ce qui correspond à un gain sur le prix de revient et une perte sur les performances. La série IBM 360 en est un excellent exemple.
Enfin la microprogrammation n’est pas réservée aux unités centrales. Elle peut être utilisée également pour la commande des opérateurs arithmétiques indépendants, le séquencement des unités d’échange et des unités de commande de périphériques.
5. L’initialisation d’un ordinateur.
Pour lancer manuellement un programme précédemment enregistré en mémoire, l’ordinateur étant à l’arrêt, il suffit d’afficher sur les clés placées
210
Le texte affiché peut comporter un certain nombre d'erreurs. En effet, le mode texte de ce document a été généré de façon automatique par un programme de reconnaissance optique de caractères (OCR). Le taux de reconnaissance estimé pour cette page est de 99,89 %.
La langue de reconnaissance de l'OCR est le Français.



