Tema 1. Introducción a la Informática.

Anuncio
Fundamentos de
Informática
Tema 1
Introducción a la Informática
1
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
 
 
 
 
 
2
Sistemas de numeración
Caracteres
Enteros y Reales
Instrucciones
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
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.)
 
4
Introdujo algoritmos para realizar operaciones (sumas, restas,
…)
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
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
Introducción histórica
Dispositivos y máquinas de calcular electrónicos:
 
 
 
 
 
7
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).
Conceptos básicos
 
 
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”.
Datos (E)
Procesamiento Información Manual Automá9co (Ord.)
 
8
Codificación. Transformación para representar los elementos de un
conjunto mediante los de otro conjunto. Ej. DNI→Persona.
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
Estructura funcional de un ordenador
 
La arquitectura de los ordenadores actuales está basada
en la arquitectura de Von Neumann. Donde tenemos:
• 
• 
• 
• 
• 
10
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.
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
Estructura funcional de un ordenador
Líneas de Control
12
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:
 
 
 
13
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.
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
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.
LA UNIDAD DE CONTROL (UC).
 
 
 
15
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.
Unidad de Control
 
Capta de la memoria la instrucción (las cuenta con un
registro contador), la interpreta y controla su ejecución.
a) 
b) 
c) 
d) 
e) 
f) 
g) 
h) 
 
Introduce en la memoria datos del exterior (por U.E.)
Trasmite al exterior alguna información (Por la U.S.)
Pasa un dato de la memoria al Acumulador (UAL).
Ejecuta alguna operación en la UAL.
Guarda en la memoria un resultado desde la UAL.
Rompe la secuencia normal de ejecución.
Detiene la acción temporal o definitivamente.
Capta una nueva instrucción y empieza de nuevo.
Después mira si continúa con la siguiente o se detiene.
16
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
Memoria principal
  Está
dividida en posiciones llamadas palabras de
memoria. Cada palabra tiene asociada una
dirección.
  Está compuesta de:
 
 
18
ROM: sólo lectura y permanente.
RAM: lectura/escritura y volátil.
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:
 
 
 
 
 
o 
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)
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
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
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
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)
Divisor =8  
Dividendo 12576 1572 196 24 3 Cociente 1572 196 24 3 0 Resto 0 4 4 0 3 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 ; ......
22
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
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
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
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):
253 es (S. Binario):
0110010 00110101 00110011
11111101
UAL trabaja con número binarios.
26
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:
 
 
 
 
27
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.
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
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
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
Representación interna de instrucciones
Un programa se compone de instrucciones. Estas se representan 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.
 
 
31
DI PM Argume 1 ····· PM Arg. n PM Resulta
10001110 010 11001010
.. 11110011 01010111
 
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
Descargar