ut03 1 cpu

47
Unidad Central De Proceso Sistemas Informáticos - Mañana I.E.S. Virgen de la Paloma 2010/2011

Upload: ruthmadrid

Post on 02-Aug-2015

151 views

Category:

Documents


1 download

TRANSCRIPT

Unidad Central De Proceso

Sistemas Informáticos - MañanaI.E.S. Virgen de la Paloma

2010/2011

Curso 10/11 - IES Virgen de la Paloma 2

Introducción (I)

La CPU es el componente central del ordenador. Es el encargado de llevar a cabo el procesado de la información y de regular la actividad de todo el sistema informático.

2

Curso 10/11 - IES Virgen de la Paloma 3

Introducción (II) Los componentes típicos de una CPU son:

ALU (unidad aritmética lógica) UC (unidad de control) Registros

3

CPU en la arquitectura Von Newman

Curso 10/11 - IES Virgen de la Paloma 4

Introducción (II) Los componentes en una CPU actual son:

4

CPU actual

Curso 10/11 - IES Virgen de la Paloma 5

Introducción (II) Los componentes en una CPU actual son:

F.P.U. : Unidad de coma flotante. Caché de nivel 2 (L2): caché externa o de placa base. Caché de nivel 1 (L1): caché integrada en el micro. Bus frontal (FSB front-side bus): bus que conecta la

CPU con la placa base. 64 bits. Bus posterior (BSB back-side bus): interfaz entre la

caché de nivel 1, el núcleo del procesador y la caché de nivel 2. 256 bits.

5

Curso 10/11 - IES Virgen de la Paloma 6

Introducción (III) Familias de procesadores

Intel: 4004,8008,8080, 8086, 8088, 80186, 80286, 80386, 80486, Pentium, Pentium

II, Celeron, Pentium II MMX, Pentium III, Xeon, Itanium, Pentium IV, Mobile, Itanium II, Core Duo, Corel Duo 2,Quad Core, Dual Core, Core i3, Core i5, Core i7, Core i7 Extreme Edition.

AMD: K5, K6, Athlon, Duron, Opteron, Athlon 64,Athlon 64x2,Arquitectura Barcelona

(“equivalente” al Quad Core de Intel), Phenom, Sempron Motorola:

68000, 68010, 68020, 68030, 68040 IBM:

Power PC, Power 2, Power 3, Power 4, Power 5, Cell (PS3), Broadway (Wii).

6

Curso 10/11 - IES Virgen de la Paloma 7

Arquitecturas (I)

Dependiendo del número de instrucciones que soporte la CPU distinguimos dos tipos de arquitecturas: CISC: Complex Instruction Set Computer RISC: Reduced Instruction Set Computer

7

Curso 10/11 - IES Virgen de la Paloma 8

Arquitecturas (II) CISC:

Utilizada en las primeras CPUs se caracteriza por disponer de un grupo muy amplio de instrucciones complejas y potentes.

Intel (Celeron, Pentium II, Pentium III, Pentium IV) y de AMD (Duron, Athlon).

RISC: Apareció al mejorar las tecnologías de la memoria

principal aumentando la velocidad de acceso a la misma. Se caracteriza por poseer un reducido grupo de

instrucciones. IBM, Apple y Motorola (PowerPC. Sus últimas versiones: G3, G4 y G5)

8

Curso 10/11 - IES Virgen de la Paloma 9

Arquitecturas (III)

Para ejecutar una tarea se necesitan más instrucciones en RISC que en CISC, pero el hecho de tener actualmente unos mecanismos rápidos de acceso a memoria, buses de alta velocidad y compiladores especializados en arquitecturas RISC compensa esta carencia.

9

Curso 10/11 - IES Virgen de la Paloma 10

Componentes

ALU (Unidad Aritmética Lógica): Ejecuta operaciones lógicas y aritméticas

UC (Unidad de Control): Lee, interpreta y realiza las instrucciones del

programa en ejecución. Registros:

Zonas de memoria donde se guardan los datos que se están procesando.

10

Curso 10/11 - IES Virgen de la Paloma 11

ALU (I)

Es la encargada de:Tratar los datosEjecutar las operaciones que le ordena la unidad

de control. Ésta a su vez le envía los datos y la operación a realizar

Las operaciones son muy elementales, de forma que muchas unidades aritméticas se construyen con circuitos sumadores/restadores, necesitándose de varios pasos para realizar operaciones complejas.

11

Curso 10/11 - IES Virgen de la Paloma 12

ALU (II) Los tipos de operaciones que típicamente puede realizar una ALU son:

12

Lógicas:Son las conocidas NOT, OR, AND y XOR

Manipulación de signo:Cambio de signo.

Aritméticas:Suma, resta, multiplicación y división.

De transferencia de datos

De modificación de secuenciaDe comparación de secuencia

De desplazamiento: :Consisten en mover los bits de un operando hacia la derecha o hacia la izquierda un número determinado de bits.

Curso 10/11 - IES Virgen de la Paloma 13

ALU – Operaciones lógicas

A B A AND B A OR B A XOR B NOT A

0 0 0 0 0 1

0 1 0 1 1 1

1 0 0 1 1 0

1 1 1 1 0 0

13

A AND B A OR B A XOR B NOT A

Puertas lógicas

Tablas de verdad

Curso 10/11 - IES Virgen de la Paloma 14

ALU (III) La estructura de una unidad aritmética

lógica se compone de:

14

Banco de registros.

Órgano secuenciador.

Biestables de estado.

Uno o varios operadores

Curso 10/11 - IES Virgen de la Paloma 15

ALU (IV)15

Banco de registros.Órgano secuenciador.

Biestables

Operadores

Curso 10/11 - IES Virgen de la Paloma 16

ALU (Operador)

Operador Es el encargado de realizar las operaciones. Pueden existir distintos operadores

especializados dentro de una misma ALU de forma que cada uno de ellos se encargue de un tipo de operación.

Por ejemplo: Operador de enteros Operador de coma flotante.

16

Curso 10/11 - IES Virgen de la Paloma 17

ALU (Banco de registros)

Banco de registros: El banco de registros de tipo general sirve para

que el usuario almacene temporalmente datos y resultados intermedios.

Existe un registro especial dentro del banco de registros denominado Acumulador

El acumulador es el registro donde se depositan los resultados del operador.

17

Curso 10/11 - IES Virgen de la Paloma 18

ALU (Biestables de estado) Biestables de estado

Se encuentran dentro del registro de estado. Se denominan de estado porque almacenan ciertas condiciones

relativas a la última operación realizada por la ALU Típicamente suelen encontrarse los siguientes biestables:

18

Z (cero): se pone a 1 cuando el resultado de la operación es 0.N (negativo): se pone a 1 si el resultado es negativo.

C (acarreo): se pone a 1 si el resultado tiene acarreo

O (desbordamiento): se pone a 1 si el resultado tiene desbordamiento.Otros: acarreo auxiliar, indicador de paridad, etc

Curso 10/11 - IES Virgen de la Paloma 19

ALU (Secuenciador)

Secuenciador: Necesario en aquellas ALUs compuestas por

varios operadores, o por varios microprocesadores (p.ej. Coprocesador matemático) para realizar operaciones en paralelo.

Implica la aparición de nuevos elementos: contador de fases, conjunto de registros transparentes para el usuario.

19

Curso 10/11 - IES Virgen de la Paloma 20

ALU (Instrucciones I )

Instrucciones: Una instrucción es una serie de 1s y 0s. La UC se

encarga de interpretarlos y de generar las señales de control adecuadas para la ALU y resto de componentes.

Para interpretar correctamente una instrucción se parte del formato de instrucción, que consiste en dividir la instrucción en una serie de campos (subsecuencias de bits)

20

Curso 10/11 - IES Virgen de la Paloma 21

ALU (Instrucciones II )21

Curso 10/11 - IES Virgen de la Paloma 22

ALU (Modos de direccionamiento I) Modos de Direccionamiento

Los modos de direccionamiento son las distintas formas de las que dispone la máquina para especificar donde esta un dato y decir así como poder localizarlo

Existen 4 modos de direccionamiento clásicos:

22

Registro

Directo o Absoluto

Indirecto {Inmediato

Por registro

Por memoria

Curso 10/11 - IES Virgen de la Paloma 23

ALU (Modos de direccionamiento II) Registro

El campo de dirección especifica un registro donde está el operando.

23

OPERANDO = (R)

n bits del campo de dirección necesarios para referenciar 2n registros

Ventajas: campo de direcciones pequeño y no hay accesos a memoria.

Desventaja: espacio de posiciones limitado.

Ejemplo: add r4, r3 =>r4 = r4 + r3

Curso 10/11 - IES Virgen de la Paloma 24

ALU (Modos de direccionamiento III)

Inmediato: El dato ya se encuentra en la CPU, por lo que no hay que buscar el

dato. El operando (El dato) se da en forma explicita en la instrucción, en el campo de código de operación.

24

OPERANDO = Operand

Para definir constantes cortas

Ventaja: una vez captada la instrucción, no se necesitan más referencias a memoria.

Desventaja: pocos bits para codificar el dato.

Ejemplo: add r4, #5 => a r4 = r4 + 5

Curso 10/11 - IES Virgen de la Paloma 25

ALU (Modos de direccionamiento IV) Directo o Absoluto

Si no hay suficiente espacio en la instrucción para incluir el dato, podemos dar la dirección donde se almacena ese dato. Esta dirección aparecería en el campo de referencia a operandos fuente. Puede ser la dirección de un registro de datos en el cual está el operando (directo a registro).

25

Muy sencillo, usada en las primeras computadoras.

Desventaja:limitación del rango de direcciones por el tamaño del campo.

Ejemplo: add r1,(100) => r1 = r1+ M[100]

Curso 10/11 - IES Virgen de la Paloma 26

ALU (Modos de direccionamiento V)

Indirecto por registro Se especifica un registro donde esta el dato

26

Supera la limitación del nº de bits para especificar la dirección y un solo acceso a memoria para obtener el operando.

Ejemplo: add r2, (r5) => r2 = r2 + M[r5]

Curso 10/11 - IES Virgen de la Paloma 27

ALU (Modos de direccionamiento VI)

Indirecto por memoria Se especifica la dirección de memoria que contiene el dato.

27

Desventaja: dos accesos a memoria, para obtener el operando.

Ejemplo: add r1, @(100) =>r1 = r1 +M[M[100]]

Curso 10/11 - IES Virgen de la Paloma 28

Registros visibles por el usuario Registros de dirección

Contienen las direcciones de memoria donde se encuentran los datos. Registros de índices Punteros de pila

Registros de datos (Banco de registros) Contienen datos Mayor velocidad de acceso que a memoria

Registros de condición (Flags) Bits fijados mediante hardware (ya estudiados).

28

Curso 10/11 - IES Virgen de la Paloma 29

Unidad de Control (I)

EL IEEE define la UC como:

“ La parte que efectúa: la recuperación de las instrucciones en la

secuencia apropiada, la interpretación de cada instrucción la aplicación de las señales apropiadas a la

ALU y a las otras partes de acuerdo con esta interpretación realizada.”

29

Curso 10/11 - IES Virgen de la Paloma 30

Unidad de Control (II)

Es decir, la UC monitoriza el funcionamiento de todo el computador dirigiendo la información a las unidades o elementos precisos en el momento adecuado y dando las órdenes oportunas para que se realicen las operaciones pertinentes (memorizar, sumar, etc).

Para ello, analiza e interpreta el código de operación, el modo de direccionamiento de la instrucción en curso y los valores de los biestables.

En función de este análisis genera señales de control según un orden predeterminado y de una forma sincronizada por medio del uso de un temporizador.

30

Curso 10/11 - IES Virgen de la Paloma 31

Unidad de Control (III)

la teoría de Von Neumann sobre la cual se basa la arquitectura actual de los computadores dice ....¿...?

31

-> las instrucciones y sus operandos que conforman el programa se guardan, una tras otra, en posiciones sucesivas de memoria, desde donde son transferidas una a una a la CPU, donde se descodifican y ejecutan <-

Curso 10/11 - IES Virgen de la Paloma 32

Unidad de Control (IV)32

Curso 10/11 - IES Virgen de la Paloma 33

Unidad de Control (Fases) Fases de ejecución de una instrucción

La ejecución de una instrucción consta de 4 fases:

33

Carga (Fetch)

Ejecución de la operación (Execute)

Almacenamiento de resultados

Decodificación (Decode)

Curso 10/11 - IES Virgen de la Paloma 34

Unidad de Control (Carga I)

Carga (Fetch): “Sabiendo” que en el registro de control de

programa (PC) apunta a la dirección donde se encuentra la primera instrucción del programa.

Se activan las señales de control necesarias para transferir la instrucción de memoria a la UC.

Se guarda el código de la instrucción en el registro de instrucciones (RI).

34

Curso 10/11 - IES Virgen de la Paloma 35

Unidad de Control (Carga II)35

Curso 10/11 - IES Virgen de la Paloma 36

Unidad de Control (Decodificación I)

Decodificación (Decode): La instrucción es decodificada por el procesador. El código de instrucción almacenado en RI se pasa a

la unidad de descodificación (UD). Aquí se compara la instrucción leída buscando en una tabla interna, y cuando encuentra la entrada, lee en la tabla las microinstrucciones que es necesario ejecutar para realizar la instrucción.

En el ejemplo, la instrucción significa colocar el valor 0 en el registro AX. La UD ya tiene todos los detalles de cómo llevar esta tarea a cabo.

36

Curso 10/11 - IES Virgen de la Paloma 37

Unidad de Control (Decodificación II)37

Curso 10/11 - IES Virgen de la Paloma 38

Unidad de Control (Ejecución I)

Ejecución de la operación (Execute): En esta fase, el procesador obtendrá los operandos necesarios

para el trabajo de la instrucción (si es que la instrucción lo requiere).

En el ejemplo, la instrucción MOV AX,0 lleva al registro de propósito general AX una constante cuyo valor es 0. El procesador tiene la instrucción MOV AX, obtenida de la posición de memoria 0100, pero necesita el valor constante 0 para completar la instrucción antes de proceder a su ejecución.

Para ello inicia otro ciclo de búsqueda, esta vez del operando, actualizando el CP a la dirección de memoria que contiene el operando, y guardándolo en el registro AX que nos ha indicado con anterioridad la instrucción.

38

Curso 10/11 - IES Virgen de la Paloma 39

Unidad de Control (Ejecución II)39

Curso 10/11 - IES Virgen de la Paloma 40

Unidad de Control (Almacenar)

Almacenamiento de resultados: Consiste en el almacenamiento del resultado

obtenido en la operación, en la dirección de memoria indicada por la instrucción. Este paso se realiza solamente si la instrucción lo requiere.

Por último se calcula la dirección de la instrucción siguiente.

40

Curso 10/11 - IES Virgen de la Paloma 41

Estructura de un Ordenador Sencillo (I)41

Curso 10/11 - IES Virgen de la Paloma 42

Estructura de un Ordenador Sencillo (II) CP: Registro contador de programa

Almacena la dirección de la siguiente instrucción que se ha de ejecutar.

RD: Registro de dirección de memoria o RDM Almacena las direcciones de memoria de las que se va a leer o

sobre las que se va a escribir. RM: Registro de datos de memoria o RIM (Registro

de Intercambio de memoria) Es un registro intermedio entre la memoria y el bus de datos.

Almacena temporalmente los datos que se van a escribir o se acaban de leer

RI: Registro de instrucción Contiene el código de la instrucción actual.

42

Curso 10/11 - IES Virgen de la Paloma 43

Estructura de un Ordenador Sencillo (III) Ejemplo de funcionamiento

Llevamos el contenido del CP al bus de direcciones. La UC activa la señal CP-BD.

El contenido del bus de direcciones se mete en el RD. La UC activa BD-RD.

Se debe realizar una lectura de memoria para cargar la instrucción. La UC activa LM, con lo que el contenido de la posición de memoria indicada por el RD se almacena en RM.

Este dato leído de la memoria hay que pasarlo al bus de datos. La UC activa RM-BM.

43

Curso 10/11 - IES Virgen de la Paloma 44

Estructura de un Ordenador Sencillo (IV)

El contenido del bus de datos se debe guardar en el RI. La UC activa BM-RI.

Se incrementa el CP para dejarlo preparado para la instrucción siguiente. LA UC activa ICP.

Se debe hacer una lectura en memoria del operando implicado El contenido de la dirección del operando pasa al bus de

direcciones. La UC activa RI-BD. El contenido en el bus de direcciones ha de pasar al RD. La UC

activa BD-RD. Se lee el operando de la memoria. La UC activa LM. El contenido del RM se pasa al bus de datos. La UC activa RM-BM.

44

Curso 10/11 - IES Virgen de la Paloma 45

Estructura de un Ordenador Sencillo (V)

El contenido del bus de datos hay que pasarlo a un registro de propósito general al que pueda acceder la ALU. En este caso sencillo usamos el RT (registro temporal). La UC activa BM-RT.

El contenido del acumulador debe entrar a la ALU para sumarse al operando llegado de memoria. La UC activa AC-OAL.

Se debe enviar a la ALU la señal identificativa de la operación a realizar. La UC activa la señal suma (líneas OP).

El resultado obtenido se debe guardar en el acumulador. La UC activa la señal OAL-AC.

45

Curso 10/11 - IES Virgen de la Paloma 46

Estructura de un Ordenador Sencillo (VI)46

Curso 10/11 - IES Virgen de la Paloma 47

Mejoras en los ordenadores actuales Cachés independientes de datos y de instrucciones. FPU muy rápidas y Coprocesadores matemáticos. Arquitecturas superescalares: permiten ejecutar más de una

instrucción en un ciclo de reloj. Pipelining: la CPU comienza a ejecutar una instrucción antes de

terminar de ejecutar la anterior. Tecnología MMX de Intel yTecnología 3D-Now! de AMD: aumentan

el rendimiento de las aplicaciones multimedia y 3D. Instrucciones añadidas para soportar la compresión y descompresión de gráficos. Sólo enteros.

Instrucciones SSE ó MMX-2 (Pentium III): también operan en coma flotante.

Instrucciones SSE2 (Pentium IV) Instrucciones SSE3 (Revisión Pentium IV) Instrucciones SSE4 (Intel Core y AMD K10) Instrucciones SS4A (AMD) Instrucciones SS42 (Intel Core i7)

47