Galerie de cartes mentales Principes de composition informatique
Synthèse des connaissances sur les principes de composition informatique. Il implique de nombreux aspects des connaissances tels que les instructions informatiques, la représentation numérique, les principes du multiplicateur et du diviseur, le système d'instructions MIPS, etc. Il aide les apprenants des principes de composition informatique à trier la structure des connaissances, à maîtriser rapidement les principes et la technologie de la composition informatique et à établir une base solide. fondation informatique.
Modifié à 2024-03-02 22:24:43Cent 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
Présentation de l'ordinateur et technologie
introduction
Classification des ordinateurs et leurs caractéristiques
Ordinateur personnel
serveur
Exécutez des tâches lourdes avec accès au réseau
supercalculateur
Serveur haut de gamme
Avis
To : 10 ^ 12 octets
TiB : 2 ^ 40 octets
ordinateur embarqué
Le plus gros montant
L'ère post-PC
Appareil mobile personnel PMD
Smartphones, tablettes
Cloud computing
Un grand cluster de serveurs qui fournit des services sur le réseau
8 bonnes idées en architecture de système informatique
Concevoir pour la loi de Moore
Le niveau d'intégration sur une seule puce double tous les 18 à 24 mois, et les concepteurs d'ordinateurs doivent prédire le niveau du processus lorsque la conception est terminée plutôt que lorsqu'elle est démarrée.
Utiliser des abstractions pour simplifier la conception
Utilisez l'abstraction pour représenter différents niveaux de conception. Les détails de bas niveau ne peuvent pas être vus au niveau supérieur, et seul un modèle simplifié peut être vu.
Accélérez les événements à forte probabilité
Des performances bien meilleures que l'optimisation des événements à faible probabilité
Améliorer les performances grâce au parallélisme
Améliorer les performances grâce au pipeline
Un scénario parallèle spécial, similaire au passage de seaux en relais
Améliorez les performances grâce aux prédictions
En supposant que la récupération après des prédictions erronées n'est pas coûteuse et que la précision des prédictions est relativement élevée, effectuez certaines opérations à l'avance en devinant
hiérarchie de la mémoire
La couche supérieure est rapide, a une petite capacité et est coûteuse, mais la couche inférieure est à l'opposé.
Augmentez la fiabilité grâce à la redondance
Les pièces redondantes peuvent remplacer les pièces défectueuses et aider à détecter les erreurs
Introduction aux concepts de programmation
hiérarchie du système informatique
ordinateur von Neumann
Le système matériel informatique se compose d'unités arithmétiques, de contrôleurs, de mémoire et de périphériques d'E/S.
Utiliser le codage binaire pour représenter les données
Unifiez les programmes et les données
Les ordinateurs ont la capacité de traiter des instructions séquentielles
logiciel
Couche d'application
Principes du système de base de données
couche d'algorithme
Structure des données, conception et analyse d'algorithmes
couche linguistique de haut niveau
Bases de la programmation, programmation C
couche du système d'exploitation
Principes de compilation, systèmes d'exploitation
logiciel système
système opérateur
Gérer les entrées et sorties de base
Attribuer le village extérieur et la mémoire
Fournit des services de partage de ressources informatiques entre plusieurs applications
Compilateur
Traduire des programmes écrits dans des langages de haut niveau en instructions pouvant être exécutées par le matériel
Couche du système d'instructions : jeu d'instructions
Principes de composition informatique
matériel
Couche du système d'instructions : jeu d'instructions
Principes de composition informatique
Couche logique : opérations logiques, circuits de portes
Mathématiques discrètes, logique numérique
Du langage de haut niveau au langage matériel
Bit binaire
éléments d'information de base
instruction
Commandes que le matériel informatique comprend et obéit
assembleur
Traduire automatiquement les instructions sous forme mnémonique en binaire correspondant
Langage d'assemblage
Instructions machine exprimées sous forme mnémonique
Language de machine
Une instruction machine exprimée sous forme d'élément binaire
langage de programmation de haut niveau
Les langages portables tels que C, C, Java, Visual et Visual Basic sont constitués de mots et de symboles algébriques et peuvent être convertis en langage assembleur par le compilateur.
performances de l'ordinateur
critères d'évaluation des performances
Débit et temps de réponse
temps de réponse temps de réponse
Temps d'exécution, temps total nécessaire à un ordinateur pour accomplir une tâche, y compris l'accès au disque dur, l'accès à la mémoire, les activités d'E/S, la surcharge du système d'exploitation et le temps d'exécution du processeur, etc.
débit
La bande passante représente le nombre de tâches terminées par unité de temps
performance relative
Mesure du rendement
Période d'horloge et fréquence d'horloge
cycle d'horloge
Les systèmes informatiques utilisent des horloges pour piloter diverses choses qui se produisent dans le matériel
Le cycle d'horloge est le temps de l'intervalle d'horloge, c'est-à-dire le temps d'un cycle d'horloge
Fréquence d'horloge
réciproque de la période d'horloge
Temps d'exécution du processeur
Le temps passé sur le CPU pour exécuter une certaine tâche (hors IO et temps passé sur d'autres tâches)
Temps CPU utilisateur
Le temps nécessaire au CPU pour exécuter les programmes utilisateur
Temps CPU système
Temps CPU passé par le système d'exploitation au service des utilisateurs
Performance des instructions
IPC
Cycles d'horloge par instruction
Nombre moyen de cycles d'horloge CPU par instruction
Formule classique de performances du processeur
Temps d'exécution CPU d'un programme = Nombre de cycles d'horloge CPU pour un programme x temps de cycle d'horloge = Nombre de cycles d'horloge du processeur pour une fréquence de programme/horloge
Nombre de cycles d'horloge CPU pour un programme = Le nombre d'instructions dans le programme x le nombre moyen de cycles d'horloge par instruction (CPI)
Temps CPU = nombre d'instructions temps de cycle d'horloge xCPIx = nombre d'instructions xCPI/fréquence d'horloge
Avis
Le nombre d'instructions dépend de l'architecture de l'ordinateur et ne dépend pas de la configuration de l'ordinateur. Mise en œuvre
Le CPI est étroitement lié à divers détails de conception de l'ordinateur, y compris le système de stockage. et architecture du processeur
Le CPI est différent pour différentes applications et différentes implémentations du même jeu d'instructions
Les trois facteurs doivent être pris en compte lors de la comparaison de deux ordinateurs
Facteurs liés à la performance du programme
Introduction aux concepts matériels
Les composants d'ordinateur
Chemin de données
Opérations arithmétiques et logiques complètes, incluant généralement des registres
contrôle
Composant du processeur, il dirige les opérations de chemin de données, de mémoire et d'E/S selon les instructions du programme pour compléter conjointement les fonctions du programme.
mémoire
Un endroit où les programmes d'exécution et les données dont ils ont besoin sont stockés.
saisir
Matériel informatique destiné à transporter des informations, tel qu'un clavier, une souris, etc.
écran tactile
détection capacitive
sortir
Appareils qui affichent les résultats des calculs aux utilisateurs, tels que les moniteurs, les disques, les imprimantes, les haut-parleurs, etc.
moniteur
Écran LCD
L'écran LCD n'est pas une source de lumière, mais un dispositif de contrôle de la transmission de la lumière.
Affichage matriciel dynamique
Utiliser des transistors pour contrôler la transmission de la lumière sur des pixels individuels
Pixels
La plus petite unité d'éléments d'image
matériel
CPU
Chemin de données
Opérations arithmétiques complètes
manette
Guidez les chemins de données, les mémoires et les périphériques d’E/S pour qu’ils s’exécutent correctement conformément aux instructions du programme.
Cache
Mémoire statique à accès aléatoire (SRAM)
Rapide, cher
mémoire
Temps d’accès et capacité
Principes de construction et de lecture et d’écriture
mémoire principale
Mémoire vive dynamique DRAM
unité de stockage de base
construction et représentation
Les informations sont stockées sur le condensateur CS et T est le tube de commande de porte, qui contrôle l'entrée et la sortie des données. Sa porte est reliée à la sélection lecture/écriture La ligne (ligne de mots), le drain et la source sont connectés respectivement à la ligne de données (ligne de bits) et au condensateur de mémoire CS. données 1 ou 0 au condensateur CS Cela peut être jugé par la présence ou l’absence de charge électrique.
Principes de lecture et d'écriture
Ajoutez un niveau élevé à la ligne de sélection (mot) pour allumer le tube en T. Lors de l'écriture de « 0 », ajoutez un niveau bas à la ligne de données pour que la charge sur CS se décharge sur la ligne de données ; Lors de l'écriture de « 1 », ajoutez un niveau élevé à la ligne de données pour charger la ligne de données sur CS ; Lors de la lecture, il y a une tension de lecture sur la ligne de données. Il est proportionnel au montant de la redevance sur CS.
Composant central : transistor MOS
Illustration des opérations de lecture, d'écriture et d'actualisation
Structure logique de la puce
bande de module de mémoire
Il utilise un certain nombre de puces mémoire sur un petit circuit imprimé en forme de bande pour former un module mémoire avec une capacité de stockage fixe.
Classification
30 pieds
Ligne de données 8 bits, capacité 256 Ko ~ 32 Mo
72 pieds
Bus de données 32 bits
Plus de 100 pieds
Utilisé pour le bus de données 32 bits et le bus de données 64 bits, capacité 4 Mo ~ 512 Mo.
Autres mémoires vives dynamiques
Mémoire vive dynamique synchrone SDRAM
Mémoire vive dynamique avec une interface synchrone. Habituellement, la mémoire vive dynamique (DRAM) possède une interface asynchrone qui lui permet de répondre à tout moment aux modifications des entrées de contrôle. La SDRAM possède une interface de synchronisation qui attend un signal d'horloge avant de répondre à une entrée de commande, afin de pouvoir être synchronisée avec le bus système de l'ordinateur. L’horloge est utilisée pour piloter une machine à états finis qui achemine les instructions entrantes. Cela permet à la SDRAM d'avoir un mode de fonctionnement plus complexe par rapport à la DRAM asynchrone sans interface synchrone.
Mémoire vive dynamique synchrone à double débit de données DDR SDRAM
Il s'agit d'une SDRAM avec un double taux de transfert de données. Sa vitesse de transfert de données est deux fois supérieure à la fréquence d'horloge du système. En raison de la vitesse accrue, ses performances de transfert sont meilleures que la SDRAM traditionnelle.
Le nombre de broches sur un côté de la mémoire est de 92 (184 des deux côtés), il y a 52 broches sur le côté gauche de l'encoche et 40 broches sur le côté droit de l'encoche ;
La deuxième génération de mémoire vive dynamique synchrone à double débit de données DDR2 SDRAM
Il offre des performances de fonctionnement plus élevées et une tension plus faible que la DDR SDRAM, et est le successeur de la DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
Il y a 120 broches sur le côté simple de la mémoire (240 broches sur le double côté), 64 broches sur le côté gauche de l'encoche et 56 broches sur le côté droit de l'encoche ;
La troisième génération de mémoire vive dynamique synchrone à double débit de données DDR3 SDRAM
Il offre des performances de fonctionnement plus élevées et une tension inférieure à la SDRAM DDR2, et est le successeur de la SDRAM DDR2 (mémoire vive dynamique synchrone à débit de données quadruple) (augmenté à huit fois).
Il y a également 120 broches sur le côté simple de la mémoire (240 broches sur le double côté), 72 broches sur le côté gauche de l'encoche et 48 broches sur le côté droit de l'encoche.
disque
Diagramme schématique de l'apparence et de la structure
principe de fonctionnement
Écrire 1 : la bobine fait passer le courant direct, ce qui la rend à l'état NS
Écrire 0 : la bobine laisse passer le courant inverse, ce qui la rend à l'état S-N
Lecture : La tête magnétique est immobile et le support bouge. Étant donné que les lignes de champ magnétique à l'extérieur de la petite unité magnétisée sur le support forment une boucle fermée à travers le noyau de la tête magnétique, une tension induite est obtenue aux deux extrémités de la bobine centrale. Selon la polarité, 1 ou 0 peut être lu
structure de stockage
mémoire flash
Une mémoire de lecture/écriture non volatile haute densité développée sur la base d'éléments de stockage EPROM.
Une densité élevée signifie qu’il dispose d’un grand nombre de bits de capacité de stockage.
Non volatile signifie que les données stockées peuvent être conservées pendant une longue période sans alimentation.
Il présente les avantages de la RAM et de la ROM, ce qui peut être considéré comme un progrès historique dans la technologie de stockage.
CD
Principe de lecture
Les systèmes de disques optiques en lecture seule (CD-ROM) reposent tous sur un principe commun, à savoir que les informations sur le CD sont distribuées sous forme de creux, les creux étant représentés par "1" et les sans creux par "0". une série de creux (élément de mémoire) forme un enregistrement d'informations.
Pour les disques CDROM utilisés pour le stockage de données, cette distribution en fosse sert de marque d'écriture ou de lecture des codes numériques "1" et "0". Pour cela, un laser doit être utilisé comme source de lumière et un bon système optique peut être utilisé pour y parvenir.
Les informations enregistrées sur le disque optique sont stockées en permanence sous forme de creux. Pendant la lecture, lorsque le point focal du faisceau laser est irradié sur la fosse Une diffraction se produira et la réflectivité est faible ; la majeure partie de la lumière reviendra lorsque le foyer atteint une surface convexe. basé sur la lumière réfléchie Les informations enregistrées peuvent être lues en modifiant l'intensité lumineuse et en effectuant une conversion photoélectrique.
structure de stockage
La piste sur laquelle les informations sont enregistrées est appelée piste lumineuse. La piste optique est divisée en secteurs, qui constituent les plus petites unités adressables du disque optique. La structure du secteur est illustrée dans la figure.
ruban adhésif
Le principe d'enregistrement d'un lecteur de bande est fondamentalement le même que celui d'un lecteur de disque magnétique, sauf que son support magnétique est une bande de plastique appelée bande magnétique. Lors de l'écriture, le code d'information peut être enregistré sur la bande via la tête magnétique. Lorsque la bande sur laquelle le code est enregistré se déplace sous la tête magnétique, une force électromotrice peut être induite sur la bobine de la tête magnétique, c'est-à-dire que le code d'information peut être lu. L'équipement de stockage sur bande se compose de deux parties : un lecteur de bande et une bande. Il est généralement utilisé comme sauvegarde de données pour l'équipement de stockage de masse.
La bande est plus lente que le disque car les données sur la bande sont accédées de manière séquentielle, alors que le disque est accédé de manière aléatoire.
Classification
Ruban adhésif 1/4 de pouce (QIC)
36-72 pistes, enregistrement de données parallèle
Capacité 80 Mo ~ 1,2 Go
Bande audio numérique (DAT)
analyse de rotation
Capacité 12 Go
ruban de 8 mm
Capacité 25 Go
Bande linéaire numérique (DLT)
Capacité maximale 35 Go
Technologie de fabrication de processeurs et de mémoires
transistor
Interrupteur simple contrôlé par signal électrique
circuit intégré
Une puce composée de milliers de transistors
circuit intégré à grande échelle
Circuits composés de centaines de milliers à des millions de transistors
Mur de consommation d'énergie du processeur
Problème de mur d'alimentation
La technologie de circuit intégré dominante est le CMOS, dont la principale consommation d'énergie La source est une dissipation de puissance dynamique, c'est-à-dire la puissance dissipée pendant le processus de commutation du transistor Consommation d'énergie = capacité de charge x tension² x fréquence de découpage ▪ Fréquence de commutation en fonction de la fréquence d'horloge ▪ La capacité de charge est fonction du nombre de transistors connectés à la sortie et au processus. ▪ Actuellement, chaque génération de CPU réduit la tension pour compenser la consommation électrique provoquée par l'augmentation de la fréquence. Croissance, en 20 ans, le voltage est passé de 5V à 1V
Comment améliorer encore les performances de l'ordinateur
L’utilisation d’une technologie de refroidissement plus puissante coûte cher
Passer du monoprocesseur au multiprocesseur
■Dans le passé, les programmeurs pouvaient s'appuyer sur des innovations en matière de matériel, d'architecture et de compilateurs pour doubler les capacités de leurs programmes tous les 18 mois sans modifier le code. ■Maintenant, les programmeurs qui souhaitent améliorer considérablement les temps de réponse doivent réécrire leurs programmes et, à mesure que le nombre de cœurs continue de doubler, les programmeurs doivent continuer à améliorer leur code.
Exemples de fabrication de processeurs
Matériau semi-conducteur : silicium
L'ajout de certains matériaux au silicium à l'aide de produits chimiques spéciaux peut transformer de minuscules zones en
bon chef d'orchestre
bon isolant
conducteur ou isolant contrôlable
Les circuits VLSI sont constitués de centaines de millions de combinaisons des matériaux ci-dessus.
instructions informatiques
Concepts de base, système d'instruction MIPS
Concepts de base des instructions
Trois niveaux de langage informatique
langage de haut niveau
Langage d'assemblage (écriture de programmes utilisant des mnémoniques d'instruction)
Langage machine (écriture de programmes avec des codes d'instructions)
Il s'agit d'un système de jeux d'instructions. Ce jeu d'instructions est appelé code machine, qui sont des données que le CPU peut interpréter directement.
Commandes et systèmes de commande
instruction
La plus petite unité fonctionnelle du fonctionnement d'un ordinateur est une commande qui dirige le fonctionnement du matériel informatique. Il s'agit d'une chaîne de bits composée de plusieurs bits binaires.
Toutes les instructions fournies par un ordinateur constituent le système d'instructions de l'ordinateur. Les instructions sont utilisées par les programmeurs pour indiquer à l'ordinateur d'effectuer une opération de base et une fonction de traitement. Plusieurs instructions peuvent former un programme pour accomplir une tâche attendue.
système de commande
définition
Toutes les instructions fournies par un ordinateur constituent le système d'instructions de l'ordinateur.
Les instructions sont utilisées par les programmeurs pour indiquer à l'ordinateur d'effectuer une opération de base ou une fonction de traitement.
exemple
X86
système
Windows, Linux
ébrécher
Intel, AMD
ICIC
BRAS
système
Android, iOS, Windows mobile
ébrécher
Muflier, Apple, Kirin
MIPS
système
Linux
ébrécher
Filleul n°3
RISQUE
CISC et RISC
Le développement de systèmes de commandement
Ordinateur à jeu d'instructions complexes CISC
Des centaines d'instructions et un énorme système d'instructions allongent le cycle de développement informatique, ce qui rend difficile la garantie de l'exactitude et le débogage et la maintenance. Un grand nombre d'instructions complexes avec une faible fréquence d'utilisation sont utilisées, ce qui entraîne un gaspillage de ressources matérielles.
RISQUE
La somme de la fréquence d'utilisation des dix instructions les plus couramment utilisées dans le jeu d'instructions X86 atteint 96 %
Jeu d'instructions MIPS
Opérations sur le matériel informatique MIPS
signification
Puce RISC à microprocesseur sans étage de pipeline de verrouillage interne
application
Supercalculateur SGI
Systèmes embarqués
routeur
équipement de jeu
Loongson chinois
Schéma du système informatique MIPS 32 bits
Concepts de base et connaissances de base
bit, octet, mot
Bitbit
Un bit en binaire, la plus petite unité d'information
Octetoctet
8 bits
Mot mot
Un terme qui représente une unité de données
Le nombre de bits dans un mot (longueur du mot) est une caractéristique importante de l'architecture du système informatique.
La longueur des mots des ordinateurs modernes est généralement de 32 ou 64 bits.
Stockage des données en mémoire
mémoire
Peut être considéré comme un tableau d'octets
Chaque octet a un index unique : adresse
Lors de l'accès à un octet de mémoire, une adresse est requise
Un mot occupe plusieurs octets
32 bits
1 mot = 4 octets
64 bits
1 mot = 8 octets
L'adresse du mot est l'adresse du premier octet qu'il contient
L'adresse de début du mot doit être un multiple de 4
Ordre de stockage des octets
adressage petit-boutiste
Octets Little Endian comme adresse de mot
adressage big endian
Octet gros-boutiste comme adresse de mot
Représentation binaire des instructions MIPS
Les instructions MIPS sont toutes des instructions à un seul mot (longueur de l'instruction = longueur du mot machine)
Matériel MIPS
Processeur MIPS
32 registres à usage général
Chaque taille de registre est égale à la taille d'un seul mot, 32 bits
Registre MIPS
Mémoire informatique MIPS (32 bits)
Dans les systèmes informatiques MIPS (32 bits), les adresses sont des chaînes binaires de 32 bits
La capacité de mémoire maximale est de 2 ^ 32 octets/2 ^ 30 mots
L'adresse de début du mot doit être un multiple de 4
Fonctionnalités de l'ordinateur MIPS 32 bits
Les registres sont utilisés pour un accès rapide aux données. Dans MIPS, seules les opérations arithmétiques peuvent être effectuées sur les nombres stockés dans les registres. Le registre $zero est toujours 0 et le registre $at est réservé par l'assembleur pour le traitement des constantes volumineuses.
La mémoire n'est accessible que via des instructions de transfert de données. MIPS utilise l'adressage par octets, donc les adresses de mots consécutifs diffèrent de 4. Mémoire utilisée pour contenir les structures de données, les tableaux et les registres de débordement
Opérandes matériels informatiques MIPS
Opérandes d'enregistrement et opérandes de mémoire
Enregistrer l'opérande
Les opérandes des opérations arithmétiques doivent provenir de registres
Les ordinateurs MIPS ont 32 registres, chaque registre a une taille de 32 bits
Par exemple
opérande mémoire
instructions de transfert de données
définition
Instructions qui transfèrent des données entre la mémoire et les registres
Classification
Récupérer l'instruction lw (charger le mot)
Mot de magasin sw (mot de magasin)
Débordement de registre
définition
Le nombre de variables du programme dépasse de loin le nombre de registres. Processus de stockage de variables inhabituelles en mémoire.
Les données des registres sont plus faciles à utiliser
Une instruction arithmétique MIPS peut lire deux registres, effectuer des opérations et stocker le résultat.
Une instruction de transfert de données MIPS ne peut lire ou écrire qu'un seul opérande.
Par rapport à la mémoire, les registres ont un temps d'accès plus court et un débit plus élevé. L'accès aux registres consomme moins d'énergie que la mémoire.
Pour obtenir des performances plus élevées et économiser de l'énergie, le compilateur doit utiliser efficacement les registres.
Opérande constant ou immédiat
Fournir un opérande directement dans l'instruction
Le registre $zéro est toujours défini sur 0
Opérations constantes ou immédiates
ajouter immédiatement
Numéros immédiats et andi rt rs,imm
Instruction immédiate de récupération de bits élevés lui rt,imm
Obtenez le numéro immédiat le plus proche, imm
résumé
Le langage assembleur MIPS complet dans le livre
Opérandes MIPS
Langage d'assemblage MIPS
Format d'instructions MIPS
Représentation des instructions dans les ordinateurs
mot de commande
Représentation binaire complète d'une instruction
Longueur du mot d’instruction
Nombre de chiffres de code binaire dans le mot d'instruction
Format de commande
code opération
Indiquez la fonction d'opération de cette instruction. Chaque instruction a un certain code d'opération.
adresse d'opérande
Spécifie l'adresse où est stocké l'opérande, parfois l'opérande lui-même (valeur immédiate)
Illustration
La forme numérique des instructions devient un langage machine, et une telle séquence d'instructions devient un code machine.
Les instructions dans les ordinateurs sont représentées par une séquence de plusieurs signaux électriques hauts et bas.
Enregistrer les règles de codage dans le langage d'assemblage MIPS
$s0-$s7 correspond à 16-23
$t0-$t7 correspond à 8-15
Une instruction machine en langage assembleur MIPS
Langage d'assemblage
ajouter $t0,$s1,$s2
Forme décimale
forme binaire
hexadécimal
Format d'instructions MIPS
Allocation de l'espace de stockage
expliquer
op
Opérations de base des instructions (opcodes)
rs
premier registre d'opérande source
rt
registre du deuxième opérande source
rd
Registre de destination utilisé pour stocker les résultats des opérations
honte
Montant du déplacement, utilisé dans les instructions de quart de travail
fonction
Code de fonction, utilisé pour indiquer une variante spécifique de l'opération dans le champ op
Il ya un problème
Deux registres et une constante, la constante est limitée à 2^5
compromis
Pour conserver toutes les instructions de la même longueur, autorisez différents types d'instructions à avoir des formats d'instructions différents.
Trois types de formats
résumé
instruction
exemple
Instructions d'opération logique
Opérations logiques
définition
Opérer sur plusieurs bits ou un seul bit dans un mot
taper
exemple
Décalage logique vers la gauche, décalage logique vers la droite
ET au niveau du bit
OU au niveau du bit
Négation au niveau du bit
code opération
Décalage logique vers la gauche
sll
Décalage logique à droite
srl
ET au niveau du bit
et, andi
OU au niveau du bit
ou, ori
Négation au niveau du bit
ni
Instructions de décision
définition
Exécuter différentes instructions en fonction des entrées et des valeurs générées lors des calculs
Classification
instructions de branchement conditionnel
branche si égale
beq registre1, registre2, L1
branche si elle n'est pas égale
bne registre1,registre2,L1
exemple
langage de haut niveau
si(i==j) f=g h; sinon f=g-h;
Langage d'assemblage
bne $s3,$s4,Else #Si ij n'est pas égal, allez à Else ajoutez $s0,$s1,$s2 #gh additionnez et enregistrez dans f j Quitter #Aller à Quitter Sinon : sub $s0,$s1,$s2 #gh soustrait et enregistre dans f Sortie:
Compiler l'instruction while en boucle
langage de haut niveau
pendant que(sava[i]==k) je =1 ;
Langage d'assemblage
Boucle : sll $t1,$s3,2 #$t1=4*i add $t1,$t1,$s6 #$t1=adresse de sauvegarde[i] ($s6 contient l'adresse de sauvegarde) lw $t0,0($t1) #$t0=sauvegarder[i] bne $t0,$s5,Exit #save[i] sortir quand il n'est pas égal à k ajouter $s3,$s3,1 #i=i 1 j Boucle #Revenir à la boucle Sortie:
Définir si inférieur à
effet
Compare si une variable est inférieure à une autre
grammaire
slt$t0,$s3,$s4
expliquer
Lorsque la valeur de $s3 est inférieure à la valeur de $s4, $t0 est défini sur 1, sinon il est défini sur 0.
résumé
Support matériel informatique pour les processus, mode d'adressage des instructions MIPS
Support informatique MIPS pour les processus
Règles d'attribution des registres
$a0~$a3
Passer les paramètres
$v0~$v1
valeur de retour
$ra
Registre des adresses de retour pour revenir au point de départ
Instructions de saut et de liaison
Accédez à une adresse et enregistrez l'adresse de l'instruction suivante dans le registre $ra
jal ProcedureAddress
enregistrer l'instruction de saut
Passer sans condition à l'adresse spécifiée par le registre
jr $ra
Représentation numérique et opérations
Encodage et représentation des données
Objets qui doivent être stockés dans l'ordinateur
Représenté par encodage
élément fondamental
0, 1
personnage
Nombre de chiffres
26 lettres -> 5 chiffres
Autres symboles majuscules et minuscules -> 7 bits
Texte dans d'autres langues du monde -> 16 bits (Unicode)
Interface homme-machine importante
Composé de symboles
Chaque symbole est codé et finalement converti par le périphérique d'entrée et de sortie
Généralement stocké dans la mémoire de l'ordinateur sous la forme d'une chaîne
Diverses normes de codage de jeux de caractères
ASCII
Code américain normalisé pour l'échange d'information
Utilisation d'un codage binaire 7 bits, plus un bit de contrôle pair, un total de 8 bits, occupant 1 octet
Représente 128 caractères occidentaux
alphabet anglais
Décimal
Ponctuation
détails
UNICODE
En utilisant 16 bits pour représenter un caractère, 65 536 caractères peuvent être représentés
Divisez tout l'espace de codage en blocs, chaque bloc est un multiple entier de 16 et allouez-le par bloc
Réservez 6 400 points de code pour la localisation
Je ne peux toujours pas couvrir tous les personnages
représentation numérique des données
Examen : lié au système de base
Méthode de comptage de report (toute base est développée selon le système décimal)
formule
signification
N représente une valeur numérique
r est la base de ce système numérique
i représente le nombre de bits de ces symboles, à partir de 0
Di est un symbole au bit numéro i
r^i est la valeur représentée par un 1 sur le numéro de bit i
Bases couramment utilisées
Le binaire est utilisé en interne dans les ordinateurs
Octal hexadécimal est l'abréviation de binaire
Système décimal à usage humain
Conversion du système numérique
Facteurs liés au choix de la manière de représenter vos données
type de données
Nombres décimaux, entiers, nombres réels, nombres complexes
Plage numérique
Les valeurs maximales et minimales que les données peuvent rencontrer
Précision numérique
Le nombre de chiffres significatifs qu'un nombre réel peut donner ; pour les nombres à virgule flottante, une précision insuffisante entraînera des erreurs et l'accumulation d'erreurs entraînera des problèmes.
Coût matériel de stockage, de traitement et de transmission
Espace de stockage occupé, vitesse de transmission
Deux formats de données couramment utilisés
nombre à virgule fixe
Caractéristiques
Position du point décimal fixe
entier à virgule fixe
Décimal à virgule fixe
Plage numérique limitée, nécessitant un matériel de traitement simple
Méthode de représentation des nombres à virgule fixe
Format à virgule fixe
Il est convenu que la position du point décimal de toutes les données est fixe
Comme il est convenu d'être à une position fixe, le point décimal n'est plus représenté par un symbole.
Les données sont généralement représentées sous forme de décimales pures ou d'entiers purs
méthode d'affichage
décimal pur
Le point décimal est compris entre Xn et Xn-1
[0,1-2^(-n)]
entier pur
Le point décimal est à droite de X0
[0,2^n-1]
codage d'entiers
Code d'origine
composition
Bits de signe Valeur absolue du nombre
Les nombres positifs sont exprimés comme ceci
Les nombres négatifs sont exprimés comme ceci
portée
Caractéristiques
L'expression est simple, facile à convertir entre les mêmes vraies valeurs, et les règles des opérations de multiplication et de division sont simples.
Les opérations d'addition et de soustraction sont fastidieuses
Addition : Ajoutez des valeurs de même signe et conservez le signe ; soustrayez des valeurs de signes différents.
Soustraction : comparez d'abord les valeurs absolues, puis utilisez celle avec la valeur absolue la plus grande comme fin de minute, et l'autre comme sous-trahend pour faire la différence, et utilisez le symbole avec la valeur absolue la plus grande comme symbole
Il y a 0 et -0
C'est très déroutant, tu vois
10000000
00000000
code inverse
Signer la négation au niveau du bit de la valeur
Caractéristiques
Le complément de 0 n'est pas unique
Gammes
complément
Son complément 1
Le complément d'un nombre positif est le nombre positif lui-même, et le complément d'un nombre négatif est le nombre négatif d'origine plus modulo
bit de signe complémentaire
Caractéristiques
Convertir les opérations de soustraction en opérations d'addition
Le complément de la vraie valeur 0 est unique
Gammes
numéro signé
numéro non signé
Résumer
Le code original et le complément du nombre positif sont les mêmes
Le bit de signe est 0 et le bit numérique est la vraie valeur.
Le code inverse original de 0 a deux codes et le code complémentaire n'en a qu'un.
Le code original et le complément d'un nombre négatif sont différents.
Signer le bit 1
Bits numériques
Code d'origine : valeur absolue du nombre
Code négatif : annuler la valeur absolue
Complément à deux : complément à un 1
nombre à virgule flottante
Position du point décimal flottant
La plage numérique est très large et le matériel de traitement requis est complexe.
méthode d'affichage
Notation scientifique décimale
Notation scientifique binaire
Comment représenter des nombres à virgule flottante
Méthode de représentation normalisée
Lorsque la valeur de la mantisse n'est pas 0, le bit le plus à gauche du champ de mantisse est toujours 1
Le bit de poids fort est toujours 1, ce bit n'est donc pas stocké et est considéré comme masqué à gauche du point décimal.
Norme IEEE754
norme arithmétique à virgule flottante
La base est spécifiée comme 2, le code exposant E est représenté par un décalage de cadre et la mantisse M est représentée par le code d'origine. Selon la méthode de normalisation binaire, le bit le plus élevé de la valeur est toujours 1. Cette norme stocke. this 1 par défaut, ce qui rend la plage de représentation de la mantisse plus grande que celle de stockage réelle.
Résumer
forme normalisée
Nombre à virgule flottante simple précision
Nombre à virgule flottante double précision
Calcul de vérité en virgule flottante
Nombre à virgule flottante normalisé de 32 bits
Nombre à virgule flottante normalisé de 64 bits
réglementation spéciale
E est entièrement 0, M est entièrement 0, alors x=0 combiné avec le bit de signe, il y a 0 et -0 ;
E est tout 1, M est tout 0, alors x=infini combiné avec le bit de signe, il y a l'infini positif et négatif ;
Plage numérique (32 bits)
Code E
Nombre binaire de 8 bits
Plage de valeurs réelles de l'exposant : -126 ~ 127
Cas particulier
code de détection et de correction des erreurs
distance codée
Il existe au moins quelques différences binaires entre deux codes légaux.
Trois codes de détection et de correction d'erreurs couramment utilisés
code de parité
pour le transfert de données parallèle
principe
Ajoutez 1 bit de contrôle en plus du code de données de k bits, de sorte que le nombre de chiffres avec une valeur de 1 dans le mot de code de k 1 bit reste toujours un nombre pair ou impair.
représentation informatique
Circuit de mise en œuvre
Code de vérification de Hamming
pour le transfert de données parallèle
code de contrôle de redondance cyclique
pour le transfert de données en série
Processus de livraison et d’inspection
valeur logique
0->Faux,1->Vrai
couleur
Localisation, adresse, instructions
Opération
Principes d'addition et de soustraction à virgule fixe
Addition et soustraction du complément à deux
formule
Fonctionnalités additives
Le bit de signe doit être traité comme faisant partie du numéro pour participer à l'opération
Les reports dépassant modulo 2 ^ (n 1) sont rejetés
Détection de débordement
Le concept de débordement
Dans les machines à nombres entiers à virgule fixe, la valeur absolue de la plage de représentation des nombres est <2^(n-1)
Pendant l'opération, le phénomène selon lequel le résultat de l'opération dépasse la plage que peut représenter la longueur du mot machine est appelé débordement.
Un débordement peut se produire
Ajoutez deux nombres positifs, devenez négatif, débordez
Ajoutez deux nombres négatifs pour les rendre positifs et sous-débordés.
Méthode de détection
méthode de bit à double signe
Les nombres impliqués dans les opérations d'addition et de soustraction sont exprimés à l'aide de codes complémentaires déformés.
Règles de calcul
Les deux bits de signe sont traités comme des nombres et participent aux opérations.
Deux nombres sont ajoutés modulo 2 ^ (n 2) et la retenue générée dans le bit de signe le plus élevé est ignorée.
Détection
méthode de bit de signe unique
Le bit le plus élevé est généré
Composition de la calculatrice
compétences de base
Opérations arithmétiques et logiques complètes
Obtenir les opérandes : enregistrer la banque, le bus de données
Résultats des opérations de sortie et de stockage : groupe de registres, bus de données
Stockage temporaire des résultats intermédiaires des opérations : registre à décalage
Obtenir l'état du résultat de l'opération
Comprendre et répondre aux signaux de contrôle
circuit logique de base
circuit de porte logique
Opération logique complète
Additionneur
Terminer l'opération d'addition
déclenchement
enregistrer des données
Multiplexeur, décaleur
sélectionner, connecter
Chemin de données
Fonctionnalité et design ALU
Fonction
Opérations arithmétiques et logiques complètes sur les opérandes
AJOUTER, ET, OU
conception
Opérations arithmétiques
Additionneur
opération logique
ET portail ou portail
Principe de multiplication et multiplicateurs
Description de l'algorithme de multiplication binaire
algorithme de base
Si le bit courant du multiplicateur == 1, additionner le multiplicande et le produit partiel
Si le bit actuel du multiplicateur == 0, sauter et décaler le produit partiel
Une fois tous les bits complétés, le produit partiel est le résultat final
Multiplicateur à N chiffres*Multiplicande à M chiffres
Produit de N M bits
Algorithme de multiplication un
processus
Améliorer
Chaque fois que X*yi est obtenu, il est cumulé avec le résultat précédent pour obtenir Pi, appelé produit partiel. Parce que nous n’attendons pas la dernière sommation, le coût de sauvegarde des résultats de multiplication X*yi de chaque fois est réduit.
Chaque fois que X*yi est obtenu, au lieu de le déplacer vers la gauche et de l’ajouter au produit partiel Pi précédent, déplacez le produit partiel Pi vers la droite et ajoutez-le à X*yi. Étant donné que l'opération d'addition est toujours effectuée sur les n bits supérieurs du produit partiel, un additionneur à n bits peut être utilisé pour multiplier deux nombres à n chiffres.
Effectuez une addition et un décalage à droite pour les bits qui sont 1 dans le multiplicateur, effectuez un décalage à droite uniquement pour les bits qui sont 0 et n'effectuez pas d'opérations d'addition.
Algorithme de multiplication 2
processus
Principe de division et diviseur
Règle de division du code d'origine
Lors de la division de deux nombres représentés par des codes originaux, le signe du quotient est obtenu en additionnant les signes des deux nombres bit par bit, et la partie numérique du quotient est obtenue en divisant les parties numériques des deux nombres.
division décimale à virgule fixe
Structure matérielle des divisions
Processus de division
Problèmes
Avec la coopération de l'additionneur et du registre, les chiffres du dividende sont plus longs et le quotient doit être calculé petit à petit.
Cela peut être résolu en supprimant le nombre de gauche, et la partie inférieure du dividende peut partager le même registre avec le quotient final, et le reste et le quotient sont décalés vers la gauche en même temps.
Implémentation des divisions
Méthode de division du code d'origine
méthode des restes réparateurs
Lorsque la soustraction ne suffit pas, le reste initial est restauré pour poursuivre l'opération.
Reste actuel plus diviseur
addition et soustraction alternées
Si une soustraction insuffisante se produit pendant l'opération, il n'est pas nécessaire de restaurer le reste et de poursuivre l'opération selon le signe du reste.
Reste > 0, décalez le reste d'une position vers la gauche et soustrayez le diviseur
Reste > 0, décalez le reste d'une position vers la gauche et ajoutez le diviseur
Opérations arithmétiques à virgule flottante
Addition et soustraction à virgule flottante
Addition et soustraction à virgule flottante
Règles arithmétiques
processus
0 vérification de l'opérande
Pour l'ordre, trouvez la différence d'ordre, décalez la mantisse du nombre avec le code d'ordre le plus petit vers la droite et prenez la valeur du code d'ordre plus grande (le déplacement de la mantisse vers la gauche entraîne la perte du bit le plus significatif, ce qui est un grosse perte, donc décalez la mantisse vers la droite)
Ajouter et soustraire des mantisses
Normalisation des résultats
Arrondi
Pourquoi
Lors de l'alignement ou de la normalisation, la mantisse peut être décalée vers la droite et perdre les bits faibles, provoquant ainsi des erreurs.
L'arrondi est également requis lors de la conversion des types de données
Méthode d'arrondi standard IEEE754
Arrondir au plus proche (0 à 1)
Le bit le plus élevé rejeté est 1 en 1
arrondir vers 0
Censuré
arrondir vers l'infini positif
Si les chiffres supplémentaires d'un nombre positif ne sont pas tous 0, ils sont arrondis à 1 ; si le nombre est négatif, ils sont tronqués.
Arrondir vers l'infini négatif
Si les chiffres supplémentaires d'un nombre négatif ne sont pas tous 0, ils sont arrondis à 1 si un nombre positif est tronqué,
contrôle de débordement
débordement à virgule flottante
débordement
La valeur est trop grande
La valeur du code exposant dépasse la plage de représentation de 8 bits binaires
sous-verse
La valeur est trop petite
Le code exposant dépasse la plage de représentation du binaire 8 bits
Illustration
Jugement et traitement des débordements
Le débordement de nombres à virgule flottante est exprimé sous forme de débordement de code.
Synchronisation à gauche (déplacez la mantisse vers la gauche, code exposant -1)
Déterminez d'abord si le code d'exposant est entièrement à 0, si c'est le cas, le code d'exposant est sous-dépassé ; sinon, après le code d'exposant -1, déterminez si le code d'exposant est entièrement à 0, si c'est le cas, alors le code d'exposant est sous-dépassé.
Synchronisation à droite (déplacez la mantisse vers la droite, code exposant 1)
Déterminez d'abord si le code de l'exposant est entièrement à 1, si c'est le cas, le code de l'exposant est sous-dépassé ; sinon, une fois que le code de l'exposant est à 1, déterminez si le code de l'exposant est entièrement à 1, si c'est le cas, alors le code de l'exposant est sous-dépassé.
Composants d'addition et de soustraction à virgule flottante
Multiplication et division en virgule flottante
formule
Étapes de fonctionnement
0 vérification de l'opérande
Opérations d’addition et de soustraction de code
multiplication
Si le bit le plus élevé de ExEy est entièrement à 1 et le bit le plus élevé de Ez est à 0 ou si Ez est entièrement à 1, le code d'exposant déborde.
Si le bit le plus élevé de ExEy est entièrement à 0 et le bit le plus élevé de Ez est à 1 ou si Ez est entièrement à 0, le code d'exposant est sous-dépassé.
division
Si le bit le plus élevé de Ex est 1, le bit le plus élevé de Ey est 0 et le bit le plus élevé de Ez est 0 ou si Ez est entièrement 1, le code d'exposant déborde.
Si le bit le plus élevé de Ex est 0, le bit le plus élevé de Ey est 1 et le bit le plus élevé de Ez est 1 ou Ez est entièrement 0, le code d'exposant est sous-débordé.
Opérations de multiplication et de division de mantisse
Normalisation des résultats
Arrondi
Ajout et soustraction de codes
Bits supplémentaires
effet
Protéger le résultat intermédiaire de l'opération OU décalée vers la droite pendant l'alignement
traiter avec
Lorsqu'il est à gauche, il est déplacé vers la mantisse.
comme base d'arrondi
Réglementation IEEE754
Le résultat intermédiaire doit avoir deux bits supplémentaires ajoutés à droite
peu de protection
Bits à droite de la mantisse
peu d'arrondi
Le bit à droite du bit de protection
Pipeline d'opérations à virgule flottante
Deux canaux pour améliorer le parallélisme
parallélisme spatial
Ajoutez des composants redondants, tels que des processeurs multi-opérations et des processeurs superscalaires
parallélisme temporel
Améliorer les processus opérationnels, tels que la technologie des chaînes d'assemblage
Caractéristiques des pipelines
Le pipeline ne réduit pas la latence d’une seule tâche, mais améliore le débit de l’ensemble du système.
Plusieurs tâches sont exécutées simultanément et occupent des ressources différentes.
Rapport d'accélération possible = nombre d'étages du pipeline
L'efficacité du pipeline est limitée par la phase la plus longue
Si chaque étape prend des temps différents, l'efficacité du pipeline sera réduite.
Les lignes de chargement et de vidange réduisent également la vitesse
Les conflits entraîneront le blocage du pipeline
Concepts de base de la chaîne de montage
Principe de la chaîne de montage
Cycle d'horloge du pipeline
Analyse d'accélération
introduire
Les tâches doivent être continues dans le pipeline. Ce n'est qu'en fournissant continuellement des tâches que l'efficacité du pipeline peut être pleinement utilisée.
Divisez une tâche en plusieurs sous-tâches liées. Chaque sous-tâche est implémentée par un composant fonctionnel dédié
Il doit y avoir un registre tampon, ou verrou, après chaque unité fonctionnelle dans le pipeline
Le temps de chaque section de la chaîne de montage doit être aussi égal que possible, sinon cela provoquerait un blocage et une interruption du flux.
Le pipeline doit avoir un temps de chargement et un temps de vidange. Il ne peut être pleinement efficace que lorsque le pipeline est complètement plein.
unité arithmétique à virgule flottante