sábado, 11 de octubre de 2014

Arquitectura de un Microprocesador






La arquitectura de un procesador describe sus estructuras internas y cómo funcionan. Éstas son estructuras lógicas; todos los procesadores son hechos de material semiconductor, y es el cómo este material es estructurado lo que determina cómo trabajará el procesador. Esto es similar al software: todo software simplemente es una cadena larga de unos y ceros, pero es el cómo se diseña y ponen estos bits lo que determinan si el software es bueno o no.
Los procesadores son de alguna manera “ cajas negras” . Todos realizan la misma función básica (viéndolo desde el exterior): procesan las instrucciones. De De hecho, las instrucciones que soportan, por lo menos en el mundo de las PCs, no han cambiado mucho en los últimos años. Pero en el interior de los procesadores, la forma en que éstos ejecutan las instrucciones se vuelve cada vez más complicada y poderosa. Además de mejorar el rendimiento por medio de la "fuerza bruta" (aumentando las velocidades de reloj) los fabricantes de procesadores han encontrado maneras innovadoras de aumentar más el rendimiento de cada ciclo del reloj. Por ejemplo, el Intel 486DX-25 tiene dos veces el rendimiento del Intel 386DX-25, aunque los dos funcionan a la misma velocidad de reloj.
La arquitectura interna tiene un impacto en qué tan rápido, el procesador, puede funcionar. Ya que cada vez es más difícil diseñar circuitos que puedan funcionar en cantidades más pequeñas de tiempo. El crear procesadores que puedan funcionar a velocidades mayores hace necesario no sólo cambiar las características físicas, sino también su diseño lógico interno. La mayoría de los diseños del microprocesador dividen su circuitería lógica interna en cuatro partes funcionales: los registros internos del procesador, la unidad de entrada-salida “ E/S” o BIU (Bus Interface Unit),
 La unidad de control, y la unidad lógico aritmética (o ALU por sus siglas en inglés, Aritmetic Logic Unit). A los registros internos, al ALU y a la unidad de control en común se les llama unidad central de proceso (o CPU por sus siglas en inglés, Central Processing Unit), aunque a menudo el término CPU se utiliza como sinónimo para el microprocesador entero. 


Las cuatro partes del microprocesador interaccionan juntas. La unidad de control opera el reloj interno del microprocesador, y determina la razón de tiempo a la que el microprocesador opera. La BIU determina la anchura del bus del microprocesador, que influye en la velocidad para que los datos y las instrucciones se puedan mover dentro y fuera del microprocesador, los registros internos determinan cuántos datos puede manejar el microprocesador a la vez, y el ALU es la que realiza todos los cálculos aritméticos y decisiones. 

Por otra parte cabe resaltar que los registros son áreas del almacenamiento local dentro del procesador, que son usadas para almacenar datos con los cuales está trabajando el procesador en un momento dado de la ejecución de una instrucción El ancho (en bits) de los registros del procesador, determina cuánta información puede manejar a la vez.
Nota : Entre más registros internos tenga el procesador, existirá mayor flexibilidad para la programación. Sin embargo, aumenta la complejidad del procesador.
Entre alguno registro que están presente en el mismo podemos encontrar los siguientes :
Registros de segmento: Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para direccionamiento conocida como el segmento actual.
Registro CS. El SO almacena la dirección inicial del segmento de código de un programa en el registro CS. Esta dirección de segmento, más un valor de desplazamiento en el registro apuntador de instrucción (IP), indica la dirección de una instrucción que es buscada para su ejecución.
Registro DS. La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. En términos sencillos, esta dirección, más un valor de desplazamiento en una instrucción, genera una referenciaa la localidad de un byte especifico en el segmento de datos.
Registro SS. El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos. El SO almacena la dirección de inicio del segmento de pila de un programa en el registro SS. Esta dirección de segmento, más un valor de desplazamiento en el registro del apuntador de pila (SP), indica la palabra actual en la pila que está siendo direccionada.
Registro ES. Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro extra de segmento para manejar el direccionamiento de memoria. En este contexto, el registro ES esta asociado con el registro DI (índice). Un programa que requiere el uso del registro ES puede inicializarlo con una dirección de segmento apropiada.
Registros FS y GS. Son registros extra de segmento en los procesadores 80386 y posteriores.
Registros de propósito general. Los registros de propósito general AX, BX, CX y DX son los motores sistema. Son únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte. El último byte de la izquierda es la parte "alta", y el último byte de la derecha es la parte "baja". Por ejemplo, el registro CX consta de una parte CH (alta) y una parte CL (baja).
Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar, dividir y traducir suponen el uso del AX. También, algunas operaciones generan código más eficiente si se refieren al AX en lugar de a los otros registros.

Registro BX. El BX es conocido como el registro base ya que es el único registro de propósito general que puede ser índice para direccionamiento indexado. También es común emplear el BX para cálculos.


Registro CX. El DX es conocido como el registro de datos. Algunas operaciones de entrada/salida requieren su uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos.

No hay comentarios :

Publicar un comentario