Arquitectura del procesador

17
Adaptado por: Ing. Andrés Tovar Ing. Francisco Vargas Arquitectura de Computadores ARQUITECTURA DE COMPUTADORES: ARQUITECTURA DEL PROCESADOR

Transcript of Arquitectura del procesador

Page 1: Arquitectura del procesador

Adaptado por:

Ing. Andrés Tovar

Ing. Francisco Vargas

Arquitectura de Computadores

ARQUITECTURA DE COMPUTADORES: ARQUITECTURA DEL PROCESADOR

Page 2: Arquitectura del procesador

Conceptos básicos

Vamos a comenzar la descripción de la estructura einterfaz de los componentes básicos de un sistema decomputación, esto es, la CPU, la memoria y losdispositivos de entrada/salida.Vamos a dedicarnos expresamente a la estructura einterfaz hardware de la CPU y en el siguiente capítuloveremos su interfaz software, es decir, el lenguajemáquina.Comenzaremos recordando la estructura básica deuna CPU y el ciclo de ejecución de las instrucciones. Acontinuación veremos la descripción de las patillasque suelen ofrecer los microprocesadores.

Page 3: Arquitectura del procesador

La unidad Central de Proceso

Page 4: Arquitectura del procesador

La Unidad Central de Proceso (CPU) contiene una serie deregistros de memoria que contienen los operandos y elresultado de las operaciones. Los datos de los registrosgenerales que contienen los operandos se llevan a losregistros de entrada de la Unidad Aritmético-Lógica (ALU),la cual realiza la operación sobre los datos de entrada.

El resultado de la operación realizada se obtiene en elregistro de salida de la ALU, que posteriormente sealmacena en otro de los registros de memoria. Todo esto serealiza bajo la coordinación de la Unidad de Control.

También hay conexiones entre la CPU y la memoriaprincipal (y los dispositivos de E/S) pues de ella se extraenlas instrucciones y los operandos, y a ella suelen ir a pararlos resultados de las operaciones.

Page 5: Arquitectura del procesador

Ciclo de Instrucción

Page 6: Arquitectura del procesador

Una CPU con arquitectura von Neumann ejecuta las instruccionessegún el ciclo alimentar-decodificar-ejecutar.

En el grafo de arriba se puede ver la descripción detallada de este ciclo,que se explica por sí solo. Se comienza por extraer una instrucción de ladirección de memoria indicada por el Contador de Programa (CP) paracargarla en el registro de instrucción de la CPU. Acto seguido seincrementa dicho CP con la longitud de la instrucción alimentada. Acontinuación se decodifica la instrucción, es decir se averigua cuál es laoperación a realizar.

Seguidamente se debe calcular la dirección de los operandos, tareacuya dificultad varía en función de los modos de direccionamientoutilizados. Una vez obtenida la dirección de los operandos, se extraen obien de la propia instrucción, o bien de los registros generales o de lamemoria principal. Por último, los operandos se hacen pasar por laALU y el resultado se almacena en alguno de los registros generales oen alguna dirección de memoria principal.

Page 7: Arquitectura del procesador

Interfaz Hardware de la CPU

Page 8: Arquitectura del procesador

Las patillas de un microprocesador se pueden organizar en tres grupos:direcciones, datos y control.

Las señales de datos indican el número de bits que se pueden transmitir enparalelo entre la CPU y la memoria o dispositivos periféricos. Generalmentese corresponde con el tamaño de la palabra (tamaño de los registrosgenerales de la CPU), aunque puede no ser así (en el Intel 8088, la palabra esde 16 bits y el bus de datos de 8, lo cual obliga a que el acceso a una palabra serealice con dos ciclos de acceso a memoria). Los buses de datos suelen contarcon 8, 16, 32 y, actualmente, como es el caso de Pentium y PowerPC, con 64hilos.

Las señales de direcciones determinan el espacio de direccionamiento a lamemoria principal del procesador; así, un procesador con 32 pines puededireccionar 232 bytes. Un número típico de hilos de direcciones es 16, 20, 24 y32, con los que se consigue un espacio de direccionamiento de hasta 4Gbytes.

Además de estas señales de datos y direcciones, también cuentan conalgunas señales de control. Entre éstas se encuentran la señal que indica siel acceso a memoria es de lectura o escritura, la tensión de alimentación(alrededor de 5 V.), toma de tierra y reloj

Page 9: Arquitectura del procesador

Las señales restantes tienen unas aplicaciones que se pueden agruparen las siguientes categorías:

Arbitraje del bus. Controlan y evitan que dos o más dispositivosintenten utilizar los buses de direcciones y datos simultáneamente.(La CPU es un dispositivo más).

Interrupciones. Las interrupciones son señales de entrada queprovienen de los dispositivos de entrada/salida. Se utilizan paracomunicarle al procesador que una operación encargadapreviamente ya se ha realizado, que ha habido algún error osimplemente que hay información disponible para la CPU, porejemplo porque se ha recibido algún carácter por una línea decomunicaciones. Una interrupción muy especial es la de RESET, querearranca el procesador.

Comunicación con el coprocesador. Aunque cada vez es máscomún incluirlos en el propio procesador principal, cuando losprocesadores especializados de operaciones numéricas o gráficasestán separados de la CPU, se cuenta con unas líneas decomunicación directa con ellos para sincronizar las operaciones.

Estado. Estas señales dan información del estado o tipo de procesoque se está realizando: alimentando una instrucción, leyendo datos,escribiendo datos, tratando una interrupción

Page 10: Arquitectura del procesador

Tipos de pines

Page 11: Arquitectura del procesador
Page 12: Arquitectura del procesador

Ciclo de reloj, Memoria de instrucción

Page 13: Arquitectura del procesador

Un Ciclo de Memoria (también conocido como ciclo de bus) es elnombre genérico del ciclo de lectura o escritura en memoria. Vamos adefinir y relacionar los conceptos de Ciclo de Reloj, Ciclo de Memoria (ode bus) y Ciclo de Instrucción.

Los Ciclos de Reloj están generados por un oscilador de cuarzo, yconstituyen la unidad de tiempo del sistema, de tal manera que laduración de cualquier operación dentro del sistema se mide en ciclos dereloj. En un ordenador pueden ser distintas las velocidades de la CPU yla del bus (que suele ser más lenta), por eso nosotros vamos a referirnossiempre a los tiempos desde el punto de vista del reloj de la CPU.

Supongamos que tenemos una CPU MC68000, que cuenta con un busde datos de 16 bits, en la que se van a ejecutar las dos instrucciones quese muestran arriba.

La primera instrucción ocupa 2 bytes, y simplemente escribe unaconstante en un registro de la CPU. Así, para extraerla de memorianecesita únicamente un ciclo de lectura. Para su ejecución no requiereningún ciclo de memoria adicional, únicamente algún ciclo de reloj paradecodificar y ejecutar la instrucción.

Page 14: Arquitectura del procesador

La segunda instrucción ocupa 32 bits, y escribe una constante en unadirección de memoria. Por esto, se requieren dos ciclos de lecturasolamente para extraer la instrucción. Su ejecución requiere un tiempopara decodificar la instrucción y extraer la constante de la segundapalabra de la instrucción más un ciclo de escritura para escribir laconstante en memoria. Esto suma en total 3 ciclos de memoria, más unoscuantos más de reloj.

El conjunto de ciclos de reloj que requiere un procesador para extraer yejecutar una instrucción se denomina Ciclo de Instrucción.

Como hemos visto, un ciclo de instrucción ocupa uno o más ciclos dememoria para extraer la instrucción, después consume algún ciclo más dereloj para decodificación y ejecución de la instrucción. Esto puede incluiralgún ciclo de memoria adicional para leer operandos o escribir elresultado.

La extracción y ejecución de una instrucción requiere una serie de ciclosde reloj completos. El tiempo correspondiente a estos ciclos de relojpuede estar ocupado por accesos a memoria (ciclos de memoria) o porejecución interna de la CPU. Obviamente, los ciclos de memoriaconsumidos son ciclos completos, es decir, que no tiene sentido decir queuna instrucción requiere 3,5 ciclos de memoria.

Page 15: Arquitectura del procesador
Page 16: Arquitectura del procesador

Fuentes

Este material e información guía se encontraba en el siguiente artículo:

http://www.dia.eui.upm.es/asignatu/arq_com/Paco/2-CPU.pdf

Page 17: Arquitectura del procesador