0% ont trouvé ce document utile (0 vote)
29 vues15 pages

Manuel Lab7

Ce document décrit le cycle de recherche-exécution d'un ordinateur utilisant un simulateur de CPU simple. Il contient les points clés suivants : 1) Le simulateur démontre comment un CPU exécute des programmes en passant par la recherche, le décodage et l'exécution des instructions une par une. 2) Le CPU a trois registres - le compteur de programme (PC), l'accumulateur (ACC) et le registre d'instruction (IR) qui sont utilisés pour rechercher et exécuter chaque instruction. 3) Les instructions se composent d'un code opération (opcode) et d'un opérande, où le code opération spécifie l'opération et l'opérande fournit des informations supplémentaires comme des adresses mémoire ou des valeurs.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues15 pages

Manuel Lab7

Ce document décrit le cycle de recherche-exécution d'un ordinateur utilisant un simulateur de CPU simple. Il contient les points clés suivants : 1) Le simulateur démontre comment un CPU exécute des programmes en passant par la recherche, le décodage et l'exécution des instructions une par une. 2) Le CPU a trois registres - le compteur de programme (PC), l'accumulateur (ACC) et le registre d'instruction (IR) qui sont utilisés pour rechercher et exécuter chaque instruction. 3) Les instructions se composent d'un code opération (opcode) et d'un opérande, où le code opération spécifie l'opération et l'opérande fournit des informations supplémentaires comme des adresses mémoire ou des valeurs.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

© Dmitriy Shironosov/ShutterStock, Inc.

Cyclisme Informatique | 61

LABORATOIRE
7
Cyclisme informatique

OBJECTIF
Apprenez le cycle de récupération-exécution des ordinateurs.

RÉFÉRENCES
: s i uqe r ■ l e i c i goL■
■ 1)■ Application■CPU■Super■Simple■du■site■web■du■manuel■de■laboratoire■(Super■Simple■CPU.jar)

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION
62 | Laboratoire 7

CONTEXTE
Revoyez ces sujets de votre manuel, notes de cours ou ressources en ligne :
■Le concept de programme stocké, mémoire
ALU, unités d'entrée et de sortie, unité de contrôle
Cycle de récupération-décodage-exécution, instructions en code machine, opcodes
■Représentation des nombres, nombres binaires, notation en complément à deux

ACTIVITÉ
Les ordinateurs sont incroyablement complexes, mais à un niveau fondamental, ils sont étonnamment simples.
Un programme se compose de milliers, millions ou milliards d'instructions, toutes exécutées
éblouissant rapide. Mais chaque instruction individuelle est assez simple.
Si chaque instruction est simple et facile à comprendre, pourquoi mettre des milliers
ensemble aboutit à un logiciel qui mettrait à l'épreuve l'intelligence d'Albert Einstein?
Les gens essaient de le comprendre depuis des années, car le comprendre pourrait donner
des indices pour comprendre, écrire et maintenir ce logiciel. La difficulté semble
être dans ce que certains appellent le "écart sémantique" entre les problèmes que les informaticiens
vouloir résoudre en utilisant des ordinateurs et les outils avec lesquels ils les résolvent - des outils tels que
comme des logiciels, des langages de programmation, et même du matériel. Si les outils sont trop simples, nous
il faudra les utiliser de manière complexe pour mener à bien le travail. Si les outils sont plus
complexes, ils peuvent faire plus en une étape et sont plus faciles à décrire. Pensez à combien
Le travail nécessaire pour préparer un repas, mais combien il est facile de passer une commande dans un restaurant.
Dans ce laboratoire, nous étudierons les instructions d'un ordinateur très simple, puis nous observerons
des programmes s'exécutent sur cet ordinateur.
Démarrez l'application Super Simple CPU. Les dispositifs d'entrée et de sortie sont uniquement textuels.
zones à gauche. Le CPU et la mémoire sont clairement indiqués, bien que la mémoire de ceci
l'ordinateur est ridiculement petit : 16 mots de mémoire, chacun de 16 bits de long, soit environ
0,0000305 mégaoctets !
Sélectionnez l'exemple 5 dans le menu déroulant pour charger le programme exemple, puis
cliquez sur le bouton Exécuter. Après quelques secondes, vous devriez voir ceci :

© Jones & Bartlett Learning, LLC


PAS À VENDRE OU À DISTRIBUER
Cyclisme informatique | 63

Au fur et à mesure que le programme s'exécute, il parcourt le cycle d'instruction de base, qui est
couramment appelé le cycle de récupération-exécution. Cette application affiche les étapes du cycle dans le
zone de texte bleue au milieu.
Il y a trois registres dans ce processeur :

PC Le compteur de programme
ACC L'accumulateur
IR Le registre d'instruction

Le registre PC contient l'adresse de la prochaine instruction. Il augmente de 1 après


la plupart des instructions, mais certaines, comme l'instruction JMP, la réécrivent simplement entièrement.
L'ACC est l'accumulateur, un peu comme l'écran à un nombre sur de nombreuses calculatrices.
Des valeurs y sont ajoutées ou soustraites, en fonction de l'instruction.
AJOUTER ou SOUSTRAIRE. Il sert également de station intermédiaire pour les valeurs provenant de l'appareil d'entrée
et sortant vers le périphérique de sortie.
L'IR est l'endroit où l'instruction actuelle est conservée et décodée. Dans l'application, le
les valeurs décodées de l'instruction actuelle sont affichées sous l'IR. Le mnémonique de
l'instruction, un nom alphabétique court pour l'instruction, est affichée avec le
opérande en décimal.
Le contenu de la mémoire et des registres du processeur est généralement affiché en binaire.
mais ils peuvent être affichés en décimal en décochant la case. Ce changement d'affichage fait
n'affecte pas les valeurs et peut être fait un nombre illimité de fois, même lorsqu'un programme
court.
Les nombres sont stockés sous forme de valeurs sur 16 bits en notation complément à deux. Si le nombre
a un 1 dans le bit le plus à gauche, il sera considéré comme négatif.
Il y a une aide intégrée pour cette application. Cliquez sur le bouton Aide près du bas de la page.
écran pour faire apparaître une fenêtre expliquant le fonctionnement de base de l'application. Il y a aussi
des boutons qui résument les opcodes et donnent des explications plus détaillées à leur sujet.

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION
64 | Laboratoire 7

OPCODES

Binaire Mnémotechnique Courte explication


1111 S'il te plaît Arrêtez l'ordinateur
0001 AJOUTER Ajouter l'accumulateur à l'opérande
0010 SOU Soustraire l'opérande de l'accumulateur
0011 LOD Charger la cellule de mémoire dans l'accumulateur

0100 LDI Charger immédiatement dans l'accumulateur


0101 STO Cellule de mémoire accumulateur de magasin

0110 INP Entrer la valeur et stocker l'accumulateur


0111 HORS Valeur de sortie de l'accumulateur
1000 JMP Passez à l'instruction
1001 JNG Sauter à l'instruction si l'accumulateur < 0
1010 JZR Sauter à l'instruction si l'accumulateur = 0

PLUS D'INFORMATIONS SUR LES INSTRUCTIONS

1S
PI This stops the computer; no more fetch/decode/execute cycles
jusqu'à ce que vous réinitialisiez.

0001 AJOUTER Récupérez un chiffre de la mémoire et ajoutez-le au contenu de


l'accumulateur, remplaçant la valeur dans l'accumulateur.
(Par exemple, 0001000000001111 : Obtenez la valeur à l'emplacement mémoire 15)
et ajoutez cela à l'accumulateur.)
0010 SOUS Récupérer un nombre de la mémoire et le soustraire du contenu
de l'accumulateur, remplaçant la valeur dans l'accumulateur.
0011 LOD Récupérez un nombre de la mémoire et stockez-le dans l'accumulateur,
remplaçant l'ancienne valeur de l'accumulateur. (Par exemple, 0011000000001111:
Obtenez la valeur à l'emplacement mémoire 15 et stockez cette valeur dans le
accumulateur.)
0100 LDI Charge immédiate ; la valeur à mettre dans l'accumulateur est le
opérande (les 12 bits les plus à droite de l'instruction); ne pas aller à
mémoire comme LOD. (Par exemple, 0100000000001111 : Stocker la valeur 15 dans
l'accumulateur.)
0101 STO Stockez la valeur de l'accumulateur en mémoire à l'endroit indiqué
emplacement. (Par exemple, 010 1000000001111 : Stockez la valeur de l'accumulateur
dans l'emplacement mémoire 15.)
0110INP Demandez à l'utilisateur un nombre et stockez-le dans l'accumulateur.
011SORTE
I Copiez la valeur dans l'accumulateur vers la zone de sortie.
1000 JMP Sautez à l'instruction à l'adresse mémoire indiquée.
(Par exemple, 1000000000001111 : Mettez la valeur 15 dans le PC, ce qui va
faire en sorte que la prochaine instruction soit prise à partir de l'emplacement 15 de la

mémoire.)
1001 JNG Sautez à l'instruction à l'emplacement mémoire indiqué si le
la valeur de l'accumulateur est négative ; sinon, il suffit d'ajouter 1 au
PC. (Par exemple, 1001000000001111 : Mettre la valeur 15 dans le PC, si
accumulateur < 0 ; sinon, allez à l'instruction suivante.
1010 JZR Sautez à l'instruction à l'emplacement mémoire indiqué si le
la valeur de l'accumulateur est zéro ; sinon, ajoutez simplement 1 au PC.
(Par exemple, 10 10000000001111 : Mettre la valeur 15 dans le PC, si
accumulateur = 0; sinon, passez à l'instruction suivante.)

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION
Cyclisme informatique | 65

Chaque instruction dans cet ordinateur super-simple a deux parties : le code opération et l'opérande.

L'opcode est les quatre premiers bits et représente les instructions. Par exemple, 0001 est le
Ajouter une instruction, comme le montre la liste de référence des codes opcode ci-dessus. L'opérande peut être plusieurs

différentes choses selon l'opcode que vous utilisez. C'est souvent l'adresse
d'une cellule de mémoire, utilisée par ADD, SUB, LOD et STO. Si l'instruction est LDI (charger
immédiat), l'opérande est une constante de 12 bits qui est directement mise dans l'accumulateur.
Les instructions de saut (JMP, JNG, JZR) utilisent l'opérande de 12 bits comme valeur qui est
stocké dans le registre PC, provoquant ainsi un saut de contrôle vers cet emplacement en mémoire. Quelques
instructions (STP, IN, OUT) ignore complètement l'opérande.
Cette application CPU vous permet de voir chaque instruction dans des détails presque microscopiques. Si
l'application est en cours d'exécution, appuyez sur les boutons Arrêter et Réinitialiser. Ensuite, faites défiler vers le bas le choix de vitesse
dans le menu à côté de Exécuter et sélectionnez manuel.

© Jones & Bartlett Learning, LLC


N'EST PAS À VENDRE OU À DISTRIBUER
66 | Laboratoire 7

Cette fonction vous permet de contrôler les étapes de chaque instruction. Cliquez sur Exécuter
pour commencer le programme. Chaque instruction commence et fait une partie du cycle de récupération-exécution
cycle avant de s'arrêter. Quand il s'arrête, le mot « prêt... » apparaît dans la boîte à côté du
Bouton d'avance. Des informations sur ce qui est sur le point de se produire sont fournies dans la boîte bleue
au-dessus des boutons.

Utiliser le bouton Avancer pour parcourir les instructions prend un certain temps, mais cela
vous permet d'observer attentivement chaque partie de chaque instruction. De plus, les adresses et
valeurs qui circulent entre le CPU et la mémoire, et entre l'unité d'entrée/sortie et
le CPU, sont animés en nombres binaires jaunes à travers le bus rouge.
La vitesse normale désactive le bouton Avancer mais anime toujours les instructions,
bien que la vitesse rapide ne montre pas les animations, permettant au programme de s'exécuter rapidement.
En plus d'exécuter chaque instruction, vous pouvez "faire étape unique" dans un programme. Étape unique
le pas se réfère à l'exécution d'une instruction complète puis à l'arrêt du programme par
cliquer sur le bouton Étape1. De nombreux débogueurs pour des langages de programmation réels ont également
une option de pas à pas afin que vous puissiez approfondir un programme problématique et en déceler les
bugs. Pensez au pas à pas comme à une sorte de microscope temporel : vous amplifiez le temps de retard
entre les instructions à une très grande quantité afin que vous puissiez voir ce qui se passe.
Il existe un certain nombre de programmes d'exemple, allant de ridiculement courts et
simple à quelque peu compliqué. Le plus grand commun diviseur est assez complexe à
comprendre, et cela remplit presque toute la mémoire de 16 mots.
Chargez le programme GCD (exemple 6). Les cellules mémoire 0 à 10, incluses, contiennent
le programme. La cellule mémoire 14 contient la première valeur entière (dans l'exemple, c'est 18,
qui est 100102), et la cellule 15 contient le deuxième entier (dans l'exemple, c'est 24, ce qui
est 110002).
Il est extrêmement difficile de déterminer exactement ce que fait le programme en se contentant de regarder.
dans le contenu de la mémoire. En fait, il est impossible de se fier à la mémoire seule
si un emplacement contient un entier de 16 bits ou une instruction. Alors, comment un ordinateur
« savoir » ce qui est dans un mot mémoire ? Cela ne le sait jamais vraiment ; seul le PC détermine cela. Si
le contenu du mot mémoire est récupéré dans le registre d'instructions (IR) et traité comme une instruction, puis
ils sont une instruction.
Attends une minute ! Cela ouvre la porte à un terrible problème ! Que se passe-t-il si un programme "saute" ?
dans une section de données ? Cela peut-il arriver ? Quel sera le résultat ? La réponse à la
la deuxième question est certainement oui, un ordinateur peut plonger dans les données. C'est l'un des principaux
implications du concept de programme stocké.
Un inconvénient de cette capacité à plonger dans les données est qu'une conception inappropriée
le programme peut obtenir la mauvaise instruction de saut (à cause d'une conception inappropriée
le programmeur l'a écrit de cette façon !), commencez à interpréter les données comme des instructions, et probablement faites
quelque chose de terrible, comme effacer toute la mémoire ou lancer des missiles nucléaires. Matériel
les designers ont inventé des moyens pour s'assurer que cela n'arrivera pas. Malheureusement, de mauvaise humeur
les gens peuvent utiliser cette capacité à modifier des programmes pour écrire des choses malveillantes appelées virus.

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION
Cyclisme informatique | 67

Un avantage de la capacité à plonger dans les données est qu'un programme peut créer un nouveau
programmer, ou même réécrire une partie de lui-même, puis l'exécuter immédiatement. Puisque les programmes
sont vraiment des données, cette capacité a été perçue par certains pionniers comme un moyen pour les programmes
apprendre et s'améliorer. Cela ne s'est pas tout à fait passé ainsi, tout simplement parce que l'apprentissage est un
un processus extrêmement complexe (comme vous le savez bien !), mais l'esprit de cette exécution dynamique est
utilisé dans de nombreux aspects de l'informatique aujourd'hui.
Le but de l'application Super Simple CPU n'est pas de vous transformer en programmeur.
Au contraire, il est destiné à vous permettre de voir le cycle de récupération-exécution suivre son chemin à travers un
CPU typique. Dans les exercices, vous étudierez quelques instructions individuellement. La plus grande
des programmes ont été inclus afin que vous puissiez vous faire une idée de ce à quoi ressemble un programme complet et
agit à ce niveau bas.

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION
68 | Laboratoire 7

EXERCICE 1
Nom______________________________________ Date_____________________

Section____________________________________

1) Démarrez l'application Super Simple CPU.

2) Sélectionnez le premier exemple en déroulant la liste des exemples et en sélectionnant Exemple 1 - séquence.

3) Le programme comprend trois instructions, aux adresses mémoire 0, 1 et 2. Notez les trois
instructions ou prenez une capture d'écran.

4) Cliquez sur la liste des Opcodes ou sur le bouton Plus d'infos pour obtenir une clé des opcodes.

5) Décodez les trois instructions. Regardez les quatre premiers bits de chaque cellule mémoire et trouvez ces bits.
modèles dans la clé des opcodes. Écrivez le mnémonique correspondant en trois lettres.

6) Combien de cycles de recherche-exécution ce programme effectuera-t-il lorsque vous l'exécuterez ?

© Jones & Bartlett Learning, LLC


PAS À VENDRE OU À DISTRIBUTION
Cyclisme informatique | 69

EXERCICE 2
Nom______________________________________ Date_____________________

Section____________________________________

1) Lancez l'application Super Simple CPU.


2) Chargez et exécutez le deuxième exemple, qui contient une instruction d'entrée et une instruction de sortie. Remarquez que
Lorsque l'application est ouverte, vous êtes censé taper un nombre binaire dans la zone de saisie (qui devient jaune)
et appuyez sur Entrée. Le programme affichera le numéro que vous avez saisi.
3) Maintenant, nous allons modifier le programme : À la place de l'instruction STP dans le mot 2, encodez un STO (stockage)
instruction qui stockera la valeur de l'accumulateur dans la cellule mémoire 15.

4) Puisque vous avez remplacé l'instruction STP à l'étape 3, vous devez créer une nouvelle instruction STP dans le mot 3.
pour vous assurer que votre programme s'arrête.

5) Exécutez votre programme. Lorsque celui-ci se termine, vous devriez voir votre numéro d'entrée dans la cellule mémoire.
étiqueté “15.”
6) Prenez une capture d'écran de votre programme.

© Jones & Bartlett Learning, LLC


PAS À VENDRE OU À DISTRIBUER
70 | Laboratoire 7

EXERCICE 3
Nom

Section____________________________________

1) Démarrez l'application Super Simple CPU, ou appuyez sur les boutons Réinitialiser et Effacer Mémoire s'il est déjà en cours d'exécution.

Tapez les instructions suivantes dans les cellules de mémoire 0 et 1. (Les nombres sur 16 bits sont séparés par
des espaces pour les rendre plus faciles à lire. Ne mettez pas d'espaces dans vos chiffres lorsque vous les tapez !

0100 0000 0000 1110


0011 0000 0000 1110

3) Dans la cellule 14, tapez ce qui suit :

0000 0000 0001 0101

4) Exécutez le programme en pas à pas. Appuyez sur le bouton Étape. Une fois la première instruction terminée
(la boîte bleue dira « Mise à jour de l'PC »), écrivez son moyen mnémotechnique de trois lettres et la valeur dans le
accumulateur.

5) Appuyez à nouveau sur 1 pour exécuter la deuxième instruction et notez le mnémonique et le


valeur de l'accumulateur.

6) Prenez une capture d'écran.

7) Expliquez la différence entre les deux instructions. (Conseil : Ce sont toutes deux des instructions de chargement, qui
cela signifie qu'ils provoquent qu'un nouveau nombre soit mis dans l'accumulateur. Mais il y a une différence.)

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION
Cyclisme informatique | 71

8) Pourquoi supposez-vous qu'il n'y a pas d'instruction « stocker immédiatement » ?

9) Quelle séquence d'instructions régulières pourrait être utilisée pour faire la même chose ? C'est-à-dire, comment pourrions-nous
stocker un numéro spécifique, disons 133, dans un emplacement mémoire spécifique, disons la cellule mémoire 13 ?

© Jones & Bartlett Learning, LLC


PAS À VENDRE OU À DISTRIBUTION
72 | Laboratoire 7

EXERCICE 4
Nom______________________________________ Date_____________________

Section____________________________________

1) Démarrez l'application Super Simple CPU.

2) Chargez l'exemple de boucle de comptage (Exemple 5).

3) Exécutez l'application et notez le PC après chaque instruction.


4) Prenez une capture d'écran et entourez toutes les instructions de saut.

5) Soyez un "désassembleur" humain. Traduisez les instructions informatiques dans les cellules 1 à 5 en mnémotechniques.
Rappelez-vous, seuls les 4 premiers bits de chaque instruction sont l'opcode. Pour voir la liste des opcodes, cliquez sur le
Liste des opcodes du bouton.

Cellule mémoire Mnémotechnique


0
1
2
3
4

© Jones & Bartlett Learning, LLC


NON À VENDRE OU À DISTRIBUTION
Cyclisme informatique | 73

EXERCICE 5
Nom______________________________________

Section____________________________________

1) Lancez l'application Super Simple CPU.


2) Charge l'exemple de PGCD (Exemple 6). (Un rappel de votre passé mathématique : PGCD est l'abréviation de «plus grand commun diviseur»
diviseur commun.
3) Exécutez-le pour voir qu'il fonctionne. (Vous voudrez peut-être l'accélérer ! Pour ce faire, abaissez la vitesse)
liste et sélectionnez "rapide."
4) Cliquez sur le bouton Réinitialiser. Cliquez sur la case à cocher binaire en bas de la mémoire afin que décimal
Les nombres apparaissent en mémoire au lieu d'être en binaire. À l'emplacement 14, tapez 16 ; à l'emplacement 15, tapez 28. Que font-ils ?
vous pensez que le PGCD de ces nombres sera ?

5) Exécutez le programme. Une fois terminé, prenez une capture d'écran. Trouvez la cellule mémoire qui contient le PGCD et
Entourez-le.
6) Quel est le PGCD de 30 et 31 ? Vous pourriez utiliser l'application pour confirmer vos soupçons. Cliquez sur ceux-ci
buttons:Stop,Reset. Then type “30” into cell 14, and type “31” into cell 15. Press theRunbutton.

© Jones & Bartlett Learning, LLC


PAS À VENDRE OU DISTRIBUTION
74 | Laboratoire 7

EXERCICE 6 (CELUI-CI EST DIFFICILE!)


Nom

Section____________________________________

1) Lancez l'application Super Simple CPU.

2) Chargez l'exemple du PGCD (Exemple 5).


3) Démontez le programme en mémoire. Cela signifie écrire une version lisible par l'homme en décodant le
instructions.
Lors de l'écriture du programme, mettez l'adresse mémoire à gauche, suivie des deux ou trois-
mnémotechnique de lettre pour l'opcode. Suivez cela avec un nombre s'il s'agit d'une instruction de saut ou LDI, ou un
instruction arithmétique (ADD ou SUB). Vous pourriez aller un pas plus loin et remplacer 14 par une variable
nom de votre choix, et 15 avec un autre nom de variable. Par exemple, A et B fonctionneront.
Voici la version désassemblée de l'exemple 4, « copier un nombre » :

0 LDI 13
1 LOD 13
2 MST 12
3 STP

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION
Cyclisme Informatique | 75

LIVRABLES
Remettez vos feuilles manuscrites montrant vos réponses aux exercices, ainsi que le
captures d'écran comme demandé.

ENQUÊTE APPROFONDIE
Nous avons été très rusés avec l'application Super Simple CPU. Nous vous avons appris quelques
programmation élémentaire ! Il est difficile d'examiner un dispositif programmable comme un ordinateur
sans parler de programmation juste un petit peu. Peut-être plonger vos pieds dans
cette eau peu profonde avant d'apprendre officiellement les tenants et aboutissants de la programmation diminue le
la peur, ou aiguiser l'appétit ! Demandez à n'importe quel programmeur : bien sûr, la programmation peut être frustrante,
agaçant, ou irritant par moments, mais surtout, quand vous le comprenez, c'est amusant ! Beaucoup de plaisir !
Si chaque programme est finalement composé de milliers de CPU individuels et simples
instructions, comme nous l'avons vu dans l'application Super Simple CPU, qu'est-ce qui rend le logiciel si complexe ?
Investigons par analogie, en nous tournant vers d'autres disciplines.
Pensez à un domaine d'études que vous aimez : la musique, la chimie, la politique, la linguistique.
géologie. Dans la plupart des domaines, il existe des éléments de base à partir desquels des choses plus complexes sont
construit. La musique a des tonalités et des rythmes. La chimie a des atomes et des couches de valence des électrons.
D'où vient la complexité ? Par exemple, en chimie, il n'y a qu'un nombre limité de
différents éléments (types d'atomes), et il n'y a que quelques façons différentes dont ils peuvent se lier
les uns aux autres et s'accrochent ensemble. Pourquoi, alors, y a-t-il environ 100 000 composés ?
Écrivez quelques paragraphes dans lesquels vous spéculerez sur la manière dont des choses complexes peuvent émerger.
de combiner quelques éléments de base. Comment pouvez-vous assembler des éléments de base pour atteindre
systèmes complexes ?

© Jones & Bartlett Learning, LLC


NON À VENDRE OU DISTRIBUTION

Vous aimerez peut-être aussi