30
Arquitectura Interna de un CPU

Arquitectura interna

  • Upload
    gbermeo

  • View
    12.067

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arquitectura interna

Arquitectura Interna de un CPU

Page 2: Arquitectura interna

Diagrama de un CPU y Memoria

Memoria

D0

D7

A0

PC

A3

MAR

SP

T1 T2 IR

CU

ACCALU

+- 1

CPU

Page 3: Arquitectura interna

Operaciones Frecuentes• Los tipos de operaciones mas frecuentes son:

– CPU – Memoria: Los datos son tranferidos de la memoria al CPU o viceversa

– CPU – E/S: Los datos son transferidos de los dispositivos de Entrada al CPU o del CPU a los dispositivos de Salida

– Procesamiento de Datos: El CPU debe realizar operaciones aritméticas o lógicas usando la unidad aritmética lógica (ALU)

– Control: Una instrucción puede especificar que la secuencia de operaciones sea alterada, por ejemplo: cambiar el IP para apuntar a una nueva dirección

Page 4: Arquitectura interna

Ciclo de Instrucción

• En su operación básica todos los computadores modernos siguen un proceso que ha permanecido sin muchos cambios desde que Von Neumann introdujo su modelo. A este proceso lo llamamos Ciclo de Instrucción

• Todas las computadoras tienen dos componentes básicos:– CPU– Memoria

Page 5: Arquitectura interna

Ciclo de Instrucción• La función del CPU es ejecutar programas

que están almacenados en memoria principal, eso se logra siguiendo los siguientes pasos:– Cargando las instrucciones desde memoria al

CPU– Decodificándolas– Ejecutándolas.

• Este ciclo se repite hasta que el programa termina

Page 6: Arquitectura interna

Ciclo de Instrucción

Page 7: Arquitectura interna

Ciclo de Ejecución• Una vez que la instrucción ha sido cargada

en el IR y la Unidad de Control la ha decodificado determinando las acciones a seguir, comienza el ciclo de ejecución

• Los pasos que se siguen para realizar un ciclo de instrucción dependen del tipo de instrucción que se este procesando

• Depende del código de operación (opcode)

Page 8: Arquitectura interna

Microprocesador 8085 • MICROPROCESADOR DE 8 BITS

Page 9: Arquitectura interna

Cargar ACC con dato residente en Memoria

• LDA “address”• Esta instrucción carga el registro A con un dato

almacenado en memoria. La dirección del dato es “address”.

• T1: Bus Dirección ← IP• T2: IP ← IP+1• T3: IR ← código de operación • Decodifica código de operación• Ejecuta la instrucción

Page 10: Arquitectura interna

LDA “address”: Fase de Ejecución• Las microoperaciones generadas por

unidad de control son:• T1: Bus Dirección ← IP• T2: IP ← IP + 1• T3: Z ← B2• T1: Bus Dirección ← IP• T2: IP ← IP + 1• T3: W ← B3• T1: Bus Dirección ← WZ• T2 y T3: ACC ← dato

Page 11: Arquitectura interna

Mejora del Ciclo de Instrucción

• Los primeros microprocesadores procesaban totalmente una instrucción antes de continuar con la siguiente.

• El procesador busca una instrucción la decodifica y la ejecuta, luego pasa a la siguiente instrucción repitiendo nuevamente el mismo proceso de búsqueda, decodificación y ejecución.

• Observe que se sub-utilizaba el bus entre el CPU y la memoria ya que este solo estaba ocupado en uno de los tres pasos.

Page 12: Arquitectura interna

Mejora del Ciclo de Instrucción

• Por otra parte para los procesadores modernos, se ha desarrollado la técnica de tuberías (pipelines).

• Las tuberías son la forma más común de implementar procesadores hoy en día porque incrementan la capacidad del sistema.

• La idea detrás de las tuberías es que mientras se ejecuta la primera instrucción al mismo tiempo decodifica la segunda y busca la tercera.

• De esta manera se sobrelapan los procesos.

Page 13: Arquitectura interna

“Pipeline” de Múltiples Etapas

• Las primeras tuberías introducidas eran de tres etapas.

• Estas utilizan todos los recursos del sistema pero puede ocurrir conflictos que hace que las instrucciones no sean ejecutadas hasta que lo haya sido la anterior.

• Así el procesador puede ejecutar una instrucción por ciclo y no cada 3 como era anteriormente.

Page 14: Arquitectura interna

“Pipeline” de Múltiples Etapas

• Sabemos que con la técnica “pipeline” el procesador puede ejecutar todos los pasos de los ciclos de instrucción en paralelo.

• Por ejemplo, el Procesador Intel 80386 usa un ciclo de ejecución de seis etapas.

• Las seis etapas y las partes del procesador que las ejecutan se identifican en la siguiente transparencia.

• Para efectos de la explicación que vamos hacer asumir que cada etapa de ejecución en el procesador requiere de un solo período de reloj.

Page 15: Arquitectura interna

“Pipeline” de Múltiples Etapas

• Unidad de Interfase de Bus: accesa memoria y provee entrada-salida.

• Unidad de Pre-busqueda: recibe código de máquina proporcionada por la unidad de interfase de bus y la inserta en la cola de instrucciones.

• Unidad de decodificación de instrucciones: decodifica instrucciones de la cola de instrucciones generando microcódigo.

• Unidad de ejecución: ejecuta el microcódigo generado por la unidad de decodificación.

• Unidad de Segmentación: convierte direcciones lógicas a direcciones lineales.

• Unidad de pagina: convierte direcciones lineales en direcciones físicas y mantiene una lista de las páginas recientemente accesadas.

Page 16: Arquitectura interna

Ciclo de Instrucción “sin pipeline”

• PROCESADORES SIN TUBERIAS

Page 17: Arquitectura interna
Page 18: Arquitectura interna

Ciclo de Instrucción “con pipeline”• PROCESADORES CON TUBERIAS

Page 19: Arquitectura interna
Page 20: Arquitectura interna
Page 21: Arquitectura interna

Arquitectura Superescalar

• En la actualidad se desarrollan procesadores usando la tecnología superescalar .

• Un procesador superescalar tiene dos o más tuberías de ejecución haciendo posible que múltiples instrucciones se encuentren en la etapa de ejecución al mismo tiempo.

• Para n tuberías, n instrucciones pueden ejecutase durante el mismo ciclo de reloj.

• Pentium (2 tuberías) 2 instrucciones por ciclo.• Pentium Pro (3 tuberías) 3 instrucciones por ciclo.

• Pentium 4 ejecuta hasta 6 instrucciones por ciclo.

Page 22: Arquitectura interna

Ejemplo

• Introduzcamos una segunda tubería a la ya existente tubería de 6 etapas y asumamos que la etapa S4 requiere dos ciclos de reloj.

• En el cuadro que mostraremos, las instrucciones impares entran en la tubería u y las pares entran en la tubería v.

• Nos damos cuenta que la presencia de la segunda tubería elimina los ciclos de espera.

Page 23: Arquitectura interna
Page 24: Arquitectura interna

Memoria Física 8088

00000H

FFFFFH

8 bits

1 MB

Page 25: Arquitectura interna

Memoria Física 8086

512KB

Banco 1

512KB

Banco 0

00000H00001H

FFFFEHFFFFFH

8 bits 8 bits

D0D7D8D15

Page 26: Arquitectura interna

Memoria Física 80286

8 MB

Banco 1

8 MB

Banco 0

000000H000001H

FFFFFEHFFFFFFH

8 bits 8 bits

D0D7D8D15

Page 27: Arquitectura interna

Memoria Física 80386

1G 1G 1G 1G

00000000000000010000000200000003

FFFFFFFCFFFFFFFDFFFFFFFEFFFFFFFF

00000004000000050000000600000007

Banco

0

Banco

1

Banco

2

Banco

3

D0D7D8D15D16D23D24D31

Page 28: Arquitectura interna

MICP 8086: Arquitectura Interna• MICROPROCESADOR DE 16 BITS.

Page 29: Arquitectura interna

MICP 8086: Arquitectura Interna

• Tiene dos unidades de procesamiento- Unidad de Bus- Unidad de ejecución

• La unidad de Bus tiene una cola de instrucciones de 6 bytes.

• La cola de instrucciones alimenta a la unidad de ejecución que es la que decodifica y ejecuta.

Page 30: Arquitectura interna

MICP 80286: Arquitectura Interna

• Presenta cuatro unidades de procesamieto- Unidad de Bus- Unidad de Instrucciones- Unidad de Ejecución- Unidad de Direcciones

• Las cuatro unidades de procesamiento son independientes.

• Este paralelismo ayuda a mejorar el rendimiento del microprocesador.