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
immédiat. Sinon, l’enregistrement sera — après le temps d'accès dû à la rotation du disque — chargé simultanément en mémoire principale et dans l’antémémoire des disques.
4. 5. 2. L’approche mémoire virtuelle traditionnelle. L’utilisateur travaille sur un niveau de mémoire avec la technique d’adressage propre à ce niveau de mémoire sans avoir à connaître que cette mémoire est probablement insuffisante eu égard à son espace d’adressage et que ses données sont en réalité implantées dans une mémoire plus grande et plus lente. C’est le système de mémoire virtuelle décrit au chapitre X actuellement utilisé entre mémoire centrale et mémoire à disques. Les techniques utilisées pour la transformation d’adresse restent d’une part la table directe implantée en mémoire centrale, d’autre part la table inverse (topographie) ou des techniques de fonction au niveau des processeurs permettant une recherche rapide de l’adresse réelle. L’algorithme de gestion des échanges de page par contre a connu de nombreuses évolutions dues aux chutes de performances introduites par la pagination : les systèmes d’exploitation modernes assurent une gestion de la pagination de plus en plus complexe pour éviter toute situation où le système ne fait plus qu’échanger des pages, en tenant compte de la structure des programmes et données, des espaces réels moyens nécessaires pour chaque programme, etc. Les techniques de mémoires virtuelles de ce type se sont étendues à une grande quantité de machines, mini-ordinateurs compris, sachant que certains constructeurs restent partisans de méthodes de segmentation qu’ils estiment suffisamment plus performantes pour imposer des limitations de taille d’objet à leurs utilisateurs, ou encore pour faire faire automatiquement la segmentation par le compilateur.
Cette technique de mémoire virtuelle est également utilisée pour la gestion de mémoires fichiers à cartouches magnétiques : l’utilisateur adresse des disques (espace réel) avec une capacité de fichiers beaucoup plus grande que les disques physiques existants dans le dispositif ; les données sont en fait emmagasinées sur les cartouches magnétiques (espace virtuel) qui sont automatiquement sélectionnées, portées par un bras mécanique sur le système de lecture-écriture échangeant avec les disques, puis rangées à nouveau à leur emplacement.
4. 5. 3. L’approche mémoire imaginaire, mémoire physique. Cette approche consiste à implanter dans une mémoire physique (disques par exemple) un espace imaginaire (espace d’objets connus par leurs noms, grand espace d’adresse...) en utilisant une technique de pagination. Elle est utilisée soit au niveau du logiciel, soit au niveau de la microprogrammation dans les machines orientées bases de données ou langages, pour la manipulation de grands ensembles de données sans avoir à utiliser des techniques traditionnelles de fichiers.
Illustrons ce concept sur un exemple simplifié dans lequel la base de données vue par l’utilisateur doit permettre sans difficulté l’introduction de toute information nouvelle susceptible d’y être chargée : on évitera tous problèmes futurs en surestimant systématiquement les places nécessaires, par exemple en réservant la place pour 20 enfants par ménage... Que de place perdue : aucune importance si cette place n’est réservée qu’en espace purement imaginaire, que l’on assimile ici à l’espace virtuel. On ne réservera en mémoire réelle, ici des disques, qu’une place
371
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,77 %.
La langue de reconnaissance de l'OCR est le Français.
4. 5. 2. L’approche mémoire virtuelle traditionnelle. L’utilisateur travaille sur un niveau de mémoire avec la technique d’adressage propre à ce niveau de mémoire sans avoir à connaître que cette mémoire est probablement insuffisante eu égard à son espace d’adressage et que ses données sont en réalité implantées dans une mémoire plus grande et plus lente. C’est le système de mémoire virtuelle décrit au chapitre X actuellement utilisé entre mémoire centrale et mémoire à disques. Les techniques utilisées pour la transformation d’adresse restent d’une part la table directe implantée en mémoire centrale, d’autre part la table inverse (topographie) ou des techniques de fonction au niveau des processeurs permettant une recherche rapide de l’adresse réelle. L’algorithme de gestion des échanges de page par contre a connu de nombreuses évolutions dues aux chutes de performances introduites par la pagination : les systèmes d’exploitation modernes assurent une gestion de la pagination de plus en plus complexe pour éviter toute situation où le système ne fait plus qu’échanger des pages, en tenant compte de la structure des programmes et données, des espaces réels moyens nécessaires pour chaque programme, etc. Les techniques de mémoires virtuelles de ce type se sont étendues à une grande quantité de machines, mini-ordinateurs compris, sachant que certains constructeurs restent partisans de méthodes de segmentation qu’ils estiment suffisamment plus performantes pour imposer des limitations de taille d’objet à leurs utilisateurs, ou encore pour faire faire automatiquement la segmentation par le compilateur.
Cette technique de mémoire virtuelle est également utilisée pour la gestion de mémoires fichiers à cartouches magnétiques : l’utilisateur adresse des disques (espace réel) avec une capacité de fichiers beaucoup plus grande que les disques physiques existants dans le dispositif ; les données sont en fait emmagasinées sur les cartouches magnétiques (espace virtuel) qui sont automatiquement sélectionnées, portées par un bras mécanique sur le système de lecture-écriture échangeant avec les disques, puis rangées à nouveau à leur emplacement.
4. 5. 3. L’approche mémoire imaginaire, mémoire physique. Cette approche consiste à implanter dans une mémoire physique (disques par exemple) un espace imaginaire (espace d’objets connus par leurs noms, grand espace d’adresse...) en utilisant une technique de pagination. Elle est utilisée soit au niveau du logiciel, soit au niveau de la microprogrammation dans les machines orientées bases de données ou langages, pour la manipulation de grands ensembles de données sans avoir à utiliser des techniques traditionnelles de fichiers.
Illustrons ce concept sur un exemple simplifié dans lequel la base de données vue par l’utilisateur doit permettre sans difficulté l’introduction de toute information nouvelle susceptible d’y être chargée : on évitera tous problèmes futurs en surestimant systématiquement les places nécessaires, par exemple en réservant la place pour 20 enfants par ménage... Que de place perdue : aucune importance si cette place n’est réservée qu’en espace purement imaginaire, que l’on assimile ici à l’espace virtuel. On ne réservera en mémoire réelle, ici des disques, qu’une place
371
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,77 %.
La langue de reconnaissance de l'OCR est le Français.



