ES2313297T3 - Estructura de bus de dos canales de direcciones multiples. - Google Patents

Estructura de bus de dos canales de direcciones multiples. Download PDF

Info

Publication number
ES2313297T3
ES2313297T3 ES05711605T ES05711605T ES2313297T3 ES 2313297 T3 ES2313297 T3 ES 2313297T3 ES 05711605 T ES05711605 T ES 05711605T ES 05711605 T ES05711605 T ES 05711605T ES 2313297 T3 ES2313297 T3 ES 2313297T3
Authority
ES
Spain
Prior art keywords
locations
address
component
read
data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES05711605T
Other languages
English (en)
Inventor
Richard Gerard Hofmann
Jaya Prakash Subramaniam Ganasan
Thomas John Lowery
Perry Willmann Remaklus, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2313297T3 publication Critical patent/ES2313297T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Semiconductor Memories (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un procedimiento de comunicación entre un componente (102) de envío y un componente (104) de recepción a través de un bus (106), comprendiendo el bus un primer y un segundo canal (108, 110), teniendo cada uno de los canales una pluralidad de líneas, comprendiendo el procedimiento y estando caracterizado por: emitir desde el componente de envío ubicaciones de direcciones múltiples y escribir datos sobre el primer canal (108), en el que las ubicaciones de direcciones múltiples incluyen dos o más ubicaciones de direcciones seleccionadas de una pluralidad de ubicaciones de direcciones de lectura o una pluralidad de ubicaciones de direcciones de escritura, en el que el componente de envío emite ubicaciones de direcciones múltiples al mismo tiempo; almacenar los datos de escritura emitidos sobre el primer canal en el componente de recepción basándose en las ubicaciones de direcciones de escritura; recuperar datos de lectura del componente de recepción basándose en las ubicaciones de direcciones de lectura; y emitir a partir del componente de recepción los datos de lectura recuperados sobre el segundo canal (110).

Description

Estructura de bus de dos canales de direcciones múltiples.
Campo
La presente descripción se refiere, en general, a sistemas digitales y, más específicamente, a una estructura de bus de dos canales de dirección múltiple.
\vskip1.000000\baselineskip
Antecedentes
Los ordenadores han revolucionado la industria electrónica al posibilitar que se realicen sofisticadas tareas de procesamiento con sólo unas pocas pulsaciones de un teclado. Estas sofisticadas tareas pueden implicar varios componentes complejos que se comunican entre sí de una manera rápida y eficaz utilizando un bus. Un bus es un canal o trayectoria entre componentes en un ordenador.
Un ordenador típico incluye un procesador con memoria de sistema. Puede utilizarse un bus de sistema de alto ancho de banda para soportar comunicaciones entre el procesador y el sistema de memoria. Además, también puede haber un bus de rendimiento inferior que se utiliza para transferir datos a componentes de ancho de banda inferior. En algunos casos, también puede haber un bus de configuración que se utiliza para el fin de programar diversos recursos. Pueden utilizarse puentes para transferir datos de manera eficaz entre los buses de ancho de banda superior e inferior, así como proporcionar traducción de protocolos.
A menudo, los buses que residen en un ordenador se han implementado como buses compartidos. Un bus compartido proporciona medios para que cualquier número de componentes se comunique a través de un canal o trayectoria común. Recientemente, se han hecho más populares las conexiones de conmutación punto a punto. Las conexiones de conmutación punto a punto proporcionan una conexión directa entre dos componentes en el bus mientras están comunicándose entre sí. Pueden utilizarse múltiples enlaces directos para permitir que varios componentes se comuniquen sin ralentizarse entre sí.
El diseño de bus convencional incluyen normalmente canales de lectura, escritura o uno o más canales de direcciones independientes y separados. Un procesador, por ejemplo, puede leer de o escribir en el sistema de memoria poniendo una ubicación de dirección sobre el canal de direcciones y enviando la señal de control de lectura/escritura apropiada. Cuando el microprocesador escribe datos en el sistema de memoria, envía los datos a través del canal de escritura. Cuando el microprocesador lee datos del sistema de memoria, recibe los datos a través del canal de
lectura.
Aunque esta estructura de bus particular proporciona una manera bastante estandarizada de comunicarse entre componentes de un ordenador, requiere varios canales dedicados. Estos canales requieren accionador, receptor y circuitos de almacenamiento intermedio, todos los cuales consumen potencia. En aplicaciones de circuitos integrados, estos canales ocupan un área de chip valiosa. Por consiguiente, existe una necesidad en la técnica de una estructura de bus simplificada. La patente estadounidense número 5,925,118 ("Revilla") se dirige a procedimientos y a una arquitectura para operaciones de lectura y escritura solapadas. Revilla enseña una pluralidad de dispositivos maestro y una pluralidad de dispositivos esclavo conectados mediante un único bus de direcciones, un bus de datos de escritura y un bus de datos de lectura. Se utiliza un árbitro de bus para mediar en las comunicaciones entre los dispositivos esclavo y maestro. El único bus de direcciones puede utilizarse para transferir tanto direcciones de lectura como de escritura y el bus de datos de lectura lleva datos de lectura. Sin embargo, a diferencia de las realizaciones de la presente invención el bus de datos de escritura separado se utiliza para llevar datos de escritura.
\vskip1.000000\baselineskip
Sumario de la invención
Según la presente invención se proporcionan un procedimiento para la comunicación, como se expone en la reivindicación 1, y un sistema de procesamiento, como se expone en la reivindicación 16. Las realizaciones de la invención se reivindican en las reivindicaciones dependientes.
En un aspecto de la presente invención, un procedimiento de comunicación entre un componente de envío y un componente de recepción a través de un bus incluye emitir desde el componente de envío sobre un primer canal información de direcciones de lectura que comprende una pluralidad de ubicaciones de direcciones de lectura, información de direcciones de escritura que comprende una pluralidad de ubicaciones de direcciones de escritura, y datos de escritura. El componente de envío también emite las ubicaciones de direcciones múltiples de información de direcciones de lectura y escritura a la vez. El procedimiento incluye además almacenar los datos de escritura emitidos sobre el primer canal en el componente de recepción basándose en la información de direcciones de escritura, recuperar datos de lectura del componente de recepción basándose en la información de direcciones de lectura, y emitir desde el componente de recepción los datos de lectura recuperados sobre el segundo canal.
\newpage
En otro aspecto de la presente invención, un sistema de procesamiento incluye un bus que tiene un primer y un segundo canal, un componente de envío y un componente de recepción. El componente de envío está configurado para emitir sobre el primer canal información de direcciones de lectura que comprende una pluralidad de ubicaciones de direcciones de lectura, información de direcciones de escritura que comprende una pluralidad de ubicaciones de direcciones de escritura, y datos de escritura. El componente de envío está configurado además para emitir las ubicaciones de direcciones múltiples de información de direcciones de lectura y escritura a la vez. El componente de recepción está configurado para almacenar los datos de escritura emitidos sobre el primer canal basándose en la información de direcciones de escritura, recuperar datos de lectura basándose en la información de direcciones de lectura, y emitir los datos de lectura recuperados sobre el segundo canal al componente de envío.
En un aspecto adicional de la presente invención, un sistema de procesamiento incluye un bus que tiene un primer y un segundo canal. El sistema de procesamiento incluye también medios para emitir sobre el primer canal información de direcciones de lectura que comprende una pluralidad de ubicaciones de direcciones de lectura, información de direcciones de escritura que comprende una pluralidad de ubicaciones de direcciones de escritura, y datos de escritura, emitiéndose ubicaciones de dirección múltiples de información de direcciones de lectura y escritura a la vez. El sistema de procesamiento incluye además medios para almacenar los datos de escritura emitidos sobre el primer canal basándose en la información de direcciones de escritura, recuperar los datos de lectura basándose en la información de direcciones de lectura, y emitir los datos de lectura recuperados sobre el segundo canal al componente de
envío.
Se entiende que otras realizaciones de la presente invención resultarán evidentes fácilmente para los expertos en la técnica a partir de la siguiente descripción detallada, en la que se muestran y describen a modo de ilustración diversas realizaciones de la invención. Como se hará notar, la invención puede tener otras realizaciones y diferentes y sus varios detalles pueden modificarse en otros diversos sentidos, todo ello sin apartarse del espíritu y alcance de la presente invención. Por consiguiente, los dibujos y la descripción detallada han de considerarse como de naturaleza ilustrativa y no como restrictivos.
\vskip1.000000\baselineskip
Breve descripción de los dibujos
En los dibujos adjuntos se ilustran aspectos de la presente invención a modo de ejemplo, y no a modo de limitación, en los que:
la figura 1 es un diagrama de bloques conceptual que ilustra un ejemplo de una conexión punto de punto a través de un bus de dos canales entre dos componentes en un sistema de procesamiento;
la figura 2 es un diagrama de bloques conceptual que ilustra un ejemplo de una conexión punto a punto a través de un bus de dos canales de dirección múltiple entre dos componentes en un sistema de procesamiento;
la figura 3 es un diagrama de sincronismo que muestra cuatro operaciones de lectura en cadena de direcciones a través de un bus de dos canales de dirección múltiple;
la figura 4 es un diagrama de sincronismo que muestra seis operaciones de lectura en cadena de direcciones a través de un bus de dos canales de dirección múltiple; y
la figura 5 es un diagrama de sincronismo que muestra operaciones de lectura y escritura a través de un bus de dos canales de dirección múltiple.
\vskip1.000000\baselineskip
Descripción detallada
Las descripción detallada expuesta posteriormente en conexión con los dibujos adjuntos está prevista como una descripción de diversas realizaciones de la presente invención y no está previsto que represente las únicas realizaciones en las que puede ponerse en práctica la presente invención. Cada realización descrita en esta descripción se proporciona simplemente como un ejemplo o ilustración de la presente invención, y no debería considerarse necesariamente como preferida o ventajosa sobre otras realizaciones. La descripción detallada incluye detalles específicos para el fin de proporcionar una comprensión rigurosa de la presente invención. Sin embargo, será evidente para los expertos en la técnica que la presente invención puede ponerse en práctica sin estos detalles específicos. En algunos casos, componentes y estructuras ampliamente conocidos se muestran en forma de diagrama de bloques para evitar oscurecer los conceptos de la presente invención. Pueden utilizarse acrónimos y otra terminología descriptiva simplemente para comodidad y claridad y no están previstos para limitar el alcance de la invención.
La figura 1 es un diagrama de bloques conceptual que ilustra un ejemplo de una conexión punto a punto a través de un bus entre dos componentes en un sistema de procesamiento. El sistema 100 de procesamiento puede ser una colección de componentes que actúan conjuntamente para realizar una o más funciones de procesamiento. Normalmente, el sistema de procesamiento será un ordenador, o residirá en un ordenador, y podrá procesar, recuperar y almacenar información. El sistema de procesamiento puede ser un sistema autónomo. Como alternativa, el sistema de procesamiento puede incorporarse en cualquier dispositivo, incluyendo a modo de ejemplo, un teléfono celular.
El sistema 100 de procesamiento se muestra con un componente 102 de envío en comunicación con un componente 104 de recepción a través de un bus 106. En una realización del sistema 100 de procesamiento, el bus 106 es un bus dedicado entre el componente 102 de envío y el componente de recepción. En otra realización del sistema 100 de procesamiento, el componente 102 de envío se comunica con el componente 104 de recepción con una conexión punto a punto a través de bus 106 mediante una interconexión de bus (no mostrada). Además, como apreciarán fácilmente los expertos en la técnica, los aspectos inventivos descritos a lo largo de esta descripción no están limitados a un bus dedicado o una conexión de conmutación punto a punto, sino que pueden aplicarse a cualquier tipo de tecnología de bus incluyendo, a modo de ejemplo, un bus compartido.
El componente 102 de envío puede ser cualquier tipo de componente maestro de bus incluyendo, a modo de ejemplo, un microprocesador, un procesador de señal digital (DSP), un controlador de acceso a memoria directo, un puente, un componente lógico programable, lógica de transistor o puerta discreta, o cualquier otro elemento de procesamiento de información.
El componente 104 de recepción puede ser cualquier componente de almacenamiento, incluyendo, a modo de ejemplo, registros, memoria, un puente, o cualquier otro componente que pueda recuperar y almacenar información. La capacidad de almacenamiento en cada ubicación de dirección del componente de recepción puede variar dependiendo de la aplicación particular y las limitaciones globales de diseño. Para fines de explicación, se describirá el componente de recepción con una capacidad de almacenamiento de 1 byte por ubicación de dirección.
La complejidad del bus 106 puede reducirse en este ejemplo eliminando el canal de direcciones que se utiliza en estructuras de bus convencionales. La eliminación del canal de direcciones puede conseguirse redefiniendo el canal de escritura como un "canal de transmisión" 108. El canal 108 de transmisión puede utilizarse como un medio genérico para emitir información entre el componente 102 de envío y el componente 104 de recepción de una manera multiplexada por división de tiempo.
El componente 102 de envío puede leer desde o escribir en el componente 104 de recepción. En el caso en el que el componente 102 de envío escribe en el componente 104 de recepción, el componente 102 de envío puede muestrear una o más señales 112 de banda lateral para una confirmación de que el componente 104 de recepción está preparado para realizar una operación de escritura. Si el componente 102 de envío recibe una confirmación de recepción, puede emitir una ubicación de dirección sobre el canal 108 de transmisión seguida por datos de escritura. El componente 102 de envío también puede utilizar una o más señales 114 de banda lateral para solicitar una operación de escritura e indicar el número de bytes de datos que van a emitirse. Si los datos de escritura son múltiples bytes, entonces el componente 104 de recepción puede almacenar los datos en un bloque de ubicaciones de direcciones secuenciales que comienza con la ubicación de dirección emitida sobre el canal 108 de transmisión. A modo de ejemplo, si el dispositivo de envío emite una ubicación de dirección 100_{HEX} seguida por bytes de datos de escritura, el componente de recepción puede escribir los datos de ubicaciones de direcciones en un bloque de ubicaciones de direcciones que empieza en 100_{HEX} y que termina en 103_{HEX}. Los 4 bytes de datos de escritura se denominan como la "carga útil".
En el caso en el que el componente 102 de envío lee desde el componente 104 de recepción, el componente 102 de envío puede muestrear una o más de las señales 112 de banda lateral para una confirmación de que el componente 104 de recepción está preparado para realizar una operación de lectura. Si el componente 102 de envío recibe una confirmación de recepción, puede emitir una ubicación de dirección sobre el canal 108 de transmisión. El componente 102 de envío puede utilizar una o más de las señales 114 de banda lateral para solicitar una operación de lectura e indicar el número de bytes de datos que están emitiéndose. Si los datos de lectura son múltiples bytes, entonces el componente de recepción puede leer datos desde un bloque de ubicaciones de direcciones secuenciales que comienza con la ubicación de dirección emitida sobre el canal 108 de transmisión. A modo de ejemplo, si el dispositivo de envío emite una ubicación de dirección 200_{HEX} y solicita 4 bytes de datos de lectura, el componente de recepción puede recuperar los datos de lectura a partir de un bloque de ubicaciones de direcciones que empieza en 200_{HEX} y que termina en 203_{HEX}.
La figura 2 es un diagrama de bloques conceptual que ilustra un ejemplo de una conexión punto a punto a través de un bus de dos canales de dirección múltiple entre dos componentes en un sistema de procesamiento. En la realización mostrada en la figura 2, el componente 102 de envío puede utilizar el canal 108 de transmisión para emitir dos ubicaciones 104a y 104b de dirección diferentes dentro del componente 104 de recepción al mismo tiempo. Pueden asociarse una o más señales 114a y 114b de banda lateral con cada una de las ubicaciones de direcciones. Se entenderá que el componente 102 de envío también puede utilizar el canal 108 de transmisión para emitir una única ubicación de dirección a dos componentes de recepción diferentes al mismo tiempo en aplicaciones de bus compartido. Si el componente de recepción es un puente, pueden utilizarse una o ambas ubicaciones de direcciones para acceder al puente, o como alternativa acceder a otro componente de recepción en el otro lado del puente. Realizaciones alternativas del bus pueden incluir un canal de transmisión configurado para soportar una emisión simultánea de cualquier número de ubicaciones de direcciones a múltiples componentes de recepción, ubicaciones de direcciones múltiples dentro de un componente de recepción, o cualquier combinación de los mismos.
El uso del canal 108 de transmisión para emitir simultáneamente ubicaciones de direcciones múltiples puede mejorar el rendimiento proporcionando información de direcciones al componente de recepción antes, disminuyendo por tanto la cantidad de latencia de lectura. Además, la emisión simultánea de ubicaciones de direcciones múltiples puede permitir una devolución más eficaz de datos de lectura al componente 102 de envío a través del canal
110 de lectura.
En aplicaciones de buses de direcciones múltiples, el canal 108 de transmisión puede ser de 64 bits de ancho para soportar dos direcciones de 32 bits. La primera dirección de 32 bits, que se denomina como la "dirección A", puede utilizarse para emitir una ubicación 104a de dirección. La segunda dirección de 32 bits, que se denominará como "dirección B," puede utilizarse para emitir la otra ubicación 104b de dirección. Con esta configuración, el componente 102 de envío puede iniciar (1) dos operaciones de lectura simultáneamente, (2) dos operaciones de escritura simultáneamente, (3) operaciones de lectura y escritura simultáneas en diferentes ubicaciones de direcciones, o (4) operación de lectura y escritura simultáneas en la misma ubicación o ubicaciones de direcciones.
Puede utilizarse un esquema de direccionamiento implícito para manejar las solicitudes de operación de lectura y escritura simultánea en la misma ubicación de dirección. A modo de ejemplo, el componente 102 de envío puede emitir la ubicación de dirección para la primera operación como dirección A, y la ubicación de dirección para la segunda operación como dirección B. La secuencia de lectura/escritura realizada por el componente 104 de recepción se basará en este esquema de direccionamiento para mantener coherencia secuencial. Por tanto, si se utiliza la misma ubicación de dirección como dirección A y dirección B, y el dispositivo de envío señaliza una operación de escritura de 1 byte para la dirección A y una operación de lectura de 1 byte para la dirección B, entonces el componente 104 de recepción esperará hasta que los datos emitidos sobre el canal de transmisión se escriban en la ubicación de dirección antes de proporcionar los datos recién escritos en esta ubicación de dirección al canal de lectura para la transmisión al componente 102 de envío. Por el contrario, si el dispositivo de envío señaliza una operación de lectura de 1 byte para la dirección A y una operación de escritura de 1 byte para la dirección B, entonces el componente 104 de recepción proporcionará los datos en esta ubicación de dirección al canal 110 de lectura antes de escribir los nuevos datos del canal 108 de transmisión en esta ubicación de dirección.
Como alternativa, las solicitudes de operación de lectura y escritura en la misma ubicación de dirección pueden emitirse secuencialmente. A modo de ejemplo, el componente 102 de envío puede emitir la ubicación de dirección para la primera operación como dirección A durante un primer ciclo de reloj, y la ubicación de dirección para la segunda operación como dirección B durante el siguiente ciclo de reloj. En este caso, el componente de recepción puede realizar la operación solicitada durante el primer ciclo de reloj antes de realizar la operación solicitada durante el segundo ciclo de reloj.
También puede utilizarse un esquema de direccionamiento implícito para controlar la secuencia de datos emitidos sobre los canales 108 y 110 de transmisión y lectura. A modo de ejemplo, si el componente de envío inicia una operación de lectura desde dos ubicaciones de direcciones simultáneamente, el componente 104 de recepción puede emitir los datos de lectura asociados con la dirección A seguidos por los datos de lectura asociados con la dirección B. De manera similar, si el componente de envío inicia una operación de escritura en dos ubicaciones de direcciones simultáneamente, el componente de envío puede emitir los datos de escritura asociados con la dirección A seguidos por los datos de escritura asociados con la dirección B. Como alternativa, puede utilizarse señalización de banda lateral para controlar la secuencia emitida de los datos de lectura y escritura.
Los diversos conceptos descritos hasta ahora pueden implementarse utilizando cualquier número de protocolos. En la descripción detallada a continuación, se presentará un ejemplo de un protocolo de bus. Este protocolo de bus se presenta para ilustrar los aspectos inventivos de un sistema de procesamiento, con la comprensión de que tales aspectos inventivos pueden utilizarse con cualquier protocolo adecuado. La señalización básica utilizada para este protocolo se muestra a continuación en la Tabla 1. Los expertos en la técnica podrán fácilmente variar y/o añadir señales a este protocolo en la implementación real de la estructura de bus descrita en el presente documento.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página siguiente)
100
La figura 3 es un diagrama de sincronismo que muestra cuatro operaciones de lectura en cadena de direcciones a través de bus de dos canales de dirección múltiple. Puede utilizarse un reloj 302 de sistema para sincronizar las comunicaciones entre el componente de envío y el componente de recepción. El reloj 302 de sistema se muestra con catorce ciclos de reloj, con cada ciclo numerado secuencialmente para mayor facilidad de explicación.
Pueden iniciarse dos operaciones de lectura mediante el componente de envío durante el segundo ciclo 303 de reloj. Esto puede conseguirse emitiendo una ubicación de dirección asociada con una primera operación R_{1} de lectura como la dirección A y una ubicación de dirección asociada con una segunda operación R_{2} de lectura como la dirección B a través del canal 318 de transmisión. La operación de lectura puede seleccionarse imponiendo indicadores de señal de lectura/escritura para las direcciones A y B a "1". Los indicadores de señal de lectura/escritura para las direcciones A y B se muestran en la figura 3 como R/W A 306 y R/W B 312, respectivamente. El componente de envío también puede alertar al componente de recepción de que se emitirán ubicaciones de direcciones imponiendo las señales AVálidaA 304 y AVálidaB 310. Finalmente, el componente de envío puede proporcionar al componente de recepción señales que indican el tamaño de la carga útil para las operaciones de lectura. Estas señales se muestran en la figura 3 como TamañoA 308 para la dirección A y TamañoB 314 para la dirección B. El número de ciclos de reloj necesarios para emitir la carga útil, denominada comúnmente en la técnica como pulsos de datos, puede utilizarse para indicar el tamaño de la carga útil. A modo de ejemplo, TamañoA 308 y TamañoB 314 indican ambos dos pulsos de datos. Esto significa que va a leerse una carga útil de 16 bytes desde un bloque de 16 ubicaciones de direcciones secuenciales que empieza en la dirección A y va a leerse otra carga útil de 16 bytes desde un bloque de 16 ubicaciones de direcciones secuenciales que empieza en la dirección B.
El componente de recepción puede monitorizar las señales AVálidaA 304 y AVálidaB 310 para determinar cuándo se emiten ubicaciones de direcciones válidas sobre el canal 318 de transmisión. Cuando el componente de recepción detecta la imposición de las señales AVálidaA 304 y AVálidaB 310, puede muestrear la información de dirección del canal 318 de transmisión y muestrear los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312 para determinar si el componente de envío está solicitando una operación de lectura o escritura para las direcciones A y B. Basándose en esta información, y el tamaño de la carga útil indicado por las señales TamañoA 308 y TamañoB 314, el componente de recepción puede comenzar a recuperar datos de lectura en las ubicaciones de direcciones apropiadas. El componente de recepción también puede imponer una señal de confirmación 316 de transferencia indicando que ha recibido satisfactoriamente la emisión.
El final de segundo ciclo 303 de reloj, el componente de envío puede detectar la imposición de la señal de confirmación 316 de transferencia, y responder iniciando dos operaciones de lectura más. Esto puede conseguirse emitiendo una ubicación de dirección asociada con una tercera operación R_{3} de lectura como la dirección A y una ubicación de dirección asociada con una cuarta operación R_{4} de lectura como la dirección B a través del canal 318 de transmisión, ajustando los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312 a "1," imponiendo las señales AVálidaA 304 y AVálidaB 310, e indicando al componente de recepción el tamaño de la carga útil utilizando las señales TamañoA 308 y TamañoB 314. En este caso, el tamaño de la carga útil para ambas operaciones de lectura es
16 bytes.
El componente de recepción puede detectar la imposición de las señales AVálidaA 304 y AVálidaB 310, muestrear la dirección de información del canal 318 de transmisión, y muestrear los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312. Basándose en esta información, y el tamaño de la carga útil indicado por las señales TamañoA 308 y TamañoB 314, el componente de recepción puede comenzar a recuperar datos de lectura en las ubicaciones de direcciones apropiadas. El componente de recepción también puede imponer la señal de confirmación 316 de transferencia indicando que ha recibido satisfactoriamente la emisión.
Una vez que el componente de envío detecta la imposición de la señal de confirmación 316 de transferencia al final del tercer ciclo 305 de reloj, puede eliminar la imposición de las señales AVálidaA 304 y AVálidaB 310, indicando al componente de recepción que no se solicitará una operación de lectura o escritura durante el cuarto ciclo 307 de reloj.
Debido a la latencia de lectura del componente de recepción, puede experimentarse un retardo de varios ciclos de reloj antes de que estén disponibles los datos de lectura. En este caso, los primeros 8 bytes de los datos R_{1} (1) de lectura asociados con la primera operación R_{1} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante el sexto ciclo 311 de reloj, y los segundos 8 bytes de datos R_{1} (2) de lectura asociados con la primera operación R_{1} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante el séptimo ciclo 313 de reloj.
De una manera similar, los datos R_{2} (1) y R_{2} (2) de lectura asociados con la segunda operación R_{2} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante los ciclos 315 y 317 de reloj octavo y noveno, los datos R_{3} (1) y R_{3} (2) de lectura asociados con la tercera operación R_{3} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante los ciclos 319 y 321 de reloj décimo y undécimo, y los datos R_{4} (1) y R_{4} (2) de lectura asociados con la cuarta operación R_{4} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante los ciclos 323 y 325 de reloj duodécimo y decimotercero.
Durante esta emisión del octavo ciclo de reloj, el componente de recepción puede imponer una señal de confirmación 324 de lectura para indicar al componente de envío que está emitiendo datos de lectura sobre el canal 322 de lectura.
La figura 4 es un diagrama de sincronismo que muestra seis operaciones de lectura en cadena de direcciones a través de un bus de dos canales de dirección múltiple. Las cuatro operaciones de lectura descritas anteriormente en conexión con la figura 3 se repiten en la figura 4, y por lo tanto, no merece descripción adicional en este punto.
Pueden iniciarse dos operaciones de lectura adicionales mediante el componente de envío en el cuarto ciclo 307 de reloj emitiendo una ubicación de dirección asociada con una quinta operación R_{5} de lectura como la dirección A y una ubicación de dirección asociada con una sexta operación R_{6} de lectura como la dirección B a través del canal 318 de transmisión, ajustando los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312 a "1," imponiendo las señales AVálidaA 304 y AVálidaB 310, e indicando al componente de recepción el tamaño de la carga útil utilizando las señales TamañoA 308 y TamañoB 314.
Durante el mismo ciclo de reloj, el componente de recepción puede eliminar la imposición de la señal de confirmación 316 de transferencia indicando que no puede aceptar actualmente la emisión porque, a modo de ejemplo, su cola de direcciones está llena. El componente de envío puede detectar que la señal de confirmación 316 de transferencia no está impuesta al final del cuarto ciclo 307 de reloj. En respuesta, el componente de envío puede continuar emitiendo las ubicaciones de direcciones para las operaciones R_{5} y R_{6} de lectura quinta y sexta sobre el canal 318 de transmisión, junto con los ajustes apropiados para los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312, las señales AVálidaA 304 y AVálidaB 310, y las señales TamañoA 308 y TamañoB 314, hasta que el componente de envío detecta la imposición de la señal de confirmación 316 de transferencia desde el componente de recepción. En este caso, la emisión se repite en los ciclos 309, 311 y 313 de reloj quinto, sexto y séptimo. Durante el séptimo ciclo 313, el componente de recepción puede ser capaz de recibir una emisión sobre el canal 318 de transmisión y realizar la operación solicitada, como se indica por la imposición de la señal de confirmación 316 de transferencia. En respuesta a la imposición de la señal de confirmación 316 de transferencia, el componente de envío determina que no necesita enviar una emisión repetida durante el octavo ciclo 315 de reloj, y elimina la imposición de las señales AVálidaA 304 y AVálidaB 310.
Como alternativa, el componente de envío puede poner en cola la emisión para las ubicaciones de direcciones asociadas con las operaciones de lectura quinta y sexta cuando detecta que la señal de confirmación 316 de transferencia no está impuesta al final del cuarto ciclo 307 de reloj. La emisión puede ponerse en cola hasta que el componente de recepción indica que está preparado para aceptar una emisión a través del canal 318 de transmisión volviendo a imponer la señal de confirmación 316 de transferencia. En este caso, el componente de envío puede monitorizar la señal de confirmación 316 de transferencia hasta que se impone mediante el componente de recepción en el séptimo ciclo 313 de reloj. Cuando el componente de envío detecta que la confirmación 316 de transferencia está impuesta, puede volver a emitir las ubicaciones de direcciones en cola a través del canal 318 de transmisión en el octavo ciclo 315 de reloj, junto con los ajustes apropiados para los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312, las señales AVálidaA 304 y AVálidaB 310, y las señales TamañoA 308 y TamañoB 314. Durante los ciclos 309, 311, y 313 de reloj quinto, sexto y séptimo, el componente de envío puede emitir nuevas ubicaciones de direcciones sobre el canal 318 de transmisión, o emitir cualquier dato de escritura pendiente al componente de recepción.
Volviendo a la figura 4, el componente de recepción puede ser capaz de recibir una emisión sobre el canal 318 de transmisión y realizar la operación solicitada en el séptimo ciclo 313 de reloj. Más específicamente, el componente de recepción puede muestrear la información de dirección del canal 318 de transmisión, y muestrear los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312. Basándose en esta información, y el tamaño de la carga útil indicado por las señales TamañoA 308 y TamañoB 314, el componente de recepción puede comenzar a recuperar los datos de lectura en las nuevas ubicaciones de direcciones. Los primeros 8 bytes de los datos Ras (1) de lectura asociados con la quinta operación R_{5} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante el decimocuarto ciclo 327 de reloj, y los segundos 8 bytes de datos R_{5} (2) de lectura asociados con la quinta operación R_{5} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante el decimoquinto ciclo 329 de reloj. De manera similar, los primeros 8 bytes de los datos R_{6} (1) de lectura asociados con la sexta operación R_{6} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante el decimosexto ciclo 331de reloj, y los segundos 8 bytes de datos R_{6} (2) de lectura asociados con la sexta operación R_{6} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura durante el decimoséptimo ciclo 333 de reloj.
La figura 5 es un diagrama de sincronismo que muestra operaciones de lectura y escritura a través de un bus de dos canales de dirección múltiple. Pueden iniciarse dos operaciones de lectura mediante el componente de envío durante el segundo ciclo 303 de reloj. Esto puede conseguirse emitiendo una ubicación de dirección asociada con una primer operación R_{1} de lectura como la dirección A y una ubicación de dirección asociada con una segunda operación R_{2} de lectura como la dirección B a través del canal 318 de transmisión, ajustando los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312 a "1," imponiendo las señales AVálidaA 304 y AVálidaB 310, e indicando al componente de recepción el tamaño de la carga útil utilizando las señales TamañoA 308 y TamañoB 314. En este caso, el tamaño de la carga útil para la operación de lectura en ambas ubicaciones de direcciones es 16 bytes.
El componente de recepción puede detectar la imposición de las señales AVálidaA 304 y AVálidaB 310, muestrear la información de dirección del canal 318 de transmisión, y muestrear los indicadores de señal de lectura/escritura R/W A 306 y R/W B 312. Basándose en esta información, y el tamaño de la carga útil indicado por las señales TamañoA 308 y TamañoB 314, el componente de recepción puede comenzar a recuperar datos de lectura en las ubicaciones de direcciones apropiadas. El componente de recepción también puede imponer la señal de confirmación 316 de transferencia indicando que ha recibido satisfactoriamente la emisión indicando que ha recibido satisfactoriamente la emisión.
El componente de envío puede detectar la imposición de la señal de confirmación 316 de transferencia al final del segundo ciclo 303 de reloj. En respuesta a la imposición de la señal de confirmación 316 de transferencia, el componente de envío puede eliminar la imposición de las señales AVálidaA 304 y AVálidaB 310. Eliminando la imposición de las señales AVálidaA 304 y AVálidaB 310, el componente de envío está indicando al componente de recepción que o bien emitirá datos de escritura sobre el canal 318 de transmisión, o bien no hará nada sobre el canal 318 de transmisión. En este caso, no se emitirá nada sobre el canal 318 de transmisión porque no se ha realizado una solicitud de operación de escritura.
En el quinto ciclo 503 de reloj, el componente de envío puede iniciar una operación de escritura emitiendo una ubicación de dirección asociada con una primera operación W_{1} de escritura como la dirección A través del canal 318 de transmisión, ajustando el indicador 306 de señal de lectura/escritura R/W A a "0" para indicar una operación de escritura, imponiendo la señal 304 AVálidaA para alertar al componente de recepción de una emisión de ubicación de dirección, e indicando al componente de recepción el tamaño de la carga útil utilizando la señal TamañoA 308. En este caso, el tamaño de la carga útil para la operación de escritura es 32 bytes como se indica en la figura 5 mediante cuatro pulsos de datos.
En respuesta a esta emisión, el componente de recepción puede imponer la señal de confirmación 316 de transferencia durante el quinto ciclo 309 de reloj indicando que ha recibido satisfactoriamente la emisión. El componente de recepción también puede imponer la señal de confirmación 320 de escritura durante el sexto ciclo 311 de reloj indicando
que está preparado para escribir datos en la ubicación de dirección asociada con la primera operación W_{1} de escritura.
En el sexto ciclo de reloj 311, el componente de envío puede eliminar la imposición de la señal 304 AVálidaA. Como se explicó anteriormente, eliminando la imposición de la señal 304 AVálidaA , el componente de envío está indicando al componente de recepción que o bien emitirá datos de escritura sobre el canal 318 de transmisión, o bien no hará nada sobre el canal 318 de transmisión. En este caso, el componente de recepción estará esperando los primeros 8 bytes de los datos de escritura asociados con la primera operación W_{1} de escritura. Aunque puede solicitarse una segunda operación de escritura en cualquier momento imponiendo las señales 304 y 310 AVálidaA y/o AVálidaB, el componente de envío no enviará datos de escritura para la segunda operación de escritura hasta que esté completa la emisión de los datos de escritura para la primera operación de escritura. Este enfoque tiende a reducir los requisitos de señalización de banda lateral que podrían requerirse de otra manera para indicar con qué operación de escritura está asociada la carga útil.
Eliminada la imposición de la señal 304 AVálidaA, el componente de envío puede emitir sobre el canal 318 de transmisión los primeros 8 bytes de los datos W_{1} (1) de escritura asociados con la primera operación W_{1} de escritura. El componente de recepción puede escribir los datos en el bloque apropiado de 8 ubicaciones de direcciones.
De manera concurrente, los primeros 8 bytes de los datos R_{1} (1) de lectura asociados con la primera operación R_{1} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura. El componente de recepción también puede imponer la señal de confirmación 324 de lectura indicando que está enviando datos de lectura sobre el canal 322 de lectura.
Con la señal de confirmación 320 de escritura todavía impuesta en el séptimo ciclo 313 de reloj, el componente de envío puede emitir sobre el canal 318 de transmisión los segundos 8 bytes de los datos W_{1} (2) de escritura asociados con la primera operación W_{1} de escritura. El componente de recepción puede escribir los datos en el bloque apropiado de 8 ubicaciones de direcciones.
De manera concurrente, los segundos 8 bytes de los datos R_{1} (2) de lectura asociados con la primera operación R_{1} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura. El componente de recepción también puede imponer la señal de confirmación 324 de lectura.
En el octavo ciclo 315 de reloj, el componente de envío puede suspender temporalmente la emisión de datos de escritura para iniciar una nueva operación de escritura seguida por una nueva operación de lectura. Esto puede conseguirse emitiendo una ubicación W_{2} de dirección asociada con una segunda operación de escritura como la dirección A y una ubicación de dirección asociada con una tercera operación R_{3} de lectura como la dirección B a través del canal 318 de transmisión, ajustando la señal 306 de indicador de lectura/escritura R/W A a "0," ajustando la señal 312 de indicador de lectura/escritura R/W B a "1," imponiendo las señales AVálidaA 304 y AVálidaB 310, e indicando al componente de recepción el tamaño de la carga útil utilizando las señales TamañoA 308 y TamañoB 314. En este caso, el tamaño de carga útil para las operaciones tanto de escritura como de lectura es 16 bytes.
Durante el mismo octavo ciclo 315 de reloj, los primeros 8 bytes de los datos R_{2} (1) de lectura asociados con la segunda operación R_{2} de lectura pueden recuperarse mediante el componente de recepción y emitirse sobre el canal 322 de lectura. El componente de recepción también puede imponer la señal de confirmación 324 de lectura.
En el noveno ciclo de reloj 317, el componente de envío puede eliminar la imposición de las señales AVálidaA 304 y AVálidaB 310 indicando al componente de recepción que el componente de envío reanudará la emisión de datos de escritura sobre el canal 318 de transmisión. Con la señal de confirmación 320 de escritura todavía impuesta, el componente de envío puede emitir sobre el canal 318 de transmisión los terceros 8 bytes de los datos W_{1} (3) de escritura asociados con la primera operación W_{1} de escritura. El componente de recepción puede escribir los datos en el bloque apropiado de 8 ubicaciones de direcciones.
De manera concurrente, los segundos 8 bytes de los datos R_{2} (2) de lectura asociados con la segunda operación R_{2} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura. Con esta emisión, el componente de recepción ha completado ambas operaciones de lectura iniciadas por el componente de envío durante el segundo ciclo 303 de reloj, y por lo tanto, puede eliminar la imposición de la señal de confirmación 324 de lectura. Debido a la latencia de lectura del componente de recepción, puede no estar preparado para emitir los datos de lectura asociados con la tercera operación R_{3} de lectura.
Con la señal de confirmación 320 de escritura todavía impuesta a través del duodécimo ciclo 323 de reloj, el componente de envío puede emitir sobre el canal 318 de transmisión los 8 bytes finales los datos W_{1} (4) de escritura asociados con la primera operación W_{1} de escritura en el décimo 319 ciclo de reloj. El componente de envío también puede emitir los primeros 8 bytes de los datos W_{2} (1) de escritura asociados con la segunda operación W_{2} de escritura en el undécimo ciclo 321 de reloj y los últimos 8 bytes de los datos de escritura W_{2} (2) asociados con la segunda operación W_{2} de escritura en el duodécimo ciclo 323 de reloj. El componente de recepción puede escribir estos datos en el bloque apropiado de 16 ubicaciones de direcciones. Con esta emisión, se completan las operaciones de escritura pendientes, y por lo tanto, el componente de recepción puede eliminar la imposición de la señal de confirmación 320 de escritura en el siguiente ciclo 325 de reloj.
En el duodécimo ciclo 323 de reloj, los primeros 8 bytes de los datos R_{3} (1) de lectura asociados con la tercera operación R_{3} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura. En el siguiente ciclo 325 de reloj, los segundos 8 bytes de datos R_{3} (2) de lectura asociados con la tercera operación R_{3} de lectura pueden recuperarse del componente de recepción y emitirse sobre el canal 322 de lectura. Al término de la emisión final de datos de lectura, el componente de recepción puede eliminar la imposición de la señal de confirmación 324 de lectura en el decimocuarto ciclo 327 de reloj.
La capacidad del sistema de procesamiento para emitir información de dirección en el medio de una operación de escritura que se extiende a lo largo de múltiples ciclos de reloj puede depender de las capacidades de almacenamiento intermedio de los componentes de envío y de recepción. En al menos una realización del sistema de procesamiento, el componente de envío puede implementarse con medios programables para habilitar o deshabilitar esta característica basándose en ventajas de rendimiento potencial o capacidades de almacenamiento temporal soportadas.
Los diversos bloques lógicos, módulos y circuitos ilustrativos descritos en conexión con las realizaciones dadas a conocer en el presente documento pueden implementarse o realizarse con un procesador de propósito general, un procesador de señal digital (DSP), un circuito integrado para aplicaciones específicas (ASIC), una matriz de puertas programable en campo (FPGA) u otro componente lógico programable, lógica de transistor o puerta discreta, componentes de hardware discretos, o cualquier combinación de los mismos diseñada para realizar las funciones descritas en el presente documento. Un procesador de propósito general puede ser un microprocesador, pero como alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador, o máquina de estados convencional. Un procesador también puede implementarse como una combinación de componentes de cálculo, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores con un núcleo DSP, o cualquier otra configuración de este tipo.
Los procedimientos o algoritmos descritos en conexión con las realizaciones dadas a conocer en el presente documento pueden realizarse directamente en hardware, en un módulo de software ejecutado por un procesador, o en una combinación de los dos. Un módulo de software puede residir en memoria RAM, memoria flash, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco extraíble, un CD- ROM, o cualquier otra forma de medio de almacenamiento conocida en la técnica. Un medio de almacenamiento puede acoplarse al procesador de tal manera que el procesador puede leer información de, y escribir información en, el medio de almacenamiento. Como alternativa, el medio de almacenamiento puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en el componente de envío y/o de recepción, o en otro lugar. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en el componente de envío y/o de recepción, o en otro lugar.

Claims (30)

1. Un procedimiento de comunicación entre un componente (102) de envío y un componente (104) de recepción a través de un bus (106), comprendiendo el bus un primer y un segundo canal (108, 110), teniendo cada uno de los canales una pluralidad de líneas, comprendiendo el procedimiento y estando caracterizado por:
emitir desde el componente de envío ubicaciones de direcciones múltiples y escribir datos sobre el primer canal (108), en el que las ubicaciones de direcciones múltiples incluyen dos o más ubicaciones de direcciones seleccionadas de una pluralidad de ubicaciones de direcciones de lectura o una pluralidad de ubicaciones de direcciones de escritura, en el que el componente de envío emite ubicaciones de direcciones múltiples al mismo tiempo;
almacenar los datos de escritura emitidos sobre el primer canal en el componente de recepción basándose en las ubicaciones de direcciones de escritura;
recuperar datos de lectura del componente de recepción basándose en las ubicaciones de direcciones de lectura; y
emitir a partir del componente de recepción los datos de lectura recuperados sobre el segundo canal (110).
2. El procedimiento según la reivindicación 1, que comprende además la señalización desde el componente de envío hasta el componente de recepción para indicar la secuencia en la que el componente de recepción almacenará los datos de escritura, recuperará los datos de lectura, o almacenará los datos de escritura y recuperará los datos de lectura para cada una de las emisiones de ubicaciones de direcciones múltiples.
3. El procedimiento según la reivindicación 1, en el que la secuencia en la que el componente de recepción almacena los datos de escritura, recupera los datos de lectura, o almacena los datos de escritura y recupera los datos de lectura para cada una de las emisiones de ubicaciones de direcciones múltiples se basa en la manera en la que se emiten las ubicaciones de direcciones múltiples.
4. El procedimiento según la reivindicación 1, en el que el primer canal comprende una pluralidad de líneas con cada una de las ubicaciones de direcciones para cada una de las emisiones de ubicaciones de direcciones múltiples que ocupan una parte de las líneas, y en el que la secuencia en la que el componente de recepción almacena los datos de escritura, recupera los datos de lectura, o almacena los datos de escritura y recupera los datos de lectura para cada una de las emisiones de ubicaciones de direcciones múltiples se basa en la manera en la que se distribuyen las ubicaciones de direcciones múltiples entre las líneas.
5. El procedimiento según la reivindicación 1, en el que cada una de las emisiones de ubicaciones de direcciones múltiples comprende dos de las ubicaciones de direcciones de lectura, dos de las ubicaciones de direcciones de escritura, o una de las ubicaciones de direcciones de lectura y una de las ubicaciones de direcciones de escritura.
6. El procedimiento según la reivindicación 1, en el que el primer canal comprende una pluralidad de líneas con una primera parte de las líneas asignada para una de las ubicaciones de direcciones múltiples y una segunda parte de las líneas asignada para la otra ubicación de dirección múltiple para cada una de las emisiones de ubicaciones de direcciones múltiples, y en el que el componente de recepción realiza la operación asociada con la ubicación de dirección asignada a la primera parte de las líneas antes de realizar la operación asociada con la ubicación de dirección asignada a la segunda parte de las líneas.
7. El procedimiento según la reivindicación 1, en el que al menos una parte de los datos de escritura se emite sobre el primer canal de manera concurrente con la emisión de al menos una parte de los datos de lectura recuperados sobre el segundo canal.
8. El procedimiento según la reivindicación 1, en el que una o más de las informaciones de direcciones de lectura o escritura se emiten sobre el primer canal de manera concurrente con la emisión de al menos una parte de los datos de lectura recuperados sobre el segundo canal.
9. El procedimiento según la reivindicación 1, en el que el componente de envío emite las ubicaciones de direcciones de lectura, las ubicaciones de direcciones de escritura y los datos de escritura sobre el primer canal de una manera multiplexada por división de tiempo.
10. El procedimiento según la reivindicación 9, en el que los datos de escritura comprenden una pluralidad de cargas útiles, y en el que el componente de recepción almacena cada una de las cargas útiles basándose en una de las ubicaciones de direcciones de escritura.
11. El procedimiento según la reivindicación 10, en el que el componente de envío realiza una de las emisiones de ubicaciones de direcciones múltiples entre la primera y la segunda parte de una de las cargas útiles.
12. El procedimiento según la reivindicación 11, en el que la emisión de direcciones múltiples entre la primera y la segunda parte de dicha una de las cargas útiles comprende dos de las ubicaciones de direcciones de lectura, dos de las ubicaciones de direcciones de escritura, o una de las ubicaciones de direcciones de lectura y una de las ubicaciones de direcciones de escritura.
13. El procedimiento según la reivindicación 1, que comprende además la señalización desde el componente de recepción hasta el componente de envío para confirmar la recepción de cada una de las ubicaciones de direcciones para cada una de las emisiones de ubicaciones de direcciones múltiples.
14. El procedimiento según la reivindicación 13, que comprende además repetir la emisión de una de las ubicaciones de direcciones para una de las emisiones de ubicaciones de direcciones múltiples en respuesta al componente de recepción que falla en confirmar la recepción de dicha una de las ubicaciones de direcciones.
15. El procedimiento según la reivindicación 1, que comprende además la señalización desde el componente de envío hasta el componente de recepción para indicar cuándo se está produciendo cada una de las emisiones de ubicaciones de direcciones múltiples sobre el primer canal.
16. Un sistema (100) de procesamiento, que comprende:
un bus (106) que tiene un primer y un segundo canal (108,110), teniendo cada uno de los canales una pluralidad de líneas; y caracterizado por:
un componente (102) de envío configurado para emitir ubicaciones de direcciones múltiples y datos de escritura sobre el primer canal (108), en el que las ubicaciones de direcciones múltiples incluyen dos o más ubicaciones de direcciones seleccionadas de una pluralidad de ubicaciones de direcciones de lectura o una pluralidad de ubicaciones de direcciones de escritura, estando configurado además el componente de envío para emitir ubicaciones de direcciones múltiples al mismo tiempo; y un componente (104) de recepción configurado para almacenar los datos de escritura emitidos sobre el primer canal basándose en ubicaciones de direcciones de escritura, recuperar datos de lectura basándose en ubicaciones de direcciones de lectura, y emitir los datos de lectura recuperados sobre el segundo canal (110) al componente de envío.
17. El sistema de procesamiento según la reivindicación 16, en el que el componente de recepción está configurado además para almacenar los datos de escritura, recuperar los datos de lectura, o almacenar los datos de escritura y recuperar los datos de lectura para cada una de las emisiones de ubicaciones de direcciones múltiples en una secuencia basada en la señalización desde el componente de envío.
18. El sistema de procesamiento según la reivindicación 16, en el que el componente de recepción está configurado además para almacenar los datos de escritura, recuperar los datos de lectura, o almacenar los datos de escritura y recuperar los datos de lectura para cada una de las emisiones de ubicaciones de direcciones múltiples en una secuencia basada en la manera en la que se emiten las ubicaciones de direcciones múltiples.
19. El sistema de procesamiento según la reivindicación 16, en el que el primer canal comprende una pluralidad de líneas con cada una de las ubicaciones de direcciones para cada una de las emisiones de ubicaciones de direcciones múltiples que ocupan una parte de las líneas, y en el que el componente de recepción está configurado además para almacenar los datos de escritura, recuperar los datos de lectura, o almacenar los datos de escritura y recuperar los datos de lectura para cada una de las emisiones de ubicaciones de direcciones múltiples en un secuencia basada en la manera en la que se distribuyen las ubicaciones de direcciones múltiples entre las líneas.
20. El sistema de procesamiento según la reivindicación 16, en el que cada una de las emisiones de ubicaciones de direcciones múltiples comprende dos de las ubicaciones de direcciones de lectura, dos de las ubicaciones de direcciones de escritura, o una de las ubicaciones de direcciones de lectura y una de las ubicaciones de direcciones de escritura.
21. El sistema de procesamiento según la reivindicación 20, en el que el primer canal comprende una pluralidad de líneas con una primera parte de las líneas asignada a una de las ubicaciones de direcciones múltiples y una segunda parte de las líneas asignada a la otra ubicación de dirección múltiple para cada una de las emisiones de ubicaciones de direcciones múltiples, y en el que el componente de recepción está configurado además para realizar la operación asociada con la ubicación de dirección asignada a la primera parte de las líneas antes de realizar la operación asociada con la ubicación de dirección asignada a la segunda parte de las líneas.
22. El sistema de procesamiento según la reivindicación 16, en el que el componente de envío está configurado además para emitir al menos una parte de los datos de escritura sobre el primer canal al mismo tiempo que el componente de recepción emite al menos una parte de los datos de lectura recuperados sobre el segundo canal.
23. El sistema de procesamiento según la reivindicación 16, en el que el componente de envío está configurado además para emitir una o más de la información de direcciones de lectura o escritura sobre el primer canal al mismo tiempo que el componente de recepción emite al menos una parte de los datos de lectura recuperados sobre el segundo canal
\newpage
24. El sistema de procesamiento según la reivindicación 16, en el que el componente de envío está configurado además para emitir las ubicaciones de direcciones de lectura, las ubicaciones de direcciones de escritura y los datos de escritura sobre el primer canal de una manera multiplexada por división de tiempo.
25. El sistema de procesamiento según la reivindicación 24, en el que los datos de escritura comprenden una pluralidad de cargas útiles, y en el que el componente de recepción está configurado además para almacenar cada una de las cargas útiles basándose en una de las ubicaciones de direcciones de escritura.
26. El sistema de procesamiento según la reivindicación 25, en el que el componente de envío está configurado además para realizar una de las emisiones de ubicaciones de direcciones múltiples entre la primera y la segunda parte de una de las cargas útiles.
27. El sistema de procesamiento según la reivindicación 26, en el que el componente de envío está configurado además para realizar dicha una de las emisiones de ubicaciones de direcciones múltiples entre la primera y la segunda parte de dicha una de las cargas útiles mediante la emisión de manera concurrente de dos de las ubicaciones de direcciones de lectura, dos de las ubicaciones de direcciones de escritura, o una de las ubicaciones de direcciones de lectura y una de las ubicaciones de direcciones de escritura.
28. El sistema de procesamiento según la reivindicación 16, en el que el componente de recepción está configurado además para enviar una señal al componente de recepción para confirmar la recepción de cada una de las ubicaciones de direcciones para cada una de las emisiones de ubicaciones de direcciones múltiples.
29. El sistema de procesamiento según la reivindicación 28, en el que el componente de envío está configurado además comprendiendo repetir la emisión de una de las ubicaciones de direcciones para una de las emisiones de ubicaciones de direcciones múltiples si el componente de recepción no confirma la recepción de dicha una de las ubicaciones de direcciones.
30. El sistema de procesamiento según la reivindicación 16, en el que el componente de envío está configurado además para enviar una señal al componente de recepción para indicar cuando se está produciendo cada una de las emisiones de ubicaciones de direcciones múltiples sobre el primer canal.
ES05711605T 2004-01-22 2005-01-20 Estructura de bus de dos canales de direcciones multiples. Active ES2313297T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US53850504P 2004-01-22 2004-01-22
US538505P 2004-01-22
US10/833,716 US20050182884A1 (en) 2004-01-22 2004-04-27 Multiple address two channel bus structure
US833716 2004-04-27

Publications (1)

Publication Number Publication Date
ES2313297T3 true ES2313297T3 (es) 2009-03-01

Family

ID=34811353

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05711605T Active ES2313297T3 (es) 2004-01-22 2005-01-20 Estructura de bus de dos canales de direcciones multiples.

Country Status (12)

Country Link
US (1) US20050182884A1 (es)
EP (1) EP1709543B1 (es)
JP (1) JP2007519121A (es)
KR (1) KR100881049B1 (es)
CN (1) CN1930563B (es)
AT (1) ATE409913T1 (es)
BR (1) BRPI0507033A (es)
DE (1) DE602005010048D1 (es)
ES (1) ES2313297T3 (es)
IL (1) IL177023A (es)
TW (1) TW200535624A (es)
WO (1) WO2005071557A2 (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209998B2 (en) * 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7975079B2 (en) * 2005-02-07 2011-07-05 Broadcom Corporation Computer chip set having on board wireless interfaces to support parallel communication
US7617343B2 (en) * 2005-03-02 2009-11-10 Qualcomm Incorporated Scalable bus structure
FR2901082B1 (fr) * 2006-05-09 2008-08-08 Viaccess Sa Procedes de diffusion et de reception de programmes multimedias embrouilles, terminal et tete de reseau pour ces procedes
WO2007147437A1 (en) * 2006-06-20 2007-12-27 Freescale Semiconductor, Inc. Method and apparatus for transmitting data in a flexray node
WO2008013968A2 (en) 2006-07-28 2008-01-31 Vast Systems Technology Corporation Virtual processor generation model for co-simulation
WO2008091575A2 (en) 2007-01-22 2008-07-31 Vast Systems Technology Corporation Method and system for modeling a bus for a system design incorporating one or more programmable processors
US8325633B2 (en) * 2007-04-26 2012-12-04 International Business Machines Corporation Remote direct memory access
US20090089515A1 (en) * 2007-10-02 2009-04-02 Qualcomm Incorporated Memory Controller for Performing Memory Block Initialization and Copy
FR2943690B1 (fr) 2009-03-31 2011-08-19 Michelin Soc Tech Procede et dispositif de fabrication d'un cable a trois couches du type gomme un situ
FR2943691B1 (fr) 2009-03-31 2011-08-19 Michelin Soc Tech Procede et dispositif de fabrication d'un cable a trois couches du type gomme in situ
FR2962453B1 (fr) 2010-05-20 2012-09-21 Michelin Soc Tech Cable metallique a trois couches, gomme in situ par un elastomere thermoplastique insature
FR2962456B1 (fr) 2010-05-20 2012-09-21 Michelin Soc Tech Procede de fabrication d'un cable metallique multicouches gomme in situ par un elastomere thermoplastique insature
FR2962454B1 (fr) 2010-05-20 2012-09-21 Michelin Soc Tech Procede de fabrication d'un cable metallique a trois couches du type gomme in situ
FR2962455B1 (fr) 2010-05-20 2012-09-21 Soc Tech Michelin Cable metallique multicouches gomme in situ par un elastomere thermoplastique insature
US8599886B2 (en) 2010-08-26 2013-12-03 Qualcomm Incorporated Methods and apparatus for reducing transfer qualifier signaling on a two-channel bus
CN103929415B (zh) * 2014-03-21 2018-03-06 华为技术有限公司 Rdma下数据读写的方法、装置和网络系统
DE102017204186A1 (de) * 2017-03-14 2018-09-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Effizientes Mehrbenutzer-Adressieren
US11422707B2 (en) * 2017-12-21 2022-08-23 Advanced Micro Devices, Inc. Scheduling memory requests for a ganged memory device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4468737A (en) * 1982-06-09 1984-08-28 Gte Automatic Electric Inc. Circuit for extending a multiplexed address and data bus to distant peripheral devices
JPS61269750A (ja) * 1985-05-24 1986-11-29 Fujitsu Ltd 記憶装置制御方式
US4725836A (en) * 1986-01-27 1988-02-16 Snap Systems, Inc. Series port connection of a plurality of terminals to a master processor
US5539389A (en) * 1991-11-15 1996-07-23 Pittway Corporation Enhanced group addressing system
US5793990A (en) * 1993-06-11 1998-08-11 Vlsi Technology, Inc. Multiplex address/data bus with multiplex system controller and method therefor
GB2285524B (en) * 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
US5761714A (en) * 1996-04-26 1998-06-02 International Business Machines Corporation Single-cycle multi-accessible interleaved cache
US5925118A (en) * 1996-10-11 1999-07-20 International Business Machines Corporation Methods and architectures for overlapped read and write operations
US6208655B1 (en) * 1996-11-27 2001-03-27 Sony Europa, B.V., Method and apparatus for serving data
US6349379B2 (en) * 1997-04-30 2002-02-19 Canon Kabushiki Kaisha System for executing instructions having flag for indicating direct or indirect specification of a length of operand data
GB2341766A (en) * 1998-09-18 2000-03-22 Pixelfusion Ltd Bus architecture
GB2352065B (en) * 1999-07-14 2004-03-03 Element 14 Ltd A memory access system
US6704820B1 (en) * 2000-02-18 2004-03-09 Hewlett-Packard Development Company, L.P. Unified cache port consolidation
US6708239B1 (en) * 2000-12-08 2004-03-16 The Boeing Company Network device interface for digitally interfacing data channels to a controller via a network
JP2002215606A (ja) * 2001-01-24 2002-08-02 Mitsubishi Electric Corp データ処理装置
US6931468B2 (en) * 2002-02-06 2005-08-16 Hewlett-Packard Development Company, L.P. Method and apparatus for addressing multiple devices simultaneously over a data bus
US6982892B2 (en) * 2003-05-08 2006-01-03 Micron Technology, Inc. Apparatus and methods for a physical layout of simultaneously sub-accessible memory modules

Also Published As

Publication number Publication date
KR100881049B1 (ko) 2009-02-05
US20050182884A1 (en) 2005-08-18
TW200535624A (en) 2005-11-01
WO2005071557A2 (en) 2005-08-04
JP2007519121A (ja) 2007-07-12
ATE409913T1 (de) 2008-10-15
WO2005071557A3 (en) 2005-11-17
EP1709543B1 (en) 2008-10-01
CN1930563A (zh) 2007-03-14
IL177023A0 (en) 2006-12-10
EP1709543A2 (en) 2006-10-11
BRPI0507033A (pt) 2007-06-05
CN1930563B (zh) 2011-04-20
KR20060122934A (ko) 2006-11-30
DE602005010048D1 (de) 2008-11-13
IL177023A (en) 2010-12-30

Similar Documents

Publication Publication Date Title
ES2313297T3 (es) Estructura de bus de dos canales de direcciones multiples.
US20220107904A1 (en) System bus transaction queue reallocation
US7739425B2 (en) Two channel computer bus architecture
ES2348582T3 (es) Estructura de bus escalable.
EP1430405B1 (en) Method and apparatus for distributed direct memory access for systems on chip
KR100814904B1 (ko) 칩 내부 회로 간의 데이터 전송을 위한 통신 시스템
ES2349488T3 (es) Controlador de acceso directo a memoria (dmac) para gestionar transferencias de longitudes desconocidas.
US6721836B2 (en) Bus system having an address/control bus and a data bus, and a data transfer method thereof
US20190197007A1 (en) Dual i2c and spi slave for fpga and asic implementation
US7805547B2 (en) Process and device for the transmission of data between a processor and a mass memory unit
JP2004318628A (ja) 演算処理装置
ES2371711T3 (es) Estructura de bus escalable.
US8296481B2 (en) Device and method for improving transfer efficiency of odd number of data blocks
KR100704218B1 (ko) 데이터 전송 장치
KR20000013078A (ko) 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법
US8601197B2 (en) Microcontroller including flexible connections between modules
JP2011133252A (ja) 半導体試験装置