ES2313297T3 - Estructura de bus de dos canales de direcciones multiples. - Google Patents
Estructura de bus de dos canales de direcciones multiples. Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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/423—Bus 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus 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.
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
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.
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
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.
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
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
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.
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)
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.
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.
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.
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)
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)
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 |
-
2004
- 2004-04-27 US US10/833,716 patent/US20050182884A1/en not_active Abandoned
-
2005
- 2005-01-20 AT AT05711605T patent/ATE409913T1/de not_active IP Right Cessation
- 2005-01-20 EP EP05711605A patent/EP1709543B1/en not_active Not-in-force
- 2005-01-20 BR BRPI0507033-3A patent/BRPI0507033A/pt not_active IP Right Cessation
- 2005-01-20 DE DE602005010048T patent/DE602005010048D1/de active Active
- 2005-01-20 JP JP2006551212A patent/JP2007519121A/ja active Pending
- 2005-01-20 CN CN2005800074451A patent/CN1930563B/zh not_active Expired - Fee Related
- 2005-01-20 WO PCT/US2005/001590 patent/WO2005071557A2/en active Application Filing
- 2005-01-20 ES ES05711605T patent/ES2313297T3/es active Active
- 2005-01-20 KR KR1020067016881A patent/KR100881049B1/ko not_active IP Right Cessation
- 2005-01-21 TW TW094101848A patent/TW200535624A/zh unknown
-
2006
- 2006-07-23 IL IL177023A patent/IL177023A/en not_active IP Right Cessation
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) | 半導体試験装置 |