martes, 10 de julio de 2012

BUS
  Es un camino de comunicación entre dos dispositivos
  Es el conjunto de líneas (cables) de hardware utilizados para la transmisión de datos entre los componentes de un sistema informático.
  Medio por el cual los datos se transfieren de una parte de una computadora a otra. El bus se puede comparar con una autopista en la que los datos viajan dentro de una computadora.
  Conjunto de líneas eléctricas (tiras de metal sobre una placa de circuito impreso).
Características
  Se trata de un medio de comunicación compartido.
  La cantidad de información que se transmite  es en forma simultánea.
  Este volumen se expresa en bits y corresponde al número de líneas físicas mediante las cuales se envía la información en forma simultánea.
  El término "ancho" se utiliza para designar el número de bits que un bus puede transmitir simultáneamente.
  La velocidad del bus se define a través de su frecuencia (que se expresa en Hercios o Hertz), es decir el número de paquetes de datos que pueden ser enviados o recibidos por segundo.
  Cada vez que se envían o reciben estos datos podemos hablar de ciclo.
  De esta manera, es posible hallar la velocidad de transferencia máxima del bus (la cantidad de datos que puede transportar por unidad de tiempo) al multiplicar su ancho por la frecuencia.
  Por lo tanto, un bus con un ancho de 16 bits y una frecuencia de 133 MHz, tiene una velocidad de transferencia de: 16 * 133.10 = 2128 bit/s



  Bus Speed Comparisons

      Bus type  Width     Speed   Total rate
      ISA       16 bits   8 MHz   16MB/sec
      EISA      32 bits   8 MHz   32MB/sec
      VL-bus    32 bits   25 MHz  100MB/sec
      VL-bus    32 bits   33 MHz  132MB/sec
      PCI       32 bits   33 MHz  132MB/sec
      PCI       64 bits   33 MHz  264MB/sec

Estructura

  Puede llegar a tener hasta 100 líneas, cada línea con alguna función particular, existen buses muy diversos, las cuales están ordenados en tres grandes grupos:
  Bus de datos (para la transmisión de datos)
  Bus de dirección (para designar la fuente y destino, está limitada por la capacidad de memoria)
  Bus de control (para controlar el acceso de las  líneas de datos y de dirección, CPU ó controlador de Bus)

BUS DE DATOS (Data Bus)

A través del bus de datos circulan los datos entre los elementos componentes del ordenador.  Estos datos pueden ser de entrada o salida respecto a la CPU. Comunican a ésta con la memoria y con los controladores de entrada/salida. Este bus también es conocido como bus de entrada/salida. 
BUS DE DIRECIONES (Adress Bus)

La información que circula en este bus son direcciones de posiciones de memoria.  El sentido en que circulan estas direcciones es siempre desde la CPU hacia la memoria principal
BUS DE CONTROL (Control Bus)

A través de este bus circulan las señales de control de todo el sistema.  Este bus, al contrario que el de direcciones, es de entrada y salida, debido a que la CPU envía señales de control a los dispositivos periféricos y estos envían a la CPU información sobre su estado de funcionamiento.


 Líneas típicas del bus de control
         Escritura en memoria (Memory write).
         Lectura de memoria (Memory Read).
         Escritura de E/S (I/O Write).
         Lectura de E/S (I/O Read).
         Transferencia reconocida (Transfer ACK-Acknowledge).
         Petición del bus (Bus Request).
         Cesión del bus (Bus Grant).
         Petición de interrupción (Interrupt Request).
         Interrupción reconocida (Interrupt ACK).
         Reloj (Clock).
         Inicio (Reset).

BUS NORMALIZADO

  Son los que están en contacto con los periféricos, las tarjetas de expansión.
Evolución de los procesadores Intel para PC.

PROCESADOR
Bus de direcciones
Bus de datos
8086
20
16
8088
20
8
80186
20
16
80188
20
8
80286
24
16
80386 SX
32
16
80386 DX
32
32
80486 DX
32
32
80486 SX
32
32
PENTIUM
32
64
PENTIUM PRO
32
64


Funcionamiento
  Si un módulo desea enviar un dato a otro debe hacer dos cosas
A) Obtener el uso del Bus
B) Transmitir el dato a través del bus de datos
   Si un módulo desea pedir un dato a otro módulo
A) Obtener el uso del bus
B) Trasmitir petición a través de las líneas de control  o dirección
Ancho de banda de algunos buses típicos.

BUS
Reloj (MHz)
Bits
A.B. (MB/S)
PC original
4.77
8
4.77
ISA
8
16
16
EISA
8
32
32
MCA
10
32
40
VLB
33
32
132(lectura)
66(escritura)
PCI
33
32/64
132/264
AGP
Pentium (system)
66
64
528
SCSI-2
10
16/32
20/40
PCMCIA
1
16
2
 
Ancho de banda requerido en algunas aplicaciones

Aplicación
A.B. (MB/S)
Puerto serie 9600 bps
1.17·10-3
Modem 56 K
7·10-3
Sonido telefónico
8·10-3
Sonido CD
0.15
Ethernet  10 Mps
1.25
Ethernet 100 Mps
12.5
CD-ROM 32X
4.7
Video 1024x768
67.5
 
Direccionamiento

  Acción de asignar una dirección de memoria a un conjunto de datos.



Direccionamiento modo real

  Es un modo de operación del 80286 y posteriores CPUs compatibles de la arquitectura x86
  Máxima cantidad de memoria direccionable: • 1 Mbyte > 20 bits.
  No tiene conceptos de protección de memoria o multitarea a nivel de hardware.
  No pueden utilizarse todos los recursos de CPU.
     Es unitarea.


Direccionamiento modo protegido

Es un modo operacional de los CPUs compatibles x86 de la serie 80286 y posteriores. Tiene un número de nuevas características diseñadas para mejorar las multitareas y la estabilidad del sistema, como protección de memoria, y soporte de hardware para memoria virtual así como de conmutación de tareas.
La mayoría de los sistemas operativos x86 modernos corren en modo protegido, incluyendo Linux, FreeBSD, OpenBSD, NetBSD, y Microsoft Windows 3.0 y posteriores. (Windows 3.0 también corría en el modo real para la compatibilidad con las aplicaciones de Windows 2.x).
El 80286 no agregó mucho más allá de tener acceso de hasta 16 MB de memoria física y de 1 GB de memoria virtual (512 MB global, 512 MB local).
También era compatible con el código del modo real a nivel binario, así que en teoría, el código de aplicación del 8086 y 80186 podía correr en modo protegido si seguía las siguientes reglas, (aunque correría más lento que en el modo real porque la carga de registros de segmento es más lenta):
No aritmética de segmento
No uso de instrucciones privilegiadas
No acceso directo de hardware
No escritura al segmento de código (lo que significa que código automodificable nunca está permitido)
No ejecución de datos (eso, junto con la segmentación, proporciona una cierta protección de desbordamiento buffer).
Es un modo operacional de los CPUs compatibles x86 de la serie 80286 y posteriores.
Multitareas
Estabilidad del sistema, como protección de memoria.
Se agregó un sistema de paginación
Utiliza los registros de segmento como punteros a unos nuevos registros de dirección de 24 bits denominados tablas de descripción (“descriptor tables”), que permiten acceder a un máximo de 224 (16 MB) de memoria física, de forma que los registros de segmento son selectores que marcan el inicio de una dirección de 24 bits.
El descriptor especifica la ubicación del segmento en memoria, su longitud y sus derechos de acceso.
Otra diferencia, en los 80386 y posteriores, es que en modo protegido la dirección de desplazamiento puede ser un número de 32 bits, es por esto que puede direccionar hasta 4 Gb de longitud.

Modo real virtual

Esta técnica consiste en hacer creer al programa que dispone de más memoria que la físicamente disponible en RAM. Este artificio tiene sentido porque en ese momento (y actualmente), la memoria extendida era mayor que la físicamente disponible en muchos sistemas, además el disco duro era estándar en todos los equipos.
Esta RAM ficticia se conoce como memoria virtual; una simulación conocida de antiguo en el mundo de los mainframes, que fue introducida en la informática personal a partir del 80286.
La mayoría y de los ordenadores tienen cuatro tipos de memoria:
Registros en la CPU
 La memoria caché (tanto dentro como fuera del CPU),
La memoria física (generalmente en forma de RAM, donde la CPU puede escribir y leer directa y razonablemente rápido) y
El disco duro que es mucho más lento, pero también más grande y barato.
Nota: Hay ocasiones en que la RAM está demasiado fragmentada y el Sistema no puede asignar suficiente espacio contiguo a una aplicación. Por ejemplo, el caso en que Windows muestra el conocido mensajito: “ No hay suficiente memoria… debe cerrar alguna aplicación en curso… “ suele deberse a que no hay suficiente “memoria gráfica” contigua. Es decir: memoria RAM asignada a la tarjeta de video.
Además de facilitar la apariencia de más RAM que la físicamente disponible, este mecanismo permite que diversas aplicaciones compartan la misma memoria física. Aunque para ello se requieran constantes maniobras de carga y descarga (“swapping”) de trozos del fichero de intercambio a memoria, por lo que el rendimiento global del sistema se resiente si la desproporción entre el fichero de intercambio y la RAM es muy notable.

Temporización

  Se emplean para controlar periodos de tiempo (timers).
  Reloj del sistema
  Reset del Sistema
  Estados de espera

Reloj del Sistema

El reloj de una computadora se utiliza para dos funciones principales:
  1. Para sincronizar las diversas operaciones que realizan los diferentes subcomponentes del sistema informático.
  2. Para saber la hora.

El reloj físicamente es un circuito integrado que emite una cantidad de pulsos por segundo, de manera constante. Al número de pulsos que emite el reloj cada segundo se llama Frecuencia del Reloj.

La frecuencia del reloj se mide en Ciclos por Segundo, también llamados Hertzios, siendo cada ciclo un pulso del reloj. Como la frecuencia del reloj es de varios millones de pulsos por segundo se expresa habitualmente en Megaherzios.
El reloj marca la velocidad de proceso de la computadora generando una señal periódica que es utilizada por todos los componentes del sistema informático para sincronizar y coordinar las actividades operativas, evitando el que un componente maneje unos datos incorrectamente o que la velocidad de  transmisión de datos entre dos componentes sea distinta.

Cuanto mayor sea la frecuencia del reloj mayor será la velocidad de proceso de la computadora y podrá realizar mayor cantidad de instrucciones elementales en un segundo. 
Entre pulso y pulso solamente puede tener lugar una sola acción.
Medido en megahertz (MHz) y en Gigahertz
 1 MHz = 1 millón de ciclos por segundo
1 GHz  = 1 ciclo de mil millones por segundo.
• De esto es lo que están hablando cuando dicen que una computadora es una máquina de 2.4GHz La velocidad de su reloj es de 2.4 mil millones de ciclos por segundo.
Cuanto más grande el número = más rápido el
procesamiento

Reset del Sistema

Reset, del inglés reponer o reiniciar. Se conoce como reset a la puesta en condiciones iniciales de un sistema. Este puede ser mecánico, electrónico o de otro tipo. Normalmente se realiza al conectar el mismo, aunque, habitualmente, existe un mecanismo, normalmente un pulsador, que sirve para realzar la puesta en condiciones iniciales manualmente.
  Los microcontroladores pueden provocar una inicialización por tres causas:
  1. Al conectarse la alimentación, mediante el circuito de autoinicialización (power on reset).
  2. Al poner a cero el terminal MCLR (negado de Master Clear Reset )durante el funcionamiento o el estado de reposo del microcontrolador
  3. Al rebasar su capacidad el temporizador del circuito de vigilancia o WDT (watch dog timer).

El Reset manual se utiliza por ejemplo para arrancar una secuencia de encendidos de un conjunto de LEDs o para salir de alguna condición inestable en algunos decodificadores. Como sabemos el reset pone en cero todos los contadores internos. Es un borrar y volver a empezar.
   Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.
  El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).

  El comportamiento del circuito y el estado de los registros afectados por un RESET son diferentes dependiendo de la situación que se produzca.
Perro guardián o “Watchdog”
Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botón del reset y se reinicia el sistema. Pero un microcontrolador funciona sin el control de un supervisor y de forma continuada las 24 horas del día.
El Perro Guardián consiste en un contador que, cuando llega al máximo, provoca un reset automáticamente en el sistema.
Se debe diseñar el programa de trabajo que controla la tarea de forma que resetee al Perro Guardián de vez en cuando antes de que provoque el reset. Si falla el programa o se bloquea (si cae en bucle infinito), no se refrescará al Perro guardián y, al completar su temporización, provocará el reset del sistema.

Estados de espera

Cuando se conectan tarjetas al bus de la PC, un problema común es igualar la velocidad de los ciclos del bus con la de las tarjetas. Es común que una tarjeta sea más lenta que el bus. Así, el bus de la PC esta diseñado para resolver este problema. La señal READY del bus se puede usar para extender la longitud del ciclo del bus para igualar una tarjeta lenta o parar el bus del sistema hasta que se sincronice con el ciclo de la tarjeta.

Los ciclos del bus del 8088 normalmente son de cuatro pulsos y se describen por T1 hasta T4
En algunos ciclos el hardware de la PC, automáticamente inserta un pulso ocioso extra llamado TW. La señal READY se usa para insertar estados nuevos o adicionales de espera. Debido a que los diferentes ciclos del bus requieren distintos tiempos, la señal READY se debe controlar de manera diferente.

El hardware de la PC no inserta estados de espera en los ciclos de lectura o escritura a memoria, sino que esto lo hace la tarjeta usando la señal READY.
Un estado de espera es un tiempo (Tw) adicional de reloj introducido entre T2 y T3 para alargar el ciclo del bus.

Si se introduce un estado de espera, entonces el tiempo normal de acceso a la memoria (que es de 460 nseg con un reloj de 5 MHz) se alarga por un periodo de reloj (200 nseg) hasta 660 nseg.

Para la generación de un estado de espera se agrega un estado ocioso (0 ó Tw) entre T2 y T3 a partir de la señal READY ( que es la señal de verificación de control de sincronía), extendiendo así la longitud del ciclo del bus para igualarlo a una tarjeta lenta o parar el bus del sistema hasta que se sincronice con el ciclo de la tarjeta (este control de sincronía vuelve a recaer sobre la señal READY).

Interrupciones de hardware

Las interrupciones y las excepciones son eventos que indican que existe una condición en algún lugar del sistema, o del programa en ejecución, que requiere la atención del procesador. Generalmente resultan en una transferencia forzada del flujo de ejecución hacia una rutina denominada “manejador de interrupciones”. Las interrupciones se asocian normalmente a eventos hardware, mientras que las excepciones se producen cuando se detectan ciertas condiciones durante la ejecución, como división por cero, fallos de página, violaciones de segmento, etc. La arquitectura de errores de máquina del Pentium 4, Intel Xeon, familia P6, y Pentium, permite que se genere una excepción cuando se detectan errores de bus o errores internos del hardware. El mecanismo para el manejo de excepciones e interrupciones en la arquitectura IA-32 permite que éstas sean manipuladas de manera transparente a los programas de aplicación y al mismo sistema operativo. Cuando se genera una interrupción o una excepción, el procecimiento en ejecución se suspende automáticamente mientras el procesador ejecuta el manejador correspondiente; cuando esta operación se termina, el procesador reanuda la ejecución de la tarea interrumpida. La reanudación del proceso sucede sin pérdida de la continuidad del programa, a menos que el retorno no sea posible o que el evento haya causado la terminación del programa.

Los procesadores 8088, 20286 y siguientes disponen de dos patillas para este servicio específico. Las designadas INTR y NMI, que sirven para atender las interrupciones enmascarables y no enmascarables respectivamente. A su vez, el procesador utiliza ciertas señales en algunas de sus patillas para generar un ciclo INTA (“Interrupt Acknowledge”), que sirve para notificar al PIC que ha recibido la interrupción.

Enmascarable

Cualquier interrupción externa que se entregue al procesador a través del pin INTR o a través del APIC local se denomina interrupción hardware enascarable, además, bajo control software, el procesador es capaz de aceptar o ignorar dichas interrupciones. El procedimiento es el siguiente: se envía una señal a la patilla INTR, y en función del flag IF del registro FLAGS, la interrupción es atendida o ignorada. Si se acepta, el procesador termina la instrucción que estuviera ejecutando y responde mediante una combinación de señales INTA; generalmente dos, la primera para avisar al PIC y la segunda para indicarle al PIC que debe colocar un byte en el bus de datos con el número de la interrupción, para que el procesador pueda interpretar el servicio solicitado y por tanto, el manejador al cual debe saltar. El valor que el procesador recibe se multiplica desplazando binariamente dos posiciones a la izquierda. Seguidamente, se salvan en la pila los valores del registro del contador de programa y de segmento de código, se deshabilita el flag IF y se ejecuta el servicio.

No enmascarable

Significa que la interrupción no puede ser deshabilitada por software. Este tipo de interrupciones ocurren cuando se recibe una señal en la patilla NMI (“Nonmaskable Interrupt”) del procesador; se reservan para casos en que es crítica la respuesta, por ejemplo que se detecte un error de paridad en la memoria. Además son de prioridad más alta que las enmascarables. La única forma de enmascarar estas interrupciones es a través de circuitos externos al procesador, por ejemplo a nivel del PIC. Cuando el procesador recibe una de estas instrucciones no se genera ningún ciclo de reconocimiento de la instrucción (INTA), y el procesador le asigna un 2 como número de excepción. La penúltima instrucción de la rutina de servicio es enviar una señal para indicar el fin de la interrupción (EOI) para que el PIC pueda seguir enviando interrupciones (sino nos encontraríamos en un bucle infinito); a continuación se restauran los registros a su estado inicial (existente antes de que se produjera la interrupción).

 Acceso directo a memoria

El acceso directo a memoria (DMA, del inglés Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal.

Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido.

DMA es una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.

Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA.

Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa el procesador y como resultado puede ser panificado para efectuar otras tareas.

 Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos. Cabe destacar que aunque no se necesite a la CPU para la transacción de datos, sí que se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para regular su uso, permitiendo así que no quede totalmente acaparado por el controlador DMA.
Estrategias de transferencia por DMA A continuación se exponen diferentes técnicas para realizar la transferencia de datos.
El uso de cada una de ellas dependerá de las características que se deseen primar en un sistema.

Sistema de video

Número de imágenes por segundo Velocidad de carga de las imágenes: número de imágenes por unidad de tiempo de vídeo, para viejas cámaras mecánicas cargas de seis a ocho imágenes por segundo (fps) o 120 imágenes por segundo o más para las nuevas cámaras profesionales. Los estándares PAL y SECAM especifican 25 fps, mientras que NTSC especifica 29,97 fps.

El cine es más lento con una velocidad de 24 fps, lo que complica un poco el proceso de transferir una película de cine a vídeo. Para lograr la ilusión de una imagen en movimiento, la velocidad mínimo de carga de las imágenes es de unas quince imágenes por segundo. Entrelazado El video puede ser entrelazado o progresivo.

El entrelazado fue inventado como un método de lograr una buena calidad visual dentro de las limitaciones de un estrecho ancho de banda.

Las líneas entrelazadas de cada imagen están numeradas consecutivamente y divididas en dos campos: el campo impares (campo superior), que consiste en las líneas de los números impares y el campo pares (casilla inferior), que consiste en las líneas de los números pares.
NTSC, PAL y SECAM son formatos entrelazados. Las especificaciones abreviadas de la resolución de video a menudo incluyen una “i” para indicar entrelazado. Por ejemplo, el formato de video PAL es a menudo especificado como 576i50, donde 576 indica la línea vertical de resolución, i indica entrelazado, y el 50 indica 50 campos ( la mitad de imágenes) por segundo.
En los sistemas de barrido progresivo, en cada período de refresco se actualizan todas las líneas de exploración.

 El resultado es una mayor percepción de la resolución y la falta de varios artefactos que pueden formar parte de una imagen estacionaria aparentemente en movimiento o que parpadea. Un procedimiento conocido como desentrelazado puede ser utilizado para transformar el flujo entrelazado, como el analógico, el de DVD, o satélite, para ser procesado por los dispositivos de barrido progresivo, como el que se establece en los televisores TFT, los proyectores y los paneles de plasma.

 El desentrelazado no puede, sin embargo, producir una calidad de video equivalente al material de barrido progresivo real. Resolución de video El tamaño de una imagen de video se mide en píxeles para video digital, o en líneas de barrido horizontal y vertical para video analógico. En el dominio digital, (por ejemplo DVD) la televisión de definición estándar (SDTV) se especifica como 720/704/640 x 480i60 para NTSC y 768/720 x 576i50 para resolución PAL o SECAM. Sin embargo, en el dominio analógico, el número de líneas de barrido sigue siendo constante (486 NTSC/576 PAL), mientras que el número de líneas horizontal varía de acuerdo con la medición dela calidad de la señal: aproximadamente 320 píxeles por línea para calidad VCR, 400 píxeles para las emisiones de televisión, y 720 píxeles para DVD. Se conserva la relación de aspecto por falta de píxeles “cuadrados”. Espacio de color y bits por píxel El nombre del modelo del color describe la representación de color de vídeo. El sistema YIQ se utilizó en la televisión NTSC.

Sistema de discos

Discos IDE.
Son los orientados normalmente al consumo doméstico. Existen dos técnicas de acceso a estos discos. Son los modos PIO y los modos DMA. En los discos antiguos, el acceso a disco se hacia mediante técnicas PIO (Program Input/ Output). Estos tipos de acceso, implican mucho trabajo a la CPU (constantemente interrogando a los puertos de comunicaciones con el disco), y poca velocidad de transferencia, ya que lo máximo que podía traerse la CPU es de dos en dos bytes del disco por cada operación PIO. Los modos PIO son de PIO 1 a PIO 4, siendo el más rápido éste último.

Otras aplicaciones

Modos DMA. Evidentemente el modo anterior queda obsoleto desde el momento en que las tecnologías de las placas madre y de los buses de las placas madre, permiten la técnica del bus mastering. Esta técnica consiste en que el dispositivo puede tomar el control del bus desconectando del bus a la CPU y durante esa fracción de tiempo hacer llegar datos a la memoria del ordenador de una manera masiva. En ese momento el procesador está inoperativo, pero la velocidad de transferencia conseguida por la electrónica del disco y de la controladora supera con creces la parada de la CPU. Dispositivos ATA/ATAPI Windows XP habilita por defecto el modo DMA en la mayoría de los dispositivos ATA/ ATAPI, pero para asegurar la estabilidad del sistema cuando encuentra un número grande de errores (más de seis) durante la transferencia de datos, seleccionará el modo PIO. Dispositivos en modo DMA En dispositivos ATAPI, excepto DVD y CD-RW, Windows XP habilita por defecto el modo PIO en CD-ROM y dispositivos removibles como los magnetoópticos. Podemos habilitar el DMA a través del administrador de dispositivos. Windows XP habilita por defecto el DMA en ATAPI DVD y CD-RW/CD-R.



1 comentario:

  1. Un Excelente blog que realizamos Carmen, Florencia y su servidor Eduardo.

    ResponderEliminar