COMPUTADORA

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 43

INTRODUCCION

En el siguiente trabajo, hablaremos de una manera amplia de la herramienta tecnológica por


excelencia de mayor uso para el hombre en la actualidad, La Computadora, ¿Por qué no llamarla
equipo o maquina en esta introducción? Es simple, a través de la historia el hombre siempre ha
buscado de facilitar su labores cotidianas a través de diversas herramientas, para ello ha tenido
que hacer uso de su intelecto e imaginación, pues, la computadora no se salva en ningún
momento de dejar de ser una herramienta, pero bien podemos decir que es el mejor invento del
hombre, facilitando, automatizando, aligerando y optimizando la realización de infinidades de
labores, actividades y tareas, porque en la actualidad prácticamente hay trabajos que ya el hombre
los hace, los hace nuestra querida amiga La Computadora; tampoco podemos olvidarnos que
también nos sirve como medio de entretenimiento con el sin fin de usos que se le puede dar a esta
gran herramienta.

Hablaremos de sus definiciones, de sus componentes, de su arquitectura, de los tipos de


computadora que podemos encontrar en la actualidad y a su vez daremos un paseo por su historia
desde la aparición del primer algoritmo y su evolución hasta el último avance tecnológico. De esta
manera podremos comprender de que manera trabajan estos e quipos o maquinas y que uso
darles.

Un computador de una manera básica está compuesto de dos partes, las conocemos como
hardware y como software, que son la parte física de la computadora y su programación, la
programación se puede ver como los pensamientos de una persona, el cerebro la parte física
donde están estos pensamientos. Nosotros hablaremos brevemente de cómo funcionan estos
pensamientos los cuales se conocen como instrucciones de máquina, veremos sus Modos de
direccionamiento, tipos de direccionamiento, la organización de estas instrucciones y asi podremos
entender cómo trabaja o como piensan estos equipos
COMPUTADORA

Una computadora o un computador, (del latín computare -calcular-), también denominada


ordenador (del francés ordinateur, y éste del latín ordinator), es una máquina electrónica que
recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de
circuitos integrados y otros componentes relacionados que puede ejecutar con exactitud, rapidez
y de acuerdo a lo indicado por un usuario o automáticamente por otro programa, una gran
variedad de secuencias o rutinas de instrucciones que son ordenadas, organizadas y
sistematizadas en función a una amplia gama de aplicaciones prácticas y precisamente
determinadas, proceso al cual se le ha denominado con el nombre de programación y al que lo
realiza se le llama programador. La computadora, además de la rutina o programa informático,
necesita de datos específicos (a estos datos, en conjunto, se les conoce como "Input" en inglés o
de entrada) que deben ser suministrados, y que son requeridos al momento de la ejecución, para
proporcionar el producto final del procesamiento de datos, que recibe el nombre de "output" o de
salida. La información puede ser entonces utilizada, reinterpretada, copiada, transferida, o
retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrónico(s) local o
remotamente usando diferentes sistemas de telecomunicación, pudiendo ser grabada, salvada o
almacenada en algún tipo de dispositivo o unidad de almacenamiento.

La característica principal que la distingue de otros dispositivos similares, como la calculadora no


programable, es que es una máquina de propósito general, es decir, puede realizar tareas muy
diversas, de acuerdo a las posibilidades que brinde los lenguajes de programación y el hardware.
Arquitectura

A pesar de que las tecnologías empleadas en las computadoras digitales han cambiado mucho
desde que aparecieron los primeros modelos en los años 40, la mayoría todavía utiliza la
Arquitectura de von Neumann, publicada a principios de los años 1940 por John von Neumann,
que otros autores atribuyen a John Presper Eckert y John William Mauchly.

La arquitectura de Von Neumann describe una computadora con 4 secciones principales: la unidad
aritmético lógica (ALU por sus siglas del inglés: Arithmetic Logic Unit), la unidad de control, la
memoria central, y los dispositivos de entrada y salida (E/S). Estas partes están interconectadas
por canales de conductores denominados buses:

 La memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una


es un bit o unidad de información. La instrucción es la información necesaria para realizar
lo que se desea con el computador. Las «celdas» contienen datos que se necesitan para
llevar a cabo las instrucciones, con el computador. El número de celdas varían mucho de
computador a computador, y las tecnologías empleadas para la memoria han cambiado
bastante; van desde los relés electromecánicos, tubos llenos de mercurio en los que se
formaban los pulsos acústicos, matrices de imanes permanentes, transistores individuales
a circuitos integrados con millones de celdas en un solo chip. En general, la memoria
puede ser reescrita varios millones de veces (memoria RAM); se parece más a una pizarra
que a una lápida (memoria ROM) que sólo puede ser escrita una vez.
 El procesador (también llamado Unidad central de procesamiento o CPU) consta de
manera básica de los siguientes elementos:
Un típico símbolo esquemático para una ALU: A y B son operandos; R es la salida; F es la entrada
de la unidad de control; D es un estado de la salida.

 La unidad aritmético lógica o ALU es el dispositivo diseñado y construido para


llevar a cabo las operaciones elementales como las operaciones aritméticas (suma,
resta, ...), operaciones lógicas (Y, O, NO), y operaciones de comparación o
relacionales. En esta unidad es en donde se hace todo el trabajo computacional.
 La unidad de control sigue la dirección de las posiciones en memoria que
contienen la instrucción que el computador va a realizar en ese momento;
recupera la información poniéndola en la ALU para la operación que debe
desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la memoria.
Una vez que ocurre lo anterior, la unidad de control va a la siguiente instrucción
(normalmente situada en la siguiente posición, a menos que la instrucción sea una
instrucción de salto, informando al ordenador de que la próxima instrucción
estará ubicada en otra posición de la memoria).

Los procesadores pueden constar de además de las anteriormente citadas, de otras


unidades adicionales como la unidad de Coma Flotante

 Los dispositivos de Entrada/Salida sirven a la computadora para obtener información del


mundo exterior y/o comunicar los resultados generados por el computador al exterior.
Hay una gama muy extensa de dispositivos E/S como teclados, monitores, unidades de
disco flexible o cámaras web.

Periféricos y dispositivos auxiliares

Monitor

El monitor o pantalla de computadora, es un dispositivo de salida que, mediante una interfaz,


muestra los resultados, o los gráficos del procesamiento de una computadora. Existen varios tipos
de monitores: los de tubo de rayos catódicos (o CRT), los de pantalla de plasma (PDP), los de
pantalla de cristal líquido (o LCD), de paneles de diodos orgánicos de emisión de luz (OLED), o
Láser-TV, entre otros.

Teclado

Un teclado de computadora es un periférico, físico o virtual (por ejemplo teclados en pantalla o


teclados táctiles), utilizado para la introducción de órdenes y datos en una computadora. Tiene su
origen en los teletipos y las máquinas de escribir eléctricas, que se utilizaron como los teclados de
los primeros ordenadores y dispositivos de almacenamiento (grabadoras de cinta de papel y
tarjetas perforadas). Aunque físicamente hay una miríada de formas, se suelen clasificar
principalmente por la distribución de teclado de su zona alfanumérica, pues salvo casos muy
especiales es común a todos los dispositivos y fabricantes (incluso para teclados árabes y
japoneses).

Ratón

El mouse o ratón es un periférico de computadora de uso manual, utilizado como entrada o


control de datos. Se utiliza con una de las dos manos del usuario y detecta su movimiento relativo
en dos dimensiones por la superficie horizontal en la que se apoya, reflejándose habitualmente a
través de un puntero o flecha en el monitor. Anteriormente, la información del desplazamiento
era transmitida gracias al movimiento de una bola debajo del ratón, la cual accionaba dos rodillos
que correspondían a los ejes X e Y. Hoy, el puntero reacciona a los movimientos debido a un rayo
de luz que se refleja entre el ratón y la superficie en la que se encuentra. Cabe aclarar que un
ratón óptico apoyado en un espejo o sobre un barnizado por ejemplo es inutilizable, ya que la luz
láser no desempeña su función correcta. La superficie a apoyar el ratón debe ser opaca, una
superficie que no genere un reflejo, es recomendable el uso de alfombrillas.

Impresora

Una impresora es un periférico de computadora que permite producir una copia permanente de
textos o gráficos de documentos almacenados en formato electrónico, imprimiendo en papel de
lustre los datos en medios físicos, normalmente en papel o transparencias, utilizando cartuchos de
tinta o tecnología láser. Muchas impresoras son usadas como periféricos, y están
permanentemente unidas a la computadora por un cable. Otras impresoras, llamadas impresoras
de red, tienen un interfaz de red interno (típicamente wireless o Ethernet), y que puede servir
como un dispositivo para imprimir en papel algún documento para cualquier usuario de la red.
Hoy en día se comercializan impresoras multifuncionales que aparte de sus funciones de
impresora funcionan simultáneamente como fotocopiadores y escáner, siendo éste tipo de
impresoras las más recurrentes en el mercado.
Escáner

En informática, un escáner es un periférico que se utiliza para convertir, mediante el uso de la luz,
imágenes o cualquier otro impreso a formato digital. Actualmente vienen unificadas con las
impresoras formando Multifunciones

Almacenamiento Secundario

El disco duro es un sistema de grabación magnética digital, es donde en la mayoría de los casos
reside el Sistema operativo de la computadora. En los discos duros se almacenan los datos del
usuario. En él encontramos dentro de la carcasa una serie de platos metálicos apilados girando a
gran velocidad. Sobre estos platos se sitúan los cabezales encargados de leer o escribir los
impulsos magnéticos.

Una Unidad de estado sólido es un sistema de memoria no volátil. Están formados por varios chips
de memoria NAND Flash en su interior unidos a una controladora que gestiona todos los datos que
se transfieren. Tienen una gran tendencia a suceder definitivamente a los discos duros mecánicos
por su gran velocidad y tenacidad. Al no estar formadas por discos en ninguna de sus maneras, no
se pueden categorizar como tal, aunque erróneamente se tienda a ello.

Altavoces

Los altavoces se utilizan para escuchar los sonidos emitidos por el computador, tales como música,
sonidos de errores, conferencias, etc.

 Altavoces de las placas base: Las placas base suelen llevar un dispositivo que emite pitidos
para indicar posibles errores o procesos.
TIPOS DE COMPUTADORAS.
Desde el punto de vista de construcción, existen dos tipos de maquinas capaces de ejecutar
algoritmos:

MAQUINAS CON LOGICA CABLEADA. En ellas, el algoritmo esta interiormente implementado en el


cableado de los circuitos o en las memorias de solo lectura (ROM-read only memory). Las más
conocidas son: LAS CALCULADORAS. Son maquinas para ejecutar un determinado número de
algoritmo predefinido de tipo matemático (suma, resta, multiplicaciones, divisiones, funciones
trigonométricas, logaritmos, funciones estadísticas, etc.).

LAS COMPUTADORAS ANALOGICAS. Son maquinas destinadas al control del proceso y a la


simulación. en la actualidad se encuentran instaladas en cadena de fabricación y en mercados,
como el de la automatización entre otros.

MAQUINAS CON LOGICA PROGRAMADA. Son las computadoras convencionales que admiten
programación de algoritmos por medio de lenguajes de programación: por ellos son maquinas de
propósito general, pues se puede aplicar a cualquier tipo de procesos. Estas computadoras tienen
las siguientes características:

 Gran velocidad de cálculo

 Gran capacidad de almacenamiento

 Gran precisión

 Versatilidad o posibilidad de realizar multitud de trabajos de distintos tipos.

 Automatización, pues la mano del hombre interviene relativamente poco en el trabajo


final que realiza la computadora.

 Asiduidad, puesto que en ellas no existe el cansancio y ejecutan con la misma precisión la
primera y la última operación.

Una computadora de lógica programada solo puede realizar tres tipos de operaciones.

 Operaciones aritméticas (suma y resta).

 Operaciones lógicas (operaciones)

 Almacenar o recuperar operación.

La versatilidad de una computadora se obtiene al reducir cualquier problema simple o compuesto


en una combinación adecuada de estas operaciones. Antes de hacer una clasificación formal de las
computadoras según el tipo de señales que manejan, vamos a definir los conceptos fundamentales
que intervienen en la misma. Se dice que un suceso es de tipo continuo cuando la escala de
manifestaciones de sus variables no tiene discontinuidades. Estos procesos se denominan
analógicos. Si la escala de manifestaciones de las variables de un suceso sólo tiene determinados
valores, se dice que es de tipo discreto y recibe el nombre de digital.

CLASIFICACION DE LAS COMPUTADORAS POR SU CAPACIDAD

Atendiendo a la configuración o estructura interna de una computadora puede, clasificares de la


siguiente forma:

COMPUTADORAS ANALOGICAS. Son aquellas que manejan señales eléctricas analógicas


proporcionales a medidas físicas de tipo continuo. Su programación en la mayoría de los casos está
en su propio cableado y se utiliza fundamentalmente para controlar procesos y en problema de
simulación.

COMPUTADORAS DIGITALES. Maneja señales eléctricas de tipo digital. Se programa por medio de
lenguajes de programación y su utilización contiene cualquier tipo de trabajos; por tanto,
configuran el grupo de computadoras de tipo general. En la actualidad, mas de 95 por 100 de las
computadoras son de este tipo.

COMPUTADORAS HÍBRIDAS. Poseen características de las dos anteriores. Suelen estar


constituidas de una computadora digital que procesa información analógica, para lo cual tiene sus
entradas y salidas controladas por medio de convertidores analógicos - digitales y digitales –
analógicos.

Las computadoras digitales por su potencia de cálculo, capacidad de almacenamiento interno y


número de periféricos que pueden soportar como se clasifican en cuatro grandes grupos:

SUPERCOMPUTADORA. Es una maquina diseñada especialmente para calculo que precisa una
gran velocidad de proceso. Generalmente pose un gran número de procesadores que trabajan en
paralelo, con lo que consiguen realizar billones de operaciones por segundo. Un ejemplo de estas
computadoras es la Cray Y-MP de Cray Research INC.

COMPUTADORA O MAINFRAME. Es una maquina designada principalmente para dar servicio a


grandes empresas y organizaciones. Su potencia de cálculo es inferior a la de las anteriores,
cifrándose en la ejecución de varios millones de operaciones por segundo. Una de las
características principales es la de soportar un gran número de terminales o estaciones de trabajo.
Además pueden intervenir en proceso distribuidos en los que se conectan dos o más
computadoras en paralelo, de tal forma que se reparte en trabajo a realizar. Un buen ejemplo de
este tipo de computadoras es la IBM 3090 de la internacional busines machines, capaz de soportar
aproximadamente 50000 terminales conectados.

MINICOMPUTADORA. Son maquinas de tipo medio, es decir su capacidad de proceso es inferior a


la de las anteriores y por lo tanto pueden controlar un menor número de terminales. Dos ejemplos
muy típicos de este tipo de computadoras son las VAX de digital equipment corporation (DEC) y la
AS/400 de IBM.

MICROCOMPUTADORAS. Se trata de una maquina cuyo funcionamiento interno se basa en el uso


del microcomputador, y con el se consigue una serie de prestaciones, que en potencia,
manejabilidad, portabilidad, precio, etc., cubren la gama más baja de necesidades en el mundo de
la informática. Hoy se puede decir que el mundo de la microinformática o el de las
Microcomputadoras es el más importante y también el más popular. Dentro de las
microcomputadora se puede distinguir dos grupos importantes:

 Computadora personal (personal computer-PC)

 Estación de trabajo (workstation)

LA COMPUTADORA PERSONAL. Es la microcomputadora fácil de usar y con grandes prestaciones.


Generalmente posee un solo puesto de trabajo, aunque puede tener varios. Actualmente la mayor
gama de equipo hardware y de aplicaciones software que existen en el mercado pertenecen al
grupo de computadoras personales.

UNA ESTACION DE TRABAJO. Es una microcomputadora de gran potencia que se utiliza para
trabajo de ingeniería o similares y permite la conexión a través de una red con una computadora
de mayor potencia. Dentro del grupo de computadoras personales, existen una clasificación según
el tamaño, prestaciones, precio, etc.

Los tipos de vertientes o computadoras personales diferentes del modelo clásico son las
siguientes:

PORTÁTIL O TRANSPORTABLE. Se trata de una computadora de características físicas que


permiten fácilmente un transporte de un sitio a otro sin perder algunas cualidades de una
computadora general clásica.

LAPTOP. Consisten en una computadora personal portátil de tamaño pequeño, gran potencia y
muy manejable en todos los sentidos. Las características principales su peso que oscila entre 1 y 2
kg.

NOTEBOOK. Es una computadora personal similar a la laptop, pero aun más pequeña, de menor
peso y más especializada., es decir, está preparada para realizar funciones de computadora
personal, servir de ayuda a estudiantes sirviéndoles una capacidad de cálculo rápido importante,
ofrecer a comerciales funciones de agenda muy evolucionadas, etc.

POCKET-PC O PALMTOP. Es una pequeña computadora personal de mano que viene a ser la
última versión de calculadora científica programable.

MICROCOMPUTADORAS. Se caracterizan por su configuración básica irregular, que puede estar


compuesta por un monitor o una televisión, un drive, una unidad de cassette, etc. Su capacidad de
memoria es mínima de 8 a 16 kbytes por lo cual trabaja pequeños volúmenes de información.
MINICOMPUTADORAS Se caracterizan por tener una configuración básica regular que puede estar
compuesta por un monitor, unidades de diskette, disco, impresora, etc. Su capacidad de memoria
varía de 16 a 256 kbytes.

MACROCOMPUTADORAS Son aquellas que dentro de su configuración básica contiene unidades


que proveen de capacidad masiva de información, terminales (monitores), etc. Su capacidad de
memoria varía desde 256 a 512 kbytes, también puede tener varios megabytes o hasta gigabytes
según las necesidades de la empresa.

MICROCOMPUTADORAS Y COMPUTADORAS PERSONALES Con el avance de la microelectrónica


en la década de los 70s resultaba posible incluir todos los componentes del procesador central de
una computadora en un solo circuito integrado llamado microprocesador. Esta fue la base de
creación de unas computadoras a las que se les llamo microcomputadoras. El origen de las
microcomputadoras tuvo lugar en los Estados Unidos a partir de la comercialización de los
primeros microprocesadores (INTEL 8008, 8080) En la década de los 80s comenzó la verdadera
explosión masiva, de las personal computer (PC) de IBM. Esta máquina basada en el
microprocesador INTEL 8088) tenía características interesantes que hacían más amplio su campo
de operaciones, sobre todo porque su nuevo sistema operativo estandarizado (MS-DOS, Microsoft
Disk Operating Sistem) y una capacidad mejorada de graficación, la hacían más atractiva y fácil de
usar. La PC a pasado por varias transformaciones y mejoras y se conocen como XT (Tecnología
Extendida), AT( Tecnología Avanzada ) y PS/2. Este es un resumen de los acontecimientos más
importantes 1971 Microprocesador INTEL 8008. Circuito de alta integración que luego daría inicio
a las microcomputadoras. 1973 Microprocesador INTEL 8080. Nacimiento de la industria de la
micro computación. 1975 Aparece la microcomputadora APPLE. Aparece el microprocesador Zilog
Z80. 1976 Microprocesador INTEL 8085. Microprocesador Mostek 6502 empleado por APPLE. 1981
IBM lanza la computadora personal conocida como PC-XT. 1984 IBM lanza la computadora
personal conocida como PC-AT, basada en el microprocesador INTEL 80286. 1987 En todo el
mundo se han vendido 60 millones de computadoras personales compatibles con la PC de IBM.
1988 IBM presenta la serie de computadoras personales PS/2 alguna de las cuales emplean el
microprocesador INTEL 80386. 1991 Nuevos microprocesadores de muy alto rendimiento como
son: INTEL 80486, MOTOROLA 68040, etc.

HISTORIA DE LA COMPUTACIÓN
La computadora u ordenador, no es un invento de alguien en particular, sino el resultado evolutivo
de ideas y realizaciones de muchas personas relacionadas con áreas tales como la electrónica, la
mecánica, los materiales semiconductores, la lógica, el álgebra y la programación.

Siglo XVII
El matemático e ingeniero Muhammad ibn Musa al-Khwarizmi, inventó el algoritmo, es decir, la
resolución metódica de problemas de álgebra y cálculo numérico mediante una lista bien definida,
ordenada y finita de operaciones a fin de hallar la solución al problema que se plantea.

1617
Justo antes de morir, el matemático escocés John Napier (1550-1617), famoso por su invención de
los logaritmos, desarrolló un sistema para realizar operaciones aritméticas manipulando barras, a
las que llamó "huesos" ya que estaban construidas con material de hueso o marfil, y en los que
estaban plasmados los dígitos. Dada su naturaleza, se llamó al sistema "Napier Bones". Los Huesos
de Napier tuvieron una fuerte influencia en el desarrollo de la regla deslizante (cinco años más
tarde) y las máquinas calculadoras subsecuentes, que contaron con logaritmos.

1623
La primera calculadora mecánica fue diseñada por Wilhelm Schickard en Alemania. Llamado "El
Reloj Calculador", la máquina incorporó los logaritmos de Napier, hacía rodar cilindros en un
albergue grande. Se comisionó un Reloj Calculador para Johannes Kepler, el matemático famoso,
pero fue destruido por el fuego antes de que se terminara.

1624
La primera regla deslizante fue inventada por el matemático inglés William Oughtred. La regla
deslizante (llamada "Círculos de Proporción") era un juego de discos rotatorios que se calibraron
con los logaritmos de Napier. Se usó como uno de los primeros aparatos de la informática
analógica. Su época de esplendor duró más o menos un siglo, el comprendido entre la segunda
mitad del siglo XIX y el último cuarto del XX, hasta que a comienzos de 1970, calculadoras
portátiles comenzaron a ser populares.

1642
Blaise Pascal inventa la Pascalina. Con esta máquina, los datos se representaban mediante las
posiciones de los engranajes.
La Pascalina es una de las primeras calculadoras mecánicas, que funcionaba a base de ruedas de
diez dientes en las que cada uno de los dientes representaba un dígito del 0 al 9. Las ruedas
estaban conectadas de tal manera que podían sumarse números haciéndolas avanzar el número
de dientes correcto. Fue inventada por Blaise Pascal en 1645, tras tres años de trabajo sobre la
misma. Se fabricaron varias versiones y Pascal en persona construyó al menos cincuenta
ejemplares. El primer uso de la Pascalina fue en la Hacienda francesa, debido a que Pascal diseñó
la Pascalina para ayudar a su padre, que era contador en dicha entidad. Debido a ello la Pascalina
estaba destinada básicamente a solucionar problemas de aritmética comercial. La Pascalina
conoció un período de gloria en los años 1960, debido a que se usó de forma interna en la
compañía IBM. Por aquellos tiempos era el único dispositivo que permitía efectuar muy
rápidamente cálculos en numeración hexadecimal, lo que era necesario para la depuración de los
programas. Se exponen varios ejemplares originales en Inglaterra, en el Museo de Artes y Oficios.
1666
La primera máquina de multiplicar se inventó por Sir Samuel Morland, entonces Amo de
mecánicas a la corte de Rey Charles II de Inglaterra. El aparato constó de una serie de ruedas, cada
una de las cuales representaba decenas, centenas, etc. Un alfiler de acero movía los diales para
ejecutar los cálculos. A diferencia de la Pascalina, este aparato no tenía avance automático de
columnas.

1673
La primera calculadora de propósito general fue inventada por el matemático alemán Gottfried
von Leibniz. El aparato era una partida de la Pascalina; mientras opera usa un cilindro de dientes
(la rueda de Leibniz) en lugar de la serie de engranajes. Aunque el aparato podía ejecutar
multiplicaciones y divisiones, padeció de problemas de fiabilidad que disminuyó su utilidad.
Siglo XVIII

1769
El Jugador de Ajedrez Autómata, "El Turco", fue inventado por el Barón Wolfgang von Kempelen,
un noble húngaro. Pretendió ser una máquina pura, incluía un jugador de ajedrez "robótico", sin
embargo fue una farsa, la cabina era una ilusión óptica bien planteada que permitía a un maestro
del ajedrez esconderse en su interior y operar el maniquí, era una sensación dondequiera que iba
pero se destruyó en un incendio en 1856.

1777
Se inventó la primera máquina lógica por Charles Mahon, el Conde de Stanhope. El "demostrador
lógico" era un aparato tamaño bolsillo que resolvía silogismos tradicionales y preguntas
elementales de probabilidad. Mahon es el precursor de los componentes lógicos en computadoras
modernas.

Siglo XIX
1801
El francés Joseph Marie Jacquard, utilizó un mecanismo de tarjetas perforadas para controlar el
dibujo formado por los hilos de las telas confeccionadas por una máquina de tejer. Estas plantillas
o moldes metálicos perforados permitían programar las puntadas del tejido, logrando obtener una
diversidad de tramas y figuras. Inspirado por instrumentos musicales que se programaban usando
papel agujereado, la máquina se parecía a una atadura del telar que podría controlar
automáticamente los dibujos usando una línea de tarjetas agujereadas. La idea de Jacquard, que
revolucionó el hilar de seda, estaba por formar la base de muchos aparatos de la informática e
idiomas de la programación.

1820
La primera calculadora de producción masiva se distribuyó por Charles Thomas de Colmar.
Originalmente se les vendió a casas del seguro Parisienses, el aritmómetro de Colmar operaba
usando una variación de la rueda de Leibniz. Más de mil aritmómetros se vendieron y
eventualmente recibió una medalla a la Exhibición Internacional en Londres en 1862.

1822
Charles Babbage completó su Artefacto de la diferencia, una máquina de propósito específico que
se podía usar para calcular valores de funciones polinómicas mediante el método de las
diferencias. El Artefacto de la Diferencia era un ensamble complejo de ruedas, engranajes, y
remaches. Babbage diseñó su "Artefacto Analítico", un aparato de propósito general que era
capaz de ejecutar cualquier tipo de cálculo matemático. Los diseños del artefacto analítico eran la
primera conceptualización clara de una máquina que podría ejecutar el tipo de cálculos
computacionales que ahora se consideran el corazón de informática. Babbage nunca construyó su
artefacto analítico, pero su plan influyó en toda computadora digital subsiguiente, incluidas las
modernas. El artefacto analítico fue finalmente construido por un equipo moderno de ingenieros,
en 1989, cien años después de la muerte de Babbage en 1871. Por su discernimiento, Babbage hoy
se conoce como el "Padre de las Computadoras Modernas".

1837
Fue inicialmente descrita la máquina analítica de Charles Babbage. Es el diseño de un computador
moderno de propósito general. La idea que tuvo Charles Babbage sobre un computador nació
debido a que la elaboración de las tablas matemáticas era un proceso tedioso y muy propenso a
errores.

1843
Lady Ada Augusta Lovelace sugirió la idea de que las tarjetas perforadas se adaptaran de manera
que causaran que el motor de Babbage repitiera ciertas operaciones. Debido a esta sugerencia
algunos consideran a Lady Lovelace la primera programadora.

1854
El desarrollo del Álgebra de Boole fue publicado por el lógico inglés George Boole. El sistema de
Boole redujo a argumentos lógicos las permutaciones de tres operadores básicos algebraicos: y, o,
y no. A causa del desarrollo del álgebra de Boole, Boole es considerado por muchos como el padre
de la teoría de la informática.

1869
La primera máquina lógica en usar el álgebra de Boole para resolver problemas más rápido que
humanos, fue inventada por William Stanley Jevons. La máquina, llamada el Piano lógico, usó un
alfabeto de cuatro términos lógicos para resolver silogismos complicados.

1878
Un comité de la Asociación Británica para el avance de la ciencia recomendó no construir la
máquina analítica, por lo que Babbage no tuvo acceso a fondos del gobierno.
Ramón Verea, quien vivía en la ciudad de Nueva York, inventó una calculadora con una tabla
interna de multiplicación; esto fue mucho más rápido que usar acarreos u otro método digital de
aquel tiempo. Él no se interesó en poner su obra en producción, sólo quiso mostrar que un
español podía inventar tanto como un americano.

1879
A los 19 años de edad, Herman Hollerith fue contratado como asistente en las oficinas del censo
estadounidense y desarrolló un sistema de cómputo mediante tarjetas perforadas en las que los
agujeros representaban el sexo, la edad, raza, entre otros. Gracias a la máquina tabuladora de
Hollerith el censo de 1890 se realizó en dos años y medio, cinco menos que el censo de 1880.Se
tardaba tanto en hacer el censo debido a la llegada masiva de inmigrantes.

1884
Dorr Felt desarrolló su Comptómetro, el cual fue la primera calculadora que se operaba con sólo
presionar teclas en vez de, por ejemplo, deslizar ruedas.

1893
La primera máquina exitosa de multiplicación automática se desarrolló por Otto Steiger. "El
Millonario", como se le conocía, automatizó la invención de Leibniz de 1673, y fue fabricado por
Hans W. Egli de Zurich. Originalmente hecha para negocios, la ciencia halló inmediatamente un
uso para el aparato, y varios miles de ellos se vendieron en los cuarenta años que siguieron.

Siglo XX
1906
El primer tubo de vacío fue inventado por el estadounidense, Lee De Forest. El "Audion", como se
llamaba, tenía tres elementos dentro de una bombilla del vidrio evacuada. Los elementos eran
capaces de hallar y amplificar señales de radio recibidas de una antena. El tubo al vacío
encontraría uso en varias generaciones tempranas de 5 computadoras, a comienzos de 1930.

1919
El primer circuito multivibrador o biestable (en léxico electrónico flip-flop) fue desarrollado por los
inventores americanos W.H. Eccles y F.W. Jordan. El flip-flop permitió diseñar circuitos
electrónicos que podían tener dos estados estables, alternativamente, pudiendo representar así el
0 como un estado y el otro con un 1. Esto formó la base del almacenamiento y proceso del bit
binario, estructura que utilizan las actuales computadoras.

1924
Walther Bothe construyó una puerta lógica AND para usarla en experimentos físicos, por lo cual
recibió el premio Nobel de física en 1954.

1925
Se fundan los laboratorios Bell.

1930
Vannevar Bush construyó una máquina diferencial parcialmente electrónica, capaz de resolver
ecuaciones diferenciales.

1931
Kurt Gödel publicó un documento sobre los lenguajes formales basados en operaciones
aritméticas. Lo usó para codificar arbitrariamente sentencias y pruebas formales, y mostró que los
sistemas formales, como las matemáticas tradicionales, son inconsistentes en un cierto sentido, o
que contienen sentencias improbables pero ciertas. Sus resultados son fundamentales en las
ciencias teóricas de la computación.

1936
Alan Turing describe la máquina de Turing, la cual formaliza el concepto de algoritmo.

1940
Samuel Williams y George Stibitz completaron en los laboratorios Bell una calculadora que podía
manejar números complejos.

1941
La computadora Z3 fue creada por Konrad Zuse. Fue la primera máquina programable y
completamente automática.

1942
John Vincent Atanasoff y Clifford Edward Berry completaron una calculadora de propósito especial
para resolver sistemas de ecuaciones lineales simultáneas, la cual fue llamada la "ABC" (" Atanasoff
Berry Computer").

1944
Se construyó en la Universidad de Harvard, la Mark I, diseñada por un equipo encabezado por
Howard H. Aiken.

1945
El primer caso de malfuncionamiento en la computadora causado por la intrusión de una polilla al
sistema fue documentado por los diseñadores del Mark II. Erróneamente se cree que de allí
proviene el uso del término "bug", que significa insecto o polilla en inglés. Sin embargo este
término ya se usaba mucho antes para referirse a malfuncionamientos de aparatos mecánicos,
eléctricos y electrónicos. El "Oxford English Dictionary " documenta este uso de la palabra desde
1889.
Vannevar Bush desarrolló la teoría de Memex, un dispositivo de hipertexto ligado a una librería de
libros y películas.
1946
ENIAC.
Se construye en la Universidad de Pennsylvania la ENIAC (Electronic Numerical Integrator And
Calculator), que fue la primera computadora electrónica de propósito general. Esta máquina
ocupaba todo un sótano de la Universidad, tenía más de 18.000 tubos de vacío, consumía 200kW
de energía eléctrica y requería todo un sistema de aire acondicionado; tenía la capacidad para
realizar cinco mil operaciones aritméticas por segundo.

1947
Se inventa el transistor, en Laboratorios Bell por John Bardeen, Walter H. Brattain, y William
Shockley.

1949
Fue desarrollada la primera memoria, por Jay Forrester, la cual reemplazó los no confiables tubos
al vacío como la forma predominante de memoria por los próximos diez años.

1950
Alan Turing expone un artículo que describe lo que ahora conocemos como la prueba de Turing.
Su publicación explora el desarrollo natural y potencial de la inteligencia y comunicación humana y
de computadoras.

1951
Comienza a operar la EDVAC, a diferencia de la ENIAC, no era decimal, sino binaria y tuvo el primer
programa diseñado para ser almacenado.
Eckert y Mauchly entregan a la Oficina del Censo su primer computador: el UNIVAC I.
El Sistema A-0 fue inventado por Grace Murray Hopper. Fue el compilador desarrollado para una
computadora electrónica.

1952
Shannon desarrolla el primer ratón eléctrico capaz de salir de un laberinto, considerada la primera
red neural.

1953
IBM fabricó su primera computadora escala industrial, la IBM 650
Se amplía el uso del lenguaje ensamblador para la programación de las computadoras.
Se crean memorias a base de magnetismo (conocidas como memorias de núcleos).

1954
Se desarrolla el lenguaje de programación de alto nivel FORTRAN.

1956
Darthmouth da una conferencia en a partir de la que nace el concepto de inteligencia artificial.
Edsger Dijkstra inventa un algoritmo eficiente para descubrir las rutas más cortas en grafos como
una demostración de las habilidades de la computadora ARMAC.

1957
Es puesta a la venta por parte de IBM la primera impresora de matriz de puntos.

1958
Comienza la segunda generación de computadoras, caracterizados por usar circuitos
transistorizados en vez de válvulas al vacío.
El primer circuito integrado se construyó por Jack S. Kilby.
La organización ARPA es creada como consecuencia tecnológica de la llamada Guerra Fría.

1960
Se desarrolla COBOL, el primer lenguaje de programación de alto nivel transportable entre
modelos diferentes de computadoras.
Aparece ALGOL, el primer lenguaje de programación estructurado y orientado a los
procedimientos.
Se crea el primer compilador de computador.
C. Antony R. Hoare desarrolla el algoritmo de ordenamiento o clasificación llamado quicksort.

1961
Kenneth Iverson inventa el lenguaje de programación APL en IBM.
Aparece el concepto de paginación de memoria, descrito por T. Kilburn y D. J. Howart.

1962
Los primeros programas gráficos que dejan que el usuario dibuje interactivamente en una pantalla
fueron desarrollados por Iván Sutherland en MIT.
El primer compilador autocontenido, es decir, capaz de compilar su propio código fuente fue el
creado para Lisp por Hart y Levin en el MIT.
Un equipo de la Universidad de Manchester completa la computadora ATLAS. Esta máquina
introdujo muchos conceptos modernos como interrupciones, pipes (tuberías), memoria
entrelazada, memoria virtual y memoria paginada. Fue la máquina más poderosa del mundo en
ese año.
El estudiante del MIT Steve Russell escribe el primer juego de computadora, llamado Spacewar!.

1963
Un comité Industria-Gobierno define el código estándar de caracteres ASCII.
El primer minicomputador comercialmente exitoso es distribuido por DEC (Digital Equipment
Corporation).

1964
La aparición del IBM 360 marca el comienzo de la tercera generación. Las placas de circuito
impreso con múltiples componentes elementales pasan a ser reemplazadas con placas de circuitos
integrados.
Aparece el CDC 6600, la primera supercomputadora comercialmente disponible.
Se desarrolla el lenguaje BASIC, John George Kemeny y Thomas Eugene Kurtz en el Dartmouth
College

1965
Gordon Moore publica la famosa Ley de Moore.
La lógica difusa, diseñada por Lofti Zadeh, se usó para procesar datos aproximados.
J. B. Dennis introduce por primera vez el concepto de segmentación de memoria.
Los algoritmos de exclusión mutua (sistemas operativos) fueron tratados por primera vez en los
clásicos documentos de Dijkstra.

1966
La mayoría de ideas y conceptos que existían sobre redes fueron aplicadas a ARPANET.
Aparecen los primeros ensayos que más tarde definirían lo que hoy es la programación
estructurada.

1967
Los primeros programas exitosos de ajedrez fueron desarrollados por Richard Greenblatt en el
MIT.
Es inventado el diskette (disco flexible) en IBM por David Noble, bajo la dirección de Alan Shugart.

1968
Robert Noyce y Gordon Moore fundan la corporación Intel.

1969
El protocolo de comunicaciones NCP fue creado para controlar la red ARPANET.
La primera minicomputadora de 16-bit es distribuida por la Data General Corporation.
Se desarrolla en los laboratorios Bell el lenguaje de programación B cuyos aportes fueron
mayoritariamente de Ken Thompson y Dennis Ritchie.
Nace el sistema operativo UNICS en los laboratorios Bell de AT&T por un grupo de empleados de
dicho laboratorio, entre los que se encuentran Ken Thompson, Dennis Ritchie y Douglas Mcllroy.

1970
El sistema UNICS, es renombrado como Unix.
El primer cable de fibra óptica fue comercialmente producido por Corning Glass Works, Inc.
Se publica el primer modelo de base de datos relacional, por E.F. Codd.
El profesor suizo Niklaus Wirth desarrolla el lenguaje de programación Pascal.
Brinch Hansen utiliza por primera vez la comunicación interprocesos en el sistema RC 400.
Intel crea la primera memoria dinámica RAM. Se le llamó 1103 y tenía una capacidad de 1024 bits
(1Kbits).

1971
Se presenta el primer procesador comercial y a la vez el primer chip microprocesador, el Intel
4004.
Ray Tomlinson crea el primer programa para enviar correo electrónico, como consecuencia, la
arroba se usa por primera vez con fines informáticos.
Un grupo de investigadores del MIT presentaron la propuesta del primer "Protocolo para la
transmisión de archivos en Internet" (FTP).
Texas Instruments vende la primera calculadora electrónica portátil.

1972
Aparecen los disquetes de 5 1/4 pulgadas.
Se reconoce el primer virus informático, creado por Robert Thomas Morris. Atacó a una máquina
IBM Serie 360 y fue llamado Creeper.
Ken Thompson y Dennis M. Ritchie crean el lenguaje de programación C en los Laboratorios Bell.
Nolan Bushnell y Ted Dabney fundan la Atari.
Intel desarrolla y pone a la venta el procesador 8008.
El concepto de región crítica fue sugerido por C. A. R. Hoare y Per Brinch Hansen.

1973
ARPA cambia su nombre por DARPA.

1974
Es creado el protocolo TCP por Vint Cerf y Robert Kahn.
Se crea el sistema Ethernet para enlazar a través de un cable único a las computadoras de una red
local (LAN).
Gary Kildall crea el sistema operativo CP/M, en base al cual se desarrolla posteriormente, de
manera polémica, MS-DOS, suponiendo una violación a los derechos de autor (copyright) del
CP/M.

1975
En enero la revista Popular Electronics hace el lanzamiento del Altair 8800, el primer
microcomputador personal reconocible como tal.
Se funda la empresa Microsoft.

1976
Se funda la empresa Apple.

1977
Se hace popular el ordenador Apple II, desarrollado por Steve Jobs y Steve Wozniak en un garaje.
1978
Se desarrolla el famoso procesador de textos WordStar, originalmente para plataforma CP/M
(Control Program for Microcomputer).

1979
Dan Bricklin crea la primera hoja de cálculo, más tarde sería denominada VisiCalc.
Aparece el juego Pacman creado por Toru Iwatani de la empresa Namco.

1980
Surge el primer prototipo de Computadora de Instrucción Reducida (RISC), desarrollado por un
grupo de investigación en IBM.
La empresa Mycron lanza la primera microcomputadora de 16 bits, llamada Mycron 2000.
Se desarrolla el primer microprocesador de 32-bit en un solo chip en Laboratorios Bell, llamado
Bellmac-32.

1981
Se lanza al mercado el IBM PC, que se convertiría en un éxito comercial, marcaría una revolución
en el campo de la computación personal y definiría nuevos estándares.
Se termina de definir el protocolo TCP/IP.
Apple presenta el primer computador personal que se vende a gran escala, el apple II.
Sony crea los disquetes de 3 1/2 pulgadas.

1982
La Asociación Internacional MIDI publica el MIDI.
Se funda Compaq Computer Corporation, una compañía de computadoras personales, por Rod
Canion, Jim Harris y Bill Murto.

1983
Microsoft ofrece la versión 1.0 del procesador de textos Word para DOS.
Compaq (Compaq Computer Corporation) fabrica el primer clon PC IBM compatible, el Compaq
portable.
ARPANET se separa de la red militar que la originó, de modo que, ya sin fines militares, se puede
considerar esta fecha como el nacimiento de Internet.
Se anuncia públicamente el proyecto GNU iniciado por Richard Stallman.
Aparece el lenguaje de programación C++ diseñado por Bjarne Stroustrup.
Nace el primer sistema operativo de Sun llamado SunOS.
Aparece el famoso Lotus 1-2-3, un programa de hoja de cálculo realizado por la compañía Lotus
Software.
El sistema DNS consistía de 1000 hosts.
Se funda Borland.
1984
IBM presenta el PC-AT, con procesador Intel 80286, bus de expansión de 16 bits y 6 Mhz de
velocidad. Tenía hasta 512 KB de memoria RAM, un disco duro de 20 MB y un monitor
monocromático. Su precio en ese momento era de 5.795 dólares.
Apple Computer presenta su Macintosh 128K con el sistema operativo Mac OS, el cual introduce la
interfaz gráfica ideada en Xerox.
Las compañías Philips y Sony crean los CD-Roms para computadores.
Se desarrolla el sistema de ventanas X bajo el nombre X1 para dotar de una interfaz gráfica a los
sistemas Unix.
Aparece el lenguaje LaTeX para procesamiento de documentos.
Hewlett-Packard lanza su popular impresora LaserJet.
Leonard Bosack y Sandra Lerner fundan Cisco Systems que es líder mundial en soluciones de red e
infraestructuras para Internet.

1985
Microsoft presenta el sistema operativo Windows 1.0.
Compaq saca a la venta la Compaq Deskpro 286, una PC IBM Compatible de 16-bits con
microprocesador Intel 80286 corriendo a 6 MHz y con 7MB de RAM, fue considerablemente más
rápida que una PC IBM. Fue la primera de la línea de computadoras Compaq Deskpro.
Bertrand Meyer crea el lenguaje de programación Eiffel.
Adobe crea el PostScript.
El ruso Alexey Pazhitnov crea el juego Tetris.

1986
ISO estandariza SGML, lenguaje en que posteriormente se basaría XML.
Compaq lanza el primer computador basado en el procesador de 32 bits Intel 80386,
adelantándose a IBM.
El lenguaje SQL es estandarizado por ANSI.
Aparece el programa de cálculo algebraico de computadora MathCad.
Se registra la primera patente base de codificación de lo que hoy conocemos como MP3.
Compaq pone en venta la PC compatible Compaq Portable II, mucho más ligera y pequeña que su
predecesora, usaba microprocesador de 8 MHz y 10MB de disco duro, y fue 30% más barata que la
IBM PC/AT con disco rígido.

1987
Se desarrolla la primera versión del actual protocolo X11.
Larry Wall crea el lenguaje de programación Perl.
El proyecto GNU crea el conjunto de compiladores llamado "GNU Compiler Collection".
Compaq introdujo la primera PC basada en el nuevo microprocesador de Intel; el 80386 de 32 bits,
con la Compaq Portable 386 y la Compaq Portable III. Aún IBM no estaba usando este procesador.
Compaq marcaba lo que se conocería como la era de los clones de PC.
1988
Soft Warehouse desarrolla el programa de álgebra computacional llamado Derive.
Stephen Wolfram y su equipo sacan al mercado la primera versión del programa Mathematica.
Aparece el primer documento que describe lo que hoy se conoce como firewalls.
Aparece el estándar XMS.

1989
Creative Labs presenta la reconocida tarjeta de sonido Sound Blaster.
T. E. Anderson estudia las cuestiones sobre el rendimiento de las hebras o hilos en sistemas
operativos (threads).

1990
Tim Berners-Lee ideó el hipertexto para crear el World Wide Web (www) una nueva manera de
interactuar con Internet. También creó las bases del protocolo de transmisión HTTP, el lenguaje de
documentos HTML y el concepto de los URL.
Se construye el primer prototipo de procesador óptico en AT&T (Laboratorios de Bell).
Guido van Rossum crea el lenguaje de programación Python.

1991
Linus Torvalds comenzó a desarrollar Linux, un sistema operativo compatible con Unix.
Comienza a popularizarse la programación orientada a objetos.
Surge la primera versión del estándar Unicode.
Aparece la primera versión de Adobe Premiere.
Compaq puso a la venta al por menor con la Compaq Presario, y fue uno de los primeros
fabricantes en los mediados de los 90's en vender una PC de menos de $1,000. Compaq se
convirtió en una de los primeros fabricantes en usar micros de AMD y Cyrix.

1992
Es introducida la arquitectura de procesadores Alpha diseñada por DEC bajo el nombre AXP, como
reemplazo para la serie de microcomputadores VAX que comúnmente utilizaban el sistema
operativo VMS y que luego originaría el openVMS. El procesador Alpha 21064 de 64 bits y 200MHz
es declarado como el más rápido del mundo.
Microsoft lanza Windows 3.1.
Aparece la primera versión del sistema operativo Solaris.
GNU comienza a utilizar el núcleo Linux.
1993
Un grupo de investigadores descubrieron que un rasgo de la mecánica cuántica, llamado
entrelazamiento, podía utilizarse para superar las limitaciones de la teoría del cuanto (quantum)
aplicada a la construcción de computadoras cuánticas y a la teleportación (teleportation).
Microsoft lanza al mercado la primera versión del sistema operativo multiusuario de 32 bits
(cliente-servidor) Windows NT.
Se crea la lista TOP500 que recopila los 500 ordenadores más potentes de la tierra.
1994
Marc Andreessen crea el famoso navegador web Netscape Navigator.
Es diseñado el PHP, originalmente en lenguaje Perl, seguidos por la escritura de un grupo de CGI
binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf.

1995
Lanzamiento de Windows 95 por parte de Microsoft.
Aparece la primera versión de MySQL.
Inicia el desarrollo del servidor Apache.
La implementación original y de referencia del compilador, la máquina virtual y las librerías de
clases de Java fueron desarrollados por Sun Microsystems.
Se presenta públicamente el lenguaje de programación Ruby.
Se especifica la versión 1.5 del DVD, base actual del DVD.

1996
Se crea Internet2, más veloz que la Internet original.
Se publica la primera versión del navegador web Opera.
Se inicia el proyecto KDE.
La tecnología de DjVu fue originalmente desarrollada en los laboratorios de AT&T.
Aparece la primera versión de SuperCollider.
Sabeer Bhatia y Jack Smith fundan HotMail.

1997
Es creado reproductor multimedia Winamp, cuya distribución es realizada gratuitamente por la
empresa estadounidense Nullsoft.
Aparece la primera versión pública de FlightGear.
Spencer Kimball y Peter Mattis crean la inicial librería GTK+.

1998
La W3C publica la primera versión de XML.
Es lanzado al mercado el sistema Windows 98 por parte de Microsoft.
Compaq adquirió Digital Equipment Corporation, la compañía líder en la anterior generación de las
computadoras durante los años 70 y principios de los 80. Esta adquisición convertiría a Compaq en
el segundo más grande fabricante de computadoras, en términos de ingresos.
Larry Page y Sergey Brin fundan Google Inc.

1999
Aparece el entorno de escritorio GNOME.
Se publica la primera versión de MSN Messenger.
Surge Mac OS 9.
2000
Es presentado el prototipo de computador cuántico construido por un equipo de investigadores de
IBM.
Es lanzado el sistema operativo Windows 2000 por Microsoft.
Es lanzado el sistema operativo Windows Me por Microsoft.
Lanzamiento de Mac OS X.

Siglo XXI
2001
Microsoft desarrolla, como parte de su plataforma .NET, el lenguaje de programación C#, que
después fue aprobado como un estándar por la ECMA e ISO.
Larry Sanger y Jimmy Wales fundan Wikipedia
Se lanza el sistema operativo Windows XP por parte de Microsoft.

2002
Lanzamiento del navegador web Mozilla Firefox, llamado en un primer momento Phoenix.
Puesta en marcha del supercomputador Earth Simulator que sería el ordenador más potente
según el TOP500.

2005
Los usuarios de Internet con conexión de banda ancha superan a los usuarios de internet con
conexión vía módem en la mayoría de países desarrollados.
Se lanza el programa Google Earth.
Lanzamiento de Windows XP Media Center Edition
Puesta en funcionamiento del supercomputador MareNostrum en el BSC.
Creación de YouTube.

2006
Lanzamiento del sistema operativo de Microsoft Windows Vista
Entra en servicio el supercomputador Magerit perteneciente al CeSViMa.

2007
La empresa Dell lanza al mercado la primera computadora portátil (laptop) con la distribución
Linux Ubuntu preinstalada.
La empresa de Steve Jobs, Apple, lanza al mercado la nueva versión el Mac OS X Leopard 10.5

2008
Apple lanza al mercado la MacBook Air la cual, al parecer, es la laptop más delgada del mundo en
ese momento.
Apple lanza el móvil más revolucionario de la historia en toda Europa y América, el iPhone 3G .
Google, contrarresta a Apple lanzando el G1 con su nuevo sistema Android para móviles.
Lanzamiento del navegador Google Chrome.
Lanzamiento de KDE 4.0.
El supercomputador Roadrunner es el primero en superar el PetaFLOP alcanzando el número 1 en
la lista de los más veloces, TOP500.

2009
Debian GNU/Linux 5.0
KDE 4.2 RC
Apple, lanza al mercado la nueva versión el Mac OS X Snow Leopard 10.6
El 22 de octubre se lanza el sucesor de Windows Vista, el Windows 7.

2010
Se espera el lanzamiento de Google Chrome OS, un sistema operativo creado por la empresa
Google y basado en Linux.
Se espera el lanzamiento de USB versión 3.0, que representaría un avance en la velocidad de
transmisión de datos entre el dispositivo conectado y la computadora.
Qualcomm lanza el primer procesador móvil doble núcleo a 1,5 Ghz

MODOS DE DIRECCIONAMIENTO
Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática
un operando dentro de una instrucción (lenguaje ensamblador). Cómo se especifican e interpretan
las direcciones de memoria según las instrucciones.

Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de


un operando mediante el uso de la información contenida en registros y / o constantes, contenida
dentro de una instrucción de la máquina o en otra parte.

Modos de direccionamiento

Diferentes arquitecturas de computadores varían mucho en cuanto al número de modos de


direccionamiento que ofrecen desde el hardware. Eliminar los modos de direccionamiento más
complejos podría presentar una serie de beneficios, aunque podría requerir de instrucciones
adicionales, e incluso de otro registro. Se ha comprobado que el diseño de CPUs segmentadas es
mucho más fácil si los únicos modos de direccionamiento que proporcionan son simples.

La mayoría de las máquinas RISC disponen de apenas cinco modos de direccionamiento simple,
mientras que otras máquinas CISC tales como el DEC VAX tienen más de una docena de modos de
direccionamiento, algunos de ellos demasiado complejos. El mainframe IBM System/360 disponía
únicamente de tres modos de direccionamiento; algunos más fueron añadidos posteriormente
para el System/390.
Cuando existen solo unos cuantos modos, estos van codificados directamente dentro de la propia
instrucción (Un ejemplo lo podemos encontrar en el IBM/390, y en la mayoría de los RISC). Sin
embargo, cuando hay demasiados modos, a menudo suele reservarse un campo específico en la
propia instrucción, para especificar dicho modo de direccionamiento. El DEC VAX permitía
múltiples operandos en memoria en la mayoría de sus instrucciones, y reservaba los primeros bits
de cada operando para indicar el modo de direccionamiento de ese operando en particular.

Incluso en computadores con muchos modos de direccionamiento, algunas medidas realizadas a


programas indican que los modos más simples representan cerca del 90% o más de todos los
modos de direccionamiento utilizados. Dado que la mayoría de estas medidas son obtenidas a
partir de códigos de alto nivel generados a partir de compiladores, nos da una idea de las
limitaciones que presentan los compiladores que se utilizan.

TIPOS DE DIRECCIONAMIENTO
 Indirecto: En este modo de direccionamiento no es necesario poner ninguna dirección de
forma explícita, ya que en el propio código de operación se conoce la dirección del (de los)
operando(s) al (a los) que se desea acceder o con el (los) que se quiere operar.

Supongamos una arquitectura de pila, las operaciones aritméticas no requieren direccionamiento


explícito por lo que se ponen como:

- add

- sub

...

¿Por qué? Porque cuando se opera con dos datos en esta arquitectura se sabe que son los dos
elementos del tope de la pila:

Ejemplo de una pila

1 2 3 4 5 6 <- pila

top() es 1

ntop() es 2

Donde top() representa el tope de la pila y ntop() el siguiente al tope de la pila y son estos
argumentos con los que se opera al llamar a una orden en concreto.
Otro ejemplo de este tipo de direccionamiento lo podemos encontrar en la arquitectura de
acumulador (AC) donde siempre hay un parámetro implícito y este es el AC.

Para finalizar y dejar este modo de direccionamiento generalizado para las arquitecturas más
usuales, remarcamos que también podemos encontrarlo en la arquitectura con registros de
propósito general, por ejemplo con órdenes como setc, que pone a 1 el registro c (acarreo).

 Inmediato: En la instrucción está incluido directamente el operando.

En este modo el operando es especificado en la instrucción misma. En otras palabras, una


instrucción de modo inmediato tiene un campo de operando en vez de un campo de dirección. El
campo del operando contiene el operando actual que se debe utilizar en conjunto con la
operación especificada en la instrucción. Las instrucciones de modo inmediato son útiles para
inicializar los registros en un valor constante.

Cuando el campo de dirección especifica un registro del procesador, la instrucción se dice que está
en el modo de registro.

Directo: El campo de operando en la instrucción contiene la dirección en memoria donde se


encuentra el operando.

En este modo la dirección efectiva es igual a la parte de dirección de la instrucción. El operando


reside en la memoria y su dirección es dada directamente por el campo de dirección de la
instrucción. En una instrucción de tipo ramificación el campo de dirección especifica la dirección
de la rama actual.

Con este tipo de direccionamiento, la dirección efectiva es contenida en la misma instrucción, tal
como los valores de datos inmediatos que son contenidos en la instrucción. Un procesador de 16
bits suma la dirección efectiva al contenido del segmento de datos previamente desplazado en 4
bits para producir la dirección física del operando.
Indirecto: El campo de operando contiene una dirección de memoria, en la que se encuentra la
dirección efectiva del operando.

 Absoluto: El campo de operando contiene una dirección en memoria, en la que se


encuentra la instrucción.
 De registro: Sirve para especificar operandos que están en registros.
 Indirecto mediante registros: El campo de operando de la instrucción contiene un
identificador de registro en el que se encuentra la dirección efectiva del operando.

En este modo el campo de la dirección de la instrucción da la dirección en donde la dirección


efectiva se almacena en la memoria. El control localiza la instrucción de la memoria y utiliza su
parte de dirección para accesar la memoria de nuevo para leer una dirección efectiva. Unos pocos
modos de direccionamiento requieren que el campo de dirección de la instrucción sea sumado al
control de un registro especificado en el procesador. La dirección efectiva en este modo se obtiene
del siguiente cálculo:

Dir. efectiva = Dir. de la parte de la instrucción + Contenido del registro del procesador

 De desplazamiento: Combina el modo directo e indirecto mediante registros


 De pila: Se utiliza cuando el operando está en memoria y en la cabecera de la pila.
Este direccionamiento se basa en las estructuras denominadas Pila(tipo LIFO), las cuales están
marcados por el fondo de la pila y el puntero de pila (*SP), El puntero de pila apunta a la última
posición ocupada. Así, como puntero de direccionamiento usaremos el SP. El desplazamiento más
el valor del SP nos dará la dirección del objeto al que queramos hacer referencia. En ocasiones, si
no existe C. de desplazamiento solo se trabajara con la cima de la pila. Este tipo de
direccionamiento nos aporta flexibilidad pero por el contrario, es mucho más complejo que otros
tipos estudiados más arriba.

 Respecto a un registro base: Este modo de direccionamiento es muy usado por los
ensambladores cuando se llaman a las funciones (para acceder a los parámetros apilados
en la pila, valga la redundancia). Consiste, al igual que el indirecto a través de registro, en
calcular la EA (Effective Address) como la suma del contenido del registro base y un cierto
desplazamiento (u offset) que siempre será positivo. Esta técnica permite códigos
reentrantes y acceder de forma fácil y rápida a posiciones cercanas de memoria.

EA = RB+offset

RB = registro base

offset = desplazamiento

-> RB se comporta como una dirección de memoria a la que se le sumará el desplazamiento

 Respecto a un registro índice: Es similar al anterior, lo único que es el contenido del


registro índice el que indica el desplazamiento que se produce a partir de una dirección de
memoria que se pasa también como argumento a la orden que utiliza este modo de
direccionamiento. Aunque en esencia son dos modos equivalentes. La EA se calcula como
la suma del contenido del registro índice y una dirección de memoria:

EA = RI+DM

RI = registro índice

DM = dirección de memoria

-> RI se comporta como un offset

 Indexado respecto a una base: Se trata de una combinación de los dos anteriores y
consiste en calcular la dirección efectiva como:

EA = RI+RB+DM

-> Las siglas significan lo mismo que en el caso anterior


 Respecto al contador de programa: Consiste en dirección una posición de memoria
usando como registro base al contador de programa (PC), el funcionamiento es análogo al
direccionamiento respecto a registro base con la salvedad de que, en este caso, el offset
puede ser también negativo.

 Indexado con autoincremento/autodecremento: Es un modo de direccionamiento


análogo al indexado, explicado anteriormente. La única diferencia es que permite un
incremento o decremento de la dirección final o el registro índice según los siguientes
casos:

-> Indexado con autopreincremento: Incrementa el registro índice primero (se incrementa un
valor, según el tamaño del objeto direccionado) y luego calcula la EA al igual que el
direccionamiento indexado.

-> Indexado con autoposincremento: Calcula la dirección efectiva y después incrementa esta.

-> Indexado con autopredecremento: Decrementa el registro índice y después calcula la dirección
efectiva.

-> Indexado con autoposdecremento: Calcula la dirección efectica y después decrementa esta.

 Instrucción de salto con direccionamiento absoluto: Consiste en cargar en el PC el valor


que se especifica en la orden de salto, p.e:

jmp 0xAB ----> Carga 0xAB en PC

 Instrucción de salto con direccionamiento relativo: Es parecida a la especificada


anteriormente la diferencia es que el salto es relativo al PC, pongamos un ejemplo:

Supongamos que PC vale = 0x0A, si nosotros interpretamos la instrucción jr +03, saltaremos tres
posiciones posteriores a PC (también podría ser -03 y serían posiciones anteriores). Pero,
¡cuidado! si esa instrucción estaba en la posición 0x0A la dirección de PC a incrementar será la
inmediatamente posterior (ya que PC se incrementa automáticamente después de leer la
instrucción), por lo que quedaría:

PC = 0x0B ---> nuevo PC = 0x0B+0x03 = 0x0E, con lo que el PC quedaría como 0x0E.

Direccionamiento paginado y direccionamiento segmentado

 Paginado: La memoria se encuentra actualmente dividida en páginas (bloques de igual


longitud).
En este caso, para obtener las direcciones necesitamos: Indicador de página (IP): en un registro
específico o de propósito general de la máquina. Dirección de la palabra (DP): en el campo CD de
la instrucción.

Así, concatenando ambas partes obtenemos la dirección completa.

Segmentado: En este caso, la memoria se divide en porciones, como en el tipo anterior, pero en
este caso los tamaños son variables. Así, para acceder a ellos se tiene una tabla de segmentos que
contiene la dirección del comienzo y dle final de cada segmento en memoria.

Usar este tipo de direccionamiento tiene como ventajas que se puede definir segmentos de
tamaño arbitrario. Por otro lado, esta misma ventaja, el fraccionamiento de memoria es uno de
sus problemas.

Ambos modos de direccionamiento facilitan la multiprogramación gracias a la técnica de la


memoria virtual que permite que un proceso no tenga que estar cargado íntegramente en
memoria, si no que se cargan distintas páginas del mismo (o segmentos). Si se intenta cargar una
página o segmento que no se encuentra en la memoria principal se produce una excepción de
falta de página o segmento y se accede a la memoria para cargar la información requerida en la
memoria principal.

Algunos modos de direccionamiento obsoletos


Estos modos fueron usados durante 1950-1980 y ya no están disponibles en los computadores
modernos. Esta lista no es completa, puesto que hubo otros muchos modos de direccionamiento
más, algunos más interesantes y peculiares.

 Indirecto de multinivel de memoria

Si la longitud de palabra era mayor que la dirección, la palabra era referenciada por este
direccionamiento indirecto de multinivel, que podía tener una "bandera" para indicar un ciclo
indirecto de memoria. Es necesario tener cuidado para asegurar que una cadena de direcciones
indirectas no se refiera a ella misma, si lo hiciera, se llegaría a un bucle infinito mientras trata de
encontrar la dirección.

El DEC PDP-10 con 18 bits de direccionamiento y palabras de 36 bits permitían este modo de
direccionamiento con la posibilidad de usar un registro principal para cada fase.

 Indirecto de memoria con autoincremento

En algunos minicomputadores había normalmente 16 localizaciones especiales de memoria.


Cuando se accedía a memoria, la dirección era automáticamente incrementada y decrementada
después de su uso. Esto hacía muy fácil acceder a memoria en bucles sin usar ningún registro.

 "Página cero

La familia Motorola 6800 y la MOS Technology 6502 fueron unas familias de pobres
microprocesadores CISC. Las instrucciones aritméticas y lógicas estaban casi todas hechas en
contra de los valores de memoria. Como resultado, las instrucciones necesitaban incluir una
localización de dos bytes en memoria.

Los diseñadores de estos procesadores incluían un "remedio" llamado direccionamiento "página


cero". Los 256 bytes iníciales de memoria podían ser accedidos usando un byte o una dirección
de memoria indexada. Esto reducía el tiempo de ejecución de las instrucciones un ciclo de reloj.
Almacenando datos en esta "región" los programas podían ser más pequeños y más rápidos.

Como resultado, la "página cero" fue usada de forma parecía a un archivo de registro. En muchos
sistemas, sin embargo, provocó una gran utilización del área de memoria de la página cero por el
sistema operativo y por los usuarios de programas. Esto limitó su uso desde que el espacio libre
fue limitado.

ORGANIZACIÓN Y ARQUITECTURA INTERNA DE LA CPU


Diagrama de bloques
Los bloques funcionales básicos son: la unidad de procesamiento central (CPU), la memoria
principal, y el procesador de Entrada - Salida.

Unidad de proceso central: esta es la responsable de la interpretación y ejecución de


instrucciones contenidas en la memoria principal, las comunicaciones entre la CPU y la memoria
principal se realizan a través de 2 canales funcionalmente distintos: el de direcciones y el de
datos.
Para introducir en la memoria, una instrucción especifica, la CPU envía a dicha memoria la
dirección de la instrucción por el canal de direcciones y recibe por el mismo medio la instrucción
que está en esa dirección.
Parte de la instrucción es utilizada por la CPU para identificar la operación. Esta parte se llama
código de operación de la instrucción. La información restante se utiliza para determinar la o las
localidades de los datos con los cuales se va a efectuar la operación.
La acción de leer una instrucción en la CPU y prepararla para su ejecución se denomina ciclo de
búsqueda. Para completar una instrucción la CPU decodifica el código de operación, genera las
señales de control que se necesitan para introducir los operandos requeridos y controla la
ejecución de la instrucción.
Por ejemplo, suponiendo que la operación especificada consiste en sumar 2 números requeridos
en 2 registros de la CPU y almacenar el resultado en un tercer registro de la CPU. Para efectuar
esta instrucción, la CPU identificará los 2 registros y generará las señales de control adecuados
para conectar los registros a la unidad de Aritmética y Lógica (ULA).
La CPU también haría que la ULA funcione como sumadora y dirija la salida hacia el tercer registro.
El proceso de realización que especifica una función se denomina ciclo de ejecución.
Los nombres ciclos de búsqueda y ciclos de ejecución derivan de la naturaleza cíclica de la
operación de la computadora una vez que esta empieza a funcionar repite los ciclos de búsqueda y
ejecución de manera continua. Para hacer referencia a cada ciclo suele utilizar el término ciclo de
máquina.
La CPU puede dividirse funcionalmente en 3 subunidades, la unidad de control, dedicada a los
ciclos de búsqueda y ejecución, la ULA que desempeña funciones aritméticas como por ejemplo,
suma y resta, de lógica por ejemplo AND, OR y un conjunto de registros dedicados al
almacenamiento de datos en la CPU y a ciertas funciones de control.

Registro e instrucciones de la CPU

PC
Registros MAR
MDR
IR OR
PSW NOR
AND
NAND
Desplazamiento
Rotación
Instrucciones
Aritmética y Lógica

Reg. a Reg.
Movimientos Reg. a Mem.
de datos Mem. A reg.
Mem a mem.

Operaciones de datos en bloque

Instrucciones de control de programa


Reg. estados y control
Instrucciones Instrucciones de Entrada-Salida
Reg. De información

La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta


velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de
control tiene acceso a ellos. Los registros restantes son los registros de uso general y el
programador es el usuario que tiene acceso a ellos.
Dentro del conjunto básico de registros de control se deben incluir a los siguientes:

1) Contador de programa (PC).


2) Registro de direcciones de la memoria (MAR).
3) Registro de datos (RD).
4) Registro de instrucciones (IR).
5) Palabra de estado de programa (PSW).

1) (PC): La función del PC consiste en seguir la pista de la instrucción por buscar (capturar) en el
siguiente ciclo de máquina, por lo tanto contiene la dirección de la siguiente instrucción por
ejecutar. El PC es modificado dentro del ciclo de búsqueda de la instrucción actual mediante la
suma de una constante. El número que se agrega al PC es la longitud de una instrucción en
palabras.
Por lo tanto, si una instrucción tiene una palabra de longitud se agrega 1 al PC, si una instrucción
tiene dos palabras de largo se agrega 2, y así sucesivamente.
2) Registro de direcciones de la memoria (MAR): funciona como registro de enlace entre la CPU
y el canal de direcciones. Cuando se logra el acceso a la memoria la dirección es colocada en el
MAR por la unidad de control y ahí permanece hasta que se completa la transacción. El número
de bit que hay en el MAR es igual al del canal de direcciones.
La diferencia que existe entre el PC y el MAR es que durante el ciclo de ejecución de una
instrucción, el PC y el MAR sirven al mismo fin. Sin embargo, muchas de las instrucciones de la
maquina hacen referencia a la memoria y operan con los datos que están en ella. Como la
dirección de los datos suele ser diferente de la instrucción siguiente se necesita el MAR.

3) Registro de datos: la función del RD consiste en proporcionar un área de almacenamiento


temporal (memoria intermedia, acumulada o buffer) de datos que se intercambian entre la PCU y
la memoria. Los datos pueden ser instrucciones (obtenidos en el ciclo de ejecución) o datos del
operando (obtenidos en el ciclo de ejecución). Debido a su conexión directa con el canal de datos
el RD contiene el mismo numero de bit que dicho canal.

4) Registro de instrucciones (IR): es un registro que conserva el código de operación de la


instrucción en todo el ciclo de la maquina. El código es empleado por la unidad de control de la
CPU para generar las señales apropiadas que controla le ejecución de la instrucción. La longitud
del ER es la longitud en bit del código de operación.

5) Palabra de estado de programa (PSW): la palabra de estado o condición de programa


almacena información pertinente sobre el programa que este ejecutándose. Por ejemplo al
completarse una función de la unidad aritmética lógica se modifica un conjunto de bit llamados
códigos (o señales de condición). Estos bit especifican si el resultado de una operación aritmética
fue 0 o negativo o si el resultado se desbordó.

El programa puede verificar estos bit en las instrucciones siguientes cambiar en forma condicional
su flujo de control según su valor.

Además el PSW contiene bit que hacen posible que la computadora responda a solicitudes de
servicio asincrónicas generadas por dispositivos de Entrada-Salida, o condiciones de error interno.
Estas señales se denominan interrupciones.

Los registros restantes que se pueden encontrar en un microprocesador son de uso general. Estos
se utilizan para almacenar información en forma temporal. También retienen operandos que
participan en operaciones de la ULA.

Algunas veces el conjunto de instrucciones de la computadora y el esquema de direccionamiento


de la arquitectura restringe el uso de alguno de estos registros.
Si bien en todas las maquinas la información contenida en el registro puede manipularse como
datos ordinarios durante la ejecución de algunas instrucciones los datos se utilizan en forma
explícita para decidir una dirección de la memoria. La ventaja de usar registros para retener datos
de operaciones es la velocidad.

TIPO DE INSTRUCCIONES

Las instrucciones pueden clasificarse en 5 categorías:

1. Instrucciones de aritmética y lógica.


2. Instrucciones de movimientos de datos.
3. Operaciones de datos en bloques.
4. Instrucciones de control del programa.
5. Instrucciones de Entrada - Salida.

1) Instrucciones de Aritmética y Lógica:


Entre ellas se encuentran operaciones binarias, las cuales requieren dos operandos y producen un
resultado único. La suma, la resta, la multiplicación y división, son operaciones standard en la
mayor parte de las maquinas con excepción de algunas mini-computadoras y microprocesadores.
Las operaciones de lógica incluida en el conjunto de instrucciones son las operaciones AND, NAND,
NOR, XAND, XOR.
También dentro de las instrucciones de aritmética y lógica se encuentran las operaciones de
desplazamiento y las de rotación.

2) Instrucciones de movimientos de datos:


Esta instrucción da por resultados la copia de datos desde una localidad de operando a otra;
además del código de operación, estas instrucciones requieren información que identifique los
operandos fuentes y destinos. En una computadora de uso general, los datos se pueden mover de:

(a) Registro a registro.


(b) Registro a memoria.
(c) Memoria a registro.
(d) Memoria a memoria.

3) Operaciones de datos en bloques:


Son aquellas que se efectúan con un conjunto de operandos y no con un solo operando. También
dentro de esta instrucción se encuentra la de control del programa. Esto hace posible que un
programa se adapte a la secuencia inherente al ciclo de máquina de la computadora. En otras
palabras, se pueden pasar por alto secciones de instrucciones como resultado de la activación de
un código de condiciones o como resultado directo del diseño del programa.

4) Instrucciones de Entrada – salida:


Desde el punto de vista de la programación para el acceso a la memoria o a un periférico
simplemente se requiere el mismo conjunto de instrucciones. Estos sistemas se denominan
sistemas de Entrada - Salida mapeados por memoria.
La programación de un dispositivo en estos sistemas requiere el conocimiento de este dispositivo y
sus características, aunque no se necesitan instrucciones especiales. El dispositivo se caracteriza
como un conjunto de localidades de la memoria que se dividen en dos subcategorias: un conjunto
de registro de estado de control y un registro de información.

Registro de estado y control. Estos suelen contener información acerca del estado inactivo,
ocupado, etc. En estos registros también se almacena información de control, como por ejemplo el
tipo de paridad y la velocidad de transmisión de los datos.
La información contenida en los registros de estado y control se utiliza principalmente para
proporcionar una imagen global del hardware cuando este en el programa

Registro de información: estos constituyen una memoria intermedia para la información que se
transfiere entre la CPU y el periférico. En el caso de un dispositivo se transfieren datos sobre la
base de carácter por carácter y suele haber solo dos registros. Uno que retiene datos de la CPU al
dispositivo y otro que utilice datos del dispositivo a la CPU. Si la Entrada - Salida programada se
realiza en un dispositivo unidireccional (solo transmite o solo recibe) entonces únicamente se
necesitara un registro.

CÓDIGO DE OPERACIÓN
En informática, un opcode (operation code) o código de operación, es la porción de una
instrucción de lenguaje de máquina que especifica la operación a ser realizada. Su especificación y
formato serán determinados por la arquitectura del conjunto de instrucciones (ISA) del
componente de hardware de computador - normalmente un CPU, pero posiblemente una unidad
más especializada. Una instrucción completa de lenguaje de máquina contiene un opcode y,
opcionalmente, la especificación de unos o más operandos - sobre los que la operación debe
actuar. Algunas operaciones tienen operandos implícitos, o de hecho ninguno. Algunas ISAs tiene
instrucciones con campos definidos para los opcodes y operandos, mientras que otras (ej. la
arquitectura Intel x86) tienen una estructura más complicada y de propósito específico.

Los operandos sobre los cuales los opcodes aplican pueden, dependiendo de la arquitectura del
CPU, consistir de. registros, valores en memoria, valores almacenados en la pila, puertos de I/O,
bus, etc. Las operaciones que un opcode puede especificar pueden incluir aritmética, copia de
datos, operaciones lógicas, y control del programa.

Los opcodes también pueden ser encontrados en los bytecodes interpretados por un
interpretador de código de byte (o la máquina virtual, en un sentido de ese término). En éstos, una
arquitectura de conjunto de instrucciones es creada para ser interpretada por software en vez de
un dispositivo de hardware. A menudo, los interpretadores de código de byte trabajan con tipos
de datos y operaciones de más alto nivel, que el de un conjunto de instrucciones por hardware,
pero son construidas a lo largo de líneas similares. Ejemplos incluyen la máquina virtual de Java
(JVM) del lenguaje de programación Java, el código de byte usado en GNU Emacs para el código
compilado de LISP, y muchos otros.

El lenguaje de máquina es tedioso y difícil para que los seres humanos lo programen directamente,
así que si la abstracción dada por un lenguaje de programación de alto nivel no es deseada, un
lenguaje ensamblador es usado. Aquí, son usadas las instrucciones mnemónicas que corresponden
a las especificaciones del opcode y el operando de las instrucciones de lenguaje de máquina
generadas. Esto da un mayor nivel de legibilidad y comprensibilidad, que trabajando directamente
con operaciones de lenguaje de máquina, mientras que todavía da el control exacto del lenguaje
de máquina generado. Un programa llamado ensamblador transforma el lenguaje ensamblador en
código de máquina.

MICROCONTROLADOR
Los microcontroladores están conquistando el mundo. Están presentes en nuestro trabajo, en
nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de
los ratones y teclados de los computadores, en los teléfonos, en los hornos microondas y los
televisores de nuestro hogar. Pero la invasión acaba de comenzar y el nacimiento del siglo XXI será
testigo de la conquista masiva de estos diminutos computadores, que gobernarán la mayor parte
de los aparatos que fabricaremos y usamos los humanos.

Controlador y microcontrolador.

Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios
procesos. Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un
sensor que mide constantemente su temperatura interna y, cuando traspasa los límites prefijados,
genera las señales adecuadas que accionan los efectores que intentan llevar el valor de la
temperatura dentro del rango estipulado.

Aunque el concepto de controlador ha permanecido invariable a través del tiempo, su


implementación física ha variado frecuentemente. Hace tres décadas, los controladores se
construían exclusivamente con componentes de lógica discreta, posteriormente se emplearon los
microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito
impreso. En la actualidad, todos los elementos del controlador se han podido incluir en un chip, el
cual recibe el nombre de microcontrolador. Realmente consiste en un sencillo pero completo
computador contenido en el corazón (chip) de un circuito integrado.
Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor
parte de los elementos que configuran un controlador.

Un microcontrolador dispone normalmente de los siguientes componentes:

 Procesador o UCP (Unidad Central de Proceso).

 Memoria RAM para Contener los datos.

 Memoria para el programa tipo ROM/PROM/EPROM.

 Líneas de E/S para comunicarse con el exterior.

 Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y Paralelo,


CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.).

 Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.

Los productos que para su regulación incorporan un microcontrolador disponen de las siguientes
ventajas:

 Aumento de prestaciones: un mayor control sobre un determinado elemento representa


una mejora considerable en el mismo.

 Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado número de


elementos disminuye el riesgo de averías y se precisan menos ajustes.

 Reducción del tamaño en el producto acabado: La integración del microcontrolador en un


chip disminuye el volumen, la mano de obra y los stocks.

 Mayor flexibilidad: las características de control están programadas por lo que su


modificación sólo necesita cambios en el programa de instrucciones.

El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de


un computador. Debido a su reducido tamaño es posible montar el controlador en el propio
dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador
empotrado (embedded controller).

Diferencia entre microprocesador y microcontrolador.

El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP),


también llamada procesador, de un computador. La UCP está formada por la Unidad de Control,
que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.

Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones, datos y
control, para permitir conectarle con la Memoria y los Módulos de E/S y configurar un computador
implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema
abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine.

Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en


el exterior permite que se configure a la medida de la aplicación.

Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados


todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta
potenciación supondría en muchos casos un despilfarro. En la práctica cada fabricante de
microcontroladores oferta un elevado número de modelos diferentes, desde los más sencillos
hasta los más poderosos. Es posible seleccionar la capacidad de las memorias, el número de líneas
de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por
todo ello, un aspecto muy destacado del diseño es la selección del microcontrolador a utilizar.

El microcontrolador es un sistema cerrado. Todas las partes del computador están contenidas en
su interior y sólo salen al exterior las líneas que gobiernan los periféricos.

Aplicaciones de los microcontroladores.

Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar
sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su fiabilidad y disminuir el
consumo.
Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo
determinado producidas en una semana. Este dato puede dar una idea de la masiva utilización de
estos componentes.

Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra


vida diaria, como pueden ser juguetes, horno microondas, frigoríficos, televisores, computadoras,
impresoras, módems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las
que seguramente no estaremos tan familiarizados como instrumentación electrónica, control de
sistemas en una nave espacial, etc. Una aplicación típica podría emplear varios microcontroladores
para controlar pequeñas partes del sistema. Estos pequeños controladores podrían comunicarse
entre ellos y con un procesador central, probablemente más potente, para compartir la
información y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.

Recursos comunes a todos los microcontroladores.

Al estar todos los microcontroladores integrados en un chip, su estructura fundamental y sus


características básicas son muy parecidas. Todos deben disponer de los bloques esenciales
Procesador, memoria de datos y de instrucciones, líneas de E/S, oscilador de reloj y módulos
controladores de periféricos. Sin embargo, cada fabricante intenta enfatizar los recursos más
idóneos para las aplicaciones a las que se destinan preferentemente.

En este apartado se hace un recorrido de todos los recursos que se hallan en todos los
microcontroladores describiendo las diversas alternativas y opciones que pueden encontrarse
según el modelo seleccionado.

Arquitectura básica

Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clásica de von


Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de von
Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e
instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses
único (direcciones, datos y control).

La arquitectura Harvard dispone de dos memorias independientes una, que contiene sólo
instrucciones y otra, sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y
es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas
memorias.
La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones,
permitiendo accesos simultáneos.

Los microcontroladores PIC responden a la arquitectura Harvard.

CONCLUSIÓN

Después de haber realizado este pequeño estudio de esta herramienta, podemos concluir que la
computadora es una máquina electrónica que recibe y procesa datos para convertirlos en
información útil a través de circuitos integrados y otros componentes relacionados que puede
ejecutar con exactitud, rapidez una gran variedad de funciones. Pudimos ver que existen
diferentes tipos de computadoras según sea el trabajo, el requerimiento o necesidad que tengan
los usuarios de estos equipos, que ya podemos conseguir equipos con una gran tecnología y muy
poco tamaño pudiendo así portarlos a cualquier lugar donde nos encontremos y para cualquier
tarea que necesitemos la ayuda allí tendremos un equipo para ella.

Pudimos ver la evolución del ingenio del hombre donde todo empezó con la invención de los
algoritmos, luego diversos tipos de herramientas o equipos para facilitar los cálculos, luego
equipos más grandes y sofisticados, la creación de procesadores que al principio eran de gran
tamaño, y hasta el uso de varios procesadores simultáneamente. La aparición de la WWW (La
Internet) y sus lenguajes y protocolos, los cuales son los que han permitido la globalización y todo
gracias a la aparición del la computadora. Y aunque no fue nombrado en este trabajo, también
sabemos que podemos encontrar en la actualidad computadores que hacen funcionar nuestros
vehículos automotores, en las neveras de las casas, lavadoras, secadoras, juegos de video, en un
sinfín de artefactos de uso domestico, laboral y científico.

Tenemos en nuestras manos la mayor herramienta creada por el hombre que día a día evoluciona
mas para la satisfacción de nuestras necesidades.

También podría gustarte