Upload
hadiep
View
215
Download
0
Embed Size (px)
Citation preview
PROGRAMACION, ALGORITMOS Y ESTRUCTURAS DE DATOS
Profesor Titular: Ing. Graciela TOCCACELI.email: [email protected]
Profesor Adjunto: Mag. Ing. Pablo A. [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.
3
Ordenador
Datos Resultado
HISTORIA DE LA INFORMÁTICA
• El ábaco 500 años AC.
• Siglo XVII Blaise Pascal . Crea la primera máquina de sumar y restar• 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• 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:
6
Se destacan ->
• 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ónicamentedentro 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
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.
11
384000 procesadores
¿Que es un computador?
12
Dispositivo capaz de aceptar unos datos de entrada, efectuar conellos operaciones lógicas y aritméticas, y proporcionar la informaciónresultante a través de un medio de salida; todo ello sin intervenciónde un operador humano y bajo el control de un programa deinstrucciones previamente almacenado en el propio computador.
01101110000110110101001110
Ordenador
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.
13
321.15
rojo
2300,34
Rosario
0110101001110000011010010000111001010011110000101001010001110011111100101010010010010010111010010100000000001000101111111001010001010100101010011111000
E S
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
14
Bit (Binary Digit) es la mínima unidad de información que representará un 1 o un 0.
Estructura de un Ordenador tipo Von Newmann
15
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.
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).
0000
0001
Dirección contenido
16
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.
0002
………..
………..
………..
………..
………..
FFFF
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.)
18
acarreo, desborde, paridad.)
Z
S
C
V
R0R1R2R3
Registro de estado
Registros temporales
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.
19
Lógica de Control
Máquina de estadosRegistro de instrucción
Clock
Registro de estadoSeñales de control
-repite el proceso hasta finalizar el programa.
-un clock sincroniza todas las operaciones.
T
f = 1/T Mhz, GHz
Tiempo de ciclo
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
20
-Bus de Control
CPU Memoria Entradas/Salidas
Bus de datos
Bus de control
Bus de direcciones
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.
22
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.
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
23
�SIMD Computadoras matriciales y vectoriales
-Una instrucción , múltiples datos (No existen ninguna)
�MIMD Supercomputadoras
-Múltiples instrucciones, Múltiples datos
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
PrecioUS$
Númeroprocesadores
MemoriaPrincipal
Memoriaauxiliar
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 25.000 a decenas Cientos de TB Decenas a
Clasificación de los computadores por su potencia de cálculo:
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
500-10000
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.
27
-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.
El ciclo de máquina de cualquier instrucción consta de dos fases:
Adquisición y ejecución
EL (PC) ->(AR)
M(AR)->(DR)
(DR)->(IR)
(PC+1)->(PC)
Adquisición Ejecución
Memoria Entradas/AR DR
ALU UC
IR
PC
28
Memoria Entradas/Salidas
Bus de datos
Bus de control
Bus de direcciones
AR DR PC
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
RAM
Puertos paralelos de E/S
30
RAM
Conversor D/A Conversor A/D
Puertos series de E/S
Temporizadores
Tipos de Memoria
Memoria Interna:
-Registros
-caché (SRAM)
-Memoria Principal (DRAM)
-Memoria ROM
31
Memoria auxiliar, externa o masiva:
-Discos de estado sólido y flash USB
-Dispositivos magnéticos
-Dispositivos ópticos
capacidad prec
io
velocida
d
Registros CPU
Caché interna L1
Caché externa L2/L3
DRAM
SSD
1 ciclo
1 ciclo
3 a 5 ciclos
30 a 100 ciclos
10k a 20k ciclos
JERARQUIA DE MEMORIA
32
capacidad prec
io
velocida
d
SSD
Flash USB
HDD
Cinta magnética
10k a 20k ciclos
300k a 3M ciclos
10M a 100M ciclos
Mayor 100M ciclos
-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.
¿ Porque se introducen las memorias chachés?
33
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.
34
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
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
Cabeza
Lectora / Grabadora
Información a grabar
Información leida
36
substratoMaterial
magnetizable
movimiento
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
Si conectamos todo mediante un solo bus, el del sistema………
CPU MEMORIA PUERTO IP PUERTO OP
Bus del sistema
41
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.
SOLUCIONES A LA ESTRUCTURA DE UN ÚNICO BUS:
-Memorias intermedias (buffer)
-Buses específicos
-Controladores de E/S
42
-Controladores de E/S
-Controlador de Acceso Directo a Memoria DMA
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
MEMORIA
BUSES ESPECIFICOS:
Un bus especifico frontal, comunica procesador y memoria
Bus frontal
44
CPU PUERTO IP PUERTO OP
Bus del sistema
Bus frontal
MEMORIA
P0 P1 P2 P3 P4 P5
Un Controlador de E/S es un procesador conmemoria local, especializado en controlaroperaciones de transferencia de datos entreperiféricos conectados a él y el procesador
45
CPUControlador de E/S
Controlador de E/S
Bus del sistema
Canal 0 Canal 1
P0 P1 P2 P3 P4 P5
Un Controlador de Acceso Directo a Memoria (DMA) es unprocesador que permite la transferencia de datos entre memoriay un periférico sin intervención del procesador.
Controlador de E/S
Controlador de E/S
Bus de E/S
Canal 0 Canal 1
P0 P1 P2 P3 P4 P5
46
Bus de E/S
CACHE
CPUDMA
MEMORIA
PRINCIPAL
Bus del sistema
Bus frontal
Tipo de bus
Periféricos
AGP Adaptadores Gráficos
PCI Discos duros, otros dispositivos, tarjeta gráfica, Tarjeta de red,
UTILIZACIÓN DE BUSES
tarjeta gráfica, Tarjeta de red, controlador SCSI.
ISA Lpt1 (impresora), COM1, COM2 (ratón , módem) disquetera, teclado.
USB Teclado, mouse, cámara, escaner, impresora
47
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
49
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):
Definición: Es el programa o grupo de programas que controlan elfuncionamiento 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
EL SISTEMA OPERATIVO
52
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éricoso Comunicador entre procesoso Administrador de memoriao Administrador de archivos
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. Unaespecificado 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ídeoo 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
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
56
-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)