Fundamentos de Informática -...

32
Fundamentos de Informática Tema 1 Introducción a la Informática 1

Transcript of Fundamentos de Informática -...

Page 1: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Fundamentos de Informática

Tema 1

Introducción a la Informática

1

Page 2: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Contenidos   Introducción Histórica   Conceptos básicos   Estructura Funcional del Ordenador

  Microprocesador   Elementos del Microprocesador   La memoria   Memoria Principal   Medidas de Memoria   Periféricos

  Representación de la Información   Sistemas de numeración   Caracteres   Enteros y Reales   Instrucciones

2

Page 3: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Introducción histórica   Desde la antigüedad se ha necesitado hacer cálculos para

resolver problemas.   En el 3000 a.c. los babilonios usaban piedras o semillas

para contar (calculus=piedra).

•  El ábaco era la primera máquina que permitía contar (China, año 2500 a.c.)

3

Page 4: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Introducción histórica   Un algoritmo es un conjunto de pasos ordenados que

permiten obtener la solución de un problema.

  Los que usamos se deben a Al-Khwarizmi, matemático y astrónomo árabe, de donde viene la palabra algoritmo (año 800 d.c.)

  Introdujo algoritmos para realizar operaciones (sumas, restas,…)

4

Page 5: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Introducción histórica Dispositivos y máquinas de calcular

mecánicos:   Ábaco (2000-3000 A.C.): 4

Operaciones   Regla de cálculo (1620): Regla con

distintas escalas. Permitía ×,÷   Sumadora Pascal (1642): Los datos

se representaban mediante ruedas dentadas (+,-)

  Calculador Leibniz (1673): Usa cilindros dentados. (+,-, ×,÷). Problemas de fiabilidad.

  Charles Babbage (1822): Diseño un aparato capaz de ejecutar cualquier cálculo matemático. Tenía memoria, unidad de cálculo y unidad de control de operaciones.

5

Page 6: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Introducción histórica Dispositivos y máquinas de calcular electromecánicos:   Tabuladoras Hollerith (1890): Maquinas tabuladoras, basadas en

tarjetas perforadas. Usadas para el censo (de 10 años a 3). Germen de IBM.

  Atanasof-Berry (años 30): Un sistema binario para la aritmética y memoria regenerativa.

  Zuse (1938): Creo Z1, una calculadora mecánica binaria operada con electricidad y de programabilidad limitada.

  Coloso (1943): Usado para criptoanálisis contra ENIGMA.   Mark1 (1944, IBM): Trataba de construir el diseño de Babbage,

usando relés en lugar de engranajes.

6

Page 7: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Introducción histórica Dispositivos y máquinas de calcular electrónicos:

  ENIAC (1943): Primera computadora de uso general. Con tubos de vacío.

  Programa almacenado (Von Neumann, 1949 EDSAC. Diodos).

  UNIVAC 1 (1951) 1ª computadora comercial, IBM650 (1953) 1ª fabricada a gran escala.

  Se inventa el transistor (1947). Primeras computadoras con transistores (1958).

  Aparece el intel 4004, el primer microprocesador (1971). Avance rápido de la electrónica (Ley de Moore).

7

Page 8: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

  Datos   Representación mediante símbolos de hechos, objetos, ideas, …

(información), en forma adecuada para procesarlos.   Información

  Conjunto de ideas, hechos, objetos, etc. que existen en el mundo real. En Informática, es el resultado de procesar datos.

  Ejemplo de Dato: 25-12-88   Información: "Día Navidad- 88". “Teléfono deFelipe”. “ ClaveBancaria”.

  Codificación. Transformación para representar los elementos de un conjunto mediante los de otro conjunto. Ej. DNI→Persona.

Conceptos básicos

8

Datos  (E) Procesamiento   Información  

Manual      Automá9co  (Ord.)

Page 9: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Conceptos básicos   Informática

  Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la información, con ordenadores. Incluye aspectos conceptuales, el uso del ordenador, y las partes lógica (software) y física (hardware).

  Ordenador   Máquina que acepta unos datos de entrada, efectúa una serie de

operaciones sobre ellos y devuelve unos datos de salida. Sin intervención humana y bajo el control de una secuencia de instrucciones (programa).

  Hardware (o soporte físico)   Conjunto de componentes físicos que forman un ordenador.

  Software (o soporte lógico)   Conjunto de programas ejecutables por el ordenador que permiten su

uso.

9

Page 10: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Estructura funcional de un ordenador

  La arquitectura de los ordenadores actuales está basada en la arquitectura de Von Neumann. Donde tenemos: •  Unidad de control (UC): Ejecuta las instrucciones. Gestiona

el resto de dispositivos mediante señales de control. •  Unidad Aritmético-Lógica (UAL): Realiza operaciones

aritméticas y lógicas. •  Memoria principal: Donde se almacenan datos y programas. •  Dispositivos de E/S: Componentes con los que el ordenador

se comunica con el exterior. •  Buses: Líneas de comunicación entre los distintos dispositivos.

Hay buses de control y de datos.

10

Page 11: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

SISTEMAS DE COMPUTACIÓN   Pretende ser el conjunto de circuitos y programas diseñados

para proporcionar a la computación un ambiente productivo, y si es posible también agradable. Es el ordenador (Hardware) + los programas (Software)

  Primeros ordenadores: Funcionamiento según circuitos [Funciona por Hardware. Instrucciones en los circuitos]. Después, órdenes en memoria (circuito fijos) [Funciona por Software. Instrucciones Máquina (órdenes ejecutables directamente por el ordenador, escritas en binario)].

  Las instrucciones escritas en Lenguajes de Alto Nivel necesitan traducirse (COMPILACIÓN) al lenguaje Máquina del ordenador.

  Sistemas de Cómputo: A) Interactivo en tiempo compartido. B) Por lotes (en batch). C) Negocios en línea. D) Red de computadoras.

11

Page 12: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Estructura funcional de un ordenador

12

Líneas de Control

Page 13: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

De programas cableados a almacenados   La estructura Básica es la misma que la de Ch. Babbage   Hasta 1946 los programas en los engranajes y circuitos.

Cambiar de programa = Cambiar el diseño del circuito del progrma. Los Datos en Memoria interna

  En 1946 J. Von Newmann establece las características para llegara programas almacenados:   El Programa se almacena igual que los datos.   El Programa: Una cadena (sucesión) de instrucciones lógicas

binarias.   Instrucción de bifurcación condicional obligatoria.

13

Page 14: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Microprocesador (CPU)   CONTIENE: U. de control, U. aritmético lógica.   Reloj: Tiempo que tardan las señales eléctricas que se

mueven por la CPU, marca el ritmo de funcionamiento del sistema. Pulsos por segundo (Hertzios, Hz).

  Palabra: Conjunto de bits que puede manejar a la vez u procesador. 32 ó 64.

  Registros: Pequeñas memoria del tamaño de una palabra.

  Memoria Caché: Memoria interna del procesador de gran velocidad.

  Núcleos: Número de procesadores en un mismo chip.

14

Page 15: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Elementos del microprocesador   LA UNIDAD ARITMÉTICO-LÓGICA

(UAL).   Realiza operaciones Aritméticas y Lógicas que

le indica la Unidad de Control.   Acumulador: Registro para almacén temporal

de datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento de bits.

15

  LA UNIDAD DE CONTROL (UC).   Detecta señales eléctricas (de control) del estado del resto

de componentes y controla sus acciones.   Está sincronizada por una señal de reloj (ciclo), medida en

hertzios (HZ).   Cada instrucción se ejecuta en un número entero de ciclos.

Page 16: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Unidad de Control   Capta de la memoria la instrucción (las cuenta con un

registro contador), la interpreta y controla su ejecución. a)  Introduce en la memoria datos del exterior (por U.E.) b)  Trasmite al exterior alguna información (Por la U.S.) c)  Pasa un dato de la memoria al Acumulador (UAL). d)  Ejecuta alguna operación en la UAL. e)  Guarda en la memoria un resultado desde la UAL. f)  Rompe la secuencia normal de ejecución. g)  Detiene la acción temporal o definitivamente. h)  Capta una nueva instrucción y empieza de nuevo.

  Después mira si continúa con la siguiente o se detiene.

16

Page 17: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

La memoria

  La memoria es el sitio donde se guardan datos y programas. Distinguimos 2 tipos:   Memoria principal (o primaria o interna): Cualquier

programa o dato que sea ejecutado o procesado, debe estar en esta memoria. Es muy rápida, volátil y cara (por lo que suele ser pequeña de tamaño).

  Memoria masiva (o secundaria o externa): Permite guardar datos y programas de forma permanente, pero es más lenta que la memoria principal. Tiene gran capacidad debido a que suele más barata que la memoria principal.

17

Page 18: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Memoria principal

  Está dividida en posiciones llamadas palabras de memoria. Cada palabra tiene asociada una dirección.

  Está compuesta de:   ROM: sólo lectura y permanente.   RAM: lectura/escritura y volátil.

18

Page 19: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Medidas de memoria   Un bit (b) es la unidad de información más pequeña. Puede

tener sólo dos valores 1 ó 0.

  La capacidad de una memoria se expresa en múltiplos de Byte (B) . Donde 1Byte=8 bits.

  Múltiplos:   1 Kilobytes (KB) ≅ 1000 bytes (2 10 =1024)   1 Megabytes (MB) ≅ 1000 Kilobytes (2 20 Bytes)   1 Gigabytes (GB) ≅ 1000 Megabytes (2 30 Bytes)   1 Terabytes (TB) ≅ 1000 Gigabytes (2 40 Bytes)   1 Petabytes (PB) ≅ 1000 Terabytes (2 50 Bytes)

o  Ejemplo: Un libro de 300 páginas, cada una de 50 líneas de 90 caracteres (cada uno 1 byte), ocupa 300x50x90 B= 1350000 B= 1’ 3 MB.

19

Page 20: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Periféricos (unidades de E/S)   La potencia de cálculo del ordenador no

serviría de nada sino se pudiese comunicar con el exterior.

  Para ello se utilizan los periféricos.   Los periféricos de entrada nos permiten

comunicarnos con el ordenador.   Los periféricos de salida permiten al

ordenador comunicarse con nosotros.

20

Page 21: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Sistemas de Numeración

 Sistemas de numeración:

 Binaria: 0 ó 1 (Base 2)  Octal: 0,1,2,3,4,5,6 ó 7 (Base 8)  Decimal: 0,1,2,3,4,5,6,7,8 ó 9 (Base 10)  Hexadecimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,

D, E, F (Base 16)

21

Page 22: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Sistemas de Numeración (II)   Para pasar un número en Base 10 a otra base, se divide sucesivamente el

número y los cocientes obtenidos, por la nueva base hasta que el cociente sea cero. Los restos obtenidos forman, escritos en orden inverso, los dígitos en la nueva base. Ejemplo: 12576 304408)

  El paso recíproco se hace calculando el valor polinomial del número : 304408) = 3 · 84 + 0 · 83 + 4 · 82 + 4 · 81 + 0 · 80 = = 12228 + 0 + 256 + 32 + 0 = 12576.

  Para números decimales, la parte entera se hace igual, y la parte decimal se multiplica sucesivamente por la nueva base, tomando la parte entera obtenida como cifra decimal en la nueva base, hasta obtener 0, o la precisión deseada : 25.725 → 31.563146314.... 8) 25 → 318)

.725x 8 = 5.800 ; .8x 8 = 6.4 ; .4x 8 = 3.2 ; .2x 8 = 1.6 ; .6x 8=4.8 ; ......

Divisor  =8  

Dividendo   12576   1572   196   24   3  

Cociente   1572   196   24   3   0  

Resto   0   4   4   0   3  

22

Page 23: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Representación de la Información

 Un ordenador sólo distingue entre dos estados: 0 y 1 (un bit)   0=No hay electricidad, 1=hay electricidad

  Sólo podemos trabajar con bits. Por tanto, hay que codificar la información. Ejemplos:   Persona-> DNI -> Bits   Coche -> Matrícula -> Bits   Morse -> Bits

23

Page 24: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Caracteres   Necesitamos representar:

  Alfabeto (a,b,..,z,A,B,…,Z)   Números (0,1,2,…,9)   Caracteres de control:

Espacio, escape, …   Símbolos: (,),=,/,&,%, ….

  Codificación ASCII (8bits = 1Byte)

24

Page 25: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Tipos de codificación de caracteres   ASCII: 7+1 bits, representa abecedario inglés. 1 bit para

detección de errores.   EBCDIC: 8 bits usado por computadoras IBM. IBM

adaptó el EBCDIC del código de tarjetas perforadas. Existen versiones ("codepages") con caracteres diferentes.

  ASCII extendido: 8 bits, uno para cada un conjunto de lenguas. Por ejemplo, Latin-1 (ISO-8859-1) usado en Unix y Windows.

  Unicode: asigna código único a cada carácter para todos los lenguajes.

  UTF-8: Unicode Trasformation Format, 8 bits variable. Representa cualquier carácter Unicode. Longitud variable. Incluye ASCII 7 bits.

25

Page 26: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Representación interna de números

  ¿Caracteres ASCII para representar enteros?   Mayor consumo de memoria y dificultad en las

operaciones:   Números 1 cifra: 1 carácter ASCII (8 bits)

  4 bits (24=16>10>23=8)   Números 2 cifras: 2 caracteres ASCII (16 bits)

  7 bits (27=128>100>26=64)   253 es (ASCII): 0110010 00110101 00110011   253 es (S. Binario): 11111101

  UAL trabaja con número binarios.

26

Page 27: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Representación interna de enteros

  Se reserva el primer bit para signo (0 + ; 1 -).   El resto de bits representan el valor del número en

binario.   En Fortran90 se usan 4Bytes.   Para facilitar algunas operaciones, los negativos se

escriben:   En valor absoluto.   Complemento a 1: se cambian los ceros por unos y

viceversa.   Complemento a 2: se suma uno al número en complemento

a I.

27

Page 28: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Representación interna de enteros   Rango de valores: [-max , max-1] (max=2p-1, p bits).

  Ejemplo: (Usaremos solo 2 bytes por facilidad, pero F-90 usa 4 bytes).

  12577 0 011 000 100 100 001   - 2045 V. Absoluto : 1 000 011 111 111 101 Complem. a 1: 1 111 100 000 000 010 Complem. a 2: 1 111 100 000 000 011

   

28

Page 29: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Representación interna de reales

  Para los números reales se utiliza la notación científica (o normalizada): 34.012 x 104 = 0.34012 x 106   Signo: positivos y negativos   Mantisa: cifras que componen el número. Se ajusta: La primera

cifra no nula sea la primera cifra decimal (la coma flota)   Exponente: potencia de 10 asociada.

  Representación:1 bit signo + ne Exponente + nm Mantisa. Rango exponente (- 2ne-1 - 2ne-1 -1)

  El exponente y la mantisa: números enteros en binario.   En Fortran 90 se usan 8 Bytes (1 sig, 13 exp., 50 mantisa)

El doble de bytes para Double precision.   Los complejos se representan como una pareja de reales.

29

Page 30: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Representación interna de reales   Ejemplos: (Usaremos 4 bytes (1 + 7 + 24)).   a) 24.75 es en base 2, 11000.11 = 0.1100011 x 25 .   (exponente 000 indica –64. Se almacena 69: 1000101)   0 1000101 110001100000000000000000   b) - 127.76 = 1111111.11000010100011110 1011100001...

Usamos las primeras 24 cifras ; exponente = 7 (escribo 64 + 7 = 71)

  1 1000111 111111111000010100011110   c) -0.000076 (usando exponente 10)

  d) Ver qué numero entero representa la secuencia 1 1000111 111111111000010100011110

30

Page 31: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

Representación interna de instrucciones   Un programa se compone de instrucciones. Estas se repre-

sentan mediante 0’s y 1s. Código binario o Código máquina.   Cada codificación depende del procesador.   Las instrucciones deben ser sencillas. Por ejemplo, suma A,B y

no Dibuja una casa.   Partes de una instrucción:

  Código de operación: Codifican una instrucción determinada.   Argumentos: Datos de la instrucción: Pueden ser:

  Direcciones de memoria con datos.   Datos a usar directamente.   Direcciones de memoria con la siguiente instrucción.

  Co. Inst. DI PM Argume 1 ····· PM Arg. n PM Resulta

  10001110 010 11001010 .. 11110011 01010111 31

Page 32: Fundamentos de Informática - UGRflanagan.ugr.es/docencia/2010-2011/fiic/apuntes/FI-IC-Tema1.Intro.pdfde datos. Se puede leer y escribir en él, y hacer operaciones de desplazamiento

  Es importante que el ordenador ‘sepa’ el tipo de dato que esta manejando, primero para reservarle la cantidad de memoria adecuada, y segundo para no confundirse y NO obtener un resultado equivocado.

  Si el ejemplo b) de Datos Reales (-127.76) se tomara como un entero, el ordenador entendería el número 1207928094, y si lo entiende como una cadena, usaría “Ã à ” (el segundo carácter es un espacio en blanco y el cuarto es un carácter de control no imprimible).

  ASÍ, ES BÁSICO DECLARAR EL TIPO DE DATO QUE CORRESPONDE A TODAS LAS VARIABLES QUE SE USEN.

32