Anda di halaman 1dari 6

Las computadoras han ido evolucionando desde su creacin, pasando por diversas generaciones, desde 1940 hasta la actualidad,

la historia de las computadoras ha pasado por muchas generaciones Primera Generacin (1938-1958) En esta poca las computadoras funcionaban con vlvulas, usaban tarjetas perforadas para entrar los datos y los programas, utilizaban cilindros magnticos para almacenar informacin e instrucciones internas y se utilizaban exclusivamente en el mbito cientfico o militar. La programacin implicaba la modificacin directa de los cartuchos y eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran cantidad de calor y eran sumamente lentas. Segunda generacin 1958-1963 Caractersticas de sta generacin: Usaban transistores para procesar informacin. Los transistores eran ms rpidos, pequeos y ms confiables que los tubos al vaco. 200 transistores podan acomodarse en la misma cantidad de espacio que un tubo al vaco. Usaban pequeos anillos magnticos para almacenar informacin e instrucciones. Producan gran cantidad de calor y eran sumamente lentas. Se mejoraron los programas de computadoras que fueron desarrollados durante la primera generacin. Se desarrollaron nuevos lenguajes de programacin como COBOL y FORTRAN, los cuales eran comercialmente accesibles. Se usaban en aplicaciones de sistemas de reservaciones de lneas areas, control del trfico areo y simulaciones de propsito general. La marina de los Estados Unidos desarrolla el primer simulador de vuelo, Computadora Whirlwind Surgieron las minicomputadoras y los terminales a distancia. Se comenz a disminuir el tamao de las computadoras. Aparecen muchas compaas y las computadoras eran bastante avanzadas para su poca como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Algunas computadoras se programaban con cintas perforadas y otras por medio de cableado en un tablero. Tercera generacin 1964-1970 Comienza a utilizarse los circuitos integrados, lo cual permiti abaratar costos al tiempo que se aumentaba la capacidad de procesamiento y se reduca el tamao de las mquinas. La tercera generacin de computadoras emergi con el desarrollo de circuitos integrados (pastillas de silicio) en las que se colocan miles de componentes electrnicos en una integracin en miniatura. El PDP-8 de la Digital Equipment Corporation fue el primer miniordenador. cuarta generacin 1971-1983 Fase caracterizada por la integracin de los componentes electrnicos, lo que propici la aparicin del microprocesador, es decir, un nico circuito integrado en el que se renen los elementos bsicos de la mquina. Se desarroll el microprocesador. Se colocan ms circuitos dentro de un "chip". "LSI - Large Scale Integration circuit". "VLSI - Very Large Scale Integration circuit". Cada "chip" puede hacer diferentes tareas. Un "chip" sencillo actualmente contiene la unidad de control y la unidad de aritmtica/lgica. El tercer componente, la memoria primaria, es operado por otros "chips". Se reemplaza la memoria de anillos magnticos por la memoria de "chips" de silicio. Se desarrollan las microcomputadoras, o sea, computadoras personales o PC. Se desarrollan las supercomputadoras. Caractersticas de est generacin: Se desarrollaron circuitos integrados para procesar informacin. Se desarrollaron los "chips" para almacenar y procesar la informacin. Un "chip" es una pieza de silicio que contiene los componentes electrnicos en miniatura llamados semiconductores. Los circuitos integrados

recuerdan los datos, ya que almacenan la informacin como cargas elctricas. Surge la multiprogramacin. Las computadoras pueden llevar a cabo ambas tareas de procesamiento o anlisis matemticos. Emerge la industria del "software". Se desarrollan las minicomputadoras IBM 360 y DEC PDP-1. Otra vez las computadoras se tornan ms pequeas, ms ligeras y ms eficientes. Consuman menos electricidad, por lo tanto, generaban menos calor. Quinta generacin 1984-1999 Surge la PC tal cual como la conocemos en la actualidad. IBM presenta su primera computadora personal y revoluciona el sector informativo. En vista de la acelerada marcha de la microelectrnica, la sociedad industrial se ha dado a la tarea de poner tambin a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Sexta Generacin (1999 hasta la fecha) Como supuestamente la sexta generacin de computadoras est en marcha desde principios de los aos noventas, debemos por lo menos, esbozar las caractersticas que deben tener las computadoras de esta generacin. Tambin se mencionan algunos de los avances tecnolgicos de la ltima dcada del siglo XX y lo que se espera lograr en el siglo XXI. Las computadoras de esta generacin cuentan con arquitecturas combinadas Paralelo / Vectorial, con cientos de microprocesadores vectoriales trabajando al mismo tiempo; se han creado computadoras capaces de realizar ms de un milln de millones de operaciones aritmticas de punto flotante por segundo (teraflops); las redes de rea mundial (Wide Area Network, WAN) seguirn creciendo desorbitadamente utilizando medios de comunicacin a travs de fibras pticas y satlites, con anchos de banda impresionantes. Las tecnologas de esta generacin ya han sido desarrolladas o estn en ese proceso. Algunas de ellas son: inteligencia / artificial distribuida; teora del caos, sistemas difusos, holografa, transistores pticos, etc. Que es el lenguaje maquina Lenguaje de mquina es el sistema de cdigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontrolador de un autmata (un PLC) . Este lenguaje est compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la mquina. Un programa de computadora consiste en una cadena de estas instrucciones de lenguaje de mquina (ms los datos). Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de mquina es especfico de cada mquina o arquitectura de la mquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas.

Primera generacin: lenguaje maquina. Segunda generacin: se crearon los primeros lenguajes ensambladores. Tercera generacin: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol Cuarta generacin. Son los lenguajes capaces de generar cdigo por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aqu tambin se encuentran los lenguajes orientados a objetos, haciendo posible la reutilizacin d partes del cdigo

para otros programas. Ej. Visual, Natural Adabes Quinta generacin: aqu se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todava estn poco desarrollados. Ej. LISP

Lenguaje de mquina del Intel 8088. El cdigo de mquina se resalta en rojo, el equivalente en lenguaje assembler en magenta, y las direcciones de memoria donde se encuentra el cdigo, en azul.

Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos nicos niveles de tensin. Dichos niveles, por abstraccin, se simbolizan con el cero, 0, y el uno, 1, por eso el lenguaje de mquina slo utiliza dichos signos. Esto permite el empleo de las teoras del lgebra booleana y del sistema binario en el diseo de este tipo de circuitos y en su programacin. . Lenguaje Ensamblador Lenguaje de bajo nivel o ensamblador : La computadora no entiende directamente lenguaje ensamblador por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de mquina por un programa llamado un ensamblador para que pueda ser ejecutado por la computadora. Los lenguajes ensambladores todava requieren que el programador tenga un buen conocimiento de la arquitectura de la computadora. Como los lenguajes ensambladores son dependientes de la mquina, todo programa escrito en un lenguaje ensamblador particular tendr que ser reescrito si se va a ejecutar en otro tipo de computadora

9. Lenguaje de Alto Nivel Lenguaje de alto nivel : Como ocurre con los lenguajes ensambladores, la computadora no entiende directamente lenguaje de alto nivel, por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de mquina por un programa llamado un compilador para que pueda ser ejecutado por la computadora. Los lenguajes de alto nivel permiten portabilidad, mejor expresin de las ideas, facilidad de programar ciertas clases de problemas, menos posibilidad de cometer errores, una visin ms amplia del problema, etc.

10. Lenguaje de Alto Nivel Ejemplos de lenguajes de alto nivel : - Java BASIC - C - Visual Basic - C++ - Pascal - COBOL - FORTRAN - PROLOG LISP - PL/I - SMALLTALK Ada Las instrucciones se expresan en el alfabeto binario (estn codificadas en binario como cadenas de ceros y unos), pudindose utilizar cdigos intermedios (octal y hexadecimal). Esta caracterstica hace que un programa en lenguaje mquina sea difcil de entender y, como consecuencia, difcil de modificar.

Los datos se referencian por medio de las direcciones de memoria donde se encuentran (no aparecen nombres de variables o de constantes). Las instrucciones realizan operaciones muy simples. El programador debe ingenirselas para expresar cada una de las operaciones que desea realizar en funcin de las instrucciones elementales que dispone.


Existe muy poca versatilidad para la redaccin de las instrucciones, ya que, tienen un formato rgido en cuanto a la posicin de los distintos campos (cdigo de operacin seguido de los campos dedicados a los operandos).

El lenguaje mquina depende y est ntimamente ligado a la CPU del ordenador. Esto hace que los programas en dicho lenguaje no sean transferibles de un modelo de ordenador a otro, es decir, existe baja portabilidad. En un programa en lenguaje mquina no pueden incluirse comentarios que faciliten la legibilidad del mismo. Ensamblador Uso de una notacin simblica o nemotcnica para representar los cdigos de operacin. De esta forma se evitan los cdigos numricos, tan difciles de manejar. Normalmente, los cdigos nemotcnicos estn constituidos por abreviaturas de las operaciones en ingls. As, por ejemplo, la suma se representa en la mayora de los ensambladores por ADD. Direccionamiento simblico. En lugar de utilizar direcciones binarias absolutas, los datos pueden identificarse con nombres. Se permite el uso de comentarios entre las lneas de instrucciones, haciendo posible la redaccin de programas ms legibles. Aparte de esto, el lenguaje ensamblador presenta la mayora de los inconvenientes del lenguaje mquina, como son su repertorio muy reducido de instrucciones, el rgido formato de las instrucciones, la baja portabilidad y la fuerte dependencia del hardware. Por otro lado, mantiene la ventaja del uso ptimo de los recursos hardware, permitiendo la obtencin de un cdigo muy eficiente. De alto nivel Son independientes de la arquitectura fsica del ordenador. Esto permite utilizar los mismos programas en ordenadores de arquitecturas diferentes (portabilidad) y, adems, no es necesario conocer el hardware especfico de la mquina. Normalmente, una sentencia da lugar, al ser traducida, a varias instrucciones en lenguaje mquina. Utilizan notaciones cercanas a las habituales en un determinado mbito. Las operaciones se expresan con sentencias muy parecidas al lenguaje matemtico o al lenguaje natural. Se utilizan, por lo general, palabras o trminos en ingls. La utilizacin de conceptos habituales suele implicar las siguientes cualidades: a) Las instrucciones se expresan por medio de texto, conteniendo caracteres alfanumricos y caracteres especiales. b) Se puede asignar un nombre simblico a determinados componentes del programa, para facilitar su comprensin. En los lenguajes imperativos, el programador puede definir las variables que desee, dndoles los nombres que considere oportuno, y siendo las reglas para la denominacin de las mismas poco restrictivas. c) Se suelen incluir instrucciones potentes de uso frecuente que son ofrecidas por el lenguaje de programacin. Por ejemplo, se suelen ofrecer funciones matemticas de uso comn (seno, coseno, etc.), operadores especficos de entrada/salida, operadores de tratamiento de cadenas de caracteres, etc.

d) Pueden incluirse comentarios en las lneas de instrucciones, o en lneas especficas de comentarios. Esto facilita la legibilidad de los programas, tanto para el propio programador, como para otras personas. Como consecuencia de este alejamiento de la mquina y acercamiento a las personas, los programas escritos en lenguajes de programacin no pueden ser interpretados directamente por el ordenador, siendo necesario realizar previamente su traduccin a lenguaje mquina. Hay dos tipos de traductores, que vamos a considerar en la siguiente seccin, los compiladores y los intrpretes Ensamblador

Es requerido un ejecutable binario independiente (stand-alone), es decir uno que deba ejecutarse sin recursos a componentes detiempo de ejecucin o a bibliotecas asociadas con un lenguaje de alto nivel; sta es quizs la situacin ms comn. Son programas empotrados que solo almacenan una pequea cantidad de memoria y el dispositivo est dirigido para hacer tareas para un simple propsito. Ejemplos consisten en telfonos, sistemas de combustible e ignicin para automviles, sistemas de control del aire acondicionado, sistemas de seguridad, y sensores

Interactuando directamente con el hardware, por ejemplo en drivers de dispositivo y manejadores de interrupcin usando instrucciones especficas del procesador no explotadas o disponibles por el compilador. Un ejemplo comn es la instruccin de rotacin bitwise en el ncleo de muchos algoritmos de cifrado creando funciones vectorizadas para programas en lenguajes de alto nivel como C. En el lenguaje de alto nivel esto es a veces ayudado por funciones intrnsecas del compilador que mapean directamente a los mnemnicos del SIMD, pero sin embargo resulta en una conversin de ensamblador de uno a uno para un procesador de vector asociado

Es requerida la optimizacin extrema, ej, en un bucle interno en un algoritmo intensivo en el uso del procesador. Losprogramadores de juegos toman ventaja de las habilidades de las caractersticas del hardware en los sistemas, permitiendo a los juegos correr ms rpidamente. Tambin las grandes simulaciones cientficas requieren algoritmos altamente optimizados, ej,lgebra lineal con BLAS la transformada de coseno discreta (ej, la versin SIMD en ensamblador del x264, codificar streams de video) Te voy a dar un ejemplo de cdigo o lenguaje mquina: 00000 1001110 LOAD 11110 00001 10110100 STOR 10100 00010 10011110 LOAD 11110 00011 11010100 ADD 10100 00100 10111111 STOR 11111 00101 00000000 HALT
16 10 15

(una biblioteca para

El segmento de cdigo en lenguaje Java es: int counter = 0; counter = counter + 1; podra ser trasladado en lenguaje de mquina como 000101000100010001000100001000101010111110 000001110101000111110000100010000010101010

Donde poner su memoria 10 23 11 FF 12 12 13 10 14 50 15 23 16 30 17 40 18 C0 19 00

Anda mungkin juga menyukai