Download Conceptos básicos de computación y desarrollo historico

Document related concepts
no text concepts found
Transcript
Introducción a la Programación
Profesores:
Pedro Campos
Manuel Crisosto
Tatiana Gutiérrez
Claudio Gutiérrez
Conceptos Básicos
• ¿Qué es computación?
– La Ciencia de la Computación es el estudio de los
fenómenos que rodean a los computadores
(Boden, 1994)
• ¿Qué es informática?
– La Informática es el tratamiento automático de la
información, utilizando computadores
Conceptos Básicos
• ¿Qué es un computador?
– Es un dispositivo electrónico capaz de procesar
información a partir de un grupo de instrucciones
denominado programa.
– Puede realizar tareas muy diversas usando
distintos programas
Conceptos Básicos
• ¿Qué es un computador?
– Es una herramienta capaz de almacenar y
procesar datos que luego son convertidos en
información a disposición de los seres humanos
para tomar decisiones
Conceptos Básicos
• ¿Porqué estudiar informática?
– Los computadores nos permiten salir más
rápidamente de los supermercados, realizar
operaciones bancarias las 24 horas del días,
conocer el clima a través de los satélites y
distraernos con entretenidos videojuegos
Conceptos Básicos
• ¿Porqué estudiar informática?
– Internet es una prueba palpable del impacto de
las computadoras y la informática en nuestra
sociedad
Conceptos Básicos
• ¿Porqué estudiar informática?
– Rápido avance de la tecnología permite hacer
cosas inimaginables hasta hace pocos años
– Si la industria automotriz hubiese tenido un
progreso semejante, hoy un auto nuevo viajaría a
miles de km/h y costaría menos que un litro de
gasolina
Conceptos Básicos
• Algunos mitos sobre computadores
– El computador lo hizo: El computador no puede
tomar decisiones. Sólo hace lo que se le ordena.
– Los computadores pueden hacer cualquier cosa:
Los programadores son los que pueden hacer
muchas cosas con los computadores, pero tienen
limitaciones tecnológicas
Debe entregarle las órdenes precisas
en un lenguaje específico
Ser Inteligente
(con criterio, sentido
común, experiencia)
Máquina sin Inteligencia
Pero con un gran poder
de procesamiento
Herramienta
Problemas del
mundo real
solución
¿ Por qué usamos el computador?
Información
Dato
Entrada
Salida
Proceso computacional
¿ Cual es el papel del computador ?
“ El gran Desafío es cómo entender un
problema, encontrarle una solución y cómo
traspasar esa solución al computador para
que la ejecute”
“Desarrollo Histórico”
Los primeros orígenes
• La necesidad de calcular
impulsó el desarrollo del
ábaco como primera
calculadora.
• Muhammad ibn Musa
Al’khowarizmi (S. XII)
desarrolló el concepto de
un proceso escrito a seguir
para alcanzar un objetivo.
Siglo XVII
• 1642, Blaise Pascal creo
una máquina de sumar
que acarreaba de una
posición a la siguiente.
• Fue conocida como
PASCALINA
Siglo XIX (I)
• 1822, Charles Babbage
diseñó una máquina
diferencial para mejorar los
cálculos de las tablas de
navegación.
Siglo XIX (II)
• 1842, Ada Augusta King,
Lady Lovelace (hija de Lord
Byron) colabora con
Babbage considerandose la
primera programadora.
Siglo XIX (3)
• Problemas en el recuento
del censo de Población USA
en 1890, provocó que
Herman Hollerith
desarrollase una máquina
tabuladora, creando una
empresa que en 1924 pasó
a llamarse IBM.
1937
• Alan Turing desarrolló la
idea de máquina universal
capaz de ejecutar cualquier
algoritmo. Lo cual formó la
base de la computabilidad.
1940-1944
• Durante la segunda guerra
mundial, la necesidad de
descifrar los mensajes
encriptados de los
alemanes, se desarrolló
con la ayuda de Turing, con
una máquina denominada
Colossus.
1943
• Comenzó este año en la
Moore School of Electrical
Engineering en
Pennsylvania el trabajo en
el ENIAC (Electronic an
Numeric Integrator and
Computer)
1944
• El primer calculador
electromecánico
automático de propósito
general a gran escala fue el
Mark I, ideado por Howard
Aiken y desarrollado por
IBM.
1945
• John von Neumann escribe
su borrador sobre la
arquitectura de los
ordenadores el cual sirve
de base al concepto actual
de ordenador.
Incorporar esquema final
La CPU de von Neumann
Flags
ALU:
Arithmetic
Logic
Circuits
Bus de
datos
Arithmetic
Logic
Unit
Registros del
Procesador
AC
DR
Main
Memory
PC
Control
Unit
IR
AR
Devices
Bus de
direcciones
Control Circuits
...
C0
C1
C2
C12
Bus de
control
Ciclo de Instrucción de la CPU básica de von Neumann
BEGIN
CPU
ACTIVA?
NO
FIN
SI
f0
AR PC
PC PC + 1
IR DR(OPCODE)
DECODE OPCODE
DECODIFICACION
f4
ADD
DR(ADR)
f5, f6
READ M

DR
AC
READ M
WRITE M
AR 
AC + DR
COMP
RSHIFT
SI
DR(ADR)
AC=0
f5, f6
FETCH DE
OPERANDO
NO
READ M
f7
AC 
JmZ
JMP
f4
f5, f6
f6, f7
f7
AC 
AR  DR(ADR)
f5
DR
AND
f4
f4
AR 
FETCH
INSTRUCCION
f3
STR
LD
AR  DR(ADR)
f1, f2
{DR  M(AR)}
READ M
AC 
AC ^ DR
f7
f7
f7
PC 
DR(ADR)
AC 
AC
f7
SHIFT AC
PROCESA
Ejemplos
Imprimir los números pares
Evaluar la función:
(3*x + 5) / x si x > 0
f(x)
5*x2
si x <= 0
01h
02h
03h
04h
lda #0
wrt
add #2
jmp 02h
00h
01h
02h
03h
04h
05h
06h
07h
08h
09h
0Ah
rda 80
lda 80
jmz 08
jml 08
mul #3
add #5
div 80
jmp 0Ah
mul #5
mul 80
wrt
1947
• William Shockley, John
Bardeen y Walter Brattain
inventan la “resistencia de
transferencia” que más
tarde se conocerá como
transistor.
1956
• John McCarthy and Marvin Minsky fundan en una
reunión en el Darmouth College el concepto de
Inteligencia Artificial.
1975-1982
• Edward Roberts, William Yates y Jim Bybee desarrollan lo
que podría considerarse el primer ordenador personal, el
Altair 8800. Tenía 256 bytes de memoria y no tenía pantalla,
ni teclado ni dispositivo auxiliar de memoria.
• Bill Gates y Paul Allen escribieron el primer programa para el
Altair 8800, un compilador de Basic y fundan Microsoft.
• Se desarrolla el CRAY I el primer superordenador.
• Steve Jobs y Steve Wozniak desarrollan el Apple II
• IBM crea el PC actual
Historia de la Computación
• Primera Generación
– Tubos de vacío
– Programadas en Lenguaje de máquina
– Grandes y muy costosas
• Segunda Generación
– Circuitos de Transistores
– Programadas en lenguajes de alto nivel
Historia de la Computación
• Tercera Generación
– Circuitos Integrados
– Control a través de Sistemas Operativos
• Cuarta Generación
– Microprocesadores
– Primeros Microcomputadores
– Aparición de ARPANET
Historia de la Computación
• Quinta Generación
– Microelectrónica.
– Competencia internacional por el dominio de la
informática.
– Internet se masifica.
– Aparición de Computadores portátiles.
– Manejo de Lenguaje Natural e Inteligencia
Artificial.
Ciencia y ficción: El ordenador
invisible
A largo plazo, el ordenador personal y la terminal
de trabajo desaparecerán porque el acceso a la
informática estará en todas partes: en las paredes,
en nuestras muñecas y en “ordenadores para
borrador” (como el papel para borrador)
distribuidos para ser utilizados cuando sea
necesario.
Mark Weiser
Xerox PARC
Ciencia y ficción: Efecto multiplicador
de la tecnología
Si la industria automotriz hubiera experimentado un
desarrollo parecido a la informática, se podría disponer
de un Rolls-Royce por menos de 1.000 pesos. Además el
vehículo dispondría de la potencia de un trasatlántico
para ser capaz de recorrer un millón de kilómetros (25
veces la vuelta al mundo) con sólo un litro de gasolina.
Tom Forester
El futuro
•
•
•
•
•
•
La red
La IA
La influencia en la educación
La influencia en la medicina
El comercio electrónico
La informática portátil e inalámbrica
“Componentes y Arquitectura de un
computador”
Hardware y software
• En computación tenemos dos elementos básicos:
– Hardware
• En términos simples, corresponde a todas aquellas partes físicas o
materiales, que podemos ver y tocar. Por ejemplo, el monitor, el
teclado, mouse, disco duro, tarjeta de video, CPU, etc.
– Software
• Podríamos entender por software el “conjunto de instrucciones
que los computadores emplean para manipular y procesar datos”
• Sin el sw el computador sería un conjunto de dispositivos físicos sin
utilidad.
Hardware y software
Software
Hardware
Componentes lógicos que se ejecutan en el
hardware:
Sistema Operativo
Paquetes Básicos: Procesador de Texto
Planilla Electrónica
Presentación
Programas de Aplicación
Componentes Físicos
Electro-Mecánicos
•Dispositivos de Entrada
•Dispositivos de Salida
•Unidad Central de Proceso
•Memoria Principal
•Memoria Secundaria
Hardware
• Los computadores están formados por una serie
de componentes, los cuales determinan en
conjunto las capacidades del computador
–
–
–
–
–
CPU y tarjeta madre
Memoria RAM y ROM
Disco duro y disquetera
Monitor y tarjeta de video
Otros dispositivos
Hardware
• CPU (Central Process Unit)
– Unidad de procesamiento central
– Cerebro
• Memoria ROM
– Instintos
• Memoria RAM
Memoria
RAM
Disp. Entrada
(mirar, escuchar)
– Información que se maneja en el
momento
• Memoria secundaria
– Discos magnéticos y ópticos,Disp.
cintas
Salida hablar)
– Información que se busca en elementos
adicionales
Memoria
Secundaria
CPU
Hardware
• Dispositivos de entrada
– Ingreso de información
– Sentidos (ojos, oídos)
• Dispositivos de salida
– Entrega de información
– Gestos, voz
Memoria
RAM
Disp. Entrada
(mirar, escuchar)
Disp. Salida hablar)
Memoria
Secundaria
CPU
Hardware: Tarjeta madre
• Tarjeta madre (mother board)
– Es la placa de circuitos integrados en la cual se inserta el
procesador, la memoria y otros componentes a través de los
buses y las ranuras de expansión
• Es la base para comenzar a “armar” un computador
– Las ranuras de expansión permiten conectar, por ejemplo,
tarjetas de sonido (que permiten al PC reproducir sonido),
modem (para navegar por internet), tarjeta de video (para
mostrar imágenes en la pantalla)
Almacenamiento (Memoria)
• Unidades de memoria
–
–
–
–
–
–
1 bit
(puede tomar valores: 1 ó 0 - binarios)
1 byte
: 8 bits
1 kilobyte (Kb)
: 210 bytes
1 megabyte (Mb) : 210 kilobytes: 220 bytes
1 gigabyte (Gb)
: 210 megabytes: 230 bytes
1 terabyte : 210 gigabytes: 240 bytes
Almacenamiento (Memoria)
• Tipos de memoria
– Memoria RAM (random access memory)
• Permite al computador almacenar información que la CPU está
accesando frecuentemente y necesita para operar
• Por ejemplo, información de un programa, instrucciones, datos, etc.
– Memoria ROM (read only memory)
• Contiene la información preinstalada, la cual es imposible modificar
o borrar por completo
• Es la información que indica los procesos básicos que debe ejecutar
el computador (antes de ejecutar cualquier programa)
Las partes de un computador
• Caché
– es una unidad pequeña de memoria ultrarrápida en la que se
almacena información a la que se ha accedido recientemente o a la
que se accede con frecuencia, lo que evita que el microprocesador
tenga que recuperar esta información de circuitos de memoria más
lentos.
Almacenamiento (Memoria)
• La memoria secundaria son todas las unidades de disco que un
computador puede tener
– Disco duro: 400 Mb, 20 Gb, 100 Gb
– Unidad de disco flexible (disquete)
• Disquete tamaño 5¼, capacidad 360 Kb, 1.2 Mb
• Disquete tamaño 3½, capacidad 720 Kb, 1.44 Mb
– CD-ROM (compact disc, read only memory)
• Tamaño 700 Mb, usualmente se utilizan con información sólo para lectura
– DVD (digital video disc o digital versatile disk)
• 4.7 Gb a 17 Gb
– Cintas
• Originalmente gran tamaño y lentas. Hoy existe el DAT (digital audio tape),
usado para tener respaldos de información de discos duros
CPU (Unidad Central de
Procesamiento)
• Es un chip que viene en una tarjeta de circuitos (tarjeta
madre)
– Grandes computadores (mainframe) usan CPU más
poderosas e incluso varias dentro del mismo computador
– PC utilizan una sola CPU
• Su capacidad se indica por el modelo (en PC: 8088,
80286, 80386, 80486, Pentium)
– Intel – Pentium IV (3 GHz)
– AMD – Athlon (2,1 GHz)
• CPU tiene un reloj interno cuya velocidad se mide en
hertz, lo que determina la velocidad de procesamiento
CPU (Unidad Central de
Procesamiento)
•
Unidad de Control (CU)
– Se encarga de traer las instrucciones de memoria principal y determinar su tipo
•
Unidad de Aritmética y Lógica (ALU)
– Se encarga de llevar a cabo evaluaciones aritméticas (adición, substracción,
multiplicación, división) y lógicas (and, or, not, etc.) necesarias para realizar las
distintas instrucciones
•
Registros
– Constituyen una pequeña memoria de alta velocidad, utilizada para
almacenamiento de resultados intermedios y de cierta información de control
– Contador de programa: almacena información (la dirección) de la siguiente
instrucción a ejecutar
– Registro de instrucción: contiene la instrucción que se está ejecutando
– Registro de propósito general: registros accesibles por programadores de bajo
nivel
CPU (Unidad Central de
Procesamiento)
• Diferentes computadores entienden diferentes conjuntos de
instrucciones
– Assembler
• Dentro de la misma familia de computadores entienden las mismas
instrucciones
– Pentium III vs Pentium IV (nuevas instrucciones)
• Aplicación hecha para un tipo de procesador no funcionará en otro
tipo de computador
– Macintosh vs PC
Dispositivos de entrada
• Teclado
– Expandido 101 teclas, etc.
• Mouse
– 2 – 3 botones
•
•
•
•
Scanner
Modem
Joystick
Lector óptico
Dispositivos de salida
• Monitor
– VGA, SVGA, UVGA, CGA
• Impresora
– Láser, inyección de tinta, matriz de puntos
• Modem
• Parlantes
Arquitectura de un computador
• Como hemos visto, la arquitectura general de un
computador consta básicamente de 3 partes:
– CPU
– Memoria
– Dispositivos de entrada/salida
• Esta arquitectura fue propuesta por John Von
Neumann en 1945, y hoy en día la mayoría de los
computadores están basados en ella
Arquitectura de Von Neumann
La CPU de von Neumann
Flags
ALU:
Arithmetic
Logic
Circuits
Bus de
datos
Arithmetic
Logic
Unit
Registros del
Procesador
AC
DR
Main
Memory
PC
Control
Unit
IR
AR
Devices
Bus de
direcciones
Control Circuits
...
C0
C1
C2
C12
Bus de
control
¿Preguntas?