historia de la computación introducción a la ing. en computación ing. moisés e. ramírez g

79
Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G.

Upload: sandra-morales-herrera

Post on 24-Jan-2016

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

Historia de la computación

Introducción a la Ing. en Computación

Ing. Moisés E. Ramírez G.

Page 2: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 2

Introducción El objetivo de esta sección es hacer una

perspectiva histórica breve del campo de la computación haciendo énfasis en los inventos y personajes que han influido de mayor manera para el desarrollo de ésta.

Page 3: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 3

Abaco Uno de los problemas que siempre ha fascinado al hombre

es el relacionado con la actividad de contar y el concepto de número. De ahí que entre las primeras herramientas que inventó están dispositivos mecánicos capaces de ayudarlo con estas tareas.

El ábacoLos egipcios (500 años AC) inventaron el primer dispositivo para calcular, basado en bolillas atravesadas por alambres. Posteriormente, a principios del siglo II DC, los chinos perfeccionaron este dispositivo, al cual le agregaron un soporte tipo bandeja, poniéndole por nombre Saun-pan. El ábaco permite realizar sumar, restar, multiplicar y dividir.

Page 4: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 4

Los sistemas de numeración

Para contar, nuestros antepasados inventaron diversos sistemas de numeración que prevalecen hasta nuestros días. Una forma de clasificarlos es en ‘posicionales’ y ‘no posicionales’.

Ventajas/DesventajasLos posicionales (ejm. El sistema decimal) tienen como ventaja sobre los no posicionales (ejm. El sistema de numeración romano) que pueden representar cualquier número con un conjunto limitado de guarismos o cifras, además de que las operaciones aritméticas son más fáciles de realizar.

Page 5: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 5

La pascalina Blaise Pascal (1623-1662) En 1649

gracias a un decreto real obtuvo el monopolio para la fabricación y producción de su máquina de calcular conocida como la PASCALINA. Esta máquina consistía en una serie de engranes que permitía obtener los resultados de las operaciones de sumas y restas de forma directa de hasta 8 dígitos.

Page 6: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 6

Sistema Binario Gottfried Wilhelm Leibniz (1646-1716). En

1670, Leibniz mejora la máquina inventada por Blaise Pascal, al agregarle capacidades de multiplicación, división y raíz cúbica.

En 1979 crea y presenta el modo aritmético binario, basado en "ceros" y "unos", lo cual serviría unos siglos más tarde para estandarizar la simbología utilizada aplicada en el procesamiento de la información en las computadoras modernas.

Page 7: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 7

Charles Babbage y Ada Byron

Charles Babbage (1792-1871) Babbage concibió dos máquinas:

La Máquina Diferencial era un dispositivo de 6 dígitos que resolvía ecuaciones polinómicas por el método diferencial.

La máquina Analítica, fue diseñada como un dispositivo de cómputo general.

Babbage trabajó en estos proyectos con Ada Byron, considerada la primer programadora de la era de la computación ya que fue ella quien se hizo cargo del análisis y desarrollo de todo el trabajo del inventor y la programación de los cálculos a procesarse

Page 8: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 8

Partes de la máquina analítica 1. Dispositivo de entrada de la

información: recibe la información a procesar y las instrucciones del programa.

2. Unidad de almacenaje: que almacena información.

3. Procesador: con la función de realizar operaciones lógicas y aritméticas sobre la información.

4. Unidad de control: dirige a todas las demás unidades determinando cuándo debe leer información, que operación realizar,...

5. Dispositivo de salida: muestra la información ya procesada.

Page 9: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 9

Las tarjetas perforadas Joseph Marie Jacquard (1752 - 1834) modificó

una maquinaria textil, inventada por Vaucanson, a la cual implementó un sistema de plantillas o moldes metálicos perforados unidas por correas, que permitían programar las puntadas del tejido, logrando obtener una diversidad de tramas y figuras.

A partir del invento de Jacquard empezaron a proliferar, las máquinas y equipos programados por sistemas perforados, tales como los pianos mecánicos, conocidos como pianolas , muñecos y otros novedosos juguetes mecánicos .

Page 10: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 10

Máquina tabuladora Herman Hollerith (1860-1929) empezó

a trabajar con el sistema de máquinas tabuladoras logrando su primera patente en 1884.

El gobierno norteamericano convocó a una licitación para un sistema de procesamiento de datos que proporcionase resultados más rápidos (se había estimado que tardarían en procesarse unos 10 ó 12 años).

Page 11: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 11

Herman Hollerith, que trabajaba como empleado del buró de Censos, propuso su sistema basado en tarjetas perforadas, y que puesto en práctica constituyó el primer intento exitoso de automatizar el procesamiento de grandes volúmenes de información.

Las máquinas de Hollerith clasificaron, ordenaban y enumeraban las tarjetas perforadas que contenían los datos de las personas censadas, logrando una rápida emisión de reportes, a partir de los 6 meses.

Nace IBM Los resultados finales del censo de 1890 se obtuvieron en el tiempo record de 2 años y medio. Herman Hollerith en 1896 fundó la TABULATING MACHINE COMPANY que luego se convirtió en la Computer Tabulating Machine (CTR). Hollerith se retiró en 1921 y en 1924 CTR cambió su nombre por el de International Business Machines Corporation (IBM), que años más tarde se convertiría en el gigante de la computación.

Page 12: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 12

John Louis von Neumann (1903-1957)

En 1944 contribuyó en forma directa en los diseños de fabricación de computadoras de esa generación, asesorando a Eckert y John Machly , creadores de la ENIAC y que construyeran además la UNIVAC en 1950. Durante esa década trabajó como consultor para la IBM colaborando con Howard Aiken para la construcción de la computadora Mark I de Harvard.

Page 13: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 13

Conrad Zuse (1910-1957) Entre 1936 y 1939 construyó la primera computadora

electromecánica binaria programable, la cual hacía uso de relés eléctricos para automatizar los procesos (Z1).

En 1940 Zuse terminó su modelo Z2, el cual fue la primera computadora electromecánica completamente funcional del mundo. Al año siguiente, en 1941, fabricó su modelo Z3 para el cual desarrolló un programa de control que hacía uso de los dígitos binarios.

Entre 1945 y 1946 creó el "Plankalkül" (Plan de Cálculos), el primer lenguaje de programación de la historia y predecesor de los lenguajes modernos de programación algorítmica.

En 1949 formó la fundación ZUSE KG dedicada al desarrollo de programas de control para computadoras electro mecánicas. En 1956 esta fundación fue adquirida por la empresa Siemens Computadoras

Page 14: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

Generaciones de computadoras

Page 15: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 15

Primera generación (1945-1958)

Tubos de vacío Almacenamiento masivo de datos en tambores

y cintas magnéticas Máquinas muy grandes y con grandes Necesidades de energía. Grandes sistemas de ventilación Tarjetas perforadas Lenguaje máquina. UNIVAC I, ENIAC, ABC (Atanasoff-Berry ), Mark

I, EDVAC

Page 16: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 16

Segunda Generación (1959-1964) Transistores Equipos de tamaño, consumo de energía y

necesidades de ventilación menores Aparecen los primeros lenguajes de programación: COBOL y Fortran Aumenta la confiabilidad. IBM 360, Digital PDP-8

Page 17: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 17

Tercera generación (1964-1971) Circuitos integrados Computadoras más rápidas, pequeñas, menos

costosas y con mayores capacidades. Aparecen los primeros sistemas operativos. Interconexión de las primeras computadoras

en red. Aparición de la multiprogramación. Desarrollo de lenguajes de programación de

alto nivel y software en general –mayor variedad de aplicaciones.

Aparecen las minicomputadoras . CRAY-1

Page 18: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 18

Cuarta generación Miniaturización de los circuitos integrados

usando chips de silicio. Aparición de las computadoras personales. Procesador 8008 Cada vez más eficientes, baratas, capacidades

mayores y consumo de energía menor. Interfaces gráficas. IBM PC, APPLE II

Page 19: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 19

Quinta generación (1978 -?) Inteligencia Artificial, Sistemas Expertos,

Visión Artificial, Comprensión de lenguaje natural, robótica.

Computadoras cada vez más rápidas, baratas, eficientes, pequeñas,...

Page 20: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 20

Charles Babbage Se considera a Charles Babbage (matemático inglés

profesor en Cambridge) como el precursor de las ciencias informáticas; tanto por establecer los conceptos teóricos en que se basa actualmente la arquitectura de computadores, como por diseñar sus máquinas analítica y de las diferencias: auténticas pioneras de las calculadoras digitales, pese a basarse en principios puramente mecánicos, lo que constituye todo un alarde de ingeniería.

El tal sujeto era un bicho raro ya desde estudiante en el Trinity College: aficionado a repasar los errores de cálculo, transcripción o tipográficos que se acumulaban en las tablas matemáticas de la época cual ratón de biblioteca, se le ocurrió la genial idea de construir una máquina capaz de recopilar las tablas de logaritmos, que por aquel entonces apenas tenían un siglo de antigüedad.

Page 21: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 21

El método de diferencias finitas

De carácter muy excéntrico, se movía en círculos privilegiados, donde lo hacían también Charles Dickens, Pierre S. de Laplace o Charles Darwin, lo que le dotaba de una visión de la realidad muy avanzada para su época.

Su primera calculadora digital fue inventada en 1822 para el Servicio de Correos Británico; determinaba valores sucesivos de funciones polinómicas utilizando solamente la operación de adición, mediante el método de las diferencias finitas: partiendo de los valores iniciales conocidos de una serie de potencias obtenemos los demás mediante la realización de restas entre valores consecutivos hasta obtener una columna de un valor constante; y retroceder sumando hasta el valor siguiente que deseamos obtener, como se ve en este ejemplo para las segundas potencias de x:

Page 22: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 22

Método de diferencias finitas    1a Diferencia 2a Diferencia

Xi Xi2 Xi

2 - Xi-12 = di di+1 - di

1 1 3 2

2 4 5 2

3 9 7 2

4 16 9 2

5 25 11 2

6 36 13 2

7 49 15 2

8 64 17 2

9 81 19 2

10 100 21 2

Page 23: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 23

Todo el sistema estaba basado en la numeración decimal, de forma que cada una de las cifras de un número se representaba por una rueda dentada, y su valor por la rotación angular asociada a ella. Este funcionamiento hace que sólo sean posibles las rotaciones correspondientes a valores numéricos enteros.

Su diseño fue basado en interruptores mecánicos a base de barras, cilindros, cremalleras y ruedas dentadas.

Page 24: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 24

Máquina de diferencias(artilugio de diferencias)

Page 25: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 25

La máquina analítica de Babbage

La máquina analítica se asemejaba mucho a las primeras computadoras. Sus componentes eran:

El analizador o molino (MILL) con operaciones de suma, resta, multiplicación y división con 50 cifras de precisión.

El almacenamiento o memoria: con la finalidad de conservar los números para referencia futura. Eran series de columnas cada una conteniendo series de ruedas.El diseño contenía un banco de memoria de mil registros, cada uno capaz de almacenar un número. Estos números podían ser el resultado de alguna operación efectuada por el molino o provenientes de la entrada de las tarjetas perforadas.

Page 26: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 26

Tarjetas perforadas Las instrucciones para estas operaciones se leían a partir de

tarjetas perforadas que transmitían no sólo los datos a procesar sino también el conjunto de instrucciones que se iban a procesar.Las tarjetas de variables contenían los números que eran sujetos de operación en el analizador. Existía un sistema para pasar el contenido de estas tarjetas directamente al molino para ser procesadas.Las tarjetas de operaciones que servían para preescribir la secuencia de operaciones que se deseaban realizar. Estas no actuaban sobre los números directamente.

Las posibles operaciones de las tarjetas perforadas eran: Ingresar un número en el almacenamiento. Llevar un número del analizador a la memoria. Dar instrucciones al analizador para que efectúe una

operación. Ingresar un número al analizador Llevar un número de la memoria al analizador Egresar un numero desde la memoria al analizador

Page 27: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 27

Ejemplo: (a b + c) · d 4 tarjetas de variables con los números a,b,c,d Una tarjeta de operación que indique la

multiplicación de a y b Una tarjeta de variable p, que contenga el

resultado del producto de a y b : p=ab Una tarjeta de operación para direccionar la adición

de p y c Una tarjeta de variable q, para registrar el

resultado de la suma de p y c: q=p+c Una tarjeta de operación para indicar la operación

de multiplicación entre q y d. Una tarjeta de operación para detectar la

multiplicación de q y d: p2=q·d, p2 será ésta la última tarjeta

Page 28: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 28

Salida Babbage inventó la primer máquina tipográfica

automatizada capaz de imprimir los resultados de los cálculos.

Entrada Salida

Almacenamiento

Analizador

Page 29: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 29

Ada Augusta Subrutina: una secuencia de instrucciones que se

puede usar una y otra vez en contextos muy diferentes.

Iteración: El hacer que la lectora de tarjetas vuelva a una tarjeta específicada, de modo que la secuencia que se inicia con ésta última pueda ejecutarse en repetidas ocasiones.

Salto condicional: La lectora de tarjetas puede saltar a cierta tarjeta si (IF) se cumple con cierta condición.

Page 30: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 30

La máquina tabuladora Las preguntas que se hacían venían en el formato

de opción múltiple. Las respuestas se ponían en tarjetas donde la

perforación en cierta posición de cada columna representaba la respuesta a una pregunta.

1 2 3 4 5 6 7 …

A O O O

B O O

C O

D O

Page 31: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 31

El mecanismo de conteo

.

Contador: 0,1,2,3,4, …

Corriente eléctrica

La tarjeta

Page 32: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 32

El interruptor (switch) Es un circuito que puede abrir o cerrar (deja pasar

o no la corriente) a través de un circuito eléctrico. Un ejemplo de la aplicación de este elemento es en

los conmutadores telefónicos. Cuando se quiere la conexión entre dos líneas. Siempre está abierto (no hay conexión) entre las dos líneas. Pero cuando se quiere comunicación, se cierra el circuito, es decir se conectan las partes en velocidades de aproximadamente 5 veces por segundo.

Antes de la existencia de estos aparatos, las conexiones se hacían directamente por la operadora usando un tablero de interruptores.

Page 33: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 33

Otro tipo de interruptor fue el tubo electrónico de vacío que podía hacer el mismo trabajo a velocidades de hasta 1,000,000 veces por segundo.

Este aparato fue usado por las primeras computadoras electrónicas (ENIAC con 18,000 tubos de vacío) para sumar, almacenar e incluso realizar operaciones lógicas.

Otro tipo de interruptor, el llamado relevador fue usado por Konrad Zuse en la Z1.

Page 34: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 34

El modelo de John Von Neumann

A pesar de las velocidades alcanzadas en la computadora ENIAC (500 multiplicaciones por segundo) resultaba todavía ineficiente en el sentido de que para realizar un nuevo cálculo se tenían que realizar cambios completos en el cableado.

Neumann analizó este problema y propuso un modelo que contiene lo siguiente:

1. Un medio para codificar o cifrar las instrucciones, a fin de que fuera posible almacenarlas en la memoria de la máquina. Von Neumann sugirió el uso de cadenas o series de unos y ceros.

2. Almacenar las instrucciones en la memoria junto con cualquier otra información (números, datos) necesaria para el trabajo específico que se trate.

3. Al correr el programa, tomar las instrucciones directamente de la memoria, en vez de que haya que leer una tarjeta perforada en cada paso.

Page 35: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 35

Ventajas obtenidas Velocidad. Las instrucciones se leían

directamente de la memoria (más rápido que las tarjetas perforadas)

Flexibilidad. Teniendo varios programas, se puede correr uno, después otro o combinaciones de los mismos.

Automodificación. Al estar almacenados electrónicamente es fácil hacer programas que se puedan modificar o ajustar por si mismos.

Page 36: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 36

El modelo de Von Neumann

Control

Entrada

Procesamiento

Salida

Memoria

Page 37: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 37

Partes del modelo Entrada: Los datos en bruto que se van a

procesar. MEMORIA: almacena la entrada, los resultados del

procesamiento y el programa que se va a ejecutar. Control: Lee el programa y lo traduce en una serie

de operaciones que realiza la unidad procesadora. Unidad procesadora: Lleva a cabo todas las

operaciones reales de suma, multiplicación, cuenta, comparación, etc., sobre la información que recibe desde la memoria.

Salida: Responde a los resultados de la unidad de procesamiento, almacenados en memoria y transmitidos a un dispositivo específico.

Page 38: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

Modelo del funcionamiento de una

computadora

Introducción a la Ing. en Computación

Ing. Moisés E. Ramírez G.

Page 39: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 39

La memoria Su función es guardar datos. Es un conjunto de celdas (o casillas) con las

siguientes características:1. Cada celda puede contener un valor numérico.2. Cada celda tiene la propiedad de ser direccionable, es

decir, se puede distinguir una de otra por medio de un número único que es su dirección.

3. Las celdas de memoria están organizadas en forma de vector (numeradas secuencialmente) para poder hacer referencia a ellas de manera rápida.

4. Para hacer referencia a una celda se usa su dirección sobre el vector, para ello se usa un apuntador.

Page 40: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 40

Todas las celdas tienen una dirección, por ejemplo, la celda 51 tiene un 4, la 54 tiene un 9, etc

Suponemos que existen operaciones elementales que permiten leer o escribir en ciertas posiciones de memoria, esto se haría con un código especial.

... 51 52 53 54 55 ...

4 0 1 9 7

Dato en la celda

Dirección de la celda

Page 41: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 41

Además de las operaciones de lectura/escritura en la memoria se pueden realizar ciertas operaciones básicas (a las que se denominarán primitivas) según un código especial, como puede ser suma y resta, por ejemplo.

Supongamos que se desea realizar la operación de suma a los operandos 5 y 7. Se necesitaran 3 casillas: una para cada número (5,7) y una más para almacenar el resultado. Supongamos que

dichas casillas son la 21,22 y 23. Se deben definir a nivel de detalle las operaciones que se desean realizar y su orden, así como obtener una

codificación adecuada (instrucciones que la computadora pueda entender). Introducir todos los datos (e instrucciones) en la memoria.

Page 42: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 42

Las operaciones a realizar(set de instrucciones)

Operación (mnemónico)

Código

Longitud

Descripción

Carga_Ac 21 2 Lleva el contenido de una celda al acumulador. Ejm 21 23 Lleva al acumulador el contenido de la celda 23

Suma 57 2 Suma al acumulador el contenido de la celda descrita por la dirección

Resta 42 2 Resta al acumulador el contenido de la celda descrita por la dirección

Guarda_Ac 96 2 Guarda (deposita) el contenido del acumulador en una celda

Alto 70 1 Se detiene el programa y regresa el control al sistema.

Page 43: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 43

Observaciones

Cabe notar aquí dos lenguajes: uno mnemónico (más fácil de comprender para nosotros, programa fuente) y otro que está escrito en código numérico (que sólo la computadora puede entender, programa objeto).

Instrucciones(escritas por el programador)

Código generado (el programa que entiende la computadora)

Carga_Ac 21Suma 22Guarda_Ac 23Alto

21 2157 2296 2370

Page 44: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 44

Ejecución del programa

Qué pasará en este programa?

¿Qué código (programa fuente) generó este programa?

10 11 12 13 14 15 16 21 22 23 Acumulador

21

21

57

22

96

23

70

... 05

07

__ ...

10 11 12 13 14 15 16 17 18 21 22 23 Acumulador

21

21

42

22

42

22

96

23

70

... 60

07

_ ...

Page 45: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

Lenguaje ensamblador

(Uso del comando DEBUG)

Propedéutico corto UTM

Page 46: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 46

Creación de un programa que suma 2 números Inicio/Ejecutar... DEBUG

Algunos comandos básicos r muestra los registros del sistema rbx Visualizar un registro específico

(R+registro a visualizar)

Page 47: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 47

Un programa que suma dos números

a1000CA7:0100 mov ax, 0200CA7:0103 mov bx, 0100CA7:0106 add ax, bx0CA7:0108 int 20

0CA7:010A Las direcciones de memoria aparecen por parte del programa (lo que se deberá escribir está en

negritas). Para ejecutar el programa hasta la instrucción que está en la localidad de memoria 108H escribir: g108

-g108AX=0030 BX=0010 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0CA7 ES=0CA7 SS=0CA7 CS=0CA7 IP=0108 NV UP EI PL NZ NA PE NC0CA7:0108 CD20 INT 20-

Page 48: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 48

Un programa que suma dos números y muestra en pantalla el resultado

0D82:0100 B81300 MOV AX,00130D82:0103 BB2400 MOV BX,00240D82:0106 01D8 ADD AX,BX0D82:0108 88C2 MOV DL,AL0D82:010A B440 MOV AH,400D82:010C CD21 INT 210D82:010E CD20 INT 20

0D82:0110

Escribir lo que está en negritas y después g (ejecutar)

-g7El programa ha terminado de forma normal

Page 49: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 49

Código ASCII

Page 50: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 50

El número enviado a pantalla es la representación en ASCII de dicho valor.

Recordando que la última dirección de memoria que se usó fue la 110h, escribir:

h 110 1000210 0010

Para obtener la suma y diferencia entre las dos cantidades dadas (el número de bytes que ocupa el programa)

Posteriormente

n nombre.com

El nombre del archivo en donde se desea guardar la información, siempre con extensión COM

Page 51: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 51

Sabiendo la longitud del archivo se debe guardar en el registro CX así

- rcxCX 0000:0010

Finalmente para guardarlo escribir-wWriting 0010 bytes

Con eso se guarda el archivo en disco.Para abrirlo escribir

-n prueba.com-l

Con esto se cargará el programa en memoria

Page 52: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 52

Para asegurarse que dicho programa está en memoria usar el comando u-u 100 1100DCB:0100 B81300 MOV AX,00130DCB:0103 BB2400 MOV BX,00240DCB:0106 01D8 ADD AX,BX0DCB:0108 88C2 MOV DL,AL0DCB:010A B402 MOV AH,020DCB:010C CD21 INT 210DCB:010E CD20 INT 200DCB:0110 68 DB 68-

Muestra lo que está en memoria entre las localidades señaladas. Para salir del programa usar el comando q (quit=salir)

Page 53: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

El procesador

Page 54: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 54

El procesador Es un circuito integrado hecho de silicio con

millones de diminutos componentes electrónicos. Es el lugar donde toda la información es procesada,

además de indicar a las otras partes de la computadora que es lo que tienen que hacer.

Aunque la fama de los procesadores actuales viene de su trabajo como cerebro de las PC’s, hoy día una enorme cantidad de ellos se usan para casi cualquier aplicación imaginable: calculadoras, relojes, juegos de video, hornos de microondas, hasta los complejos sistemas de rastreo de aviones, tanques y mísiles.

Page 55: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 55

Integración de los procesadores

Page 56: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 56

Cada trabajo que el µ hace se divide en muchas pequeñas operaciones llamadas instrucciones.

La lista completa de instrucciones necesarias para que el microprocesador haga un trabajo se llama programa.

Puesto que el µ no tiene capacidad de razonamiento, todas las instrucciones que se le dan a ejecutar deben ser muy precisas.

La gran ventaja e su que se puede programar para una gran variedad de tareas.

El programa que dice al procesador que va a hacer es leído desde un dispositivo de almacenamiento.

Page 57: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 57

Partes del procesador Unidad aritmético-lògica (ALU): que realiza los

cálculos numéricos y toma decisiones lògicas Registros: que son pequeñas memorias que guardan

información temporal mientras el ALU realiza sus operaciones.

Unidad de control: interpreta las instrucciones del programa y le dice a la ALU qué operaciones realizar.

BUSES: Son las líneas encargadas de transmitir los datos de ida y vuelta entre el microprocesador y las otras partes de la computadora, y también dentro del mismo chip.

Page 58: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 58

Partes del procesadorUnidad

de control

Unidad Aritmético-

Lógica

Registros

BUS BUS

BUS

BUS

Hacia otras partes de la computadora (memoria, discos, teclado, monitor, etc).

Page 59: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 59

Características básicas que diferencian a un procesador

Instruction set: Conjunto de instrucciones que el micro puede ejecutar

Bandwidth: Número de bits procesados por cada instrucción.

Clock speed : Se da en MHz la velocidad del reloj determina cuantas instrucciones pueden ser ejecutadas por segundo por el procesador.

Page 60: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 60

Comparación entre micros

Page 61: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 61

Page 62: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 62

CISC y RISC Los procesadores también pueden ser

clasificados en estas categorias: CISC (complex instruction set computer) RISC (reduced instruction set computer)

CISC: La mayor parte de las computadoras personales usan la arquitectura CISC en la que la CPU soporta alrededor de doscientas instrucciones.

Page 63: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 63

RISC Son un tipo especial de procesadores que pueden

reconocer un muy limitado número de instrucciones. Hasta mediados de los 80's la tendencia era construir CPU's cada vez más complejos que tuvieran cada vez sets de instrucciones mayores.

Esta tendencia fue detenida por los fabricantes al comenzar a fabricar CPU's capaces de ejecutar solamente un número muy limitado de instrucciones, siendo esto una ventaja el hecho de que al ser menos instrucciones se ejecutan más rápido debido a que son más simples.

Otra ventaja es que los procesadores RISC requieren menos transistores, por lo tanto su costo en diseño y producción disminuye.

Desde la aparicion de RISC las computadoras anteriores se les han referido como CISC .

Page 64: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 64

Existe una controversia considerable entre estas

dos tecnologías. Los que están del lado de RISC argumentan que los CPU’s se han vuelto cada vez más rápidos. Los escépticos opinan que cada vez se está dejando mayor carga al software al tener un número tan limitado de instrucciones. Aunque los primeros argumentan que esto no es tan relevante ya que los procesadores se están haciendo cada vez más rápidos y baratos.

Independientemente de lo anterior estas dos tecnologías están pareciéndose cada vez más. Ya que los procesadores RISC tienden a soportar las instrucciones CISC y para la construcción de procesadores CISC se usan muchas técnicas que están asociadas con procesadores RISC.

Page 65: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 65

La memoria Su función es guardar datos. Es un conjunto de celdas (o casillas) con las

siguientes características:1. Cada celda puede contener un valor numérico.2. Cada celda tiene la propiedad de ser direccionable, es

decir, se puede distinguir una de otra por medio de un número único que es su dirección.

3. Las celdas de memoria están organizadas en forma de vector (numeradas secuencialmente) para poder hacer referencia a ellas de manera rápida.

4. Para hacer referencia a una celda se usa su dirección sobre el vector, para ello se usa un apuntador.

Page 66: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 66

Más sobre memorias

La memoria es el elemento del ordenador que almacena información. La información se va a almacenar en forma de unos y ceros (sólo almacenamos información digital en binario). La memoria se puede dividir en dos tipos: principal y secundaria.

La memoria principal es la que almacena las cosas (el programa y los datos) que se están utilizando en un momento dado. Si se apaga la luz, perdemos su contenido (por ello se le llama volátil). También se conoce como memoria RAM.

Las memorias comerciales más comunes son:

SIMM (single in-line memory module) bus de 32 bits, cap hasta 64MB

DIMM (dual in-line memory module) bus de 32 bits, a partir de 64 MB, 133 MHz

RIMM (Rambus Inline Memory Module), velocidades de 100 a 800 MHz

Page 67: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 67

La memoria secundaria es una memoria de almacenamiento, aquí se almacena toda la información que tengamos (aunque en un momento dado no se esté usando). Aunque apaguemos la luz, la información que tenemos almacenada, permanece en este tipo de memoria.

Cuando tenemos una computadora, en memoria secundaria (por ejemplo en el disco duro) se pueden almacenar muchos programas (procesador de textos, juegos, etc.) pero cuando queremos usar uno de ellos, debemos tenerlo en memoria principal. Si seleccionamos el procesador de textos y estamos escribiendo una carta, el programa y los datos (las letras de la carta) están en memoria principal. Si en ese momento se va la luz, perdemos el trabajo que esté en memoria principal, sólo quedara almacenada definitivamente si la pasamos al disco duro (o a un disquete) es decir, sólo queda la que tenemos almacenada en memoria secundaria.

Page 68: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 68

Dispositivos de entrada (input) Estas unidades se encargan de

recibir los datos del usuario. Entre ellos podemos contar a:

Teclado Ratón Scanner TouchScreen etc

Page 69: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 69

Tipos de teclado

El tipo de teclado estándar es el QWERTY (diseñado en 1880 para máquinas de escribir).

Existe otro teclado (distribución de teclas) llamado Dvorak (Diseñado en 1930s por August Dvorak).

Se estima que en una jornada de 8 horas al día la mano de una persona viaja alrededor de 16 millas en un teclado QWERTY y en un Dvorak solamente una milla.

Page 70: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 70

                                      

Page 71: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 71

Ratón Introducidos a finales de los

80’s. Es un dispositivo esencial para las PC’s con interfaces gráficas.

Tipos básicos de ratón Mecánico Optomecánico Óptico

Se conecta a la PC de diferentes maneras

Serial PS/2 USB

Page 72: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 72

TouchScreen, scanner, multifuncionales

Page 73: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 73

Cámaras digitales

Page 74: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 74

Salida: Monitores,Impresoras, etc

Page 75: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 75

Características de los monitores

Resolución: Es el número de píxeles (puntos) sobre la pantalla, se describe dando el número columnas por el número de filas

VGA 640x480 SVGA 800x600 XGA 1024x768

Paleta de colores: Número de colores que soporta. Monocromático: Sólo puede desplegar dos colores Escala de grises: (tipo especial de monocromático) Colores: Pueden desplegar desde 16 hasta arriba de 1 millón

de colores diferentes. A veces se les refiere como monitores RGB.

Refrescado (frecuencia de escaneo): Es el número de veces que se dibuja la pantalla por segundos (Hz).

Page 76: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 76

Por su tecnología de construcciónse clasifican CRT (Monitores de Tubos de Rayos Catódicos) LCD (Cristal líquido)

De matriz pasiva (la más usada y barata) TFT (thin film transistor) o de matriz activa

Pantallas de plasma

CRT vs LCD CRT consumen mucha más electricidad CRT ocupan mucho más espacio CRT generan radiación dañina para la salud Los principios físicos sobre los que funcionan los CRT son ampliamente

comprendidos. CRT son más fáciles de fabricar y baratos. Producen imágenes estables Los CRT (desv.) tienen el efecto de tambor Los CRT tienen más ángulo de visión

Page 77: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 77

Tipos de impresoras Impresoras láser

Tienen la ventajas de mayor rapidez y calidad de impresión en escala de grises, pero son muy caras en resolución a colores.

Impresoras de inyección de tinta Dos tecnologías

Tecnología térmica (Bubble Jet) HP, Cannon Tecnología piezo-eléctrica Epson

Las HP tienen en el cartucho los cabezales, por ello son más caras. En las Epson los cabezales están en la impresora, por ello los cartuchos son más baratos.

Funcionan con los tres colores primarios sustractivos Cyan, Magenta, Amarillo (CMYK)

Page 78: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 78

Impresoras de matriz de punto Tinta sólida (Tektronix) Sublimación de tinta Aplicaciones

fotográficas de gran calidad Thermo autochrome Se usa un papel

especial que reacciona a diferentes temperaturas para cada color CMYK

Cera térmica Se usa para transparencias

Page 79: Historia de la computación Introducción a la Ing. en Computación Ing. Moisés E. Ramírez G

MERG 79

Operación (mnemónico)

Código

Longitud

Descripción

Carga_Ac 21 2 Lleva el contenido de una celda al acumulador. Ejm 21 23 Lleva al acumulador el contenido de la celda 23

Suma 57 2 Suma al acumulador el contenido de la celda descrita por la dirección

Resta 42 2 Resta al acumulador el contenido de la celda descrita por la dirección

Guarda_Ac 96 2 Guarda (deposita) el contenido del acumulador en una celda

Alto 70 1 Se detiene el programa y regresa el control al sistema.

Guarda_Dat

15 3 Guarda un valor en una dirección de memoria. Ejm: 15 [DIR] [DATO]

Salta_Cero 20 2 Salta a una dirección de memoria (Memoria de instrucciones) si el acumulador es cero Ejm: 20 [DIR]

Mayor 30 2 Hace el acumulador=1 si el acumulador es mayor que lo que está en una dirección de memoria dada, en caso contrario acumulador=0. Ejm. 30 [DIR]

Igual 31 2 Hace el acumulador=1 si el acumulador es igual que lo que está en una dirección de memoria dada, en caso contrario acumulador=0 Ejm 31 [DIR]

Menor 32 2 Hace el acumulador=1 si el acumulador es menor que lo que está en una dirección de memoria dada, en caso contrario acumulador=0. Ejm 32 [DIR]

Residuo 22 2 Guarda en el acumulador el residuo de la division entera de acumulador/[DIR] Ejm. 22 [DIR]

Cociente 40 2 Guarda en el acumulador el cociente del Acumulador entre la celda descrita por la dirección.

Multiplica 41 2 Guarda en el acumulador el producto del Acumulador por la celda descrita por la dirección.

Entrada 17 1 Guarda en el acumulador un número leído por el teclado

Salida 18 1 Muestra el número que está en el acumulador en la pantalla