Von Neumann architecture and the CPU · Arquitectura de Von Neumann y la CPU
| English | Español |
|---|---|
| processor/ˈprəʊsesə/ | procesador |
| registers/ˈredʒɪstəz/ | registros |
| buses/ˈbʌsɪz/ | buses |
| Von Neumann architecture/vɒn ˈnɔɪmən ˈɑːkɪtektʃə/ | Arquitectura Von Neumann |
| Immediate Access Store/ɪˈmiːdɪət ˈækses stɔː/ | Almacén de Acceso Inmediato |
| stored program/stɔːd ˈprəʊɡræm/ | programa almacenado |
| ALU/ˌeɪ el ˈjuː/ | ALU |
| control unit/kənˈtrəʊl ˈjuːnɪt/ | unidad de control |
| system clock/ˈsɪstəm klɒk/ | reloj del sistema |
| clock speed/klɒk spiːd/ | velocidad del reloj |
| general-purpose registers/ˈdʒenərəl ˈpɜːpəs ˈredʒɪstəz/ | registros de propósito general |
| special purpose registers/ˈspeʃl ˈpɜːpəs ˈredʒɪstəz/ | registros de propósito especial |
| Program Counter/ˈprəʊɡræm ˈkaʊntə/ | Contador de Programa |
| Memory Address Register/ˈmeməri əˈdres ˈredʒɪstə/ | Registro de Dirección de Memoria |
| Memory Data Register/ˈmeməri ˈdeɪtə ˈredʒɪstə/ | Registro de Datos de Memoria |
| Current Instruction Register/ˈkʌrənt ɪnˈstrʌkʃn ˈredʒɪstə/ | Registro de Instrucción Actual |
| accumulator/əˈkjuːmjʊleɪtə/ | acumulador |
| Index Register/ˈɪndeks ˈredʒɪstə/ | Registro de Índice |
| Status Register/ˈsteɪtəs ˈredʒɪstə/ | Registro de Estado |
| flag/flæɡ/ | bandera |
| address bus/əˈdres bʌs/ | bus de direcciones |
| data bus/ˈdeɪtə bʌs/ | bus de datos |
| control bus/kənˈtrəʊl bʌs/ | bus de control |
| register transfer/ˈredʒɪstə ˈtrænsfɜː/ | transferencia de registros |
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.
El informe que sigue cada ordenador
- En junio de 1945, John von Neumann distribuyó una versión mecanografiada que describía una máquina que aún no se había construido: el EDVAC.
- Su idea era simple y nueva. Mantener el programa en la misma memoria que los datos, y tener un procesador que busque y ejecute las instrucciones una a una.
- El borrador nunca se terminó, pero el diseño fue copiado por todas partes. Tu teléfono, tu portátil y el servidor del colegio están todos construidos sobre él.
- Esta lección desmonta el modelo: la memoria, las partes del procesador, sus registros y los buses que los conectan.
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
El modelo de Von Neumann
- La arquitectura de Von Neumann 冯·诺依曼体系结构 tiene una memoria única, la Immediate Access Store 立即存取存储器 (IAS), que almacena tanto instrucciones del programa como datos. Ese es el concepto de programa almacenado 存储程序.
- El procesador 处理器 busca cada instrucción en la memoria y la ejecuta, una a la vez, en orden de direcciones a menos que una instrucción de salto cambie el flujo.
- Las instrucciones, los datos y las direcciones viajan entre el procesador y la memoria a través de buses 总线 compartidos.

Una memoria, un procesador, tres buses
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.
Por qué importa el programa almacenado
- Cambiar el programa en la memoria hace que el mismo hardware realice una tarea diferente. No hay necesidad de rehilar ni de una nueva máquina.
- Un programa es solo datos hasta que es buscado, por lo que puede cargarse desde un disco, enviarse por una red o escribirse por otro programa.
- La redacción del examen: las instrucciones y los datos están almacenados en la misma memoria, y las instrucciones se buscan una a la vez y son ejecutadas por el procesador.
The stored-program (Von Neumann) idea means that: · La idea de programa almacenado (Von Neumann) significa que:
One memory holds instructions and data together; changing the stored program changes what the computer does, with no rewiring. · Una sola memoria contiene instrucciones y datos juntos; cambiar el programa almacenado cambia lo que hace la computadora, sin necesidad de recablear.
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, unidad de control y reloj
- La ALU 算术逻辑单元 (Unidad Aritmético-Lógica) realiza la aritmética (suma, resta) y la lógica (AND, OR, comparaciones), tomando operandos de los registros y devolviendo el resultado en uno de ellos.
- La unidad de control 控制单元 (CU) decodifica cada instrucción y envía las señales de control que la llevan a cabo: abriendo rutas de datos, indicando a la ALU qué hacer, ordenando lecturas y escrituras de memoria.
- El reloj del sistema 系统时钟 envía un flujo constante de pulsos. La unidad de control avanza un paso por ciclo con cada pulso, para que todas las partes cambien de estado al mismo tiempo; la velocidad del reloj 时钟频率, en GHz, es el número de pulsos por segundo.

Todo el procesador es un solo chip pequeño
The ALU is responsible for: · La ALU es responsable de:
The Arithmetic and Logic Unit performs calculations and logic/comparisons. Decoding is the control unit's job. · La Unidad Aritmética Lógica realiza cálculos y lógicas/comparaciones. La decodificación es tarea de la unidad de control.
The ____ unit decodes each instruction and sends the control signals that carry it out. · La ____ unidad decodifica cada instrucción y envía las señales de control que la ejecutan.
The control unit decodes and signals; the ALU does the arithmetic and logic; the clock keeps them in step. · La unidad de control decodifica y envía señales; la ALU realiza operaciones aritméticas y lógicas; el reloj mantiene todo sincronizado.
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
Los registros
- Los registros 寄存器 son depósitos pequeños y muy rápidos dentro del procesador. Los registros de propósito general 通用寄存器 guardan los valores temporales del programador. Los registros de propósito especial 专用寄存器 tienen cada uno una función fija en el ciclo.
| Registro | Función |
|---|---|
| Program Counter 程序计数器 (PC) | la dirección de la siguiente instrucción que se va a buscar |
| Memory Address Register 内存地址寄存器 (MAR) | la dirección de la ubicación que se está leyendo o escribiendo |
| Memory Data Register 内存数据寄存器 (MDR) | los datos o la instrucción leídos recientemente, o a punto de escribirse en esa ubicación |
| Current Instruction Register 当前指令寄存器 (CIR) | la instrucción que se está decodificando y ejecutando actualmente |
| Accumulator 累加器 (ACC) | el resultado de la última operación aritmética o lógica |
| Index Register 变址寄存器 (IX) | un desplazamiento añadido a una dirección en la direccionamiento indexado |
| Status Register 状态寄存器 | las banderas establecidas por la última operación |

Registros, unidad de control y ALU, conectados por los buses
Tap the parts of a Von Neumann computer · Toca las partes de una computadora 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. · Explora cada bloque. La CPU (unidad de control, ALU, registros) se comunica con una única memoria principal a través de los buses —y esa memoria compartida para instrucciones Y datos es la idea de Von Neumann.
Match each special-purpose register to what it holds. · Asocia cada registro de propósito especial con lo que contiene.
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. · El PC apunta a la siguiente instrucción, el CIR contiene la actual, MAR/MDR son el par dirección/datos para la memoria, y el ACC contiene el resultado en curso.
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.
Ejemplo resuelto: "describir el papel de cada registro"
- La pregunta de tabla pide una oración precisa por registro, y las palabras clave que otorgan los puntos están en negrita.
- PC: guarda la dirección de la siguiente instrucción que se va a buscar. MAR: guarda la dirección de la ubicación que se está accediendo.
- MDR: guarda los datos leídos recientemente o a punto de escribirse en la memoria. CIR: guarda la instrucción que se está decodificando y ejecutando actualmente.
- ACC: guarda el resultado de la última operación de la ALU. Observa que dos registros guardan direcciones, dos guardan contenidos y uno guarda un resultado.
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.
Las banderas del registro de estado
- Cada bandera 标志 es un bit, establecido o eliminado por la ALU después de una operación: la bandera zero cuando un resultado o comparación da cero, la bandera carry cuando una suma desbordó el registro, la bandera negative cuando un resultado es negativo, la bandera overflow cuando un resultado con signo no cabe.
- Un salto condicional lee una bandera para decidir si debe saltar. Así es como
IFy los bucles llegan al hardware. - Una bandera de desbordamiento también puede generar una interrupción, lo cual trata la siguiente lección.
Which of these are flags in the status register? Select all · todos that apply. · ¿Cuáles de estos son banderas en el registro de estado? Selecciona todos los que correspondan.
Carry, zero, negative and overflow are one-bit flags set by the ALU. The program counter is a separate register holding an address. · Acarre, cero, negativo y desbordamiento son banderas de un bit establecidas por la ALU. El contador de programa es un registro separado que contiene una dirección.
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
Los tres buses
- El bus de dirección 地址总线 transporta la dirección que desea el procesador. Es de una sola vía, del procesador a la memoria.
- El bus de datos 数据总线 transporta los datos o la instrucción en sí. Es de doble vía, porque las lecturas y escrituras van en direcciones opuestas.
- El bus de control 控制总线 transporta señales de control como lectura, escritura, reloj e interrupción. Es de doble vía.

Los tres buses del sistema que conectan procesador, memoria y entrada/salida
Which bus is one-way (carries information in only one direction)? · ¿Qué bus es de un solo sentido (transporta información en una sola dirección)?
The address bus is one-way (CPU → memory). The data and control buses are two-way. · El bus de direcciones es de un solo sentido (CPU → memoria). Los buses de datos y de control son de doble sentido.
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.
Ejemplo resuelto: ¿qué ancho es suficiente?
- Un bus de dirección de $n$ bits puede direccionar $2^{n}$ ubicaciones. Un bus de 16 bits alcanza $2^{16} = 65\,536$ ubicaciones; un bus de 32 bits alcanza $2^{32}$, aproximadamente cuatro mil millones.
- "Indique un efecto de aumentar el ancho del bus de dirección": se pueden direccionar más ubicaciones de memoria.
- "Indique un efecto de aumentar el ancho del bus de datos": se transfieren más bits en cada transferencia, por lo que se necesitan menos transferencias para los mismos datos.
- Amplíe el bus de dirección y podrá tener más memoria; amplíe el bus de datos y lo moverá más rápido.
How many memory locations can a 16-bit address bus reach? · ¿Cuántas ubicaciones de memoria puede alcanzar un bus de direcciones de 16 bits?
$2^{16} = 65\,536$ locations. · $2^{16} = 65\,536$ ubicaciones.
A wider address bus lets the CPU address more memory locations. · Un bus de direcciones más ancho permite a la CPU acceder a más ubicaciones de memoria.
Each extra address line doubles the reach — n lines address 2ⁿ locations. · Cada línea de dirección adicional duplica el alcance —n líneas acceden a 2ⁿ ubicaciones.
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.
Notación de transferencia de registros
- Los movimientos entre registros y memoria se escriben en notación de transferencia de registros 寄存器传送:
MAR ← [PC]significa "copiar los contenidos del PC en el MAR". - Los corchetes significan "los contenidos de", y
[[MAR]]significa "los contenidos de la ubicación cuya dirección está en el MAR". - Todo el ciclo de búsqueda-ejecución se escribe así en la próxima lección; la notación es la misma que la flecha de asignación en pseudocódigo.
What does MAR ← [PC] mean? · ¿Qué significa 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 flecha apunta al destino y los corchetes significan "el contenido de". Este es el primer paso de toda búsqueda.
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.
Puntos que se escapan
- El PC guarda la dirección de la siguiente instrucción, no la actual; el CIR guarda la instrucción, no una dirección.
- El MAR guarda una dirección, el MDR guarda datos. Mezclarlos cuesta ambos puntos.
- Solo el bus de dirección es de una sola vía. Decir "todos los buses son de una sola vía" o "el bus de datos es de una sola vía" es un error común.
- Los registros están dentro del procesador, no forman parte de la RAM, y son más rápidos que cualquier memoria.
The program counter holds the instruction that is currently being executed. · El contador de programa contiene la instrucción que se está ejecutando actualmente.
The PC holds the address of the next · siguiente instruction. The current instruction sits in the CIR. · El PC contiene la dirección de la siguiente instrucción. La instrucción actual se encuentra en el 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
Lo has entendido
- Von Neumann: una memoria (IAS) almacena instrucciones y datos; el procesador los busca y ejecuta uno a uno
- ALU calcula, CU decodifica y genera señales, el reloj mantiene el ritmo de los pasos
- PC siguiente dirección · MAR dirección que se está accediendo · MDR datos · CIR instrucción actual · ACC resultado · IX desplazamiento · registro de estado banderas
- bus de dirección una vía, $2^{n}$ ubicaciones; datos y control buses de doble vía;
MAR ← [PC]copia los contenidos del PC en el MAR