Está en la página 1de 12

ARQUITECTURA DE UN MICROPROCESADOR

El microprocesador tiene una arquitectura parecida a la computadora digital. En otras


palabras, el microprocesador es como la computadora digital porque ambos realizan
cálculos bajo un programa de control. Consiguientemente, la historia de la
computadora digital ayuda a entender el microprocesador. Hizo posible la fabricación
de potentes calculadoras y de muchos otros productos.
Un procesador consta principalmente de CPU, Memoria primaria (RAM ROM),
dispositivos de entrada-salida, conjunto de buses (direcciones, datos y control) y la
unidad de reloj.
La unidad central de procesamiento es la unidad que aporta la capacidad de cómputo
al sistema.

 Memoria: es el elemento en donde se guardan las instrucciones que ejecuta el


computador y los datos sobre los que operan las instrucciones. Estas
instrucciones reciben el nombre de programa.
uno de los bloques más importantes y se destina al almacenamiento de
información. Físicamente puede hacerse una distinción entre diferentes tipos
de memoria, según que pueda usarse para leer y escribir información o solo
para leerla. Estos dos tipos básicos de memoria se denominan
respectivamente RAM (memoria de acceso aleatorio) y ROM (memoria de solo
lectura). Funcionalmente las memorias pueden contener dos tipos de
información: datos y programas. Por ello se habla también de memoria de
programa (ROM) y memoria de datos (RAM).
 Unidad Central de Proceso o CPU: es el elemento que ya hemos definido
anteriormente. Es el encargado de procesar las instrucciones que le llegan de
la memoria.
está constituida por:
Registros: son un número reducido de áreas de almacenamiento en las
que se tiene la información con la que en cada momento trabaja la
CPU.
UAL (Unidad aritmético-lógica): se encarga de realizar las operaciones
aritméticas o lógicas con los datos que se encuentren en los registros
correspondientes.
UC (Unidad de control): dirige todo el proceso, leyendo de memoria la
instrucción a ejecutar y generando las señales de control para que se
realicen las operaciones pertinentes.

La CPU tiene las siguientes funciones:


Busca las instrucciones del programa que están en memoria.

Las decodifica y ejecuta.

Reconoce situaciones especiales (RESET, Interrupciones, etc…).


 Unidad de entrada y salida: permite la comunicación con los elementos del
exterior.
proporciona la interconexión con el mundo exterior: la actividad del
microprocesador carecería de sentido si no estuviese relacionada con el
mundo exterior. Es necesario que la tarea que ejecuta el procesador esté
gobernada por los comandos y datos que le llegan desde fuera. Además, los
resultados de la misma, para tener alguna utilidad, deben ser enviados al
exterior. Se utiliza el término general de PERIFERICO para denominar a
cualquier dispositivo exterior al sistema. Ejemplos: Monitor, teclado, ratón,
convertidores D/A y A/D, discos, impresoras.
 Buses: son las pistas, vías o cables que conectan físicamente los elementos
anteriores.
Los buses principales son tres:
Bus de Direcciones: utilizado para especificar las localizaciones de la
memoria.

Bus de Datos: en el cual los datos son transferidos entre los


dispositivos.

Bus de Control: que proporciona la temporización y las señales de


control a través del sistema
Elementos de un microprocesador

 Unidad de control (UC): es el elemento que se encarga de impartir las


órdenes mediante las señales de control, por ejemplo, el reloj. Busca las
instrucciones en la memoria principal y las pasa al decodificador de
instrucciones para que se ejecuten. Partes internas:
1. Reloj: genera una onda cuadrada para sincronizar las operaciones del
procesador
2. Contador de programa: contiene la dirección de memoria de la
siguiente instrucción que se va a ejecutar
3. Registro de instrucciones: contiene la instrucción que se está
ejecutando actualmente
4. Secuenciador: genera ordenes elementales para el procesamiento de
la instrucción.
5. Decodificador de instrucciones (DI): se encarga de interpretar y
ejecutar las instrucciones que llegan, extrayendo el código de operación
de la instrucción.

 Unidad aritmético lógica (ALU): se encarga de hacer los cálculos aritméticos


(SUMA, RESTA, MULTIPLICACION, DIVISION) y operaciones lógicas (AND,
OR, …). Partes internas.
1. Circuito operacional: contienen los multiplexores y circuitos para
hacer operaciones.
2. Registros de entrada: se almacenan los datos y operado antes de
entrar al circuito operacional
3. Acumulador: almacena los resultados de las operaciones realizadas
4. Registro de estado (Flag): almacena ciertas condiciones que deben
ser tenidas en cuenta en operaciones posteriores.
 Unidad de coma flotante (FPU): este elemento no estaba en el diseño original
de la arquitectura, posteriormente fue introducido cuando las instrucciones y
cálculos se hicieron más complejos con la aparición de los programas
representados gráficamente. Esta unidad se encarga de realizar las
operaciones en coma flotante, es decir, números reales.
 Banco de registros y la memoria caché (Cache): los procesadores actuales
cuentan con una memoria volátil que hace de puente desde la memoria RAM
hasta la CPU. Esta es mucho más rápida que la memoria RAM y se encarga de
acelerar los accesos del microprocesador a la memoria principal.

 Bus frontal (Front Side Bus, FSB): También se conoce como bus de datos,
bus principal o bus de sistema. Es la vía o canal que comunica el
microprocesador con la placa base, concretamente con el chip llamado puente
norte o nothbridge. Este se encarga de controlar el funcionamiento del bus
principal de la CPU, la RAM y los puertos d expansión como son los PCI-
Express.Los términos utilizados para definir a este bus son “Quick Path
Interconnect” para Intel y “Hypertransport” para AMD.
  Fuente: sleeperfurniture.co

Fuente: ixbtlabs.com
 
 Bus trasero (Back Side BUS, BSB): este bus comunica la memoria cache de
nivel 2 (L2) con el procesador, siempre y cuando esta no esté integrada en el
propio núcleo de la CPU. En la actualidad todos los microprocesadores
disponen de memoria cache integrada en el propio chip, por lo que este bus
también forma parte del mismo chip.
Microprocesador de dos o más núcleos
En un mismo procesador no solamente tendremos estos elementos distribuidos en su
interior, sino que además ahora se encuentran replicados. Dispondremos de varios
núcleos de procesamiento o lo que es lo mismo varios microprocesadores dentro de la
unidad. Cada uno de estos contará con su propia memoria caché L1 y L2,
normalmente la L3 se reparte entre ellos, a pares o en conjunto.
Además de esto contaremos con una ALU, UC, DI y FPU para cada uno de los
núcleos por lo que la velocidad y capacidad de procesamiento se multiplican en
función de la cantidad de núcleos que tenga. También aparecen nuevos elementos
dentro de los microprocesadores:
 Controlador de memoria integrado (IMC): Ahora con la aparición de varios
núcleos el procesador cuenta con un sistema que le permite acceder
directamente a la memoria principal.
 GPU integrada (iGP): la GPU se encarga del procesamiento de gráficos. Estos
son en su mayoría operaciones de coma flotante con cadenas de bits de gran
densidad, por lo que el procesamiento es mucho más complejo que los datos
de programa normales. Debido a esto, existen gamas de microprocesador que
implementan en su interior una unidad exclusivamente destinada al
procesamiento de gráficos.
Algunos procesadores, como los AMD Ryzen, no integran tarjeta gráfica
interna. Sólo sus APU 😉
Arquitectura von Neumann
Desde la invención de los microprocesadores hasta día de hoy estos están basados
en una arquitectura que divide el procesador en varios elementos. Esta recibe el
nombre de arquitectura de Von Neumann. Es una arquitectura inventada en 1945 por
el matemático Von Neumann que describe el diseño de un computador digital dividido
en una serie de partes o elementos.
Los procesadores actuales aún están basados en su gran mayoría en esta
arquitectura básica, aunque lógicamente se han introducido gran cantidad de
elementos nuevos hasta contar con los extremadamente completos elementos que
hoy día tenemos. Posibilidad de múltiples números en un mismo chip, elementos de
memoria en varios niveles, procesador de gráficos incorporado, etc
Tradicionalmente los sistemas con microprocesadores se basan en esta arquitectura,
en la cual la unidad central de proceso (CPU), está conectada a una memoria principal
única (casi siempre sólo RAM) donde se guardan las instrucciones del programa y los
datos. A dicha memoria se accede a través de un sistema de buses único (control,
direcciones y datos)
En un sistema con arquitectura Von Neumann el tamaño de la unidad de datos o
instrucciones está fijado por el ancho del bus que comunica la memoria con la CPU.
Así un microprocesador de 8 bits con un bus de 8 bits, tendrá que manejar datos e
instrucciones de una o más unidades de 8 bits (bytes) de longitud. Si tiene que
acceder a una instrucción o dato de más de un byte de longitud, tendrá que realizar
más de un acceso a la memoria. El tener un único bus hace que el microprocesador
sea más lento en su respuesta, ya que no puede buscar en memoria una nueva
instrucción mientras no finalicen las transferencias de datos de la instrucción anterior.
Las principales limitaciones que nos encontramos con la arquitectura Von Neumann
son:
La limitación de la longitud de las instrucciones por el bus de datos, que hace
que el microprocesador tenga que realizar varios accesos a memoria
para buscar instrucciones complejas.
La limitación de la velocidad de operación a causa del bus único para datos e
instrucciones que no deja acceder simultáneamente a unos y otras, lo
cual impide superponer ambos tiempos de acceso.

Arquitectura Harvard
Arquitectura Harvard hacía referencia a las arquitecturas de computadoras que
utilizaban dispositivos de almacenamiento físicamente separados para los datos y para
las instrucciones. El término proviene de la computadora Harvard Mark I, que
almacenaba las instrucciones en cintas perforadas y los datos en interruptores.
Para aumentar el desempeño en los CPU's tradicionales se incorporaron pequeñas
cantidades de memoria muy rápidas (caché) dentro del CPU. En el caso de la
arquitectura Harvard se incluyeron dos de ellas, una de datos y otra de instrucciones.
Esta arquitectura suele utilizarse en procesadores digitales de señales (DSP's),
usados habitualmente en productos para procesamiento de audio y video.

Manejar datos e instrucciones en buses separados permite un mejor aprovechamiento


de los ciclos de reloj, ya que las distintas etapas de operación del procesador pueden
concatenarse de manera eslabonada (pipeline).
Una vez que alguna de las etapas de operación (fetch, decode, execute, y writeback)
termina, puede continuar su tarea con la información de la siguiente instrucción
Funcionamiento de un microprocesador
Un procesador funciona mediante instrucciones, cada una de estas instrucciones es
un código binario de una determinada extensión que la CPU es capaz de entender.
Un programa, por tanto, es un conjunto de instrucciones y para ejecutarlo se debe
realizar de forma secuencial, esto es, ejecutando en cada paso o período de tiempo
una de estas instrucciones. Para ejecutar una instrucción hay varias fases:
 Búsqueda d la instrucción: traemos la instrucción desde la memoria al
procesador.
 Decodificación de la instrucción: la instrucción se divide en códigos más
simple entendibles por la CPU.
 Búsqueda de operados: con la instrucción cargada en la CPU hay que buscar
el operador que corresponder.
 Ejecución de la instrucción: se realiza la operación lógica o aritmética
necesaria.
 Almacenamiento del resultado: el resultado se almacena en la memoria
caché.

Cada procesador trabaja con un determinado conjunto de instrucciones, estas han ido
evolucionando a la vez que los procesadores. La denominación de x86 o x386 se refiere al
conjunto de instrucciones con las que un procesador trabaja.

Tradicionalmente a los procesadores de 32 bits se las ha llamado también x86, esto se debe a
que en esta arquitectura han trabajado con este conjunto de instrucciones desde el
procesador Intel 80386 que fue el primero en implementar una arquitectura de 32 bits.
Este conjunto de instrucciones es necesario actualizarlo para trabajar más
eficientemente y con programas más complejos. A veces vemos que en los requisitos
para que un programa se ejecute vienen un conjunto de siglas como SSE, MMX, etc.
Estas son el conjunto de instrucciones con las que un microprocesador puede lidiar.
Así tenemos:
 SSE (Streaming SIMD Extensions): dotaron a las CPU para trabajar con
operaciones en coma flotante.
 SSE2, SSE3, SSE4, SSE5, etc: distintas actualizaciones de este conjunto de
instrucciones.
Incompatibilidad entre procesadores
Todos recordamos cunado un sistema operativo de Apple o se podía ejecutar en un
PC con Windows o Linux. Esto es debido al tipo de instrucciones de los distintos
procesadores. Apple usada procesadores PowerPC, que trabajaban con unas
instrucciones distintas a Intel y AMD. De esta forma existen varios diseños de
instrucciones:
 CISC (Complex Instruction Set Computer): es la que utilizan Intel y AMD, se
trata de utilizar un conjunto de pocas instrucciones, pero complejas. Tienen
mayor consumo de recursos, al ser instrucciones más completas que necesitan
varios ciclos de reloj.
 RISC (Reduced Instruction Set Computer): es la que utilizaban Apple,
Motorola, IBM y PowerPC, estos son procesadores más eficientes al contar con
más instrucciones, pero de menor complejidad.
Actualmente ambos sistemas operativos son compatibles porque Intel y AMD
implementan una combinación de arquitecturas en sus procesadores.

Proceso de ejecución de una instrucción


1. El procesador se reinicia al recibir una señal de RESET, de esta forma se
prepara el sistema recibiendo una señal de reloj que determinará la velocidad
del proceso.
2. En el registro CP (contador de programa) se carga la dirección de memoria en
la que empieza el programa.
3. La unidad de control (UC) emite la orden para traer la instrucción que la RAM
tiene almacenada en la dirección de memoria que hay en el CP.
4. A continuación, la RAM envía el dato y este se coloca en el bus de datos hasta
que se almacena en el RI (Registro de instrucción).
5. La UC gestiona el proceso y la instrucción pasa al decodificador (D) para hallar
el significado de la instrucción. Seguidamente esta pasa por la UC para ser
ejecutada
6. Una vez que se sabe cuál es la instrucción y qué operación se debe realizar, se
cargan ambas en los registros de entrada (REN) de la ALU.
7. La ALU ejecuta la operación y coloca el resultado en el bus de datos y al CP se
le suma 1 para ejecutar la siguiente instrucción.

También podría gustarte