PROFESORES TÉCNICOS DE FP
SISTEMAS Y APLICACIONES INFORMÁTICAS
TEMA 3: COMPONENTES, ESTRUCTURA Y FUNCIONAMIENTO DE LA UNIDAD CENTRAL
DE PROCESO
1. INTRODUCCIÓN
1.1. ARQUITECTURA DE VON NEUMANN
La Arquitectura de Von Neumann es una arquitectura de computadoras basada en la descrita en 1945 por el
matemático y físico John von Neumann:
La Unidad Central de Proceso (CPU) es el componente principal de un Sistema Informático (generalmente
implementada por el microprocesador) su principal función es la de interpretar las distintas instrucciones que
conforman el programa informático que queremos ejecutar. Cabe destacar la existencia de un registro
especial llamado contador del programa (CP) donde se almacena en todo momento la dirección de memoria
donde se encuentra la siguiente instrucción a ejecutar.
2. LENGUAJE MÁQUINA
Las instrucciones del programa informático que interpreta la CPU están codificadas en un lenguaje de bajo nivel
denominado lenguaje máquina, que está conformado por un conjunto de instrucciones de máquina a las que
comúnmente llamamos juego de instrucciones del computador.
Entre las principales propiedades de las instrucciones máquina podemos destacar las siguientes:
a) Realizan una única función por lo que su interpretación es sencilla
b) Emplean un número fijo de operandos
c) Su codificación es sistemática
d) Son autocontenidas
PROFESORES TÉCNICOS DE FP
SISTEMAS Y APLICACIONES INFORMÁTICAS
Entre los distintos tipos de instrucciones podemos encontrar:
1) Instrucciones de Transferencia de datos
2) Instrucciones de Modificación de Secuencia
3) Instrucciones Aritméticas
4) Instrucciones Lógicas
5) Instrucciones de Comparación
6) Instrucciones de Desplazamiento
7) Instrucciones de Entrada / Salida
8) Instrucciones de Movimiento de Cadenas
3. ARQUITECTURA DEL PROCESADOR (CISC / RISC)
A la hora de diseñar un procesador, los principales modelos de arquitectura son los siguientes:
ARQUITECTURA CISC ARQUITECTURA RISC
Complex Instruction Set Computer Reduced Instruction Set Computer
Interpreta microinstrucciones Interpreta microoperaciones
Amplio grupo de instrucciones complejas y potentes Reducido grupo de instrucciones simples y rápidas
Gran cantidad de modos de direccionamiento Reducida cantidad de modos de direccionamiento
Una instrucción ocupa varios ciclos de reloj Gran cantidad de registros de propósito general
4. UNIDAD ARITMÉTICO LÓGICA (ALU)
Se trata del verdadero centro de cálculo del ordenador ya que es la encargada de realizar las operaciones
aritméticas (suma, resta…) y lógicas (comparación, negación…) siguiendo las órdenes de la Unidad de Control.
La principal función de la ALU es la del tratamiento de datos necesario para la ejecución del programa en curso.
Para ello la ALU se encarga de ejecutar las distintas operaciones que le indique la Unidad de Control sobre los
datos que ésta le vaya enviando.
4.1. OPERACIONES
Las operaciones que puede ejecutar la ALU son muy simples, por este motivo la UC debe descomponer cada
una de las tareas a realizar en una o varias operaciones elementales para que así la ALU las pueda acometer.
Entre las distintas operaciones que la ALU puede ejecutar destacan las siguientes:
Operaciones de desplazamiento: consiste en mover una o varias posiciones los bits de un operando.
Operaciones Lógicas: operaciones básicas de lógica booleana como NOT, AND, OR, XOR…
Operaciones de Manipulación de Signo: cambio o extensión del signo de un operando
Operaciones Aritméticas: suma, resta, multiplicación y división. Se distingue entre aritmética entera o
aritmética flotante.
PROFESORES TÉCNICOS DE FP
SISTEMAS Y APLICACIONES INFORMÁTICAS
4.2. ESTRUCTURA
La Unidad Aritmético-Lógica (ALU) generalmente está compuesta por los siguientes elementos:
REGISTROS: se trata de elementos de memoria usados para el almacenamiento temporal de datos y resultados
intermedios.
BIESTABLES: son elementos de memoria más sencillos que los registros y que se utilizan para almacenar
condiciones relativas a la última operación (ZERO, NEGATIVO, ACARREO…)
OPERADORES: se trata una serie de circuitos electrónicos capaces de realizar una o varias operaciones
aritmético-lógicas. Los operadores se pueden clasificar en función de los siguientes criterios:
Según su ámbito:
o Generales: pueden realizar distintas clases de operaciones
o Específicos: se restringen a una sola clase de operación.
Según su implementación:
o Secuenciales: requieren de varias fases para obtener el resultado y cuentan con elementos de
memoria (biestables) para almacenar la información necesaria entre fases, así como un
registro contador.
o Combinacionales: se basan en un circuito digital diseñado para realizar una o varias
operaciones. Carece elementos de memoria y su tiempo de respuesta equivale a la suma de
los retardos de cada una de las puertas lógicas que debe atravesar la señal.
Según su paralelismo:
o Serie: realiza la operación dígito a dígito.
o Paralelo: realiza la operación simultáneamente sobre todos los dígitos.
5. UNIDAD DE CONTROL
Está compuesta por la circuitería del microprocesador y se encarga de coordinar los movimientos de
información así como el funcionamiento de todos los componentes del ordenador. Para tal fin genera una serie
de órdenes denominadas señales de control, las cuáles vendrán determinadas por los siguientes elementos:
El tipo de operación a ejecutar
El modo de direccionamiento
Las direcciones de cada uno de los operandos
Los biestables que indican el estado del ordenador
5.1. FASES DE EJECUCIÓN DE UNA INSTRUCCIÓN
1. Carga (fetch): se generan las señales necesarias para cargar la siguiente instrucción de la memoria del
sistema. La instrucción se transfiere al registro de instrucciones de la CPU.
2. Decodificación (decode): se transfiere la instrucción del registro de instrucciones a la unidad de
decodificación, la cual busca la instrucción en una tabla interna y lee las microinstrucciones que se
deben ejecutar.
3. Ejecución de la operación (execute): si la instrucción lo requiere, se obtienen los operando necesarios
para el trabajo de la instrucción y éstos son enviados a la ALU junto con las señales que le indican la
operación a calcular.
4. Almacenamiento del resultado: si fuera necesario, se almacena el resultado de la operación en la
posición indicada por la instrucción y se calcula la dirección de la siguiente instrucción a ejecutar.
PROFESORES TÉCNICOS DE FP
SISTEMAS Y APLICACIONES INFORMÁTICAS
5.2. CONSTRUCCIÓN DE LA UNIDAD DE CONTROL
Existen dos modelos de implementación de una Unidad de Control:
5.2.1. UNIDAD DE CONTROL CABLEADA
Consiste en un gran circuito combinacional en el que las señales lógicas de entrada son transformadas en un
conjunto de señales de salida, que componen la señalización de control. Las entradas más representativas son:
El registro de instrucción
El reloj
Los indicadores de estado (biestables)
Las señales de control
La construcción de este tipo de Unidad de Control resulta del estudio de la lógica interna necesaria para
producir las señales de control de salida en función de sus señales de entrada. Para ello se suelen utilizar
elementos de lógica combinacional como los codificadores y multiplexores.
5.2.2. UNIDAD DE CONTROL MICROPROGRAMADA
Este tipo de Unidad de Control hace uso de un microprograma, en el que se representan los valores de las
señales de control necesarias para ejecutar cada una de las instrucciones y que posteriormente queda
almacenado en una pequeña unidad de memoria llamada memoria de control. El microprograma también es
conocido como firmware por encontrarse a medio camino entre el hardware y el software.
A la hora de implementar una Unidad de Control Microprogramada habremos de tener en cuenta los siguientes
aspectos:
Se debe disponer de una memoria de control donde almacenar los microprogramas correspondientes
a todas las instrucciones del juego de instrucciones del ordenador.
Se debe contar con un procedimiento para asignar a cada instrucción máquina su propio
microprograma, de tal manera que dado un código de operación se ha de poder calcular la dirección
de la memoria de control donde comienza el microprograma correspondiente.
Se debe tener un mecanismo para ir leyendo las mircroinstrucciones del microprograma en curso y
pasar a un nuevo microprograma cuando finalice el que se está ejecutando.
MODOS DE DIRECCIONAMIENTO
Los modos de direccionamiento hacen referencia a las distintas maneras de especificar un operando dentro de
una instrucción. Podemos destacar los siguientes:
1) Direccionamiento Implícito: dentro de cada microinstrucción se indica la dirección de la siguiente
microinstrucción.
2) Direccionamiento Explícito: por regla general la dirección de la siguiente microinstrucción es la
siguiente dirección de memoria. En caso de que haya de producirse algún salto en el programa, se usa
uno de los bits de la microinstrucción para indicar que se trata de una microinstrucción de salto y se
usan el resto de bits para albergar la dirección de la siguiente microinstrucción.
PROFESORES TÉCNICOS DE FP
SISTEMAS Y APLICACIONES INFORMÁTICAS
TÉCNICAS DE CODIFICACIÓN
Microprogramación horizontal: consiste en asociar un bit de la microinstrucción a cada posible señal
de control. Su principal inconveniente es que aumenta la longitud de la microinstrucción. A cambio
permite emplear en paralelo los elementos del ordenador.
Microprogramación vertical: consiste en codificar el conjunto de las posibles microórdenes
empleando el menor número posible de bits. Tiene como ventaja un menor coste de la memoria de
control pero por otro lado perdemos capacidad de decodificación, pues necesitamos una
microinstrucción para cada combinación posible de señales de control con lo que perdemos la
posibilidad de paralelismo.
6. TENDENCIAS ACTUAL ES
Las CPU de los ordenadores actuales se basan en microprocesadores construidos sobre un cristal de silicio
semiconductor donde se crean todos los elementos que forman un circuito electrónico y las conexiones
necesarias para formarlo. Todo ello encapsulado en una pastilla de plástico con patillas metálicas de conexión
acordes con sus sockets correspondientes.
En la actualidad, el mercado de microprocesadores para equipos de sobremesa se lo reparten principalmente
Intel y AMD con microprocesadores que superan los 3Ghz. Dichos procesadores incluyen en sus encapsulados
unidades de ejecución independientes de coma flotante, de aritmética entera y de cálculo de direcciones,
además de instrucciones específicas para entornos 3D, multimedia y comunicaciones (MMX, SSE, etc.) entre
otras características, por lo que se sitúan muy por encima de la arquitectura clásica de un ordenador.
El 19 de abril de 1965 el cofundador de Intel Gordon E. Moore formuló una ley empírica según la cual cada dos
años (aprox) se lograría duplicar el número de transistores existentes dentro de un microprocesador. Sin
embargo esta ley, que a día de hoy se ha seguido cumpliendo con mayor o menor exactitud, tiene ya fijada una
fecha de caducidad: ya que se calcula que para el año 2020 alcanzaremos unas dimensiones de transistor del
orden de 7nm, considerada como el tamaño mínimo alcanzable debido a las limitaciones físicas y químicas de
esta tecnología. Razón por la cual las empresas más representativas del sector están evolucionando hacia las
CPUs con doble núcleo y 64 bits en lugar de 32.
En cuanto a los microprocesadores especializados en servidores, cabe destacar la evolución de la gama SPARC
de SUN, recientemente ampliada con su UltraSPARC IV+ que entre otras novedades incluye una nueva
jerarquía de memoria caché de tres niveles, con una caché de nivel 2 de 2Mb integrada en el chip y una caché
de nivel 3 de 32Mb externa al chip. Por su parte, Intel y AMD se embarcan cada vez más en este mercado con
sus modelos Intel XEON Dual Core Hyper-Therading, que permiten la ejecución de hasta 4 hilos simultáneos, y
el Opteron Dual Core 64 bits, que permite alcanzar hasta los 8 hilos simultáneos en un mismo servidor.
BIBLIOGRAFÍA
Alberto Prieto Alfonso Ureña López Varios Autores
Introducción a la Informática Fundamentos de Informática Wikipedia
Mc Graw-Hill, 1997 Ra-ma, 1997 [Link]