Está en la página 1de 13

¿Qué es un computador?

™Un computador es una máquina principalmente


electrónica, capaz de almacenar y procesar en
El Computador corto tiempo grandes cantidades de datos, de
acuerdo con un conjunto de instrucciones
especificadas.
Franco Guidi Polanco
Escuela de Ingeniería Industrial
Pontificia Universidad Católica de Valparaíso, Chile
fguidi@ucv.cl

Franco Guidi Polanco 14/08/2007 1

¿Cómo son los computadores? ¿Cómo son los computadores?

™Lo que primero se nos viene en mente… ™Pero éstos también lo son:

Univac 1108

Franco Guidi Polanco 14/08/2007 2 Franco Guidi Polanco 14/08/2007 3


¿Cómo serán los computadores? ¿Cómo serán los computadores?

™Los computadores “desaparecerán”: ™UE: The Disappearing Computer


ƒ …físicamente: la miniaturización de dispositivos y su
integración con otros artefactos de uso cotidiano (ej. ;
ƒ … mentalmente: los computadores continuan siendo
™ Iniciativa financiada por la Unión Europea, perteneciente a la
grandes, pero no serán percibidos como tales (ej. actividad “Future and Emerging Technologies” (FET) del programa
paredes activas, mesas interactivas, etc.) de investigación “Information Society Technologies” (IST)
™ Tres objetivos (*):
• Create information artifacts based on new software and hardware
architectures that are integrated into everyday objects.
• Look at how collections of artifacts can act together, so as to
Interactive Room produce new behavior and new functionality.
(iRoom). It includes three • Investigate the new approaches for designing for collections of
commercial touch-screen artifacts in everyday settings, and how to ensure that people's
displays and a bottom- experience in these new environments is coherent and engaging.
projected table
(*) The Disappearing Computer: http://www.disappearing-computer.net
Franco Guidi Polanco 14/08/2007 4 Franco Guidi Polanco 14/08/2007 5

Tipos de computador Computador analógico

™Computador digital ™ Representa los datos mediante señales analógicas de


naturaleza eléctrica, mecánica o hidráulica, que varían en
™Computador analógico modo continuo (por ejemplo, voltaje o presión de aire).
™ El computador analógico resuelve problemas por analogía
(ej. equipara tensión eléctrica a flujo de un líquido que se
desea controlar)

mV

Franco Guidi Polanco 14/08/2007 6 Franco Guidi Polanco 14/08/2007 7


Computador analógico Computador analógico

™Ejemplo: representación de la velocidad de un


móvil
6 cc 6 cc 6 cc

80 cc 4 cc 4 cc 4 cc 4+2=6
0 10 2 cc 2 cc 2 cc
Volts
0 cc 0 cc 0 cc 6 cc 6 cc 6 cc
kg/m2
0 50
4 cc 4 cc 4 cc

0 cc
4 2
2 cc 2 cc 2 cc
(30 km/hr) (30 km/hr) (30 km/hr) 0 cc 0 cc 0 cc

Franco Guidi Polanco 14/08/2007 8 Franco Guidi Polanco 14/08/2007 9

Computador analógico Computador digital

™ Representa datos mediante variables discretas, sobre las


3.4 cuales realiza operaciones aritmético-lógicas.
3.4458
™ Un computador digital trata los datos como dígitos binarios,
i.e., trabaja en base 2 (dígitos 0 y 1).

6 cc

4 cc
1
2 cc
0 cc

0
Franco Guidi Polanco 14/08/2007 10 Franco Guidi Polanco 14/08/2007 11
Bit / Byte Números binarios

™ Los dígitos se manejan agrupados. Por ejemplo, si los Número b10 Número b2 Conversión
grupos son de 4 dígitos: 0 0 0
1 1 1*20 = 1
11002 = 1 x 23 + 1 x 22 + 0 x 21 + 0 x 20 = 1210 2 10 1*21 + 0*20 = 2
3 11 1*21 + 1*20 = 3
4 100 1*22 + 0*21 + 0*20 = 4
™ Los dígitos binaros reciben el nombre de bits (abreviación 5 101 1*22 + 0*21 + 1*20 = 5
de “binary digits”) 6 110 1*22 + 1*21 + 0*20 = 6
™ Los grupos de dígitos binarios (bits) reciben el nombre de 7 111 1*22 + 1*21 + 1*20 = 7
bytes. 8 1000 1*23 + 0*22 + 0*21 + 0*20 = 8
™ En la mayoría de los sistemas los bytes son de 8 bits. 9 1001 1*23 + 0*22 + 0*21 + 1*20 = 9
10 1010 1*23 + 0*22 + 1*21 + 0*20 = 10
11 1011 1*23 + 0*22 + 1*21 + 1*20 = 11
… … …

Franco Guidi Polanco 14/08/2007 12 Franco Guidi Polanco 14/08/2007 13

Operaciones aritméticas Representación de datos

™ Los valores numéricos se traducen a base 2 y se trabajan ™ Los bytes pueden representar:
en esta base ƒ Números enteros positivos y negativos,
ƒ Números en formato punto flotante, pero en forma aproximada
™ Ejemplo: suma de 5 y 4
Reglas de la suma ƒ Caracteres, por medio de la asociación de éstos a secuencias
510 = 01012 dentro de los grupos. Ejemplo:
en base 2:
410 = 01002
0+0= 0
1+0= 1
0 1 0 1 0+1= 1
1 + 1 = 10
0001 = “A”
+ 0 1 0 0 0010 = “B”
1 0 0 1 0011 = “#”
™ El resultado se traduce a base 10: 910 …

Franco Guidi Polanco 14/08/2007 14 Franco Guidi Polanco 14/08/2007 15


Representación interna de los datos Representación interna de los datos

™Código ASCII extendido:


(American Standard Code for Interchange of Information) ™Código Unicode:
8 bit 256 caracteres (del 0 al 255) 16 bit más de 65.000 caracteres

•En la definición del


Ejemplo: “Mamá“ Unicode Standar 3.0 se
encuentran contenidos
49.194 caracteres.
Carácter Cod. Dec. Rep. Interna
•Cuenta además con
“M” 77 01001101 mecanismo de extensión
“a” 97 01100001 que le permite soportar
“m” 109 01101101 más de 1 millón de
“á” 160 10100000 caracteres adicionales

Franco Guidi Polanco 14/08/2007 16 Franco Guidi Polanco 14/08/2007 17

Representación interna de los datos Operaciones lógicas

™Unidades: ™ Las operaciones más simples que se pueden definir sobre


bits son las operaciones lógicas.
™ Si se asume que el valor 1 representa verdadero y el 0
Nombre Sigla Significado Bytes Equivalencia falso, entonces:
kilobyte Kb 210 1024
Megabyte Mb 220 1.048.576 1024 Kb
AND OR NOT
Gigabyte Gb 230 1.073.741.824 1024 Mb
A B A∧B A B A∨B A ¬A
Terabyte Tb 240 1.099.511.627.776 1024 Gb 0 0 0 0 0 0 0 1
Petabyte Pb 250 1.125.899.906.842.624 1024 Tb 0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1

Franco Guidi Polanco 14/08/2007 18 Franco Guidi Polanco 14/08/2007 19


Arquitectura de un computador Arquitectura de von Neumann

™ “Arquitectura de von ™ Sistema computacional automático: dispositivo que procesa


Neumann”: concebida por instrucciones para ejecutar cálculos de complejidad considerable.
John von Neumann y ™ El dispositivo debe recibir instrucciones exhaustivas y detalladas.
publicada en “First Draft on ™ Las instrucciones deben darse en un formato que el dispositivo
a Report on the EDVAC” (30 pueda percibir. Debe existir un código para representar la
de Junio de 1945) definición lógica y algebraica de las operaciones y los datos.
™ Una vez proporcionadas las instrucciones, el dispositivo debe ser
capaz de ejecutarlas completamente sin necesidad de ulterior
intervención humana.
™ Al finalizar las operaciones el dispositivo debe ser capaz de
registrar los resultados en algún medio (como los propuestos
para el ingreso)

“First Draft on a Report on the EDVAC” (30 de Junio de 1945)


28 de diciembre de 1903 –
8 de febrero de 1957

Franco Guidi Polanco 14/08/2007 20 Franco Guidi Polanco 14/08/2007 21

Componentes lógicos de un computador Operaciones aritméticas

™ La suma de dos bits genera como resultado dos bits:


ƒ Bit de suma
Disp. Unidad ƒ Bit de reserva 1 1
Disp. Unidad
Entrada Control
ControlE/S
E/S + 0 + 1
Entrada
0 1 1 0
Disp.
Disp. Memoria
U.A.L. Memoria bit de reserva bit de suma bit de reserva bit de suma
Salida
Salida U.A.L. Principal
Principal
™ Supongamos la siguiente representación gráfica para los
Disp.
Disp.
Memoria Unidad operadores lógicos:
Memoria Unidad
Auxiliar
Auxiliar Control
Control
Periféricos C.P.U.

OR AND NOT

Franco Guidi Polanco 14/08/2007 22 Franco Guidi Polanco 14/08/2007 23


Operaciones aritméticas (cont.) Operaciones aritméticas (cont.)

™Entonces la suma de los bits A y B: ™Suma de A=0 y B=1 (resultado: S=1 R=0)
A S A=0 S=1
0 A
S: bit de suma
+ R: bit de reserva + + 1 B
B R B=1 R=0
0 1
R S

A A=0
S S=1
OR OR
AND AND
NOT NOT
B R B=1 R=0
AND AND

Franco Guidi Polanco 14/08/2007 24 Franco Guidi Polanco 14/08/2007 25

Operaciones aritméticas (cont.) Operaciones aritméticas (cont.)

™Suma de A=1 y B=0 (resultado: S=1 R=0) ™Suma de A=0 y B=0 (resultado: S=0 R=0)
A=1 S=1 A=0 S=0
1 A 0 A
+ + 0 B + + 0 B
B=0 R=0 B=0 R=0
0 1 0 0
R S R S

A=1 A=0
S=1 S=0
OR OR
AND AND
NOT NOT
B=0 R=0 B=0 R=0
AND AND

Franco Guidi Polanco 14/08/2007 26 Franco Guidi Polanco 14/08/2007 27


Operaciones aritméticas (cont.) Operaciones aritméticas (cont.)

™Suma de A=1 y B=1 (resultado: S=0 R=1) ™ La suma de un bit intermedio en un byte:

A=1 S=0 A B
1 A R’
(proveniente de R’’ R’
+ + 1 B posición derecha)
B=1 R=1 A
1 0 1 1
R S S
+ + …0
1 1…
A=1 + … 0 1 1…
S=0 R R … 0 1 0… B
OR
AND OR
S
NOT
B=1 R=1
R’’ S
AND (para
posición izquierda)

Franco Guidi Polanco 14/08/2007 28 Franco Guidi Polanco 14/08/2007 29

Operaciones aritméticas (cont.) Hardware

™La suma de dos bytes (de 3 bits):

A3A2A1 + B3B2B1 = R3S3S2S1 Disco Duro


Tarjetas
A3 B3 A2 B2 A1 B1 Ranuras controladoras Monitor
de expansión
(Slots)

Memoria principal
R2 R1 C.P.U.

+ + +
CD/DVD
Tarjeta “madre”

R3 S3 S2 S1
Disquetera Teclado

Franco Guidi Polanco 14/08/2007 30 Franco Guidi Polanco 14/08/2007 31


Componentes del hardware Componentes del hardware

„ Periféricos: comunican al computador con su


entorno, aceptando comandos y datos, y „ Memoria principal: almacena las
presentando los resultados de sus procesos. instrucciones y datos necesarios para un
– Dispositivos de entrada: teclado, mouse determinado proceso. Se compone de:
(ratón), joystick, scanner, lector de código
de barras, módem-fax*, tarjeta de red*, etc. – RAM (Random Access Memory): guarda
– Dispositivos de salida: monitor, impresora, las instrucciones de los programas en
proyector, módem-fax*, tarjeta de red*, etc. ejecución y los datos necesarios. Admite
– Dispositivos de memoria auxiliar (o de
la escritura y lectura.
almacena-minto secundario): unidad
– ROM (Read Only Memory): contiene los
CD/DVD, pendrive, disquetes, disco duro,
unidad Zip, unidad de cinta, etc. microprogramas incorporados por el
fabricante del equipo. Admite sólo la
lectura.

Franco Guidi Polanco 14/08/2007 32 Franco Guidi Polanco 14/08/2007 33

Componentes del hardware Software

„ Unidad Central de Proceso (CPU): controla, ™ Software: Son los programas que se ejecutan en el
coordina o realiza todas las operaciones del hardware.
computador. Se compone de:
™ Programa: Es un conjunto de instrucciones que ordena al
– Unidad de Control: controla las operaciones. hardware la realización de una tarea en particular.

– Unidad Aritmético Lógica: realiza las ™ El software se puede clasificar en:


operciones elementales de tipo aritmético
ƒ Sistemas operativos.
(suma, resta, multiplicación y división) y de
tipo lógico (comparaciones). ƒ Traductores: ensambladores, compiladores e
intérpretes.
ƒ Aplicaciones.

Franco Guidi Polanco 14/08/2007 34 Franco Guidi Polanco 14/08/2007 35


Software: sistema operativo Software: rol del sistema operativo

™Sistema Operativo: es un conjunto de


Usuario
programas que controla el funcionamiento
del hardware. Se compone de: Comandos y datos Resultados

ƒ Programas imprescindibles para la operación del Comandos Resultados


Aplicaciones
y datos
hardware.
Instrucciones
ƒ Programas utilitarios. y datos Resultados Software
™Ejemplos de sistemas operativos: Sistema operativo
ƒ Windows
Instrucciones
ƒ Linux y datos
Resultados
ƒ Solaris Componentes
electrónicos
Hardware

Franco Guidi Polanco 14/08/2007 36 Franco Guidi Polanco 14/08/2007 37

Software: sistemas operativos Software: sistemas operativos

™ El S.O. permite ejecutar los archivos de programas,


™ El S.O. trata como archivos a las aplicaciones y a los datos que posibilitan a los usuarios tanto el ingreso y
que éstas almacenan. recuperación de datos, como su procesamiento y
™ Un archivo es un conjuno de registros relacionados. despliegue de resultados.
™ Existen (al menos) dos tipos de archivos:
ƒ Archivos de programa: conjuntos de instrucciones
que componen una aplicación.
ƒ Archivos de datos: guardan datos e imágenes que son Programas docencia.exe
mantenidos y consultados por una o más aplicaciones.

Archivos de alumnos.dbf
cursos.dbf
datos notas.dbf
Usuario practicas.dbf

Franco Guidi Polanco 14/08/2007 38 Franco Guidi Polanco 14/08/2007 39


Traductores Traductores: ensambladores

™ Traductores: son metaprogramas que permiten convertir ™ Son programas traductores que transforman programas
programas escritos en un lenguajes simbólicos a sus escritos en lenguajes simbólicos de bajo nivel (lenguaje
equivalentes en lenguaje de máquina. Pueden ser: ensamblador o Assembler) en programas objeto.
ensambladores, compiladores o intérpretes. ™ Cada instrucción en lenguaje fuente se transforma en una
única instrucción en lenguaje objeto.

program saludo (output); 1110 1110 1001 1110


1011 0011 1100 0011 1101 1101 1100
begin 0110 1001 0101 1011 START: MVI A,0 0110 1011 1011
writeln( “Hola mundo” ); Traducción 1011 1111 1101 1000 Ejecución MOV B,A
0011 0001
1011 0001 0101 1110 LOP1: OUT 1
writeln( ‘chao’ ) 1110 0100
1101 0101 0001 1010 DCR A
end. Ensamblador 1011 1100
1000 0001 1110 1001 JNZ LOP1
MOV A,B 0111 1011 1011
DCR A
Programa “Fuente” Programa “objeto” JZ CONT
1110 0100
1100 0100
Comprensible por el hombre, Comprensible por hardware, MOV B,A
0111 1011 1011
incomprensible por el hardware. de difícil comprensión por
Programa “Fuente” Programa “objeto”
el hombre.

Franco Guidi Polanco 14/08/2007 40 Franco Guidi Polanco 14/08/2007 41

Traductores: compiladores e intérpretes Traductores: compiladores e intérpretes

™ Son programas traductores que transforman programas ™ Compilación:


escritos en lenguajes simbólicos de alto nivel, en 110 1111
011 1001 1011
programas objeto. i=1
DO WHILE i <= 3
100 1011 1011
010 1101 1011
Compilador Ejecución
™ Cada instrucción en lenguaje fuente se transforma en una PRINT i
STORE i + 1 TO i
100 0010 0001
110 1011
o más instrucciones en lenguaje objeto. ENDDO 101 0011 1111
111 0001 1110

™ El compilador traduce todo el programa fuente y si no


hay errores genera el programa objeto, que luego es „ Interpretación:
posible ejecutar. i=1
101 1111 Ejecución
011 1001 1011
™ El intérprete traduce y ejecuta inmediatamente cada
DO WHILE i<=3 Ejecución
i=1 100 1011 1011
DO WHILE i <= 3 PRINT i
línea del programa fuente. PRINT i
STORE i + 1 TO i
010 1101 1011 Ejecución
STORE i + 1 TO i 100 0010 0001
ENDDO ENDDO
Ejecución
110 1011
DO WHILE i<=3 Ejecución
011 1001 1011
... 100 1011 1011 Ejecución
Intérprete

Franco Guidi Polanco 14/08/2007 42 Franco Guidi Polanco 14/08/2007 43


Traductores: compiladores e intérpretes Traductores: compiladores e intérpretes
™ Algunos lenguajes de alto nivel: ™ Otros lenguajes y extensiones de fabricantes:
ƒ FORTRAN: primer lenguaje de ƒ Pascal: creado para la docencia ƒ xBase: (dBase, Clipper, Fox, y otros) creado para
alto nivel. Para aplicaciones de la programación, se amplió su
científicas y de ingeniería (de facilitar el manejo de archivos de datos en el
uso a todo tipo de aplicaciones desarrollo de aplicaciones comerciales.
FORmula TRANslator). (en homenaje a Blaise Pascal).

ƒ COBOL: lenguaje universal para ƒ C: creado para la programación ƒ Visual Basic: extensión estructurada del BASIC
el desarrollo de aplicaciones del sistema operativo UNIX, se para la generación de aplicaciones con G.U.I.
comerciales, facilita el manejo amplió su uso a todo tipo de (Graphic User Interface) en entorno Windows y
de archivos y la generación de aplicaciones. arquitectura Cliente/Servidor.
informes (de Common Business
Oriented Languaje).
ƒ ADA: intento de obtener un ƒ Delphi: basado en el Pascal, tiene prestaciones
lenguaje para programar todo similares al anterior.
ƒ BASIC: diseñado para
principiantes, pero no es tipo de aplicaciones (en
estructurado (de Beginner´s All- homenaje a Agusta Ada Byron, ƒ Visual C, Visual C++: extensión del C, incorpora
purpose Symbolic Instruction condesa de Lovelace). objetos y se usa en la programación de sistemas y
Code). en aplicaciones similares a los anteriores.
ƒ otros: PL/I, MODULA, etc.
Franco Guidi Polanco 14/08/2007 44 Franco Guidi Polanco 14/08/2007 45

Traductores: compiladores e intérpretes Plataformas de desarrollo

™Para el desarrollo de aplicaciones empresariales de


ƒ Java: es un lenguaje de programación y una
varios niveles:
plataforma de ejecución creados por un equipo de
investigadores de Sun Microsystems a comienzos
de los 90’s. Este lenguaje se llamaba ƒ .Net (“Dot Net”): framework de software propuesto por
originalmente “Oak”, y fue concebido para la Microsoft. Característica: soporta diferentes lenguajes
programación de electrodomésticos. de programación.

ƒ J2EE (“Java 2 Platform Enterprise Edition”): ambiente


centrado en Java, desarrollado por Sun Microsystems,
par el desarrollo de aplicaciones basadas en Web.
Característica: es independiente de la plataforma.

Franco Guidi Polanco 14/08/2007 46 Franco Guidi Polanco 14/08/2007 47


Aplicaciones Interfaz de usuario

™ Son los programas disponibles para los usuarios ™Interfaz de consola:


finales. Se pueden clasifican como:
„ Aplicaciones estándares: se comercializan para ser
utilizadas en cualquier empresa o por particulares. Por
ejemplo:
– Procesadores de texto, planillas electrónicas, programas
para presentaciones.
– Programas de apoyo a la investigación científica y
tecnológica (ej. solvers para optimización en I.O.)
– Programas CAD (Computer Aided Design) / CAM
(Computer Aided Manufacturing)
„ Aplicaciones a medida: se desarrollan para una
determinada empresa, en respuesta a sus necesidades
particulares (ej. Sistema de Personal, de Ventas, etc.).

Franco Guidi Polanco 14/08/2007 48 Franco Guidi Polanco 14/08/2007 49

Interfaz de usuario Interfaz de usuario

™Graphic User Interface (GUI) con ventanas: ™Interfaz “Web”:

Franco Guidi Polanco 14/08/2007 50 Franco Guidi Polanco 14/08/2007 51