650 likes | 1.11k Views
Fundamentos de Programación. Fundamentos de procesamiento de Datos (8 hrs ). Conceptos Básicos…. Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar.
E N D
Conceptos Básicos…. Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.
Conceptos Básicos…. Los programas se almacenan en una memoria no volátil (por ejemplo un disco), para que luego el usuario de la computadora, directa o indirectamente, solicite su ejecución. Al momento de dicha solicitud, el programa es cargado en la memoria de acceso aleatorio o RAM del equipo, bajo el control del sistema operativo, que puede acceder directamente al procesador. El procesador ejecuta (corre) el programa, instrucción por instrucción hasta que termina. A un programa en ejecución se le suele llamar también proceso. Un programa puede terminar su ejecución en forma normal o por causa de un error.
Tipos de Programas (Software). Software de sistema. Como Sistemas operativos, controladores de dispositivo, herramientas de diagnóstico, etc. Software de programación. Editores de texto, compiladores, IDE – como Netbeans-, etc. Software de aplicación. Aplicaciones ofimáticas, bases de datos, sistemas de control, videojuegos, etc.
Software del sistema. Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del computador en particular, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Ejemplo: Sistema Operativo.
Software de aplicación. Aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Ejemplo: Aplicaciones ofimáticas Software educativo Software empresarial Bases de datos Telecomunicaciones (p.ej. internet y toda su estructura lógica) Videojuegos Software médico
Conceptos de programa. Un programa, o también llamado programa informático, programa de computación , es simplemente un conjunto de instrucciones para una computadora para realizar una tarea especifica. Para realizar estas tareas se necesitan datos.
Datos… El dato (del latín datum), es una representación simbólica (numérica, alfabética, algorítmica etc.), atributo o característica de una entidad. En programación un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.
Datos… Un dato por sí mismo no constituye información, es el procesado de los datos lo que nos proporciona información.
Representación de los datos. El únicocódigoqueentiende la CPU son los bits. Los bits son representados en circuitoselectrónicosquepuedenestar en estado “on” (1) u “off” (0) Las instrucciones se mandan a la CPU en forma de bytes, que son palabras de 8 bits 1 byte = 8 bits 1 kilobyte = 1 024 bytes 1 megabyte = 1 024 kilobytes = 1 048 576 bytes Etc.
Representación de los datos. Base 10: Dígitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 1111 = 1*103 + 1*102 + 1*101 + 1*100 Base 2: Dígitos = {0, 1} 1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15 ¿Cuántosvalorespuederepresentar un byte? 1 byte = 8 bits (Ej: 01100101) Cada bit puederepresentar 2 valores (0 y 1) Un byte puederepresentar 28 = 256 valores
Representación de imagen. 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 • División de la imagen en una matriz de pixels (unidad de la imagen) • Cada pixel asociado con un color
¿Quées un programaentonces? Un programa es una secuencia de instrucciones a la CPU Cada instrucción es un conjunto de bytes Ejemplos de instrucciones: Leer un dato del teclado Guardar un dato en la memoria Ejecutar una operación sobre dos datos Mostrar un dato en la pantalla etc.
Componentes de un programa. Entrada: datos del problema a resolver Salida: el resultado de la resolución Proceso: pasos a seguir para la resolución Propiedades: Preciso: orden estricto + expresiones precisas Definido: con la misma entrada, siempre resulta la misma salida Finito: número finito de pasos
Ejemplo. Problema: Sumar dos números Solución: Entrada: dos números Salida: guardar la suma en la memoria y imprimirla por pantalla Proceso: Añadir los dos números Guardar el resultado en la memoria Imprimir el resultado por pantalla
Otro ejemplo. Problema: averiguar la solvencia de un cliente que ejecuta un pedido a una fábrica. Solución: Entrada: el pedido Salida: mensaje de aceptación o rechazo Proceso: Leer el pedido Examinar la ficha del cliente Si el cliente es solvente, aceptar pedido En caso contrario, rechazar pedido
Estructura funcional de una computadora. Definiciones INFORMÁTICA = INFORmaciónautoMÁTICA Conocimientos científicos + técnicas para Tratamiento automático de la información usando Computadoras electrónicas
Definiciones computadora Todas estas acciones se realizan bajo el control de un conjunto ordenado de instrucciones = PROGRAMA Un programas se escriben en un determinado LENGUAJE DE PROGRAMACIÓN => conjunto de reglas (léxicas, sintácticas, y semánticas)
Estructura funcional de un computador Arquitectura de Von Neumann
La Memoria Principal Función: Unidad de almacenamiento de instrucciones y datos Formada por circuitos electrónicos integrados capaces de almacenar valores binarios (0 o 1) en cada celda de memoria Palabra de memoria: conjunto de celdas de memoria que se pueden leer o escribir simultáneamente. Dirección de memoria: número que identifica de forma unívoca cada palabra de memoria. Ejemplo de memoria de 1024 palabras de 8 bits cada una = memoria de 1KB
La Memoria Principal Tipos de memoria principal RAM (Random Access Memory, memoria de acceso aleatorio). ROM (Read Only Memory, memoria de sólo lectura). Caché. Memoria RAM: De Acceso aleatorio o directo: se puede acceder a ella a cualquier posición. El tiempo de acceso a un dato no depende de su posición. Operaciones que se pueden realizar: Lectura, un dato puede ser leído tantas veces como queramos Escritura, al escribir un dato se pierde el que hubiera antes en esa misma posición Es una memoria volátil: se borra al desconectarle la alimentación. Información que contiene: Código binario (instrucciones) de los programas en ejecución: Sistema Operativo Programas del usuario en ejecución (editor de texto, juego,...) Controladores de dispositivos (ratón, tarjeta de sonido,...) Datos que necesitan los programas
La Memoria Principal Memoria ROM: De Acceso aleatorio o directo. Sólo se puede acceder a ella para realizar una operación de lectura. Es una memoria no volátil: no se borra al desconectarle la alimentación. Información que contiene: Programa para la puesta en marcha del computador: Chequeo del hardware: Control del teclado, memoria disponible… Cómo cargar el S.O. BIOS (Basic Input Output System, sistema básico de entrada/salida) (actualmente en una memoria flash) Programa SETUP Memoria Caché: Memoria más cara y rápida que la memoria RAM que se suele ubicar entre ésta y la CPU. Acelera la transferencia de datos entre la CPU y la Memoria principal Funcionamiento: Cuando la CPU necesita un dato se copia un bloque de memoria desde la RAM a la caché, de forma que los datos siguientes se leerán/escribirán de la caché, que es mucho más rápida. El bloque se copiará a la RAM si hubo cambios.
Unidad Central de Proceso CPU, Unidad Central de Proceso = Procesador Elemento que controla y realiza la mayoría de las operaciones que se llevan a cabo en el computador. Para llevar a cabo estas operaciones la CPU necesita al resto de los componentes del computador: Memoria principal Periféricos y dispositivos de entrada/salida Componentes de la CPU: ALU, Unidad Aritmético Lógica UC, Unidad de Control Registros Unidades de almacenamiento temporal Normalmente tienen capacidad para almacenar una palabra de memoria Velocidad de lectura/escritura de datos más alta que la memoria principal y la caché Microprocesador (todo integrado en la misma pastilla) (ALU, UC, memoria caché, coprocesador matemático (FPU))
Unidad Central de Proceso ALU, Unidad Aritmético Lógica Realiza operaciones Aritméticas: sumas, restas, multiplicaciones,... Lógicas: comparaciones, NOT, AND,... Componentes de la ALU Circuitos operacionales: circuitos digitales que realizan las operaciones Registros: almacenan temporalmente los datos de E/S de los circuitos operacionales: Registro acumulador: almacena temporalmente el resultado de las operaciones Registros de operandos Registro de estados: registro especial que indica el estado de la última operación (si ha sido 0, si ha sido negativo, si ha habido desbordamiento,...)
Unidad Central de Proceso UC, Unidad de Control Dirige las operaciones más importantes del computador, estableciendo la comunicación entre la ALU, la memoria principal y el resto de componentes. Controla la ejecución de cada instrucción de un programa Componentes de la UC PC (ProgramCounter, registro Contador de Programa), contiene la dirección de memoria de la siguiente instrucción a ejecutar. RI (Registro de Instrucción), contiene el código de la instrucción que se está ejecutando. Decodificador, circuitos especiales encargados de determinar qué se debe hacer, en función de: El código de la instrucción a ejecutar Señales de estado de los dispositivos enviando las señales de control adecuadas a los distintos componentes implicados
Unidad Central de Proceso Fases de ejecución de una instrucción (las realiza únicamente la UC) • 1. Búsqueda de la instrucción a ejecutar: • Carga en el RI la instrucción de memoria principal que se encuentre en la dirección que indique el PC • Se modifica el PC para que apunte a la siguiente instrucción • 2. Ejecución de la instrucción actual • Se decodifica el código de la instrucción almacenada en el RI • Se generan las señales de control necesarias para la ejecución de la instrucción, que se envían a los dispositivos correspondientes a través del bus de control: • ALU • Memoria principal • Canales de entrada / salida
Unidad Central de Proceso El Reloj: Circuito encargado de sincronizar el funcionamiento de todos los elementos del computador (UC, ALU, memoria...). Ciclos máquina: pulsos regulares en el tiempo que emite el reloj. Cada instrucción se ejecuta en un tiempo igual a un múltiplo de ciclos máquina (p.ej: en 8 ciclos, o en 6, pero no en 3.5 ciclos) Frecuencia: velocidad de latido del reloj (cantidad de pulsos o ciclos por unidad de tiempo) Se suele medir en MegaHerzios (Mhz) 1 Mhz = 1.000.000 ciclos máquina / segundo o en GigaHerzios (Ghz) A mayor frecuencia, mayor velocidad de ejecución de las instrucciones.
Periféricos Disposivos encargados de: Entrada Salida Almacenamiento Recuperación Transmisión Recepción Componentes o partes de un periférico: comp.Mecánica. comp.Electrónica De datos
Organización de Entradas y Salidas Parte de la electrónica se encarga de la comunicación con la CPU También puede ser necesario instalar software (driver).
Dispositivos de Entrada Permiten introducir información en el computador. Esa información la convierten en bits (en las señales eléctricas adecuadas): Teclado, ratón, joystick, tableta digitalizadora, escáner, webcam, lector de código de barras, micrófono...
Dispositivos de Entrada Dispositivos para captura de imágenes Otros dispositivos de entrada
Dispositivos de Salida Utilizados por los computadores para transmitir información al exterior Transforman las señales binarias del PC en algo que los usuarios entiendan (sentidos). Monitores, impresoras, altavoces, ploters... Salidas Visuales Importante: • Tamaño de punto (dot pitch) • Resolución máxima • Rango de frecuencias (kHz – H; Hz – V) • Tamaño de pantalla (pulgadas) • Brillo(cd/m2(candelas/m2)) en los TFT • Ángulo de visión en los TFT
Dispositivos de Salida El computador se comunica con el monitor a través de la tarjeta gráfica:
Dispositivos de Salida Salidas Sonoras: Altavoces...
Dispositivos Mixtos Permiten realizar tanto entradas como salidas. Pantallas táctiles, mandos dual shock, disp. de mem. masiva, ...
Dispositivos de Memoria Masiva Almacenamiento permanente de información Discos flexibles, tarjetas de memoria, memorias flash, CDs, DVDs, discos duros...