sábado, 28 de mayo de 2011

Transferencia de datos modo DMA

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

Muchos sistemas de 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.

El modo DMA consiste en copiar información de un dispositivo a la memoria RAM sin utlizar al CPU como intermediario en el proceso de transferencia. La operación no ocupa al procesador y como resultado éste puede ser planificado para efectuar otras tareas.


Existen dos tipos de modos de DMA:
  • El DMA de "palabra única", que permite la transferencia de una sola palabra (2 bytes o 16 bits) durante cada sesión de transferencia
  • El DMA de "palabras múltiples", que permite la transferencia sucesiva de varias palabras en cada sesión de transferencia
La siguiente tabla proporciona una lista de los diferentes modos de DMA y sus rendimientos asociados:

Modo de DMARendimiento (Mb/s)
0 (Palabra única)2,1
1 (Palabra única)4,2
2 (Palabra única)8,3
0 (Palabras múltiples)4,2
1 (Palabras múltiples)13,3
2 (Palabras múltiples)16,7

viernes, 27 de mayo de 2011

Transferencia de datos modo PIO

La transferencia de datos en una PC tiene que ver con el paso de información entres los distintos dipositivos (discos,lectoras,video,sonido,etc...) y la memoria RAM. Es decir que, por ejemplo, cuando un disco rigido vuelca información a la memoria RAM del sistema se realizó una transferencia de datos.

Existen varias tecnologías para ralizar este tipo de transferencia:
  • PIO
  • DMA
  • Ultra DMA
El modo PIO consiste en el envío de información de un dispositivo hacía la memoria RAM del sistema  tomando como intermediario de la transferencia al microprocesador (CPU).

Es así que en el Modo PIO (Programed Input Output) la transferencia se realiza en primera instancia hacia el CPU, quien ordena la transferencia por medio de las operaciones que se ejecutan en el sistema operativo; pero esta transferencia es solo momentánea, ya que seguidamente el proceso de transferencia se dirige hacía la memoria RAM.

Esta transferencia se hace bit a bit hasta completar la totalidad de la transferencia. En transferencia desde discos duros el modo PIO llega hasta un nivel máximo de 4, en el cual se puede alcanzar una velocidad de 16,6 MB/s, la cual es posible solo si la transferencia de datos está habilitada para ejecutarse en 32 bits y el  sistemas soporta FAT32.

Este tipo de transferencia de datos no es la más conveniente debido a que utiliza el CPU como intermediario, esto implica que durante una transferencia de datos el CPU está ocupado en esa tarea lo cual realentiza considerablemente el rendimiento del sistema.


El siguiente cuadro muestra los diferentes modos PIO y sus rendimientos:

Modo PIO Rendimiento (Mb/s)
Modo 03,3
Modo 15,2
Modo 28,3
Modo 311,1
Modo 416,7

jueves, 26 de mayo de 2011

Tipos de CD-ROM (CLV - CAV - PCAV)

Según el tipo de velocidad de lectura de datos existen tres tipos de CD-Rom:
 
  • CLV, Constant Linear Velocity (Velocidad lineal constante)
  • CAV, Constant Angular Velocity (Velocidad angular constante)
  • PCAV, Partially Constant Angular Velocity (Velocidad angular parcialmente constante)
  
CLV

Por el hecho de ser circular, si el CD-ROM girase siempre a la misma velocidad, las pistas más internas del CD irían mucho más despacio que las más externas. Es decir, la velocidad LINEAL de la pista que pasa por debajo de la cabeza lectora no sería la misma en todas partes del disco. Por ello, se optó por acelerar y frenar el disco como fuera conveniente a fin de que la velocidad lineal fuese constante. De ahí el nombre de esta técnica, CLV.

El sistema CLV garantiza que en todas partes del CD se lean los datos exactamente a la misma velocidad, lo que permite utilizar sistemas de lectura más sencillos. Sin embargo tiene una desventaja, y es que se pierde tiempo en acelerar y frenar el disco, con la consiguiente pérdida de prestaciones en lo que a tiempo de acceso se refiere.
  
CAV

Este sistema permite tiempos de acceso más bajos gracias a que mantienen el disco girando siempre a la misma velocidad. Por esta razón, la velocidad a la que pasan los datos bajo el láser en las pistas más externas es mucho mayor que en las pistas externas. Es decir, son más rápidos leyendo pistas externas que internas.

Se han hecho posibles gracias a que se ha aprendido a sincronizar eficientemente el DAC para leer los datos a diferentes velocidades. Este tipo de lectoras es más económico ya que el motor utilizado es más sencillo, además su vida útil es mayor por no estar sometido a aceleraciones y frenazos.

Un CD-ROM CAV que dice ser de NNx realmente lee a NNx las pistas más externas, y a partir de ahí las va leyendo más despacio hasta llegar a las más internas. Por ejemplo, un CD-ROM CAV 16x lee las pistas externas a 16x, pero las internas solo a 8x.
  
PCAV

Es una evolución de los sistemas CLV y CAV. Cuando se diseña un CD-ROM se presentan dos problemas principalmente:
  • La velocidad de rotación máxima del disco
  • La velocidad máxima de adquisición de datos del DAC
En un sistema CLV, el DAC trabaja siempre al máximo que puede dar, mientras que el motor se ve forzado a trabajar más despacio para no saturar el DAC, desperdiciando así parte del rendimento. En un sistema CAV, a costa de abaratar coste con un motor de velocidad constante, no se mantiene al DAC trabajando a pleno rendimiento. Esto es, un DAC que podría trabajar a 16x cómodamente, se ve la mayor parte del tiempo trabajando a 10 o 12x.

En un sistema PCAV, hay una zona CAV y una zona CLV. La zona CAV corresponde a la zona más interna del disco, y es donde se mantiene al motor girando al máximo de sus posibilidades. En esta zona, se empieza leyendo sólo a 12x, y aumentando la velocidad rápidamente hasta 20x, que es el máximo del DAC. En estas condiciones, se aprovecha todo lo posible ambos componentes. En este momento, cuando se alcanza el máximo del DAC, el CD-ROM pasa a actuar como un CD-ROM CLV, frenando el disco como sea necesario, manteniendo el DAC a pleno rendimiento (20x) hasta el final. Según dónde se pase de CAV a CLV, se aprovechará más o menos cada componente y será mejor o peor la velocidad media.

miércoles, 25 de mayo de 2011

Dual Channel

Dual Channel es una tecnología aplicada en las motherboads de computadoras personales, la cual permite el incremento del rendimiento de la memoria RAM gracias al acceso simultáneo a dos módulos distintos de memoria, haciéndolo a bloques de 128 bits, en lugar de los 64 bits tradicionales.

Esto se consigue mediante un segundo controlador de memoria en el puente norte (northbridge) de la mother. Las mejoras de rendimiento son particularmente perceptibles cuando se trabaja con controladoras de vídeo integradas a la placa base ya que éstas, al no contar con memoria propia, usan la RAM  y, gracias al doble canal, pueden acceder a un módulo mientras el sistema accede al otro.

Para que la computadora pueda funcionar en Dual Channel, se deben instalar dos módulos de memoria de la misma capacidad, velocidad y tipo en los zócalos correspondientes de la placa base, la cual debe soportar esta tecnología.

Es recomendable que los módulos de memoria sean idénticos (mismas frecuencia, latencias y fabricante), ya que en caso de que sean distintos cabe la posibilidad de que no funcionen apropiadamente. Actualmente, es posible utilizar esta tecnología en memorias DDR, DDR2, y DDR3.


En la imgen podemos ver que las motherboards (generalmente) indican mediante colores donde deben colocarse los bancos de memoria RAM para habilitar automáticamente el Dual Channel.

martes, 24 de mayo de 2011

Presentaciones On-line con PREZI

Cuando hablamos de presentaciones pensamos automáticamente en PowerPoint el programa de la familia Office de Microsoft altamente utilizando para la creación de presentaciones en diapositivas.

Un compañero me contó acerca de una herramienta similar. Un sitio web que te permite crear presentaciones con una dinámica similar a la de PowerPoint pero con una vuelta de tuerca en el diseño de las diapositivas muy interesante. Algunas características del sitio son:
  • Es de uso gratuito
  • Puedes crear las presentaciones y mostrarlas online
  • Puedes descargar un archivo autoejecutable de la presentación para mostrarla offline, esta opción funciona autónoma en cualquier versión de Windows.
  • Puedes crear un grupo de trabajo de modo que todos los usuarios del grupo puedan trabajar en la presentación o pueda ser mostrada por más de un usuario a la vez, garantizando de esta forma, por ejemplo, que todos esten utilizando la última versión de la presentación.
  • El uso de la herramienta es muy simple e intuitivo
El sitio se llama PREZI y acceden a través de http://www.prezi.com/

lunes, 23 de mayo de 2011

Pistas, Sectores y Cilindros

Es preciso comentar también otros aspectos de la estructura física del disco que hacen a la capacidad y lectura/escritura de datos. Para empezar, la superficie del disco se divide en una serie de anillos concéntricos, denominados pistas. Al mismo tiempo, las pistas se dividen en tramos de una misma longitud, conocidos como sectores; un sector contiene 512 bytes. Otro concepto es el de cilindro, usado para describir las pistas que tienen el mismo número pero en diferentes discos, es decir las pistas concéntricas proyectadas en los diferentes platos conforman los cilindros. Finalmente, los sectores suelen agruparse en bloque denominados clusters o unidades de asignación.

Estos conceptos son importantes a la hora de instalar y configurar un disco rígido, y toman mayor relevancia cuando más adelante se traten los aspectos lógicos, como ser el sistema de archivos a utilizar. Las mothers modernas detectan los discos rígidos instalados automáticamente, pero antiguamente había que introducir algunos valores uno por uno (siempre vienen escritos en una etiqueta pegada en la parte superior del disco), lo cual obligaba a tener cierto conocimiento técnico para configurarlos y obtener el mayor provecho posible. Esta estructura lógica que especifica los detalles de las pistas y sectores se realiza al momento de la fabricación del disco rígido y se denomina Formato de Bajo Nivel. El tamaño de los clusters se da con el Formato de Alto Nivel y se tratará más adelante.

Como se puede apreciar en el gráfico los sectores no son del mismo tamaño físico, sin embargo todos tienen la misma capacidad, 512 Bytes. Todas estas divisiones y convenciones sirven para ubicar los datos dentro del disco, es decir, forman parte de la "dirección" del dato. El primer sistema de direccionamiento que se usó es CHS (Cylinder – Head – Sector), ya que con estos tres valores se puede situar un dato cualquiera del disco. Un dato determinado puede estar grabado en el sector 3 del cilindro 5 de la cara 4, por ejemplo. En la actualidad se utiliza un sistema más sencillo, llamado LBA (Logical Block Addressing), que consiste en dividir el disco entero en bloques y asignar a cada uno un único número. La ubicación de los datos se efectúa indicando el número del bloque deseado (que incluye uno o varios sectores) sin importar en qué cara del plato esté o en qué pista.

Multiplicando los valores de CHS entre sí se obtiene la cantidad de sectores del disco rígido, luego si se multiplica ese valor por 512 se obtendrá la capacidad del disco en bytes. Habría que dividir el resultado por 1.024 para obtener la capacidad en MB o GB, aunque en realidad la mayoría de las veces el fabricante indicará una capacidad que obtendremos si hacemos divisiones por 1.000.


domingo, 22 de mayo de 2011

Estructura física de un disco rígido

Un disco rígido se compone de muchos elementos; se citarán los más importantes para poder explicar su funcionamiento. En primer lugar, la información se almacena en unos finos platos o discos, generalmente de aluminio, recubiertos por un material sensible a alteraciones magnéticas.

Estos discos, cuyo número varía según la capacidad de la unidad, se encuentran agrupados uno sobre otro y atravesados por un eje, y giran continuamente a gran velocidad. Asimismo, cada disco posee dos diminutos cabezales de lectura/escritura, uno en cada cara. Estos cabezales se encuentran flotando sobre la superficie del disco sin llegar a tocarlo, a una distancia de unas 3 o 4 micro pulgadas (a título informativo, se puede comentar que el diámetro de un cabello humano es de unas 2μ pulgadas).

Estos cabezales generan señales eléctricas que alteran los campos magnéticos del disco, dando forma a la información. Dependiendo de la dirección hacia donde estén orientadas las partículas, valdrán 0 o 1. La distancia entre el cabezal y el plato del disco también determinan la densidad de almacenamiento del mismo, ya que cuanto más cerca estén el uno del otro, más pequeño es el punto magnético y más información podrá albergar.

Entre el plato y el cabezal hay un colchón de aire formado por la propia rotación impidiendo que los cabezales toquen el disco, sin embargo, cuando el disco se detiene, los cabezales aparcan en una pista diseñada para tal fin haciendo contacto directo con el plato. Los cabezales van montados sobre un brazo actuador que se mueve hacia los laterales permitiendo barrer toda la superficie del plato. Esto indica que los cabezales se mueven todos juntos, y solo uno puede transferir datos.

En su parte externa cuentan con una interfaz de datos para conectar el dispositivo a la mother y el enchufe para la alimentación. Dependiendo del modelo puede incluir pines para algún tipo de configuración mediante jumpers.