Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En...

45
1 Arquitectura y Organización Unidad 4 - Unidad 4: Subsistemas de un computador: Arquitectura general y organización funcional de computadoras. Descripción de los distintos bloques (Memoria, ALU, Unidad de control y Unidad de E/S). Proceso de búsqueda y ejecución de las instrucciones.). Interrupciones. Estructuras de interconexión. Buses. Objetivos: Repasar acerca de los componentes estructurales y funcionales Comprender la interrelación de dichos componentes Identificar buses, como medio de conexión de los componentes Apreciar aspectos de diseño que afectan las interconexiones: interrupciones. 2 Estructura y Funcionamiento Repasamos: Computador es un sistema complejo Naturaleza jerárquica de los sistema complejos. Sistema jerárquico: subsistemas interrelacionados. Cada uno de los cuales se organiza en una estructura jerárquica, hasta el nivel más bajo del subsistema elemental. En cada nivel interesa: Estructura y funcionamiento

Transcript of Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En...

Page 1: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

1

Arquitectura y Organización • Unidad 4 - Unidad 4: Subsistemas de un computador:

• Arquitectura general y organización funcional de computadoras. Descripción de los distintos bloques (Memoria, ALU, Unidad de control y Unidad de E/S). Proceso de búsqueda y ejecución de las instrucciones.). Interrupciones. Estructuras de interconexión. Buses.

Objetivos:

Repasar acerca de los componentes estructurales y funcionales

Comprender la interrelación de dichos componentes

Identificar buses, como medio de conexión de los componentes

Apreciar aspectos de diseño que afectan las interconexiones: interrupciones.

2

Estructura y Funcionamiento

• Repasamos: Computador es un sistema complejo

• Naturaleza jerárquica de los sistema complejos.

• Sistema jerárquico: subsistemas interrelacionados.

Cada uno de los cuales se organiza en una

estructura jerárquica, hasta el nivel más bajo del

subsistema elemental.

• En cada nivel interesa: Estructura y

funcionamiento

Page 2: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

3

Estructura y funcionamiento

• Estructura: Modo en que los componentes están

interrelacionados.

• Funcionamiento: la operación de cada

componente individual como parte de la estructura.

• En términos de descripción: de arriba abajo ( “top-

down”) es clara y efectiva (descomponer el

sistema.).

4

Organización funcional • Funciones básicas de un computador:

– Procesamiento de datos

– Almacenamiento de datos (corto/largo plazo)

– Transferencias de datos (Entrada/salida.- Comunicación de datos).-

– Control ( De las tres anteriores- gestionar y dirigir por medio de

instrucciones)

• Número de operaciones posibles que pueden ser realizadas

es pequeño.

• Posibles operaciones de un computador (4)

Page 3: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

5

Visión funcional de un computador

Sistema Transferencia de datos

Mecanismo de Control

Recurso dealmacenamiento de datos

Recurso de Procesamiento deDatos

Entorno Operativo

(Fuente y destino

de datos

6

Operaciones (4)

• Las operaciones básicas pueden parecer absurdamente generalizada, pero:

• “Hay sorprendentemente muy pocas formas de estructuras de computadores que se ajusten a la función que va a ser llevada a cabo. En la raíz de esto subyace el problema de la naturaleza de uso general de computadores, en la cual toda la especialización funcional ocurre cuando se programa y no cuando se diseña”.

(SIEW82)

Page 4: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

7

Estructura de una computadora• Como se interconectan los componentes.

• El computador es una entidad que interactúa

con su entorno externo.

• Existen cuatro componentes estructurales

principales:

– Unidad Central de Procesamiento (procesador)

– Memoria Principal: almacena datos

– Entrada/Salida transfieren datos entre el computador

y el entorno externo

– Sistema de Interconexión: mecanismo de conexión

entre la CPU, la memoria y la E/S.

8

Estructura del nivel superior

Computer

Main Memory

InputOutput

SystemsInterconnection

Peripherals

Communicationlines

CentralProcessing Unit

Computer

Page 5: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

9

10

A alto nivel un computador se puede se puede describir:

1) Mediante el comportamiento de cada uno de sus componentes, es decir, mediante los datos y las señales de control que un componente intercambia con otro.

2) Mediante la estructura de interconexión y los controles necesarios para gestionar el uso de dicha estructura.

Sub-sistemas de un computador.

Page 6: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

11

Diseño de la Arquitectura Von Neuman

Basada en tres conceptos fundamentales:

�Los datos y las instrucciones se almacenan en una sola memoria de lectura-escritura.

�Los contenidos de memoria se direccionan indicando su posición, sin considerar el tipo de dato contenido en la misma.

�La ejecución es secuencial, una instrucción detrás de otra.

Recordamos: Fundamento de esos conceptos: un conjunto pequeño de componentes lógicos básicos que se combinan para almacenar datos binarios y realizar operaciones matemáticas y lógicas.

12

- Antes para un cálculo concreto, era posible configurar los componentes lógicos de manera especial para eso.

Se piensa en conectar los componentes para obtener la configuración deseada, se obtiene un programa cableado

- Programación hardware: cuando cambian las tareas se cambia el hardware

Concepto de programa (1)

Page 7: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

13

- Hardware de uso general

Programación en software: se proporciona en cada paso un nuevo conjunto de señales de control.

Concepto de programa (2)

14

-Dos componentes esenciales: Intérprete + módulo de uso general para las funciones = CPU.

Componentes adicionales: para ingresar datos e instrucciones: Modulo de entrada y para dar salida a los resultados: Módulo de Salida= Componentes de E/S.

Componente necesario para almacenar temporalmente los datos e instrucciones= MEMORIA o MEMORIA PRINCIPAL.

Componentes de una PC

Page 8: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

15

Componentes de un Computador esquema de dos niveles (I)

16

Componentes de un Computador (Esquema de dos niveles ) (II)

–PC = Contador de Programa ó Program Counter.

Cuando un programa va a ser ejecutado, el PC contiene la dirección de la 1era. instrucción. Alcanzada esta inst. el PC es incrementado para apuntar a la siguiente instrucción.

–RI = Registro de instrucción

–MAR = Registro de dirección de memoria (especifica la dirección en memoria de la próxima lectura o escritura)

–MBR = Registro de Buffer de Memoria (contiene el dato que se va a escribir en memoria o donde se escribe el dato que se va a leer de memoria).

–E/S AR= Registro de dirección de E/S (especifica un dispositivo de E/S).

–E/S BR= Registro buffer de E/S (para intercambiar datos entre un módulo de

E/S y la CPU)

CPU: Se encarga del control. Intercambia datos con la memoria

Page 9: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

17

Funcionamiento del Computador

Función de la computadora ( 1 )

–Ejecutar programas

–El programa está compuesto de instrucciones almacenadas en memoria

–La CPU procesa las instrucciones

–Debe traerlas desde memoria una por vez

–Debe cumplir cada operación ordenada

18

Ciclo de Instrucción

Función de la computadora ( 2 )

Podemos descomponer el procesamiento de instrucciones en dos etapas:

Búsqueda: leer desde memoria (capta)

Común a todas las instrucciones.

Ejecución: dependiendo de la instrucción puede implicar varias operaciones

Page 10: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

19

Ciclo de Instrucción

Función de la computadora ( 3 )

El procesamiento requerido para una sola instrucción se llama ciclo de instrucción.

– Dos pasos:

ciclo de búsqueda y ciclo de ejecución

- La ejecución del programa se interrumpe sólo si la máquina se apaga, hay un error ó una instrucción que interrumpa a la computadora.

20

Ciclo de Instrucción

Ciclo de captación y ejecución ( 1 )

Page 11: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

21

Ciclo de Instrucción

Ciclo de captación y ejecución ( 2 )

–Al principio de cada ciclo, la CPU capta una instrucción de memoria.–En la CPU hay un registro, llamado contador de programa (PC), que tiene la dirección de la próxima instrucción a captar.

La CPU, después de buscar cada instrucción, incrementa el valor contenido en PC; así podrá buscar la siguiente instrucción en secuencia.

22

Ciclo de captación y ejecución ( 3)

–La instrucción buscada se carga dentro de un registro de la CPU, llamado registro de instrucción (IR).

–La instrucción está en la forma de un código binario que especifica las acciones que tomará la CPU.

–La CPU interpreta cada instrucción y lleva a cabo las acciones requeridas.

Page 12: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

23

Ciclo de búsqueda y ejecución ( 4 )

– En general las acciones caen en 4 tipos:

•CPU – Memoria

datos pueden transferirse entre memoria y CPU.

•CPU – E/S

datos pueden transferirse entre CPU y entrada/salida.

•Procesamiento de datos

CPU efectúa operaciones aritméticas ó lógicas en datos.

•Control

alterar la secuencia de ejecución de instrucciones.

24

Ejemplo: (1)

Se mostrará la ejecución de una parte de un programa, recalcando las partes relevantes como memoria y registros de la CPU.

Este fragmento suma el contenido de la palabra de memoria que está en la dirección 940 con el contenido de la palabra de memoria en la dirección 941 y almacena el resultado en esta última posición.

Page 13: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

25

Ejemplo (2) : Se considerará una maquina hipotética cuyas características se muestran:

- Tanto las instrucciones como los datos son de 16 bits

- Posee un único registro de datos llamado acumulador (AC)

- La memoria se organiza en posiciones de 16 bits.

- Puede haber 2 4, códigos de operación diferentes

- Se pueden direccionar directamente hasta 2 12 = 4096 (4k) palabras de memoria.

Lista parcial de códigos de operación. (“CODOPS”)

00012=1= cargar AC ( D) desde la memoria

00102=2= almacenar AC ( D ) en memoria

01012=5= sumar a AC (D) un dato de memoria

26

Ejemplo (3):

El ejemplo muestra la ejecución de un fragmento de programa que tiene tres instrucciones:

- Cargar en el registro AC (D) el contenido de la posición de memoria 94016

- Sumar el contenido de la posición de memoria 94116 al registro AC y guardar el resultado en AC

– Almacenar el valor del registro AC en la posición

de memoria 94116

Page 14: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

27

Ejemplo (4):

Consideremos que cada posición de memoria almacena 16 bits. Los primeros 4 bits indican la operación a realizar, los siguientes 12 bits indican una dirección de memoria.

– 00012=1= cargar D desde la memoria

– 00102=2= almacenar D en memoria

– 01012=5= sumar D con un dato en memoria

28

Ejemplo: Paso 1

El contador de programa (PC) contiene 30016 como la dirección de la primera instrucción ( 1940 16). El contenido de esta dirección se carga en el registro de instrucción (IR).

Este proceso implica usar MAR y MBR. Para simplificar por ahora los ignoramos.

Page 15: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

29

Ejemplo: Paso 1

AC

30

Ejemplo: Paso 2

•Los primeros 4 bits en IR ( primer digito Hexadecimal) indican que el registro AC (D) se cargará con un dato proveniente de la dirección especificada

•Los restantes 12 bits de la instrucción especifican la dirección que se va a cargar, 94016.

Page 16: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

31

Ejemplo: Paso 2

= AC

32

Ejemplo: Paso 3

–Se incrementa el contador de programa PC y se capta la siguiente instrucción en la dirección 30116.

Page 17: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

33

Ejemplo: Paso 4

El 516 en IR indica que se debe sumar el contenido de una dirección de memoria especificada, en este caso la dirección es 94116, con el contenido del registro D y almacenar el resultado en el registro AC (D).

3434

Ejemplo: Paso 5

Se incrementa el PC y se busca la siguiente instrucción en 30216

Page 18: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

3535

Ejemplo: Paso 6

El 216 en IR indica que el contenido del registro D se almacena en la dirección 94116, que estáespecificada en los bits restantes de la instrucción.

En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda y un ciclo de ejecución.

3636

Ciclo de instrucción

Con este ejemplo podemos ahora tener una visión más detallada del ciclo de instrucción básico. La figura siguiente está en forma de diagrama de estados.

Para cualquier ciclo de instrucción dado, algunos estados pueden no estar y otros pueden repetirse.

Page 19: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

3737

Diagrama de estados del ciclo de instrucción(1)

Cálculo de la dirección de

la instrucción

Captación de la instrucción

Decodificación de la operación

de la instrucción

Cálculo de la dirección de

operando

Captación de operandoAlmacenamiento de operando

Operación con datos

Cálculo de la dirección de

operando

3838

Diagrama de estados (1)

Page 20: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

3939

Diagrama de estados (2)

1. Cálculo dirección instrucción: determina la dirección de la siguiente instrucción a ejecutarse.

2. Búsqueda instrucción: lee la instrucción de su posición de memoria a la cpu.

3. Decodificación de la instrucción: analiza la instrucción para determinar el tipo de operación a realizar y los operandos que se usarán.

4040

Diagrama de estados (3)4. Cálculo dirección operando: si la instrucción implica una

referencia a un operando en la memoria ó e/s, entonces se determina la dirección del operando.

5. Captación del operando: capta el operando dede la memoria ó se lee desde el dispositivo de e/s.

6. Operación sobre los datos: ejecuta la instrucción.

7. Cálculo dirección resultado. Idem 4.

8. Almacenamiento resultado. Escribe el resultado en memoria o lo saca a través de un dispositivo de E/S

Page 21: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

4141

Diagrama de estados (4)

• Los estados en la parte superior implican un intercambio entre la cpu y la memoria ó e/s.

• Los estados en la parte inferior implican sólo operaciones internas en la cpu.

4242

Ejemplo: ADD

Supongamos la siguiente instrucción :

Page 22: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

4343

ADD: paso a paso (1)

•Buscar la instrucción en memoria.•Incrementar el PC.•Decodificar la instrucción.•Si es necesario, buscar una constante en una dirección de memoria.

•Si es necesario, incrementar PC para que apunte más allá de la constante.

4444

ADD: paso a paso (2)

•Si es necesario calcular la dirección del operando.•Buscar uno de los operandos, desde memoria óregistro.

•Buscar el otro operando desde registro.•Realizar la Suma.•Almacenar el resultado.

Page 23: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

4545

Paso a paso (1)

•En el primer paso, la CPU busca la instrucción en memoria. Para esto copia el valor del PC al MAR y de ahí al bus de direcciones. La UC envía las señales necesarias para una operación de lectura. Se pueden leer uno ó más bytes. Se colocan en IR.

•Después de buscar la instrucción, la CPU debe incrementar el PC para apuntar a “lo que sigue”. Puede ser un dato, dirección ó la siguiente instrucción.

Paso a paso (2)

4646

Paso a paso (3)

El paso siguiente es decodificar la instrucción para saber que operación hacer (suma, resta, etc.). En este momento la CPU no sólo se entera de la operación, sino también dónde se encuentran los datos sobre los cuales operar.

La instrucción es auto-contenida en ella “todo estádicho”.

Page 24: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

4747

Paso a paso (4)

•En el paso anterior la CPU determinó si tiene que ir a buscar un operando a memoria, que ocupa una celda o más (byte/s) y lo hace en este momento.

•Si existió el paso anterior la CPU debe incrementar el PC en el valor adecuado de celdas (1, 2 o mas).

4848

Paso a paso (5)

•En este paso si es necesario, calcula la dirección del operando.

•Buscar los operandos.•Sumar, Restar ….•Almacenar el resultado.

Page 25: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

4949

Ejemplos adicionales

Simulación de Instrucciones en MSX88

•Ejecutar aplicación MSX88.exe •Almacenar en memoria:

•e 2000 b8002081c000e0 •Analizar la ejecución ciclo de instrucción a ciclo de instrucción con <F6>

50

Ejemplo: Repensar el ejercicio anterior

Esta máquina hipotética tiene también dos instrucciones de E/S.

0011 = Cargar AC desde E/S

0111 = Almacenar AC en E/S

En estos casos, la dirección de 12 bits indica un dispositivo concreto de E/S.

1. Cargar AC desde el dispositivo 5

2.Sumar el contenido de la posición de memoria 940

3. Almacenar AC en el dispositivo 6.

Considerar que el siguiente valor obtenido desde el dispositivo 5 es 3 y que la posición 940 almacena el valor 2.

Page 26: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Interrupciones (I)

Objetivo:

• Introducir el concepto de lo que es una interrupción.

•Facilitar la comprensión del ciclo de instrucción y los efectos de las mismas en la estructura de interconexión.

Interrupciones (II)

• Mecanismo mediante el cual se puede

interrumpir el procesamiento normal de la CPU.

– Ejecución secuencial de instrucciones de un

programa

• Pueden ser de origen interno o externo a la

CPU.

Page 27: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

¿Porqué Interrumpir?

• Por resultado de una ejecución de una instrucción.– Ej: desbordamiento aritmético (“overflow”), división por cero

• Por un temporizador interno del procesador.– • Permite al S.O. realizar ciertas funciones de manera regular.

• Por una operación de E/S.– Ej: para indicar la finalización normal de una operación.

• Por un fallo de hardware.– Ej: error de paridad en la memoria, pérdida de energía.

Jerarquía de interrupciones

Si hay múltiples fuentes se establece cuales son

mas importantes

• No enmascarables: No pueden ignorarse.

– Indican eventos peligrosos o de alta prioridad.

• Enmascarables: Pueden ser ignoradas.

– Con instrucciones inhibimos su ocurrencia.

Page 28: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Ciclo de instrucción

Para permitir el uso de interrupciones resultan:

Tres pasos:

• Captación

• Ejecución

• Gestión de interrupciones

Ciclo de interrupción

• Se comprueba si se ha solicitado alguna interrupción.– indicada por la presencia de una señal de pedido de interrupción.

• Si no hay señales se capta la siguiente instrucción.

• Si hay algún pedido de interrupción pendiente, la CPU:– Se suspende la ejecución del programa en curso

– Guarda su contexto (próxima instrucción a ejecutar y el estado del procesador)

– Carga el PC con la dirección de comienzo de una rutina de gestión de interrupción. Se inhiben otras interrupciones.

– El procesador accede a la 1era. Instrucción, y realiza todas las operaciones que sean necesarias.

– Finalizada la rutina de gestión, el procesador retoma la ejecución del programa del usuario en el punto de interrupción.

Page 29: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Diagrama de estados de un ciclo de

instrucción con interrupciones

Interrupciones

• Proporcionan una forma de mejorar la eficiencia del procesador.

• Ej.: los dispositivos externos son mucho mas lentos qe el procesador

• El procesador está transfiriendo datos a una impresora basado en el ciclo de instrucción.

• Después de cada operación de escritura, el procesador queda ocioso hasta que se complete la escritura.

• Esta pausa puede ser del orden de cientos o incluso miles de ciclos de instrucción que no implican acceso a memoria.

• Esto supone un derroche en el procesador.

Page 30: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Un ejemplo de uso de interrupciones (I)

• Un programa realiza una operación de E/S

– Hay que esperar al dispositivo

• Mejor solución: cuando el dispositivo termina su tarea, envía una señal al procesador indicando el fin de la interrupción

– Este mecanismo permite procesar en vez de esperar.

– Tener en cuenta la velocidad del dispositivo externo.

Un ejemplo de uso de interrupciones (II)

• Situación frecuente para un dispositivo lento, como una impresora:

• Allí la operación de E/S requiera mas tiempo para ejecutar una secuencia de instrucciones de usuario .

• Un programa realiza una operación de E/S– Hay que esperar al dispositivo

• Mejor solución: cuando el dispositivo termina su tarea, envía una señal al procesador indicando fin de la interrupción– Este mecanismo permite procesar en vez de esperar.

– Tener en cuenta la velocidad del dispositivo externo.

Page 31: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Flujo de control del programa

del ejemplo

Sin interrupciónInterrupción, espera de E/S corta

Interrupción, espera de E/S larga

Interrupciones múltiples (1)

• Un programa puede estar recibiendo datos a través de una línea de comunicación e imprimiendo resultados

• Interrupciones inhabilitadas

• El procesador puede y debe ignorar la señal de petición de interrupción.

• Si se hubiera generado una interrupción se mantiene pendiente y se examinará luego una vez que se hayan habilitado nuevamente.

• Ocurre una interrupción, se inhabilitan, se gestiona la misma y luego se habilitan otra vez.

• • Por lo tanto las interrupciones se manejan en un orden

• secuencial estricto.

• Inconvenientes: NO tiene en cuenta prioridades relativas, ni lassolicitudes con un tiempo critico.

Page 32: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Procesamiento de interrupciones

Interrupción inhabilitada.

Interrupciones múltiples (2)

Otra alternativa:

Definir prioridades

• Una interrupción de prioridad más alta puede

interrumpir a un gestor de interrupción de prioridad

menor.

• Cuando se ha gestionado la interrupción de prioridad

más alta, el procesador vuelve a las interrupciones

previas (de menor prioridad).

• Terminadas todas las rutinas de gestión de

interrupciones se retoma el programa del usuario.

Page 33: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Procesamiento de interrupciones

anidadas (priorización)

Reconocimiento de interrupciones (1)

• Interrupciones multinivel

– Cada dispositivo que puede provocar interrupción tiene una

entrada física de interrupción conectada a la CPU.

– Es muy sencillo, pero muy caro.

• Línea de interrupción única

– Una sola entrada física de pedido de interrupción a la que

están conectados todos los dispositivos.

– Tiene que “preguntar” a cada dispositivo si ha producido el

pedido de interrupción (técnica Polling).

Page 34: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Reconocimiento de interrupciones

(2)

• Interrupciones vectorizadas

– El dispositivo que quiere interrumpir además de la

señal de pedido de interrupción, debe colocar en el

bus de datos un identificador (vector).

– Lo puede poner el periférico directamente, o bien un

controlador de interrupciones (que se ocupa de

todo).

Escenario de trabajo

• El procesador tiene una única entrada de pedido

de interrupciones.

• Si tenemos varios productores de interrupciones

¿Cómo lo solucionamos?

– Dispositivo controlador de interrupciones (PIC)

Page 35: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

Conexionado

Interrupciones del MSX88

• Hardware

– Línea INT

– Como respuesta de reconocimiento INTA

– Línea NMI

– Su proceso de atención es por salto indirecto

• Software

– Instrucción INT xx

– Para retorno debe usarse la instrucción IRET

– Proceso de atención vectorizado

Page 36: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

71

Estructuras de interconexión.(I)

PC: compuesto por módulos o conj. de unidades

Deben existir líneas para interconectar esos módulos

El diseño de la estructura de interconexión dependeráde los intercambios que deban producirse

Tipos de intercambio de datos según tipo de módulo:

•Memoria: Constituida por N palabras de igual longitud. Cada una con 1 dirección única. Una palabra puede leerse o escribirse en memoria.

El tipo de operación se indica mediante señales: Read ( leer ) y Write ( escribir).

La posición de memoria se especifica mediante una dirección

72

Módulos de un computador

Page 37: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

73

Estructuras de interconexión.(II)

Módulo de E/S: es funcionalmente parecida a la memoria. Dos operaciones ( leer y escribir).

•Puede controlar más de un dispositivo externo

•Interfaces con un disp. externo= puerto (port)

•Cada uno con una dirección (0,1,.. M-1)

•Existen líneas externas de datos para la entrada y la salida de datos desde un dispositivo

•Puede enviar señales de interrupción al procesador

74

Estructuras de interconexión.(III)

Procesador:

•Lee instrucciones y datos

•Escribe datos una vez procesados

•Utiliza señales para controlar el funcionamiento del sistema.

•Puede recibir señales de interrupción.

Page 38: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

75

Estructuras de interconexión.(III)

Las estructuras deben dar cobertura a los siguientes tipos de transferencia:

Memoria a procesador

Procesador a memoria

E/S a procesador

Pocesador a E/S

Memoria a E/S y viceversa:

Un módulo de E/S puede intercambiar datos directamete con la memoria, sin que tengan que pasar a través del procesador, utilizando ( DMA )

Las estructuras mas comunes son los buses.

76

Interconexión con buses .(I)

Es un camino de comunicación entre 2 o más dispositivos.

Es un medio de transmisión compartido

Se conectan a él varios dispositivos y cualquier señal transmitida por uno está disponible para los otros

Constituidos por líneas

Cada línea transmite señales binarias de 0 y 1

Varias líneas pueden transmitir bits en paralelo

Bus del sistema: interconecta los componentes principales del computador.

Page 39: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

77

Interconexión con buses .(II)

Bus del sistema: entre 50 y 100 líneas

A cada línea se le asigna un significado o función particular.

Tres grupos funcionales: líneas de datos, líneas de dirección y de control.

Líneas de alimentación para suministrar energía a los módulos conectados al bus.

78

Interconexión con buses .(III)

Líneas de datos: Constituye el bus de datos.

Puede incluir entre 32 y cientos de líneas.

Cada línea sólo puede transportar un bit a la vez

Anchura del bus: factor clave a la hora de determinar las prestaciones del sistema.

Si el bus de datos tiene 8 líneas y las instrucciones son de 16 bits, que hace el procesador cuando accede al módulo de memoria???

Page 40: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

79

Interconexión con buses .(IV)

Líneas de dirección: Designan la fuente o el destino del dato, situado en el bus de datos Anchura del bus de direcciones: Determina la máxima capacidad de memoria posible en el sistema

Se usan además para direccionar los puertos de E/S

Líneas de control: Controlan el uso y acceso a las otras líneas.

Las señales de control transmiten: órdenes e información de temporización entre los módulos.

Las de temporización: indican la validez de los datos y las direcciones.

80

Interconexión con buses .(IV)

Las señales de órdenes: especifican las operaciones a realizar:

1. Escritura en memoria (Memory write)

2. Lectura de memoria (Memory Read)

3. Escritura de E/S (I/O Write)

4. Lectura de E/S (E/S Read)

5. Transferencia reconocida (Transfer ACK)

6. Petición del bus (Bus request)

7. Cesión de bus (Bus grant)

8. Petición de ininterrupción (Interrupt request)

9. Interrupción reconocida (Interrupt ACK)

Page 41: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

81

Interconexión con buses .(V)

1. Reloj (clock): se utiliza para sincronizar las operaciones

2. Inicio (reset): Pone los módulos conectados en su estado inicial.

Funcionamiento:

a) Si un módulo desea enviar un dato a otro:

1. Obtener el uso del bus

2. Transferir el dato a través del bus.

b) Si un módulo desea pedir un dato a otro:

1. Obtener el uso del bus

2. Transferir la petición al otro módulo mediante las líneas de control y dirección apropiadas. Debe esperar a que el 2do. módulo envié el dato.

82

Implementación física típica de una arquitectura de bus

Conj. de conductores eléctricos paralelos. Líneas de metal grabadas en una tarjeta ( de circuito impreso).

Page 42: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

83

Jerarquía de buses múltiples.

Si se conectan demasiados dispositivos al bus-> disminuyen las prestaciones:

1. A mayor nro de dispositivos mayor retardo de propagación.

Retardo: tiempo que necesitan los dispositivos para coordinarse en el uso del bus. Si el control pasa de un dispositivo a otro frecuentemente esto afecta el rendimiento.

2. Cuello de botella: Si las peticiones de transferencia acumuladas se aproximan a la capacidad del bus-> se incrementa la anchura del bus y hasta cierto punto su velocidad, pero la velocidad que necesitan los dispositivos aumenta también -> Bus único esta destinado a dejar de utilizarse.

3. La mayoría de los computadores utilizan varios buses, organizados jerárquicamente.

84Arquitectura de bus tradicional. (ISA) con caché

Page 43: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

85

Arquitectura de altas prestaciones.(Arquitectura de

entreplanta – mezzanine architecture)

86

Arquitectura de altas prestaciones.

Ventajas:

Acerca al procesador los dispositivos que exigen prestaciones elevadas

Al mismo tiempo es independiente del procesador.

Los cambios en la arquitectura del procesador no afectan al bus de alta velocidad y viceversa.

Page 44: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

87

Elementos de diseño de un bus

Tipo Anchura del bus:Dedicado – Multiplexado Dirección

Método de arbitraje: Datos

Centralizado – Distribuido Tipo de transferencia de datos

Temporización: Lectura

Asíncrono - Síncrono Escritura

Lectura – Modificación-Escritura

Lectura – después de escritura-

Bloque

88

Elementos de diseño de un bus

1.- Cual es el propósito de un método de arbitraje?

2. Caracteriza el arbitraje centralizado y el distribuido?

3. Describa la temporización síncrona de bus.

4. Caracteriza la temporización asíncrona del bus?

4. Relaciona anchura de bus y prestaciones del sistema.

Page 45: Arquitectura y Organización - UNNEexa.unne.edu.ar/informatica/arquitectura/archivos/Unidad...En este ejemplo, se necesitan 3 ciclos de instrucción, cada uno con un ciclo de búsqueda

89

PCI (Peripheral Component Interconnect)• PCI ( Interconexión de componente periférico)

• Muy popular, se utiliza como bus de periféricos o bus para una arquitectura de entreplanta

• El estándar actual permite el uso de 64 líneas de datos a 66 MHZ, para una velocidad de transferencia de 528 MB o 4,224 Gbps.

• Ha sido diseñado para ajustarse económicamente a los requisitos de E/S de los sistemas actuales.

• Se implementa con muy pocos circuitos integrados y permite que otros buses se conecten a él.

• Permite una cierta variedad de configuraciones basadas en microprocesadores, incluyendo sistemas de uno o varios procesadores

• Proporciona un conjunto de funciones de uso general. Utiliza temporización sincrónica y un esquema de arbitraje centralizado.

• El uso de adaptadores mantiene al PCI independiente de la velocidad procesador y proporciona la posibilidad de recibir y enviar datos rápidamente.

90

Referencias bibliográficas

• Stallings, Capítulo 3

• www.pcguide.com/ref/mbsys/buses/