MXPA01008933A - Metodo y aparato para la transferencia de bloques de datos. - Google Patents

Metodo y aparato para la transferencia de bloques de datos.

Info

Publication number
MXPA01008933A
MXPA01008933A MXPA01008933A MXPA01008933A MXPA01008933A MX PA01008933 A MXPA01008933 A MX PA01008933A MX PA01008933 A MXPA01008933 A MX PA01008933A MX PA01008933 A MXPA01008933 A MX PA01008933A MX PA01008933 A MXPA01008933 A MX PA01008933A
Authority
MX
Mexico
Prior art keywords
data
address
channel
input
receiving device
Prior art date
Application number
MXPA01008933A
Other languages
English (en)
Inventor
Robert J Duggan
Original Assignee
Deka Products Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deka Products Lp filed Critical Deka Products Lp
Publication of MXPA01008933A publication Critical patent/MXPA01008933A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

Se describen sistemas y metodos para efectuar transferencias de bloques de datos. Las transferencias de bloques pueden efectuarse de modo que cada porcion del bloque sea transferida a una sola direccion de un dispositivo de entrada/salida. Ademas, los sistemas y metodos descritos pueden efectuar transferencias de bloques a dos o mas dispositivos de entrada/salida sustancialmente al mismo tiempo. Los sistemas y metodos pueden efectuar tales transferencias de bloques sin circuitos de codificadores desviando las lineas de direccion de un dispositivo de entrada/salida de las lineas de un canal de direccion, de modo que varias direcciones colocadas en el canal de direccion correspondan unicamente a una sola direccion del dispositivo.

Description

MÉTODO Y APARATO PARA LA TRANSFERENCIA DE BLOQUES DE DATOS Antecedentes 1. Campo de la Invención La presente invención se relaciona de manera general con el campo de transferencias de datos entre dispositivos. De manera más particular, la presente invención se relaciona con un sistema que permite la transferencia de bloques de datos a un dispositivo de entrada/salida. 2. Técnica Relacionada Cuando se transfieren datos, un sistema basado en computadora típico utiliza canales de dirección y datos para permitir la comunicación entre un microprocesador y otros dispositivos asociados. El canal de dirección es utilizado para dirigirse a un lugar particular en un dispositivo asociado (ya sea dentro o fuera de la computadora en si) donde van a ser transferidos datos específicos. Esto se logra colocando la dirección predefinida para el dispositivo externo al cual el microprocesador desea transferir datos sobre el canal de dirección. Una vez que la dirección para la ubicación deseada de los datos ha sido colocada en el canal, cada dispositivo externo determina si el microprocesador desea que sean transferidos datos a este. Esto se hace por medio de muchos métodos conocidos en la técnica anterior y generalmente se logra haciendo que cada dispositivo compare la dirección sobre el canal de dirección con su propia dirección (o direcciones) preasignada. Si la dirección es igual, el dispositivo externo toma los datos presentados sobre el canal de datos y almacena estos en su propia memoria. De manera alternativa, tales transferencias pueden hacerse teniendo el microprocesador alerta al dispositivo, vía una línea de control, de que está llevando a cabo la transferencia de datos al dispositivo. Después de alertar al dispositivo, el microprocesador coloca una dirección dentro del dispositivo (tal como, una dirección de un registro) sobre el canal de dirección. Los datos son transmitidos típicamente como una palabra de datos, el tamaño de la cual varía dependiendo del ancho del canal de datos. Para transferir una cantidad significativa de datos al dispositivo externo, el microprocesador puede colocar repetidamente la dirección del dispositivo externo sobre el canal de dirección. El dispositivo externo continúa tomando cada palabra de datos sucesiva presentada sobre el canal de datos y almacena ésta en su memoria. El microprocesador puede mantener un indicador que corresponda a una ubicación de la memoria que contenga los datos que se desee transferir al dispositivo externo. Puesto que cada palabra de datos es transferida al dispositivo externo, el indicador es actualizado para corresponder a la siguiente ubicación de datos que el microprocesador desee transferir al dispositivo externo. Sin embargo, para asegurar que cada palabra de datos sucesiva sea transferida al mismo dispositivo externo (asumiendo que el microprocesador desea la siguiente palabra de datos transferida a ese dispositivo) la dirección sobre el canal de datos es mantenida constante mientras que el indicador para la siguiente palabra de datos en el microprocesador es actualizada. Algunos microprocesadores modernos también contienen la capacidad de canalizar este proceso permitiendo la transferencia de bloques grandes de datos de un lugar de la memoria a otro lugar de la memoria efectuando "transferencia de bloques". Como es bien sabido en la técnica, la transferencia de bloques puede ser efectuada por transferencias de Dirección de Memoria Directa (DMA) utilizando un microprocesador separado, adicional, u otras estructuras de componentes físicos de computación y/o programas y sistemas de programación (un "controlador de DMA") . Las transferencias de DMA pueden ser mucho más rápidas que la transferencia de datos palabra por palabra. El incremento en la velocidad proviene de la inclusión de la estructura separada para manejar de manera creciente el indicador correspondiente al lugar de la memoria que contiene la palabra de datos que va a ser transferida a continuación y la dirección correspondiente donde serán recibidos los datos. Las transferencias de DMA pueden ser conducidas como sigue. El primer lugar de la memoria que va a ser transferido del bloque y el tamaño del bloque es determinado y proporcionado al controlador de DMA. El destino también es determinado. El controlador de DMA mantiene el indicador de destino que corresponde a la dirección a la cual los datos en el lugar de la memoria van a ser transferidos. Cada lugar de la memoria en el bloque de memoria a ser transferido es entonces colocado exitosamente en el canal de datos. Después de cada transferencia, tanto el indicador de memoria como el indicador de destino del controlador de DMA se incrementan. Como es bien sabido en la técnica, el método de "incrementar" un indicador puede variar e incluir un incremento gradual a través de una lista ligada o, de manera más simple, sumar solo un valor fijo al valor actual almacenado en el indicador. La transferencia de DMA permite la transferencia rápida de datos entre lugares de la memoria cuando tanto el lugar donde los datos están almacenados actualmente, como el lugar al que necesitan ser transferidos, tienen direcciones discretas que varían de la misma manera en la que se incrementan los indicadores. Cuando se transfiere un bloque de datos de un lugar de la memoria a otro lugar de la memoria, ambos de los cuales están dentro de la misma unidad de memoria o el mismo tipo de memoria, este tipo de trabajo de direccionamiento es muy efectivo. Sin embargo, existen situaciones en las cuales los datos no son transferidos a direcciones secuenciales o crecientes, sino que, son transferidos a la misma dirección. Esto ocurre, por ejemplo, cuando los datos van a ser transferidos a ciertos dispositivos de entrada/salida. A cada dispositivo de entrada/salida se le puede asignar una dirección o grupo de direcciones único. Cuando se asigna un grupo de direcciones a un dispositivo de entrada/salida particular esto típicamente significa que el dispositivo particular es capaz de recibir y transmitir información a y del microprocesador. Uno de tal tipo de dispositivo de entrada/salida es un Transmisor Asincrónico Universal (UART) . Un UART típicamente contiene una pluralidad de registros que contienen datos de estado y entrada/salida, . Cada registro tiene una dirección única cuyo mapa está trazado en el espacio de memoria del microprocesador. Los registros de entrada y salida, pueden tener una dirección única, tener la capacidad de recibir o transmitir varias palabras de datos en sucesión rápida a través del uso de una memoria intermedia interna para esos registros. La memoria intermedia interna puede ser, por ejemplo, una Primera pila de Primero en Entrar Primero en salir (FIFO) . Como es bien sabido, tal pila puede ser capaz de recibir y almacenar varias palabras de datos en sucesión rápida. En los sistemas que no emplean transferencias de bloques las direcciones únicas para los registros de entrada y salida no crean ninguna dificultad real. Como se describió anteriormente, el microprocesador únicamente necesita mantener la dirección del lugar deseado en UART (por ejemplo, el registro de entrada) sobre el canal de datos mientras se colocan secuencialmente datos sobre el canal de datos. Esto es logrado por el microprocesador manteniendo una transferencia ente dos lugares (es decir, la memoria y el UART) . Si en lugar de destino corresponde el registro de entrada del UART, el microprocesador activa una línea de control que instruye al UART a leer datos en su registro de entrada. La dirección del registro específico en el dispositivo de entrada/salida para almacenar los datos es pasada al UART a través del canal de dirección. Sin embargo, en sistemas gue emplean una transferencia de bloques, la dirección del destino se incrementa. Esto a su vez, hace que los datos secuenciales del bloque de datos terminen en diferentes lugares.
Breve Descripción de la Invención En una modalidad, la presente invención está dirigida a un aparato para efectuar transferencias de datos.
El aparato incluye un canal de dirección que tiene una pluralidad de líneas de dirección, un canal de datos que tiene una pluralidad de líneas de datos, y al menos un dispositivo de entrada/salida conectado al canal de dirección y el canal de datos, el dispositivo de entrada/salida conectado al canal de datos de modo que cada una de la pluralidad de direcciones corresponda siempre al dispositivo de entrada/salida. En otra modalidad, la presente invención está dirigida a un sistema para efectuar transferencias de bloques de datos. El sistema incluye un primer dispositivo de entrada/salida conectado a un canal de dirección y un canal de datos, donde la cor.exión al canal de dirección está desviada una cantidad fija. En otra modalidad, la presente invención está dirigida a un método para transferir electrónicamente una serie de elementos de datos, incluyendo un primer elemento de datos y un segundo elemento de datos, siendo los datos proporcionados sobre un canal que incluye una porción de datos y una porción de dirección, siendo la serie de elementos de datos enviada a un primer dispositivo receptor de datos, incluyendo el primer dispositivo receptor de datos una pluralidad de líneas de dirección y un elemento de almacenamiento al que se puede tener acceso cuando es colocada una dirección del elemento receptor en las líneas de dirección. El método incluye los pasos de (a) transferir el primer elemento de datos al elemento de almacenamiento del primer dispositivo receptor de datos utilizando una primera dirección colocada sobre la porción de dirección del canal, y (b) transferir el segundo elemento de datos al elemento de almacenamiento del primer dispositivo receptor utilizando una segunda dirección colocada sobre la porción de dirección del canal. En este método, los pasos (a)_ y (b) son efectuados sin decodificar electrónicamente la primera dirección y la segunda dirección en la dirección del elemento receptor. En otra modalidad, la presente invención está dirigida a un método para transferir electrónicamente, sobre un canal, que tiene una porción de dirección y una porción de datos, un primer bloque de elementos de datos a un elemento de almacenamiento de un primer dispositivo y un segundo bloque de elementos de datos a un elemento de almacenamiento del segundo dispositivo. El método incluye los pasos de (a) colocar y mantener una primera dirección sobre la porción de la dirección del canal, (b) durante el paso (a) , transferir un primer elemento de datos del primer bloque al elemento de almacenamiento del primer dispositivo, y (c) simultáneamente con el paso (b) , transferir un primer elemento de datos del segundo bloque al elemento de almacenamiento del segundo dispositivo.
En otra modalidad, la presente invención está dirigida a un sistema para la transferencia simultánea de datos. El sistema incluye un canal que tiene una porción de dirección y una porción de datos y un primer dispositivo receptor de datos. El primer dispositivo receptor de datos incluye una pluralidad de entradas de datos para recibir datos de la porción de datos del canal, un elemento de almacenamiento para almacenar los elementos recibidos de la porción de datos del canal, una pluralidad de entradas de dirección para recibir y dirigir desde la porción de dirección del canal, y medios para determinar si la dirección recibida por cualquiera de las entradas de dirección corresponde a una dirección asignada al primer dispositivo receptor de datos. El sistema también incluye un segundo dispositivo receptor de datos. El segundo dispositivo receptor de datos incluye una pluralidad de entradas de datos para recibir datos de la porción de datos del canal, un elemento de almacenamiento para almacenar los datos recibidos de la porción de datos del canal, una pluralidad de entradas de dirección para recibir una dirección de la porción de dirección del canal, y medios para determinar si la dirección recibida por cualquiera de las entradas de dirección corresponde a una dirección asignada al segundo dispositivo receptor de datos. El sistema está arreglado, de modo que el primer dispositivo receptor de datos está conectado a la porción de dirección del canal, de modo que la conexión contiene una desviación de una primera cantidad de desviación fija.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Los anteriores y otros objetos y ventajas serán comprendidos de manera más clara a partir de la siguiente descripción detallada y de las Figuras acompañantes. La siguiente descripción y las figuras, relacionadas con ésta se dan manera de ejemplo únicamente y de ninguna manera para restringir el alcance de la presente invención. En las Figuras : La Figura 1 es un diagrama de bloques de las conexiones típicas de la técnica anterior entre un microprocesador y un dispositivo de entrada/salida externo. La Figura 2 muestra una conexión de la técnica anterior de un dispositivo de entrada/salida a un canal de dirección. La Figura 3 es una modalidad ejemplar de un aspecto de la presente invención. La Figura 4 muestra una modalidad ejemplar de cómo una pluralidad de dispositivos de entrada/salida pueden ser conectados a un canal de dirección de acuerdo a la presente invención . La Figura 5 muestra una modalidad de cómo una pluralidad de dispositivos de entrada/salida pueden ser conectados a un canal de datos de acuerdo a la presente invención. La Figura 6 muestra una modalidad alternativa de cómo una pluralidad de dispositivos de entrada/salida pueden ser conectados a un canal de datos de acuerdo a la presente invención. La Figura 7 es un diagrama de flujo que muestra un método ejemplar mediante el cual pueden ser transferidos bloques de datos de acuerdo a una modalidad de la presente invención.
Descripción Detallada de la Invención La Figura 1 muestra una configuración de la técnica anterior, convencional, mediante la cual un microprocesador 100 está conectado a un dispositivo de entrada/salida (1/0) externo 102. Como se muestra, el microprocesador 100 y el dispositivo de I/O están ambos conectados a un canal de dirección común 104 y un canal de datos común 106. El microprocesador 100 y el dispositivo 102 también tienen opcionalmente una línea de control 108 (mostrada punteada) conectada entre ellos. El microprocesador 100 puede ser el único microprocesador de una computadora o puede ser un microprocesador que se aparte de un controlador de DMA que sea solo y específicamente utilizado para conducir transferencias de DMA entre la memoria del sistema (no mostrada) . La memoria puede estar dentro o fuera del microprocesador 100. Sin embargo, para propósitos de explicación, solo es necesario comprender que el microprocesador 100 puede tener acceso a y colocar datos en el canal de datos 106. Como se describió anteriormente, el microprocesador coloca una dirección en el canal de dirección 104 correspondiente a donde los datos actualmente en el canal de datos 106 van a ser transferidos. De esta manera, el microprocesador 100 puede controlar todo el movimiento de datos a y del dispositivo de I/O 102. Refiriéndose ahora a la Figura 2, se muestra una descripción más detallada de la configuración de conexión de la técnica anterior entre un microprocesador 100 y un dispositivo de I/O 102. La Figura 2 será utilizada para explicar de manera más clara las desventajas y problemas de tal configuración relacionados con la transferencia de bloques de datos. Como se muestra, la Figura 2 es sustancialmente la misma que la Figura 1. Sin embargo, el canal de dirección 104 y el canal de datos 106 han sido mostrados con mayor detalle. En particular, un canal de dirección 104, consiste de varias líneas de dirección individuales A0...A3?. El canal de datos 106, de manera similar, consiste de una pluralidad de líneas de datos D0...D15, cada línea de datos representa un bit de datos. Deberá notarse que está disponible el número de líneas de dirección y datos. En esta modalidad, el canal de datos 104 ha sido mostrado como si fuese de 32 bits de ancho y el canal de datos 100 fuese de 16 bits de ancho. En sistemas típicos, el ancho de canal de dirección 104 y el canal de datos 106 corresponde al tamaño del espacio de dirección y el tamaño de una palabra de datos, respectivamente, utilizado por el microprocesador 100. De este modo, el microprocesador 100 mostrado en la Figura 2 tiene un espacio de dirección de 32 bits y una palabra de datos de 16 bits. Las conexiones de ambos del canal de dirección 104 y el canal de datos 106 al dispositivo de I/O 102 han sido también alteradas de aquellas mostradas en la Figura 1. Como se muestra en la Figura 2, existe una pluralidad de conexiones directas del dispositivo de I/O 102 tanto al canal de dirección 104 como al canal de datos 106. El -número de conexiones depende del tamaño de la palabra de datos que el dispositivo de I/O puede manejar, así como del ancho de la dirección física del dispositivo. Como se muestra, el dispositivo 102 puede ser dirigido por tres bits y tener una palabra de datos de 8 bits. Las conexiones de datos del dispositivo de I/O 102 están conectadas a los 8 bits inferiores (Do a D7) del canal de datos 106 y las conexiones de dirección están conectadas a los tres bits menores ( o a A2) del canal de dirección 104. En esta modalidad, el dispositivo de I/O 102 tiene al menos dos registros, el registro de entrada 202 y el registro de salida 204. Cada registro típicamente tiene su propia dirección discreta. Asúmase en la siguiente explicación que el registro de entrada 202 tiene una dirección de 0 y el registro de salida 204 tiene una dirección de 1. De este modo, el otro procesador 100 puede tener trazado en él, el número hexadecimal FF000H que corresponde al registro de entrada 202 y la dirección FF01H para el registro de salida 204. Como se describió anteriormente, muchos dispositivos de I/O 102, el registro de entrada 202 y el registro de salida 204 pueden tener una pila o una memoria intermedia asociada con ellos. Si el microprocesador 100 es instruido para transferir los datos contenidos en una dirección de memoria arbitraria (por ejemplo, 1110H) a la dirección de la memoria FFOOH (es decir, el registro de entrada 202 del dispositivo de 1/0) ocurrirán los siguientes eventos. Primero, el microprocesador 100 utilizará una mapa de memoria (no mostrado) para determinar que la dirección FFOOH corresponde al registro de entrada 202 del dispositivo de I/O 102. A continuación el microprocesador 100 colocará el contenido de la dirección de memoria 1110H en el canal de datos 106, la dirección o (es decir, la dirección trazada en la memoria del registro de entrada 202 en el canal de dirección 104, y activará la línea de control 108 para alertar al dispositivo de I/O 102 que estén a punto de ser transferidos datos a éste. Entonces el dispositivo de 1/0 102 copia los datos sobre el canal de datos 106 para el registro dirigido para la dirección sobre el canal de dirección 104, en este ejemplo, el registro de entrada 202. Si el microprocesador es entonces instruido para transferir el contenido de la dirección de memoria 1101H a la dirección de memoria FFOOH se repite el mismo proceso. De esta manera, todos los datos son transferidos a la misma dirección. Este tipo de transferencia de memoria puede ser tan fuerte como una transferencia en serie de palabras de datos al mismo lugar. Los mecanismos de transferencia de bits generalmente no pueden ser aplicados en este contexto. Una transferencia de DMA únicamente consulta un mapa de memoria una vez por transferencia de bit. Una vez que es determinada la primera dirección de destino del mapa de memoria, esta es almacenada en un indicador de destino que se incrementa cada vez que es transferida una palabra de datos. Este valor de indicador creciente es colocado sucesivamente en la línea de dirección. Tomando el ejemplo anterior, supóngase que se instruye al microprocesador 100 para transferir un bloc de palabras de datos comenzando en el lugar de la memoria 1110H al lugar ~de la memoria FFOH. La primera palabra de datos (es decir, los datos en el lugar 1110H) es colocada en el canal de datos 106. La ubicación del primer lugar de la memoria jes decir, 1110H) está almacenada en el indicador de la memoria. A continuación el microprocesador utiliza un mapa de la memoria para buscar el lugar de la memoria FFOOH y, como anteriormente, convierte ésta a la dirección O la cual denota el registro de entrada 202 del dispositivo de I/O 102. Esta dirección (O) es almacenada en un indicador de destino. La dirección almacenada en el indicador de destino (O) es colocada en el canal de dirección 104 y la palabra de datos es almacenada como se describió anteriormente. Sin embargo, durante la transferencia de la segunda palabra de datos (es decir, los datos en el lugar 1111H) el microprocesador 100 incrementará ambos indicadores de la memoria y destino. El indicador de destino contiene ahora el valor de 1 el cual hará que los datos sean almacenados en el registro de salida 204 en lugar del registro de entrada deseado 202. De este modo, la configuración mostrada en la Figura 2 no es conducente para transferencias de bits de datos. Un intento de la técnica anterior por superar este problema se describe en la Patente Estadounidense No. 5,687,357 otorgada a Priem. Priem enseña el uso de un decodificador de dirección para decodificar direcciones sucesivas por la misma dirección cuando el sistema está efectuando una transferencia de bits. Sin embargo, la adición del decodificador requiere la implementación de componentes físicos de computación o programas y sistemas de programación adicionales para convertir las direcciones a la misma dirección. La adición de componentes extras requiere más espacio físico, así como restringir la velocidad de las transferencias de memoria al momento requerido para la decodificación, si tal decodificación es más grande que la velocidad a la cual el dispositivo de I/O puede recibir/transmitir datos. Ciertas modalidades de la presente invención alivian o superan este problema. La Figura 3 muestra una modalidad de la presente invención. En esta modalidad, no se requieren circuitos ni programas y sistemas de programación de decodificadores adicionales para efectuar la transferencia de bits de datos DMA a una sola dirección de destino. La modalidad mostrada en la Figura 3 incluye un microprocesador 100, un dispositivo de I/O 102, un bit de dirección 104 y un canal de datos 106. El dispositivo de I/O 102 está conectado al canal de dirección 104 por medio de las lineas de dirección del dispositivo 304a...304c y al canal de datos 106 por las líneas de datos del dispositivo 306a ....306h. En esta modalidad, el microprocesador 100 tiene un espacio de dirección de 32 bits y una palabra de datos de lí 16 bits. El tamaño del espacio de la dirección en la palabra de datos no es de mucha importancia en la presente invención y puede variar. Como anteriormente, el microprocesador 100 y el dispositivo de 1/0 102 están conectados por una línea de control 108. Como un experto en la técnica reconocerá fácilmente la línea de control 108 puede ser omitida en algunas circunstancias, tal como cuando el dispositivo de I/O 102 tiene la capacidad de someter la votación del canal de dirección 104 para determinar si están siendo transferidos datos a éste. Como se muestra, el dispositivo de I/O 102 está conectado directamente al canal de datos 104. Sin embargo, en contraste con la Figura 2, las líneas de dirección del dispositivo 304 están desviadas del bit de orden más bajo del canal de dirección 104. Es decir la línea de dirección de orden más bajo (como se muestra, la línea de dirección del dispositivo 304a) no está conectada al bit de orden más bajo del canal de dirección 104 (por ejemplo, Ao) . En esta modalidad, las líneas de dirección del dispositivo están desviadas por 4 bits con la línea de dirección del dispositivo de menor orden 304a estando conectada al quinto bit de menor orden A4 del canal de dirección 104. Esto permite que todas las direcciones de destino secuenciales sean dirigidas al mismo lugar sin tener que incluir ningún circuito o programas y sistemas de programación de codificadores . Tomando el ejemplo descrito anteriormente, será descrita la operación de transferencia de bloques de acuerdo a la presente invención. En el ejemplo discutido anteriormente, debido al incremento ascendente en la dirección almacenada en el indicador de destino, la información en el segundo lugar de la memoria (por ejemplo 1111H) fue dirigido al registro erróneo del dispositivo de I/O 102. Si el dispositivo de I/O 102 está conectado al canal de dirección 104 como se muestra en la Figura 3, ambas direcciones (0 y 1) parecerán ser la misma. Es decir, que debido al dispositivo de I/O 102 no está conectado a las cuatro líneas de dirección de orden menor, Ao~A3, los números FFOOH a FF0FH aparecen todos como la dirección FFOOH. Dicho de otro modo en términos del indicador de destino descrito anteriormente, las direcciones crecientes de 0 a 7 parecerán de 0 al dispositivo de 1/0 102. La desviación descrita anteriormente es de cuatro bits. Habrá 16 lugares en la memoria que se colapsarán hacia el mismo lugar. De este modo, los problemas descritos anteriormente son superados implementando la conexión de las líneas de conexión 304 al canal de dirección 104, donde la línea de dirección de memoria 304a es desviada de la línea del canal de dirección de menor orden AQ.
Como se describió justo anteriormente, la desviación fue de cuatro bits y por lo tanto permitió que fueran transferidos bloques de 8 palabras de datos a la misma dirección. Pueden ser empleadas otras desviaciones. Un factor que afecta la cantidad de la desviación es el tamaño de la memoria intermedia asociada con el registro en la dirección deseada. De manera preferible, la cantidad de desviación será igual en tamaño a la memoria intermedia asociada. Por ejemplo, si el tamaño de la memoria intermedia es de 4 palabras, la desviación puede ser de 2 bits. Esto permitiría, por ejemplo, 1-3 direcciones (OOOlb-OOlOb) , las cuales representan 4 direcciones discretas, todas dirigidas al mismo lugar (es decir, el tercer valor del bit que en este caso es 0) . Aunque la cantidad de desviación no necesita ser igual al tamaño de la memoria intermedia el tamaño de un bloque que puede ser transferido, este puede ser un escenario más eficiente para muchas aplicaciones. El dispositivo de I/O descrito anteriormente puede ser cualquier dispositivo conocido o posteriormente desarrollado adecuado que sea capaz de efectuar transferencias en sería de datos en una sola dirección. Por ejemplo, el dispositivo de I/O 102 podría ser un UART, un módem, una unidad de disco, un controlador lógico, o una interconexión de red. Como es mencionó anteriormente, puede ser utilizada (aunque no es necesario) , una memoria intermedia, la pila o estructura de datos similares asociados con el registro que esté siendo dirigido en el dispositivo de 1/0 102. La presente invención puede ser adaptada a situaciones donde van a ser transferidos datos de un solo lugar a otros dos lugares sustancialmente al mismo momento. Cada lugar puede ser un subsistema de control. En muchos casos, la temporización de las salidas de los subsistemas de control se vuelve crítica y pueden surgir ahí requerimientos estrictos, de modo que cada subsistema de control produce una salida dentro de sustancialmente el mismo instante. Un método es proporcionar un reloj común para ambos subsistemas para sincronizar su operación. Sin embargo, proporcionar un solo reloj introduce un punto de falla del dispositivo único que podría perturbar y posiblemente destruir la operación del sistema. De este modo, le introducción de un reloj común a un sistema tolerante a las fallas no se una solución aceptable. Por ejemplo, los sistemas tolerantes de fallas típicamente utilizan subsistemas de control independientes y paralelos para asegurar que una falla en un subsistema de control no desactive todo el sistema. Las salidas de cada subsistema de control son comparadas para detectar la presencia de una falla en uno de los subsistemas. Como es bien sabido en la técnica, es entonces invocada una decisión o procedimiento de votación para elegir cual salida de los subsistemas será utilizada para controlar alguna porción del sistema. Por ejemplo, los dos subsistemas pueden ser capaces ambos de accionar un solo accionador (por ejemplo, un motor) . Ciertas modalidades de la presente invención pueden aliviar algunos o todos esos problemas permitiendo una sola transferencia de memoria desde el microprocesador para arribar simultáneamente a dos o más subsistemas de control. El término subsistema de control como se utiliza aquí puede ser equiparado con cualquier dispositivo de 1/0 general previamente descrito. De este modo, por simplicidad y continuidad de la discusión, el dispositivo de I/O 102 discutido más adelante incluye, pero no se limita a, un subsistema de control . De manera preferible el dispositivo de 1/0 102 es un UART. Además, de acuerdo a otra modalidad, la presente invención permite la transferencia simultánea de bloques de datos a una pluralidad de dispositivos de I/O, donde todos los bloques de datos son transferidos a la misma dirección. Refiriéndose ahora a la Figura 4, se describe una modalidad ejemplar de un sistema que es capas de transferir simultáneamente datos a dos dispositivos de I/O 102 y 102' . El número de dispositivos de I/O no necesita ser igual a dos y puede ser mayor en algunas aplicaciones dependiendo de la cantidad de redundancia deseada.
En este ejemplo, el sistema incluye un primer dispositivo de I/C 102, un segundo dispositivo de I/O 102' y un microprocesador 100. El microprocesador 100 está conectado directamente tanto al primero como al segundo dispositivos de I/O, 102, 102', respectivamente, por medio de una línea de control 108. El microprocesador 100 está conectado a todas las líneas del canal de dirección 104 y puede colocar una dirección sobre el canal de dirección 104. Como se muestra, ambos de los dispositivos de I/O, 102 y 102' están conectados a las mismas líneas de dirección (A4 a A6) . Asumiendo que ambos dispositivos de I/O, 102 y 102' , tienen la misma dirección, debido a que están conectados a las mismas líneas del canal de dirección 104, ambos dispositivos pueden ser dirigidos simultáneamente. Supóngase que el microprocesador desea transferir información al registro de entrada 202 del primer dispositivo de I/O. Esta transferencia puede ser completada como se detalló anteriormente. Sin embargo, en un sistema tolerante de fallas típicamente es deseable gue esta información sea respaldada. Es decir, que los datos necesitan ser transferidos a dos lugares (dispositivos) independientes. Típicamente, para hacer esto el microprocesador 100' transferiría primero los datos al primer dispositivo y a continuación transferiría los mismos datos a un dispositivo diferente. Esto requiere más ciclos del procesador 100 y por lo tanto incrementa la carga y alerta al microprocesador 100. Además, este tipo de transferencia secuencial no proporciona los datos a ambos dispositivos simultáneamente. Sin embargo, de acuerdo a un aspecto de la presente invención, debido a gue tanto el primer dispositivo de I/O 102 como el segundo dispositivo de 1/0 102' están conectados a las mismas líneas de dirección (A4-A6) pueden ser dirigidos simultáneamente. Por ejemplo, después de que el microprocesador ha señalado a los dispositivos de I/O 102 y 102' vía la línea de control 104 que desea transferir datos a ellos, el microprocesador 100 colocará una dirección cero sobre el canal de dirección 104 para dirigir los datos sobre el canal de datos 106 a los registros de entrada de ambos dispositivos. Es decir, por supuesto que, asumiendo que ambos dispositivos de I/O 102 y 102' tienen la dirección cero asignada a sus registros de entrada respectivos. De esta manera, los datos en el canal de datos 106 son transferidos simultáneamente a ambos dispositivos de I/O 102 y 102' . Como se muestra en la Figura 4, ambos del primer dispositivo de l/O 102 y el segundo dispositivo de I/O 102' tienen sus conexiones respectivas al canal de dirección 106 desviadas en 4 bits. De este modo, como se detalló anteriormente, permite la transferencia eficiente de bloques de datos a cada dispositivo. Particularmente, debido a que ambos dispositivos son controlados por la misma línea de control 108 y ambos están conectados directamente a las mismas líneas de dirección (A4 a A6) , las transferencias de bloques de datos puede hacerse simultáneamente tanto al primer dispositivo de 1/0 102 y el segundo dispositivo de I/O 102' . En la Figura 4, ambos dispositivos de I/O 102 y 102', así como el microprocesador 100, están conectados a canal de datos 106. Dos conexiones ejemplares diferentes de los dispositivos de I/O 102 y 102' al canal de datos 106 y ciertas ventajas y usos de cada una serán descritas en relación a las Figuras 5 y 6. La Figura 5 muestra a ambos del primer y el segundo dispositivos de I/O, 102 y 102' , respectivamente, conectados a las mismas porciones del canal de datos 106. De manera más particular, ambos dispositivos están conectados a las líneas de datos de menor orden (Do a D ) del canal de datos 106. Cuando sean configurados de esta manera, ambos dispositivos de I/O 102 y 102' recibirán los mismos datos. Como se muestra, únicamente una porción de las líneas de datos del canal de datos 106 está conectada a los dispositivos de I/O 102 y 102' . Sin embargo, como un experto en la técnica comprenderá fácilmente, los dispositivos de I/O 102 y 102' podrían estar conectados a todas las líneas de datos o cualquier porción de ellas dependiendo de la aplicación. Un ejemplo de una situación donde tal conexión como se muestra en la Figura 5 puede surgir es en un sistema que requiere de las copias de todos los datos almacenados. Teniendo ambos dispositivos de 1/0 102 y 102' conectados a la misma línea de datos, y debido a que ambos son controlados por una línea de control común 108, los datos presentados sobre el canal de datos 106 son almacenados simultáneamente en dos lugares (dispositivos de I/O 102 y 102' ) . Este almacenamiento simultáneo permite la creación de dos copias de datos las cuales son ambas igualmente accesibles. Esto permite de manera ventajosa la creación de una copia de respaldo de los datos sin tener que tomarse tiempo para copiar el original en un archivo de respaldo. Otra aplicación de la transferencia simultánea de los mismos datos es en los sistemas tolerantes de fallas anteriormente mencionados. Transfiriendo datos a dos lugares, la falla de un subsistema de control no afectará seriamente la operación del aparato que esté siendo controlado por los subsistemas . La Figura 6 muestra un esquema de conexión alternativo entre el canal de datos 106 y el primer y segundo dispositivos de I/O 102 y 102', respectivamente. Como se muestra, el primer dispositivo de I/O 102 está conectado a las líneas de datos de menor orden, (D0 a D7) , y el segundo dispositivo de 1/0 102' está conectado a las líneas de datos de mayor orden (Ds a D15) . Esto permite que sean transferidas dos palabras de datos diferentes simultáneamente a dos lugares diferentes utilizando una sola orden de transferencia. De este modo, los diferentes datos están disponibles simultáneamente para cada uno de los dispositivos de 1/0 conectados al canal de datos dado que son todos dirigibles por una sola dirección. La configuración mostrada en la Figura 6 permite, por ejemplo, el control simultáneo de dos accionadores opuestos (es decir, motores) . Si cada uno de los dispositivos de 1/0 102 y 102' están conectados a dos diferentes accionadores (no mostrados) ambos accionadores pueden ser controlados por el microprocesador transfiriendo una sola pieza de un bloque de datos. Por ejemplo, en un sistema que utiliza motores para mantener una rueda en una posición erecta, puede ser empleado un motor en cada lado de la rueda para mantener la rueda vertical. Cuando la rueda comienza a inclinarse hacia un lado, el motor sobre el otro lado es accionado para llevar la rueda nuevamente a la vertical. Si únicamente un motor (a través de un dispositivo de I/O) a la vez puede recibir información acerca de si deberá operar, la rueda puede ser sobrecontrolada . Es decir, que uno de los motores funciona hasta que el otro comienza a funcionar. De este modo la rueda se "tambaleará" debido al movimiento hacia atrás y hacia adelante impartido por el funcionamiento secuencial de cada motor individualmente. Sin embargo, si los motores fueran capaces de recibir información al mismo tiempo esto podría ser aliviado. Por ejemplo, cuando la rueda es llevada a la vertical por un motor, el motor opuesto podría, al mismo tiempo, hacer lenta su acción de modo que la rueda nunca pase la vertical. De manera alternativa, ambos del primer y segundo dispositivos de 1/0 102 y 102' respectivamente, podrían recibir la misma información y estar aún conectados al canal de datos en la forma mostrada en la Figura 6. En este caso, el microprocesador 100 (no mostrado) simplemente colocaría los datos idénticos en las líneas de datos de orden menor de Do a D7 como los coloca en la línea de datos de mayor orden D8 a D15. La Figura 7 es un diagrama de flujo que detalla una modalidad de un método para transferir datos utilizando una modalidad ejemplar de la presente invención. En el paso 702, es colocada una dirección en un canal de dirección. La dirección colocada en el canal es mantenida en el canal durante un periodo de tiempo que es suficientemente largo para que los datos sean leídos del canal. En el paso 704, una porción de los datos en el bloque de datos a ser transferidos (es decir, una palabra de datos) es colocada en el canal de datos. El paso 704 puede ocurrir durante el mismo periodo de tiempo en el cual la dirección es mantenida sobre el canal.
En una modalidad, pueden ser transferidos dos o más bloques de datos en paralelo. En esta modalidad, la primera porción de cada uno de los bloques de datos puede ser colocada simultáneamente sobre porciones del canal de datos, por ejemplo, las mitades superior e inferior del canal. Como se describió anteriormente, puede ser utilizado un controlador de DMA para colocar la dirección y los datos en el canal. Una vez que los datos son colocados en el canal de datos, en el paso 706, los datos son transferidos a un dispositivo (es decir, un dispositivo de almacenamiento de datos) el cual tiene un elemento de almacenamiento para recibir los datos. Los datos pueden ser recibidos por un dispositivo o una pluralidad de dispositivos, como se describió anteriormente. En cualquier caso, el método continúa hasta que todo el bloque ha sido transferido de acuerdo a lo determinado en el bloque 708. Tras cada pase subsecuente a través del diagrama de flujo de la Figura 7, la dirección que es colocada y mantenida en el canal de dirección se incremente. Utilizando la modalidad descrita anteriormente, sin embargo, cada transferencia de una palabra de datos en un bloque es almacenada secuencialmente en el mismo elemento de almacenamiento, sin importar el incremento de la dirección.
Habiendo descrito de este modo varias modalidades ilustrativas de la presente invención, algunas de sus ventajas y características opcionales serán evidentes, dado que tales modalidades se presentaron a manera de ejemplo únicamente y no a manera de limitación. Aquellos expertos en la técnica podrían idear fácilmente alteraciones y mejoras sobre esas modalidades, así como modalidades adicionales, sin apartarse del espíritu y alcance, de la invención. Por ejemplo, aunque las conexiones entre los dispositivos de I/O y los diferentes canales han sido mostradas como conexiones directas sin circuitos o dispositivos intevinientes más allá de aquellos requeridos para efectuar tales conexiones, esas conexiones podrían tener circuitos o dispositivos adicionales desplazados entre cualquiera de los canales y cualquiera de los dispositivos de I/O. Adicionalmente, el ancho de la dirección y los canales de datos es completamente variable como lo es el espacio de dirección del microprocesador. Además, el tamaño de la palabra de datos de cada dispositivo de I/O puede manejar es también variable. Además, las líneas de control pueden ser configuradas de modo que, aún si los dos dispositivos, en la misma dirección, la información únicamente será transferida a uno de ellos. En consecuencia, la invención es limitada únicamente de acuerdo a lo definido en las siguientes reivindicaciones y equivalentes de éstas.
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (33)

  1. REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones . 1. Un aparato para efectuar transferencias de datos, caracterizado porque comprende: un canal de dirección que tiene una pluralidad de líneas de dirección; un canal de datos que tiene una pluralidad de líneas de datos; y al menos un dispositivo de entrada/salida conectado al canal de dirección y el canal de datos, el dispositivo de entrada/salida conectada al canal de dirección, de modo que cada una de la pluralidad de direcciones siempre corresponde a una sola dirección en el dispositivo de entrada/salida.
  2. 2. El aparato de conformidad con la reivindicación 1, caracterizado porque al menos el dispositivo de entrada/salida es un receptor transmisor asincrónico universal.
  3. 3. El aparato de conformidad con la reivindicación 1, caracterizado porque al menos una entrada/salida no está conectada a un decodificador de dirección del dispositivo de entrada/salida .
  4. 4. El aparato de conformidad con la reivindicación 1, caracterizado porque la conexión del dispositivo de entrada/salida al canal de dirección está desviada.
  5. 5. El aparato de conformidad con la reivindicación 4, caracterizado porque la cantidad de desviación es igual al tamaño de una estructura de datos localizada en el dispositivo de entrada/salida para manejar transferencias de datos .
  6. 6. El aparato de conformidad con la reivindicación 1, caracterizado porque comprende además un controlador de DMA conectado al canal de dirección y al canal de datos.
  7. 7. Un sistema para efectuar transferencias de bloques de datos, caracterizado porque comprende: un canal de dirección; un canal de datos; y un primer dispositivo de entrada/salida conectado al canal de dirección y al canal de datos, donde la dirección al canal de dirección está desviada una cantidad fija.
  8. 8. El sistema de conformidad con la reivindicación 7, caracterizado porque el sistema comprende además un segundo dispositivo de entrada/salida, el segundo dispositivo de entrada/salida está conectado al canal de dirección y tiene alguna desviación como el primer dispositivo de entrada/salida.
  9. 9. El sistema de conformidad con la reivindicación 8, caracterizado porque el primer y segundo dispositivos de entrada/salida están conectados a las mismas líneas del canal de datos .
  10. 10. El sistema de conformidad con la reivindicación 8, caracterizado porque el primer dispositivo de entrada/salida está conectado a líneas del canal de datos de orden menor del canal de datos y el segundo dispositivo de entrada/salida está conectado a líneas del canal de datos de mayor orden del canal de datos.
  11. 11. El sistema de conformidad con la reivindicación 10, caracterizado porque las líneas del canal de datos de menor orden y las líneas del canal de datos de mayor orden no son las mismas líneas del canal de datos.
  12. 12. Un método para transferir electrónicamente una serie de elementos de datos, incluyendo un primer elemento de datos y un segundo elemento de datos, siendo los datos proporcionados sobre un canal que incluye una porción de datos y una porción de dirección, la serie de elementos de datos es enviada a un primer dispositivo receptor de datos, el primer dispositivo receptor de datos incluye una pluralidad de líneas de dirección y un elemento de almacenamiento al que se puede tener acceso cuando una dirección del elemento receptor sea colocada en la línea de dirección, el método se caracteriza porque comprende los pasos de: (a) transferir el primer elemento de datos al elemento de almacenamiento del primer dispositivo receptor de datos utilizando una primera dirección colocada sobre la porción de dirección del canal; y (b) transferir el segundo elemento de datos al elemento de almacenamiento del primer dispositivo receptor utilizando una segunda dirección colocada sobre la porción de dirección del canal; donde los pasos (a) y (b) se efectúan sin decodificar electrónicamente la primera dirección y la segunda dirección en la dirección del elemento receptor.
  13. 13. El método de conformidad con la reivindicación 12, caracterizado porque el primer elemento de datos es una palabra de datos.
  14. 14. El método de conformidad con la reivindicación 12, caracterizado porque el elemento de almacenamiento del primer dispositivo receptor de datos es un registro y el primer dispositivo receptor de datos es un Receptor/Transmisor Asincrónico Universal.
  15. 15. El método de conformidad con la reivindicación 12, caracterizado porque el primer elemento de datos es transferido al primer dispositivo receptor de datos y a un segundo receptor de datos sustancialmente al mismo tiempo.
  16. 16. El método de conformidad con la reivindicación 12, caracterizado porque el primer elemento de datos es transferido al primer dispositivo receptor de datos sustancialmente al mismo tiempo que el primer elemento de datos es transferido al segundo dispositivo receptor de datos .
  17. 17. El método de conformidad con la reivindicación 16, caracterizado porgue el primer, dispositivo receptor de datos es un Receptor/Transmisor Asincrónico Universal.
  18. 18. El método de conformidad con la reivindicación 12, caracterizado porque los pasos (a) y (b) son efectuados por el controlador de DMA.
  19. 19. Un método para transferir electrónicamente, sobre un canal que tiene una porción de dirección y una porción de datos, el primer bloque de elementos de datos a un elemento de almacenamiento de un primer dispositivo y un segundo bloque de elementos de datos a un elemento de almacenamiento del segundo dispositivo, el método se caracteriza porque comprende los pasos de: (a) colocar y mantener una primera dirección sobre la primera porción de dirección del canal; (b) durante el paso (a) , transferir un primer elemento de datos del primer bloque al elemento de almacenamiento del primer dispositivo; y (c) simultáneamente con el paso (b) , transferir un primer elemento de datos del segundo bloque al elemento de almacenamiento del segundo dispositivo.
  20. 20. El método de conformidad con la reivindicación 19, caracterizado porgue comprende además los pasos de: (d) colocar y mantener una segunda dirección sobre la porción de dirección del canal; (e) durante el paso (d) r transferir un segundo elemento de datos del primer bloque al elemento de almacenamiento del primer dispositivo; y (f) simultáneamente con el paso (e) , transferir un segundo elemento de datos del segundo bloque al elemento de almacenamiento del segundo dispositivo.
  21. 21. El método de conformidad con la reivindicación 19, caracterizado porque el primer elemento de datos del primer bloque es una palabra de datos y donde el primer elemento de datos del segundo bloque es una palabra de datos.
  22. 22. El método de conformidad con la reivindicación 19, caracterizado porque el elemento de almacenamiento del primer dispositivo es un registro y el primer dispositivo es un receptor/transmisor asincrónico universal.
  23. 23. El método de conformidad con la reivindicación 19, caracterizado porque el elemento de almacenamiento del segundo dispositivo es un registro y el segundo dispositivo es un Receptor/Transmisor Asincrónico Universal.
  24. 24. El método de conformidad con la reivindicación 19, caracterizado porque el primer elemento de datos del primer bloque es idéntico al primer elemento del segundo bloque de datos. I
  25. 25. El método de conformidad con la reivindicación 19, caracterizado porque el primer elemento de datos del primer bloque es diferente al primer elemento del segundo bloque de datos .
  26. 26. El método de conformidad con la reivindicación 19, caracterizado porque los pasos (a) , (b) , y (c) son efectuados por un controlador de DMA.
  27. 27. El método de conformidad con la reivindicación 19, caracterizado porque los pasos (d) , (e) y (f) son efectuados por un controlador de DMA:
  28. 28. Un sistema para transferir simultáneamente datos, caracterizado porgue comprende: un canal que tiene una porción de dirección y una porción de datos; un primer dispositivo receptor de datos que tiene una pluralidad de entradas de datos para recibir datos de la porción de datos del canal; un elemento de almacenamiento para almacenar los datos recibidos de la porción de datos del canal; una pluralidad de entradas de dirección para recibir una dirección de la porción de dirección del canal; y medios para determinar si la dirección recibida por cualquiera de las entradas de dirección corresponde a una dirección asignada al primer dispositivo receptor de datos; y un segundo dispositivo receptor de datos que tiene una pluralidad de entradas de datos para recibir datos de la porción de datos del canal; un elemento de almacenamiento para almacenar los datos recibidos de la porción de datos del canal; una pluralidad de entradas de dirección para recibir una dirección de la porción de dirección del canal; y medios para determinar si la dirección recibida por cualquiera de las entradas de dirección corresponde a una dirección asignada al primer dispositivo receptor de datos; donde el primer dispositivo receptor de datos está conectado a la porción de dirección del canal, de modo que la conexión contiene una desviación de una primera cantidad de desviación fija.
  29. 29. El sistema de conformidad con la reivindicación 28, caracterizado porque el segundo dispositivo receptor de datos está conectado a la porción de dirección del canal, de modo que la conexión contiene una desviación en una segunda cantidad de desviación fija.
  30. 30. El sistema de conformidad con la reivindicación 29, caracterizado porgue la primera cantidad de desviación fija es igual a la cantidad de desviación fija.
  31. 31. El sistema de conformidad con la reivindicación 28, caracterizado porque los datos recibidos por ambos del primer dispositivo receptor de datos y el segundo dispositivo receptor de datos son utilizados para accionar una pluralidad de accionadores .
  32. 32. El sistema de conformidad con la reivindicación 31, caracterizado porque los datos recibidos por el primer dispositivo receptor de datos son los mismos que los recibidos por el segundo dispositivo receptor de datos.
  33. 33. El sistema de conformidad con la reivindicación 31, caracterizado porque los datos recibidos por el primer dispositivo receptor de datos son diferentes de los datos recibidos por el segundo dispositivo receptor de datos.
MXPA01008933A 1999-03-04 2000-03-03 Metodo y aparato para la transferencia de bloques de datos. MXPA01008933A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26238199A 1999-03-04 1999-03-04
PCT/US2000/005589 WO2000052588A1 (en) 1999-03-04 2000-03-03 Method and apparatus for the block transfer of data

Publications (1)

Publication Number Publication Date
MXPA01008933A true MXPA01008933A (es) 2002-04-24

Family

ID=22997258

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA01008933A MXPA01008933A (es) 1999-03-04 2000-03-03 Metodo y aparato para la transferencia de bloques de datos.

Country Status (12)

Country Link
US (1) US20020144029A1 (es)
EP (1) EP1159686B1 (es)
JP (1) JP2002538551A (es)
KR (1) KR20010102481A (es)
AT (1) ATE249645T1 (es)
AU (1) AU771453B2 (es)
CA (1) CA2363737A1 (es)
DE (1) DE60005157T2 (es)
ID (1) ID30228A (es)
MX (1) MXPA01008933A (es)
TW (1) TW487844B (es)
WO (1) WO2000052588A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020068658A (ko) * 2001-02-21 2002-08-28 신이균 다층 데이터버스의 제어방법
FR2880705A1 (fr) * 2005-01-10 2006-07-14 St Microelectronics Sa Procede de conception d'un peripherique compatible dma
JP4676378B2 (ja) * 2006-05-18 2011-04-27 株式会社バッファロー データ記憶装置およびデータ記憶方法
US9875125B2 (en) * 2013-06-14 2018-01-23 International Business Machines Corporation Parallel mapping of client partition memory to multiple physical adapters
US11862117B2 (en) * 2020-11-25 2024-01-02 Texas Instruments Incorporated Method and apparatus for matched buffer decompression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228130A (en) * 1988-09-14 1993-07-13 National Semiconductor Corporation Multi-channel peripheral interface using selectively flaggable channel register sets for concurrent write in response to any selected channel register write instruction
US5608889A (en) * 1994-08-17 1997-03-04 Ceridian Corporation DNA controller with wrap-around buffer mode
US5687357A (en) * 1995-04-14 1997-11-11 Nvidia Corporation Register array for utilizing burst mode transfer on local bus
US5774680A (en) * 1995-12-11 1998-06-30 Compaq Computer Corporation Interfacing direct memory access devices to a non-ISA bus

Also Published As

Publication number Publication date
US20020144029A1 (en) 2002-10-03
TW487844B (en) 2002-05-21
DE60005157T2 (de) 2004-07-08
WO2000052588A1 (en) 2000-09-08
EP1159686B1 (en) 2003-09-10
ATE249645T1 (de) 2003-09-15
DE60005157D1 (de) 2003-10-16
JP2002538551A (ja) 2002-11-12
KR20010102481A (ko) 2001-11-15
WO2000052588A9 (en) 2001-12-27
CA2363737A1 (en) 2000-09-08
AU3720200A (en) 2000-09-21
ID30228A (id) 2001-11-15
AU771453B2 (en) 2004-03-25
EP1159686A1 (en) 2001-12-05

Similar Documents

Publication Publication Date Title
US6370611B1 (en) Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data
US5014187A (en) Adapting device for accommodating different memory and bus formats
EP0099620B1 (en) Memory controller with data rotation arrangement
US5897663A (en) Host I2 C controller for selectively executing current address reads to I2 C EEPROMs
US4851991A (en) Central processor unit for digital data processing system including write buffer management mechanism
JPH0618033B2 (ja) デイスクと中央演算処理装置との間でデータを転送するための方法および装置
JPS6259822B2 (es)
KR100322366B1 (ko) Sram캐시용워드폭선택
JPH0619752B2 (ja) データ転送方法及び装置
JP3247075B2 (ja) パリティブロックの生成装置
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
JPH0564813B2 (es)
JPS61143865A (ja) 直接データ転送のためのインターフエース
MXPA01008933A (es) Metodo y aparato para la transferencia de bloques de datos.
JPH0410102B2 (es)
EP0383891B1 (en) Pipelined address check bit stack controller
US5822766A (en) Main memory interface for high speed data transfer
JPH07141256A (ja) メモリへのデータの疑似整合転送の方法と装置
JPS6292053A (ja) 直接メモリアクセス転送制御方式
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
JPH04270440A (ja) アクセス方式
JPH10111798A (ja) 情報処理装置
EP0439594B1 (en) Device for interfacing a main processor bus connected to a main processor to a peripheral bus having a number of peripheral devices connected thereto
JPH0133848B2 (es)
JPH0315217B2 (es)

Legal Events

Date Code Title Description
FG Grant or registration