viernes, 24 de mayo de 2013

¿TIPOS DE BUS?


    
 El Bus XT y el Bus ISA (AT)
     El primero al salir al mercado comercial junto con el primer PC de IBM, fue el bus XT al 1980, funcionaba a la misma velocidad que los microprocesadores de la época, los 8086 y 8088, a 4.77 MHz; y su amplitud de banda era de 8 bits. De aquí que con el 8088 se compenetraran perfectamente, pero con el 8086 (ancho de banda de 16 bits) ya no había tanta compenetración y surgió el concepto y el hecho de los "cuellos de botella".

     El significado del acrónimo que nos indica su nombre es: Industrial Standard Arquitecture, que traducido sería, Arquitectura Industrial Estandarizada.
     Con la introducción del AT, apareció el nuevo bus de datos de 16 bits (ISA), y compatible con su antecesor. También se amplió el bus de direcciones hasta 24 bits, la velocidad de señales de frecuencia también se aumentó: de 4.77 MHz a 8.33 MHz. De nuevo nos encontramos con un atasco de información entre la memoria y la CPU.
     A las tarjetas de expansión incluso, se le asignaron una señal en estado de espera (wait state), el cual daba más tiempo a las tarjetas lentas para enviar toda la información a la memoria.
     MCA (Bus Micro Channel)
     En sí no es ningún tipo de bus, más bien es un sistema de canalización, en el que los datos no son enviadas hacia al receptor con una simple instrucción de direccionamiento si no que es éste, el receptor, quién tiene que recogerlos. Para que esta tarea se lleve a cabo, se ha de informar al receptor previamente con la dirección dónde están los datos a recibir, y se le deja un camino (bus) libre para él, para que transporte los datos libremente.
     Surgió cuándo IBM trabajaba para crear una nueva tecnología de bus, la sacó con sus ordenadores que incorporaban el PS/2, el MCA (Micro Channel Arquitecture) permitía un ratio (transferencia de datos) máximo de 20 Mb/s, por la nueva dirección de 32 bits, y el aumento de velocidad a 10 MHz.
     IBM incluyó un circuito de control especial a cargo del bus, que le permitía operar independientemente de la velocidad del bus y del tipo de microprocesador.
     Dentro este tipo de bus, la CPU no es nada más que otro dispositivo dónde pueden ir y venir los datos. La circuitería de control, denominada CAP (punto de decisión central), se enlaza con un proceso denominado controlo de bus para determinar y responder a las prioridades de cada uno de los dispositivos dominantes del bus.
     Para permitir la conexión de más dispositivos, el MCA especifica interrupciones sensibles al nivel, que resultan más fiables que el sistema de interrupciones del bus ISA. de esta forma es posible compartir interrupciones.
     Esta estructura era completamente incompatible con las tarjetas de expansión del tipo ISA, concretamente la diferencia que tenían una respeto del otro se debía al tamaño de los conectores, más pequeños a las del tipo MCA que las del tipo ISA.
¿QUE ES UN BUS ? 
"Son cada una de líneas metálicas de los circuitos impresos,
por aquí circula todo tipo de información, que va de un dispositivo a otro"
     4.1 Concepto y Función
     Es el elemento responsable de establecer una correcta interacción entre los diferentes componentes del ordenador, es por lo tanto, el dispositivo principal de comunicación.
     En un sentido físico, su descripción es: conjunto de líneas de hardware (metálicas o físicas), utilizadas para la transmisión de datos entre los componentes de un sistema informático.
     En cambio, en sentido figurado es: una ruta compartida, que conecta diferentes partes del sistema.

     Componentes y estructura
     Un bus está compuesto por conductos (vías), éstas hacen posible la interconexión de los diferentes componentes entre sí, y principalmente con la CPU y la memoria. En estos conductos se destacan dos subcategorías, el bus de datos y el bus de direcciones; entre estos existe una fuerte relación, puesto que para cada instrucción/archivo enviado por uno de los dos buses, por el otro va información sobre esta instrucción/archivo.
     En lo referente a la estructura de interconexión mediante los buses, existen de dos tipo:
· Bus único : considera a la memoria y a los periféricos como posiciones de memoria, y hace un símil de las operaciones E/S con las de escritura/lectura en memoria. Todas estas equivalencias consideradas por este bus, hacen que no permita controladores DMA (Direct Acces Memory ; de acceso directo a memoria).
· Bus dedicado : este en cambio, al considerar la memoria y periféricos como dos componentes diferentes, permite controladores DMA (dedicando un bus especial para él).

     Éste bus especial del bus dedicado, contiene cuatro subcategorías más:
· Bus de datos : transmite información entre la CPU y los periféricos.
· Bus de direcciones : identifica el dispositivo a quién va destinada la información que se transmite por el bus de datos.
· Bus de control o de sistema : organiza y redirige la información hacia el bus pertinente para la información que se tiene que transmitir. Es el bus encargado de hacer el direccionamiento, quién realiza toda la función de direccionar es el controlador, diferente para cada tipo de dispositivo.
     La capacidad operativa del bus depende de: la inteligencia del sistema, la velocidad de éste, y la "anchura" del bus (número de conductos de datos que operan en paralelo)

¿TIPOS DE LENGUAJES  DE PROGRAMACIÓN? Lenguajes de bajo nivel 

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas. 

Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. 

Dentro de este grupo se encuentran: 
  • El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina.
    Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
    La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
  • El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Lenguajes de alto nivel 

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. 
Están dirigidos a solucionar problemas mediante el uso de EDD's. 
Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.

Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. 

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina. 

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos). 

Lenguajes de Medio nivel 

Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel. 

Generaciones 

La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones. 
  • Primera generación: lenguaje maquina.
  • Segunda generación: se crearon los primeros lenguajes ensambladores.
  • Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
  • Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes…
  • Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados.

Definición de Sistema Operativo

El sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, etc.
En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema.

Clasificación de los Sistemas Operativos

Los sistemas operativos pueden ser clasificados de la siguiente forma:
  • Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.
  • Multiprocesador: soporta el abrir un mismo programa en más de una CPU.
  • Multitarea: Permite que varios programas se ejecuten al mismo tiempo.
  • Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
  • Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.

Cómo funciona un Sistema Operativo

Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar.
Los sistemas operativos más utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que también se utilizan, como por ejemplo Linux.



¿Que es la memoria ROM?La memoria ROM, también conocida como firmware, es un circuito integrado programado con unos datos específicos cuando es fabricado. Los chips de características ROM no solo se usan en ordenadores, sino en muchos otros componentes electrónicos también. Hay varios tipos de ROM, por lo que lo mejor es empezar por partes.
Tipos de ROM
Hay 5 tipos básicos de ROM, los cuales se pueden identificar como:
  • ROM
  • PROM           
  • EPROM
  • EEPROM
  • Memoria Flash
Cada tipo tiene unas características especiales, aunque todas tienen algo en común:
  • Los datos que se almacenan en estos chips son no volátiles, lo cual significa que no se pierden cuando se apaga el equipo.
  • Los datos almacenados no pueden ser cambiados o en su defecto necesitan alguna operación especial para modificarse. Recordemos que la memoria RAM puede ser cambiada en al momento.
Todo esto significa que quitando la fuente de energía que alimenta el chip no supondrá que los datos se pierdan irremediablemente.
Funcionamiento ROM
De un modo similar a la memoria RAM, los chips ROM contienen  una hilera de filas y columnas, aunque la manera en que interactúan es bastante diferente. Mientras que RAM usualmente utiliza transistores para dar paso a un capacitador en cada intersección, ROM usa un diodo para conectar las líneas si el valor es igual a 1. Por el contrario, si el valor es 0, las líneas no se conectan en absoluto.

¿Que es el CPU ? CPU, abreviatura de Central Processing Unit (unidad de proceso central), se pronuncia como letras separadas. La CPU es el cerebro del ordenador. A veces es referido simplemente como el procesador o procesador central, la CPU es donde se producen la mayoría de los cálculos. En términos de potencia del ordenador, la CPU es el elemento más importante de un sistema informático.





 ¿Que son las memorias Ram ?
  En la memoria RAM se carga parte del sistema operativo (Linux Ubuntu, Apple® MacOS, Microsoft® Windows 7, etc.),  los programas como (Office, Winzip®, Nero®, etc.), instrucciones desde el teclado, memoria para desplegar el vídeo y opcionalmente una copia del contenido de la memoria ROM.

     + Ejemplo: cuando damos doble clic a la aplicación Microsoft® Word, el programa será leído desde el disco duro e inmediatamente la computadora buscará almacenarlo en la memoria RAM, ello para que el usuario lo utilice sin la lentitud que implicaría trabajarlo desde el disco duro, y una vez terminada de usar la aplicación, la RAM se libera para poder cargar el próximo programa a utilizar.

jueves, 23 de mayo de 2013

¿La historia de la computadora?

La primera máquina de calcular mecánica, un precursor de la computadora digital, fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel dispositivo utilizaba una serie 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. En 1670 el filósofo y matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar.
El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó delgadas placas de madera perforadas para controlar el tejido utilizado en los diseños complejos. Durante la década de 1880 el estadístico estadounidense Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las placas de Jacquard, para procesar datos. Hollerith consiguió compilar la información estadística destinada al censo de población de 1890 de Estados Unidos mediante la utilización de un sistema que hacía pasar tarjetas perforadas sobre contactos eléctricos.
La máquina analítica
También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage y a su socia, la matemática británica Augusta Ada Byron (1815-1852), hija del poeta inglés Lord Byron, como a los verdaderos inventores de la computadora digital moderna. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las características de una computadora moderna. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer permanente el registro.
Primeras computadoras
Las computadoras analógicas comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y engranajes giratorios. Con estas máquinas se evaluaban las aproximaciones numéricas de ecuaciones demasiado difíciles como para poder ser resueltas mediante otros métodos. Durante las dos guerras mundiales se utilizaron sistemas informáticos analógicos, primero mecánicos y más tarde eléctricos, para predecir la trayectoria de los torpedos en los submarinos y para el manejo a distancia de las bombas en la aviación.
Computadoras electrónicos
Durante la II Guerra Mundial (1939-1945), un equipo de científicos y matemáticos que trabajaban en Bletchley Park, al norte de Londres, crearon lo que se consideró la primera computadora digital totalmente electrónico: el Colossus. Hacia diciembre de 1943 el Colossus, que incorporaba 1.500 válvulas o tubos de vacío, era ya operativo. Fue utilizado por el equipo dirigido por Alan Turing para descodificar los mensajes de radio cifrados de los alemanes. En 1939 y con independencia de este proyecto, John Atanasoff y Clifford Berry ya habían construido un prototipo de máquina electrónica en el Iowa State College (EEUU). Este prototipo y las investigaciones posteriores se realizaron en el anonimato, y más tarde quedaron eclipsadas por el desarrollo del Calculador e integrador numérico digital electrónico (ENIAC) en 1945. El ENIAC, que según mostró la evidencia se basaba en gran medida en la ‘computadora’ Atanasoff-Berry (ABC, acrónimo de Electronic Numerical Integrator and Computer), obtuvo una patente que caducó en 1973, varias décadas más tarde.
El ENIAC contenía 18.000 válvulas de vacío y tenía una velocidad de varios cientos de multiplicaciones por minuto, pero su programa estaba conectado al procesador y debía ser modificado manualmente. Se construyó un sucesor del ENIAC con un almacenamiento de programa que estaba basado en los conceptos del matemático húngaro-estadounidense John von Neumann. Las instrucciones se almacenaban dentro de una llamada memoria, lo que liberaba la computadora de las limitaciones de velocidad del lector de cinta de papel durante la ejecución y permitía resolver problemas sin necesidad de volver a conectarse a la computadora.
A finales de la década de 1950 el uso del transistor en las computadoras marcó el advenimiento de elementos lógicos más pequeños, rápidos y versátiles de lo que permitían las máquinas con válvulas. Como los transistores utilizan mucha menos energía y tienen una vida útil más prolongada, a su desarrollo se debió el nacimiento de máquinas más perfeccionadas, que fueron llamadas ordenadores o computadoras de segunda generación. Los componentes se hicieron más pequeños, así como los espacios entre ellos, por lo que la fabricación del sistema resultaba más barata.
Circuitos integrados
A finales de la década de 1960 apareció el circuito integrado (CI), que posibilitó la fabricación de varios transistores en un único sustrato de silicio en el que los cables de interconexión iban soldados. El circuito integrado permitió una posterior reducción del precio, el tamaño y los porcentajes de error. El microprocesador se convirtió en una realidad a mediados de la década de 1970, con la introducción del circuito de integración a gran escala (LSI, acrónimo de Large Scale Integrated) y, más tarde, con el circuito de integración a mayor escala (VLSI, acrónimo de Very Large Scale Integrated), con varios miles de transistores interconectados soldados sobre un único sustrato de silicio.