RISC, CISC and pipelining · RISC, CISC y pipelining
| English | Español |
|---|---|
| CISC/sɪsk/ | CISC |
| RISC/rɪsk/ | RISC |
| pipelining/ˈpaɪplaɪnɪŋ/ | pipelining |
| Flynn's taxonomy/flɪnz tækˈsɒnəmi/ | Taxonomía de Flynn |
| register/ˈredʒɪstə/ | registro |
| ALU/ˌeɪ el ˈjuː/ | ALU |
| hazard/ˈhæzəd/ | peligro |
| SIMD/ˈsɪmdiː/ | SIMD |
| MIMD/ˈmɪmdiː/ | MIMD |
| massively parallel/ˈmæsɪvli ˈpærəlel/ | paralelismo masivo |
| supercomputers/ˌsuːpəkəmˈpjuːtəz/ | supercomputadoras |
The phone in your pocket does not run Intel
- For thirty years the fastest processors were the most complicated ones: add instructions, and each one does more work. Intel built an empire on it.
- Then a small British company put a deliberately simple processor in a phone. Fewer instructions, all the same length, almost none touching memory. It could not do as much per instruction, and it won anyway.
- It won because simple, uniform instructions can be overlapped, and overlapping is worth more than complexity.
- This lesson is CISC 复杂指令集 and RISC 精简指令集, pipelining 流水线, the four architectures of Flynn's taxonomy, and where a processor's heat and speed limits lead.
El teléfono en tu bolsillo no usa Intel
- Durante treinta años, los procesadores más rápidos fueron los más complicados: se añadían instrucciones y cada una realizaba más trabajo. Intel construyó un imperio sobre esto.
- Luego, una pequeña empresa británica colocó deliberadamente un procesador simple en un teléfono. Menos instrucciones, todas de la misma longitud, casi ninguna accediendo a memoria. No podía hacer tanto por instrucción, y sin embargo ganó.
- Ganó porque las instrucciones simples y uniformes pueden ser superpuestas, y la superposición vale más que la complejidad.
- Esta lección trata sobre CISC (conjunto de instrucciones complejo) y RISC (conjunto de instrucciones reducido), pipelining (proceso en cascada), las cuatro arquitecturas de la taxonomía de Flynn y hacia dónde llevan los límites de calor y velocidad de un procesador.
CISC and RISC
- A CISC, Complex Instruction Set Computer, has many, often complex instructions: one may perform several memory accesses and operations. They are of variable length, so decoding is intricate. It does more per instruction, in hardware. Example: Intel x86.
- A RISC, Reduced Instruction Set Computer, has a small set of simple instructions, each doing one basic operation, all of fixed length and quick to decode. Only load and store touch memory; everything else is register 寄存器 to register. Example: ARM.
- RISC programs are longer, but each instruction is quick and predictable, which is exactly what a pipeline needs.
More per instruction, or faster and more predictable per instruction
CISC y RISC
- Un CISC, Computadora con Conjunto de Instrucciones Complejo, tiene muchas, a menudo complejas instrucciones: una puede realizar múltiples accesos a memoria y operaciones. Son de longitud variable, por lo que su decodificación es intrincada. Realiza más por instrucción, en hardware. Ejemplo: Intel x86.
- Un RISC, Computadora con Conjunto de Instrucciones Reducido, tiene un pequeño conjunto de instrucciones simples, cada una realizando una operación básica, todas de longitud fija y rápida decodificación. Solo carga y almacenamiento acceden a memoria; todo lo demás es de registro a registro. Ejemplo: ARM.
- Los programas RISC son más largos, pero cada instrucción es rápida y predecible, lo cual es exactamente lo que necesita un pipeline.

Más por instrucción, o más rápido y predecible por instrucción
A RISC processor is characterised by: · Un procesador RISC se caracteriza por:
RISC keeps instructions few, simple and fixed-length (usually 1 cycle); CISC has many complex variable-length ones. · RISC mantiene las instrucciones pocas, simples y de longitud fija (usualmente 1 ciclo); CISC tiene muchas complejas y de longitud variable.
The differences the exam wants
| Feature | CISC | RISC |
|---|---|---|
| instruction set | many, complex | few, simple |
| instruction length | variable | fixed |
| memory access | many instructions may access memory | only load and store |
| registers | fewer | many |
| cycles per instruction | varies | usually one |
| pipelining | harder | natural |
- Modern Intel chips translate their CISC instructions into simpler RISC-like micro-operations internally, which is the clearest evidence of which design won the argument.
Las diferencias que pide el examen
| Característica | CISC | RISC |
|---|---|---|
| juego de instrucciones | muchos, complejos | pocos, simples |
| longitud de instrucción | variable | fija |
| acceso a memoria | muchas instrucciones pueden acceder a memoria | solo carga y almacenamiento |
| registros | menos | muchos |
| ciclos por instrucción | variable | usualmente uno |
| pipeline | difícil | natural |
- Los chips modernos de Intel traducen internamente sus instrucciones CISC en microoperaciones RISC-like más simples, lo cual es la evidencia más clara de qué diseño ganó el debate.
Match each term to its description. · Empareje cada término con su descripción.
RISC = simple + fixed-length + load/store; CISC = complex + variable-length; pipelining overlaps stages for speed. · RISC = simple + longitud fija + load/store; CISC = complejo + longitud variable; el pipelining superpone stages para acelerar.
In a RISC processor, the only instructions that access memory are load and ____. · En un procesador RISC, las únicas instrucciones que acceden a la memoria son load y ____.
Everything else is register to register. That restriction is what makes instructions fixed-length, uniform in timing and easy to pipeline. · Todo lo demás es registro a registro. Esa restricción es lo que hace que las instrucciones sean de longitud fija, uniformes en temporización y fáciles de pipeline.
Pipelining
- A pipeline processes instructions in overlapping stages, like an assembly line: fetch, decode, execute in the ALU 算术逻辑单元, memory access, write back.
- Each stage works on a different instruction at the same time, so once the pipeline is full, one instruction completes per cycle.
- It does not make any single instruction faster. It increases throughput: more instructions finish per second.
- RISC's fixed-length, simple instructions make every stage take the same time, which is why RISC pipelines cleanly and CISC does not.
Six instructions in flight, one finishing each cycle
Pipeline
- Un pipeline procesa instrucciones en etapas superpuestas, como una línea de ensamblaje: búsqueda, decodificación, ejecución en la ALU (Unidad Aritmético-Lógica), acceso a memoria, escritura posterior.
- Cada etapa trabaja en una instrucción diferente al mismo tiempo, por lo que una vez lleno el pipeline, una instrucción se completa por ciclo.
- No hace que ninguna instrucción individual sea más rápida. Aumenta el rendimiento: más instrucciones terminan por segundo.
- Las instrucciones RISC de longitud fija y simplicidad hacen que cada etapa tarde el mismo tiempo, por eso los pipelines RISC son limpios y los CISC no.

Seis instrucciones en vuelo, una terminando cada ciclo
How pipelining fills up · Cómo se llena el pipeline
Step through the clock cycles. Once the pipeline is full, a new instruction finishes every cycle — even though each one still takes several stages — because the stages of different instructions overlap. · Pase por los ciclos de reloj. Una vez que el pipeline está lleno, una nueva instrucción termina cada ciclo —aunque cada una todavía requiere varios stages— porque los stages de diferentes instrucciones se superponen.
When a pipeline is full, it completes about: · Cuando un pipeline está lleno, completa aproximadamente:
Overlapping the stages means a new instruction finishes each cycle once the pipeline is full. · Superponer los stages significa que una nueva instrucción termina cada ciclo una vez que el pipeline está lleno.
Pipelining speeds up a processor by: · El pipelining acelera un procesador al:
Stages of different instructions run at the same time. · Los stages de diferentes instrucciones se ejecutan al mismo tiempo.
Worked example: why pipelining is faster
- A five-stage pipeline runs at one cycle per stage. Explain why it is faster than executing instructions one after another.
- Without a pipeline, each instruction occupies the processor for all five stages, so one finishes every five cycles.
- With a pipeline, the fetch unit starts the next instruction while the current one is still decoding, so five instructions are in progress at once and, once it is full, one completes every cycle.
- No individual instruction is executed faster; the throughput rises about fivefold. Say that explicitly: it is the mark most often missed.
Ejemplo resuelto: por qué el pipeline es más rápido
- Un pipeline de cinco stages funciona a un ciclo por stage. Explica por qué es más rápido que ejecutar instrucciones una tras otra.
- Sin pipeline, cada instrucción ocupa el procesador durante los cinco stages, por lo que una termina cada cinco ciclos.
- Con pipeline, la unidad de búsqueda inicia la siguiente instrucción mientras la actual aún está siendo decodificada, por lo que hay cinco instrucciones en progreso a la vez y, una vez lleno, se completa una cada ciclo.
- Ninguna instrucción individual se ejecuta más rápido; el rendimiento aumenta aproximadamente cinco veces. Dilo explícitamente: es la marca que más se olvida.
What does pipelining actually improve? · ¿Qué mejora realmente el pipelining?
Stages overlap, so five instructions are in progress at once and one completes per cycle. No individual instruction is executed any faster. · Los stages se superponen, así que cinco instrucciones están en progreso al mismo tiempo y una se completa por ciclo. Ninguna instrucción individual se ejecuta más rápido.
Hazards
- A hazard 冒险 stalls the pipeline. A data hazard occurs when an instruction needs a result the previous one has not yet produced, so it must wait.
- A control hazard occurs at a branch: until the branch is resolved, the processor does not know which instruction to fetch next.
- Both waste cycles, which is why processors predict branches and forward results between stages.
Peligros
- Un peligro (hazard) detiene el pipeline. Un peligro de datos ocurre cuando una instrucción necesita un resultado que la anterior aún no ha producido, por lo que debe esperar.
- Un peligro de control ocurre en una derivación (branch): hasta que se resuelve la derivación, el procesador no sabe qué instrucción buscar a continuación.
- Ambos desperdician ciclos, por lo que los procesadores predicen derivaciones y reenvían resultados entre stages.
A data hazard stalls the pipeline when an instruction needs a result that is not ready yet; a control hazard comes from a branch changing which instruction runs next. · Una data hazard detiene el pipeline cuando una instrucción necesita un resultado que aún no está listo; una control hazard proviene de una rama que cambia qué instrucción se ejecuta a continuación.
Hazards force the pipeline to stall (or flush), which is why they reduce the ideal one-per-cycle throughput. · Las hazards obligan al pipeline a detenerse (o flush), lo cual es por qué reducen el throughput ideal de uno por ciclo.
Match each pipeline hazard to what causes it. · Empareje cada hazard de pipeline con lo que lo causa.
Both stall the pipeline and waste cycles, which is why processors forward results between stages and predict branches. · Ambas detienen el pipeline y pierden ciclos, por lo que los procesadores reenvían resultados entre stages y predicen ramas.
Flynn's taxonomy
- Flynn's taxonomy 弗林分类 sorts computers by how many instruction streams and data streams they have.
- SISD: one instruction stream, one data stream, a traditional single core.
- SIMD 单指令多数据: one instruction operates on many data items at once. This is a GPU or a CPU's vector unit, and it suits images, video and scientific arrays.
- MISD: several operations on the same data; rare and mostly theoretical. MIMD 多指令多数据: many processors run different instructions on different data, which is a multi-core CPU or a cluster, and it is the most general.
One instruction, many data items
Taxonomía de Flynn
- La taxonomía de Flynn clasifica las computadoras según cuántos flujos de instrucciones y flujos de datos tienen.
- SISD: un flujo de instrucciones, un flujo de datos, un núcleo tradicional.
- SIMD (Single Instruction, Multiple Data): una instrucción opera sobre muchos elementos de datos a la vez. Esto es una GPU o la unidad vectorial de una CPU, y es adecuada para imágenes, video y matrices científicas.
- MISD: varias operaciones sobre los mismos datos; raro y mayormente teórico. MIMD (Multiple Instruction, Multiple Data): muchos procesadores ejecutan diferentes instrucciones sobre diferentes datos, lo cual es una CPU multi-núcleo o un clúster, y es el más general.

Una instrucción, muchos elementos de datos
Which describe SIMD? Select all · todos that apply. · ¿Cuáles describen SIMD? Seleccione todos los que correspondan.
Different programs on different data is MIMD, the multi-core case. SIMD is one instruction stream over many data streams. · Diferentes programas en diferentes datos es MIMD, el caso multi-core. SIMD es un flujo de instrucciones sobre múltiples flujos de datos.
Massively parallel computers
- A massively parallel 大规模并行 system uses thousands of processors connected by a fast network, each with its own memory, exchanging data by messages rather than sharing memory.
- It is MIMD, and it needs specially written software, because the programmer must divide the problem and manage the communication.
- This is what the largest supercomputers 超级计算机 are: climate simulation, machine-learning training and astrophysics all run this way.
Computadoras masivamente paralelas
- Un sistema masivamente paralelo utiliza miles de procesadores conectados por una red rápida, cada uno con su propia memoria, intercambiando datos mediante mensajes en lugar de compartir memoria.
- Es MIMD y requiere software escrito especialmente, porque el programador debe dividir el problema y gestionar la comunicación.
- Así son las mayores supercomputadoras: simulación climática, entrenamiento de aprendizaje automático y astrofísica se ejecutan de esta manera.
A massively parallel computer's processors share one block of memory. · Los procesadores de una computadora masivamente paralela comparten un bloque de memoria.
Each processor has its own memory, and they exchange data by messages over a fast network. That distributed memory is what the term means. · Cada procesador tiene su propia memoria, e intercambian datos mediante mensajes a través de una red rápida. Esa memoria distribuida es lo que significa el término.
Worked example: place the machine
- A graphics card applies the same brightness adjustment to two million pixels. SIMD: one instruction, many data items, which is precisely what the GPU's thousands of small cores are built for.
- A four-core laptop runs a browser, a compiler and a music player at once. MIMD: different instructions on different data, one stream per core.
- A weather centre divides the atmosphere into a grid across ten thousand processors, each with its own memory, passing boundary values as messages. Massively parallel, which is a form of MIMD.
- Name the category, then justify with the number of instruction and data streams.
Ejemplo resuelto: ubica la máquina
- Una tarjeta gráfica aplica el mismo ajuste de brillo a dos millones de píxeles. SIMD: una instrucción, muchos elementos de datos, lo cual es precisamente para lo que están construidos los miles de núcleos pequeños de la GPU.
- Una laptop de cuatro núcleos ejecuta un navegador, un compilador y un reproductor de música al mismo tiempo. MIMD: diferentes instrucciones sobre diferentes datos, un flujo por núcleo.
- Un centro meteorológico divide la atmósfera en una cuadrícula a través de diez mil procesadores, cada uno con su propia memoria, pasando valores de frontera como mensajes. Masivamente paralelo, que es una forma de MIMD.
- Nombra la categoría, luego justifica con el número de flujos de instrucciones y datos.
Marks that slip away
- Pipelining raises throughput; it does not shorten any single instruction. Say so.
- In RISC, only load and store touch memory. That one fact explains the fixed length, the many registers and the clean pipeline.
- SIMD is one instruction on many data; MIMD is many instructions on many data. Count the streams before answering.
- Massively parallel means thousands of processors with distributed memory and message passing, not just "a fast computer".
Puntos que se escapan
- El pipeline eleva el rendimiento; no acorta ninguna instrucción individual. Di eso explícitamente.
- En RISC, solo carga y almacenado tocan la memoria. Ese único hecho explica la longitud fija, los muchos registros y el pipeline limpio.
- SIMD es una instrucción sobre muchos datos; MIMD es muchas instrucciones sobre muchos datos. Cuenta los flujos antes de responder.
- Masivamente paralelo significa miles de procesadores con memoria distribuida y paso de mensajes, no simplemente "una computadora rápida".
You've got it
- CISC: many complex variable-length instructions, more per instruction · RISC: few simple fixed-length instructions, load and store only, many registers, one cycle each
- a pipeline overlaps fetch, decode, execute, memory and write-back, so one instruction completes per cycle once full: higher throughput, not faster instructions; data and control hazards stall it
- Flynn: SISD, SIMD (a GPU), MISD, MIMD (multi-core)
- massively parallel: thousands of processors, distributed memory, message passing, MIMD, used by supercomputers
Lo has entendido
- CISC: muchas instrucciones complejas de longitud variable, más por instrucción · RISC: pocas instrucciones simples de longitud fija, solo carga y almacenado, muchos registros, un ciclo cada una
- un pipeline superpone búsqueda, decodificación, ejecución, memoria y escritura posterior, por lo que una instrucción se completa por ciclo una vez lleno: mayor rendimiento, no instrucciones más rápidas; peligros de datos y de control lo detienen
- Flynn: SISD, SIMD (una GPU), MISD, MIMD (multi-núcleo)
- masivamente paralelo: miles de procesadores, memoria distribuida, paso de mensajes, MIMD, usado por supercomputadoras