Arquitectura interna
Transcript of Arquitectura interna
![Page 2: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/6.jpg)
Ciclo de Instrucción
![Page 7: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/8.jpg)
Microprocesador 8085 • MICROPROCESADOR DE 8 BITS
![Page 9: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/13.jpg)
“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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/14.jpg)
“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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/15.jpg)
“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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/16.jpg)
Ciclo de Instrucción “sin pipeline”
• PROCESADORES SIN TUBERIAS
![Page 17: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/17.jpg)
![Page 18: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/18.jpg)
Ciclo de Instrucción “con pipeline”• PROCESADORES CON TUBERIAS
![Page 19: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/19.jpg)
![Page 20: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/20.jpg)
![Page 21: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/23.jpg)
![Page 24: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/24.jpg)
Memoria Física 8088
00000H
FFFFFH
8 bits
1 MB
![Page 25: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/25.jpg)
Memoria Física 8086
512KB
Banco 1
512KB
Banco 0
00000H00001H
FFFFEHFFFFFH
8 bits 8 bits
D0D7D8D15
![Page 26: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/26.jpg)
Memoria Física 80286
8 MB
Banco 1
8 MB
Banco 0
000000H000001H
FFFFFEHFFFFFFH
8 bits 8 bits
D0D7D8D15
![Page 27: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/27.jpg)
Memoria Física 80386
1G 1G 1G 1G
00000000000000010000000200000003
FFFFFFFCFFFFFFFDFFFFFFFEFFFFFFFF
00000004000000050000000600000007
Banco
0
Banco
1
Banco
2
Banco
3
D0D7D8D15D16D23D24D31
![Page 28: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/28.jpg)
MICP 8086: Arquitectura Interna• MICROPROCESADOR DE 16 BITS.
![Page 29: Arquitectura interna](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022062513/557abd84d8b42a89258b4cc4/html5/thumbnails/30.jpg)
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.