13
El Computador Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] 14/08/2007 Franco Guidi Polanco 1 ¿Qué es un computador? Un computador es una máquina principalmente electrónica, capaz de almacenar y procesar en corto tiempo grandes cantidades de datos, de acuerdo con un conjunto de instrucciones especificadas. 14/08/2007 Franco Guidi Polanco 2 ¿Cómo son los computadores? Lo que primero se nos viene en mente… Univac 1108 14/08/2007 Franco Guidi Polanco 3 ¿Cómo son los computadores? Pero éstos también lo son:

El Computadoreii.pucv.cl/pers/guidi/cursos/ti/ElComputador... · 2020. 12. 29. · El computador analógico resuelve problemas por analogía (ej. equipara tensión eléctrica a flujo

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

El Computador

Franco Guidi PolancoEscuela de Ingeniería Industrial

Pontificia Universidad Católica de Valparaíso, [email protected]

14/08/2007Franco Guidi Polanco 1

¿Qué es un computador?

Un computador es una máquina principalmente electrónica, capaz de almacenar y procesar en corto tiempo grandes cantidades de datos, de acuerdo con un conjunto de instrucciones especificadas.

14/08/2007Franco Guidi Polanco 2

¿Cómo son los computadores?

Lo que primero se nos viene en mente…

Univac 1108

14/08/2007Franco Guidi Polanco 3

¿Cómo son los computadores?

Pero éstos también lo son:

14/08/2007Franco Guidi Polanco 4

¿Cómo serán los computadores?

Los computadores “desaparecerán”:…físicamente: la miniaturización de dispositivos y su integración con otros artefactos de uso cotidiano (ej. ;… mentalmente: los computadores continuan siendo grandes, pero no serán percibidos como tales (ej. paredes activas, mesas interactivas, etc.)

Interactive Room (iRoom). It includes three commercial touch-screen

displays and a bottom-projected table

14/08/2007Franco Guidi Polanco 5

¿Cómo serán los computadores?

UE: The Disappearing Computer

Iniciativa financiada por la Unión Europea, perteneciente a la actividad “Future and Emerging Technologies” (FET) del programa 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

produce new behavior and new functionality. • Investigate the new approaches for designing for collections of

artifacts in everyday settings, and how to ensure that people's experience in these new environments is coherent and engaging.

(*) The Disappearing Computer: http://www.disappearing-computer.net

14/08/2007Franco Guidi Polanco 6

Tipos de computador

Computador digital Computador analógico

14/08/2007Franco Guidi Polanco 7

Computador analógico

Representa los datos mediante señales analógicas de naturaleza eléctrica, mecánica o hidráulica, que varían en 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

t

14/08/2007Franco Guidi Polanco 8

Computador analógico

Ejemplo: representación de la velocidad de un móvil

0 10Volts

(30 km/hr)

0 50kg/m2

(30 km/hr)0 cc

80 cc

(30 km/hr)

14/08/2007Franco Guidi Polanco 9

Computador analógico

0 cc

2 cc

4 cc

6 cc

0 cc

2 cc

4 cc

6 cc

0 cc

2 cc

4 cc

6 cc

0 cc

2 cc

4 cc

6 cc

0 cc

2 cc

4 cc

6 cc

0 cc

2 cc

4 cc

6 cc

4 2

4+2=6

14/08/2007Franco Guidi Polanco 10

Computador analógico

0 cc

2 cc

4 cc

6 cc

3.43.4458

14/08/2007Franco Guidi Polanco 11

Computador digital

Representa datos mediante variables discretas, sobre las cuales realiza operaciones aritmético-lógicas.Un computador digital trata los datos como dígitos binarios, i.e., trabaja en base 2 (dígitos 0 y 1).

0

1

14/08/2007Franco Guidi Polanco 12

Bit / Byte

Los dígitos se manejan agrupados. Por ejemplo, si los grupos son de 4 dígitos:

11002 = 1 x 23 + 1 x 22 + 0 x 21 + 0 x 20 = 1210

Los dígitos binaros reciben el nombre de bits (abreviación de “binary digits”)Los grupos de dígitos binarios (bits) reciben el nombre de bytes. En la mayoría de los sistemas los bytes son de 8 bits.

14/08/2007Franco Guidi Polanco 13

Números binarios

ConversiónNúmero b2Número b10

1*23 + 0*22 + 0*21 + 1*20 = 910019

1*23 + 0*22 + 1*21 + 0*20 = 10101010

1*23 + 0*22 + 1*21 + 1*20 = 11101111

………

1*23 + 0*22 + 0*21 + 0*20 = 810008

1*22 + 1*21 + 1*20 = 71117

1*22 + 1*21 + 0*20 = 61106

1*22 + 0*21 + 1*20 = 51015

1*22 + 0*21 + 0*20 = 41004

1*21 + 1*20 = 3113

1*21 + 0*20 = 2102

1*20 = 111

000

14/08/2007Franco Guidi Polanco 14

Operaciones aritméticas

Los valores numéricos se traducen a base 2 y se trabajan en esta baseEjemplo: suma de 5 y 4

510 = 01012

410 = 01002

El resultado se traduce a base 10: 910

0 1 0 10 1 0 01 0 0 1

+

Reglas de la suma en base 2:0 + 0 = 01 + 0 = 10 + 1 = 11 + 1 = 10

14/08/2007Franco Guidi Polanco 15

Representación de datos

Los bytes pueden representar:Números enteros positivos y negativos, Números en formato punto flotante, pero en forma aproximadaCaracteres, por medio de la asociación de éstos a secuencias dentro de los grupos. Ejemplo:

0001 = “A”0010 = “B”0011 = “#”…

14/08/2007Franco Guidi Polanco 16

Representación interna de los datos

Código ASCII extendido:(American Standard Code for Interchange of Information) 8 bit 256 caracteres (del 0 al 255)

Ejemplo: “Mamá“

Carácter Cod. Dec. Rep. Interna

“M” 77 01001101“a” 97 01100001“m” 109 01101101“á” 160 10100000

14/08/2007Franco Guidi Polanco 17

Representación interna de los datos

Código Unicode:16 bit más de 65.000 caracteres

•En la definición del Unicode Standar 3.0 se encuentran contenidos 49.194 caracteres.

•Cuenta además con mecanismo de extensión que le permite soportar más de 1 millón de caracteres adicionales

14/08/2007Franco Guidi Polanco 18

Representación interna de los datos

Unidades:

1024 Mb1.073.741.824 230GbGigabyte

1024 Gb1.099.511.627.776 240TbTerabyte

1024 Tb1.125.899.906.842.624 250PbPetabyte

1024 Kb1.048.576 220MbMegabyte

1024210Kbkilobyte

EquivalenciaBytesSignificadoSiglaNombre

14/08/2007Franco Guidi Polanco 19

Operaciones lógicas

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 falso, entonces:

111

001

010

000

A ∧ BBA

111

101

110

000

A ∨ BBA

01

10

¬AA

AND OR NOT

14/08/2007Franco Guidi Polanco 20

Arquitectura de un computador

“Arquitectura de von Neumann”: concebida por John von Neumann y publicada en “First Draft on a Report on the EDVAC” (30 de Junio de 1945)

28 de diciembre de 1903 –8 de febrero de 1957

14/08/2007Franco Guidi Polanco 21

Arquitectura de von Neumann

Sistema computacional automático: dispositivo que procesa instrucciones para ejecutar cálculos de complejidad considerable.El dispositivo debe recibir instrucciones exhaustivas y detalladas.Las instrucciones deben darse en un formato que el dispositivo pueda percibir. Debe existir un código para representar la 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)

14/08/2007Franco Guidi Polanco 22

Componentes lógicos de un computador

Disp.EntradaDisp.

Entrada

Disp.SalidaDisp.Salida

Disp.MemoriaAuxiliar

Disp.MemoriaAuxiliar

UnidadControl E/S

UnidadControl E/S

U.A.L.U.A.L.

UnidadControlUnidadControl

MemoriaPrincipalMemoriaPrincipal

Periféricos C.P.U.

14/08/2007Franco Guidi Polanco 23

Operaciones aritméticas

La suma de dos bits genera como resultado dos bits:Bit de sumaBit de reserva

Supongamos la siguiente representación gráfica para los operadores lógicos:

OR AND NOT

1+ 00 1

1+ 11 0

bit de reserva bit de reservabit de suma bit de suma

14/08/2007Franco Guidi Polanco 24

Operaciones aritméticas (cont.)

Entonces la suma de los bits A y B:

+A

B R

SS: bit de suma R: bit de reserva

OR

AND

A

B R

S

NOT

AND

14/08/2007Franco Guidi Polanco 25

Operaciones aritméticas (cont.)

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

+A=0

B=1 R=0

S=1

OR

AND

A=0

B=1 R=0

S=1

NOT

AND

0+ 10 1

SR

A

B

14/08/2007Franco Guidi Polanco 26

Operaciones aritméticas (cont.)

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

+A=1

B=0 R=0

S=1

OR

AND

A=1

B=0 R=0

S=1

NOT

AND

1+ 00 1

SR

A

B

14/08/2007Franco Guidi Polanco 27

Operaciones aritméticas (cont.)

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

+A=0

B=0 R=0

S=0

OR

AND

A=0

B=0 R=0

S=0

NOT

AND

0+ 00 0

SR

A

B

14/08/2007Franco Guidi Polanco 28

Operaciones aritméticas (cont.)

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

+A=1

B=1 R=1

S=0

OR

AND

A=1

B=1 R=1

S=0

NOT

AND

1+ 11 0

SR

A

B

14/08/2007Franco Guidi Polanco 29

Operaciones aritméticas (cont.)

La suma de un bit intermedio en un byte:

+ +

A B R’(proveniente deposición derecha)

S

SR’’(para posición izquierda)

OR

…0 1 1…… 0 1 1…… 0 1 0…

11

+

A

B

R’R’’

R R

S

14/08/2007Franco Guidi Polanco 30

Operaciones aritméticas (cont.)

La suma de dos bytes (de 3 bits):

+ + +

A1 B1A2 B2

A3 B3

R1R2

R3 S1S2S3

A3A2A1 + B3B2B1 = R3S3S2S1

14/08/2007Franco Guidi Polanco 31

Hardware

Disco Duro

Disquetera Teclado

MonitorTarjetas

controladoras

Tarjeta “madre”

Memoria principalC.P.U.

Ranuras de expansión (Slots)

CD/DVD

14/08/2007Franco Guidi Polanco 32

Componentes del hardware

Periféricos: comunican al computador con su entorno, aceptando comandos y datos, y presentando los resultados de sus procesos.

– Dispositivos de entrada: teclado, mouse(ratón), joystick, scanner, lector de código de barras, módem-fax*, tarjeta de red*, etc.

– Dispositivos de salida: monitor, impresora, proyector, módem-fax*, tarjeta de red*, etc.

– Dispositivos de memoria auxiliar (o de almacena-minto secundario): unidad CD/DVD, pendrive, disquetes, disco duro, unidad Zip, unidad de cinta, etc.

14/08/2007Franco Guidi Polanco 33

Componentes del hardware

Memoria principal: almacena las instrucciones y datos necesarios para un determinado proceso. Se compone de:

– RAM (Random Access Memory): guarda las instrucciones de los programas en ejecución y los datos necesarios. Admite la escritura y lectura.

– ROM (Read Only Memory): contiene los microprogramas incorporados por el fabricante del equipo. Admite sólo la lectura.

14/08/2007Franco Guidi Polanco 34

Unidad Central de Proceso (CPU): controla, coordina o realiza todas las operaciones del computador. Se compone de:

– Unidad de Control: controla las operaciones.

– Unidad Aritmético Lógica: realiza las operciones elementales de tipo aritmético (suma, resta, multiplicación y división) y de tipo lógico (comparaciones).

Componentes del hardware

14/08/2007Franco Guidi Polanco 35

Software

Software: Son los programas que se ejecutan en el hardware.

Programa: Es un conjunto de instrucciones que ordena al hardware la realización de una tarea en particular.

El software se puede clasificar en:Sistemas operativos.Traductores: ensambladores, compiladores e intérpretes.Aplicaciones.

14/08/2007Franco Guidi Polanco 36

Software: sistema operativo

Sistema Operativo: es un conjunto de programas que controla el funcionamiento del hardware. Se compone de:

Programas imprescindibles para la operación del hardware.Programas utilitarios.

Ejemplos de sistemas operativos:WindowsLinuxSolaris

14/08/2007Franco Guidi Polanco 37

Software: rol del sistema operativo

Sistema operativo

Aplicaciones

Componenteselectrónicos

Usuario

Instrucciones y datos Resultados

Comandos y datos

ResultadosInstruccionesy datos

Resultados

Resultados

Comandos y datos

Hardware

Software

14/08/2007Franco Guidi Polanco 38

Software: sistemas operativos

El S.O. trata como archivos a las aplicaciones y a los datos que éstas almacenan.Un archivo es un conjuno de registros relacionados.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 mantenidos y consultados por una o más aplicaciones.

14/08/2007Franco Guidi Polanco 39

Software: sistemas operativos

El S.O. permite ejecutar los archivos de programas, que posibilitan a los usuarios tanto el ingreso y recuperación de datos, como su procesamiento y despliegue de resultados.

Programas

Archivos dedatos

Usuario

docencia.exe

alumnos.dbfcursos.dbfnotas.dbfpracticas.dbf

14/08/2007Franco Guidi Polanco 40

Traductores

Traductores: son metaprogramas que permiten convertir programas escritos en un lenguajes simbólicos a sus equivalentes en lenguaje de máquina. Pueden ser: ensambladores, compiladores o intérpretes.

Traducción

program saludo (output);

beginwriteln( “Hola mundo” );writeln( ‘chao’ )

end.

1110 1110 1001 1110 1011 0011 1100 0011 0110 1001 0101 10111011 1111 1101 10001011 0001 0101 11101101 0101 0001 10101000 0001 1110 1001

Ejecución

Programa “Fuente” Programa “objeto”Comprensible por el hombre, incomprensible por el hardware.

Comprensible por hardware, de difícil comprensión por el hombre.

14/08/2007Franco Guidi Polanco 41

Traductores: ensambladores

Son programas traductores que transforman programas escritos en lenguajes simbólicos de bajo nivel (lenguaje ensamblador o Assembler) en programas objeto. Cada instrucción en lenguaje fuente se transforma en una única instrucción en lenguaje objeto.

START: MVI A,0MOV B,A

LOP1: OUT 1DCR AJNZ LOP1MOV A,BDCR AJZ CONTMOV B,A

Ensamblador

1101 1101 11000110 1011 10110011 00011110 01001011 11000111 1011 10111110 01001100 01000111 1011 1011

Programa “Fuente” Programa “objeto”

14/08/2007Franco Guidi Polanco 42

Traductores: compiladores e intérpretes

Son programas traductores que transforman programas escritos en lenguajes simbólicos de alto nivel, en programas objeto. Cada instrucción en lenguaje fuente se transforma en una o más instrucciones en lenguaje objeto.El compilador traduce todo el programa fuente y si no hay errores genera el programa objeto, que luego es posible ejecutar.El intérprete traduce y ejecuta inmediatamente cada línea del programa fuente.

14/08/2007Franco Guidi Polanco 43

Traductores: compiladores e intérpretes

Compilación:

Interpretación:

i = 1DO WHILE i <= 3

PRINT iSTORE i + 1 TO i

ENDDO

Compilador

110 1111011 1001 1011100 1011 1011010 1101 1011100 0010 0001110 1011101 0011 1111111 0001 1110

i = 1DO WHILE i <= 3

PRINT iSTORE i + 1 TO i

ENDDO

Ejecución

Intérprete

i = 1 101 1111 EjecuciónDO WHILE i<=3

PRINT i

STORE i + 1 TO i

ENDDO

DO WHILE i<=3

011 1001 1011100 1011 1011

100 0010 0001

010 1101 1011

110 1011

...011 1001 1011100 1011 1011

Ejecución

Ejecución

Ejecución

Ejecución

Ejecución

14/08/2007Franco Guidi Polanco 44

Traductores: compiladores e intérpretes

Algunos lenguajes de alto nivel:

FORTRAN: primer lenguaje de alto nivel. Para aplicaciones científicas y de ingeniería (de FORmula TRANslator).

COBOL: lenguaje universal para el desarrollo de aplicaciones comerciales, facilita el manejo de archivos y la generación de informes (de Common BusinessOriented Languaje).

BASIC: diseñado para principiantes, pero no es estructurado (de Beginner´s All-purpose Symbolic InstructionCode).

Pascal: creado para la docencia de la programación, se amplió su uso a todo tipo de aplicaciones (en homenaje a Blaise Pascal).

C: creado para la programación del sistema operativo UNIX, se amplió su uso a todo tipo de aplicaciones.

ADA: intento de obtener un lenguaje para programar todo tipo de aplicaciones (en homenaje a Agusta Ada Byron, condesa de Lovelace).

otros: PL/I, MODULA, etc.

14/08/2007Franco Guidi Polanco 45

Traductores: compiladores e intérpretes

Otros lenguajes y extensiones de fabricantes:

xBase: (dBase, Clipper, Fox, y otros) creado para facilitar el manejo de archivos de datos en el desarrollo de aplicaciones comerciales.

Visual Basic: extensión estructurada del BASIC para la generación de aplicaciones con G.U.I. (Graphic User Interface) en entorno Windows y arquitectura Cliente/Servidor.

Delphi: basado en el Pascal, tiene prestaciones similares al anterior.

Visual C, Visual C++: extensión del C, incorpora objetos y se usa en la programación de sistemas y en aplicaciones similares a los anteriores.

14/08/2007Franco Guidi Polanco 46

Traductores: compiladores e intérpretes

Java: es un lenguaje de programación y una plataforma de ejecución creados por un equipo de investigadores de Sun Microsystems a comienzos de los 90’s. Este lenguaje se llamaba originalmente “Oak”, y fue concebido para la programación de electrodomésticos.

14/08/2007Franco Guidi Polanco 47

Plataformas de desarrollo

Para el desarrollo de aplicaciones empresariales de varios niveles:

.Net (“Dot Net”): framework de software propuesto por Microsoft. Característica: soporta diferentes lenguajes 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.

14/08/2007Franco Guidi Polanco 48

Aplicaciones

Son los programas disponibles para los usuarios 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.).

14/08/2007Franco Guidi Polanco 49

Interfaz de usuario

Interfaz de consola:

14/08/2007Franco Guidi Polanco 50

Interfaz de usuario

Graphic User Interface (GUI) con ventanas:

14/08/2007Franco Guidi Polanco 51

Interfaz de usuario

Interfaz “Web”: