Clase Inaugural

Anuncio
PROGRAMACION, ALGORITMOS Y
ESTRUCTURAS DE DATOS
Profesor Titular: Ing. Graciela TOCCACELI.
email: [email protected]
Profesor Adjunto: Mag. Ing. Pablo A. GARCIA.
[email protected]
1
Objetivo de la materia: Estudiar Informática a través de uno de
los lenguajes de programación más utilizados el lenguaje “C”.
2
INFORmación y autoMATICA
La Informática trata de la adquisición, representación,
tratamiento y transmisión de la información.
Estas operaciones se realizan automáticamente
utilizando máquinas llamadas computadoras.
Ordenador
Datos
Resultado
3
HISTORIA DE LA INFORMÁTICA
• El ábaco 500 años AC.
• Siglo XVII Blaise Pascal . Crea la primera máquina de sumar y restar
mecánica la Pascalina. Esta calculadora estaba basada en una serie de
engranajes y ruedas dentadas. La base de las operaciones consistía en
contar los dientes de un engranaje.
4
•
En 1671, Gottfried Wilhelm Leibniz construye la Máquina Universal, la primera
máquina capaz de sumar, restar, multiplicar y dividir. El mecanismo también era de
engranajes. Las multiplicaciones se realizaban como sumas sucesivas y las
divisiones como restas sucesivas.
Estas no eran máquinas automáticas ya que requerían la Intervención humana
durante el proceso.
•
Inicio XIX Joseph Marie Jacquard, inventa un telar mecánico cuyos diseños se
reproducían gracias a una serie de tarjetas perforadas. Las tarjetas perforadas
transmitían a la tejedora las instrucciones necesarias para su funcionamiento.
•
1834-35 Charles Babbage utilizando tarjetas perforadas y ruedas mecánicas
diseña la máquina analítica. La diseña con Memoria, Unidad de cálculo y Unidad
de control basada en tarjetas perforadas. Era capaz de realizar cualquier cálculo y
de almacenar programas. La tecnología de la época no permitió construirla.
5
•
En 1890 Herman Hollerith, crea una máquina para realizar el censo de
EEUU. Esta máquina utiliza un sistema electrónico para la lectura de las
tarjetas perforadas y un sistema mecánico para calcular. En 1924 la
compañía fundada por Hollerith cambia de nombre para denominarse
"International Business Machines" (IBM).
•
Luego el avance tecnológico marcó distintas generaciones de
computadoras:
Se destacan ->
6
En 1943, J. Mauchly y J. Presper Eckert crean el primer equipo sin piezas
mecánicas: el ENIAC (Calculador e integrador numérico electrónico).
-utilizada por el Laboratorio de Investigación Balística del Ejército de los EEUU.
-18.000 válvulas o tubos de vacío.
-ocupaba 167 m2.
-programación manual, mediante el seteo de interruptores o conectando
cables
-5000 instrucciones por segundo. – Sistema decimal
- gran consumo energético (160 kW).
•
7
•
En 1944 Von Newmann propone que el programa debía almacenarse electrónicamente
dentro de la computadora junto con los datos y el uso del sistema binario.
• En 1946 J. Mauchly y J. Presper Eckert y John Von Neumann crean EDVAC (Equipo
electrónico de variable discreta), que podía almacenar programas en la memoria
(1.024 palabras en la memoria central y 20.000 palabras en la memoria magnética).
- 6.000 tubos de vacío y 12.000 diodos.
- Consumía 56 kilowatts de potencia.
- Cubría 45,5 m² de superficie.
- Pesaba 7.850 kg.
- Binaria.
•
En 1953 IBM lanza el IBM 701: conocido como la "calculadora de Defensa" mientras era
desarrollado, fue anunciado al público el 29 de abril de 1952 y era la
primera computadora científica comercial de IBM. Durante los cuatro años de
producción se vendieron 20 unidades
La memoria contenía 72 tubos de vacio con una capacidad de 1024 bits, dando una
memoria total de 2048 palabras de 36 bits cada una.
Cada uno de los 72 tubos eran de 76 mm de diámetro.
La memoria se podía ampliar a un máximo de 4096 palabras
El tiempo de acceso de la memoria de 12 microsegundos.
La memoria de tubos necesitaba "refrescarse" periódicamente.
8
El avance de la electrónica…
1947
1907
1957
1971
291 millones de transistores - Actual
9
Hitos de las diferentes generaciones:
• Generación 1 (1940-1960) (válvula de vacío): Se sustituye la programación
de 1s y 0s por un lenguaje simbólico.
• Generación 2 (1960-1965) (transistor): Se introducen los lenguajes de alto
nivel, se ampliaron las memorias auxiliares y se crearon los discos
magnéticos de gran capacidad. Se diseñaron las impresoras y lectores
ópticos
• Generación 3 (1965-1975) (circuitos integrados): Aparecen los sistemas
operativos para el control de la computadora. Aparecen lenguajes como
Cobol y Fortran
• Generación 4 (1975-1990) (microprocesadores) : Aparece el
microprocesador. Nuevos lenguajes de programación :Logo, Pascal, Basic,
C, C++.
En 1976 Steve Wozniak y Steve Jobs fabrican en el garaje de su casa la
primera microcomputadora Apple I del mundo y más tarde fundan la
compañía Apple.
En 1981 IBM lanza al mercado su primer IBM-PC.
10
• Generación 5 (1990 – hoy): supercomputadores que incorporan varios
microprocesadores en la misma máquina.
384000 procesadores
11
¿Que es un computador?
Dispositivo capaz de aceptar unos datos de entrada, efectuar con
ellos operaciones lógicas y aritméticas, y proporcionar la información
resultante a través de un medio de salida; todo ello sin intervención
de un operador humano y bajo el control de un programa de
instrucciones previamente almacenado en el propio computador.
12
En el interior del ordenador la información se almacena y transfiere
utilizando el sistema binario 1s y 0s. En las E y S se efectúan las
transformaciones alfanumérico a binario y viceversa.
Ordenador
321.15
E
rojo
0110111000011
0110101001110
0000110100100
001110010
1001111000010
1001010001110
0111111001010
1001001001001
0111010010100
0000000010001
011111110010
1000101010010
1010011111000
2300,34
S
Rosario
13
Los valores 0s y 1s pueden interpretar en el
interior del ordenador dependiendo del
dispositivo:
-Un estado magnético (N/S)
-Un nivel de tensión (5V/0V)
-Un valor de corriente ( 20mA/0 mA)
-Presencia o ausencia de Luz
Bit (Binary Digit) es la mínima unidad de
información que representará un 1 o un 0.
14
Estructura de un Ordenador tipo Von Newmann
Unidades de Entrada: Teclado, lector de tarjeta,
lápiz óptico, escáner, etc.
Unidades de Salida: Monitor, impresora, plotter,
etc.
Unidades de E/S: Discos duros, sólidos, flash
USB, cintas magnéticas, etc.
15
Memoria principal (MP):
-El programa que se ejecuta debe
almacenarse en la MP.
-Gran velocidad de acceso (decenas de ns).
-Formada por Circuitos integrados IC.
-Volátil.
-Estructurada en direcciones de un dado
número de bits (palabra).
-Para leer o escribir una palabra de
información se debe dar la dirección de la
posición en el IC.
-Capacidad de GBytes.
Dirección
contenido
0000
0001
0002
………..
………..
………..
………..
………..
FFFF
16
Memoria Auxiliar:
-Presenta una capacidad de 100 a
1000 veces mayor que la MP.
-Es 10000 a 100000 veces mas lenta
que la MP (decenas de ms).
-La información se almacena en
forma permanente (Gbytes y TBytes.
17
UNIDAD ARITMETICO LOGICA (ALU):
-formada por circuitos electrónicos que realizan
operaciones aritméticas y lógicas
-registros temporales le ayudan a operar
-las señales de control especifican la acción:
(Sumar, restar, dividir, multiplicar, etc.).
-un registro de estado guarda información del
resultado de la última operación ( cero, signo,
acarreo, desborde, paridad.)
Registro de
estado
Registros
temporales
R0
Z
R1
S
R2
C
R3
V
18
UNIDAD DE CONTROL (UC)
-Detecta las señales de estado provenientes de las
distintas unidades.
-Toma de la MP una de las instrucciones.
-Decodifica la instrucción.
-genera las señales necesarias para llevar a cabo la
ejecución.
-repite el proceso hasta finalizar el programa.
-un clock sincroniza todas las operaciones.
Clock
Registro de instrucción
Registro de estado
Lógica de Control
Señales de
control
Máquina de estados
f = 1/T
T
Tiempo de ciclo
Mhz, GHz
19
BUS (Conexión eléctrica entre las distintas unidades.)
Tipos de Buses:
-Serie
-Paralelo de (8,16,32,64 o 128 líneas conductoras)
Bus del Sistema informático:
-Bus de Datos
-Bus de Direcciones
-Bus de Control
CPU
Memoria
Entradas/
Salidas
Bus de datos
Bus de direcciones
Bus de control
20
Aspecto de los buses del sistema:
21
MEDIDA DEL RENDIMIENTO O VELOCIDAD DEL PROCESADOR:
MIPS: Millones de instrucciones máquina por segundo
MIPS = NI /(te . 106)
MFLOPS.: Millones de operaciones con números reales de 64 bits por
segundo.
MFLOPS = NOcf/(te. 106)
NOcf: número de operaciones en coma flotante.
te: tiempo de ejecución de programas especiales o benchmarks como
Linpack o SPEC.
22
Clasificación de los ordenadores por el grado de
paralelismo de su arquitectura:
SISD Monoprocesadores
-Una instrucción , un dato
-Computadora Von Newman (ya analizada)
SIMD Computadoras matriciales y vectoriales
-Una instrucción , múltiples datos (No existen ninguna)
MIMD Supercomputadoras
-Múltiples instrucciones, Múltiples datos
23
MIMD
MULTIPROCESADORES
MULTICOMPUTADORES
24
Clasificación de los ordenadores según su uso:
-Computadores de uso general.
-Computadores embebidos (lavadoras, teléfonos inteligentes,
controladoras de disco, teclado, impresora, etc.).
25
Clasificación de los computadores por su potencia de cálculo:
Precio
US$
Número
procesado
res
Memoria
Principal
Memoria
auxiliar
Usuarios
Supercomputador
>5.000.000
miles
TB
EB
Decenas a
miles
Servidor de gama
alta
(Mainframe)
>500.000
cientos
Cientos de
GB
TB
Cientos a
Miles
Servidor de gama
media
25.000 a
500.000
decenas
Cientos de
GB
TB
Decenas a
cientos
Servidor Básico
<25.000
4, 16
Decenas
de GB
Cientos
de GB
decenas
Computador
personal
50010000
2,4
GB
Cientos
de GB
personal
26
SUPERCOMPUTADORES:
-Ejemplos: ASCI Whute, Earth Simulator, Tianhe 2.
-Ejecutan Petaflops (billones de FLOPS).
-Cientos o Miles de procesadores trabajando en paralelo.
-Muy costosos.
-Utilizados en aplicaciones de cálculo complejo (HPC High
Perfomance Computing) :
•Analisis de sismos o movimientos en la corteza terrestre
•Predicción climática, etc.
27
El ciclo de máquina de cualquier instrucción consta de dos fases:
Adquisición y ejecución
EL (PC) ->(AR)
Adquisición
M(AR)->(DR)
(DR)->(IR)
(PC+1)->(PC)
ALU
Ejecución
UC
IR
AR
DR
PC
Memoria
Entradas/
Salidas
Bus de datos
Bus de direcciones
Bus de control
28
En la actualidad los procesadores incorporan:
-Un procesador gráfico.
-Un procesador de punto flotante
-Un controlador de Memoria
-Varios niveles de memoria caché
-Varios cores.
29
Microcontrolador: (Presente en electrodomésticos, periféricos, teléfonos)
Núcleo
procesador
Memoria EEPROM o Flash
Puertos
paralelos de
E/S
RAM
Temporizadores
Puertos
series de
E/S
Conversor
D/A
Conversor A/D
30
Tipos de Memoria
Memoria Interna:
-Registros
-caché (SRAM)
-Memoria Principal (DRAM)
-Memoria ROM
Memoria auxiliar, externa o masiva:
-Discos de estado sólido y flash USB
-Dispositivos magnéticos
-Dispositivos ópticos
31
JERARQUIA DE MEMORIA
1 ciclo
Caché interna L1
1 ciclo
Caché externa L2/L3
3 a 5 ciclos
precio
capacidad
DRAM
SSD
velocidad
Registros CPU
30 a 100 ciclos
10k a 20k ciclos
Flash USB
300k a 3M ciclos
HDD
10M a 100M ciclos
Cinta magnética
Mayor 100M ciclos
32
¿ Porque se introducen las memorias chachés?
-Porque la velocidad del procesador es del orden de los ns.
Y la velocidad de la memoria principal es de 30 a 100 veces
mas lenta que el procesador.
En consecuencia el procesador se ve frenado cuando debe
acceder a memoria.
SOLUCION: Utilizar memoria caché mas rápidas con
tecnología SRAM de 1 a 5 veces mas lenta que el
procesador.
33
CORE i7 con 3 niveles de caché
-Caché L1 : 32KB dentro del núcleo
-Caché L2: 256KB por núcleo
-Caché L3: 12 MB compartida
34
DISCO DE ESTADO SÓLIDO (SSD)
Dispositivo de almacenamiento masivo basado en circuitos
integrados, emulando un disco duro. Almacenan información
en forma permanente.
35
GRABACIÓN Y LECTURA MAGNÉTICA
Información
leida
Información a
grabar
Cabeza
Lectora / Grabadora
Material
magnetizable
substrato
movimiento
36
Discos Duros (HDD)
-La información se
guarda por sectores
(arcos de pistas).
-El brazo con la cabeza
lectora/grabadora tiene
movimiento axial.
37
El HDD consiste en varios platos y un peine
con varias cabezas lectoras/grabadoras
que permiten acceder simultáneamente a
un sector de un cilindro.
38
Primera Generación de CD
-La información va troquelada en una
superficie de aluminio
-Si hay reflexión del haz laser se tiene
un 0 sino un 1.
39
GENERACIONES DE DISCOS ÓPTICOS
40
Si conectamos todo mediante un solo bus, el del
sistema………
CPU
MEMORIA
PUERTO IP
PUERTO OP
Bus del sistema
Ventajas:
Sencillo, barato.
Desventaja:
Toda la información se transmite por el mismo bus. Los
dispositivos mas lentos frenan el funcionamiento del
ordenador, por ejemplo mandar datos a una impresora.
41
SOLUCIONES A LA ESTRUCTURA DE UN ÚNICO BUS:
-Memorias intermedias (buffer)
-Buses específicos
-Controladores de E/S
-Controlador de Acceso Directo a Memoria DMA
42
BUFFER:
Memoria intermedia que sirve para almacenar datos. El procesador
carga el buffer con datos y se dedica a ejecutar otros procesos,
mientras el periférico a su velocidad lee los datos del buffer.
Un controlador o secuenciador controla las operaciones que se
realizan en el interior del periférico.
43
BUSES ESPECIFICOS:
Un bus especifico frontal, comunica procesador y
memoria
MEMORIA
Bus frontal
CPU
PUERTO IP
PUERTO OP
Bus del sistema
44
Un Controlador de E/S es un procesador con
memoria local, especializado en controlar
operaciones de transferencia de datos entre
periféricos conectados a él y el procesador
MEMORIA
P0
P1
P2
P3
P4
P5
CPU
Controlador de
E/S
Canal 0
Controlador
de E/S
Canal 1
Bus del sistema
45
Un Controlador de Acceso Directo a Memoria (DMA) es un
procesador que permite la transferencia de datos entre memoria
y un periférico sin intervención del procesador.
P0
P1
P2
Controlador de
E/S
P3
P4
P5
Controlador
de E/S
Canal 0
Canal 1
Bus de E/S
MEMORIA
CPU
Bus frontal
DMA
PRINCIPAL
CACHE
Bus del sistema
46
UTILIZACIÓN DE BUSES
Tipo
Periféricos
de bus
AGP
Adaptadores Gráficos
PCI
Discos duros, otros dispositivos,
tarjeta gráfica, Tarjeta de red,
controlador SCSI.
ISA
Lpt1 (impresora), COM1, COM2
(ratón , módem) disquetera,
teclado.
Teclado, mouse, cámara, escaner,
impresora
USB
47
ESQUEMA DE UN PC (1990-2000)
48
ESQUEMA DE UN PC ACTUAL
Chipset: Conjunto de
chips con la misma
arquitectura del
procesador que
sirven de puente
entre éste y la
memoria y las E/S.
PUENTE NORTE:
Enlaza la CPU y la
memoria. Controla el
tráfico entre éste, la
memoria y la tarjeya
gráfica. Contiene el
controlador de DMA:
PUENTE SUR:
comunica el
procesador con el
resto de los
periféricos(IDE,USB
,PCI, ETC):
49
PINES DEL PROCESADOR INTEL CORE i7
50
SISTEMA INFORMÁTICO
APLICACIONES DE
USUARIO
APLICACIONES
DEL SISTEMA
SISTEMA OPERATIVO
HARDWARE
51
EL SISTEMA OPERATIVO
Definición: Es el programa o grupo de programas que controlan el
funcionamiento del hardware y nos ofrecen un modo sencillo de
acceso al ordenador.
El sistema operativo se compone de un núcleo o Kernel y un
intérprete de comandos denominado Shell.
El shell es un interfaz entre la CPU y el usuario. Cuando le pedimos
algo al ordenador, el shell se encarga de traducirlo en llamadas o
peticiones a los programas que componen el kernel o núcleo, y éste
acciona el hardware.
El kernel del sistema operativo tiene entre otros los siguientes
componentes:
o Cargador inicial (programa de arranque)
o Planificador de trabajo de la CPU (Planifica procesos y tareas)
o Administrador de periféricos
o Comunicador entre procesos
o Administrador de memoria
o Administrador de archivos
52
Arranque del Ordenador
Para que el ordenador pueda arrancar, los
programas de arranque y otros de utilidades
básicas se guardan en la ROM, que tiene
especificado pedir un disco de sistema. Una
vez se introduce este disco, el control lo
asume el sistema operativo. El disco de
sistema puede ser flexible A: o duro C: .
53
Cuando se enciende un ordenador
Cuando se conecta el interruptor de un ordenador, ocurren una
serie de operaciones que se pueden englobar en dos grupos:
1. Los test de comprobación:
o Entrada de la alimentación eléctrica al ordenador desde la fuente de
alimentación
o Llamada del microprocesador a la ROM-BIOS
o La BIOS le da las indicaciones de los test a realizar
o Comprobación del bus de expansión (placas instaladas)
o Verificación de la tarjeta de vídeo
o Comprobación de la memoria caché
o Comprobación de la memoria RAM
o Comprobación del teclado
o Comprobación de las unidades de disco
2. La carga del resto del sistema operativo: según el sistema operativo
que se tenga.
54
USOS DE SISTEMAS OPERATIVOS
DENTRO DE
WINDOWS
PARA MÓVILES
55
UNIX
-SO estándar
-Comercializado en los 90.
-Se desarrollaron mas de 100 versiones en
las dos primeras décadas.
-Es la columna vertebral de Internet
-Es un SO multiprogramación, multiusuario y
multiprocesamiento
-Muy utilizado en los supercomputadores
actuales.
-Presenta una versión para PC (Linux)
56
Bibliografía:
1. Programación en C, Metodología, estructura de datos y objetos de Luis
Joyanes Aguilar.
2. Organización y Arquitectura de Computadores de Stalling.
3. Sistemas Operativos Modernos de Andrew S. Tanenbaum
4. Introducción a la Informática de A. P. Espinosa
57
Descargar