lunes, 8 de noviembre de 2010

INTRODUCCION AL BUS DE LA PC

BUS
Los buses se caracterizan por el número de bits que pueden transmitir en un determinado momento. Un equipo con un bus de 8 bits de datos, por ejemplo, transmite 8 bits de datos cada vez, mientras que uno con un bus de 16 bits de datos transmite 16 bits de datos simultáneamente.
Como el bus es parte integral de la transmisión interna de datos y como los usuarios suelen tener que añadir componentes adicionales al sistema, la mayoría de los buses de los equipos informáticos pueden ampliarse mediante uno o más zócalos de expansión (conectores para placas de circuito añadidas). Al agregarse estas placas permiten la conexión eléctrica con el bus y se convierten en parte efectiva del sistema.
El Bus se refiere al camino que recorren los datos desde una o varias fuentes hacia uno o varios destinos y es una serie de hilos contiguos. En el sentido estricto de la palabra, esta definición sólo se aplica a la interconexión entre el procesador y los periféricos.
Un bus es simplemente un conjunto compartido de pistas trazadas en la placa de circuito principal, al que se conectan todas las partes que controlan y forman el ordenador. Cuando un dato pasa de un componente a otro, viaja a lo largo de este camino común para alcanzar su destino. Cada chip de control y cada byte de memoria del PC están conectados directa o indirectamente al bus. Cuando un nuevo componente se inserta en uno de los conectores de expansión, queda unido directamente al bus, convirtiéndose en un objeto más de la unidad completa. Cualquier información que entra o sale de un sistema ordenador se almacena temporalmente en al menos una de las distintas localizaciones que existen a lo largo del bus. La mayor parte de las veces el dato se sitúa en la memoria principal, que en la familia PC está formada por miles de posiciones de memoria de 8 bits. Pero algún dato puede acabar en un puerto, o registro, durante unos instantes, mientras espera que la CPU lo envíe a una posición adecuada. Generalmente los puertos y registros almacenan sólo uno o dos bytes de información a la vez, y se utiliza normalmente como lugares de parada intermedia para los datos, que se están enviando de un lugar a otro. Siempre que se utiliza una posición de memoria, o un puerto, como lugar de almacenamiento, su localización está marcada por una dirección que la identifica individualmente. Cuando el dato está listo para ser transferido, se transmite primero su dirección de destino por el bus de direcciones; el dato sigue a la zaga por el bus de datos.
Por tanto, el bus transporta algo más que datos. Lleva información de control, tales como las señales de temporización (del sistema reloj), las señales de interrupción, así como las direcciones de las miles de posiciones que forman tanto la memoria como los dispositivos que están conectados al bus. Para diferenciar estas cuatro funciones diferentes, el bus está dividido en cuatro partes: líneas de potencia, bus de control, bus de direcciones y bus de datos.
La información codificada viaja a través de la computadora por un bus.
El bus soporta tres tipos principales de información: un grupo de cables transporta datos, tales como la letra A codificada; otro grupo lleva la dirección del componente al que van dirigidos los datos. Cada componente acepta sólo la información que va dirigida a él; por ejemplo, la información enviada a la impresora no será aceptada de forma inadvertida por la unidad de disco. La tercera clase de información son señales de tiempo, que sincronizan todo lo que hay conectado al bus para enviar y recibir mensajes en el instante correcto.
 Una PC tiene muchos tipos de buses incluyendo los siguientes:
Processor Bus: Es la vía de comunicación entre el CPU y los chip inmediatos a el, comúnmente llamado chipset en los sistemas modernos. Este bus es usado para transferir datos entre el CPU y bus del sistema principal, por ejemplo, o entre el cpu y la memoria caché externa. El propósito de processor bus es conseguir mayor velocidad en la entrega de la información para y del CPU, este bus opera a una mayor rapidez que cualquier otro bus en la PC.
En este bus no existen los cuellos de botellas, el bus consiste de circuitos eléctricos para datos, dirección y control. Este bus opera con la misma velocidad del reloj a como lo hace el CPU externamente, ya que internamente el CPU puede trabajar a mayores velocidades.
Memory Bus: Es usado para transferir información entre la memoria principal y el CPU. Este bus es implementado en un chip dedicado, el cual es responsable de la comunicación. La información que viaja sobre el memory bus se hace a una velocidad mas baja que en el processor bus. Este bus tiene el mismo ancho que el procesor bus, esto significa que en un sistema con CPU de 32 bits el memory bus es de 32 bits, esto definirá el tamaño de lo que se conoce como banco de memoria. Los slots para la memoria son conectados en el memory bus de la misma forma que son conectados los slots de E/S Bus.
Address Bus: En los sistemas actuales, este bus es considerado como parte de los buses del procesador y de la memoria. Este bus es usado para indicar exactamente que dirección en memoria o que dirección sobre el bus de sistema será usada en la operación de transferir un dato. El tamaño del bus de memoria controla la cantidad de memoria que el CPU puede direccional directamente. I/O Bus: Son los buses que se encargan de la entrada y salida de los datos en todo el sistema. Las diferencias entre los tipos de buses que pertenecen a esta categoría consiste en la cantidad de datos que pueden transferir a la vez y la velocidad a la que pueden hacerlo.
Conexiones del hardware
Para funcionar, el hardware necesita unas conexiones materiales que permitan a los componentes comunicarse entre sí e interaccionar. Un bus constituye un sistema común interconectado, compuesto por un grupo de cables o circuitos que coordina y transporta información entre las partes internas de la computadora.
El bus de una computadora consta de dos canales: uno que la CPU emplea para localizar datos, llamado bus de direcciones, y otro que se utiliza para enviar datos a una dirección determinada, llamado bus de datos. Un bus se caracteriza por dos propiedades: la cantidad de información que puede manipular simultáneamente (la llamada ‘anchura de bus’) y la rapidez con que puede transferir dichos datos. Una conexión en serie es un cable o grupo de cables utilizado para transferir información entre la CPU y un dispositivo externo como un mouse, un teclado, un módem, un digitalizador y algunos tipos de impresora.
Este tipo de conexión sólo transfiere un dato de cada vez, por lo que resulta lento. La ventaja de una conexión en serie es que resulta eficaz a distancias largas. Una conexión en paralelo utiliza varios grupos de cables para transferir simultáneamente más de un bloque de información.
La mayoría de los digitalizadores e impresoras emplean este tipo de conexión. Las conexiones en paralelo son mucho más rápidas que las conexiones en serie, pero están limitadas a distancias menores de 3 m entre la CPU y el dispositivo externo.
FUNCIONAMIENTO
En el bus se encuentran dos pistas separadas, el bus de datos y el bus de direcciones. La CPU escribe la dirección de la posición deseada de la memoria en el bus de direcciones accediendo a la memoria, teniendo cada una de las líneas carácter binario.
Es decir solo pueden representar 0 o 1 y de esta manera forman conjuntamente el número de la posición dentro de la memoria (es decir: la dirección).
Cuanto más líneas haya disponibles, mayor es la dirección máxima y mayor es la memoria a la cual puede dirigirse de esta forma. En el bus de direcciones original habían ya 20 direcciones, ya que con 20 bits se puede dirigir a una memoria de 1 MB y esto era exactamente lo que correspondía a la CPU.
Esto que en le teoría parece tan fácil es bastante mas complicado en la práctica, ya que aparte de los bus de datos y de direcciones existen también casi dos docenas más de líneas de señal en la comunicación entre la CPU y la memoria, a las cuales también se acude.
Todas las tarjetas del bus escuchan, y se tendrá que encontrar en primer lugar una tarjeta que mediante el envío de una señal adecuada indique a la CPU que es responsable de la dirección que se ha introducido. Las demás tarjetas se despreocupan del resto de la comunicación y quedan a la espera del próximo ciclo de transporte de datos que quizás les incumba a ellas. 
Este mismo concepto es también la razón por la cual al utilizar tarjetas de ampliación en un PC surgen problemas una y otra vez, si hay dos tarjetas que reclaman para ellas el mismo campo de dirección o campos de dirección que se solapan entre ellos.
Los datos en si no se mandan al bus de direcciones sino al bus de datos. El bus XT tenía solo 8 bits con lo cual sólo podía transportar 1 byte a la vez. Si la CPU quería depositar el contenido de un registro de 16 bits o por valor de 16 bits, tenía que desdoblarlos en dos bytes y efectuar la transferencia de datos uno detrás de otro. De todas maneras para los fabricantes de tarjetas de ampliación, cuyos productos deben atenderse a este protocolo, es de una importancia básica la regulación del tiempo de las señales del bus, para poder trabajar de forma inmejorable con el PC. Pero precisamente este protocolo no ha sido nunca publicado por lBM con lo que se obliga a los fabricantes a medir las señales con la ayuda de tarjetas ya existentes e imitarlas. Por lo tanto no es de extrañar que se pusieran en juego tolerancias que dejaron algunas tarjetas totalmente eliminada. 
ACONTINUACION ALGUNAS IMAGENES DE BUS DE DADOS:
 ESTA ES UNA FAJA DE BUS DE DATOS.
EN UNA RED EN BUS, CADA NODO SUPERVISA LA ACTIVIDAD EN LINEA.




TOPOLOGIA DE UN BUS LINEAL.


jueves, 4 de noviembre de 2010

INTRODUCCION

  Este esquema conceptual, nos permite descomponer el estudio y diseño de las computadoras de una forma sencilla, pues se puede estudiar la computadora como un edificio compuesto de varios pisos, en cada uno de ellos se emplea un lenguaje y unas reglas posible mente diferentes, aquellas más apropiados al nivel (máquina virtual) de estudio.


Nivel 5 lenguaje orientado al problema
Nivel 4 lenguaje ensamblador
Nivel 3 sistema operativo
Nivel 2 sistema convencional
Nivel 1 microprogramación
Nivel 0 lógica digital 

CLASIFICACIÓN DE LAS COMPUTADORAS
  Entre las computadoras se distingue entre las de propósito específico y las de propósito general. Las primeras se construyen bien atadas a una aplicación muy concreta, como por ejemplo: el guiado de un cohete, el control un robot, una caja registradora, etc; o bien para un rango concreto de aplicaciones, como puede ser: computadoras de cálculo científico, computadoras vectoriales, masiva mente paralelas, computadoras de transacciones etc.
  En el extremo opuesto se encuentran las computadoras de propósito general, que se construyen pensando en un rango de aplicación amplio: gestión de almacenes, procesamiento de textos, bases de datos, etc. Como es lógico, no proporcionan los mismos rendimientos que las computadoras de propósito específico en cada tarea, pero su adquisición, mantenimiento y operación es más económica y son más versátiles.
  También es posible clasificar las computadoras en función de un conjunto de aspectos como: velocidad, número de usuarios habitual, precio, etc. De esto resulta un conjunto de familias, o segmentos de mercado, de naturaleza más bien borrosa, pero generalmente admitida. 
   Términos como “supercomputador” se refieren a computadoras de uso científico o ingenieril, para centros de cálculo. El término “computadora grande” se refiere a centros de cálculo de bancos y corporaciones. Es cierto que hoy en día las diferencias entre computadora personal y estación de trabajo se difuminan, entre sí, y con las minicomputadoras si es el caso que se emplean sistemas operativos multiusuario. Las estaciones de trabajo son computadoras dedicadas, típicamente a un usuario, para tareas de diseño y programación que consumen muchos recursos, 58 Niveles de organización de computadoras sobre todo de índole gráfico.
  Al mismo tiempo, las computadoras de videojuegos multiplican periódicamente sus prestaciones, acercándose poco a poco a las estaciones de trabajo.  
  La velocidad de las computadoras se suele medir empleando ciertos tests de velocidad, que incluyen: programas reales, benchmarks5 específicos, núcleos de programas y benchmarks sintéticos (mezcla factores de velocidad). El término MIPS es una medida posible de velocidad de cómputo, no la mejor, que mide el número de millones de operaciones que se completan en un segundo, sin distinguir el tipo de operación. MFLOPS mide el numero de millones de operaciones en punto flotante, por segundo.

GENERACIONES DE LA COMPUTADORAS
   Los orígenes de la informática se remontan al primer uso de algoritmos para resolver de forma sistemática problemas como la suma, el producto o el cálculo del máximo común divisor (algoritmo de Euclides s.IV a.C.). La palabra cálculo (cómputo) proviene del latín calculus-i que significa piedra, un elemento común para realizar operaciones aritméticas de donde proviene el ábaco, empleado aun hoy en día. Previo a la era electrónica de computadoras, como las que se conocen hoy en día, se encuentra la era mecánica y la era electromecánica. 
  Con anterioridad al siglo XX se construyen dispositivos como la regla de cálculo de Napier, la máquina aritmética de Pascal, capaz de realizar las cuatro reglas aritméticas, y los diseños de máquinas de Babbage, con su máquina diferencial (cálculo numérico) y su máquina analítica (de propósito general).
  Desde principios del siglo XX se sucede el empleo de relés eléctricos para el diseño de circuitos complicados, entre los que se incluyen los autómatas de Torres Quevedo hasta las computadoras de K. Zuse. Por su tamaño y complejidad no logran imponerse a las calculadoras mecánicas de la época, utilizadas en su mayoría para el cálculo balístico.
  Con el advenimiento de los estudios de Shannon y el empuje de la II G.M. se construyen las primeras computadoras electrónicas (Colossus, E.N.I.A.C., E.D.V.A.C. . . . ). Para poder clasificar los avances producidos se habla de generaciones de comgeneraciones de compu- putadoras donde ciertos hitos tecnológicos marcan avances cualitativos en el desatadoras rrollo de la informática.

1a (1946-1955). Computadores basados en válvulas de vacío que se programaban en lenguaje máquina o en lenguaje ensamblador.
2a (1953-1964). Computadores de transistores. Evolucionan los modos de direccionamiento
y surgen los lenguajes de alto nivel.

3a (1964-1974). Computadores basados en circuitos integrados y con la posibilidad de trabajar en tiempo compartido.
4a (1974 -) Computadores que integran la CPU en un solo circuito integrado (microprocesadores).
Comienzan a proliferar las redes de computadores.
   Las tendencias actuales de la informática se decantan en dos vías: Por una
parte en el software, aplicaciones distribuidas, inteligencia artificial, recuperación
de información; por otra parte en el hardware proceso paralelo, redes de alta velocidad.