Arquitectura de microprocesadores

03.10.2017

El procesador es todo un mundo en sí mismo; aunque los primeros eran comparativamente simples, actualmente han alcanzado una notable complejidad. En el presente capítulo dedicaremos algunos comentarios a su estructura lógica, mencionando de pasada que su tecnología física ha avanzado paralelamente con la de construcción de circuitos integrados, IC's, lo que a la postre ha significado unas dimensiones físicas cada vez más pequeñas y un menor consumo.

La evolución de ambos parámetros no solo ha permitido incrementar la densidad de integración, también la velocidad (frecuencia de funcionamiento). Si nos referimos a la familia Intel, de los 2.100 transistores del 4004 en 1970, que con solo 46 instrucciones funcionaba a unos 800 KHz, se pasó a los 29.000 transistores del 8086 en 1979 a 14 MHz; y en 1999 a los 8.200.000 transistores del Pentium III a 2 GHz.

Como he mencionado en otras ocasiones, la capacidad de ejecución de las tareas y la velocidad con la que éstas se realizan, se ha convertido en una de las prestaciones más perfeccionadas por los fabricantes a la hora de comercializar nuevas tablets y smartphones. Esta característica, en conjunto con la memoria RAM, son dos de los reclamos más utilizados por las compañías para atraer a unos usuarios muy exigentes que desean velocidad en la navegación, gran capacidad de almacenamiento tanto interno como externo, pero también, a la hora de buscar contenidos en las galerías o de utilizar las aplicaciones a diario.

Tipos de arquitectura

Una de las primeras decisiones a la hora de diseñar un procesador es decidir cual será su juego de instrucciones. Este conjunto de instrucciones (órdenes) es el lenguaje que realmente entiende el procesador, y constituye lo que se conoce como lenguaje ensamblador o lenguaje-máquina [1].

La decisión es trascendente, por dos razones. Primero: el juego de instrucciones decide el diseño físico del conjunto. Segundo: cualquier operación que deba ejecutarse con el procesador deberá poder ser descrita en términos de este "lenguaje" elemental (recuerde que los compiladores e intérpretes son en realidad traductores desde el lenguaje de alto nivel (fuente) a este lenguaje-máquina.

Sin entrar en detalles, podemos decir que frente a esta cuestión caben dos filosofías de diseño. La primera conduce a máquinas denominadas CISC ("Complex Instruction Set Computer"); las máquinas construidas según el otro criterio se denominan RISC ("Reduced Instruction Set Computer").

Como puede deducirse de sus propios nombres, las máquinas CISC utilizan instrucciones muy complejas, diríamos que muy descriptivas y específicas, lo que necesariamente se traduce en varias consecuencias.