26
1 Unidad 1: Estructura de un Sistema Computacional Prof. Ing. Msc. ANTONIO RIENZO RENATO Departamento de Ingeniería Biomédica Universidad de Valparaíso 2013 - UV – ICB317 – A. Rienzo 2 El Modelo de Von Neumann Se tenía:

Unidad 1 Clase2

Embed Size (px)

Citation preview

Page 1: Unidad 1 Clase2

1

Unidad 1: Estructura de un

Sistema ComputacionalProf. Ing. Msc. ANTONIO RIENZO RENATO

Departamento de Ingeniería Biomédica

Universidad de Valparaíso

2013 - UV – ICB317 – A. Rienzo 2

El Modelo de Von Neumann

• Se tenía:

Page 2: Unidad 1 Clase2

2

2013 - UV – ICB317 – A. Rienzo 3

Componentes de un Computador

2013 - UV – ICB317 – A. Rienzo 4

Componentes de un Computador

Page 3: Unidad 1 Clase2

3

2013 - UV – ICB317 – A. Rienzo 5

Componentes de un Computador

• MEMORIA PRINCIPAL (MP):

• UNIDAD CENTRAL DE PROCESO (CPU):

Formada por dos partes:A. UNIDAD ARITMÉTICO LÓGICA (ALU).B. UNIDAD DE CONTROL

• UNIDAD DE ENTRADA/SALIDA (E/S).

Memorias

2013 - UV – ICB317 – A. Rienzo 6

Page 4: Unidad 1 Clase2

4

Memorias

2013 - UV – ICB317 – A. Rienzo 7

Memorias

2013 - UV – ICB317 – A. Rienzo 8

Page 5: Unidad 1 Clase2

5

Memorias Caché

• Para entender los tres tipos de memoria caché que se pueden encontrar, hay que situarse en el contexto histórico. Inicialmente, la memoria caché original comenzó como una parte de la memoria principal (RAM). Posteriormente, esta memoria se ubicó fuera de la RAM, pasando a convertirse en un tipo de memoria especial, entre la CPU y la memoria principal (y en la tarjeta madre).

• Con los avances tecnológicos (y para mejorar la velocidad), la memoria caché se incorporó como parte de la CPU; existiendo una caché interna y una caché externa (de distinto tipo, tamaño, costo y velocidad). Y finalmente, se pudo incorporar dos tipos de memoria caché al interior de la CPU, una principal (L1) y una secundaria (L2). La memoria caché externa es la L3 (y no forma parte de la RAM).

2013 - UV – ICB317 – A. Rienzo 9

Memorias Caché

2013 - UV – ICB317 – A. Rienzo 10

Page 6: Unidad 1 Clase2

6

Memorias Caché

• Caché L1

• La memoria cache L1 (Nivel L1), es un tipo de memoria pequeña y rápida que está constituida en la CPU. A menudo se refiere como caché o caché interno principal. Se utiliza para acceder a datos importantes y de uso frecuente. La memoria L1 es el tipo más rápido y más caro de caché que está integrado en el equipo.

• Cache L2

• La memoria caché L2 (Nivel 2) se utiliza para almacenar la información recientemente visitada. También conocido como cache secundario. Está diseñada para reducir el tiempo necesario para acceder a los datos en los casos en que los datos ya se han utilizados previamente. La memoria caché L2 es secundaria a la CPU y es más lenta que la memoria caché L1, a pesar de ser a menudo mucho más grande. Además, los datos que se solicitan desde la memoria caché L2 se copian en la caché L1.

• Cache L3

• La memoria caché L3 o de nivel 3 es una memoria que está integrada en la placa madre (separada de la CPU). Se utiliza para alimentar a la memoria caché L2, y generalmente es más rápida que la memoria principal del sistema, pero todavía más lenta que la memoria caché L2.

2013 - UV – ICB317 – A. Rienzo 11

Memorias Caché

• + Memoria L1: se encuentra integrada dentro de los circuitos del microprocesador y eso la hace más cara y más complicado el diseño, pero también mucho más eficiente por su cercanía al microprocesador, ya que funciona a la misma velocidad que él.

• + Memoria L2: esta es la que viene en forma de tarjetas de memoria, para ser insertada en una ranura (slot) especial de la tarjeta principal (Motherboard) y funciona a la velocidad de trabajo de la misma. Actualmente la memoria L2 viene integrada en el microprocesador, se encarga de almacenar datos de uso frecuente y agilizar los procesos; determina por mucho si un microprocesador es la versión completa ó un modelo austero.

• + Memoria L3: esta memoria es un tercer nivel que soportan principalmente los procesadores de la firma AMD®. Con este nivel de memoria se agiliza el acceso a datos e instrucciones que no fueron localizadas en L1 ó L2. Si no se encuentra el dato en ninguna de las 3, entonces se accederá a buscarlo en la memoria RAM.

2013 - UV – ICB317 – A. Rienzo 12

Page 7: Unidad 1 Clase2

7

2013 - UV – ICB317 – A. Rienzo 13

2013 - UV – ICB317 – A. Rienzo 14

C P U

• UNIDAD CENTRAL DE PROCESO.

• Para que un computador pueda funcionar, la CPU necesita contar con un conjunto de “registros”, donde pueda almacenar y manejar temporalmente la información que está siendo transferida (y ejecutada). La cantidad de posibles registros dependerá del tipo y nivel de los procesadores.

• Aunque en general, se pueden diferenciar en:

Page 8: Unidad 1 Clase2

8

2013 - UV – ICB317 – A. Rienzo 15

C P U

Registros de propósito general:

• Son los que se encuentran en este banco de registros y podemos usarlos libremente en cualquier instrucción. Que estén agrupados quiere decir que tienen señales de control comunes. Este es el lugar donde se guardan los (generalmente pocos) registros que más rápidamente se van a operar.

• Ejemplos típicos son los acumuladores, punteros a direcciones o datos, o simples registros para manipular datos. Por ejemplo: IR (Registro de Instrucciones), MAR (Registro de Direcciones de memoria), MDR (Registro de Datos de Memoria).

C P U

2013 - UV – ICB317 – A. Rienzo 16

Registros de propósito específico (o dedicados):

Están reservados para el uso del Sistema, y su uso está restringido a determinadas instrucciones y, en esas instrucciones, suele aparecer de forma implícita.

• a.- Contador de programa

• b.- Registro de estado

• c.- Puntero de pila (SP)

Page 9: Unidad 1 Clase2

9

Registros Internos CPU

2013 - UV – ICB317 – A. Rienzo 17

Interconexión de CPU

2013 - UV – ICB317 – A. Rienzo 18

Page 10: Unidad 1 Clase2

10

Interconexión de CPU

2013 - UV – ICB317 – A. Rienzo 19

Unidades de Entrada y Salida

2013 - UV – ICB317 – A. Rienzo 20

Se incluyen los distintos elementos que conforman el sistema de entrada/salida de un computador, el cual permite la comunicación entre los diferentes dispositivos conectados al sistema.

Page 11: Unidad 1 Clase2

11

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 21

Clasificación:

• Almacenamiento: discos duros, diversos tipos de disquetes (unidades ZIP, etc.), memorias flash, CDROMs, DVDs, grabadoras de CD/DVD, unidades de cinta, etc.

• Interfaz con el usuario: teclados, mouses, tabletas gráficas, joysticks, celulares, etc.

• Visualización y multimedia: tarjetas gráficas, monitores, impresoras, tarjetas de sonido, altavoces, etc.

• Comunicaciones: tarjetas de red (Ethernet, inalámbricas), módems, switches, etc.

• Adquisición de datos: cámaras de vídeo, micrófono+tarjeta de sonido, cámaras fotográficas, sensores, etc.

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 22

Una de las principales características de los dispositivos de E/S es su heterogeneidad.

Page 12: Unidad 1 Clase2

12

Unidades de Entrada / Salida

• Todos los periféricos cuentan con una serie de puertos de E/S. Estos puertos están implementados como registros externos a la CPU a través de los cuales se comunican la CPU y los dispositivos.

• Estos puertos de E/S se encuentran integrados en un chip llamado controladora del dispositivo. Normalmente, en cualquier controladora tendremos los siguientes registros que nos facilitan la comunicación y el control del dispositivo:

2013 - UV – ICB317 – A. Rienzo 23

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 24

• Registro de datos: en este registro se realiza la lectura/escritura del dato a transferir entre la CPU y el dispositivo.

• Registro de control: en él la CPU escribe las órdenes a realizar: leer, escribir, inicialización, configuración del dispositivo, etc.

• Registro de estado: nos permite saber en qué estado se encuentra el dispositivo. Por ejemplo, nos informa si está disponible para aceptar una nueva orden o se encuentra procesando una y debemos esperar (información de ready/not ready). Este registro suele disponer de bits adicionales para indicar otra información sobre el estado del dispositivo.

Page 13: Unidad 1 Clase2

13

Unidades de Entrada / Salida

• En cuanto a la comunicación, ésta se realiza a través de canales o buses, que se definen como el conjunto de líneas de comunicación que conectan los distintos componentes de un computador (CPU - memoria, dispositivos lentos, dispositivos rápidos, etc.).

• Los canales o buses se suelen organizar de forma jerárquica (Figura 1.12) por cuestiones de eficiencia.

2013 - UV – ICB317 – A. Rienzo 25

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 26

Page 14: Unidad 1 Clase2

14

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 27

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 28

Mecanismos de Interacción de la CPU con la E/S

• A.- Sondeo (polling)

• B.- Interrupción

• C.- DMA (Acceso Directo a Memoria).

Page 15: Unidad 1 Clase2

15

Unidades de Entrada / Salida

A.- Sondeo/encuesta (polling):

• La técnica más sencilla de comunicación entre la CPU y un dispositivo es la denominada técnica de polling, también llamada sondeo, encuesta o escrutinio. En ella, el procesador es el que realiza todo el trabajo, “sondeando” continua o periódicamente el registro de estado del dispositivo para, una vez detectado un cambio de estado, obrar en consecuencia. Por ejemplo, si pensamos en el mouse de un PC, podemos implementar esta técnica haciendo que el procesador verifique periódicamente el estado del ratón, para ver si el usuario lo ha movido, en cuyo caso, el sistema operativo informa del cambio de situación.

2013 - UV – ICB317 – A. Rienzo 29

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 30

• El principal problema de esta técnica es que, cuando la E/S es mucho más lenta que la CPU, podemos estar sondeando muchas veces el dispositivo comprobando que no ha cambiado, lo que implica una gran pérdida de tiempo y un uso innecesario de la CPU.

• A través de un ejemplo en Apuntes, se puede comprobar que, esta técnica es mucho más conveniente sólo en algunos dispositivos de E/S. Se calcula y se demuestra que el porcentaje de tiempo que la CPU gasta realizando sondeos para los siguientes dispositivos:- Mouse � % CPU: 0,0024% (impacto despreciable).- Diskette � % CPU: 2,048% (impacto apreciable, pero bajo)- Disco D. � % CPU: 41,95% (impacto inaceptable).

Page 16: Unidad 1 Clase2

16

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 31

B.- Interrupción

• El concepto de interrupción de un programa se utiliza para manejar diversos problemas que se presentan en la secuencia normal de un programa; y se refiere a la transferencia del control del programa (de un programa en ejecución), a otro programa de servicio como resultado de una petición o solicitud generada externa o internamente. El control regresa al programa original después de que se ejecuta el programa de servicio.

• El procedimiento de interrupción, es similar a una llamada a una subrutina, excepto por tres variaciones:

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 32

• 1.- La interrupción es iniciada por una señal externa o interna, y no a partir de la ejecución de una instrucción;

• 2.- La dirección del programa de servicio que procesa la solicitud de interrupción se determina por medio de un procedimiento de hardware, y no a partir del campo de dirección de una instrucción;

• 3.- En respuesta a una interrupción es necesario almacenar toda la información que defina el estado de la computadora, en lugar de almacenar sólo el contador del programa.

Page 17: Unidad 1 Clase2

17

Unidades de Entrada / Salida

• Como se mencionó, las interrupciones son cambios en el flujo de control, no ocasionadas por el programa que se ejecuta; y generalmente son por un evento relacionado con la E/S.

• Un aspecto importante a tener en cuenta es que mientras que en el método de encuesta el tratamiento de los datos lo hacen las instrucciones que siguen al loop (lazo) de espera activa, una interrupción puede llegar en cualquier momento, mientras que la CPU está haciendo otra cosa (son asíncronas respecto al programa en ejecución).

2013 - UV – ICB317 – A. Rienzo 33

Unidades de Entrada / Salida

Hay que habilitar mecanismos para que:

• () La CPU deje automáticamente lo que esté haciendo (detiene el programa en curso) y pase a ejecutar la rutina de servicio de la interrupción (RSI), también llamada manejador.

• () Se salve la información mínima necesaria para que luego pueda recuperarse el estado de ejecución en el que estaba el programa justo en el momento en que llegó la interrupción.

• () Al finalizar la RSI, se vuelva justo a dicho estado y se reanude el proceso interrumpido con normalidad.

2013 - UV – ICB317 – A. Rienzo 34

Page 18: Unidad 1 Clase2

18

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 35

Unidades de Entrada / Salida

Existen tres tipos de interrupciones:

• () interrupciones externas (provenientes de dispositivos de E/S, monitorización de energía eléctrica);

• () interrupciones internas (uso erróneo de una instrucción, desbordamientos); también llamadas “excepciones”;

• () interrupciones de software (llamada especial del sistema).

2013 - UV – ICB317 – A. Rienzo 36

Page 19: Unidad 1 Clase2

19

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 37

Unidades de Entrada / Salida

C.- DMA (Acceso Directo a Memoria).

• El sondeo y las interrupciones son adecuados para dispositivos con escaso ancho de banda ya que permiten reducir el costo de la controladora y de la interfaz, dejando casi todo el peso de las transferencias a la CPU y al sistema operativo: cada transferencia de una palabra a/desde el dispositivo implica una secuencia de instrucciones que la CPU tiene que ejecutar para transferir la palabra desde/a memoria (mediante la rutina de sondeo o la de servicio de interrupción).

2013 - UV – ICB317 – A. Rienzo 38

Page 20: Unidad 1 Clase2

20

Unidades de Entrada / Salida

• Con dispositivos de gran ancho de banda, sin embargo, las transferencias constan principalmente de grandes bloques de datos donde los mecanismos como el sondeo o las interrupciones no son métodos adecuados, pues se mantendría ocupado el procesador demasiado tiempo. En estos casos, se utiliza el acceso directo a memoria (DMA) que permite que la transferencia de datos desde el dispositivo a la memoria o viceversa se realice sin la intervención del procesador.

• El DMA se implementa con un chip especializado (controladora de DMA), que transfiere datos entre un dispositivo de E/S y la memoria principal, independientemente del procesador.

2013 - UV – ICB317 – A. Rienzo 39

Unidades de Entrada / Salida

Los pasos de los que consta una transferencia DMA son los siguientes:

• 1. El procesador inicializa la controladora de DMA: identidad del dispositivo, operación a realizar, dirección de memoria donde leer o escribir, número de bytes a transferir y sentido del desplazamiento (hacia direcciones crecientes o decrecientes de memoria).

• 2. La controladora de DMA va pidiendo el bus y, cuando lo consigue, va realizando tantas operaciones de transferencia entre el dispositivo y la memoria como sean necesarias.

• 3. Finalmente, la controladora de DMA genera una interrupción informando al procesador de la finalización de la transferencia o de una condición de error.

2013 - UV – ICB317 – A. Rienzo 40

Page 21: Unidad 1 Clase2

21

Unidades de Entrada / Salida

2013 - UV – ICB317 – A. Rienzo 41

Unidades de Entrada / Salida

Con el mismo ejemplo explicado en los Apuntes, se aclarar que en el caso del disco duro (transferencias de datos) y se usa sólo durante el 5% del tiempo), las tres técnicas arrojan los resultados de:

• POLLING% CPU = 41,95% (impacto inaceptable).

• INTERRUPCION% CPU = 2,62%

• DMA% CPU = 0,031% (despreciable)

2013 - UV – ICB317 – A. Rienzo 42

Page 22: Unidad 1 Clase2

22

BUSES

La interconexión entre la MP, la CPU y los dispositivos de E/S se realiza a través de BUSES.

• La ALU y los registros están comunicados por conjuntos de líneas que se llaman buses. Un bus es un grupo de líneas digitales que soportan el mismo tipo de información del computador.

• De esta manera existen tres tipos de buses:

2013 - UV – ICB317 – A. Rienzo 43

BUSES

Bus de direcciones :

• Está formado por las líneas que soportan la dirección binaria de la Memoria. El número de líneas de este bus es un parámetro muy importante porque determina la cantidad de posiciones que puede alcanzar la Memoria. Así, si el número de líneas del bus de direcciones es n, la Memoria puede alcanzar un máximo de 2n posiciones.

2013 - UV – ICB317 – A. Rienzo 44

Page 23: Unidad 1 Clase2

23

BUSES

Bus de datos

• Consta de las líneas que transportan la información que se lee o escribe y que puede consistir en datos o instrucciones. También el número de líneas de este bus es muy importante porque determina la cantidad de bits que pueden transferirse en cada operación de lectura o escritura.

2013 - UV – ICB317 – A. Rienzo 45

BUSES

Bus de control :

• Lo componen las líneas auxiliares que indican el tipo de operación (lectura / escritura), la sincronización (señal de reloj), la zona a acceder (Memoria ó E/S), etc. Los valores que toman las líneas de este bus se obtienen en la Unidad de Control de la interpretación del código OP de la instrucción en curso.

2013 - UV – ICB317 – A. Rienzo 46

Page 24: Unidad 1 Clase2

24

BUSES

EJEMPLO

• Si un procesador dispone de una Memoria con 512 posiciones de 32 bits cada una, deducir el tamaño del bus de direcciones y del bus de datos.

2013 - UV – ICB317 – A. Rienzo 47

BUSES

• EJEMPLO

• Si un procesador dispone de una Memoria con 512 posiciones de 32 bits cada una, deducir el tamaño del bus de direcciones y del bus de datos.

• SOLUCIÓN:• Bus de direcciones: 9 líneas (29 = 512) • Bus de datos: 32 líneas para soportar los 32 bits de cada

posición de Memoria.

2013 - UV – ICB317 – A. Rienzo 48

Page 25: Unidad 1 Clase2

25

BUSES

2013 - UV – ICB317 – A. Rienzo 49

JERARQUIA DE BUSES:

EN RESUMEN

2013 - UV – ICB317 – A. Rienzo 50

SE HA VISTO, LAS PARTES:

Page 26: Unidad 1 Clase2

26

Departamento de Ingeniería Biomédica

Universidad de Valparaíso

¿Preguntas?¿Preguntas?