Von Neumann architecture and the CPU · Architecture de Von Neumann et CPU
| English | Français |
|---|---|
| processor/ˈprəʊsesə/ | processeur |
| registers/ˈredʒɪstəz/ | registres |
| buses/ˈbʌsɪz/ | bus |
| Von Neumann architecture/vɒn ˈnɔɪmən ˈɑːkɪtektʃə/ | Architecture Von Neumann |
| Immediate Access Store/ɪˈmiːdɪət ˈækses stɔː/ | Mémoire d'accès immédiat |
| stored program/stɔːd ˈprəʊɡræm/ | programme stocké |
| ALU/ˌeɪ el ˈjuː/ | ALU |
| control unit/kənˈtrəʊl ˈjuːnɪt/ | unité de contrôle |
| system clock/ˈsɪstəm klɒk/ | horloge système |
| clock speed/klɒk spiːd/ | vitesse d'horloge |
| general-purpose registers/ˈdʒenərəl ˈpɜːpəs ˈredʒɪstəz/ | registres à usage général |
| special purpose registers/ˈspeʃl ˈpɜːpəs ˈredʒɪstəz/ | registres à usage spécial |
| Program Counter/ˈprəʊɡræm ˈkaʊntə/ | Compteur de programme |
| Memory Address Register/ˈmeməri əˈdres ˈredʒɪstə/ | Registre d'adresse mémoire |
| Memory Data Register/ˈmeməri ˈdeɪtə ˈredʒɪstə/ | Registre de données mémoire |
| Current Instruction Register/ˈkʌrənt ɪnˈstrʌkʃn ˈredʒɪstə/ | Registre d'instruction courante |
| accumulator/əˈkjuːmjʊleɪtə/ | accumulateur |
| Index Register/ˈɪndeks ˈredʒɪstə/ | Registre index |
| Status Register/ˈsteɪtəs ˈredʒɪstə/ | Registre d'état |
| flag/flæɡ/ | drapeau |
| address bus/əˈdres bʌs/ | bus d'adresses |
| data bus/ˈdeɪtə bʌs/ | bus de données |
| control bus/kənˈtrəʊl bʌs/ | bus de commande |
| register transfer/ˈredʒɪstə ˈtrænsfɜː/ | transfert de registre |
The report every computer still follows
- In June 1945 John von Neumann circulated a typed draft describing a machine that had not yet been built: the EDVAC.
- Its idea was simple and new. Keep the program in the same memory as the data, and have one processor fetch and carry out the instructions one at a time.
- The draft was never finished, but the design was copied everywhere. Your phone, your laptop and the school server are all built on it.
- This lesson takes the model apart: the memory, the processor's parts, its registers and the buses between them.
Le rapport que chaque ordinateur suit encore
- En juin 1945, John von Neumann a diffusé une ébauche tapée décrivant une machine qui n'avait pas encore été construite : l'EDVAC.
- Son idée était simple et nouvelle. Gardez le programme dans la même mémoire que les données, et faites qu'un processeur récupère et exécute les instructions une par une.
- L'ébauche n'a jamais été terminée, mais le design a été copié partout. Votre téléphone, votre ordinateur portable et le serveur de l'école sont tous construits dessus.
- Cette leçon démonte le modèle : la mémoire, les parties du processeur, ses registres et les bus entre eux.
The Von Neumann model
- The Von Neumann architecture 冯·诺依曼体系结构 has a single memory, the Immediate Access Store 立即存取存储器 (IAS), holding both program instructions and data. That is the stored program 存储程序 concept.
- The processor 处理器 fetches each instruction from memory and executes it, one at a time, in address order unless a branch instruction changes the flow.
- Instructions, data and addresses all travel between processor and memory along shared buses 总线.
One memory, one processor, three buses
Le modèle Von Neumann
- L'architecture Von Neumann 冯·诺依曼体系结构 a une mémoire unique, le Immediate Access Store 立即存取存储器 (IAS), contenant à la fois les instructions de programme et les données. C'est le concept de programme stocké 存储程序.
- Le processeur 处理器 récupère chaque instruction de la mémoire et l'exécute, une par une, dans l'ordre d'adresse sauf si une instruction de branchement change le flux.
- Instructions, données et adresses voyagent toutes entre processeur et mémoire via des bus 总线 partagés.

Une mémoire, un processeur, trois bus
Why the stored program matters
- Change the program in memory and the same hardware does a different job. No rewiring, no new machine.
- A program is just data until it is fetched, so it can be loaded from a disk, sent over a network or written by another program.
- The exam wording: instructions and data are stored in the same memory, and instructions are fetched one at a time and executed by the processor.
Pourquoi le programme stocké est important
- Changer le programme en mémoire et le même matériel effectue une tâche différente. Aucun câblage, aucune nouvelle machine.
- Un programme n'est que des données jusqu'à ce qu'il soit récupéré, il peut donc être chargé depuis un disque, envoyé sur un réseau ou écrit par un autre programme.
- La formulation de l'examen : les instructions et les données sont stockées dans la même mémoire, et les instructions sont récupérées une à la fois et exécutées par le processeur.
The stored-program (Von Neumann) idea means that: · L'idée de programme stocké (Von Neumann) signifie que :
One memory holds instructions and data together; changing the stored program changes what the computer does, with no rewiring. · Une mémoire unique contient les instructions et les données ensemble ; modifier le programme stocké change ce que fait l'ordinateur, sans câblage.
ALU, control unit and clock
- The ALU 算术逻辑单元 (Arithmetic and Logic Unit) does the arithmetic (add, subtract) and the logic (AND, OR, comparisons), taking operands from registers and putting the result back in one.
- The control unit 控制单元 (CU) decodes each instruction and sends the control signals that carry it out: opening data paths, telling the ALU what to do, ordering memory reads and writes.
- The system clock 系统时钟 sends a steady stream of pulses. The control unit moves the cycle on one step per pulse, so every part changes state together; the clock speed 时钟频率, in GHz, is the number of pulses a second.
The whole processor is one small chip
ALU, unité de contrôle et horloge
- L'ALU 算术逻辑单元 (Arithmetic and Logic Unit) effectue les opérations arithmétiques (addition, soustraction) et logiques (ET, OU, comparaisons), prélevant les opérandes dans les registres et plaçant le résultat dans l'un d'eux.
- L'unité de contrôle 控制单元 (CU) décode chaque instruction et envoie les signaux de contrôle qui la font exécuter : ouvrir les chemins de données, dire à l'ALU quoi faire, commander les lectures et écritures en mémoire.
- L'horloge système 系统时钟 envoie un flux continu d'impulsions. L'unité de contrôle avance d'un pas par impulsion, afin que toutes les parties changent d'état simultanément ; la vitesse d'horloge 时钟频率, en GHz, est le nombre d'impulsions par seconde.

Le processeur entier est une petite puce
The ALU is responsible for: · L'ALU est responsable de :
The Arithmetic and Logic Unit performs calculations and logic/comparisons. Decoding is the control unit's job. · L'Unité Arithmétique et Logique effectue les calculs et les opérations logiques/comparaisons. Le décodage relève de l'unité de contrôle.
The ____ unit decodes each instruction and sends the control signals that carry it out. · L'unité ____ décode chaque instruction et envoie les signaux de contrôle pour l'exécuter.
The control unit decodes and signals; the ALU does the arithmetic and logic; the clock keeps them in step. · L'unité de contrôle décode et signale ; l'ALU effectue l'arithmétique et la logique ; l'horloge les maintient en phase.
The registers
- Registers 寄存器 are tiny, very fast stores inside the processor. General-purpose registers 通用寄存器 hold the programmer's temporary values. Special purpose registers 专用寄存器 each have one fixed job in the cycle.
| Register | Job |
|---|---|
| Program Counter 程序计数器 (PC) | the address of the next instruction to be fetched |
| Memory Address Register 内存地址寄存器 (MAR) | the address of the location being read from or written to |
| Memory Data Register 内存数据寄存器 (MDR) | the data or instruction just read from, or about to be written to, that location |
| Current Instruction Register 当前指令寄存器 (CIR) | the instruction currently being decoded and executed |
| Accumulator 累加器 (ACC) | the result of the last arithmetic or logic operation |
| Index Register 变址寄存器 (IX) | an offset added to an address in indexed addressing |
| Status Register 状态寄存器 | the flags set by the last operation |
Registers, control unit and ALU, linked by the buses
Les registres
- Les registres 寄存器 sont de minuscules mémoires très rapides situées à l'intérieur du processeur. Les registres à usage général 通用寄存器 gardent les valeurs temporaires du programmeur. Les registres à usage spécial 专用寄存器 ont chacun une fonction fixe dans le cycle.
| Registre | Fonction |
|---|---|
| Compteur de programme 程序计数器 (PC) | l'adresse de l'instruction suivante à récupérer |
| Registre d'adresse mémoire 内存地址寄存器 (MAR) | l'adresse de l'emplacement lu ou écrit |
| Registre de données mémoire 内存数据寄存器 (MDR) | les données ou l'instruction venues d'être lues, ou sur le point d'être écrites, dans cet emplacement |
| Registre d'instruction courante 当前指令寄存器 (CIR) | l'instruction actuellement décodée et exécutée |
| Accumulateur 累加器 (ACC) | le résultat de la dernière opération arithmétique ou logique |
| Registre index 变址寄存器 (IX) | un décalage ajouté à une adresse dans leadressage indexé |
| Registre d'état 状态寄存器 | les indicateurs définis par la dernière opération |

Registres, unité de contrôle et UAL, liés par les bus
Tap the parts of a Von Neumann computer · Tapez sur les parties d'un ordinateur de Von Neumann
Explore each block. The CPU (control unit, ALU, registers) talks to a single main memory over the buses — and that one shared memory for instructions AND data is the Von Neumann idea. · Explorez chaque bloc. Le CPU (unité de contrôle, ALU, registres) communique avec une seule mémoire principale via les bus — et cette mémoire partagée unique pour les instructions ET les données est l'idée de Von Neumann.
Match each special-purpose register to what it holds. · Associez chaque registre à usage spécial à ce qu'il contient.
PC points to the next instruction, CIR holds the current one, MAR/MDR are the address/data pair for memory, ACC holds the running result. · Le PC pointe vers l'instruction suivante, le CIR retient la courante, MAR/MDR forment la paire adresse/données pour la mémoire, l'ACC retient le résultat courant.
Worked example: "describe the role of each register"
- The table question wants one precise sentence per register, and the words that earn the marks are in bold.
- PC: holds the address of the next instruction to be fetched. MAR: holds the address of the location being accessed.
- MDR: holds the data just read from, or about to be written to, memory. CIR: holds the instruction currently being decoded and executed.
- ACC: holds the result of the last ALU operation. Notice that two registers hold addresses, two hold contents, and one holds a result.
Exemple résolu : "décrire le rôle de chaque registre"
- La question sous forme de tableau demande une phrase précise par registre, et les mots qui rapportent les points sont en gras.
- PC : contient l'adresse de l'instruction suivante à récupérer. MAR : contient l'adresse de l'emplacement en cours d'accès.
- MDR : contient les données venant d'être lues ou sur le point d'être écrites en mémoire. CIR : contient l'instruction actuellement en cours de décode et d'exécution.
- ACC : contient le résultat de la dernière opération ALU. Remarquez que deux registres contiennent des adresses, deux contiennent des contenus, et un contient un résultat.
The status register's flags
- Each flag 标志 is one bit, set or cleared by the ALU after an operation: the zero flag when a result or comparison gives zero, the carry flag when an addition overflowed the register, the negative flag when a result is negative, the overflow flag when a signed result does not fit.
- A conditional jump reads a flag to decide whether to branch. That is how
IFand loops reach the hardware. - An overflow flag can also raise an interrupt, which the next lesson handles.
Les indicateurs du registre d'état
- Chaque indicateur 标志 est un bit, activé ou désactivé par l'ALU après une opération : l'indicateur zéro lorsque le résultat ou la comparaison donne zéro, l'indicateur de retenue lorsqu'une addition a débordé le registre, l'indicateur négatif lorsque le résultat est négatif, l'indicateur de dépassement lorsque le résultat signé ne tient pas.
- Un saut conditionnel lit un indicateur pour décider de brancher. C'est ainsi que
IFet les boucles atteignent le matériel. - Un indicateur de dépassement peut aussi déclencher une interruption, gérée dans la leçon suivante.
Which of these are flags in the status register? Select all · tout that apply. · Lesquels de ceux-ci sont des drapeaux dans le registre d'état ? Sélectionnez toutes celles qui s'appliquent.
Carry, zero, negative and overflow are one-bit flags set by the ALU. The program counter is a separate register holding an address. · Retenue, zéro, négatif et débordement sont des drapeaux à un bit définis par l'ALU. Le compteur de programme est un registre séparé contenant une adresse.
The three buses
- The address bus 地址总线 carries the address the processor wants. It is one-way, processor to memory.
- The data bus 数据总线 carries the data or instruction itself. It is two-way, because reads and writes go in opposite directions.
- The control bus 控制总线 carries control signals such as read, write, clock and interrupt. It is two-way.
The three system buses connecting processor, memory and input/output
Les trois bus
- Le bus d'adresse 地址总线 transporte l'adresse que le processeur souhaite. Il est unidirectionnel, du processeur vers la mémoire.
- Le bus de données 数据总线 transporte les données ou l'instruction elles-mêmes. Il est bidirectionnel, car les lectures et écritures se font dans des sens opposés.
- Le bus de contrôle 控制总线 transporte des signaux de contrôle tels que lecture, écriture, horloge et interruption. Il est bidirectionnel.

Les trois bus système reliant processeur, mémoire et entrées/sorties
Which bus is one-way (carries information in only one direction)? · Quel bus est unidirectionnel (transporte l'information dans une seule direction) ?
The address bus is one-way (CPU → memory). The data and control buses are two-way. · Le bus d'adresse est unidirectionnel (CPU → mémoire). Les bus de données et de contrôle sont bidirectionnels.
Worked example: how wide is wide enough?
- An $n$-bit address bus can address $2^{n}$ locations. A 16-bit bus reaches $2^{16} = 65\,536$ locations; a 32-bit bus reaches $2^{32}$, about four billion.
- "State one effect of increasing the width of the address bus": more memory locations can be addressed.
- "State one effect of increasing the width of the data bus": more bits move in each transfer, so fewer transfers are needed for the same data.
- Widen the address bus and you can have more memory; widen the data bus and you move it faster.
Exemple résolu : quelle largeur suffit ?
- Un bus d'adresse de $n$ bits peut adresser $2^{n}$ emplacements. Un bus de 16 bits atteint $2^{16} = 65\,536$ emplacements ; un bus de 32 bits atteint $2^{32}$, environ quatre milliards.
- "Donner un effet de l'augmentation de la largeur du bus d'adresse" : plus d'emplacements mémoire peuvent être adressés.
- "Donner un effet de l'augmentation de la largeur du bus de données" : plus de bits transitent à chaque transfert, donc moins de transferts sont nécessaires pour les mêmes données.
- Élargir le bus d'adresse permet d'avoir plus de mémoire ; élargir le bus de données accélère son transfert.
How many memory locations can a 16-bit address bus reach? · Combien d'emplacements mémoire un bus d'adresse de 16 bits peut-il atteindre ?
$2^{16} = 65\,536$ locations. · $2^{16} = 65\,536$ emplacements.
A wider address bus lets the CPU address more memory locations. · Un bus d'adresse plus large permet au CPU d'accéder à davantage d'emplacements mémoire.
Each extra address line doubles the reach — n lines address 2ⁿ locations. · Chaque ligne d'adresse supplémentaire double la portée — n lignes adressent 2ⁿ emplacements.
Register transfer notation
- Movements between registers and memory are written in register transfer 寄存器传送 notation:
MAR ← [PC]means "copy the contents of the PC into the MAR". - Square brackets mean "the contents of", and
[[MAR]]means "the contents of the location whose address is in the MAR". - The whole fetch-execute cycle is written this way in the next lesson; the notation is the same as the pseudocode assignment arrow.
Notation de transfert de registre
- Les mouvements entre registres et mémoire s'écrivent en notation de transfert de registre 寄存器传送 :
MAR ← [PC]signifie "copier les contenus du PC dans le MAR". - Crochets carrés signifient "les contenus de", et
[[MAR]]signifie "les contenus de l'emplacement dont l'adresse est dans le MAR". - Tout le cycle de récupération-exécution est écrit ainsi dans la leçon suivante ; la notation est la même que la flèche d'affectation pseudocode.
What does MAR ← [PC] mean? · Que signifie MAR ← [PC] ?
The arrow points at the destination and the square brackets mean "the contents of". This is the first step of every fetch. · La flèche pointe vers la destination et les crochets signifient "le contenu de". C'est la première étape de chaque fetch.
Marks that slip away
- The PC holds the address of the next instruction, not the current one; the CIR holds the instruction, not an address.
- The MAR holds an address, the MDR holds data. Mixing them costs both marks.
- Only the address bus is one-way. Saying "all buses are one-way" or "the data bus is one-way" is a common slip.
- Registers are inside the processor, not part of RAM, and they are faster than any memory.
Pièges qui font perdre des points
- Le PC contient l'adresse de l'instruction suivante, pas de la courante ; le CIR contient l'instruction, pas une adresse.
- Le MAR contient une adresse, le MDR contient des données. Les mélanger coûte les deux points.
- Seul le bus d'adresse est unidirectionnel. Dire "tous les bus sont unidirectionnels" ou "le bus de données est unidirectionnel" est une erreur fréquente.
- Les registres sont à l'intérieur du processeur, pas partie de la RAM, et ils sont plus rapides que toute mémoire.
The program counter holds the instruction that is currently being executed. · Le compteur de programme contient l'instruction actuellement exécutée.
The PC holds the address of the next · suivante instruction. The current instruction sits in the CIR. · Le PC contient l'adresse de l'instruction suivante. L'instruction courante se trouve dans le CIR.
You've got it
- Von Neumann: one memory (IAS) holds instructions and data; the processor fetches and executes them one at a time
- ALU computes, CU decodes and signals, the clock keeps the steps in time
- PC next address · MAR address being accessed · MDR data · CIR current instruction · ACC result · IX offset · status register flags
- address bus one-way, $2^{n}$ locations; data and control buses two-way;
MAR ← [PC]copies the contents of PC into MAR
Vous avez compris
- Von Neumann : une seule mémoire (IAS) contient instructions et données ; le processeur les récupère et les exécute une à la fois
- ALU calcule, CU décode et signale, l'horloge maintient les étapes dans le temps
- PC adresse suivante · MAR adresse en cours d'accès · MDR données · CIR instruction courante · ACC résultat · IX décalage · registre d'état indicateurs
- bus d'adresse unidirectionnel, $2^{n}$ emplacements ; données et contrôle bidirectionnels ;
MAR ← [PC]copie les contenus du PC dans le MAR