domingo, 7 de junio de 2015

Podcast Unidad 3

Podcast Unidad 3

Podcast Unidad 2

Podcast Unidad 2

CHIPSET

RAM


Introducción


La memoria de acceso aleatorio (Random-Access Memory, RAM) se utiliza como memoria de trabajo de computadoras para el sistema operativo, los programas y la mayor parte del software.


En la RAM se cargan todas las instrucciones que ejecutan la unidad central de procesamiento (procesador) y otras unidades de cómputo.


Se denominan «de acceso aleatorio» porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder (acceso secuencial) a la información de la manera más rápida posible.


Durante el encendido de la computadora, la rutina POST verifica que los módulos de RAM estén conectados de manera correcta. En el caso que no existan o no se detecten los módulos, la mayoría de tarjetas madres emiten una serie de sonidos que indican la ausencia de memoria principal. Terminado ese proceso, la memoria BIOS puede realizar un test básico sobre la memoria RAM indicando fallos mayores en la misma.






Módulos


Los módulos de RAM son tarjetas o placas de circuito impreso que tienen soldados chips de memoria DRAM, por una o ambas caras.


La implementación DRAM se basa en una topología de circuito eléctrico que permite alcanzar densidades altas de memoria por cantidad de transistores, logrando integrados de cientos o miles de megabits. Además de DRAM, los módulos poseen un integrado que permiten la identificación de los mismos ante la computadora por medio del protocolo de comunicación Serial Presence Detect (SPD).


La conexión con los demás componentes se realiza por medio de un área de pines en uno de los filos del circuito impreso, que permiten que el módulo al ser instalado en un zócalo o ranura apropiada de la placa base, tenga buen contacto eléctrico con los controladores de memoria y las fuentes de alimentación.














La necesidad de hacer intercambiable los módulos, y de utilizar integrados de distintos fabricantes, condujo al establecimiento de estándares de la industria como los Joint Electron Device Engineering Council (JEDEC).


1. Paquete DIP (Dual In-line Package, paquete de pines en-línea doble).


2. Paquete SIPP (Single In-line Pin Package, paquete de pines en-línea simple): fueron los primeros módulos comerciales de memoria, de formato propietario, es decir, no había un estándar entre distintas marcas.


3. Módulos RIMM (Rambus In-line Memory Module, módulo de memoria en-línea rambus): Fueron otros módulos propietarios bastante conocidos, ideados por la empresa RAMBUS.


4. Módulos SIMM (Single In-line Memory Module, módulo de memoria en-línea simple): formato usado en computadoras antiguas. Tenían un bus de datos de 16 o 32 bits.


5. Módulos DIMM (Dual In-line Memory Module, módulo de memoria en-línea dual): usado en computadoras de escritorio. Se caracterizan por tener un bus de datos de 64 bits.


6. Módulos SO-DIMM (Small Outline DIMM): usado en computadoras portátiles. Formato miniaturizado de DIMM.


7. Módulos FB-DIMM (Fully-Buffered Dual Inline Memory Module): usado en servidores.






Historia


Uno de los primeros tipos de memoria RAM fue la memoria de núcleo magnético, desarrollada entre 1949 y 1952 y usada en muchos computadores hasta el desarrollo de circuitos integrados a finales de los años 60 y principios de los 70. Esa memoria requería que cada bit estuviera almacenado en un toroide de material ferromagnético de algunos milímetros de diámetro, lo que resultaba en dispositivos con una capacidad de memoria muy pequeña. Antes que eso, las computadoras usaban relés y líneas de varios tipos construidas para implementar las funciones de memoria principal con o sin acceso aleatorio.





En 1969 fueron lanzadas una de las primeras memorias RAM basadas en semiconductores de silicio por parte de Intel con el integrado 3101 de 64 bits de memoria y para el siguiente año se presentó una memoria DRAM de 1024 bytes, referencia 1103 que se constituyó en un hito, ya que fue la primera en ser comercializada con éxito, lo que significó el principio del fin para las memorias de núcleo magnético.

ALU


Introducción


La unidad aritmética lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.


Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el sonido de la alarma, etc.


Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro de los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los mainframes) puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.


La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro, conjunto de registros que hacen posible la realización de cada una de las operaciones.


La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los registros. Estos datos son procesados y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria.2


Una unidad de control controla a la ALU, al ajustar los circuitos que le señala a la ALU qué operaciones realizar.


En la imagen se detalla una ALU de 2 bits con dos entradas (operandos) llamadas A y B: A [0] y B [0] corresponden al bit menos significativo y A [1] y B [1] corresponden al bit más significativo.


Cada bit de la ALU se procesa de manera idéntica, con la excepción del direccionamiento del bit del acarreo. El manejo de este bit es explicado más adelante.


Las entradas A y B van hacia las cuatro puertas de la izquierda, de arriba a abajo, XOR, AND, OR. Las tres primeras puertas realizan las operaciones XOR, AND, y OR sobre los datos A y B. La última puerta XOR es la puerta inicial de un sumador completo.


El paso final de las operaciones sobre cada bit es la multiplexación de los datos. La entrada OP de 3 bits, OP [0], OP [1] y OP [2] (desde la unidad de control) determina cuál de las funciones se van a realizar:


· OP = 000 → XOR


· OP = 001 → AND


· OP = 010 → OR


· OP = 011 → Adición


Claramente se ve que las otras cuatro entradas del multiplexor están libres para otras operaciones (sustracción, multiplicación, división, NOT A, NOT B, etc.). Aunque OP [2] actualmente no es usada en este montaje (a pesar de estar incluida y conectada), ésta sería usada en el momento de realizar otras operaciones además de las 4 operaciones listadas arriba.


Los datos de acarreo de entrada y acarreo de salida, llamados flags (banderas), son típicamente conectados a algún tipo de registro de estado.











HISTORIA


El matemático John von Neumann propuso el concepto de la ALU en 1945, cuando escribió un informe sobre las fundaciones para un nuevo computador llamado EDVAC(Electronic Discrete Variable Automatic Computer) (Computador Automático Variable Discreto Electrónico). Más adelante, en 1946, trabajó con sus colegas diseñando un computador para el Princeton Institute of Advanced Studies (IAS) (Instituto de Princeton de Estudios Avanzados). El IAS computer se convirtió en el prototipo para muchos computadores posteriores. En esta propuesta, von Neumann esbozó lo que él creyó sería necesario en su máquina, incluyendo una ALU.





Von Neumann explicó que una ALU es un requisito fundamental para una computadora porque necesita efectuar operaciones matemáticas básicas: adición, sustracción, multiplicación, y división.1 Por lo tanto, creyó que era "razonable que una computadora debería contener los órganos especializados para estas operaciones".

sábado, 21 de febrero de 2015

Podcast Unidad 1

Resumen de la unidad 1 de Arquitectura de Computadoras

Interrupciones

Existen tres tipos principales de interrupciones que producen una detención en la ejecución normal de un programa. Se clasifican de la manera siguiente:

  • Interrupciones requeridas por hardware
  • Interrupciones requerida por software para interactuar con periférico

INTERRUPCIONES REQUERIDA POR HARDWARE


Es iniciada por un periférico que demanda atención ya que ha ocurrido un evento relativo a este periférico que demanda algún procedimiento de parte de la CPU. En un PC las primeras 16 interrupciones son de este tipo por lo que los primeros 64 bytes de la memoria RAM son direcciones que apuntan bloques de instrucciones residentes en otras áreas de la memoria RAM.



INTERRUPCIONES REQUERIDA POR SOFTWARE PARA INTERACTUAR CON PERIFÉRICO

Una característica importante de la operación de interrupciones es que ellas están jerarquizadas para resolver conflictos entre las múltiples interrupciones. Este mecanismo está basado en la priorización de interrupciones de modo que una interrupción de mayor prioridad puede interrumpir una de menor prioridad pero no al revés. De este modo el sistema de interrupciones funciona ordenadamente lo que permite por ende un funcionamiento robusto del computador.






INTERRUPCIÓN EXTERNA

Las interrupciones externas provienen de dispositivos de entrada y salida (E/S), de un dispositivo de temporización, de un circuito que monitorea la fuente de almacenamiento o de cualquier otra fuente externa.
Estas interrupciones se pueden disparar desde el exterior del micro cambiando el nivel de tensión de uno de sus pines, todas tienen asociadas una o varias patillas del micro controlador y son las que usaremos para los botones.
Algunos ejemplos de lo que produce interrupciones externas son dispositivos de E/S que solicitan transferencia de datos, dispositivos de E/S que terminan transferencia de datos, tiempo transcurrido de un evento o una falla de energía.

INTERRUPCIONES INTERNAS

Son aquellas provocadas dentro del propio procesador por una situación anormal de funcionamiento de alguna de sus partes. Las interrupciones internas surgen debido a la utilización ilegal o errónea de una instrucción o datos. Las interrupciones internas también se llaman trampas. Algunos ejemplos de las interrupciones provocadas por condiciones de error internas son los sobreflujos de registro, intentar dividir entre cero, un código de operación no válido, desbordamiento de pila, y violación de la protección.

INTERRUPCIONES DE PROGRAMA

Son aquellas que son programables y que podemos cambiar. Las interrupciones de software podemos llegar a manejarlas y por ello el ensamblador nos proporciona una instrucción que nos permita poner en funcionamiento una determinada rutina de interrupción; esta instrucción es INT.
La interrupción de programa se inicia al ejecutar una instrucción de solicitud especial que se comporta como una interrupción más que como una solicitud de subrutina. El programador puede utilizarla para iniciar un procedimiento de interrupción de programa se asocia con una instrucción de llamada de supervisor.

TIPOS DE INTERRUPCIONES DE HARDWARE

Interrupción enmascarable: bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la señal de interrupción. La primera señal es simplemente un aviso; la segunda es una petición para que el PIC coloque en el bus de datos un Byte con el número de interrupción, de forma que el procesador pueda localizar el servicio solicitado.
Interrupción no enmascarable:  la interrupción no puede ser deshabilitada por software.

CICLO DE INTERRUPCIÓN

El procesador comprueba si ah ocurrido alguna interrupción. Si no hay interrupciones pendientes, el procesador trae la próxima instrucción del programa en curso. Si hay una interrupción pendiente, el procesador suspende la ejecución del programa en curso y ejecuta la rutina de tratamiento de la interrupción


CPU



ARQUITECTURA DE COMPUTADORAS



CPU:


La unidad central de procesamiento es el hardware dentro de un computador u otros dispositivos programables, que interpreta las instrucciones de un programa ordenador mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema.


Una computadora puede tener más de una cpu esto se llama multiprocesamiento. Todas las CPU modernas son microprocesadores, lo que significa que contienen un solo chip. Algunos circuitos integrados pueden contener varias cpus en un solo chip; estos IC son denominados procesadores multi-core. Un CI que contiene una cpu también puede contener los dispositivos periféricos, y otros componentes de un sistema informático; esto se llama un sistema de chip .



ARQUITECTURAS DE CPU


Los bloques funcionales básicos son: la unidad de procesamiento central (CPU), la memoria principal, y el procesador de Entrada - Salida.


Unidad de proceso central: esta es la responsable de la interpretación y ejecución de instrucciones contenidas en la memoria principal, las comunicaciones entre la CPU y la memoria principal se realizan a través de 2 canales funcional mente distintos: el de direcciones y el de datos.


Para introducir en la memoria, una instrucción especifica, la CPU envía a dicha memoria la dirección de la instrucción por el canal de direcciones y recibe por el mismo medio la instrucción que está en esa dirección.


Parte de la instrucción es utilizada por la CPU para identificar la operación. Esta parte se llama código de operación de la instrucción. La información restante se utiliza para determinar la o las localidades de los datos con los cuales se va a efectuar la operación.


La acción de leer una instrucción en la CPU y prepararla para su ejecución se denomina ciclo de búsqueda. Para completar una instrucción la CPU decodifica el código de operación, genera las señales de control que se necesitan para introducir los operandos requeridos y controla la ejecución de la instrucción.


CARACTERÍSTICAS DEL CPU


Procesador: Comúnmente se la conoce como CPU, que significa unidad central de procesos (Central Processing unit), es el dispositivo más importante y el que más influye en su velocidad al analizar información, ya que en ella se encuentra la unidad de control y la unidad aritmético-lógica, las cuales en constante interacción con la memoria principal (también conocida como memoria interna) permiten manipular y procesar la información, y controlar los demás dispositivos de la unidad computacional.


Memoria RAM o memoria principal: Es un chip en el que el procesador almacena de manera temporal los datos e instrucciones con los que trabaja.



Memoria ROM: Es la que contiene las instrucciones fundamentales para hacer funcionar la computadora, nunca cambia y retiene su información, así la computadora reciba o no corriente.



Memoria Caché: Es una unidad pequeña de memoria ultra rápida en la que se almacena información a la que se ha accedido recientemente o a la que se accede con frecuencia, lo que evita que el microprocesador tenga que recuperar esta información de circuitos de memoria más lentos.


Memoria externa: También se la conoce como memoria auxiliar, ésta es la encargada de brindar seguridad a la información almacenada, por cuanto guarda los datos de manera permanente e independiente de que el computador esté en funcionamiento, 


Puertos: Para la conexión de periféricos. En la parte posterior de su computadora existen enchufes denominados puertos, donde se conectan al computador los periféricos.



Tarjeta Madre: Es una tarjeta plástica sobre la que están montados los principales componentes del PC (el procesador, la memoria RAM, la memoria ROM, la tarjeta de sonido, etcétera.



Disco Duro: Instala y guarda los programas. Almacena de manera permanente la información que se le suministra al computador.




FUNCIONAMIENTO DEL CPU (ALU, UNIDAD DE CONTROL, BUSES INTERIORES)


La unidad aritmético lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digial que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.


Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el sonido de la alarma


La unidad de control es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de procesos y el bus de entrada/salida.


Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad de proceso.


Existen 2 tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas, y las micro-programadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial, el de control de estado, el de lógica y el de emisión de reconocimiento de señales de control. En el segundo caso, la micro-programación de la unidad de control se encuentra almacenada en una micro-memoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando cada una de las micro-instrucciones.


En informática, a un bus se le denomina todo un conjunto de cables que se conectan entre los componentes de un computador con el fin de comunicar datos direcciones y comandos entre ellos. Existen dos tipos de buses, en paralelo y en serie


MEMORIA


En informática, la memoria es el dispositivo que retiene, memoriza o almacena datos informáticos durante algún intervalo de tiempo. La memoria proporciona una de las principales funciones de la computación moderna: el almacenamiento de información y conocimiento. Es uno de los componentes fundamentales de la computadora, que interconectada a la unidad central de procesamiento (CPU, por las siglas en inglés de Central Processing Unit) y los dispositivos de entrada/salida, implementan lo fundamental del modelo de computadora de la arquitectura de von Neumann.



TIPOS DE CPU


Computadoras de un sólo núcleo


La CPU de un sólo núcleo es el tipo más antiguo disponible y en un principio éste fue el único que podía ser utilizado en las computadoras. Éstas sólo podían iniciar una operación a la vez, así que no eran muy buenas a la hora de hacer muchas tareas. Esto significó, en su momento, una disminución notable en el rendimiento de las aplicaciones que se ejecutaban. Aunque sólo una operación podría ser iniciada en un momento, otra podía ser activada antes de que la primera se terminara, pero con cada nueva operación el equipo era más lento. El rendimiento en este tipo de CPU fue en gran parte dependiente de sus velocidades de reloj, que era una medida de su poder.


CPU de dos núcleos


Una CPU de doble núcleo es una sola, pero funciona como dos en una. A diferencia de las de núcleo único en el que el procesador tenía que alternarse entre diferentes conjuntos de flujos de datos, si más de una operación estaba en marcha, las de doble núcleo podían manejar múltiples tareas de manera más eficiente. Para sacar el máximo provecho de éstas, tanto el sistema operativo como los programas que se ejecutaban en él, debían tener un código especial llamado SMT (Tecnología Multihilo Simultáneo). Las CPU de doble núcleo son más rápidas que las de uno sólo, pero no tanto como las de cuatro que las han sustituido



MANEJO DE LA MEMORIA


El manejo de memoria se da de varios tipos que pueden ser:


· Almacenamiento primario


· Almacenamiento secundario


· Almacenamiento terciario


· Almacenamiento de red


· Direcciones de la información




MEMORIA PRINCIPAL


Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria de la computadora donde se almacenan temporalmente tanto los datos como los programas que la unidad central de procesamiento (CPU) está procesando o va a procesar en un determinado momento. Por su función, la MP debe ser inseparable del microprocesador o CPU, con quien se comunica a través del bus de datos y el bus de direcciones. El ancho del bus determina la capacidad que posea el microprocesador para el direccionamiento de direcciones en memoria.


En algunas oportunidades suele llamarse “memoria interna” porque a diferencia de los dispositivos de memoria secundaria, la MP no puede extraerse tan fácilmente.


Esta clase de memoria es volátil, es decir que cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella.


La MP es el núcleo del subsistema de memoria de un sistema informático, y posee una menor capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones de veces superior. Cuanto mayor sea la cantidad de memoria, mayor será la capacidad de almacenamiento de datos.


MANEJO DE LA ENTRADA Y SALIDA


En informática un periférico de Entrada/Salida (E/S), es un dispositivo que permite la comunicación entre un sistema de procesamiento de información, tal como la computadora y el mundo exterior, y posiblemente un humano u otro sistema de procesamiento de información.


Los periféricos de E/S son utilizados por una persona (o sistema) para comunicarse con computadoras.


Por ejemplo, las pantallas táctiles o multitáctiles se consideran periféricos de E/S. En cambio, un teclado, ratón o escáner pueden ser periféricos de E para una computadora, mientras que los monitores, parlantes e impresoras se consideran los dispositivos de S de la computadora.


Dispositivos o periféricos de comunicación entre computadoras, tales como módems y tarjetas de red, por lo general sirven para entrada y salida. También, los dispositivos de almacenamiento de datos, como los discos rígidos, las unidad de estado sólido, las memorias flash, las disqueteras, entre otros, se pueden considerar periféricos de E/S.


MÓDULOS DE ENTRADA Y SALIDA


Módulos De Entrada Discreta


Estas tarjetas electrónicas se usan como enlace o interfaces entre los dispositivos externos, denominados también sensores, y la CPU del PLC.


Estos sensores son los encargados de leer los datos del sistema, que para este caso sólo son del tipo discreto, además, tienen la característica de comunicar los dos estados lógicos: activado o desactivado, o lo que es lo mismo, permitir el paso o no de la señal digital (1 ó 0). Los sensores pueden ser de tipo manual (pulsadores, conmutadores, selectores, etc.) o del tipo automático.


Módulos De Salida Discreta


Al igual que los módulos de entrada discreta, estos módulos se usan como interfase entre la CPU del controlador programable y los dispositivos externos (actuadores), en la que sólo es necesario transmitirle dos estados lógicos, activado o desactivado. Los actuadores que se conectan a estas interfases pueden ser: contactores, relés, lámparas indicadoras, electroválvulas, displays, anunciadores


Módulos De Salida Discreta Tipo Transistor


Su principio de funcionamiento es a base de transistores, lo que significa una constitución íntegramente en estado sólido con características para trabajar en corriente continua (DC) de larga vida útil y con bajo nivel de corriente.


Módulos De Salida Discreta Tipo Relé


Estos módulos a diferencia de los anteriores, están compuestos por dispositivos electrónicos y un micro relé electromagnético de conmutación. Su campo de acción le permite trabajar en AC y DC y con diferentes niveles de tensión, con la ventaja de manejar corrientes más elevadas pero con el inconveniente de una corta vida útil debido al desgaste de la parte móvil de los contactos.


Durante su funcionamiento estos módulos se caracterizan respecto a los de estado sólido, por el reconocible sonido de los contactos de conmutación que emiten los micro- relés.


ENTRADA Y SALIDA PROGRAMADA


Los datos se intercambian entre el CPU y el módulo de E/S. El CPU ejecuta un programa que controla directamente la operación de E/S, incluyendo la comprobación del estado del dispositivo, el envío de la orden de lectura o escritura y la transferencia del dato. Cuando el CPU envía la orden debe esperar hasta que la operación de E/S concluya. Si el CPU es más rápido, éste estará ocioso. El CPU es el responsable de comprobar periódicamente el estado del módulo de E/S hasta que encuentre que la operación ha finalizado.


El dispositivo de E/S no tiene acceso directo a la memoria, una transferencia de un dispositivo de E/S a memoria que la CPU ejecute varias instrucciones, incluyendo una instrucción de entrada.


ENTRADA Y SALIDA MEDIANTE INTERRUPCIONES


El problema con E/S programada es que el CPU tiene que esperar un tiempo considerable a que el módulo de E/S en cuestión esté preparado para recibir o transmitir los datos. El CPU debe estar comprobando continuamente el estado del módulo de E/S. Se degrada el desempeño del sistema.


Una alternativa es que el CPU tras enviar una orden de E/S continué realizando algún trabajo útil. El módulo de E/S interrumpirá al CPU para solicitar su servicio cuando esté preparado para intercambiar datos. El CPU ejecuta la transferencia de datos y después continúa con el procesamiento previo.


Se pueden distinguir dos tipos: E/S síncrona y E/S asíncrona


E/S Síncrona: cuando la operación de E/S finaliza, el control es retornado al proceso que la generó. La espera por E/S se lleva a cabo por medio de una instrucción wait que coloca al CPU en un estado ocioso hasta que ocurre otra interrupción. Aquellas máquinas que no tienen esta instrucción utilizan un loop. Este loop continúa hasta que ocurre una interrupción transfiriendo el control a otra parte del sistema de operación. Sólo se atiende una solicitud de E/S por vez. El sistema de operación conoce exactamente que dispositivo está interrumpiendo. Esta alternativa excluye procesamiento simultáneo de E/S.


E/S Asíncrona: retorna al programa usuario sin esperar que la operación de E/S finalice. Se necesita una llamada al sistema que le permita al usuario esperar por la finalización de E/S (si es requerido). También es necesario llevar un control de las distintas solicitudes de E/S. Para ello el sistema de operación utiliza una tabla que contiene una entrada por cada dispositivo de E/S (Tabla de Estado de Dispositivos).


ACCESO ALA MEMORIA DIRECTA


El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto tipo de componentes de una computadora acceder a la memoria del sistema para leer o escribir independientemente de la unidad central de procesamiento (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 al procesador y, por ende, éste puede 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í 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.

Buses

BUS DE DATOS (data bus): 


Son líneas bidireccionales para el envío de instrucciones o datos, entre el Microprocesador y los demás elementos del sistema. Se lo conoce también como el bus externo de datos y el número de líneas que posee es generalmente igual al número de bits que procesa la ALU.

Tipos de buses:


BUS DE DIRECCIONES (address bus): Son líneas unidireccionales que parten del Microprocesador hacia la memoria y el sistema de E/S. Sirven para enviar la dirección de la localidad o elemento seleccionado para la transferencia de datos con el Microprocesador. El número de líneas o bits que posee este bus, determina la capacidad máxima de acceso a memoria que tiene el Microprocesador.


BUS DE CONTROL (control bus): Son también líneas unidireccionales, unas que terminan y otras que parten del Microprocesador. Sirven para enviar señales que actúan sobre la Unidad de Control o para informar a los demás elementos que conforman la Microcomputadora del estado en que se encuentra la Unidad de Control; permitiendo de esta manera coordinar el funcionamiento de todo el sistema.


Bus de expansión: conjunto de líneas de comunicación encargado de llevar el bus de datos, el bus de dirección y el de control a la tarjeta de interfaz (entrada, salida) que se agrega a la tarjeta principal.


Bus del sistema: todos los componentes de la CPU se vinculan a través del bus de sistema, mediante distintos tipos de datos el microprocesador y la memoria principal, que también involucra a la memoria caché de nivel 2. La velocidad de trasferencia del bus de sistema está determinada por la frecuencia del bus y el ancho del mínimo.


ESTRUCTURA DEL BUS



Las líneas que componen un bus se pueden clasificar en tres grupos funcionales:


  • Las líneas de datos del bus proporcionan el camino para transmitir datos entre los módulos del sistema. El número de líneas del bus de datos determina el número máximo de bits que es posible transmitir al mismo tiempo. 
  • Las líneas de dirección se utilizan para designar (direccionar) la fuente o el destino de los datos situados en el bus de datos. La anchura del bus de direcciones determina la cantidad máxima de memoria (y de dispositivos de E/S) direccionable en el sistema. 
  • Las líneas de control se emplean para gestionar el acceso y el uso de las líneas de datos y dirección, señalizando peticiones y reconocimientos e indicando qué tipo de información pasa por las líneas de datos.


Clasificación según las características eléctricas:


− Unidireccionales con un transmisor y múltiples receptores


− Unidireccionales con múltiples transmisores y un único receptor 


− Bidireccionales 



Algunas líneas de control típicas son: 


− 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) 


− Petición de bus (Bus Request) 


− Cesión de bus (Bus Grant) 


− Petición de interrupción (Interrupt Request) 


− Interrupción reconocida(Interrupt ACK) 


− Reloj (Clock)


− Inicio (Reset)



JERARQUÍA DE BUSES


El computador tiene diferentes tipos de buses. Los computadores modernos tienen por lo menos 4 buses diferentes. Se les considera una jerarquía porque cada bus se conecta al nivel superior a él dentro del computador integrando así todas las partes del computador. Cada uno es generalmente más lento que el que se encuentra sobre él (siendo el bus del procesador el más rápido tratándose de que este es el dispositivo más rápido del computador) 


  • Bus Interno: Es el nivel más alto en la jerarquía. Es el bus que comunica las partes internas del procesador. 
  •  Bus del Procesador: Es usado para enviar información desde y hacia el procesador. 
  • Bus del Caché: Es un bus dedicado que se tiene en algunas arquitecturas para acceder el caché. En otras arquitecturas el caché se conecta directamente al bus de memoria. 
  • Bus de Memoria: Este bus conecta la memoria al procesador. En algunos sistemas los buses de memoria y del procesador son básicamente los mismos. 
  • Bus Local de E/S: Este es un bus de alta velocidad de entrada/salida y es usado para conectar periféricos cuyo desempeño es crítico (tarjetas de video, discos, redes de alta velocidad) con la memoria y el procesador. Los más conocidos son los buses VESA y PCI. 
  • El Bus estándar de E/S: Este es un bus usado para conectar dispositivos de E/S de baja velocidad (ratón, módems, tarjetas de sonido). Para dispositivos de video existe también el bus AGP (Accelerated Graphics Port). Este no es propiamente un bus en el sentido que no puede ser compartido por varios dispositivos, sino que sólo permite conectar a él dos dispositivos (por esto su nombre de puerto).

Modelos de Arquitectura