Saltar al contenido

Arquitectura del computador

Los dos modelos de organización interna, las unidades que forman el procesador, los tres buses que lo comunican y los pasos que repite sin parar para ejecutar cada instrucción.

Von Neumann frente a Harvard

Toda la discusión entre estas dos arquitecturas se reduce a una pregunta: ¿las instrucciones y los datos comparten memoria o no? La respuesta condiciona el rendimiento y también la seguridad.

ArquitecturaMemoriaConsecuencia
Von NeumannInstrucciones y datos comparten una sola memoria.Más sencilla y flexible, pero unas y otros compiten por el mismo camino.
HarvardMemoria separada para instrucciones y para datos.Mejor rendimiento, porque se puede leer una instrucción y un dato a la vez, y mejor seguridad, porque un dato no puede pasar por instrucción.

Von Neumann, una memoria; Harvard, dos. Todo lo demás (velocidad y seguridad) se deriva de ahí.

Para el examen

  • Von Neumann: una sola memoria para instrucciones y datos

  • Harvard: memorias separadas: más rendimiento y más seguridad

  • Cuello de botella: el de Von Neumann, por compartir el bus

Las unidades internas de la CPU

El procesador no es una pieza indivisible: dentro conviven varias unidades con trabajos distintos, y las preguntas de examen suelen consistir en atribuir una función a la unidad equivocada.

UnidadDe qué se ocupa
Unidad de control (UC)Trae las instrucciones desde la memoria, las decodifica y reparte la ejecución entre los elementos de la CPU que correspondan.
Unidad aritmético-lógica (ALU)Realiza las operaciones aritméticas y lógicas y la manipulación de bits.
DecodificadorEs por donde pasan las instrucciones antes de llegar al secuenciador: traduce el código de la instrucción en las órdenes concretas que hay que dar.
SecuenciadorEs el corazón de la CPU: el que ejecuta materialmente las instrucciones de código máquina.

La unidad de control dirige y la ALU calcula. El orden interno es decodificador y después secuenciador.

Para el examen

  • Unidad de Control: trae la instrucción y reparte el trabajo

  • ALU: hace los cálculos aritméticos y lógicos

  • Decodificador: traduce la instrucción

  • Secuenciador: genera las órdenes que la ejecutan

El reloj y el overclocking

El ordenador trabaja de forma síncrona: todo ocurre al ritmo de una señal que marca los instantes en que las cosas pueden cambiar. Sin ese compás común, las distintas piezas no podrían coordinarse entre sí.

No hay un solo reloj, sino varios. El reloj externo gobierna la relación entre la CPU y el resto de componentes de la placa base. Dentro de la CPU hay otro reloj que funciona a partir del externo aplicándole un factor multiplicador, y por eso el procesador puede ir a mucha más frecuencia que la placa.

El overclocking consiste precisamente en elevar ese factor multiplicador, de modo que el procesador trabaje por encima de la frecuencia que tiene asignada. Es una operación fuera de las especificaciones del fabricante y su coste está en el calor y el consumo.

El reloj interno se obtiene multiplicando el externo. El overclocking sube ese multiplicador, no la señal de la placa.

Para el examen

  • Fórmula del reloj interno: reloj externo × multiplicador

  • Overclocking: subir el multiplicador

  • Su precio: más calor y más consumo

Los tres buses

Un bus es un camino compartido por el que circula información entre los componentes. Se distinguen tres según lo que transportan, y las tres respuestas se confunden con facilidad porque las tres hablan de memoria.

BusQué transporta
Bus de controlLas señales que indican qué operación se va a realizar, es decir, si se va a leer o se va a escribir.
Bus de direccionesLa dirección de memoria RAM a la que se quiere acceder.
Bus de datosEl contenido: por él salen de memoria las instrucciones que se leen, y también los datos que se leen y se escriben.

El de direcciones dice dónde, el de control dice qué operación, y el de datos lleva el contenido en sí.

Para el examen

  • Bus de direcciones: dónde

  • Bus de control: qué hacer: leer o escribir

  • Bus de datos: el contenido, instrucciones incluidas

Los registros de la CPU

Un registro es una pequeña memoria dentro del propio procesador, la más rápida de todas, donde se guardan los valores con los que se está trabajando en ese instante. Algunos son de uso general y otros tienen un cometido fijo dentro del funcionamiento de la máquina.

RegistroQué guarda
FlagsEl estado actual del procesador: acarreo, paridad, cero y otros indicadores del resultado de la última operación.
MAR (Memory Address Register)La dirección de memoria a la que se va a acceder.
MDR (Memory Data Register)El dato que se ha leído de memoria o que se va a escribir en ella.
AC (Acumulador)El operando o el resultado con el que trabaja la ALU.
PC (Program Counter)La dirección de la siguiente instrucción que se va a ejecutar. En la terminología de Intel se llama Instruction Pointer.
CIR o IR (Current Instruction Register)La instrucción que se está ejecutando en este momento.

El PC apunta a la siguiente instrucción; el IR contiene la actual. Confundirlos es el fallo más repetido de este apartado.

Para el examen

  • PC (Instruction Pointer en Intel): dirección de la SIGUIENTE instrucción

  • IR: la instrucción actual

  • MAR y MDR: MAR guarda la dirección; MDR, el dato

  • Acumulador: el operando y el resultado

  • Registro de estado: los indicadores o flags

El ciclo de instrucción

El procesador no hace más que repetir el mismo ciclo millones de veces por segundo. Se le llama ciclo de ejecución o, por sus nombres en inglés, fetch, decode y execute, con un cuarto paso de almacenamiento que no siempre hace falta.

Fetch: búsqueda

Se le pide a la memoria RAM la instrucción que toca. Al terminar, la instrucción está ya en el registro IR.

Decode: decodificación

La instrucción pasa al decodificador, que averigua qué hay que hacer.

Execute: ejecución

La instrucción pasa al secuenciador para ejecutarse. Según cuál sea, puede necesitar la ALU o no.

(Almacenamiento, si procede)

Solo si la operación produce un resultado que hay que conservar; si no, el ciclo termina en el paso anterior.

El paso de almacenamiento va entre paréntesis porque es condicional: no todas las instrucciones dejan un resultado que guardar.

Para el examen

  • Las fases: fetch, decode, execute y almacenamiento condicional

  • Dónde queda la instrucción tras el fetch: en el registro IR

Cómo se mide el rendimiento: MIPS y MFLOPS

Comparar procesadores por su frecuencia de reloj engaña, porque dos máquinas a la misma frecuencia pueden hacer trabajos muy distintos en cada ciclo. Por eso el rendimiento se expresa en trabajo realizado por segundo, y hay dos unidades según qué trabajo se cuente.

UnidadQué mide
MIPSMillones de instrucciones por segundo. Da idea de la potencia del procesador en trabajo general.
MFLOPSMillones de operaciones en coma flotante por segundo. Mide el rendimiento del procesador en cálculo con decimales.

La F de MFLOPS es de floating point: cuando el enunciado hable de coma flotante, la respuesta no son MIPS.

Para el examen

  • MIPS: millones de instrucciones por segundo

  • MFLOPS: millones de operaciones en coma flotante por segundo