Tema 4 (II) El procesador

35
Tema 4 (II) El procesador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid

Transcript of Tema 4 (II) El procesador

Page 1: Tema 4 (II) El procesador

Tema 4 (II)

El procesador

Grupo ARCOS

Estructura de Computadores

Grado en Ingeniería Informática

Universidad Carlos III de Madrid

Page 2: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Contenidos

2

1. Técnicas de control

1. Lógica cableada

2. Lógica almacenada

2. Otros aspectos de funcionamiento

1. Interrupciones y excepciones

2. Estado del procesador

3. Niveles de ejecución

Modo privilegiado/usuario

4. Arranque del computador

5. Paralelismo

ARCOS @ UC3M

Page 3: Tema 4 (II) El procesador

Alejandro Calderón Mateos

¡ATENCIÓN!

3

❑ Estas transparencias son un guión para la clase

❑ Los libros dados en la bibliografía junto con lo

explicado en clase representa el material de estudio

para el temario de la asignatura

❑ Para la preparación de los exámenes se ha de utilizar

todo el material de estudios

ARCOS @ UC3M

Page 4: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Contenidos

4

1. Técnicas de control

1. Lógica cableada

2. Lógica almacenada

2. Otros aspectos de funcionamiento

1. Interrupciones y excepciones

2. Estado del procesador

3. Niveles de ejecución

Modo privilegiado/usuario

4. Arranque del computador

5. Paralelismo

ARCOS @ UC3M

Page 5: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Unidad de control

ARCOS @ UC3M5

Unidad de Control

Señales de interrupción

Señales de control

Señal dereloj

CORI

RE

Page 6: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Técnicas de control

ARCOS @ UC3M6

El diseño de la unidad de control exige haber definido previamente las señales que hay que activar en cada una de las instrucciones máquina que es capaz de interpretar:

Cronogramas.

Operaciones elementales.

Lenguaje simbólico.

CO = 00(add)

CO = 01(lw) CO = 10

(sw)CO = 11 AND z =1

(bz)

CO = 11 AND z =0(bz)

RI MBR

MBR MP

PC RI(direccion)

MBR MP MBR R1

R1 MBR MP MBR

MAR PCPC PC + 4

R1 R1 + R2

lectura

1

2

3

5 8

9

10

11

6

7

4

lectura

escritura

R1 R1 + R2 MAR RI(direccion) MAR RI(direccion)

• add r1, r2

• lw r1, dir

• bz dir

• sw r1, dir

Page 7: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Técnicas de control

ARCOS @ UC3M7

Dos técnicas de diseñar y construir una unidad de control:

Lógica cableada

Lógica almacenada (microprogramación)

CO = 00(add)

CO = 01(lw) CO = 10

(sw)CO = 11 AND z =1

(bz)

CO = 11 AND z =0(bz)

RI MBR

MBR MP

PC RI(direccion)

MBR MP MBR R1

R1 MBR MP MBR

MAR PCPC PC + 4

R1 R1 + R2

lectura

1

2

3

5 8

9

10

11

6

7

4

lectura

escritura

R1 R1 + R2 MAR RI(direccion) MAR RI(direccion)

Unidad de Control

Señales de interrupción

Señales de control

Señal dereloj

CORI

RE

Page 8: Tema 4 (II) El procesador

Alejandro Calderón Mateos

A) Unidad de control cableada

ARCOS @ UC3M8

Construcción mediante puertas

lógicas, siguiendo los métodos

de diseño lógico.

Características:

Laborioso y costoso el diseño

y puesta a punto del circuito

Difícil de modificar:

rediseño completo.

Muy rápida

(usado en computadores RISC)

http://www.cs.binghamton.edu/~reckert/hardwire3new.html

Page 9: Tema 4 (II) El procesador

Alejandro Calderón Mateos

B) Unidad de control almacenada.

Microprogramación

ARCOS @ UC3M9

Idea básica:

Emplear una memoria donde

almacenar las señales de cada

período de cada instrucción.

Características:

Fácil modificación

Actualización, ampliación, etc..

Ej.: Ciertas consolas, routers, etc.

Fácil tener instrucciones complejas

EJ.: Rutinas de diagnóstico, etc.

Fácil tener varios juegos de instrucciones

Se pueden emular otros computadores.

Hw simple difícil microcódigo

Page 10: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Microinstrucción: A cada palabra que define un período de una instrucción

Las microinstrucciones tienen un bit por cada señal de control.

cadena de 1’s y 0’s que representa el estado de cada señal de control durante un período de una instrucción.

Unidad de control almacenada.

Microprogramación (1)

ARCOS @ UC3M10

Page 11: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Microprograma: conjunto ordenado de microinstrucciones, que

representan el cronograma de una instrucción.

Firmware (microcódigo): conjunto de los microprogramas de

una máquina.

Unidad de control almacenada.

Microprogramación (2)

……

mic

rop

rog

ram

a

firm

wa

re

ARCOS @ UC3M11

Page 12: Tema 4 (II) El procesador

Alejandro Calderón Mateos

RESET: valores por defecto

PC <-0x00, SP<- 0xFF, …

FETCH: traer sig. instrucc.

I<- Mem[PC], PC++, salto-a-C.O.

Microprograma: uno por instrucción de ensamblador

Traer resto de operandos (si hay)

actualizar PC en caso de más operandos

Realizar la instrucción

Guardar los datos

Salto a FETCH

Unidad de control almacenada.

Microprogramación (3)

RESET

FETCH

li $a0, #valor

bnez $a1 /posicion

Contenido M.Control

ARCOS @ UC3M12

Page 13: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Estructura de la unidad de control microprogramada (1)

ARCOS @ UC3M13

Tres condiciones básicas:

1. Memoria de control suficiente para almacenar todos los microprogramas correspondientes a todas las instrucciones.

2. Procedimiento para asociar a cada instrucción su microprograma

Procedimiento que convierta el código de operación de la instrucción en la dirección de la memoria de control donde empieza su microprograma.

3. Mecanismo para ir leyendo las sucesivas microinstrucciones, y para bifurcar a otro microprograma cuando termina el que se está ejecutando.

Page 14: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Estructura de la unidad de control microprogramada (1)

ARCOS @ UC3M14

Ejemplo de estructura de unidad de control

Permite microbifurcaciones condicionales, microbucles y microsubrutinas

Page 15: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Formato de las microinstrucciones

ARCOS @ UC3M15

Formato de la microinstrucción: especifica el nº de bits y el significado de cada uno de ellos.

Las señales se agrupan por campos: Señales triestado de acceso a bus Señales de gobierno de la ALU Señales de gobierno del banco de registros Señales de gobierno de la memoria

Page 16: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Contenidos

16

1. Técnicas de control

1. Lógica cableada

2. Lógica almacenada

2. Otros aspectos de funcionamiento

1. Interrupciones y excepciones

2. Estado del procesador

3. Niveles de ejecución

Modo privilegiado/usuario

4. Arranque del computador

5. Paralelismo

ARCOS @ UC3M

Page 17: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Excepciones

17

Originan una ruptura de secuencia no programada Dentro del

microprograma de la instrucción en curso…

…Bifurcación a subrutina del S.O. que la trata

Posteriormente, restituye el estado y devuelve el control al programa interrumpido o finaliza su ejecución

• Causa síncrona a la ejecución del programa en curso División entre cero

Etc.

SSOO

App1

li $a0 1

li $a1 0

sub $a0 $a0 1

div $a2 $a0 $a1 #¡0/0!

rte_div0:

li $a0…..

ARCOS @ UC3M

Page 18: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Interrupción

18

Originan una ruptura de secuencia no programada Al final microprograma

de la instrucción en curso ver si hay interrupción pendiente, y si la hay…

…Bifurcación a subrutina del S.O. que la trata

Posteriormente, restituye el estado y devuelve el control al programa interrumpido.

• Causa asíncrona a la ejecución del programa en curso Atención a periférico

Etc.

SSOO

App1

li $a0 1

mul $a0 $a2 4

sub $a0 $a0 1

rti_disk:

li $a0…..

ARCOS @ UC3M

Page 19: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Estado del procesador

ARCOS @ UC3M19

Las interrupciones rompen la secuencia normal de

ejecución del programa.

Una vez tratada la interrupción, el programa

interrumpido debe seguir ejecutándose.

Estado del procesador: contenido de los

elementos de memoria internos necesarios para que

un programa pueda seguir funcionando

correctamente después de una interrupción.

Page 20: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Elementos del estado del procesador

ARCOS @ UC3M20

PC

Banco de registros

Registros aritméticos auxiliares

Biestables de estado aritméticos

Biestables de estado de E/S

Biestables o registros de modificación del mapa de memoria

Registros de clave o de protección de memoria

Biestables de control residual (modo usuario/privilegiado)

Page 21: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Contenidos

21

1. Técnicas de control

1. Lógica cableada

2. Lógica almacenada

2. Otros aspectos de funcionamiento

1. Interrupciones y excepciones

2. Estado del procesador

3. Niveles de ejecución

Modo privilegiado/usuario

4. Arranque del computador

5. Paralelismo

ARCOS @ UC3M

Page 22: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Niveles de ejecución. Modo privilegiado/usuario

ARCOS @ UC3M22

En los computadores existen una serie de instrucciones

privilegiadas, cuya ejecución debe reservarse al sistema

operativo, y que el usuario normal no puede utilizar por

razones de seguridad.

Se añaden a la instrucción uno o varios bits (bits de control

residual), procedentes de biestables, que distinguen entre:

Modo de ejecución privilegiado (S.O.)

Modo de ejecución de usuario

El código de operación cambia su significado con los bits de

control residual, impidiendo su ejecución si no se está en el

nivel adecuado.

Page 23: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Arranque del computador (1)

ARCOS @ UC3M23

El Reset carga valores predefinidos en registros

PC dirección de arranque del cargador ROM

Se ejecuta el cargador ROM del sistema

– Test del sistema

– Trae a memoria el boot del SO

La ROM del PC contiene además el soft. de E/S (BIOS)

0

2.047

1.048.575

Dirección Celdas

Unidad de Memoria

ZonaROM

0

1.046.528

1.048.575

Dirección Celdas

Unidad de Memoria

ZonaROM

Page 24: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Arranque del computador (2)

ARCOS @ UC3M24

El arranque del SO carga el SO residente y da control al

programa de arranque del SO, que:

Comprueba el hardware

Comprueba el sistema de ficheros

Establece las tablas del SO

Crea procesos (según el tipo de SO)

Proceso INIT

Procesos o tareas del sistema (demonios)

Procesos de login (uno por terminal)

Tras la autenticación, el proceso login se convierte en shell

Page 25: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Contenidos

25

1. Técnicas de control

1. Lógica cableada

2. Lógica almacenada

2. Otros aspectos de funcionamiento

1. Interrupciones y excepciones

2. Estado del procesador

3. Niveles de ejecución

Modo privilegiado/usuario

4. Arranque del computador

5. Paralelismo

ARCOS @ UC3M

Page 26: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Paralelismo a nivel de instrucción

ARCOS @ UC3M26

Procesamiento concurrente de varias instrucciones

Combinación de elementos que trabajan en paralelo:

Procesadores segmentados: utilizan técnicas de pipeline para

procesar varias instrucciones simultáneamente

Procesadores superescalares: procesador segmentado que puede

ejecutar varias instrucciones en paralelo cada una de ellas en una

unidad segmentada diferente

Procesadores multicore: procesador que combina dos o más

procesadores independientes en un solo empaquetado

Page 27: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Segmentación de instrucciones

ARCOS @ UC3M27

Etapas de ejecución de una instrucción:

LI: Lectura de la instrucción e incremento del PC

D: Decodificación

LO: Lectura de Operandos

EJ: EJecución de la instrucción

EO: Escritura de Operandos

Page 28: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Segmentación de instruccionessin pipeline

ARCOS @ UC3M28

Etapas de ejecución de una instrucción:

LI: Lectura de la instrucción e incremento del PC

D: Decodificación

LO: Lectura de Operandos

EJ: EJecución de la instrucción

EO: Escritura de Operandos

LI D LO EJ EO

Tiempo

LI D LO EJ EO

Page 29: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Segmentación de instruccionessin pipeline

ARCOS @ UC3M29

Si cada fase dura N ciclos de reloj, entonces

Una instrucción se ejecuta en 5*N ciclos de reloj

Cada N ciclos de reloj se ejecuta 1/5 de instrucción

LI D LO EJ EO

Tiempo

LI D LO EJ EO

Page 30: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Segmentación de instruccionescon pipeline

ARCOS @ UC3M30

Si cada fase dura N ciclos de reloj, entonces

Una instrucción se ejecuta en 5*N ciclos de reloj

Cada N ciclos de reloj se ejecuta 1 de instrucción

LI D LO EJ EO

Tiempo

LI D LO EJ EO

LI D LO EJ EO

LI D LO EJ EO

Page 31: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Superescalar

ARCOS @ UC3M31

Pipeline con varias unidades funcionales en paralelo

LI D LO EJ EO

Tiempo

LI D LO EJ EO

LI D LO EJ EO

LI D LO EJ EO

LI D LO EJ EO

LI D LO EJ EO

LI D LO EJ EO

LI D LO EJ EO

Page 32: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Multicore

ARCOS @ UC3M32

Múltiples procesadores en el mismo circuito

Page 33: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Multicore

ARCOS @ UC3M33

Intel core i7-980x gulftown (6 cores)

Page 34: Tema 4 (II) El procesador

Alejandro Calderón Mateos

Multicore

ARCOS @ UC3M34

AMD opteron Istanbul (6 cores) y shanghai (4 cores)

Page 35: Tema 4 (II) El procesador

Tema 4 (II)

El procesador

Grupo ARCOS

Estructura de Computadores

Grado en Ingeniería Informática

Universidad Carlos III de Madrid