funcionamiento.pdf

28
Computadores y Comunicaciones Computadores y Comunicaciones Tema 4: Arquitectura y funcionamiento Tema 4: Arquitectura y funcionamiento bÆsico del ordenador bÆsico del ordenador Febrero, 2011 Jorge Juan Chico <[email protected]>, JuliÆn Viejo CortØs <[email protected]> Departamento de Tecnologa Electrnica Universidad de Sevilla Usted es libre de copiar, distribuir y comunicar pœblicamente la obra y de hacer obras derivadas siempre que se cite la fuente y se respeten las condiciones de la licencia Attribution-Share alike de Creative Commons. Puede consultar el texto completo de la licencia en http://creativecommons.org/licenses/by-sa/3.0/ 2 Objetivos Objetivos Conocer la estructura bÆsica de un ordenador Comprender cmo funcionan los principales componentes del ordenador Conocer los distintos dispositivos de memoria y almacenamiento existentes y valorar ventajas e inconvenientes de cada uno Comprender la utilidad de los mecanismos de interrupciones y acceso directo a memoria como mØtodo para mejorar las prestaciones de las operaciones de entrada y salida

Transcript of funcionamiento.pdf

Page 1: funcionamiento.pdf

Computadores y ComunicacionesComputadores y Comunicaciones

Tema 4: Arquitectura y funcionamiento Tema 4: Arquitectura y funcionamiento básico del ordenadorbásico del ordenador

Febrero, 2011Jorge Juan Chico <[email protected]>, Julián Viejo Cortés <[email protected]>Departamento de Tecnología ElectrónicaUniversidad de Sevilla

Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite la fuente y se respeten las condiciones de la licencia Attribution-Share alike de Creative Commons.Puede consultar el texto completo de la licencia en http://creativecommons.org/licenses/by-sa/3.0/

2

ObjetivosObjetivos

� Conocer la estructura básica de un ordenador� Comprender cómo funcionan los principales componentes del

ordenador� Conocer los distintos dispositivos de memoria y almacenamiento

existentes y valorar ventajas e inconvenientes de cada uno� Comprender la utilidad de los mecanismos de interrupciones y

acceso directo a memoria como método para mejorar las prestaciones de las operaciones de entrada y salida

Page 2: funcionamiento.pdf

3

ContenidosContenidos

� Estructura básica del ordenador� Unidades funcionales

� El bus. La memoria. Dispositivos de entrada/salida. La CPU.� Dispositivos de almacenamiento

� Jerarquía. Memoria interna. Memoria externa: tipos. Discos magnéticos. Cintas. CD/DVD.

� Interrupciones y métodos de entrada/salida

4

Estructura básica del ordenador.Estructura básica del ordenador.Modelo de Von NeumannModelo de Von Neumann

� Un ordenador consiste en una serie de componentes básicos capaces de realizar tareas simples: operaciones lógicas, operaciones aritméticas, movimiento de datos, etc.

� Cuando estos componentes se organizan para realizar una tarea determinada se dice que el ordenador está "programado" para esa tarea.

� Programa cableado (hardwired): los primeros ordenadores se programaban conectando "físicamente" sus componentes en la forma requerida.

� Programa almacenado (software): en la actualidad, la programación se realiza mediante el almacenamiento de instrucciones en una "memoria" siguiendo el modelo de Von Neumann.

Page 3: funcionamiento.pdf

5

Estructura básica del ordenador.Estructura básica del ordenador.Modelo de Von NeumannModelo de Von Neumann

� Principios básicos:� Los datos y las instrucciones se almacenan en una misma memoria

de lectura y escritura.� Tanto los datos como las instrucciones se acceden de una misma

forma (las instrucciones pueden ser tratadas como datos). � Las instrucciones se ejecutan secuencialmente salvo que se de una

orden especial � Ventajas

� facilidad de programación, flexibilidad, código reutilizable.� Inconvenientes

� se dedica tiempo y recursos a la captación y ejecución de las instrucciones almacenadas en la memoria.

6

Memoria

E/S

Conexión

CPU

Periféricos

E/S 2E/S 2CPUCPU MemoriaMemoria

BUS (Conexión)

E/S 1E/S 1

Estructura básica del ordenadorEstructura básica del ordenador

Page 4: funcionamiento.pdf

7

Estructura básica del ordenadorEstructura básica del ordenador

� CPU (Unidad central de proceso)

� cerebro del ordenador, ejecuta instrucciones, realiza operaciones lógicas y aritméticas

� Memoria

� almacena datos y programas

� directamente accesible por la CPU

� Entrada/Salida (E/S)

� comunica la CPU con dispositivos "externos" (periféficos): monitor, teclado, red, modem, discos, etc.

� Sistema de conexión

� comunica la CPU con la memoria y los módulos de E/S

8

ContenidosContenidos

� Estructura básica del ordenador� Unidades funcionales

� El bus. La memoria. Dispositivos de entrada/salida. La CPU.

� Dispositivos de almacenamiento� Jerarquía. Memoria interna. Memoria externa: tipos. Discos

magnéticos. Cintas. CD/DVD.� Interrupciones y métodos de entrada/salida

Page 5: funcionamiento.pdf

9

Unidades Funcionales. El BusUnidades Funcionales. El Bus

� Conjunto de líneas eléctricas que permiten la comunicación entre los componentes del ordenador.

� Tipo de líneas: � Dirección (bus de direcciones -AB-): indican el origen o destino de

los datos � Datos (bus de datos -DB-): contienen el dato a transferir � Control: determinan el tipo de operación a realizar

E/S 1 Memoria CPU

direcciones datos

control

10

MemoriaMemoriaCPUCPU E/S 1E/S 1 E/S 2E/S 2

ÁrbitroÁrbitro

REQ1 REQ2

GRT1

GRT2

REQ3

GRT3

El bus. ArbitraciónEl bus. Arbitración

� Bus Master (maestro del bus): dispositivo que controla el bus en un momento determinado.

� Árbitro: dispositivo que concede el control del bus a los demás � REQ#: petición de uso del bus (request)� GR#: cesión del bus (grant)

BUS

Page 6: funcionamiento.pdf

11

E/S 1

Memoria CPU

Bus ISA (8MHz, 16 bits)

VGA

Bus del sistema (133MHz, 64 bits)

Puente Discos Red

Puente

Bus PCI (33MHz, 32 bits)

E/S 2

El bus. JerarquíaEl bus. Jerarquía

� No hay un sólo bus que cubra todas las necesidades: velocidad, extensión, coste, compatibilidad, etc.

� Los puentes se encargan de que la estructura "lógica" siga siendo de bus único

12

Unidades Funcionales. El busUnidades Funcionales. El bus

� Ejemplo de bus simple:� Direcciones: 16 bits (0 .. FF) � Datos: 8 bits � Control:

� Memoria/ES (M/I): � Memoria=0, E/S=1 � Lectura (R): activa=1 � Escritura (W): activa=1 � Transferencia reconocida (ACK): activa=1

� Reloj: activo en "flanco de bajada"

0000DIR DATO M/I R W ACK00 0 0 0 0BUS

Page 7: funcionamiento.pdf

13

Unidades Funcionales. MemoriaUnidades Funcionales. Memoria

� La memoria está compuesta por un conjunto de registros de una anchura determinada (p. ej. 8, 16 o 32 bits).

� Cada registro (o posición de memoria) se identifica con una dirección unívoca.

� Cada posición de memoria almacena un dato que puede ser leido o escrito.

� al leer una posición de memoria, el dato no se modifica � al escribir en una posición de memoria el dato antiguo se borra

� La memoria se conecta con el exterior mediante: � líneas de dirección (A): identifican la posición de memoria a la que

se quiere acceder. � líneas de datos (D): trasmiten el dato a almacenar o el leido. � líneas de control: seleccionan una de las dos posibles operaciones:

lectura (R) o escritura (W).

14

Memoria. LecturaMemoria. Lectura

D2A661

243C

0000

.

.

.

0001

7872

00020003000400050006

.

.

.

34

F1

FFFF

Memoria

0003DIR DATO M/I R W ACK34 0 1 0 1BUS

Page 8: funcionamiento.pdf

15

Memoria. EscrituraMemoria. Escritura

D2A661

2417

0000

.

.

.

0001

7872

00020003000400050006

.

.

.

34

F1

FFFF

Memoria

0005DIR DATO M/I R W ACK17 0 0 1 1BUS

16

E/S

BUS

E/S E/S 00-03 04 A8-AF

Periférico A Periférico B Periférico C

Entrada/Salida. Funcionamiento básicoEntrada/Salida. Funcionamiento básico

� Análogo a la memoria � Activada cuando la operación en el bus es de entrada/salida � Cada dispositivo responde a una o varias direcciones � Los dispositivos no direccionados permanecen inactivos

Page 9: funcionamiento.pdf

17

Puerto 0003 E/S

7F

Periférico B

Puerto 0005 E/S

1234

Periférico A

Entrada/Salida. LecturaEntrada/Salida. Lectura

0003DIR DATO M/I R W ACK7F 1 1 0 1BUS

18

Puerto 0003 E/S

54

Periférico B

Puerto 0005 E/S

1234

Periférico A

Entrada/Salida. EscrituraEntrada/Salida. Escritura

0003DIR DATO M/I R W ACK54 1 0 1 1BUS

Page 10: funcionamiento.pdf

19

BUS

Entrada/SalidaEntrada/SalidaEjemplo: terminal de textoEjemplo: terminal de texto

� Dispositivo sólo de salida � Puerto de E/S (dirección): 01 � Recibe datos de 8 bits e imprime

en la pantalla el símbolo correspondiente según la codificación Latin-1 (ISO-8859-1)

� Dispone de un registro interno para almacenamiento temporal.

E/S01

H

Hello World!Hola Mundo

20

BUS

E/S

02

QWERT YUIOP 789/ ASDFG HJKLÑ 456* ZXCVB NM,.- 123- ** ***** *** 0.=+

A

H

O

buffer

L

Entrada/SalidaEntrada/SalidaEjemplo: tecladoEjemplo: teclado

� Dispositivo sólo de entrada � Puerto de E/S (dirección): 02 � Envía datos de 8 bits

correspondientes a símbolos de la codificación Latin-1 (ISO-8859-1)

� Dispone de un buffer interno para almacenar 4 símbolos

� Emite un sonido cuando se pulsa una tecla y el buffer está lleno

Page 11: funcionamiento.pdf

21

CPUCPUCiclo de instrucciónCiclo de instrucción

� La tarea de la CPU es ejecutar intrucciones almacenadas en la memoria.

� Para ello repite incesantemente el "ciclo de instrucción"

� Para realizar la ejecución, la CPU cuenta con:

� Unidades de procesamiento � Registros internos � Unidad de control

Captación

Ejecución

¿fin?

FIN

si

no

22

Unidad de control

RegistrosUnidad deProcesa-miento

CPU

BUS

CPU. Estructura básicaCPU. Estructura básica

� Unidades de procesamiento: operaciones lógicas, aritméticas, punto flotante, etc.

� Registros internos: almacenamiento temporal de operandos y resultados

� Unidad de control: gestiona todo el proceso de captación y ejecución de instrucciones

Page 12: funcionamiento.pdf

23

CPU de ejemploCPU de ejemploRegistrosRegistros

� PC (8 bits): contador de programa (Program Counter). Almacena la dirección de la próxima instrucción a ejecutar.

� IR (16 bits): registro de instrucción (Instruction Register). Almacena el códico de la próxima instrucción a ejecutar.

� A,B,C y D (16 bits): registros de propósito general.

� Z (1 bit): bandera de cero. Se pone a 1 cuando el resultado de una operación lógica o aritmética es 0.

� OV (1 bit): bandera de overflow. Se pone a 1 cuando hay desbordamiento en un operación aritmética.

D2A6

243C

PCIR

1

ABCD

34

F1

Z

CPU

0OV

24

CPUCPUInstruccionesInstrucciones

� Lenguaje (código) máquina: código binario de las instrucciones que ejecuta la CPU

� Lenguaje ensamblador: representación del lenguaje máquina mediante palabras clave fáciles de entender para el programador

MOV A,5ADD A,6MOV A,7

MOV A,5ADD A,6MOV A,7

001100101100010111010010100001100011001011000111

001100101100010111010010100001100011001011000111

Page 13: funcionamiento.pdf

25

CPU. InstruccionesCPU. InstruccionesEjemploEjemplo

; ejemplo introductorio; suma los números de una lista

SECTION .data ; comienzo del segmento de datos

global xx: dd 1 dd 5 dd 2 dd 18

sum: dd 0

SECTION .text ; comienzo del segmento de código

mov eax,4 ; EAX servirá de contador para el ; número de datos que quedan por sumar mov ebx,0 ; EBX almacenará la suma mov ecx, x ; ECX apunta al siguiente elemento ; a sumartop: add ebx, [ecx] add ecx,4 ; mueve el puntero al siguiente elemento dec eax ; decrementa el contador jnz top ; si el contador no es 0, repetirdone: mov [sum],ebx ; hecho, almacena el resultado en [sum]

; ejemplo introductorio; suma los números de una lista

SECTION .data ; comienzo del segmento de datos

global xx: dd 1 dd 5 dd 2 dd 18

sum: dd 0

SECTION .text ; comienzo del segmento de código

mov eax,4 ; EAX servirá de contador para el ; número de datos que quedan por sumar mov ebx,0 ; EBX almacenará la suma mov ecx, x ; ECX apunta al siguiente elemento ; a sumartop: add ebx, [ecx] add ecx,4 ; mueve el puntero al siguiente elemento dec eax ; decrementa el contador jnz top ; si el contador no es 0, repetirdone: mov [sum],ebx ; hecho, almacena el resultado en [sum]

http://heather.cs.ucdavis.edu/~matloff/50/LinuxAssembly.html

26

Computador simpleComputador simple

0000DIR DATO M/I R W ACK00 0 0 0 0BUS

D2A661

243C

0000

.

.

.

0001

7872

00020003000400050006

.

.

.

34

F1

FFFF

Memoria

D2A7A610

24703C30

PCIR

1

ABCD

341C

F100

Z

CPU

0OV

QWERT YUIOP 789/ ASDFG HJKLÑ 456* ZXCVB NM,.- 123- ** ***** *** 0.=+

HE/S02 O L A

E/S01

H

Hello World!Hola Mundo

Page 14: funcionamiento.pdf

27

ContenidosContenidos

� Estructura básica del ordenador� Unidades funcionales

� El bus. La memoria. Dispositivos de entrada/salida. La CPU.� Dispositivos de almacenamiento

� Jerarquía. Memoria interna. Memoria externa: tipos. Discos magnéticos. Cintas. CD/DVD.

� Interrupciones y métodos de entrada/salida

28

Almacenamiento. ClasificaciónAlmacenamiento. Clasificación

� Ubicación� CPU, memoria interna,

memoria externa, ...� Capacidad

� tamaño de la palabra, número de palabras.

� Unidad de transferencia� palabra, bloque

� Prestaciones� tiempo de acceso, velocidad

de transferencia

� Tecnología de fabricación� semiconductor, magnética,

óptica, ...� Tipo de acceso

� secuencial, aleatorio� Características físicas

� Volatil/No-volatil, borrable/no-borrable

Page 15: funcionamiento.pdf

29

Almacenamiento. UbicaciónAlmacenamiento. Ubicación

� Registros de la CPU � usados como argumentos en las operaciones lógicas, aritméticas,

etc. � almacenamiento más próximo a la CPU y de acceso más rápido.

� Memoria Interna (o Memoria Principal) � accesible directamente por la CPU (instrucciones de acceso a

memoria) � acceso rápido � medio semiconductor (circuito electrónico)

� Memoria externa (o Dispositivos de Almacenamiento) � acceso indirecto: primero hay que transferir los datos a la memoria

principal � accesible mediante dispositivos de entrada/salida � diferentes medios: discos magnéticos, CD-ROM, cintas, etc.

30

Registros CPURegistros CPU

Memoria cachéMemoria caché

Memoria principalMemoria principal

Discos magnéticosDiscos magnéticos

Cintas/discos ópticosCintas/discos ópticos

menor coste

mayor capacidad

mayor tiempo acceso

Almacenamiento. JerarquíaAlmacenamiento. Jerarquía

� No existe un tipo único de memoria que cubra todas las necesidades

� Es necesario combinar varios tipos

Inte

rna

Ext

erna

Page 16: funcionamiento.pdf

31

eléctricamente

volátil lectura / escritura por bytes eléctricamente

M. de sólo lectura (ROM)

ROM programable (PROM)

PROM borrable (EPROM)

PROM borrable eléctr. (EEPROM)

Memoria FLASH

M. de acceso aleatorio (RAM)

Tipo Volatilidad Operaciones Borrado Escritura

no-volátil

lectura

sobre todo lectura

no posible

chip completo (luz ultrav.)

por bytes eléctricamente

por bloqueseléctricamente

máscaras

Memoria interna. TiposMemoria interna. Tipos

32

Memoria interna. EjemploMemoria interna. Ejemplo

Page 17: funcionamiento.pdf

33

Memoria interna. EvoluciónMemoria interna. Evolución

34

CPUCPU

CachéCaché

Memoria principalMemoria principal

Memoria cachéMemoria caché

� Memoria de alta velocidad situada entre la CPU y la memoria principal

� Guarda los datos más recientes y que serán accedidos por la CPU con mayor probabilidad.

� Se base en el "principio de localidad": los datos/instrucciones accedidos recientemente tienen mayor probabilidad de ser accedidos en el futuro.

� Permite que la CPU opera a su velocidad máxima.

� Puede haber varios niveles de caché: interna, externa, etc.

Page 18: funcionamiento.pdf

35

Memoria externa. TiposMemoria externa. Tipos

� Discos magnéticos� gran capacidad� lectura/escritura� alta velocidad� memoria secundaria

� CD/DVD� capacidad moderada� velocidad media� distribución de programas y

documentación, copias de seguridad, etc.

� Cintas magnéticas� gran capacidad� acceso secuencial� copias de seguridad

� Unidades Flash (llave USB, etc.)

� equivalente al disco magnético pero con tecnología Flash

� fiable� alta velocidad

Page 19: funcionamiento.pdf

37http://commons.wikimedia.org/wiki/Image:Cilindro_Cabeza_Sector.svg

Discos magnéticosDiscos magnéticos

� Una unidad de datos (sector) se accede indicando tres parámetros:C-H-S

� Cilindro (C): proporciona la posición radial de las cabezas. El conjunto de cabezas se desplaza el cilindro seleccionado.

� Cabeza (H - Head): activa una cabeza de lectura/escritura. Selecciona una cara concreta.

� Sector (S): selecciona un sector dentro de una pista. El sector se lee al pasar por debajo de la cabeza de lectura/escritura.

38

cola datos cabecera

Discos magnéticos. SectorDiscos magnéticos. Sector

� Cabecera: � contiene información de localización y estado del sector

� Datos: � bloque de datos almacenados

� Cola: � código de detección y corrección de errores (CRC)

� Archivos� los archivos empleados por el Sistema Operativo se construyen a

base de listas de sectores distribuidos por el disco de forma más o menos ordenada.

Page 20: funcionamiento.pdf

39

Discos magnéticos. PropiedadesDiscos magnéticos. Propiedades

� Tiempo medio de acceso� tiempo medio que se tarde en mover las cabezas y rotar el disco

hasta comenzar a leer un sector� ~ 10ms

� Velocidad de transferencia máxima (burst rate)� velocidad de lectura de datos cuando se lee un sector� depende de la velocidad de rotación, el número de sectores en una

pista y el tamaño del sector� Velocidad de transferencia media

� velocidad de lectura de datos media considerando tiempos empleados en cambiar de un sector a otro

� disminuye cuando aumenta la �fragmentación�� ~ 20-60 MB/s

40

Cintas magnéticasCintas magnéticas

� Acceso secuencial� Estructura en bloques� Múltiples cabezas/pistas

datos cabezal cabecera

Page 21: funcionamiento.pdf

41

CD-ROM/R/RWCD-ROM/R/RW

� Tecnología óptica � Una única pista en

espiral (5km)� 20000 pistas aparentes� Disco original audio:

� 1.2 m/s� 73 min� 774.57 MB� 176.4 B/s� (650MB efect.)

42

DVD CD

DVD-ROM/+-R/+-RWDVD-ROM/+-R/+-RW

� Tecnología similar al CD pero con mayor capacidad � Mayor densidad por capa: 4.7GB (7 CD's) � Hasta 4 capas (dos por cara): 17 GB (26 CD's)� Diseñado para ~2 horas de vídeo MPEG2 a resolución PAL

Page 22: funcionamiento.pdf

43

CD/DVD-ROMCD/DVD-ROM

44

CD/DVD-RCD/DVD-R

Page 23: funcionamiento.pdf

45

CD/DVD-RWCD/DVD-RW

46

ContenidosContenidos

� Estructura básica del ordenador� Unidades funcionales

� El bus. La memoria. Dispositivos de entrada/salida. La CPU.� Dispositivos de almacenamiento

� Jerarquía. Memoria interna. Memoria externa: tipos. Discos magnéticos. Cintas. CD/DVD.

� Interrupciones y métodos de entrada/salida

Page 24: funcionamiento.pdf

47

InterrupcionesInterrupciones

� En muchas ocasiones es necesario "avisar" a la CPU de un acontecimiento:

� llegada de un paquete de red � presión de una tecla � avisos periódicos: actualizar un reloj, multitarea, etc.

� Esto se consigue mediante el mecanismo de "Interrupciones". � Al recibir una interrupción (activación de la señal de

interrupción), la CPU:� Deja de ejecutar el programa actual� Salta a un programa de servicio a la interrupción� Vueve a ejecutar el primer programa donde lo había dejado.

48

*

Durante la ejecución de una instrucción, se activa una línea de interrupción (*)

La CPU guarda la información necesaria sobre el programa principal (contexto) y salta al "gestor de interrupción".

El gestor de interrupción hace las operaciones necesarias para atender la interrupción.

Una instrucción de "retorno de interrupción" devuelve el control al programa principal y continúa la ejecución.

InterrupcionesInterrupciones

Gestor de interrupción

RETORNO

Programaprincipal

Page 25: funcionamiento.pdf

49

Interrupciones. Ciclo de instrucciónInterrupciones. Ciclo de instrucción

Captación

Ejecución

¿fin?

FIN

si

no

¿interr?Salvar

contextoEjecutar

interrupciónRecuperarcontexto

si

no

50

Métodos de entrada/salidaMétodos de entrada/salida

� Entrada/salida programada� se realiza al ejecutar una instrucción de E/S� la CPU permanece bloqueada mientras se completa la operación

de entrada/salida� Entrada/salida mediante interrupciones

� emplea interrupciones para evitar tiempos de espera de la CPU� Acceso directo a memoria (DMA)

� el módulo de E/S transfiere datos directamente a la memoria mediante múltiples operaciones, sin intervención de la CPU

Page 26: funcionamiento.pdf

51

Métodos de entrada/salidaMétodos de entrada/salidaE/S programadaE/S programada

� La operación se realiza al encontrar una instrucción de E/S en el programa (E/S programada)

� La CPU permanece bloqueada mientras se completa la operación de entrada salida

� Esto es un problema en operaciones con dispositivos más lentos que la CPU, que son la mayoría.

52

Métodos de entrada/salidaMétodos de entrada/salidaE/S mediante interrupcionesE/S mediante interrupciones

� Evita los estados de bloqueo de la CPU en las operaciones de E/S� Procedimiento:

� La CPU inicia una operación de E/S sobre un módulo� Mientras el módulo procesa la operación, la CPU pasa a ejecutar

otra tarea (proceso) que esté pendiente de ejecución.� Cuando el módulo completa la operación de E/S, activa una señal

de interrupción.� La CPU recibe la señal de interrupción y finaliza la operación de

E/S.

Page 27: funcionamiento.pdf

53

Métodos de entrada/salidaMétodos de entrada/salidaAcceso Directo a Memoria (DMA)Acceso Directo a Memoria (DMA)

� Libera a la CPU de toda transferencia de datos, la cual es realizada directamente por el módulo de E/S hacia o desde la memoria.

� Procedimiento:� La CPU inicia la operación indicando al módulo de entrada salida

los parámetros de la transferencia, entre otros:� dirección de memoria inicial� número de bytes a transferir

� El módulo realiza la operación haciendo todas las transferencias que sean necesarias de forma directa, tomando el control del BUS. La CPU pasa a ejecutar otra tarea (proceso) que esté pendiente de ejecución.

� Cuando el módulo ha transferido todo el bloque de datos, activa una señal de interrupción.

� La CPU recibe la señal de interrupción y finaliza la operación de E/S.

54

PIO

Int.* * *

DMA*

*

Proceso A

Proceso A durante E/S CPU bloqueada

Proceso B

Interrupción

t

Métodos de entrada/salidaMétodos de entrada/salidaEjemploEjemplo

Page 28: funcionamiento.pdf