Galerie de cartes mentales Carte mentale des principes de composition informatique
Il s'agit d'une carte mentale sur les principes de composition de 02 ordinateurs, comprenant un aperçu, les opérations de données, les systèmes de stockage, les unités centrales de traitement, etc.
Modifié à 2023-12-08 15:47:38Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Principes de composition informatique
Chapitre un Aperçu
hiérarchie du système informatique
matériel
ordinateur von Neumann
procédure stockée
pilote de flux de contrôle
Les programmes et les données compilés à l'avance sont envoyés à la mémoire principale L'ordinateur exécute élément par élément
monoprocesseur
Les instructions et les données ont le même statut
Les données d'instruction sont toutes des codes binaires
Centré sur l'opérateur
ordinateur moderne
centré sur la mémoire
structure
dispositif d'entrée
dispositif de sortie
mémoire
Mémoire principale (stockage interne)
banque de mémoire
Stockage auxiliaire (stockage externe)
CPU
MAR (mémoire d'adresse)
Le nombre de bits correspond au nombre d'unités de stockage
Adresse d'accès au magasin
MDR(mémoire de données)
Le nombre de bits est égal à la longueur du mot de stockage
Stocke temporairement les informations lues et écrites à partir de la mémoire
opérateur
ALU (Unité Arithmétique et Logique)
circuit logique combinatoire
ACC (Accumulateur)
MQ (registre de quotient multiplicateur)
X registre à usage général
Stockage temporaire des opérandes et des résultats intermédiaires
IX (registre d'index)
BE (registre d'adresses de base)
PSW (registre de mots d'état du programme/registre de drapeaux)
Stocker les informations de drapeau obtenues par l'opération, telles que : débordement, report et emprunt.
manette
PC (compteur de programme)
Stocke l'adresse de l'instruction en cours d'exécution. Après l'exécution, elle est automatiquement incrémentée de un pour former l'adresse de l'instruction suivante.
Nombre de chiffres de longueur de mot → Nombre de mots mémoire
IR (Registre d'Instructions)
Utilisé pour stocker la commande actuelle
Contenu du MDR
Longueur du mot d’instruction
CU (unité de contrôle)
logiciel
composition
logiciel système
système d'exploitation
Système de gestion de base de données SGBD
système de traitement du langage
Système logiciel réseau
programme de service
application
Logiciel à usage quotidien
langue
Language de machine
L'ordinateur peut être exécuté directement
code binaire
Langage d'assemblage
Mots anglais et lettres abrégées
Convertir en langage machine avant l'exécution
langage de haut niveau
Java, c, c, etc.
Programme source vers fichier exécutable
hiérarchie à plusieurs niveaux
Programme d'interprétation : Traduire et exécuter en même temps
Performance
longueur du mot
Est un multiple entier d'octets (1 B ou 8 bits)
longueur du mot machine
Largeur du chemin de données dans le CPU pour l'arithmétique des nombres entiers
Chiffres longs ALU
Nombre de bits du registre général
Longueur du mot d’instruction
Le nombre de bits de code binaire dans un mot d'instruction
Longueur du mot de stockage
Longueur du code binaire d'une unité de mémoire
bande passante du chemin de données
Le nombre de bits transmis en parallèle sur le bus de données à la fois
Capacité de la mémoire principale
calcul de la vitesse
Débit
Nombre de demandes traitées par unité de temps
Fréquence principale
Fréquence d'horloge du processeur
De combien de HZ s'agit-il en général ?
1hz signifie une fois par seconde
1 GHz = 10⁹
Combien de cycles d'horloge par seconde
Cycle d'horloge du processeur
Compte à rebours de la fréquence principale
1/fréquence principale
Combien de secondes dure un cycle d'horloge ?
IPC
Le nombre de cycles d'horloge nécessaires pour exécuter une instruction
Combien de cycles d’horloge faut-il pour exécuter une instruction ?
lié à trois facteurs
Jeu d'instructions
Programmation (structure du système)
Organisation informatique (architecture)
Temps d'exécution du processeur
(nombre d'instructions × CPI) / fréquence principale
MIPS
Combien de millions (M) d’instructions sont exécutées par seconde ?
Fréquence principale / (CPI×10⁶)
flops
mflops
Combien de millions d’opérations en virgule flottante sont effectuées par seconde ?
Nombre d'opérations en virgule flottante / (temps d'exécution × 10⁶)
gflops
milliard
10⁹
tflops
des milliards
10¹²
pflops
quadrillions
10¹⁵
zflops
Transparence
Contenu invisible
Pour les programmeurs de langage de haut niveau, Le format des instructions, le processus d'exploitation des données, etc. sont des contenus invisibles
Pour les programmeurs en langage machine ou en langage assembleur, Le format des instructions, la structure de la machine et le format des données sont des contenus visibles
Les programmeurs ne peuvent pas afficher le contenu de MAR, MDR et IR dans le CPU
Chapitre deux Opérations sur les données
méthode de base
binaire
La base est 2
Octal
Tous les huit mouvements en un
L'astuce : les nombres binaires à trois chiffres
décimal
hexadécimal
123456789ABCDEF
Astuce ① : nombre binaire à quatre chiffres
Astuce ② : A représente 10
Code BCD
8421 codes
Quatre chiffres binaires représentent un nombre décimal
Méthode de correction :
① Si le résultat de l'opération à deux chiffres est inférieur ou égal au nombre décimal 9, aucune correction ne sera effectuée.
② Si le résultat de l'opération à deux chiffres est supérieur ou égal au nombre décimal 10, ajoutez le nombre décimal 6 (0110)
Encore trois mètres
Ajoutez 3 au code 8421 (0011) De cette façon, chaque nombre a un reste de trois
2421 codes
De la position la plus élevée à la position la plus basse, ils sont 2421 Tel que : 5=(0101)
représentation codée
Code d'origine
0 signifie pas unique
La longueur du mot est n 1, la plage du code original signé -(2ⁿ-1)≤ x ≤ 2ⁿ-1
code inverse
Un chiffre positif Code d'origine = code inversé
nombre négatif Le bit de signe reste inchangé et la valeur est inversée.
complément
0 signifie unique
Un chiffre positif Code original = code inversé = code complémentaire
nombre négatif Conversion du code inverse du code original : le code original est de droite à gauche, trouver le premier 1, inverser tous les bits numériques à gauche de ce 1, c'est-à-dire obtenir le code complémentaire
La longueur du mot est n 1, plage de complément signé -2ⁿ ≤ x ≤ 2ⁿ-1
Stocké sous forme de complément à deux en langage C
changement de cadre
0 signifie unique
exposant représentant un nombre à virgule flottante
Compenser
Annuler le bit de signe complémentaire → décalage de cadre
décalage en point fixe
décalage arithmétique
Pour les nombres symboliques
Le bit de signe reste inchangé lors du décalage
décalage arithmétique positif Remplissez 0 pour les refus originaux et les suppléments
décalage arithmétique négatif Remplissez 0 pour le code d'origine Le code complément est rempli de 0 pour le décalage à gauche et de 1 pour le décalage à droite. Remplissez le code inverse avec 1
changement logique
Pour les numéros non signés
Décalage logique vers la gauche, bit haut perdu, bit bas rempli de zéros
Décalage logique vers la droite, le bit bas est perdu, le bit haut est rempli de zéros
Addition et soustraction de nombres à virgule fixe
Addition et soustraction du complément à deux
Fonctionnement direct supplémentaire
Soustraction Un complément (-B) complément
Identifiant
numéro non signé
CF effectuer un emprunt
Déterminer le débordement de numéros non signés
transport supplémentaire
Déterminer l'emprunt de soustraction
Petit - Grand Sièges empruntés disponibles
Marque zéro ZF
Le résultat est 0, alors ZF=1
numéro signé
Marque zéro ZF
Drapeau du symbole SF
Le symbole qui représente le résultat
Drapeau de débordement OF
Déterminer le débordement de numéros signés
Jugement de débordement
un bit de signe
deux bits de signe (complément de modulo quatre)
Un seul bit est stocké lors du stockage
Si les deux bits sont identiques, il n’y a pas de débordement.
Deux personnes différentes
01
Débordement positif
dix
débordement négatif
Multiplication de nombres à virgule fixe
Multiplication d'un bit du code original
Calcul manuel
Semblable au décimal, calculez directement
calcul informatique
Calculer A×B
Illustration
Le multiplicande A est stocké dans le registre général X
Stocker le multiplicateur B dans MQ
Les résultats de calcul de chaque tour sont stockés dans ACC
processus
Le multiplicande et le multiplicateur prennent la valeur absolue pour participer à l'opération Le bit de signe est traité séparément (opération XOR)
① Quand le numéro dans ACC est-il ajouté au numéro dans le registre général X ? Vérifiez si le bit le plus bas de MQ est 1. S'il est 1, ACC et X sont ajoutés et le résultat est placé dans ACC
(ACC) (X) → ACC
② Après avoir stocké le nouveau résultat dans ACC, effectuez un décalage logique vers la droite Décalage logique à droite MQ, décalage logique à droite ACC Le bit haut de l'ACC est rempli de 0 et le nombre décalé vers la droite du bit bas de l'ACC est déplacé vers le bit haut de MQ. Le bit bas de MQ est déplacé
multiplication du complément à un
Calcul manuel
calcul informatique
Bit auxiliaire - MQ bit le plus bas = 1, complément (ACC) (x)
Bit auxiliaire - Bit le plus bas MQ = 0, (ACC) 0
Bit auxiliaire - Bit le plus bas MQ = -1, complément (ACC) (-x)
processus
Multiplication d'un bit en complément à deux à l'aide de deux bits de signe
Effectuez n tours d'addition, de décalage et enfin ajoutez à nouveau.
Chaque décalage est un décalage arithmétique à droite
Le bit de signe participe à l'opération
Le bit auxiliaire se trouve après le bit le plus bas de MQ et est initialement 0 Le nombre supplémentaire du décalage à droite MQ remplace le 0 initial ou un autre nombre du bit auxiliaire d'origine.
Les processus d'addition et de décalage sont les mêmes que la multiplication d'un bit du code original.
Division en virgule fixe
Division du code d'origine (méthode de récupération du reste)
a÷b
ACC stocke le dividende a, reste
Quotient de stockage MQ (initialement tous 0)
X stocke le diviseurb
processus
Premièrement, le quotient par défaut est 1, si une erreur se produit, il passe à 0 et le reste est restauré.
Si le quotient est 0, effectuez le complément ACC (b) et mettez le résultat dans ACC
Quotient 1, effectuer un supplément ACC (-b)
Si le bit de signe du résultat calculé est 1, cela signifie que le quotient est faux, alors restaurez
Après l'opération d'addition et l'obtention du nouveau résultat, ACC et MQ sont logiquement décalés vers la gauche et les bits faibles de MQ sont remplis de 0.
Répétez l'opération ci-dessus
Division du code original (méthode d'addition et de soustraction alternée)
Juste commencé, Complétez a (-b) pour obtenir le nouveau reste
Si le reste est négatif, le quotient est 0, et le reste est logiquement décalé vers la gauche puis (b) complété
Si le reste est positif, alors le quotient est 1, et le reste est logiquement décalé vers la gauche puis (-b) complété
dernière étape Si le reste est négatif, le quotient est 0, (b) compléter pour obtenir le reste correct
Division en complément à deux (addition et soustraction alternées)
Le bit de signe participe à l'opération, double bit de signe
Juste commencé Déterminer si le dividende et le diviseur ont le même signe, S'ils ont le même signe, dividende - diviseur S'il y a des signes différents, le dividende est le diviseur.
Suivi Le reste et le diviseur ont le même signe Quotient 1, reste et quotient (ACC MQ) décalés vers la gauche, soustraire le diviseur Le reste et le diviseur ont des signes différents Quotient 0, reste et quotient décalés vers la gauche, ajouter un diviseur
Disposition du stockage des données
stockage big endian
Identique aux habitudes de lecture des gens
stockage Little Endian
au contraire
alignement des frontières
type entier
type entier
4B 32 bits
longtemps
4B 32 bits
type court
2B 16 bits
type de caractère
1B 8 bits
nombre à virgule flottante
Format de représentation
signe numéro
code
Représenté par frameshift
mantisse
Exprimé sous forme décimale du code original
Standardisation
Zuogui
Déplacez la mantisse d’une position vers la gauche et diminuez l’exposant de un.
bonne règle
Déplacez la mantisse d’une position vers la droite et ajoutez-en une à l’exposant.
IEEE754
Simple précision 32 bits
constituer
Numéro à 1 chiffre
Code d'extension (code de trame) 8 bits
Développer la vraie valeur = code de trame - valeur de décalage 127
Plage de codes 1 ~ 254
23 chiffres de mantisse
Valeur de décalage 127
Processus de conversion
① Symboles numériques
② mantisse
③ La vraie valeur du code
④ Code de trame (code de trame) = valeur de vérité du code - valeur de décalage
⑤ La mantisse est déplacée en fonction de la vraie valeur de l'exposant
exemple
Le code ne peut pas être composé uniquement de 0 ou de 1
Double précision 64 bits
Numéro à 1 chiffre
Code 11 chiffres
52 bits de mantisse
Valeur de décalage 1023
Addition et soustraction à virgule flottante
① Bon ordre
Les petits pas sont alignés avec les grands pas
La petite mantisse du code exposant est décalée d'une position vers la droite, l'exposant est 1
② Somme des mantisses
③ Normalisation
bonne règle
Quand 1×.××, jauge droite
Déplacez la mantisse vers la droite et ajoutez-en une à l'exposant
Zuogui
Quand 0.0, règle gauche
Déplacez la mantisse vers la gauche et diminuez l'exposant de 1
Nombre normalisé
Le bit haut de la mantisse du code d'origine n'est pas 0, et le bit haut de la mantisse du code complémentaire est différent du symbole numérique.
complément
Normalisation d'un seul symbole
0,1xxx 1.0xxx
Normalisation à deux symboles
00.1xxx 11.0xxx
④ Arrondi
L'arrondi se produit lors de l'alignement ou du droitier
0 méthode d'arrondi
Similaire à l'arrondi
méthode de l'ensemble constant 1
Que le bit le plus élevé soit 1 ou 0, définissez la fin de la mantisse après le décalage à droite sur 1.
⑤ Jugement de débordement
Pour un sous-débit positif et un sous-débit négatif, l'ordinateur le traite comme 0
casting
char → int → long → double
flotter → double
troisième chapitre Système de stockage
Classement de la mémoire
Classé par niveau
cache
mémoire principale
stockage auxiliaire
Trier par média
surface magnétique
ruban adhésif
disque
Noyau magnétique
semi-conducteur
CD
Classé par méthode d'accès
RAM - mémoire vive
ROM - mémoire morte
Les souvenirs modernes peuvent être effacés électriquement
mémoire à accès série
Classification par capacité de sauvegarde des informations
Volatil lorsqu'il est éteint
RAM
non volatile
ROM
surface magnétique
CD
Mesures de performances de la mémoire
stockage
Nombre de mots stockés × longueur du mot
Vitesse de stockage
Temps d'accès
La période de temps entre le début de l’accès et la fin de l’accès
période de stockage
Temps d'accès Période de récupération
bande passante de la mémoire principale
taux de transfert des données
Le nombre maximum de messages entrant et sortant de la mémoire principale par seconde
système de stockage à plusieurs niveaux
CPU-cache-mémoire principale-mémoire auxiliaire
Le transfert de données avant le CPU et le cache est effectué par le matériel (invisible)
La connexion entre la mémoire principale et la mémoire secondaire est complétée par le matériel et le système d'exploitation (non visible pour le programmeur d'application)
mémoire principale
mémoire vive
RAM
le cache est implémenté par SRAM
SRAM
mémoire vive statique
bascule bistable
lecture non destructive
Coût élevé, vitesse rapide, faible intégration
La mémoire principale est implémentée par DRAM
DRACHME
mémoire vive dynamique
Capacité de porte
Il faut rafraîchir de temps en temps
Actualisation centralisée
Utilisez une heure fixe pour rafraîchir le condensateur
temps mort
Actualisation dispersée
Répartissez le rafraîchissement de chaque ligne en différents cycles
pas de zone morte
Actualisation asynchrone
Période d'actualisation divisée par le nombre de lignes Actualiser de temps en temps
Temps d'intervalle maximum 2 ms
Il est temps de mourir
Faible coût, vitesse lente, intégration élevée
Multiplexage des broches d'adresse
ROM
ROM
Caractéristiques
Structure simple
non volatile
Classification
Mémoire morte du modèle de masque MROM
Contenu immuable
Mémoire morte programmable une seule fois PROM
Une fois écrit, il ne peut pas être modifié
Mémoire morte programmable effaçable EPROM
Réinscriptible, temps de programmation limités, temps d'écriture long
mémoire flash (mémoire flash)
Stockage à long terme des informations
Effacement rapide, réécriture en ligne
CD ROM
CD ROM
Disque SSD SSD
Stockage à long terme des informations
Effacement rapide, réécriture
mémoire parallèle
mémoire à double port
parallélisme spatial
mémoire parallèle multi-corps
parallélisme temporel
Crossover d'ordre élevé (mode séquentiel)
accès série
mémoire séquentielle
Entrelacement d'ordre inférieur (mode d'adressage par entrelacement)
L'adresse interne d'ordre supérieur est envoyée au module d'ordre inférieur pour décodage.
Approche pipeline
Bit de cycle d'accès T pour accéder à un mot Le cycle de transmission du bus est r
Nombre de modules croisés ≥ T/r
Le temps nécessaire pour accéder à m mots en continu est T (m-1)/r
Mémoire principale et connexion CPU
La ligne de données est bidirectionnelle Les lignes d'adresse sont à sens unique
Expansion de la capacité
extension de mot
Fonction décodeur 2/4 : Sélection de puce
extension de bits
Le signal de sélection de puce cs doit être lié à toutes les puces
Connexion mémoire au processeur
Ligne de sélection de puce élevée, ligne d'adresse faible
① Ligne d'adresse
② Câble de données
③ Ligne IO
④ Ligne de sélection de puce
Stockage externe
disque
Unité de lecture minimale, un secteur
Caractéristiques
① Faible coût et grande capacité
②Stockage à long terme
③Lecture non destructive
Classification
stockage sur disque
zone de stockage
Tête magnétique (nombre de faces d'enregistrement)
Une surface d'enregistrement correspond à une tête magnétique
cylindre
Combien de morceaux y a-t-il sur chaque plateau ?
secteur
Combien de secteurs y a-t-il sur chaque piste ?
Situé sur le même secteur → toutes les données peuvent être lues en un seul accès mémoire
Performance
temps d'accès moyen
trouver du temps
Le temps nécessaire à la tête pour se déplacer vers la piste de destination
retard
Le temps nécessaire à la tête magnétique pour localiser les secteurs de lecture et d'écriture
Temps de transmission
Il est temps de transférer des données
Heure du secteur de requête
chercher du temps/2
taux de transfert des données
tours par seconde × capacité de chaque piste n bits
Les opérations de lecture et d'écriture sont en série
Tableau de disque
RAID0
Pas de redondance, pas de somme de contrôle
RAID1
Matrice de disques miroir
sauvegarde mutuelle
RAID2
Erreur lors de la correction de la matrice de disques à code Hamming
RAID3
contrôle de parité croisée des bits
RAID4
bloquer la parité croisée
RAID5
Contrôle de parité sans vérification indépendante
Mémoire flash SSD
Pas différent du disque U
L'écriture aléatoire est lente
Il y aura de l'usure
cache cache
principe de fonctionnement
Le CPU émet une demande d'accès à la mémoire, Si l'adresse physique de la mémoire principale se trouve dans le cache, elle est atteinte et le cache est lu directement. Si le cache manque, il doit toujours accéder à la mémoire principale et le charger dans le cache à partir de la mémoire principale.
Longueur du bloc de cache, également appelée longueur de ligne
Invisible pour tous les programmeurs
Méthode de mappage du cache et de la mémoire principale
cartographie directe
Le taux de réussite le plus bas et le temps requis le plus court
définir le mappage associatif
L'étiquette et le numéro de groupe forment le numéro du bloc de mémoire principal
En supposant que chaque groupe possède r lignes de cache, cela est appelé r-way set associative r agit en groupe
Le nombre de comparateurs dans le cache est également r
Capacité du cache (bit) = nombre de lignes × (données par ligne, bits valides, bits modifiés, bits de contrôle de remplacement, bits d'indicateur)
L'unité de chaque ligne de données est le bit
Mors sales (entretien cohérent)
Méthode de réécriture
remplacer le bit de commande
Lors de l'utilisation de l'algorithme de remplacement, ce bit Lors de l'utilisation d'une stratégie de remplacement aléatoire, ce bit n'est pas disponible
algorithme de remplacement
① Algorithme aléatoire
② Algorithme premier entré, premier sorti
Remplacez d'abord la ligne la plus ancienne
③ Algorithme le moins récemment utilisé (Principe de localité) LRU
Remplacer les lignes récemment non visitées
④ LFU est le moins couramment utilisé
cartographie entièrement associative
Le taux de réussite le plus élevé et le temps requis le plus long
stratégie d'écriture du cache
①
Méthode d'écriture complète (écriture directe)
Haute sécurité
Écriture du processeur sur le cache
Les données doivent être écrites dans la mémoire principale et dans le cache en même temps Lorsqu'un certain bloc doit être remplacé, écrasez-le directement par le nouveau bloc.
tampon d'écriture
Afin de réduire la perte de temps liée à l'écriture directe dans la mémoire principale
Le processeur écrit les données dans le cache et écrit dans le tampon en même temps. Écrivez le tampon, puis écrivez le contenu dans la mémoire principale
méthode d'allocation sans écriture
Échec d'écriture du processeur dans le cache
L'écriture dans la mémoire principale n'effectue pas d'ajustement de bloc
②
Méthode de réécriture (méthode de réécriture)
pour intensif
Écriture du processeur sur le cache
Écrit uniquement les données dans le cache, pas immédiatement dans la mémoire principale N'écrit dans la mémoire principale que lorsque ce bloc est remplacé
méthode d'affectation d'écriture
Échec d'écriture du processeur dans le cache
Chargez le bloc de mémoire principal dans le cache, puis mettez à jour le bloc de cache
Inconvénient : chaque fois qu'un échec se produit, un bloc doit être lu dans la mémoire principale.
mémoire virtuelle
Adresse logique (adresse virtuelle) pour la programmation utilisateur L'unité de mémoire principale est l'adresse physique (adresse réelle)
Adresse virtuelle = numéro de page de mémoire virtuelle dans la page
Adresse réelle = numéro de page de la mémoire principale dans la page
Le processeur utilise des adresses de mémoire virtuelle pour découvrir la relation de mappage entre les adresses virtuelles et réelles via du matériel auxiliaire. S'il est dans la mémoire principale, via la conversion d'adresse S'il ne se trouve pas dans la mémoire principale, il est paginé dans la mémoire principale et le processeur y accède. Si la mémoire principale est pleine, l'algorithme de remplacement est utilisé
Les hits manquants auront un impact important sur les performances du système.
Utilisez une cartographie entièrement associative pour améliorer le taux de réussite
Méthode de réécriture
Invisible pour les programmeurs d'applications, visible pour les programmeurs système
Classification
mémoire de pages
en pages
tableau des pages
Recherchez l'entrée de table de pages correspondante en fonction du numéro de page virtuelle dans les bits de poids fort de l'adresse virtuelle.
Table rapide TLB
Se compose de mémoire associative
Adressage du contenu
Utiliser un groupe associatif ou entièrement associatif
Balise TLB
Numéro de page virtuelle entièrement associé
Numéro de page virtuel associatif défini, bit élevé
système de stockage à plusieurs niveaux
La relation entre TLB, page et cache
Le TLB stocke une copie partielle de la page
Le cache stocke une copie d'une partie de la mémoire principale
Si le TLB arrive, la page doit arriver. Si le TLB est manquant, la page peut toujours atteindre. Si la page est manquante, TLB et le cache doivent être manquants.
Les échecs de cache sont causés par le matériel La page manquante est complétée par un logiciel (gestionnaire d'exceptions de la page du système d'exploitation manquante) La suppression de TLB peut être effectuée à la fois matériellement et logiciellement
mémoire segmentée
Numéro de segment, adresse du segment, composition
Enregistrements de la table de segments : ① première adresse du segment ② bit de chargement ③ longueur du segment
mémoire segmentée
Avec la page comme unité de transmission de base
① Numéro de section ② Numéro de page dans la section ③ Adresse dans la page
Chapitre quatre instruction
Architecture du jeu d'instructions ISA
Contenu principal : format des instructions, type et format des données, méthode de stockage des opérandes, nombre de registres accessibles au programme et leurs numéros Taille de l'espace de stockage et mode d'adressage, mode d'adressage, mode de contrôle d'exécution des instructions, etc.
Format de commande
Code d’opération OP Code d’adresse A
La longueur du mot d'instruction est un multiple entier d'octets
Classification
instruction d'adresse zéro
Uniquement opcode op
Instructions opérationnelles : aucune opération, arrêt, interruption d'arrêt Les instructions arithmétiques sont utilisées dans les ordinateurs à pile (les opérandes viennent du haut de la pile et du haut de la deuxième pile)
une commande d'adresse
Instruction à un seul opérande avec uniquement l'opérande de destination
Le résultat est enregistré à l'adresse d'origine
Instructions à deux opérandes avec des opérandes de destination implicitement convenus
Un autre opérande est fourni par ACC via un accord d'adressage implicite, Le résultat de l'opération est stocké dans ACC
Deux instructions d'adresse
Donner l'opérande de destination et l'opérande source
Le résultat est enregistré à l'adresse de l'opérande de destination
Trois instructions d'adresse
Donner l'opérande de destination, l'opérande source et le résultat
Accéder à la mémoire 4 fois : récupérer l'instruction une fois, récupérer l'opérande 2 fois, stocker le résultat une fois
Quatre instructions d'adresse
op, opérande de destination, opérande source, résultat, adresse suivante
Le code d'opération est de 8 bits et les 4 codes d'adresse sont de 6 bits chacun.
Format d'instruction d'opcode étendu
① L'opcode court ne peut pas être le même que la partie précédente de l'opcode long
② Les codes de fonctionnement de chaque instruction ne sont pas répétés.
Mode extension
Tous les 1 sont réservés pour la prochaine extension de l’instruction d’adresse.
Type d'opération
①Transmission de données
② Opérations arithmétiques et logiques
③ Opération de changement de vitesse
④ Opération de transfert
transfert inconditionnel
Exécuter dans tous les cas
transfert conditionnel
Exécuter dans des conditions spécifiques
La différence entre les instructions de transfert et les instructions d'appel
L'instruction appelante enregistrera l'adresse de l'instruction suivante (adresse de retour) L'instruction de transfert ne revient pas en exécution
⑤ Opérations d'entrée et de sortie
Instructions de contrôle du programme
transfert inconditionnel
transfert conditionnel
appel de sous-programme
Commande de retour
Instructions de boucle
Consignes privilégiées
Pour les systèmes d'exploitation et les logiciels système
Non disponible pour les utilisateurs
Mode d'adressage des instructions
adressage d'instructions
adressage séquentiel
Compteur de programme PC 1, forme l'instruction suivante
ignorer l'adressage
Mis en œuvre via des instructions de transfert
L'instruction actuelle modifie la valeur du PC et l'instruction suivante est toujours donnée via le PC.
Adressage des données
Classification
adressage implicite
L'autre opérande d'une instruction à adresse unique peut être obtenu via un adressage implicite, dérivé de ACC
spécification du programme
adressage immédiat
Le champ d'adresse donne directement l'opérande lui-même, en utilisant une représentation en complément à deux.
Pratique
Adressage direct
EA=A
Le nombre de bits dans A détermine la plage d'adressage de l'opérande
Longueur de commande réduite
1 accès
Adressage indirect
EA = (A)
Une adresse indirecte nécessite deux accès mémoire
Facilite l’expansion de la plage d’adressage
Adressage du registre
EA = Ri
Donnez directement le numéro de registre
La phase d'exécution n'accède pas à la mémoire principale, mais uniquement aux registres.
La longueur du code d'adresse est petite (raccourcie)
enregistrer l'adressage indirect
EA = (Ri)
Ri n'est pas un opérande, mais l'adresse de l'unité de mémoire principale où se situe l'opération.
Besoin d'accéder à la mémoire
Les opérandes sont dans la mémoire principale
adressage relatif
EA = (PC) A
A est le déplacement par rapport à la valeur PC actuelle, exprimé en complément
pour les instructions de transfert
1 accès
adressage de base
EA = (BR)A
Utilisé pour la conception multicanal, BR est le registre d'adresses de base (visible)
1 accès
adressage indexé
Adresse effective = adresse formelle A registre d'index IX EA = (IX)A
Orienté utilisateur
Gérer les problèmes de tableau
1 accès
Adressage de pile
dernier entré, premier sorti
Représentation du code au niveau machine
Format d'assemblage
Format AT&T
Le premier est l’opérande source, le second est l’opérande destination, La direction est de gauche à droite, ce qui est naturel
Les registres sont préfixés par %, et les nombres immédiats sont préfixés par $.
Utilisations de l'adressage mémoire ()
format Intel
Le premier est l’opérande de destination, le second est l’opérande source, Direction de droite à gauche
Les registres et les numéros immédiats n'ont pas besoin d'être préfixés
L'adressage mémoire utilise [ ]
Par rapport
Commandes courantes
Format Intel
en regardant de droite à gauche
Classe de transfert de données
instructions de déplacement
Copier une valeur dans une autre
par exemple : mov eax, ebx Copier la valeur ebx dans eax
instruction de poussée
pousser pour empiler
commande pop
populaire
Opérations arithmétiques et logiques
ajouter/sous-commande
Addition et soustraction
Enregistrez le résultat dans le premier numéro
par exemple : sous-eax, 10 eax - 10 → eax
instructions d'augmentation et de diminution (incrémenter/décrémenter)
Auto-augmentation et auto-diminution
directive imul (multiplication)
Multiplication de nombres symboliques
Le résultat est stocké dans le premier opérande, qui doit être un registre
par exemple : imul eax, [var] eax × [var] → eax
par exemple : imul esi, edx, 25 25 × edx → esi
directive idiv (division)
Division des nombres symboliques
Il n'y a qu'un seul opérande, le diviseur
par exemple : idiv ebx
et/ou/xor instructions
ET, OU, XOR
Le résultat est placé dans le premier opérande
ex : et eax, 0 fH Les 28 premiers bits de eax sont 0 et les 4 derniers bits restent inchangés.
pas d'instructions
peu de retournement
0 → 1, 1 → 0
instruction négative (négatif)
Prenez le négatif
par exemple : nég eax -eax → eax
commande shl/shr (changement)
Décalage logique vers la gauche, décalage logique vers la droite
Le premier opérande représente l'objet d'exécution Le deuxième chiffre représente le nombre de quarts de travail
par exemple : shl eax, 1 eax se décale logiquement de 1 bit vers la gauche shr ebx, cl ebx se décale logiquement de n bits vers la droite (n est la valeur en cl)
classe de flux de contrôle
commande jmp
instruction de transfert
instruction jcondition
instructions de transfert conditionnel
commande cmp/test
taille de la valeur de comparaison cmp le test effectue une opération ET au niveau du bit sur les opérandes
instruction d'appel/retrait
Appel et retour de sous-programme
CISC et RISC
ICSC
système de commande complexe
RISQUE
Système de commande simplifié
Par rapport
chapitre cinq CPU
Structure du processeur
opérateur
Unité d'opération arithmétique et logique ALU
Opérations arithmétiques et logiques
bloc-notes
Stocker temporairement les données lues dans la mémoire principale
Registre d'accumulation ACC
Stocker temporairement les informations sur les résultats ALU
Registre général X
Permet aux utilisateurs de programmer librement et de stocker des données et des adresses.
Identique à la longueur du mot machine
visible
Registre des mots d'état du programme PSW
Conserver diverses informations d'état des résultats
visible
manette de vitesse
Effectuer des opérations de décalage sur des opérandes ou des résultats d'opérations
Compteur CT
Contrôler le nombre d'étapes pour les opérations de multiplication et de division
manette
compteur de programme PC
Indique l'adresse de stockage en mémoire principale de l'instruction à exécuter.
Le nombre de bits est le même que le nombre de bits d'adresse mémoire L'adresse mémoire dépend de la capacité de stockage
visible
Registre d'instructions IR
Enregistrer la commande en cours d'exécution
La même longueur que la longueur du mot d'instruction
ne peut pas être remplacé par des registres à usage général
décodeur d'instructions
Décoder l'opcode
Invisible
registre d'adresse mémoire MAR
Stocker l'adresse de l'unité de mémoire principale
Invisible
Registre de données mémoire MDR
Stocker les informations écrites ou lues depuis la mémoire principale
Invisible
système de chronométrage
Utilisé pour générer divers signaux de synchronisation
Générateur de signal
Fonction du processeur
Le contrôleur est chargé de coordonner et de contrôler la séquence d'instructions (récupération, analyse, exécution) du programme exécuté par chaque composant de l'ordinateur. Les calculatrices traitent les données
① Contrôle des instructions, complétant les opérations de récupération, d'analyse et d'exécution des instructions
② Contrôle des opérations
③ Contrôle du temps
④ Traitement des données
⑤ Traitement des interruptions
Processus d’exécution des instructions
cycle d'enseignement
Le temps nécessaire pour récupérer et exécuter une instruction
Représenté par plusieurs cycles machine
cycle machine
Longueur fixe
Longueur non fixe
Récupération d'instructions, adresse indirecte, exécution, interruption
cycle de récupération
Selon le contenu du PC, le code instruction est récupéré de la mémoire principale et placé dans l'IR
Le PC stocke l'adresse de l'instruction. En fonction de cette adresse, l'instruction est extraite de l'unité de mémoire correspondante et placée dans l'IR.
PC 1 lors de la récupération
Les instructions sont récupérées automatiquement par la machine
cycle d'adressage indirect
Obtenir l'adresse effective de l'opérande
Envoyez le code d'adresse de l'instruction dans MAR et dans le bus d'adresse. Cu émet une commande de lecture pour obtenir l'adresse effective, et enfin la stocke dans MDR.
Deux accès
cycle d'exécution
Prenez l'opérande et produisez le résultat via l'opération ALU selon l'opcode du mot d'instruction de l'IR
cycle d'interruption
Gérer la demande d'interruption
plan d'action
cycle d'instruction unique
plusieurs cycles d'instruction
Solution de pipeline
Chemin de données
Fonction
Chemin de transmission des données entre les composants fonctionnels
Décrit où commencent les informations, par quel registre ou multiplexeur elles passent et vers quel registre elles sont finalement transmises.
contrôlé par l'unité de contrôle
structure basique
Mode bus unique interne du processeur
Mode multibus interne du processeur
Les ports d'entrée et de sortie de tous les registres sont connectés à plusieurs chemins communs
Approche de chemin de données dédiée
Lire le doigt
(PC) → MAR 1 → R MEM (MAR)→MDR (MDR)→IR
(MDR) → MAR 1 → R MEM (MAR)→MDR (MDR)→Y (ACC) (Y)→Z (Z)→ACC
manette
contrôleur câblé
Unité de contrôle
IR
Le champ opcode de l'instruction est le signal d'entrée vers l'unité de contrôle
FR (Registre du Drapeau)
Informations de retour de l'unité d'exécution
Horaire
générateur de battements
Générer des signaux de période machine et des signaux de battement
L'unité de contrôle accepte également les signaux de commande du bus système, tels que les interruptions, DMA
Micro-opérations
Plusieurs micro-opérations peuvent être réalisées en un seul cycle de machine
aller chercher
(PC) → MAR 1 → R M(MAR)→MDR (MDR)→IR (PC) 1 → PC
adresse indirecte
Annonce (IR) → MAR 1 → R M(MAR)→MDR
mettre en œuvre
non-récupération
CLA
Effacer ACC
CdM
Nier
SHR
décalage arithmétique vers la droite
CSL
Faire du vélo à gauche
STP
fermer
Accéder
ajout Annonce (IR) → MAR M(MAR)→MDR (MDR) (ACC)→ACC Instruction de magasin STA X Ad(IR)→MAR, 1→écriture écriture mémoire (ACC) → MDR (MDR) → M (MAR) Instruction de récupération LDA X Annonce (IR) → MAR, 1 → R M(MAR)→MDR (MDR)→ACC
transfert
JMP X (transfert inconditionnel) Ad (IR) → PC BAN X (transfert conditionnel)
methode de CONTROLE
Méthode de contrôle synchrone
horloge unifiée
Méthode de contrôle asynchrone
Chaque composant fonctionne à sa propre vitesse inhérente
méthode de contrôle conjoint
La plupart utilisent le synchrone, quelques-uns utilisent l'asynchrone
contrôleur microprogrammé
Utiliser la logique de stockage pour coder les signaux de micro-opération
Une instruction machine est écrite sous forme de microprogramme et chaque microprogramme contient plusieurs micro-instructions. Une instruction machine peut être décomposée en une séquence de micro-opérations (les plus élémentaires et ne pouvant être davantage divisées)
Normalement, un cycle de microprogramme correspond à un cycle d'instruction
Il s'agit d'assurer la synchronisation de l'ensemble du signal de commande de la machine.
Les microinstructions sont stockées dans l'unité de stockage de contrôle
Les microcommandes sont les signaux de contrôle des microopérations et les microopérations sont les processus d'exécution des microcommandes.
La mémoire principale est utilisée pour stocker des données et des programmes et est implémentée en dehors du processeur à l'aide de la RAM. La mémoire de contrôle CM est utilisée pour stocker des microprogrammes. Elle est implémentée avec une ROM (EPROM) à l'intérieur du CPU et est accessible en fonction de l'adresse de la micro-instruction.
structure
processus de travail
récupérer des microinstructions
À partir du champ opcode de l'instruction machine, le composant de formation de micro-adresse génère l'adresse d'entrée de microprogramme correspondant à l'instruction machine et l'envoie au CMAR.
Récupérer les micro-instructions correspondantes une à une depuis le CM et les exécuter
Revenez à l'adresse d'entrée du microprogramme et répétez l'opération
Codage
contrôle direct
Méthode de codage direct sur le terrain
Le domaine des microcommandes est divisé en plusieurs, Les microcommandes mutuellement exclusives sont placées dans le même champ et les commandes de compatibilité sont placées dans des champs différents.
Tout 0 signifie aucune opération
Méthode de codage indirect de champ
Une microcommande pour un champ est interprétée par une microcommande pour un autre champ, Raccourcir la longueur des mots de micro-instructions
Méthode de formation d'adresses de micro-instructions
Méthode de jugement
Donné par l'adresse sous la microinstruction
Opcodes formés sur la base des instructions machine
nombre incrémentiel
signer la loi
Les lois informatiques
loi sur le matériel
Format de micro-instruction
micro-instructions horizontales
Forte capacité d’opération parallèle
Temps d'exécution court
micro-instructions verticales
Une seule opération de base peut être effectuée en parallèle
Temps d'exécution long
microinstructions hybrides
Par rapport
Exceptions et interruptions
anormal
Les événements inattendus générés à l'intérieur du CPU sont appelés exceptions (interruptions internes).
Tels que : interruption de panne matérielle (erreur de vérification de la mémoire, erreur de bus) Exceptions programmatiques (division par 0, débordement, point d'arrêt, traçage en une seule étape, instruction illégale, débordement de pile, adresse hors limites, erreur de page)
L'interruption interne est une interruption non masquable
La détection des anomalies est effectuée par le CPU lui-même
Classification
Interruption programmée (interruption logicielle)
Faute
Section manquante
Page manquante
Chargez les segments ou pages requis du disque dans la mémoire principale et revenez à l'instruction ayant échoué pour poursuivre l'exécution.
Opcode illégal
Le diviseur est 0
L'échec ne peut pas être récupéré via le gestionnaire d'exceptions (le gestionnaire doit toujours être appelé), l'exécution ne peut pas être renvoyée au point d'arrêt et le processus se termine directement.
se piéger
Paramètres de point d'arrêt pour le débogage du programme. Lorsque ces instructions sont exécutées, Appeler automatiquement le programme du noyau du système d'exploitation pour une exécution inconditionnelle ou conditionnelle
Terminer (interruption matérielle)
Erreur du contrôleur, erreur de vérification de la mémoire, etc.
Appelez la routine de service d'interruption et redémarrez le système
Interruption externe (interruption matérielle)
Un périphérique externe au CPU qui émet une demande d'interruption au CPU est appelé une interruption (interruption externe)
Par exemple : interruption IO émise par le périphérique IO (entrée clavier, imprimante à court de papier) Événement spécial (l'utilisateur appuie sur la touche Esc et le minuteur atteint l'heure)
Le CPU doit obtenir des informations sur la source d'interruption via la ligne de demande d'interruption
Classification
Interruption masquable (faible priorité)
Demande d'interruption émise vers la CPU via la ligne de demande d'interruption masquable INTR, Le CPU peut masquer ou non en définissant le mot de masque correspondant dans le contrôleur d'interruption. Les demandes d'interruption masquées ne sont pas envoyées au CPU
Interruption non masquable (haute priorité)
Par exemple : panne de courant
Demande d'interruption émise vers la CPU via la ligne de demande d'interruption dédiée non masquable NMI
processus de réponse
L'ensemble du processus de réponse ne peut pas être interrompu
Désactiver les interruptions
Désactivez les nouvelles interruptions correspondantes en réglant la bascule IF du bit d’activation d’interruption.
Enregistrer les points d'arrêt et l'état du programme
Afin de pouvoir revenir à l'endroit interrompu pour continuer l'exécution une fois le traitement des exceptions et des interruptions terminé.
Identifiez les exceptions et les interruptions et accédez au programme approprié
Méthode d'identification
Identification du logiciel
La CPU définit un registre d'état d'exception pour enregistrer la cause de l'exception. Interrogez le registre d'état des exceptions par ordre de priorité, puis accédez au gestionnaire correspondant dans le noyau.
Identification du matériel
interruption vectorielle
La première adresse d'une exception ou d'une interruption est appelée vecteur d'interruption. Tous les vecteurs d'interruption sont placés dans la table des vecteurs d'interruption. Chaque interruption ou exception correspond à un numéro de type d'interruption.
pipeline d'instructions
définition
Une instruction est divisée en plusieurs étapes, chaque étape est complétée par le composant fonctionnel correspondant
Exiger
La longueur de l'instruction doit être la même Format de commande régulier Grâce aux instructions de chargement/stockage, aucun autre registre ne peut accéder à la mémoire. Les données et les instructions sont alignées en mémoire
Aventure à la chaîne de montage
① Structure aventure
Plusieurs instructions sont en compétition pour la même ressource en même temps
Solution 1) Suspendre les instructions ultérieures 2) Configurer la mémoire de données et la mémoire d'instructions séparément
② Aventure de données
L'instruction suivante utilisera le résultat du calcul de l'instruction en cours et les deux instructions provoqueront un conflit de données.
lire après écrire
lire et écrire
écrire après écrire
Solution 1) Suspendre les instructions et les instructions ultérieures qui rencontrent des conflits liés aux données pendant un ou plusieurs cycles 2) Mettre en place des chemins de données pertinents (technologie de contournement de données) et envoyer rapidement les résultats de l'opération au registre dès leur obtention 3) Ajustez l’ordre des instructions
③ Contrôlez l'aventure
Les instructions de transfert, les appels, les retours, etc. modifieront la valeur du PC et provoqueront une interruption du flux.
Solution 1) Prédire les succursales pour les instructions de transfert et générer les adresses cibles de transfert le plus tôt possible 2) Prélecture des instructions cibles dans deux directions de flux de contrôle, réussies et non réussies.
Indicateurs de performance des pipelines
Débit du pipeline
Accélération du pipeline
Technologie de pipeline avancée
pipeline superscalaire
Technologie multi-émissions dynamique
Combiné avec la technologie de planification dynamique des pipelines, via la prédiction dynamique des branchements et d'autres moyens Plusieurs instructions indépendantes peuvent être exécutées simultanément par cycle d'horloge
Technologie de mots d'instructions très longs
Technologie multi-émissions statiques
Combinez plusieurs instructions pouvant fonctionner en parallèle en un seul mot d'instruction très long avec plusieurs opcodes
Technologie des super pipelines
Les segments fonctionnels sont divisés en plusieurs
multiprocesseur
Flux d'instructions unique Flux de données unique SISD
en série
Un processeur et une mémoire
exécution séquentielle
Flux d'instructions unique, flux de données multiples SIMD
Technologie parallèle de données
processeur vectoriel
Flux de données unique à instructions multiples MISD
n'existe pas
Instruction multiple Flux de données multiples MIMD
traitement en parallèle
Multi-threading matériel
Multithreading à grain fin
Le multithreading à tour de rôle et l'exécution croisée
Semblable à la rotation des tranches de temps
Multithreading à gros grains
Changer de thread uniquement lorsqu'un thread a une surcharge importante
Multi-threading simultané
Dans le même cycle d'horloge, plusieurs instructions dans plusieurs threads différents sont émises pour exécution.
multiprocesseur à mémoire partagée (SMP)
En partageant un espace d'adressage physique, vous pouvez exécuter des programmes indépendamment dans votre propre espace d'adressage virtuel
Accès au stockage unifié UMA
Comment le processeur est connecté à la mémoire partagée
Accès au stockage non uniforme NUMA
Circuits logiques combinatoires et circuits logiques séquentiels
Les circuits logiques combinatoires n'ont pas de contrôle d'horloge unifié Les circuits logiques séquentiels doivent fonctionner sous des tics d'horloge
Les circuits logiques combinatoires ne contiennent pas de cellules mémoire pour stocker les signaux Les circuits logiques séquentiels contiennent des cellules mémoire qui stockent les signaux
Chapitre six bus
Une ligne de transmission d'informations publiques qui peut être partagée par plusieurs composants en temps partagé
Envoyez à temps, recevez en même temps
Classement des autobus
Bus sur puce
Le bus à l'intérieur de la puce
bus système
bus d'adresses
Un bus unidirectionnel utilisé par le processeur pour sélectionner l'adresse de l'unité de mémoire principale et l'adresse du port IO, et ne peut pas être retransmis.
Bus de données
Transmettre des informations de données, ligne bidirectionnelle
bus de commande
Bus d'E/S
Connectez des périphériques IO à vitesse faible à moyenne
câble de données
Registre tampon de données de transfert, contenu du registre de commande/état
ligne d'adresse
Adresse du port pour transmettre les données échangées avec le CPU
ligne de contrôle
Envoyer des signaux de lecture et d'écriture
bus de communication
bus externe
Un bus qui transmet des informations entre des systèmes informatiques ou entre des systèmes informatiques et d'autres systèmes
Structure du bus système
Structure de bus unique
Structure à double bus
Le bus mémoire principal est utilisé pour transférer des données entre le CPU, la mémoire principale et les canaux Le bus IO est utilisé pour transférer des données entre des appareils externes et des canaux
Structure à trois bus
bus mémoire principal Bus E/S Bus DMA
norme d'autobus
EST UN
Architecture standard de l'industrie
EISA
isa étendu pour les processeurs 32 bits
VESA
Association de normalisation de l'électronique vidéo Bus local 32 bits
PCI
Interconnexion de périphériques externes
Bus 32 ou 64 bits hautes performances
brancher et utiliser
Appartient au bus local
AGP
port graphique accéléré
Appartient au bus local
PCI-E
Les dernières normes d'interface de bus
en série
Remplacer PCI, AGP
RS-232C
bus de communication série
USB
bus universel en série
PCMCIA
Interface pour ordinateur portable
IDE
circuit intégré
SCSI
interface pour petit système informatique
SATA
technologie avancée en série
Performance
Cycle de transfert en bus
Se compose de plusieurs cycles d'horloge de bus
Cycle d'horloge du bus
Fréquence de fonctionnement des bus
= fréquence d'horloge/N
fréquence d'horloge du bus
L'inverse de la période d'horloge du bus
bande passante du bus
= Fréquence de fonctionnement du bus × (largeur du bus/8)
transaction de bus
demander
arbitrage
adressage
transmission
libéré
Transmission en rafale (transmission en rafale)
Envoyer d'abord l'adresse, puis les données Vous ne devez transmettre l'adresse qu'une seule fois et les données suivantes sont envoyées en continu.
Mode chronométrage
Mode de synchronisation synchrone
Le système utilise un signal d'horloge unifié
Efficacité de transmission élevée
Mauvaise fiabilité
Mode de synchronisation asynchrone
Chronométrage par signal de poignée de main
Pas de mode de verrouillage
Méthode semi-verrouillée
Méthode de verrouillage complet
Contrôle d'arbitrage des bus (arbitrage de bus)
centralisé
chaîne
Conception de circuits
L'appareil le plus proche du bus a la priorité la plus élevée
Équipement facile à étendre
Sensible aux défauts des circuits
Utilisez seulement deux fils pour déterminer quel bus un appareil utilise
Chronométrage du compteur
Conception de circuits
Le comptage commence à 0
Priorité fixe
Le comptage commence à partir du point final
Les priorités sont égales
La valeur du compteur est définie par le programme
priorité variable
Contrôle complexe
Prendre des lignes log₂n
demande indépendante
Conception de circuits
réponse rapide
Contrôle de priorité flexible
Le contrôle des bus est complexe
Prenez 2n lignes
distribué
La logique de contrôle est dispersée sur divers appareils connectés au bus
Chapitre VII entrée sortie
Système d'E/S
Matériel d'E/S
Les périphériques IO sont connectés au bus système de la carte mère via le contrôleur de périphérique
dispositif externe
dispositif d'entrée
clavier souris
dispositif de sortie
moniteur
taille de l'écran
résolution
Niveaux de gris
La différence de couleur, plus il y a de niveaux de gris, plus l'image est réaliste
8 bits (256 niveaux) → 256 couleurs
rafraîchir
fréquence de rafraîchissement
afficher la mémoire
Capacité VRAM = résolution × nombre de bits en niveaux de gris Bande passante VRAM = résolution × nombre de bits en niveaux de gris × fréquence d'images
imprimante
Classement par méthode de travail
imprimante matricielle
Imprimante matricielle
Imprimantes à jet d'encre
imprimante laser
Dans un ordinateur, un code interne de caractère chinois occupe 2B dans la mémoire principale.
interface
Un dispositif logique qui coordonne le transfert de données entre les périphériques et l'hôte
dispositif d'entrée
dispositif de sortie
Stockage externe
Logiciel E/S
conducteur
Programme utilisateur
programme de gestion
Méthode de contrôle des E/S
Méthode de requête du programme
La CPU vérifie en permanence si le périphérique IO est prêt via le programme
Une fois que le CPU démarre IO, il doit arrêter l’exécution du programme en cours.
Caractéristiques
Le CPU a un phénomène d'attente progressive
Continuez à répéter la même opération jusqu’à ce que ce soit terminé
Travail en série CPU et IO
Mode interruption du programme
Lorsque le périphérique IO est prêt, envoyez une demande d'interruption à la CPU.
Fonction
Parallélisme CPU et E/S
Gestion des pannes matérielles, des erreurs logicielles
interaction homme machine
Programmes multiples, opérations en temps partagé
processus de travail
La réponse à l'interruption se produit à la fin de l'exécution d'une instruction
demande d'interruption
Arbitrage des réponses aux interruptions
Interruption non masquable > Exception interne > Interruption masquable
Conditions de réponse aux interruptions
La source d'interruption a une demande d'interruption
Interruption d'ouverture du processeur
Une instruction est exécutée
vecteur d'interruption
L'adresse d'entrée du programme d'interruption
Déterminer le type d'interruption
Une fois que la CPU a répondu à l'interruption, elle obtient le numéro de type d'interruption en identifiant la source de l'interruption et calcule l'adresse du vecteur d'interruption correspondant. Ensuite, en fonction de cette adresse, l'adresse d'entrée du programme de service d'interruption est extraite de la table des vecteurs d'interruption, puis envoyée au PC, puis le programme de service d'interruption est exécuté.
priorité de réponse
Effectué via la file d'attente matérielle
priorité de traitement
Ajustement dynamique à l'aide de la technologie de masquage d'interruption
mot de masque d'interruption
Processus de traitement des interruptions
plusieurs interruptions
Mode DMA Accès direct à la mémoire
Chemin de données direct, entre la mémoire principale et les périphériques IO
Il existe un chemin de données direct entre la mémoire principale et l'interface DMA
chemin logique
Une méthode de contrôle de la transmission d'informations entièrement par matériel
Lors du transfert de données, la détermination de l'adresse mémoire principale est directement réalisée par le circuit matériel.
La mémoire principale doit ouvrir un tampon dédié pour fournir et recevoir des données périphériques en temps opportun.
Le DMA doit être prétraité par le programme avant la transmission et post-traité par interruption une fois la transmission terminée.
La réponse du DMA se produit après une transaction de bus et le DMA a un contrôle plus important que le CPU.
Méthode de transfert DMA
1) Arrêtez l'accès du processeur à la mémoire
2) Détournements périodiques
3) DMA et CPU accèdent alternativement à la mémoire
Processus de transfert DMA
1) Le prétraitement consomme du CPU Le CPU termine les préparatifs nécessaires
Parmi eux, DMA ne peut pas contacter directement le programme utilisateur et utilise le pilote de périphérique comme intermédiaire.
2) La transmission de données n'occupe pas le CPU Entièrement contrôlé par le matériel DMA
3) Le post-traitement consomme du CPU Le contrôleur DMA envoie une demande d'interruption au CPU
mode canal
Lorsque l'hôte exécute une commande IO, il démarre le canal concerné, exécute le programme de canal et termine l'opération IO.
Processeur de canal, un coprocesseur spécialement utilisé pour la gestion des E/S, avec fonctions d'interruption, DMA et de contrôle de programme
Le programme de canal se trouve dans la mémoire principale, est exécuté par le canal et ne peut être exécuté que dans un système IO avec un canal
Le plus efficace
Interface E/S (contrôleur IO)
Fonction
Décodage d'adresse, sélection d'appareil
Communication entre l'hôte et les périphériques
tampon de données
Conversion de format de signal
Transmettre les commandes de contrôle et les informations d'état
structure basique
L'interface IO est connectée à la mémoire et au CPU via le bus IO côté hôte.
Les ports sont des registres utilisés pour la lecture et l'écriture dans les circuits d'interface. Plusieurs ports et logiques de contrôle forment ensemble une interface
L'instruction IO est une instruction privilégiée utilisée par le logiciel IO sous-jacent du noyau du système d'exploitation.
taper
Divisé par méthode de transmission de données
en série
parallèle
Divisé par méthode de contrôle
interface du programme
Interface d'interruption
Interface DMA
Divisé par fonction
Programmable
Non programmable
Port E/S
Mémoire directement accessible par le CPU dans le circuit d'interface
Adressage
Adressage unifié
mappage de la mémoire
Distinguer du code d'adresse
Traitez les ports IO comme des unités de stockage pour l'allocation d'adresses
Utiliser des instructions d'accès à la mémoire unifiée pour accéder aux ports IO
Adressage indépendant
Méthode de mappage des E/S
Configurez des instructions d'E/S spéciales pour accéder
Lors de l'exécution d'une instruction, la CPU utilise des lignes d'adresse pour sélectionner le port IO Utilisez des lignes de données pour transférer des données entre les registres du processeur et les ports IO