La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación.

Presentaciones similares


Presentación del tema: "1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación."— Transcripción de la presentación:

1 1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Capítulo 1 Introducción a la Computación

2 DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) MEMORIA PRICIPAL (RAM) ALMACENAMIENTO (Memoria Secundaria: Disco Duro, Diskette, CD, etc.)

3 Organización Básica de un Sistema Computacional

4 4 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Ciclo de Lectura y Ejecución CPU, Memoria Principal, Lenguaje de Máquina, Registros, Transistores, Números Binarios

5 5 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación CPU ● Una computadora consiste de muchos componentes diferentes ● El CPU es el cerebro, cuya principal función es ejecutar programas ● Un programa es una lista de instrucciones no ambiguas hechas para que sean seguidas mecánicamente por la computadora

6 6 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Lenguaje de Máquina ● Las computadoras ejecutan instrucciones que son escritas en un lenguaje muy simple llamado lenguaje de máquina ● Cada tipo de computadora tiene su propio lenguaje de máquina ● Sólo podrá ejecutar los programas si están escritos en ese lenguaje

7 7 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Memoria ● Cuando el CPU ejecuta un programa, dicho programa se encuentra en la memoria principal ● La memoria principal consiste de una secuencia de “casillas” ● Estas casillas son numeradas y la secuencia de números es llamada dirección de memoria ● Una dirección provee una manera de especificar una pieza de información entre millones almacenadas en la memoria

8 Ejemplo de Organización de la Memoria 0x0 0x2000 0x50000 code stack heap Dynamic allocation malloc(), free() Function calls, local variables Inmutable

9 9 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Ciclo de Lectura y Ejecución ● El CPU ejecuta un programa que es almacenado como una secuencia de instrucciones de lenguaje de máquina en la memoria principal ● Para ello el CPU debe leer una instrucción de la memoria y ejecutarla ● Esto lo hace repetidamente, por lo que se le llama ciclo de lectura y ejecución

10 10 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Registros ● El CPU contiene unos pocos registros internos ● Los registros son pequeñas unidades de memoria capaces de almacenar un número o una instrucción en lenguaje de máquina ● El CPU utiliza uno de estos registros (PC contador de programa) para almacenar la dirección de la siguiente instrucción que se debe ejecutar ● Al comienzo de cada ciclo, el CPU revisa el PC para ver que instrucción debe ejecutar. – PC es actualizado con la propia ejecución del programa (usualmente es incrementado de uno en uno)

11 11 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Transistores ● Una computadora ejecuta programas en lenguaje de máquina mecánicamente ● Está construida por millones de pequeños interruptores llamados transistores ● La operación de una computadora origina que estos interruptores se prenden y apagan entre sí ● El patrón que siguen está determinado por el cableado entre ellos y el programa que se está ejecutando

12 12 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Números binarios ● Las instrucciones de lenguaje de máquina y los datos se expresan en números binarios ● Un número binario es aquel que está formado por sólo 2 valores (0 y 1) ● Los transistores pueden expresar adecuadamente los dos estados (prendido o apagado) ● Cuando se carga una instrucción de la memoria, todo lo que sucede es que ciertos interruptores se prenden y otros se apagan en un patrón que está codificado en la propia instrucción

13 13 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Resumen ● La memoria principal almacena programas en lenguaje de máquina y datos ● Estos son codificados como números binarios ● El CPU lee instrucciones de lenguaje de máquina de la memoria una tras otra y las ejecuta ● El CPU realiza este ciclo mecánicamente y por lo tanto el programa que ejecuta debe estar perfecto, completamente detallado y sin ambigüedades ● El CPU lo único que puede hacer es ejecutar las instrucciones tal cual como estén escritas

14 14 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Resumen

15 15 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Interrupciones Device Drivers, Bus, Interrupciones, Eventos Asíncronos, Multitareas, Sistema Operativo

16 16 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Otros Componentes del Computador ● Además del CPU y de la Memoria, un computador tiene otros componentes: – Un disco duro para almacenar programas y datos – Un teclado y ratón para entrada – Un monitor e impresora para salida – Un modem o targeta de red para comunicarse con otras computadoras – Un scanner para digitalizar imágenes –...

17 17 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Device Driver ● De alguna manera el CPU tiene que comunicarse con todos estos dispositivos ● Para cada dispositivo, existe un device driver ● Un device driver consiste de software que el CPU ejecuta cuando tiene que interactuar con el dispositivo respectivo

18 18 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Bus ● Una computadora típicamente conecta todos estos dispositivos a uno o más buses ● Un bus es un conjunto de cables que transportan varios tipos de información entre los dispositivos conectados a esos cables ● Por el bus viaja – Datos – Direcciones – Señales de control

19 19 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Diagrama simple de una Computadora

20 20 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Procesamiento de datos de I/O ● Los dispositivos pueden producir datos que necesitan ser procesados por el CPU ● ¿Cómo el CPU sabe que los datos están disponibles? – Pooling ● El CPU periódicamente revisa si existen datos que procesar – Interrupciones

21 21 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Interrupciones ● Es una señal enviada al CPU por otro dispositivo ● Proceso – Se recibe la señal – Se hace a un lado lo que sea que se estuviese haciendo – Se atiende la interrupción – Se vuelve al punto de lo que se encontraba realizando ● Ejemplo: presionar una tecla

22 22 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Interrupciones ● Un dispositivo notifica una interrupción simplemente al encender un cable ● El CPU guarda información acerca de lo que está haciendo – El contenido de los registros, entre ellos el PC ● El CPU salta a una dirección de memoria predeterminada y comienza a ejecutar las instrucciones ahí almacenadas ● Al final el manejador de instrucciones le dice al CPU que reanude lo que estaba haciendo (restaurando los datos previamente guardados)

23 23 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Eventos asíncronos ● Las interrupciones le permiten al CPU manejar eventos asíncronos ● En el ciclo regular de leer y ejecutar, las operaciones se ejecutan en un orden predeterminado ● Las interrupciones hacen posible que el CPU maneje eficientemente eventos que suceden asíncronamente ● Ejemplo: leer información de disco – El CPU solicita un dato y luego realiza otra tarea hasta que se le notifica que el dato está disponible

24 24 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Multitareas ● La ventaja de interrupciones sobre pooling sólo es tal si el CPU tiene otra cosa que hacer ● Todos los sistemas operativos modernos utilizan multitarea para realizar varias “tareas” a la vez ● El CPU reparte su tiempo atendiendo una fracción de segundo a cada tarea ● Ejemplo: Estar escribiendo una carta, mientras se escucha música y se baja un archivo de Internet

25 25 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Hilo de Ejecución ● Cada tarea individual en la que trabaja el CPU es llamada un hilo ● A determinado momento, sólo un hilo puede estar ejecutándose en el CPU ● El CPU continuará ejecutando el mismo hilo hasta que el hilo: – cede el control (yield) – se bloquea (espera a que ocurra algún evento asíncrono) – agote su “rebanada de tiempo” (sólo preemptive)

26 26 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Sistema Operativo ● El software que realiza todo el manejo de interrupciones, y la comunicación del usuario con el hardware es llamado Sistema Operativo ● Una computadora no podría funcionar sin un sistema operativo, y las aplicaciones dependen de él ● Sistemas Operativos comunes: UNIX, Linux, DOS, Windows 98, Windows 2000 Mac OS X, entre otros.

27 27 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Lenguajes de Alto Nivel ● Lenguaje de Máquina consiste de instrucciones muy simples que son ejecutadas por el CPU ● Sin embargo, casi todos los programas se escriben en lenguajes de alto nivel – Ejemplo: Java, Pascal, C, C++, C#, FORTRAN... ● Los programas escritos en estos lenguajes deben ser traducidos a lenguaje de máquina para poder ser ejecutados ● Se utilizan compiladores e interpretes para realizar esta traducción

28 28 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Compilador ● Un compilador toma un programa escrito en lenguaje de alto nivel y lo traduce en un programa ejecutable en lenguaje de máquina ● Una vez realizada la traducción, se puede ejecutar cualquier número de veces ● Si se desea ejecutar el programa en otro tipo de computadora, debe ser re-traducido, usando un compilador para la computadora deseada

29

30 30 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Intérprete ● A diferencia del compilador, el intérprete traduce el programa instrucción por instrucción ● Actúa parecido a un CPU, con un ciclo de leer y ejecutar – Se lee una instrucción del programa – Se decide que se necesita para llevarla a cabo – Se ejecutan las instrucciones de lenguaje de máquina correspondientes


Descargar ppt "1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación."

Presentaciones similares


Anuncios Google