martes, 15 de julio de 2008
DISPOSITIVOS DIGITALES BÁSICOS MICROPROCESADOR
UNIDAD IV DISPOSITIVOS DIGITALES BÁSICOS
4.1 Flip-Flop y Cerrojos.
Flip-flop
Los flip-flops son dispositivos secuenciales síncronos (necesitan una señal de reloj para funcionar), que se utilizan para almacenar un bit de información. En concreto, los que son activos o disparados por flanco de reloj (existe otra variedad que son activos por nivel) son los más utilizados en la construcción de contadores y registros.
El flip-flop SR disparado por flanco es muy parecido al cerrojo SR con entrada de habilitación, la entrada de habilitación del cerrojo puede utilizarse para sincronizar el funcionamiento del cerrojo con una señal de habilitación externa y éste es justamente el propósito de la señal de reloj. La idea es conectar a la entrada de habilitación un circuito capaz de proporcionar un pulso positivo. Este circuito se llama detector de transiciones.
Ya que existen dos tipos de transiciones (positivas y negativas) existen dos tipos de flip-flops disparados por flanco: positivos y negativos. La diferencia entre ellos es mínima y depende de si el circuito que habilita el cerrojo detecta las transiciones positivas o negativas.
La construcción de un detector de transiciones es muy sencilla. Son necesarias una puerta NOT y una puerta AND de dos entradas. El inversor (además de invertir la señal de reloj) va a provocar un desfase entre las transiciones de la señal de reloj, debido al tiempo de retardo inherente a la puerta. Esta señal invertida entra a una entrada de la puerta AND y la otra se alimenta con la señal original, que no posee dicho desfase. Como consecuencia del desfase introducido, a la salida de la puerta AND vamos a registrar un pulso positivo de una duración igual al tiempo de retardo de la puerta NOT que es muy pequeño. Un inversor es la puerta lógica más simple que es posible construir, ninguna otra puerta va a disfrutar de un tiempo de retardo menor y por lo tanto, la duración del pulso positivo nunca dará lugar a que una puerta NOT o de cualquier otro tipo que lo utiliza como señal de excitación pueda, debido a realimentaciones, realizar más de una transición. Esto es muy importante, ya que gracias a esta mínima (pero suficiente) duración de dicho pulso, el flip-flop va a estar atento a las entradas un periodo de tiempo muy corto. Como dicho pulso se produce muy poco tiempo después de la transición positiva de la señal de reloj, el cerrojo SR pasa a ser un flip-flop SR activo por flanco positivo.
Montaje del flip-flop SR disparado por flanco positivo y su símbolo lógico.
Cronograma del flip-flop SR activo por flanco positivo.
S R CLK Q
0 0
0 1
1 0
1 1
Tabla de verdad del flip-flop SR activo por flanco positivo.
Fuente Consultada: Sitio Web:
http://www.ace.ual.es/÷vruiz/docencia/laboratorio÷estructura/practicas/html/mode41.html#see:cerrojo#SR-ENABLE.
Cerrojos
En los sistemas digitales a veces se hace necesario tener memorizado o detenido un dato por algún tiempo que sea necesario, por lo tanto el cerrojo es un dispositivo de almacenamiento o de memoria.
Si se deja de presionar el dígito este se borra del visualizador, este problema que se presenta en este sistema digital se puede solucionar anexando un cerrojo o también llamado memoria antes del decodificador.
Circuito con cerrojos
Aquí se detalla un sencillo cerrojo fabricado en forma de CI cerrojo transparente de cuatro bits TTL 7475. El Cerrojo CI 7475 tiene cuatro entradas que aceptan datos en paralelo, los datos Do a D3 pasan a través del 7475 a sus salidas normal y complementaria, cuando las entradas de habilitación de datos están en alto y se dice que el cerrojo es transparente, ya que cualquier cambio en los datos de entrada se transmite de inmediato a la salidas.
Cerrojo 7475
Cuando las entradas de habilitación están en bajo el dato esta encerrado o mantenido en las salidas por lo que las variaciones en las entradas no afectan las salidas. Este cerrojo se considera un registro de entrada paralela/salida paralela.
Modo de operación Entradas
E D Salidas
Q 1
Datos habilitados 1
1 0
1 0
1 1
0
Datos encerrados 0 X No cambia
Fuente Consultada: Sitio Web: http://www.cmelectronics.8m.com/datasheets/7475.pdf
4.2 Codificadores y Decodificadores.
Codificadores
Un codificador es un circuito combinacional con 2N entradas y N salidas, cuya misión es presentar en la salida el código binario correspondiente a la entrada activada.
Existen dos tipos fundamentales de codificadores: codificadores sin prioridad y codificadores con prioridad. En el caso de codificadores sin prioridad, puede darse el caso de salidas cuya entrada no pueda ser conocida: por ejemplo, la salida 0 podría indicar que no hay ninguna entrada activada o que se ha activado la entrada número 0. Además, ciertas entradas pueden hacer que en la salida se presente la suma lógica de dichas entradas, ocasionando mayor confusión. Por ello, este tipo de codificadores es usado únicamente cuando el rango de datos de entrada está correctamente acotado y su funcionamiento garantizado.
Codificador
Codificadores con prioridad: En estos sistemas, cuando existe más de una señal activa, la salida codifica la de mayor prioridad (generalmente correspondiente al valor decimal más alto). Adicionalmente, se codifican dos salidas más: una indica que ninguna entrada está activa, y la otra que alguna entrada está activa. Esta medida permite discernir entre los supuestos de que el circuito estuviera deshabilitado por la no activación de la señal de capacitación, que el circuito no tuviera ninguna entrada activa, o que la entrada número 0 estuviera activada.
También entendemos como codificador (códec), un esquema que regula una serie de transformaciones sobre una señal o información. Estos pueden transformar una señal a una forma codificada usada para la transmisión o cifrado o bien obtener la señal adecuada para la visualización o edición (no necesariamente la forma original) a partir de la forma codificada.
En este caso, los codificadores son utilizados en archivos multimedia para comprimir audio, imagen o vídeo, ya que la forma original de este tipo de archivos es demasiado grande para ser procesada y transmitida por los sistema de comunicación disponibles actualmente. Se utilizan también en la compresión de datos para obtener un tamaño de archivo menor.
Según esta nueva definición, podemos divivir los codificadores en códecs sin pérdidas y códecs con pérdidas, según si la información que se recupera coincide exactamente con la original o es una aproximación
Decodificador
Un decodificador o descodificador es un circuito combinacional, cuya función es inversa a la del codificador, esto es, convierte un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N), tales que cada línea de salida será activada para una sola de las combinaciones posibles de entrada. Estos circuitos, normalmente, se suelen encontrar como decodificador / demultiplexor. Esto es debido a que un desmultiplexor puede comportarse como un decodificador.
Si por ejemplo tenemos un decodificador de 2 entradas con 22= 4 salidas, en el que las entradas, su funcionamiento sería el que se indica en la siguiente tabla, donde se ha considerado que las salidas se activen con un "uno" lógico:
Decodificador
Tabla de verdad para el decodificador 2 a 4
Entradas Salidas
A B D3 D2 D1 D0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0
Un tipo de decodificador muy empleado es el de siete segmentos. Este circuito decodifica la información de entrada en BCD a un código de siete segmentos adecuado para que se muestre en un visualizador de siete segmentos.
Fuente Consultada: Sitio Web:
http://es.wikipedia.org/wiki/codificadores=decodificador.
Aplicaciones del Decodificador
Su función principal es la de direccionar espacios de memoria. Un decodificador de N entradas puede direccionar 2N espacios de memoria.
Para poder direccionar 1kb de memoria necesitaría 10 bits, ya que la cantidad de salidas seria 210, igual a 1024.
De esta manera: Con 20 bits => 220 = 1Mb; Con 30 bits => 230 = 1Gb, etc.
4.3 Buffers y Dispositivos de tres estados.
Un buffer en informática es un espacio de memoria, en el que se almacenan datos para evitar que el programa o recurso que los requiere, ya sea hardware o software, se quede en algún momento sin datos.
Algunos ejemplos de aplicaciones de buffers son:
El buffer del teclado es una memoria intermedia en la que se van almacenando los caracteres que un usuario teclea, generalmente, hasta que pulsa la tecla INTRO o ENTER, momento en el cual el programa captura todos o parte de los caracteres tecleados contenidos en dicho buffer.
En Audio o video en streaming por Internet. Se tiene un buffer para que haya menos posibilidades de que se corte la reproducción cuando se reduzca o corte el ancho de banda.
Un buffer adecuado permite que en el salto entre dos canciones no haya una pausa molesta.
Las grabadoras de CD o DVD, tienen un buffer para que no se pare la grabación. Hoy en día hay sistemas para retomar la grabación pero antes suponía que el CD no quedaba bien grabado y muchas veces era inservible.
El concepto del Buffer es similar al de caché. Pero en el caso del buffer, los datos que se introducen siempre van a ser utilizados. En la caché sin embargo, no hay seguridad, sino una mayor probabilidad de utilización.
Los buffers se pueden usar en cualquier sistema digital, no solo en los informáticos, por ejemplo se utilizan en reproductores de música y vídeo.
Fuente Consultada: http://es.wikipedia.org/wikw/infor%C3%A1tica.
SELECTORES DE DATOS/MULTIPLEXORES.
Es la versión electrónica de un conmutador rotatorio en un solo sentido, se puede comparar con un selector mecánico en una sola dirección. También se puede definir como un proceso de selección de una entrada entre varias y la transmisión de los datos seleccionados hacia un solo canal de salida.
Selector de datos
Aquí se compara un selector mecánico de datos y un selector electrónico de datos. En el selector de datos la selección del dato se logra girando mecánicamente el rotor del conmutador, y en el selector electrónico de datos multiplexor se selecciona el dato colocando el número binario adecuado en las entradas de selección de datos A, B, C.
Multiplexor comercial TTL 74150
Características:
1. Consta de 16 entradas de datos.
2. Tiene una única salida invertida w (pin 10).
3. Posee cuatro entradas selectoras de datos de A a D (pin 15 al 11).
4. Tiene una entrada de habilitación denominada STROBE que se considera como un conmutador ON-OFF.
Selector de datos 74150
La tabla de verdad del selector de datos 74150 tiene la entrada de habilitación (STROBE) en alto lo cual no habilita ningún dato, sea cualquiera la entrada de selección, como resultado obtendremos en la salida una tensión alta. En la segunda línea tenemos las entradas de habilitación en bajo lo cual habilita las entradas selectoras de datos que en este caso están en bajo por lo cual en la salida obtendremos la entrada E.
D C B A Strobe W
X X X X H H
L L L L L E0
L L L H L E1
L L H L L E2
L L H H L E3
L H L L L E4
L H L H L E5
L H H L L E6
L H H H L E7
H L L L L E8
H L L H L E9
H L H L L E10
H L H H L E11
H H L L L E12
H H L H L E13
H H H L L E14
H H H H L E15
En la tercera línea además de tener la entrada de STROBE activado en BAJO tenemos en las entradas selectoras de datos LLLH lo cual nos da una salida de E1 y así sucesivamente hasta llegar en las entradas selectoras de datos HHHH que corresponde en la salida a E15.
Este CI tiene muchas aplicaciones como la solución de problemas lógicos difíciles de simplificar. Como ejemplo puede mostrar la figura a continuación donde necesitaríamos muchos CI de lógica combinacional para implementar este circuito.
Solución de problemas lógicos con multiplexores
El CI 74150 se puede utilizar para transmitir una palabra paralela de 16 bits en forma serie esto se realiza conectando un contador a las entradas de selección de datos y se cuenta desde 0000 hasta 1111, esta puede ser una palabra paralela de 16 bits en las entradas de datos de 0 a 15. Finalmente esta se transmite a la salida en forma serie o sea de dato por vez.
Aplicación de la multiplexación
El multiplexaje reduce el consumo de potencia de los visualizadores y elimina la necesidad de un decodificador extra. El multiplexor trabaja a una frecuencia de 100 Hz que activa alternativamente el conteo de las unidades o de las decenas.
DEMULTIPLEXORES.
El demultiplexor (DEMUX) invierte la operación del multiplexor, el DEMUX tiene una sola entrada de datos que en la salida puede ser distribuida a cualquier canal.
Demultiplexor
El DEMUX también se denomina decodificador y a veces distribuidor de datos, el DEMUX solo permite que los datos fluyan de la entrada a las salidas y no en ambas direcciones.
Los DEMUX están disponibles en versiones TTL y CMOS de una entrada y cuatro salidas, una entrada y ocho salidas, una entrada y diez salidas y una entrada y dieciséis salidas.
El CI decodificador/demultiplexor de 4 a 16 TTL 74LS154 tiene dos entradas de datos G1 y G2 que activan a una única entrada en el nivel BAJO.
El DEMUX 74LS154 tiene 16 salidas de 0 a 15 con 4 entradas de datos (D a A) sus salidas son activas en bajo por lo que normalmente están en alto y cuando se activan están en bajo, además como se había dicho antes tiene dos entradas de datos G1 y G2 negados que realizan la operación NOR para generar la única entrada de datos lo que quiere decir que para poder activar un dato deben estar los dos en bajo.
Demultiplexor 74154
El DEMUX 74LS154 pertenece a la familia TTL schottky de baja potencia y mayor velocidad que tiene un retardo de propagación de 30 ns.
G1 G2 D C B A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
L L L L L L L H H H H H H H H H H H H H H H
L L L L L H H L H H H H H H H H H H H H H H
L L L L H L H H L H H H H H H H H H H H H H
L L L L H H H H H L H H H H H H H H H H H H
L L L H L L H H H H L H H H H H H H H H H H
L L L H L H H H H H H L H H H H H H H H H H
L L L H H L H H H H H H L H H H H H H H H H
L L L H H H H H H H H H H L H H H H H H H H
L L H L L L H H H H H H H H L H H H H H H H
L L H L L H H H H H H H H H H L H H H H H H
L L H L H L H H H H H H H H H H L H H H H H
L L H L H H H H H H H H H H H H H L H H H H
L L H H L L H H H H H H H H H H H H L H H H
L L H H L H H H H H H H H H H H H H H L H H
L L H H H L H H H H H H H H H H H H H H L H
L L H H H H H H H H H H H H H H H H H H H L
L H X X X X H H H H H H H H H H H H H H H H
H L X X X X H H H H H H H H H H H H H H H H
H H X X X X H H H H H H H H H H H H H H H H
Tabla de verdad del demultiplexor 74154
BUFFERS DE TRES ESTADOS.
El buffer de tres estados puede implementarse utilizando el dato encerrado donde activa las líneas del bus de datos del nivel alto al nivel bajo dependiendo el dato presente. Después el microprocesador retira ese dato del bus de datos y desactiva el buffer (el control vuelve al nivel alto).
Símbolo de un buffer de tres estados
En la electrónica digital existen dos valores 0 y 1 el buffer de tres estados logra la creación de un nuevo estado, es el estado de alta impedancia donde la salida no va tener tensiones altas ni bajas, sino un aislamiento de protección para los elementos de un circuito, que normalmente se utiliza para realizar interconexiones con los buses en las microcomputadoras como parte de microprocesador y de RAM. Actualmente están disponibles muchos dispositivos denominados adaptadores de interfaces de periféricos (PIA) que contienen cerrojos, buffers, registros y líneas de control, están disponibles para cada microprocesador y cuidan las necesidades de entrada y salida del sistema.
Los cerrojos se encuentran en las familias TTL y CMOS, vienen normalmente en versiones de flip-flops D de 4 u 8 bits, algunos tienen salidas de tres estados. Los cerrojos sólo permiten que los datos fluyan de la entrada a la salida pero el transceptor de bus es la diferencia, ya que este dispositivo permite que los datos fluyan en ambas direcciones.
TRANSMISIÓN DIGITAL DE DATOS
Este es el proceso de enviar información de un lugar a otro del sistema que pueden estar próximos o separados, se puede hacer de dos formas: paralela o serie.
• PARALELA: Se utiliza mucho en los sistemas basados en microprocesador como los microprocesadores donde números enteros de bits se transmiten al mismo tiempo, pero se necesitan muchos registros, cerrojos y conductores. Este se utiliza cuando la velocidad o el tiempo es muy importante.
Transmisión de datos paralelo
• SERIE: Este sistema sólo utiliza una línea de transmisión y se utiliza cuando se transmiten datos a largas distancias, se transmite primero un bit de arranque en el nivel 0 luego se transmiten los siguientes 7 bits de datos, un bit de paridad para la detección de errores y finalmente 2 bits de parada en el nivel alto.
Transmisión de datos en serie
4.4 Memorias Semiconductoras.
El Flip-Flop o Cerrojo, es la celda básica de memoria utilizada en muchas memorias semiconductoras. Las memorias semiconductoras habitualmente se dividen en dos tipos: memorias de lectura y escritura y memorias de sólo lectura (ROM). Los nombres implican las diferencias entre los dos tipos de memoria. Una ROM es una memoria no volátil con su patrón binario de ceros y unos programados permanentemente por el fabricante. La memoria de lectura/escritura es una memoria que se puede ser fácilmente programada, borrada y reprogramada por el usuario. La programación se denomina escribir en memoria. Copiar datos de la memoria, sin destruir el contenido, se denomina leer de memoria. La memoria de lectura/escritura se denomina RAM (Memoria de acceso aleatorio), con frecuencia. Generalmente, el programa de las RAM es volátil lo cual significa que se perderá si se desconecta la alimentación del CI, incluso durante un instante. Los sistemas microcomputadores normalmente contienen los dos tipos de memorias semiconductoras ROM y RAM. Las posiciones de almacenamiento ROM y RAM están habitualmente en CI separados.
Existen actualmente cuatro posibilidades de memorias de sólo lectura. La ROM estandar es programada por el fabricante. La PROM (Memoria de sólo lectura programable) puede ser programada permanentemente por el usuario o distribuidor utilizando un equipo especial. Puede ser programada solamente una vez. La EPROM (Memoria de sólo lectura programable borrable) puede ser programada y borrada por el usuario. Los datos almacenados en la EPROM pueden ser borrados aplicando luz ultravioleta de alta intensidad, a través de una ventana especial transparente, en la parte superior del CI. Otra PROM borrable es la EAROM (Memoria de sólo lectura alterable eléctricamente y no con luz ultravioleta. La ROM, PROM, EPROM y EAROM son consideradas memorias no volátiles permanentes y no pierden sus datos cuando se desconocen la alimentación del CI.
Las Memorias RAM se subdividen en dos grupos. Si la memoria de lectura/escritura contiene circuitos tipo “Flip-Flop” como celdas de memoria, se denomina RAM estática (SRAM). Una forma más simple de la celda de memoria de lectura/escritura es la base de la RAM dinámica donde está basada en una capacitancia, las celdas deben ser refrescadas cientos de veces por segundo. La RAM estática no necesita refrescarse y mantiene su información binaria, indefinidamente, todo el tiempo que es esté alimentando el CI. Las RAM dinámicas tienen mayor capacidad y menos consumo de potencia que las estáticas.
Un dispositivo de memoria semiconductora más moderno es la RAM no volátil (NVRAM). La NVRAM combina RAM estáticas y PROM borrables eléctricamente (EEPROM) de idéntica capacidad. Los datos pueden almacenarse con seguridad en la EEPROM no volátil cuando se desconecte la alimentación. Cuando se conecta la alimentación, los datos de la EEPROM son rellamados automáticamente a la sección SRAM de la RAM no volátil. El concepto de las RAM no volátil también está implementando por los fabricantes de microcomputadoras utilizando pastillas comunes de RAM con una batería de seguridad.
En microcomputadoras, las RAM se utilizan para almacenamiento temporal de programas y datos del usuario. Las ROM son utilizadas más frecuentemente para almacenar instrucciones del lenguaje máquina que pueden considerarse el programa monitor. El programa monitor puede contener rutinas de inicialización no modificables, rutinas de entrada/salida y algoritmos aritmétricos.
Fuente Consultada: Tokheim, Roger, Fundamentos de los Microprocesadores, Editorial Mc. Graw Hill, Edición de 1992, Pág 58.
Memoria ROM
Memoria RAM de 128 MB.
4.5 Función de los Controladores de Memoria.
El controlador de memoria es un componente esencial de toda computadora. Su función básica es la de supervisar la transferencia de datos hacia y desde la memoria. El controlador de memoria determina la clase de verificación de integridad de datos que se utiliza. Con métodos como la paridad y ECC, el controlador de memoria desempeña un papel activo en el proceso.
La decisión sobre la verificación de integridad de datos se debe tomar al comprar la computadora. Si esta desempeñara un papel crítico, por ejemplo, como un servidor de red, conviene comprar un sistema con un controlador de memoria provisto de funciones ECC. La mayoría de las computadoras diseñadas para uso como servidores avanzados dan soporte para ECC; la mayoría de las computadoras de escritorio diseñadas para su uso en empresas y en el gobierno dan soporte para el sistema de paridad; y la mayoría de las computadoras básicas diseñadas para su uso en el hogar o en las empresas pequeñas están diseñadas para la memoria sin paridad.
Paridad
Cuando se usa el método de paridad en una computadora, se almacena un bit de paridad en DRAM con cada 8 bits (1 byte) de datos. Las dos clases de protocolo de paridad (paridad impar y paridad par) funcionan de manera similar.
PARIDAD IMPAR
1. El bit de paridad se fija en uno se activa, si el byte de datos correspondiente contiene un número par de unos. Si el byte contiene un número impar de unos, el bit de paridad se fija en cero se desactiva.
2. El bit de paridad y los 8 bits de datos correspondientes se registran en DRAM.
3. Antes de que se envíen los datos a la CPU, estos son interceptados por el circuito de paridad. Si el circuito de paridad identifica un número impar de unos, los datos se consideran validos. Se elimina el bit de paridad de los datos y los 8 bits de datos se transmiten a la CPU.
Si el circuito de paridad detecta un número par de unos, los datos se consideran inválidos y se genera un error de paridad.
PARIDAD PAR
1. El bit de paridad se fija en uno si el byte de datos correspondiente contiene un número impar de unos.
2. El bit de paridad se fija en cero si el byte contiene un número par de unos.
3. Igual a la paridad impar
4. Igual a la paridad impar
Los datos se consideran validos si el circuito de paridad detecta un número par de unos. Los datos se consideran inválidos si el circuito de paridad detecta un número impar de unos.
El método basado en la paridad tiene ciertas limitaciones. Por ejemplo, un circuito de paridad puede detectar un error, pero no puede realizar ninguna corrección. Esto se debe a que el circuito no puede determinar cual de los 8 bits de datos es incorrecto; además, si hay más de un bit incorrecto, el circuito de paridad no detectara el problema si los datos coinciden con la condición de paridad par o impar, en la cual el circuito de paridad basa la verificación. Por ejemplo, si un 0 correcto se convierte en un 1 erróneo y un 1 correcto se convierte en un 0 erróneo, los dos bits defectuosos se cancelan entre sí y el circuito de paridad no detecta los errores. Afortunadamente, la posibilidad de que esto suceda es extremadamente remota.
4.6 Acceso Directo a Memoria y su Aplicación en Microprocesadores.
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 planificado 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
• DMA por robo de ciclo: se basa en usar uno o más ciclos de CPU por cada instrucción que se ejecuta (de ahí el nombre). De esta forma se consigue una alta disponibilidad del bus del sistema para la CPU, aunque, en consecuencia, la transferencia de los datos será considerablemente lenta. Este método es el que se usa habitualmente ya que la interferencia con la CPU es muy baja.
• DMA por ráfagas: consiste en enviar el bloque de datos solicitado mediante una ráfaga, ocupando el bus del sistema hasta finalizar la transmisión. Así se consigue la máxima velocidad, sin embargo la CPU no podrá usar el bus durante todo ese tiempo, por lo que permanecería inactiva.
• DMA transparente: se trata de usar el bus del sistema cuando se tiene certeza de que la CPU no lo necesita, como por ejemplo en aquellas fases del proceso de ejecución de las instrucciones donde nunca se usa ya que la CPU realiza tareas internas (v. g. fase de decodificación de la instrucción). De esta manera, como su nombre indica, la DMA permanecerá transparente para la CPU y la transferencia se hará sin obstaculizar la relación CPU-bus del sistema. Como desventaja, la velocidad de transferencia es la más baja posible.
• DMA Scatter-gather: permite la transferencia de datos a varias áreas de memoria en una transacción DMA simple. Es equivalente al encadenamiento de múltiples peticiones DMA simples. De nuevo, el objetivo es liberar a la CPU de las tareas de copia de datos e interrupciones de entrada/salida múltiples.
Fuente Consultada: http://es.wikipedia.org/w/index.php?title=DMA₧redirect=no.
http://es.wikipedia.org/w/index.php?title=Acceso-directo-a-memoria¬action=edit¬sect
Memoria RAM en computadoras
Los pequeños chips que componen a la memoria RAM no se encuentran sueltos, sino soldados a un pequeño circuito impreso denominado módulo, que se puede encontrar en diferentes tipos y tamaños, cada uno ajustado a una necesidad concreta: (SIMM, DIMM, SO-DIMM, RIMM).
Sobre ellos se sueldan los chips de memoria RAM, de diferentes tecnologías y capacidades. Ahora bien, mientras que los ensambladores de módulos se cuentan por centenas, la lista de fabricantes de los propios chips de memoria son un número menor y sólo hay unas pocas empresas como Buffalo, Corsair, Kingston o Samsung, que en cualquier caso no superan la veintena.
La capacidad de una memoria es la cantidad de datos que puede almacenar, generalmente se expresa en bytes, KiB, MiB o GiB.
Para calcular el ancho de banda del bus de memoria se sigue la fórmula: ancho de bus en Bytes * frecuencia efectiva de trabajo en MHz. Por ejemplo, la DDR200 se llama también PC1600 porque:
64 bits / 8 byte * 200 MHz = 1600 MB/s = 1,6 GB/s que es la 'velocidad' de la memoria, o más correctamente su ancho de banda.
Memoria DRAM (Dynamic RAM)
La memoria DRAM ("Dynamic RAM") es una memoria RAM electrónica construida mediante condensadores. Los condensadores son capaces de almacenar un bit de información almacenando una carga eléctrica. Lamentablemente los condensadores sufren de fugas lo que hace que la memoria DRAM necesite refrescarse cada cierto tiempo: el refresco de una memoria RAM consiste en recargar los condensadores que tienen almacenado un uno para evitar que la información se pierda por culpa de las fugas (de ahí lo de "Dynamic"). La memoria DRAM es más lenta que la memoria SRAM, pero por el contrario es mucho más barata de fabricar y por ello es el tipo de memoria RAM más comúnmente utilizada como memoria principal.
También se denomina DRAM a la memoria asíncrona de los primeros IBM-PC, su tiempo de refresco era de 80 ó 70 ns (nanosegundos). Se utilizó en la época de los i386, en forma de módulos SIMM o DIMM.
FPM-RAM (Fast Page Mode RAM)
Memoria asíncrona, más rápida que la anterior (modo de Página Rápida) y con tiempos de acceso de 70 ó 60 ns. Esta memoria se encuentra instalada en muchos sistemas de la primera generación de Pentium. Incorpora un sistema de paginado debido a que considera probable que el próximo dato a acceder este en la misma columna, ganando tiempo en caso afirmativo.
EDO-RAM (Extended Data Output RAM)
Memoria asíncrona esta memoria permite a la CPU acceder mas rapido porque envia bloques enteros de datos; con tiempo de accesos de 40 o 30ns.
BEDO-RAM (Burst Extended Data Output RAM)
Es una evolución de la EDO RAM y competidora de la SDRAM. Lee los datos en ráfagas, lo que significa que una vez que se accede a un dato de una posición determinada de memoria se leen los tres siguientes datos en un solo ciclo de reloj por cada uno de ellos, reduciendo los tiempos de espera del procesador. En la actualidad es soportada por los chipsets VIA 580VP, 590VP y 680VP. Al igual que la EDO RAM, la limitación de la BEDO RAM es que no puede funcionar por encima de los 66 MHz.
SDR SDRAM (Single Data Rate Synchronous Dynamic RAM)
Memoria síncrona (misma velocidad que el sistema), con tiempos de acceso de entre 25 y 10 ns y que se presentan en módulos DIMM de 168 contactos. Fue utilizada en los Pentium 2 y en los Pentium III, así como en los AMD K6, K7 y Duron. Según la frecuencia de trabajo se dividen en:
PC66: la velocidad de bus de memoria es de 66 MHz, temporización de 15 ns y ofrece tasas de transferencia de hasta 533 MB/s.
PC100: la velocidad de bus de memoria es de 100 MHz, temporización de 8 ns y ofrece tasas de transferencia de hasta 800 MB/s.
PC133: la velocidad de bus de memoria es de 133 MHz, temporización de 7,5 ns y ofrece tasas de transferencia de hasta 1066 MB/s.
Está muy extendida la creencia de que se llama SDRAM a secas, y que la denominación SDR SDRAM es para diferenciarla de la memoria DDR, pero no es así, simplemente se extendió muy rápido la denominación incorrecta. El nombre correcto es SDR SDRAM ya que ambas (tanto la SDR como la DDR) son Memorias Síncronas Dinámicas.
DDR SDRAM (Double Data Rate SDRAM)
Memoria síncrona, envía los datos dos veces por cada ciclo de reloj. De este modo trabaja al doble de velocidad del bus del sistema, sin necesidad de aumentar la frecuencia de reloj. Se presenta en módulos DIMM de 184 contactos. Del mismo modo que la SDRAM, en función de la frecuencia del sistema se clasifican en (según JEDEC):
PC 1600 ó DDR200: funciona a 2.5 V, trabaja a 200 MHz, es decir 100 MHz de bus de memoria y ofrece tasas de transferencia de hasta 1,6 GB/s (de ahí el nombre PC1600). Este tipo de memoria la utilizaron los Athlon XP de AMD, y los primeros Pentium 4.
PC 2100 ó DDR266: funciona a 2.5 V, trabaja a 266 MHz, es decir 133 MHz de bus de memoria y ofrece tasas de transferencia de hasta 2,1 GB/s (de ahí el nombre PC2100).
PC 2700 ó DDR333: funciona a 2.5 V, trabaja a 333 MHz, es decir 166 MHz de bus de memoria y ofrece tasas de transferencia de hasta 2,7 GB/s (de ahí el nombre PC2700).
PC 3200 ó DDR400: funciona a 2.5V, trabaja a 400 MHz, es decir, 200 MHz de bus de memoria y ofrece tasas de transferencia de hasta 3,2 GB/s (de ahí el nombre PC3200).
También existen las especificaciones DDR433, DDR466, DDR500, DDR533 y DDR600 pero según muchos ensambladores es poco práctico utilizar DDR a más de 400 MHz, por lo que está siendo sustituida por la revisión DDR2.
PC-4200 ó DDR2-533: trabaja a 533 MHz, es decir, 133 MHz de bus de memoria y ofrece tasas de transferencia de hasta 4,2 GB/s (de ahí el nombre PC4200).
PC-4800 ó DDR2-600: trabaja a 600 MHz, es decir, 150 MHz de bus de memoria y ofrece tasas de transferencia de hasta 4,8 GB/s (de ahí el nombre PC4800).
PC-5300 ó DDR2-667: trabaja a 667 MHz, es decir, 166 MHz de bus de memoria y ofrece tasas de transferencia de hasta 5,3 GB/s (de ahí el nombre PC5300).
PC-6400 ó DDR2-800: trabaja a 800 MHz, es decir, 200 MHz de bus de memoria y ofrece tasas de transferencia de hasta 6,4 GB/s (de ahí el nombre PC6400).
También existen las versiones DDR2-400, DDR2-433, DDR2-466, DDR2-500 ( por la misma razón anterior, JEDEC no considera práctico DDR2 a menos de 533 MHz ), DDR2-1000, DDR2-1066, DDR2-1150 y DDR2-1200.
RDRAM (Rambus DRAM)
Memoria de gama alta basada en un protocolo propietario creado por la empresa Rambus, lo cual obliga a sus compradores a pagar regalías en concepto de uso. Se clasifica en:
Rambus PC600: se caracteriza por utilizar dos canales en vez de uno y ofrece unas tasas de transferencia de 1,06 Gb/s por canal => 2,12 Gb/s a una frecuencia de 266MHz.
Rambus PC700: igual que el anterior, trabaja a una frecuencia de 356 MHz y ofrece unas tasas de transferencia de 1,42 Gb/s por canal => 2,84 Gb/s.
Rambus PC800: del mismo modo, trabaja a 400 MHz y ofrece unas tasas de transferencia de 1,6 Gb/s por canal => 3,2 Gb/s.
Aunque competidora de la DDR, la RDRAM funciona de modo muy distinto: la DDR utiliza los flancos de subida y bajada del reloj para duplicar su frecuencia efectiva (hasta DDR400) con un bus de datos de 64 bits, mientras que la RDRAM eleva la frecuencia de los chips para evitar cuellos de botella (hasta PC800) con un bus de datos de 16 bits.
ESDRAM (Enhanced SDRAM)
Esta memoria incluye una pequeña memoria estática en el interior del chip SDRAM. Con ello, las peticiones de ciertos ser resueltas por esta rápida memoria, aumentando las prestaciones. Se basa en un principio muy similar al de la memoria caché utilizada en los procesadores actuales.
Memoria SRAM (Static RAM)
Representa la abreviatura de "Static RAM". El hecho de ser estática quiere decir que no es necesario refrescar los datos (al contrario que la DRAM), ya que sus celdas mantienen los datos, siempre y cuando estén alimentadas. Otra de sus ventajas es su velocidad, comparable a la de los procesadores actuales. Como contraprestación, debido al elevado número de transistores por bit, las SRAM tienen un elevado precio, por lo que su uso se limita a las memorias caché de procesadores y microcontroladores.
Así, y atendiendo a la utilización de la SRAM como memoria caché de nuestros sistemas informáticos, tenemos tres tipos:
Async SRAM: memoria asíncrona y con tiempos de acceso entre 20 y 12 nanosegundos, utilizada como caché de los antiguos i386, i486 y primeros Pentium,
Sync SRAM: memoria síncrona y con un tiempo de acceso entre 12 y 8,5 nanosegundos. Muy utilizada en sistemas a 66 MHz de bus.
Pipelined SRAM: memoria síncrona con tiempos de acceso entre 8 y 4,5 nanosegundos. Tarda más que la anterior en cargar los datos, pero una vez cargados, accede a ellos con mayor rapidez.
Aspectos constructivos
Estas memorias tienen una capacidad muy reducida (entre 0 y 1024 KiB aproximadamente) en comparación con la memoria SDRAM del sistema, pero permiten aumentar significativamente el rendimiento del sistema global debido a la jerarquía de memoria. Están formadas por cuatro transistores bipolares que forman un biestable (denominado flip-flop); esta célula de almacenaje tiene dos estados estables, los cuales se utilizan para denotar 0 ó 1. Dos compuertas adicionales sirven para controlar el acceso a la célula de almacenaje durante las operaciones de lectura o escritura.
Una célula de SRAM tiene tres estados distintos en los que puede estar:
1. Reposo (standby): cuando no se realizan tareas de acceso al circuito,
2. Lectura (reading): cuando la información ha sido solicitada.
3. Escritura (writing): cuando se actualizan los contenidos.
Memoria Tag RAM
Este tipo de memoria almacena las direcciones de memoria de cada uno de los datos de la DRAM almacenados en la memoria caché del sistema. Así, si el procesador requiere un dato y encuentra su dirección en la Tag RAM, va a buscarlo inmediatamente a la caché, lo que agiliza el proceso.
Memoria VRAM
Este tipo de memoria fue utilizada en las tarjetas gráficas para poder manejar toda la información visual que le manda la CPU del sistema, y podría ser incluida dentro de la categoría de Peripheral RAM. La principal característica de esta clase de memoria es que es accesible de forma simultánea por dos dispositivos. De esta manera, es posible que la CPU grabe información en ella, mientras se leen los datos que serán visualizados en el monitor en cada momento. Por esta razón también se clasifica como Dual-Ported. No obstante, fue sustituida inicialmente por la SDRAM (más rápida y barata) y posteriormente por la DDR, DDR2, DDR3 y DDR4 (también denominada GDDR4: Graphics DDR4), más rápidas y eficientes. Se están fabricando para 2009 DDR5 con características similares a la DDR.
Memoria FRAM
La memoria FRAM (RAM Ferroeléctrica) es una memoria de estado sólido, similar a la memoria RAM, pero que contiene un funcionamiento más parecido a las antiguas memorias de ferrite. Esta memoria, en lugar de preservar la carga de un microscópico condensador, contiene dentro moléculas que preservan la información por medio de un efecto ferroeléctrico.
Características:
Tiempo de acceso corto: debido a su funcionamiento, tienen velocidades (del orden de la centena de nanosegundos) que las habilitan para trabajar como memoria principal con la mayoría de los microcontroladores.
Lectura destructiva: como todas las memorias ferroeléctricas, la lectura es destructiva. Esto no representa un problema ya que el chip se encarga de reescribir los datos luego de una lectura.
No volátiles: su funcionamiento hace prescindibles los refrescos y la alimentación para la retención de datos.
Encapsulados: se consiguen hoy en día tanto en variedades para trabajo en paralelo (para conectar a un bus de datos) como en serie (como memoria de apoyo).
Tipos de módulos
Módulo de memoria SIMM de 30 pines: SIMM es un acrónimo del idioma ingles que expresa Single in Line Memory Module o modulo de memoria de una sola línea, es decir, un modulo de memoria SIMM es un conjunto de chips, generalmente DIPs integrados a una tarjeta electrónica. Este modulo normalmente trabaja con una capacidad para el almacenamiento y lectura de datos de 8 bits.
Módulo de memoria SIMM de 72 pines con tecnología EDO RAM: Este módulo de memoria es superior en tamaño al SIMM de 30 pines. Normalmente trabaja con una capacidad para el almacenamiento y lectura de datos de 32 bits.
Módulo de memoria DIMM de 168 pines con tecnología SDR SDRAM: DIMM es un acrónimo inglés que expresa Dual in Line Memory Module o módulo de memoria de doble línea. Este módulo generalmente trabaja con una capacidad para el almacenamiento y lectura de datos de 64 bits.
Módulo de memoria DIMM de 184 pines con tecnología DDR SDRAM: Este tipo de módulo de memoria trabaja con chips de memoria DDR SDRAM, con un bus de datos de 64 bits y posee 184 pines (lo que evita confundirlo con el de 168 pines y conectarlo en placas que no lo soporten).
Módulo de memoria RIMM de 184 pines con tecnología RDRAM: Este tipo de módulo de memoria trabaja con chips de memoria RDRAM, por lo que deben instalarse siempre de dos en dos y en módulos específicos. Suelen tener una protección metálica que favorece la disipación térmica.
Variedad de módulos
Si se cuenta con un procesador Pentium con un bus de datos de 64 bits, ne necesita un sistema de memoria capaz de llenar este ancho de bus. Por ello, si cada módulo SIMM de 72 contactos proporciona 32 bits de una sola vez, precisaremos dos de estos módulos. Los DIMM proporcionan los 64 bits de golpe, por lo que pueden instalarse individualmente (y ser de marcas y capacidades diferentes).
Algo extrapolable a los procesadores de 32 bits, que necesitaban cuatro módulos SIMM de 30 contactos, con 8 bits cada uno.
Tipos de módulos DIP, DIP switch, SIMM 30 contactos, SIMM 72 contactos, DIMM 168 contactos, DIMM 184 contactos
Corrección y detección de errores
Se usan técnicas de detección de errores para detectar si los datos leídos de la memoria han sido alterados por algún error. La técnica del bit de paridad consiste en guardar un bit adicional por cada byte de datos, y en la lectura se comprueba si el número de unos es par (paridad par) o impar (paridad impar), detectándose así el error. Una técnica mejor es la que usa ECC, que permite detectar errores de 2,3 y 4 bits y corregir errores que afecten a un sólo bit, esta técnica se usa sólo en sistemas que requieren alta fiabilidad.
Fuente Consultada:
http://es.wikipedia.org./w/index.php?title=memoria_de_acceso_aleatorio÷action=edit¬section=12.
Utilización de las ROM en Computadoras.
Las computadoras domésticas a comienzos de los 80 venían con todo su sistema operativo en ROM. No había otra alternativa razonable ya que las unidades de disco eran generalmente opcionales. La actualización a una nueva versión significa usar un soldador o un grupo de interruptores DIP y reemplazar el viejo chip de ROM por uno nuevo. En el año 2000 los sistemas operativos en general ya no van en ROM. Todavía las computadoras pueden dejar algunos de sus programas en memoria ROM, pero incluso en este caso, es más frecuente que vaya en memoria flash. Los teléfonos móviles y los asistentes personales digitales (PDA) suelen tener programas en memoria ROM (o por lo menos en memoria flash).
Fuente: http://es.wikipedia.org/w/index.php?title=memoria_ROM¬redirect=no
Por extensión la palabra ROM puede referirse también a un archivo de datos que contenga una imagen del programa que se distribuye normalmente en memoria ROM, como una copia de un cartucho de videojuego.
Una razón de que todavía se utilice la memoria ROM para almacenar datos es la velocidad ya que los discos son más lentos. Aún más importante, no se puede leer un programa que es necesario para ejecutar un disco desde el propio disco. Por lo tanto, la BIOS, o el sistema de arranque oportuno de la computadora normalmente se encuentran en una memoria ROM.
La memoria RAM normalmente es más rápida para lectura que la mayoría de las memorias ROM, por lo tanto el contenido ROM se suele traspasar normalmente a la memoria RAM. Gráfica de la Celda de ROM:
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario