INTRODUCCIÓN A COMPUTACIÓN Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez C E – mail: rcarlos@upb.edu.co INTRODUCCIÓN A COMPUTACIÓN Por Carlos A. Rodriguez C.
HOMBRES DE LA HISTORIA DE LA COMPUTACIÓN ANTES SIGLO XX Leibnitz Pascal Babbage Ada Byron Hollerith Jacquard
HOMBRES DE LA HISTORIA DE LA COMPUTACIÓN ANTES SIGLO XX Von Newmann Turing Dijkstra Backus Bardeen Hopper, Aiken
MODELO DE COMPUTADORAS Han existido dos modelos de computador: Máquina procesadora de datos. Máquina programable procesadora de datos.
El computador actúa como una Caja Negra en la cual: PROCESADOR DE DATOS El computador actúa como una Caja Negra en la cual: Computador Datos de Entrada Es un modelo muy general ya que: No especifica el tipo de procesamiento, o si es posible más de un procesamiento. No especifica cuántos tipos de conjuntos de operaciones puede realizar una máquina basada en este modelo. Ejemplos: Controlador de temperatura de un edificio o el uso de combustible de un auto. Datos de Salida
MÁQUINAS DE PROPÓSITO GENERAL Entra Programa MÁQUINAS DE PROPÓSITO GENERAL El computador hoy, es una máquina que puede realizar diferentes y variados tipos de tareas. Computador Datos de Entrada El elemento nuevo es el programa. Es un conjunto instrucciones escritas de manera ordenada en un lenguaje de programación. El programa se escribe utilizando un lenguaje de programación (computadora) El programa solicita datos, y los procesa. Datos de Salida
¿DE QUÉ DEPENDEN LOS DATOS DE SALIDA? Programa de ordenamiento ¿DE QUÉ DEPENDEN LOS DATOS DE SALIDA? Computador 3,12, 8, 22 22,12,8,3 Dependen de dos factores: Datos de entrada y el programa. Con los mismos datos de entrada, usted puede generar distintas salidas si cambia el programa. Con el mismo programa puede generar distintas salidas si cambia la entrada. Si los datos entrada y el programa permanecen igual, la salida debe ser la misma.
DATOS DIFERENTES, IGUAL PROGRAMA Programa de ordenamiento DATOS DIFERENTES, IGUAL PROGRAMA Computador 35,6,78,67 78,65,35,6
DIFERENTE PROGRAMA, MISMOS DATOS Programa de Suma DIFERENTE PROGRAMA, MISMOS DATOS Computador 35,6,78,67 186 Dado un programa diferente, se logra que la computadora realice tareas diferentes con los datos, por tanto, el resultado debe ser diferente.
MISMO PROGRAMA, MISMOS DATOS Programa de Suma MISMO PROGRAMA, MISMOS DATOS Computador 65,35,6,78,67 186 En este caso el programa deberá producir el mismo resultado, pues el programa de suma deberá obtener el mismo resultado.
MODELO DE VON NEWMAN U. Control Entrada Memoria Salida ALU Define el computador como un sistema compuesto de cuatro subsistemas: Memoria Unidad de Control Unidad Aritmética Lógica (ALU). Entrada/Salida Computadora
LA CPU CPU ALU Operaciones Suma, resta, multiplicación, división Registros CPU ALU Operaciones Suma, resta, multiplicación, división AND, OR y XOR. R1 R2 R3 ALU I PC Unidad de Control
LA CPU Registros Alojan datos temporalmente. Tipos: Datos, Intrucciones, PC(contador de Programa) Registros R1 R2 R3 ALU I PC Unidad de Control
LA CPU Unidad de Control Líneas de control Activas o inactivas. Registros Unidad de Control Líneas de control Activas o inactivas. R1 R2 R3 ALU I PC Unidad de Control
LA UNIDAD DE CONTROL U. Control Es un circuito. Interpreta cada una de las instrucciones del programa Envía las señales adecuadas. Para que se realicen las operaciones de: Memoria. ALU Entrada/Salida Salida ALU Memoria Entrada Computadora
LA UNIDAD ARITMÉTICA LÓGICA ALU LA UNIDAD ARITMÉTICA LÓGICA Es el circuito ALU. Es donde el cálculo aritmético y las operaciones lógicas tienen lugar para realizar operaciones de memoria. Operaciones Aritméticas Las operaciones más simples son la suma y decremento resta. La unidad de control multiplica y divide, con base en las operaciones anteriores. Operaciones lógica La máquina realiza AND, OR, NOT Salida Memoria Entrada U. Control
ENTRADA/SALIDA Entrada Salida El subsistema entrada Acepta datos de Entrada. El programa. El subsistema de salida Envía resultados del procesamiento al exterior Almacenamiento secundario Discos, Cintas etc. Memoria U. Control ALU La computadora
Es el área de almacenamiento. Almacena los programas Datos Memoria LA MEMORIA Es el área de almacenamiento. Almacena los programas Datos Mientras se está procesando la información. Salida ALU U. Control Entrada Computadora
BIT Es la abreviación de la frase, Binary digit: dígito binario) Es la unidad más pequeña de datos que se puede almacenar en una computadora. Su valor puede ser 0 o 1. Patrón de Bits Un sólo bit no resuelve el problema de la representación de datos. Un patrón de bits es una secuencia de uno o más unos o ceros, que representan algún tipo de información. ¿Cómo sabe la memoria de la computadora que tipo de dato representa el patrón de bits?
BYTE Formado por 8 bits. 1Kbyte son 1024 bytes 1 Mbyte son 1048576 bytes 1 Gigabyte son 1 073 741 824 bytes
MEMORIA PRINCIPAL 0000000000000000 01111001 0000000000000001 10010100 0000000000000010 10000000 1111111111111101 11110000 1111111111111110 11100000 1111111111111111 00000111 Direcciones Datos La memoria es una colección de localidades de almacenamiento. Palabra, 8 bits, 16 bits, 32 bits, 64 bits. Dirección de memoria. Espacio de direccionamiento 64Kbytes palabra de un byte 0 a 65535.
TIPOS DE DATOS Una computadora procesa datos, pero qué naturaleza tienen los datos que una máquina procesa.
1 Salida Entrada Memoria de Computadora ¿CÓMO SABE LA MEMORIA QUÉ TIPO DE DATOS REPRESENTA UN PATRÓN DE BITS? Nal Texto Salida Entrada Nal Texto 1 Codificada Memoria de Computadora Decodifica
REPRESENTACIÓN DE TEXTO Una pieza de texto en cualquier idioma es una secuencia de símbolos usados para representar una idea en ese idioma. El español utiliza A…Z 28 símbolos a…z 28 símbolos 9 símbolos para carácter numéricos 0...9 Signos de .,?¡¿+* espacio blanco etc. Tabulador,
PATRÓN DE BITS El conjunto de ceros y unos que se necesitan para representar un símbolo en un idioma. Dicho de manera simple una palabra como “Nal” en una computadora es representada como una secuencia de patrones de bits. Cada patrón representa una letra.
LONGITUD DE UN PATRÓN DE BITS La longitud de un patrón de bits que representa un símbolo de un idioma depende del número de símbolos usados en ese idioma. La relación entre longitud y número de símbolos es logarítmica y está dada por la formula: longitud=log2 (n_simbolos) n_simbolos=2longitud Ejemplo: Si se quieren representar 128 símbolos, se necesita usar un patrón de 7 bits.
CÓDIGOS Se llama así a las diferentes secuencias de patrones de bits para representar símbolos de texto. ASCII: (American Standard Code for Information Interchange). Desarrollado por el Instituto Nacional Norteamericano de Estándares (ANSI). Usa 7 bits para cada carácter. 0000000 …. 1111111 27 símbolos Las mayúsculas están antes de las letras minúsculas. Se distinguen por un bit, A 1000001 la a 1100001
OTROS CÓDIGOS ASCII extendido longitud 8 bits EBCDIC Código extendido de intercambio decimal codificado en binario. Creado por IBM. Usa 8 bits, solo se utiliza en IBM. Unicode Representa 216 símbolos 65536
DATOS IMAGENES En las computadoras las imágenes se representan mediante los métodos de: Mapa de bits Gráficos de vectores Los Mapa de bits La imágenes está formada por cientos de puntos, llamados pixels. El tamaño del pixel depende de la resolución.
REPRESENTACIÓN IMÁGENES A COLOR Para representar imágenes a color, cada pixel coloreado se descompone en tres colores primarios: rojo, verde, azul (RGB). Se mide la intensidad de cada color y se le asigna un patrón de bits de 8 bits.
MAPA DE BITS Cada pixel entonces tiene tres patrones de bits. Uno para el rojo Uno para el verde Uno para el azul Inconveniente Se tienen que guardar todos los bits. Cuando se quiere modificar y aumentar resolución se pierde calidad, volviendo la imagen difusa
GRÁFICOS VECTORIALES No guarda el mapa de bits, la imagen se descompone en cientos de curvas y líneas, que se pueden describir fácilmente, con unos pocos puntos y una adecuada formula matemática. Se guardan entonces las formulas en el archivo, y cuando éste se abre teniendo en cuenta las dimensiones, se vuelven a calcular y se grafica nuevamente. En consecuencia, la imagen no se distorsiona por perdida de información.
IMAGEN PIXELS VS VECTORES Tomado de http://www.jaguar.edu.co/index.php
SONIDO El audio es una representación de sonido o música. Para poderlo escuchar en una computadora hay que convertirlo a datos digitales y usar patrones de bits. El audio es información análoga, continua como muestra la figura.
DIGITALIZACIÓN DE AUDIO, MUESTREO La digitalización de audio es el proceso mediante el cual, a una señal de audio analógica se le asigna un patrón de bits. El primer paso es el muestreo, es decir la señal análoga se mide a intervalos de tiempo iguales.
DIGITALIZACIÓN DE AUDIO, CUANTIFICACIÓN El segundo paso es la cuantificación, esto significa asignar un valor de un conjunto a una muestra.
DIGITALIZACIÓN DE AUDIO, CODIFICACIÓN 00000000, 00000001, 00000010, ….... Códificación El tercer paso es la digitalización, los valores cuantificados se cambian a patrones binarios. Por último se guardan formando los patrones binarios en el archivo de sonido.
DIGITALIZACIÓN DE AUDIO, TAMAÑO ARCHIVO Ejemplo: Un CD usa 44,1 kHz y 16 bits. Esto quiere decir que toma 44100 muestras de 16 bits cada segundo. Se necesitan 88200 byte por segundo por cada canal de estéreo; son dos canales 176400 byte/seg en estéreo. Para un minuto de grabación, se necesitan10,584,000 byte esto es 10.09 Mbyte. Formatos CDA (ripper programa para extraer), WAV, MP3, MIDI, WMA
SISTEMAS NUMÉRICOS DE POSICIÓN El patrón de bits 0, 1, se diseñó para representar datos en la computadora. Sin embargo, éste no es cómodo para la gente, por eso se han desarrollado otros sistemas numéricos. Hexadecimal se basa en 16 símbolos: 0,1,2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, su base es 16. Cada digito Hexadecimal se representa con 4 bits Octal se basa en 8 símbolos: 0,1, 2, 3, 4, 5, 6, 7, por lo que su base es 8. Cada digito octal se representa con 3 bits.
SISTEMAS NUMÉRICOS DE POSICIÓN El sistema decimal es el que más conocemos y usamos, el cual está formado por 10 símbolos: 0, 1,2, 3, 4, 5, 6, 7, 8, 9. Este sistema y todos los anteriores son sistemas numéricos de posición porque todo número anan-1….a1a0 en dicha base se puede expresar de la siguiente manera: anan-1….a1a0=a0*b0+a1*b1+…+an*bn donde b es la base del sistema numérico.
SISTEMAS NUMÉRICOS DE POSICIÓN Ejemplos: representar en el formato de posición el decimal 356 356=6*100+5*101+3*102=356 Ejemplos: representar en el formato de posición el binario 1101 1101↔1*20+0*21+1*22+1*23 al sumar nos da 13 en decimal. Decimos entonces que 1101 representa al 13 en decimal.
SISTEMAS NUMÉRICOS DE POSICIÓN Ejemplo: En formato de posición expresar el número Hexadecimal A34 y averiguar que número decimal representa: A34 ↔ 4*160+3*161 + 10*162 de donde deducimos que el numero A34 equivale 2612
CONVERTIR DE DECIMAL A BINARIO 1 3 6 12 25 50 CONVERTIR DE DECIMAL A BINARIO Divida el número sucesivamente por 2. Ejemplo Convertir a Binario el número 50 Cociente de dividir 50 por 2 Se detiene cuando el cociente es 0 Residuo de dividir 50 por 2 1 1 1
REPRESENTACIÓN DE ENTEROS Lo que veremos ahora es como las computadoras representan los números enteros en la memoria. Hay que tener en cuenta que un entero puede ser positivo o negativo. Las computadoras, no pueden representar todos los números enteros, pues necesitaríamos un patrón de bits con infinitos bits.
REPRESENTACIÓN DE ENTEROS
FORMATO DE ENTERO SIN SIGNO Es un entero que está entre 0 y el El entero sin signo máximo depende del número de bits que se asignen para su representación. El intervalo de enteros sin signo en una computadora, donde N es el número de bits asignado para su representación está dado por: Intervalo:0…(2N-1) Ejemplo: En 8 bits, cuál es el rango de numero sin signo que se pueden representar. Intervalo=0..255
ENTERO SIN SIGNO EN BINARIO Pasos para representar un entero sin signo. El numero se cambia a binario Si el número de bits es menor que N, se añaden 0 a la izquierda del numero binario de manera que haya N bits. Ejercicio: Almacene en 8 bits el número 12. Almacene en 16 bits el número 234 00001100 11101110
CONVERTIR ENTERO SIN SIGNO BINARIO A DECIMAL Exprese las N cifras de binario en el formato de posición y súmelas. Desbordamiento: se dice que ha ocurrido una condición de desbordamiento cuando se intenta almacenar en N bits un entero que ocupa más de n bits. Uso de los enteros sin signo: Conteo y no se necesitan números negativos. Direccionamiento de memoria.
FORMATO SIGNO MAGNITUD Se utilizó en almacenamiento de enteros positivos(0) o negativos (1),utilizando un bit para el signo. Representación: El numero se pasa a binario; el signo se ignora. Si el número de bits es menor que N-1, los 0 se añaden a la izquierda del número de manera que haya un total de n-1 bits. Si el numero es positivo, se añade un 0 en el bit de mayor peso; en caso contrario se añade un 1 en está posición, completando los N bits 0000111
FORMATO SIGNO MAGNITUD Intervalo -(2N-1 -1) … +(2N-1-1) Ejercicio: Represente en formato signo magnitud, el decimal 7 en 8 bits. Almacene -245 en formato signo magnitud, en una memoria de 16 bits. 0000111
FORMATO SIGNO MAGNITUD Solución de los Ejemplos: El 7 en el formato de 8 bits se ve así: 1 Los bits en color rojo se agregan para completar los 8 bits.
FORMATO SIGNO MAGNITUD Solución de los Ejemplos: Representar el entero -245 en forma signo magnitud en una memoria de 16 bits: 1 Signo negativo
CONVERTIR DE FORMATO SIGNO MAGNITUD A ENTERO DECIMAL Si el bit extremo izquierdo es cero: Ignore el primer bit (el que está en el extremo izquierdo) Se cambian todos los n-1 bits de binario a decimal como ya se explicó. Agregue un signo + o – al número con base en el bit que está en el extremo izquierdo.
CONVERTIR DE FORMATO SIGNO MAGNITUD A ENTERO DECIMAL Ejemplo: Interprete que número decimal es el binario 10111011 si fue almacenado como un entero de signo y magnitud. Se toma:0111011 0*26+1*25+1*24+1*23+0*22+1*21+1*20 =59 Luego el número es -59
USO DEL FORMATO SIGNO MAGNITUD Se utilizan para representar señales analógicas a señales digitales. Para enviarlas por canales de comunicación de datos.
FORMATO A COMPLEMENTO A 1 Es una convención en la que se usa para representar un número entero positivo con la representación para un entero sin signo. Para representar números negativos, se halla el complemento a uno de la representación en binario del entero positivo. El complemento a uno de un número binario, se obtiene cambiar todos los 0 por 1 y todos los 1 a 0.
FORMATO A COMPLEMENTO A 1 Rango de números que se pueden representar en complemento a 1, donde el espacio de memoria es de N bits: Intervalo: -(2 N-1 -1)…+(2N-1 -1) Ejercicio: Averigüe que números se pueden representar en una memoria de 8 bits en formato a complemento a 1. -(2 7 -1)…+(27 -1) nos da -127 … + 127 Se utiliza para la comunicación de datos en la detección y corrección de errores
REPRESENTACIÓN EN COMPLEMENTO A UNO Para representar un numero entero a binario en este formato de N bits, cambie el número a binario, ignore el signo. Añada uno o varios ceros a la izquierda del número para hacer un total de N bits. Si el signo del entero es positivo déjelo así. Si el signo es negativo complemente cada bit del número positivo, cambie 0 por 1 y 1 por 0. Ejemplo: Exprese en binario de 8 bits y en complemento a 1 el entero 15, haga lo mismo para el entero -256 pero en 16 bits.
REPRESENTACIÓN EN COMPLEMENTO A UNO Ejemplo: Exprese en binario de 16 bits y en complemento a 1, el entero -256. 256 en binario es: 1 Complementando el binario anterior tenemos. El -256 en complemento a 1 1
INTERPRETAR UN BINARIO EN COMPLEMENTO A 1 EN DECIMAL Si el bit del extremo izquierdo es 0, el número es positivo. Se cambia el número entero de binario a decimal y se le pone el signo positivo. Si el bit del extremo izquierdo es 1, el numero es negativo. Se complementa el número entero binario, cambiando todos los 0 por 1 y 1por 0, y el numero así obtenido se le encuentra su representación en decimal, a este se le pone el signo negativo.
INTERPRETAR UN BINARIO EN COMPLEMENTO A 1 EN DECIMAL Ejercicio: Qué número entero representa el binario 00001111, si éste se encuentra en formato de complemento a 1 en una memoria de 8 bits? Como el bit de mayor peso es cero, tenemos un número positivo, entonces: 1*20+1*21+1*22+1*23+0*24+0*25+0*26+0*27=15
INTERPRETAR UN BINARIO EN COMPLEMENTO A 1 EN DECIMAL Ejercicio: Qué número entero representa el binario 11110110 si este se encuentra en formato de complemento a 1 en una memoria de 8 bits? Como el bit de mayor peso es 1, tenemos un numero negativo, entonces: Complementamos el número a 1 y obtenemos 00001001 Este número equivale 9 por tanto el numero es -9.
FORMATO COMPLEMENTO A 2 Es la representación de enteros más común, más importante y de más amplio uso en la actualidad. El intervalo de números que se pueden representar con N bits, está dada por: (2N-1) … +(2N-1-1) Ejemplo: ¿Qué rango de número puede representar una máquina que representa los números enteros en complemento a 2 de 8, 16, 32, 64 bits?
FORMATO COMPLEMENTO A 2 Para representar un número entero en complemento a 2 en N bits, se deben seguir estos pasos: El número se cambia a binario; el signo se ignora. Si el número de bits es menor que N se añade 0 a la izquierda del número de manera que haya N bits. Si el signo es positivo, no se necesita una acción posterior. Si el signo es negativo, todos los 0 en el extremo derecho y el primer uno se dejan sin cambios. El resto de bits se complementan.
FORMATO COMPLEMENTO A 2 1 Ejemplo: Representa en complemento a 2 de 8 bits el número -2. El 2 en binario es 10 1 Dejamos los 0 de la derecha y el primero uno sin cambio y complementamos.
INTERPRETAR UN NUMERO BINARIO EN COMPLEMENTO A 2 EN DECIMAL Si el bit en el extremo izquierdo es 0 (el número es positivo) Se cambia todo el número de binario a decimal. Se pone el signo más. Si el bit en el extremo izquierdo es 1 (el número es negativo) Se dejan los bits en el extremo derecho hasta el primer 1 inclusive, como están. Se complementan todos los demás. Se cambia el binario a decimal Se pone el signo negativo.
INTERPRETAR UN NUMERO BINARIO EN COMPLEMENTO A 2 EN DECIMAL Ejemplo: Interprete el binario 10001011 en decimal que se almacenó como un entero en complemento a dos. Como el bit más extremo es un 1, el numero es negativo, entonces se deja el primer bit sin cambiar y el resto se complementa. 1 1 1 1 1 Se deja todos los bits hasta el primero uno sin cambiar
INTERPRETAR UN NUMERO BINARIO EN COMPLEMENTO A 2 EN DECIMAL 1 1 1 1 1 + 64 + 32 + 16 + + 4 + + 1 INTERPRETAR UN NUMERO BINARIO EN COMPLEMENTO A 2 EN DECIMAL Ahora el decimal que representa el binario siguiente Es -5 -117 -21 -1 -53
SISTEMA EXCES ¿Qué es? Es una forma de representación que permite almacenar tanto números positivos como negativos. ¿Dónde se utiliza? En los procedimientos para representar números reales (decimales) positivos o negativos. En la actualidad forma parte del estandar IEEE para representación de números reales.
SISTEMA EXCES Conversión Numero mágico 2 (N-1) o 2 (N-1) -1 donde n es el número de bits El número mágico se agrega al numero que se va a convertir. Ejemplo: Convierta a Exces de 8 bit el 12
INTERPRETACIÓN DE NÚMERO EXCESS Procedimiento Para convertir un número Exces, convierta el binario a decimal. Réstele el número mágico Ejemplo: Interprete el binario en Excess 10111011.
REPRESENTACIÓN EN PUNTO FLOTANTE ¿Qué es un numero en punto flotante? 2.345 23.45*10-1 Conversión a binario Convierta la parte entera a binario. Convierta la fracción a binario Ponga un punto entre las dos partes
ESTÁNDARES IEEE Precisión Sencilla 32 bits así: 1 signo, 8 exponente, 23 mantisa Doble Precisión 64 bits así, 1 signo, 11 exponente, 52 mantisa
BIBLIOGRAFÍA Introducción a la ciencia de la Computación. Thomson, Behrouz A Forouzan.