MX2008010822A - Escritos cooperativos sobre el canal de direccion de un enlace. - Google Patents

Escritos cooperativos sobre el canal de direccion de un enlace.

Info

Publication number
MX2008010822A
MX2008010822A MX2008010822A MX2008010822A MX2008010822A MX 2008010822 A MX2008010822 A MX 2008010822A MX 2008010822 A MX2008010822 A MX 2008010822A MX 2008010822 A MX2008010822 A MX 2008010822A MX 2008010822 A MX2008010822 A MX 2008010822A
Authority
MX
Mexico
Prior art keywords
payload
channel
link
address
receiving device
Prior art date
Application number
MX2008010822A
Other languages
English (en)
Inventor
Richard Gerard Hofmann
Terence J Lohman
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
Publication of MX2008010822A publication Critical patent/MX2008010822A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/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
    • 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/40Bus structure
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Se describe un sistema de procesamiento y método para establecer comunicación en un sistema de procesamiento sobre un enlace; el sistema de procesamiento incluye un dispositivo receptor, un enlace que tiene primer, segundo y tercer canales, y un dispositivo de envío configurado para direccionar el dispositivo receptor en el primer canal, y para leer una carga útil desde el dispositivo receptor en el segundo canal, el dispositivo de envío además está configurado para escribir una primera porción de una carga útil para el dispositivo receptor en el primer canal y una segunda porción de la carga útil para el dispositivo receptor en el tercer canal.

Description

ESCRITOS COOPERATIVOS SOBRE EL CANAL DE DIRECCION DE UN ENLACE CAMPO DE LA INVENCION La presente descripción generalmente se refiere a sistemas de procesamiento, y de manera más especifica, a sistemas y técnicas para realizar escritos cooperativos sobre el canal de dirección de un enlace.
ANTECEDENTES DE LA INVENCION En el corazón de la mayoría de los sistemas de procesamiento modernos hay una interconexión a la que se hace referencia como un enlace. El enlace mueve información entre diversas entidades de procesamiento en el sistema. Hoy en día, la mayoría de las arquitecturas de enlace son bastante estandarizadas. Estas arquitecturas de enlace estandarizadas por lo regular tienen canales de lectura, escritura y dirección separados e independientes. Este tipo de arquitectura de enlace con frecuencia se encuentra en sistemas de procesamiento con uno o más procesadores de propósito general soportados por la memoria. En estos sistemas, la memoria proporciona un medio de almacenamiento que guarda los programas y datos necesarios por el procesador para realizar sus funciones. Un procesador puede leer o escribir en la memoria colocando una dirección en el canal de dirección y enviando la señal de control de lectura/escritura apropiada. Dependiendo del estado del control de lectura/escritura, el procesador escribe en la memoria sobre el canal de escritura o lee de la memoria sobre el canal de lectura. En estos tipos de sistemas de procesamiento, asi como en muchos otros, es deseable reducir la latencia de escritura e incrementar el ancho de banda de escritura.
SUMARIO DE LA INVENCION Se describe un aspecto de un sistema de procesamiento. El sistema de procesamiento incluye un dispositivo receptor, un enlace que tiene primer, segundo y tercer canales, y un dispositivo de envío configurado para direccionar al dispositivo receptor en el primer canal, y leer una carga útil desde el dispositivo receptor sobre el segundo canal, el dispositivo de envío además está configurado para escribir una primera porción de una carga útil para el dispositivo receptor en el primer canal y una segunda porción de la carga útil para el dispositivo receptor en el tercer canal. Se describe otro aspecto de un sistema de procesamiento. El sistema de procesamiento incluye un dispositivo receptor, un enlace que tiene primer, segundo y tercer canales, medios para direccionar el dispositivo receptor en el primer canal, medios para leer una carga útil desde el dispositivo receptor en el segundo canal, y medios para escribir una primera porción de una carga útil para el dispositivo receptor en el primer canal y una segunda porción de la carga útil para el dispositivo receptor en el tercer canal. Se describe un aspecto de un método para establecer comunicación entre un dispositivo de envío y un dispositivo receptor sobre un enlace. El enlace incluye, primer, segundo y tercer canales. El método incluye direccionar un dispositivo receptor en el primer canal, leer una carga útil desde el dispositivo receptor en el segundo canal, y escribir una primera porción de una carga útil para el dispositivo receptor en el primer canal y una segunda porción de la carga útil para el dispositivo receptor en el tercer canal. Se describe un aspecto de un dispositivo de dominio de enlace. El dispositivo de dominio de enlace incluye un procesador, y una interfaz de enlace configurada para conectar en interfaz el procesador a un enlace que tiene primer, segundo y tercer canales, la interfaz de enlace además está configurada para direccionar un esclavo en el primer canal, recibir una carga útil desde el esclavo en el segundo canal, y escribir una primera porción de una carga útil para el esclavo en el primer canal y una segunda porción de la carga útil para el esclavo en el tercer canal. Se describe otro aspecto de un dispositivo de dominio de enlace. El dispositivo de dominio de enlace incluye un procesador y medios para conectar en interfaz el procesador a un enlace que tiene primer, segundo y tercer canales, los medios para conexión en interfaz del procesador al enlace comprenden medios para direccionar un esclavo en el primer canal, medios para recibir una carga útil desde el esclavo en el segundo canal, y medios para escribir una primera porción de una carga útil para el esclavo en el primer canal y una segunda porción de la carga útil para el esclavo en el tercer canal. Se describe un aspecto de un dispositivo esclavo. El dispositivo esclavo incluye memoria y una interfaz de enlace configurada para conectar en interfaz la memoria con un enlace que tiene primer, segundo y tercer canales, la interfaz de enlace está configurada para recibir una dirección y una primera porción de una carga útil desde un dispositivo de dominio de enlace en el primer canal, enviar una carga útil al dispositivo de dominio de enlace en el segundo canal, y recibir una segunda porción de la carga útil desde el dispositivo de dominio de enlace en el tercer canal. Se describe otro aspecto de un dispositivo esclavo. El dispositivo esclavo incluye memoria, y medios para conectar en interfaz la memoria con un enlace que tiene primer, segundo y tercer canales, los medios para conectar en interfaz la memoria al enlace comprenden medios para recibir una dirección y una primera porción de una carga útil desde un dispositivo de dominio de enlace en el primer canal, medios para enviar una carga útil al dispositivo de dominio de enlace en el segundo canal, y medios para recibir una segunda porción de la carga útil desde el dispositivo de dominio de enlace en el tercer canal. Se entenderá que otras modalidades de la presente invención serán fácilmente aparentes para aquellos expertos en la técnica a partir de la siguiente descripción detallada, en donde diversas modalidades de la invención se muestran y describen a manera de ilustración. Tal como se podrá observar, la invención tiene la capacidad para otras modalidades diferentes y sus diversos detalles tienen la capacidad para experimentar modificación en otros aspectos, todo ello sin apartarse de la presente invención. Por consiguiente, las figuras y descripción detallada se observarán como ilustrativas en naturaleza y no como restrictivas.
BREVE DESCRIPCION DE LAS FIGURAS Aspectos de la presente invención se ilustran a manera de ejemplo, y no a manera de limitación, en las figuras anexas, en donde: La figura 1 es un diagrama en bloques simplificado que ilustra un ejemplo de dos dispositivos en un sistema de procesamiento que se comunican sobre un enlace ; La figura 2 es una ilustración que muestra información que fluye en los canales de escritura y dirección de un enlace en el sistema de procesamiento de la figura 1, en donde el canal de dirección proporciona un medio genérico para direcciones y datos; La figura 3 es un diagrama de temporización que muestra dos operaciones de escritura sobre un enlace en el sistema de procesamiento de la figura 1 ; La figura 4 es un diagrama en bloques simplificado que ilustra un sistema de procesamiento coherente de memoria caché con dos dispositivos de procesamiento en comunicación con un recurso compartido a través de una interconexión de enlace; La figura 5 es una ilustración que muestra la información que fluye en los canales de dirección y escritura entre un dispositivo de procesamiento y la interconexión de enlace en el sistema de procesamiento coherente de memoria caché de la figura 4 ; La figura 6 es un diagrama en bloques simplificado que ilustra un ejemplo de dos dispositivos en un sistema de procesamiento que se comunica sobre un enlace de 4 canales; y La figura 7 es una ilustración que muestra información que fluye en los canales de dirección y escritura de un enlace de 4 canales en el sistema de procesamiento de la figura 6 con los canales de dirección de lectura y escritura proporcionando un medio genérico para direcciones y datos.
DESCRIPCION DETALLADA DE LA INVENCION La descripción detallada se establece en conexión con las figuras anexas y pretende ser una descripción de las diversas modalidades de la presente invención y no pretende representar las únicas modalidades en las cuales se puede practicar la presente invención. La descripción detallada incluye detalles específicos con el fin de proporcionar un completo entendimiento de la presente invención. Sin embargo, aquellos expertos en la técnica podrán apreciar que la presente invención se puede practicar sin estos detalles específicos. En algunos casos, estructuras y componentes muy conocidos se muestran en forma de diagrama de bloques a fin de evitar oscurecer los conceptos de la presente invención . La figura 1 es un diagrama en bloques simplificado que ilustra un ejemplo de dos dispositivos en un sistema de procesamiento que se comunica sobre un enlace. El sistema de procesamiento 100 puede ser una recolección de dispositivos de hardware que cooperan para ejecutar una o más funciones de procesamiento. Las aplicaciones típicas del sistema de procesamiento 100 incluyen, pero no se limitan a, computadoras de escritorio, computadoras portátiles, servidores, teléfonos celulares, asistentes digitales personales (PDA), consolas de juegos, localizadores, módems, equipo de audio, dispositivos médicos, automotores, equipo de video, equipo industrial, o cualquier otra máquina o dispositivo con la capacidad para procesar, recuperar y almacenar información. El sistema de procesamiento 100 se muestra con un dispositivo de envío 102 en comunicación con un dispositivo receptor 104 sobre un enlace 106. El enlace 106 incluye tres canales: un canal de dirección 106a, un canal de escritura 106b, y un canal de lectura 106c. Un "canal" se define como un conjunto de conductores eléctricos utilizados para llevar información entre dos dispositivos y que tiene un conjunto de señales de control común. En este ejemplo, cada canal tiene un ancho de 32 bits. Por lo regular, se utilizará una interconexión de enlace (que no se muestra) para establecer una ruta de comunicaciones punto a punto entre el dispositivo de envío 102 y el dispositivo receptor 104 sobre el enlace 106. De manera alternativa, el enlace 106 puede ser un enlace dedicado, un enlace compartido o cualquier otro tipo de arquitectura de enlace conveniente. El dispositivo de envío 102 puede ser cualquier tipo de dispositivo de dominio de enlace. En este ejemplo, el dispositivo de envío 102 incluye un procesador 108 y una interfaz de enlace 110. El procesador 108 puede ser un procesador de propósito general, tal como un microprocesador, un procesador de propósito especial, tal como un procesador de señal digital (DSP), un circuito integrado de aplicación específica (ASIC) , un controlador de acceso de memoria directa (DMA), un puente, un componente lógico programable o cualquier otra entidad que requiere acceso al enlace 106. La interfaz de enlace 110 se utiliza para activar los canales de dirección y escritura 106a, 106b, asi como para proporcionar las señales de control apropiadas. La interfaz de enlace 110 también sirve como un receptor para el canal de lectura 106c. El dispositivo receptor 104 puede ser cualquier tipo de dispositivo esclavo. El dispositivo receptor 104 puede ser memoria temporal, tal como SDRAM, DRAM o RAM, o un dispositivo de almacenamiento a más largo plazo, tal como memoria rápida, memoria ROM, memoria EPROM, memoria EEPROM, CD-ROM, DVD, disco magnético, disco óptico reescribible , etcétera. De manera alternativa, el dispositivo receptor 104 puede ser un puente o cualquier otro dispositivo con la capacidad para recuperar y almacenar información. En este ejemplo, el dispositivo receptor 104 incluye una interfaz de enlace 112 y memoria 114. La interfaz de enlace 112 se utiliza para activar el canal de lectura 106c y las señales de control apropiadas. La interfaz de enlace 112 también sirve como un receptor para los canales de dirección y escritura 106a, 106b. La memoria 114 puede ser cualquier dispositivo a cuyo contenido se pueda tener acceso de forma aleatoria (es decir, leer y escribir) . En esta arquitectura de enlace, el dispositivo de envío 102 puede leer de, o escribir en el dispositivo receptor 104. Cuando el dispositivo de envío 102 realiza una operación de escritura, éste envía la dirección al dispositivo receptor 104 en el canal de dirección 106a con las señales de control apropiadas. La carga útil puede ser enviada ya sea en el canal de dirección 106a, el canal de escritura 106b, o ambos. La "carga útil" se refiere a los datos asociados con una operación de lectura o escritura particular, y en este caso, una operación de escritura. Cuando el dispositivo de envío realiza una operación de lectura, éste envía la dirección al dispositivo receptor 104 en el canal de dirección 106a con las señales de control apropiadas. En respuesta, el dispositivo receptor 104 envía la carga útil al dispositivo de envío 102 en el canal de lectura 106c. Un ejemplo de dos operaciones de escritura se describirá ahora con referencia a la figura 2. La figura 2 es una ilustración que muestra la información que fluye en los canales de dirección y escritura. En este ejemplo, el dispositivo de envío inicia dos operaciones de escritura de 16 bytes. Haciendo referencia a la figura 2, en el primer ciclo de reloj 202, el dispositivo de envío inicia la primera operación de escritura de 16 bytes enviando una dirección de 4 bytes Al al dispositivo receptor en el canal de dirección 106a con las señales de control apropiadas. Durante el mismo ciclo de reloj 202, el dispositivo de envió también envía los primeros 4 bytes de la primera carga útil Wl(l) al dispositivo receptor en el canal de escritura 106b. En el segundo ciclo de reloj 204, el dispositivo de envío utiliza tanto el canal de dirección 106a como el canal de escritura 106b para enviar datos. El dispositivo de envío envía los segundos 4 bytes de la primera carga útil Wl(2) en el canal de escritura 106b y los terceros 4 bytes de la primera carga útil Wl(3) en el canal de dirección 106a. El dispositivo de envío inicia la siguiente operación de escritura de 16 bytes durante el tercer ciclo de reloj 206 enviando una dirección de 4 bytes A2 al dispositivo receptor en el canal de dirección 106a con las señales de control apropiadas. El dispositivo de envío completa la transmisión de la primera carga útil durante el mismo ciclo de reloj de la siguiente operación de escritura enviando los últimos 4 bytes Wl(4) al dispositivo receptor en el canal de escritura 106b. El dispositivo de envío entonces utiliza los siguientes dos ciclos de reloj para enviar la segunda carga útil al dispositivo receptor. En el cuarto ciclo de reloj 208, el dispositivo de envío envía al dispositivo receptor los primeros 4 bytes de la segunda carga útil W2(l) en el canal de escritura 106b y los segundos 4 bytes de la segunda carga útil W2(2) en el canal de dirección 106A. En el siguiente ciclo de reloj 210, el dispositivo de envío envía al dispositivo receptor los terceros 4 bytes de la segunda carga útil 2(3) en el canal de escritura 106b y los últimos 4 bytes de la segunda carga útil W2(4) en el canal de dirección 106a. Se pueden utilizar dos tipos de señal de control para soportar un medio para la transmisión de direcciones y datos. La primera señal de control, denominada como una señal de "Dirección/Datos", se utiliza en el canal de dirección 106a para indicar si la información que se está transmitiendo es una dirección o datos. En este ejemplo, cuando se asevera la señal de Dirección/Datos, una dirección está siendo transmitida en el canal de dirección 106a. Por el contrario, cuando no se asevera la señal de Dirección/Datos, los datos están siendo transmitidos en el canal de dirección 106a. La segunda señal de control, denominada como una "ID de Pulsación", se utiliza en los canales de dirección y escritura 106a, 106b para indicar la pulsación de la carga útil actual que se está transmitiendo. Se debería apreciar que la "ID de Pulsación" es un indicador basado en cero de manera que un valor de "0" indica la primera pulsación de la carga útil que se está transmitiendo. En este ejemplo, cada carga útil es transmitida en su totalidad antes que se transmita la siguiente carga útil, y por lo tanto, no existe la necesidad de señalización para identificar cada carga útil. En modalidades alternativas del sistema de procesamiento, en donde las cargas útiles son transmitidas fuera de orden, o las pulsaciones de diferentes cargas útiles son intercaladas, la señalización puede incluir números de secuencia de carga útil . Un ejemplo que ilustra la manera en que dos señales de control se pueden utilizar se describirá ahora con referencia a la figura 3. El protocolo de enlace para los canales de dirección y escritura 106a, 106b se muestra a continuación en el Cuadro 1. Este protocolo de enlace está siendo utilizado para ilustrar los aspectos inventivos de un sistema de procesamiento, con el entendimiento de que dichos aspectos inventivos se pueden utilizar con otros protocolos de enlace. Aquellos expertos en la técnica fácilmente podrán modificar y/o agregar señales a este protocolo en la ejecución real de las arquitecturas de enlace que aquí se describen.
CUADRO 1 CUADRO 2 La figura 3 es un diagrama de tempori zación que muestra la señalización de control para las mismas dos operaciones de escritura de 16 bytes que se describieron anteriormente en relación con la figura 2. Un Reloj de Sistema 306 se puede utilizar para sincronizar comunicaciones entre los dispositivos de envió y recepción. El Reloj de Sistema 306 se muestra con cinco ciclos de reloj, en donde cada ciclo de reloj está numerado en secuencia. Una operación de escritura puede ser iniciada en el canal de dirección 106a por el dispositivo de envío durante el primer ciclo de reloj 301. Esta operación de escritura se logra transmitiendo la dirección Al para la primera operación de escritura en el medio de dirección de 32 bits 308. El dispositivo de envío asevera la señal de dirección Válida 312 para indicar que información válida está siendo transmitida en el canal de dirección 106a. El dispositivo de envío 102 también asevera la señal de Dirección/Datos 313 para indicar que la información que se está transmitiendo en el canal de dirección 106a es una dirección. El dispositivo de envío 102 no asevera la señal de Lectura/Escritura 316 para solicitar una operación de escritura. Se puede utilizar la señal de Tamaño de Carga Útil 318 para indicar el tamaño de la carga útil, que en este caso es de 16 bytes.
El estado de la ID de Pulsación de Dirección 314 se puede ignorar durante una posesión de dirección en el canal de dirección 106a. Durante el mismo primer ciclo de reloj 301, el dispositivo de envío utiliza el medio de escritura 320 para transmitir los primeros 4 bytes de la primera carga útil Wl(l) y establece la ID de Pulsación de Escritura 326 en "00". El dispositivo de envío también asevera la señal de Escritura Válida 324 para indicar que información válida está siendo transmitida en el canal de escritura 106b. Al final del primer ciclo de reloj 301, el dispositivo de envío revisa si existe una señal de Reconocimiento de Transferencia de Dirección Aseverada 310 para confirmar la entrega exitosa de la dirección Al sobre el canal de dirección 106a al dispositivo receptor. El dispositivo de envío también verifica si existe una señal de Reconocimiento de Transferencia de Escritura Aseverada 322 para confirmar la entrega exitosa de los primeros 4 bytes de la primera carga útil Wl(l) sobre el canal de escritura 106b para el dispositivo receptor. En el segundo ciclo de reloj 302, el dispositivo de envío utiliza el medio de Escritura 320 para enviar los segundos 4 bytes de la primera carga útil Wl(2) y establece la ID de Pulsación de Escritura 326 a "01". El dispositivo de envió también asevera la señal de Escritura Válida 324 para indicar que información válida está siendo transmitida en el canal de escritura 106b. Durante el mismo segundo ciclo de reloj 302, el dispositivo de envío transmite los terceros 4 bytes de la primera carga útil Wl(3) al dispositivo receptor en el medio de Dirección 308 y establece la ID de Pulsación de Dirección 314 a "10". El dispositivo de envío también asevera la señal de Dirección Válida 312 para indicar que información válida está siendo transmitida en el canal de dirección 106a y no asevera la señal de Dirección/Datos 313 para indicar que la información que se está transmitiendo en el canal de dirección 106a son datos. El estado de la señal de Lectura/Escritura 316 y el Tamaño de Carga Útil 318 se pueden ignorar durante una posesión de datos en el canal de dirección 106a. En la figura 3, la señal de Lectura/Escritura 316 y el Tamaño de Carga Útil 318 permanecen sin cambios, pero se podrían establecer a cualquier estado. Al final del segundo ciclo de reloj 302, el dispositivo de envío revisa si existe una señal de Reconocimiento de Transferencia de Escritura Aseverada 322 para confirmar la entrega exitosa de los segundos 4 bytes de la primera carga útil Wl(2) sobre el canal de escritura 106b al dispositivo receptor. El dispositivo de envío también revisa si hay una señal de Reconocimiento de Transferencia de Dirección Aseverada 310 para confirmar la entrega exitosa de los terceros 4 bytes de la primera carga útil Wl(3) sobre el canal de dirección 106a al dispositivo receptor. En el tercer ciclo de reloj 303, el dispositivo de envío utiliza el medio de Escritura 320 para enviar los últimos 4 bytes de la primera carga útil Wl(4) y establece la ID de Pulsación de Escritura 326 a "11". El dispositivo de envío también asevera la señal de Escritura Válida 324 para indicar que información válida está siendo transmitida en el canal de escritura 106b. Durante el mismo tercer ciclo de reloj 303 para completar la primera operación de escritura, el dispositivo de envío transmite la dirección A2 para la segunda operación de escritura de 16 bytes en el medio de Dirección 308. El dispositivo de envío asevera la señal de Dirección Válida 312 para indicar que información válida está siendo transmitida en el canal de dirección 106a. El dispositivo de envío 102 también asevera la señal de Dirección/Datos 313 para indicar que la información que se está transmitiendo en el canal de dirección 106a es una dirección A2. El dispositivo de envío 102 no asevera la señal de Lectura/Escritura 316 para solicitar una operación de escritura. La señal del Tamaño de Carga Útil 318 se puede utilizar para indicar el tamaño de la carga útil, que en este caso es de 16 bytes. El estado de la ID de Pulsación de Dirección 314 se puede ignorar durante una posesión de dirección en el canal de dirección 106a. Al final del tercer ciclo de reloj 303, el dispositivo de envío revisa si existe una señal de Reconocimiento de Transferencia de Dirección Aseverada 310 para confirmar la entrega exitosa de la dirección A2 sobre el canal de dirección 106a al dispositivo receptor. El dispositivo de envío también revisa si existe una señal de Reconocimiento de Transferencia de Escritura Aseverada 322 para confirmar la entrega exitosa de los últimos 4 bytes de la primera carga útil Wl(4) sobre el canal de escritura 106b al dispositivo receptor. El dispositivo de envío utiliza los siguientes dos ciclos de reloj para enviar la segunda carga útil al dispositivo receptor. En el cuarto ciclo de reloj 304, el dispositivo de envío envía los primeros 4 bytes de la segunda carga útil W2(l) al dispositivo receptor utilizando el medio de Escritura 320 y establece la ID de Pulsación de Escritura 326 a "00". El dispositivo de envío continúa aseverando la señal de Escritura Válida 324 para indicar que información válida está siendo transmitida en el canal de escritura 106b.
Durante el mismo cuarto ciclo de reloj 304, el dispositivo de envío transmite los segundos 4 bytes de la segunda carga útil W2(2) en el medio de Dirección 308 y establece la ID de Pulsación de Dirección 314 a "01". El dispositivo de envío también asevera la señal de Dirección Válida 312 para indicar que información válida está siendo transmitida en el canal de dirección 106a y no asevera la señal de Dirección/Datos 313 para indicar que la información que se está transmitiendo en el canal de dirección 106a son datos. El estado de la señal de Lectura/Escritura 316 y el Tamaño de Carga Útil 318 se pueden ignorar durante una posesión de datos en el canal de dirección 106a. Al final del cuarto ciclo de reloj 304, el dispositivo de envío revisa para ver si existe una señal de Reconocimiento de Transferencia de Escritura Aseverada 322 para confirmar la entrega exitosa de los primeros 4 bytes de la segunda carga útil W2(l) sobre el canal de escritura 106b al dispositivo receptor. El dispositivo de envío también revisa para ver si existe una señal de Reconocimiento de Transferencia de Dirección Aseverada 310 para confirmar la entrega exitosa de los segundos 4 bytes de la segunda carga útil W2(2) sobre el canal de dirección 106a al dispositivo receptor. En el quinto ciclo de reloj 305, el dispositivo de envío envía los terceros 4 bytes de la segunda carga útil W2(3) al dispositivo receptor utilizando el medio de Escritura 320 y establece la ID de Pulsación de Escritura 326 a "10". El dispositivo de envío asevera la señal de Escritura Válida 324 para indicar que información válida está siendo transmitida sobre el canal de escritura 106b. Durante el mismo quinto ciclo de reloj 305, el dispositivo de envío transmite los últimos 4 bytes de la segunda carga útil W2(4) en el medio de Dirección 308 y establece la ID de Pulsación de Dirección 314 a "11". El dispositivo de envío también asevera la señal de Dirección Válida 312 para indicar que información válida está siendo transmitida en el canal de dirección 106a y no asevera la señal de Dirección/Datos 313 para indicar que la información que se está transmitiendo en el canal de dirección 106a son datos. El estado de la señal de Lectura/Escritura 316 y el Tamaño de Carga Útil 318 se pueden ignorar durante una posesión de datos en el canal de dirección 106a. Al final del quinto ciclo de reloj 305, el dispositivo de envío revisa para ver si existe una señal de Reconocimiento de Transferencia de Escritura Aseverada 322 para confirmar la entrega exitosa de los terceros 4 bytes de la segunda carga útil W2(3) sobre el canal de escritura 106b al dispositivo receptor. El dispositivo de envío también revisa si existe una señal de Reconocimiento de Transferencia de Dirección Aseverada 310 para confirmar la entrega exitosa de los últimos 4 bytes de la segunda carga útil W2 ( 4 ) sobre el canal de dirección 106a al dispositivo receptor. Una reducción en la señalización se puede lograr reemplazando la ID de Pulsación con un esquema de direccionamiento implícito. Un ejemplo de dicho esquema de direccionamiento implícito se muestra en la figura 2. En este ejemplo, el esquema de direccionamiento implícito requiere que la siguiente secuencia de 4 bytes de la carga útil actual sea transmitida en el ciclo de reloj más anticipado disponible, proporcionando preferencia al canal de escritura 106b sobre el canal de dirección 106a. Haciendo referencia a la figura 2, el ciclo de reloj más anticipado disponible para enviar los primeros 4 bytes de la primera carga útil Wl(l) es el primer ciclo de reloj 202 y el canal de escritura 106b está disponible durante ese ciclo de reloj 202. El ciclo de reloj más anticipado disponible para enviar los segundos 4 bytes de la primera carga útil Wl(2) es el segundo ciclo de reloj 204, y una vez más, el canal de escritura 106b queda disponible. El segundo ciclo de reloj 204 también queda disponible para transmitir los terceros 4 bytes de la primera carga útil l(3), pero el canal de escritura 106b no está disponible. Por lo tanto, los terceros 4 bytes de la primera carga útil l(3) son transmitidos en el canal de dirección 106a. El ciclo de reloj más anticipado disponible para enviar los últimos 4 bytes de la primera carga útil Wl(4) es el tercer ciclo de reloj 206, y una vez más, el canal de escritura 106b queda disponible. Durante el tercer ciclo de reloj 206, la dirección A2 para la segunda operación de escritura es transmitida al dispositivo receptor. Sin embargo, el canal de escritura 106a no está disponible para enviar los primeros 4 bytes de la segunda carga útil W2 ( 1 ) debido a que es necesario, durante el tercer ciclo de reloj 206 enviar los últimos 4 bytes de la primera carga útil Wl(4). El ciclo de reloj más anticipado disponible para enviar los primeros 4 bytes de la segunda carga útil W2 ( 1 ) es el cuarto ciclo de reloj 208 y el canal de escritura 106b queda disponible durante ese ciclo de reloj 208. El cuarto ciclo de reloj 208 también está disponible para transmitir los segundos 4 bytes de la segunda carga útil W2(2), pero el canal de escritura 106b no está disponible. Por lo tanto, los segundos 4 bytes de la segunda carga útil W2(2) son transmitidos en el canal de dirección 106a. El ciclo de reloj más anticipado disponible para enviar los últimos 8 bytes de la segunda carga útil 2(3), W2(4) es entonces el quinto ciclo de reloj 210. Los terceros 4 bytes de la segunda carga útil 2(3) son transmitidos en el canal de escritura 106b, es decir, el canal preferido, y los últimos 4 bytes de la segunda carga útil W2(4) son transmitidos en el canal de dirección 106a. El uso del canal de dirección como un medio para transmitir direcciones y datos se puede emplear en diversos ambientes de procesamiento. A manera de ejemplo, esta técnica se puede utilizar para reducir la cantidad de tiempo que le toma a un procesador adquirir una linea de memoria caché desde otro procesador en un sistema coherente de memoria caché ejecutado en hardware. Este ejemplo se describirá de manera adicional con referencia a la figura 4. Un sistema de procesamiento coherente de memoria caché 400 se muestra en la figura 4 con dos dispositivos de procesamiento 402a, 402b en comunicación con un recurso compartido, tal como un dispositivo de memoria 404, a través de una interconexión de enlace 406. En este ejemplo,, el primer dispositivo de procesamiento 402a lee a partir del dispositivo de memoria 404 colocando una dirección en su canal de dirección 406ai con las señales de control apropiadas. La dirección es reenviada al dispositivo de memoria 404 por la interconexión de enlace 406 en el canal de dirección 406a3 de la memoria. En respuesta, la interfaz de enlace 408 recupera un bloque de datos de la memoria 410 y lo coloca en el canal de lectura 406c3 de la memoria. La interconexión de enlace 406 reenvía los datos desde el dispositivo de memoria 404a al primer dispositivo de procesamiento 402a sobre el canal de lectura 406ci del primer dispositivo procesador. Una vez recibidos por el primer dispositivo de procesamiento 402a, los datos pueden ser colocados en la memoria caché 412, modificados por un procesador 414 y escritos de regreso en el dispositivo de memoria 404 mediante la interfaz de enlace 416. La operación de escritura se puede ejecutar en la misma manera que se describió anteriormente en relación con las figuras 2 y 3. La coherencia de la memoria caché tiene que ver con la situación en donde el segundo dispositivo- de procesamiento 402b de manera subsecuente intenta leer a partir de la misma dirección. Sin un mecanismo para garantizar la coherencia de la memoria caché, el segundo dispositivo de procesamiento 402b podría recibir datos pasados desde el dispositivo de memoria 404 en caso que los datos en la memoria caché 412 del primer dispositivo de procesamiento 402a hayan sido modificados pero todavía no hayan sido escritos de regreso al dispositivo de memoria 404. Un proceso denominado como "intrusión" comúnmente se utiliza para mantener la coherencia entre la memoria caché y la memoria. La intrusión es el proceso en donde un dispositivo de procesamiento, tal como el segundo dispositivo de procesamiento 402b en este ejemplo, emite una solicitud de lectura a una dirección almacenable en memoria caché en el dispositivo de memoria 404 no presente en su propia memoria caché 418, lo cual ocasiona que la interconexión de enlace 406 transmita la dirección de intrusión a los otros dispositivos de procesamiento en el sistema previo al reenvió de la solicitud de lectura al dispositivo de memoria 404 para los datos. Si otro dispositivo de procesamiento, tal como el primer dispositivo de procesamiento 402a, tiene los datos solicitados almacenados en su memoria caché 412 en un estado modificado, éste escribirá los datos modificados de regreso al dispositivo de memoria 404. De manera simultánea, la interconexión de enlace 406 enviará los datos modificados al segundo dispositivo de procesamiento 402b sobre el canal de lectura 406c2. El segundo dispositivo de procesamiento 402 colocará los datos modificados en la memoria caché 418 para uso por parte del procesador 422. La figura 5 es una ilustración que muestra la información que fluye en los canales de dirección y escritura 406ai, 406bi entre el primer dispositivo de procesamiento 402a y la interconexión de enlace 406. Haciendo referencia a las figuras 4 y 5, el primer dispositivo de procesamiento 402a escribe una carga útil de 32 bytes desde su memoria caché 412 al dispositivo de memoria 404 en respuesta a una transmisión de dirección de intrusión por parte de la interconexión de enlace 406. La operación de escritura es ejecutada mediante el envío de la carga útil de 32 bytes a la interconexión de enlace 406 utilizando tanto los canales de dirección como de escritura 406ai, 406bi. En el primer ciclo de reloj 502, el primer dispositivo de procesamiento 402a envía la dirección de intrusión A a la interconexión de enlace 406 en su canal de dirección 406ai con las señales de control apropiadas. Durante el mismo ciclo de reloj 502, los primeros 4 bytes de la carga útil (l) son enviados por el primer dispositivo de procesamiento 402a a la interconexión de enlace 406 en el canal de escritura 406b!. El resto de la carga útil es enviada desde el primer dispositivo de procesamiento 402a a la interconexión de enlace 406 sobre los siguientes cuatro ciclos de reloj. En el segundo ciclo de reloj 504 , el primer dispositivo de procesamiento 402a envía los segundos 4 bytes de la carga útil (2) en el canal de escritura 406bi y los terceros 4 bytes de la carga útil W(3) en el canal de dirección 406ai. Los cuartos 4 bytes de la carga útil W(4), los sextos 4 bytes de la carga útil W(6), y los 4 bytes finales de la carga útil W(8) son enviados por el primer dispositivo de procesamiento 402a a la interconexión de enlace 406 en el canal de escritura 406bi sobre los siguientes tres ciclos de reloj 506, 508, 510. Los quintos 4 bytes de la carga útil W(5) y los séptimos 4 bytes de la carga útil W(7) son enviados por el primer dispositivo de procesamiento 402a a la interconexión de enlace 406 en el canal de dirección 406ai sobre los siguientes dos ciclos de reloj 506, 508. La interconexión de enlace 406 puede enviar la carga útil de 32 bytes al dispositivo de memoria 404 en una manera similar utilizando canales de dirección y escritura 406a3, 406b3 para enviar la carga útil en cinco ciclos de reloj. La interconexión de enlace 406 también envía la carga útil de 32 bytes al segundo dispositivo de procesamiento 402b en el canal de lectura 406c2 en 8 ciclos de reloj en respuesta a la solicitud de lectura original del dispositivo de procesamiento 402b. La transmisión de la carga útil de 32 bytes al dispositivo de memoria 404 y el segundo dispositivo de procesamiento 402 puede traslapar o seguir la transmisión de la carga útil entre el primer dispositivo de procesamiento 402a y la interconexión de enlace 406.
Una explicación de la señalización de control, la cual se describió a detalle en relación con la figura 3, no se repetirá aquí más que para mencionar que la ID de Pulsación para los canales de dirección y escritura 406ai, 406bi se tendrán que expandir a un código de 3 bits para manipular una carga útil de 8 pulsaciones. La figura 6 es un diagrama en bloques simplificado que ilustra un ejemplo de dos dispositivos en un sistema de procesamiento 600 que se comunican sobre un enlace de 4 canales. Se proporciona un canal de dirección separado e independiente para cada canal de lectura y escritura. En este ejemplo, cada canal tiene un ancho de 32 bits, pero puede tener cualquier ancho en la práctica dependiendo de la aplicación particular y de las restricciones del diseño en general. Una operación de escritura sobre el enlace de 4 canales se puede realizar enviando al dispositivo receptor 604 una dirección sobre el canal de dirección de escritura 606a y datos sobre el canal de dirección de escritura 606a, el canal de escritura 606b, y/o el canal de dirección de lectura 606d. Una operación de lectura sobre el enlace de 4 canales se ejecuta enviando al dispositivo receptor 604 una dirección en un canal de dirección de lectura 606d. En respuesta, el dispositivo receptor 604 envía la carga útil al dispositivo de envío 602 en el canal de lectura 606c. La figura 7 es una ilustración que muestra la información que fluye en los canales de dirección de escritura, dirección de lectura, y de escritura entre el dispositivo de envió y el dispositivo receptor sobre un enlace de 4 canales. En el primer ciclo de reloj 702, el dispositivo de envío inicia la primera operación de escritura de 16 bytes enviando una dirección de 4 bytes Al al dispositivo receptor en el canal de dirección de escritura 606a con las señales de control apropiadas. Durante el mismo ciclo de reloj 702, el dispositivo de envío también transmite los primeros 4 bytes de la primera carga útil Wl(l) en el canal de escritura 606b y los segundos 4 bytes de la misma carga útil Wl(2) en el canal de dirección de lectura 606d. En el segundo ciclo de reloj 704, el resto de la primera carga útil es enviado por el dispositivo de envío al dispositivo receptor. De manera más específica, en el segundo ciclo de reloj 704, completando la primera operación de escritura, el dispositivo de envío transmite los terceros 4 bytes de la primera carga útil Wl(3) en el canal de escritura 606b y los últimos 4 bytes de la primera carga útil l(4) en el canal de dirección de lectura 606d. Durante el mismo ciclo de reloj 704, el dispositivo de envío envía la dirección A2 para la segunda operación de escritura de 16 bytes al dispositivo receptor en el canal de dirección de escritura 606a. El dispositivo de envío entonces utiliza los siguientes dos ciclos de reloj para enviar la segunda carga útil al dispositivo receptor. En el tercer ciclo de reloj 706, el dispositivo de envío envía al dispositivo receptor los primeros 4 bytes de la segunda carga útil W2(l) en el canal de escritura 606b, los segundos 4 bytes de la segunda carga útil W2(2) en el canal de dirección de lectura 606d, y los terceros 4 bytes de la segunda carga útil W2(3) en el canal de dirección de escritura 606a. En el siguiente ciclo de reloj 708, el dispositivo de envío envía los 4 bytes finales de la segunda carga útil W2(4) en el canal de escritura 606b al dispositivo receptor. Los diversos bloques lógicos ilustrativos, módulos y circuitos descritos en relación con las modalidades aquí analizadas, se pueden ejecutar o realizar con un procesador de propósito general, un procesador de señal digital (DSP), un circuito integrado de aplicación específica (ASIC) , un arreglo de puerta programable en campo (FPGA) u otro componente lógico programable, puerta discreta o lógica de transistor, componentes de hardware discretos, o cualquier combinación de los mismos diseñada para ejecutar las funciones aquí descritas. Un procesador de propósito general puede ser un microprocesador, pero en la alternativa, el procesador puede ser cualquier procesador convencional, controlador, microcontrolador , o máquina de estado. Un procesador también se puede ejecutar como una combinación de componentes de cómputo, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en conjunto con un DSP núcleo, o cualquier otra configuración similar. Los métodos o algoritmos descritos en relación con las modalidades aquí analizadas se pueden incorporar 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 rápida, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco removible, un CD-ROM, o cualquier otra forma de medio de almacenamiento conocida en la técnica. Un medio de almacenamiento se puede acoplar al procesador de -manera que el procesador pueda leer información de, y escribir información en el medio de almacenamiento. En la alternativa, el medio de almacenamiento puede ser parte integral del 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 recepción, o en algún otro lado. En la alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en el componente de envío y/o recepción, o en algún otro lado. La descripción previa de las modalidades analizadas se proporciona para permitir a cualquier experto en la técnica hacer o utilizar la presente invención. Diversas modificaciones a estas modalidades serán fácilmente aparentes para aquellos expertos en la técnica, y los principios genéricos aquí definidos se pueden aplicar a otras modalidades sin apartarse del espíritu o alcance de la invención. Por lo tanto, la presente invención no pretende quedar limitada a las modalidades mostradas aquí, sino que se le acordará el alcance más amplio consistente con los principios y características novedosas aquí descritas. c

Claims (1)

  1. NOVEDAD DE LA INVENCION Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como prioridad lo contenido en las siguientes: REIVINDICACIONES 1. - Un sistema de procesamiento, que comprende: un dispositivo receptor; un enlace que tiene primer, segundo y tercer canales; y un dispositivo de envío configurado para direccionar el dispositivo receptor en el primer canal, y leer una carga útil del dispositivo receptor en el segundo canal, el dispositivo de envío además está configurado para escribir una primera porción de una carga útil para el dispositivo receptor en el primer canal y una segunda porción de la carga útil para el dispositivo receptor en el tercer canal. 2. - El sistema de procesamiento de conformidad con la reivindicación 1, caracterizado porque el dispositivo de envío además está configurado para escribir de manera concurrente la primera y segunda porciones de la carga útil para el dispositivo receptor. 3. - El sistema de procesamiento de conformidad con la reivindicación 1, caracterizado porque el dispositivo de envío además está configurado para direccionar de manera concurrente el dispositivo receptor y escribir la segunda porción de la carga útil para el dispositivo receptor. 4. - El sistema de procesamiento de conformidad con la reivindicación 1, caracterizado porque el dispositivo de envío además está configurado para escribir la primera y segunda porciones de la carga útil a una primera dirección del dispositivo receptor, el dispositivo de envío además está configurado para enviar una segunda dirección al dispositivo receptor en el primer canal de manera concurrente con la escritura de la segunda porción de la carga útil para el dispositivo receptor . 5. - El sistema de procesamiento de conformidad con la reivindicación 1, caracterizado porque el dispositivo de envío comprende un primer dispositivo de procesamiento y el dispositivo receptor comprende una interconexión de enlace, el sistema de procesamiento además comprende un segundo dispositivo de procesamiento, la interconexión de enlace está configurada para conectar el primer y segundo dispositivos de procesamiento a un recurso compartido, y en donde el primer dispositivo de procesamiento además está configurado para escribir la primera y segunda porciones de una carga útil a la interconexión de enlace en respuesta a una dirección de intrusión a partir del segundo dispositivo de procesamiento. 6. - El sistema de procesamiento de conformidad con la reivindicación 1, caracterizado porque el enlace además comprende un cuarto canal, el dispositivo de envió está además configurado para direccionar el dispositivo receptor en el primer canal para operaciones de escritura y direccionar el dispositivo receptor en el cuarto canal para operaciones de lectura, y en donde el dispositivo de envió además está configurado para escribir una tercera porción de la carga útil para el dispositivo receptor en el cuarto canal. 7. - El sistema de procesamiento de conformidad con la reivindicación 6, caracterizado porque el dispositivo de envío además está configurado para escribir de manera concurrente la primera, segunda y tercer porciones de la carga útil para el dispositivo receptor . 8. - El sistema de procesamiento de conformidad con la reivindicación 6, caracterizado porque el dispositivo de envío además está configurado para escribir la primera, segunda y tercer porciones de la carga útil a una primera dirección del dispositivo receptor, el dispositivo de envío además está configurado para enviar una segunda dirección al dispositivo receptor en el primer canal de manera concurrente con la escritura de la segunda o tercera porciones de la carga útil al dispositivo receptor. 9.- El sistema de procesamiento, de conformidad con la reivindicación 1, caracterizado porque el dispositivo de envío además está configurado para proporcionar una señal de control al dispositivo receptor indicando si el primer canal está siendo utilizado de manera concurrente para direccionar el dispositivo receptor o escribir la primera porción de la carga útil para el dispositivo receptor. 10.- El sistema de procesamiento de conformidad con la reivindicación 1, caracterizado porque el dispositivo de envío además está configurado para proporcionar una señal de control en cada uno del primer y tercer canales al dispositivo receptor, cada una de las señales de control identifica la porción de la carga útil que está siendo enviada en su canal correspondiente. 11.- Un sistema de procesamiento, que comprende : un dispositivo receptor; un enlace que tiene primer, segundo y tercer canales ; medios para direccionar el dispositivo receptor en el primer canal; medios para leer una carga útil a partir del dispositivo receptor en el segundo canal; y medios para escribir una primera porción de una carga útil para el dispositivo receptor en el primer canal y una segunda porción de la carga útil para el dispositivo receptor en el tercer canal. 12.- Un método para establecer comunicación entre un dispositivo de envío y un dispositivo receptor sobre un enlace, el enlace comprende primer, segundo y tercer canales, el método comprende: direccionar un dispositivo receptor en el primer canal, leer una carga útil a partir del dispositivo receptor en el segundo canal; y escribir una primera porción de una carga útil para el dispositivo receptor en el primer canal y una segunda porción de la carga útil para el dispositivo receptor en el tercer canal. 13.- El método de conformidad con la reivindicación 12, caracterizado porque la primera y segunda porciones de la carga útil son escritas de manera concurrente para el dispositivo receptor. 14. - El método de conformidad con la reivindicación 12, caracterizado porque el dispositivo receptor es direccionado de manera concurrente con la escritura de la segunda porción de la carga útil para el dispositivo receptor. 15. - El método de conformidad con la reivindicación 12, caracterizado porque la primera y segunda porciones de la carga útil son una escritura para una primera dirección del dispositivo receptor, el direccionamiento del dispositivo receptor además comprende enviar una segunda dirección al dispositivo receptor en el primer canal de manera concurrente con la escritura de la segunda porción de la carga útil para el dispositivo receptor. 16.- El método de conformidad con la reivindicación 12, caracterizado porque el dispositivo de envío comprende un primer dispositivo de procesamiento y el dispositivo receptor comprende una interconexión de enlace, el sistema de procesamiento además comprende un segundo dispositivo de procesamiento, la interconexión de enlace está configurada para conectar el primer y segundo dispositivos de procesamiento a un recurso compartido, y en donde la primera y segunda porciones de una carga útil son escritas a la interconexión de enlace en respuesta a una dirección de intrusión desde el segundo dispositivo de procesamiento. 17. - El método de conformidad con la reivindicación 12, caracterizado porque el enlace además comprende un cuarto canal, el direccionamiento del dispositivo receptor en el primer canal es para operaciones de escritura, el método además comprende direccionar el dispositivo receptor en el cuarto canal para operaciones de lectura, y escribir una tercera porción de la carga útil para el dispositivo receptor en el cuarto canal. 18. - El método de conformidad con la reivindicación 17, caracterizado porque el dispositivo de envió además está configurado para escribir de manera concurrente la primera, segunda y tercer porciones de la carga útil para el dispositivo receptor. 19. - El método de conformidad con la reivindicación 18, caracterizado porque la primera, segunda y tercer porciones de la carga útil son escritas a una primera dirección del dispositivo receptor, el método además comprende enviar una segunda dirección al dispositivo receptor en el primer canal de manera concurrente con la escritura de la segunda o tercer porciones de la carga útil para el dispositivo receptor. 20. - El método de conformidad con la reivindicación 12, que además comprende proporcionar una señal de control al dispositivo receptor indicando si el primer canal está siendo utilizado de manera concurrente para direccionar el dispositivo receptor o escribir la primera porción de la carga útil para el dispositivo receptor. 21. - El método de conformidad con la reivindicación 12, que además comprende una señal de control en cada uno del primer y tercer canales para el dispositivo receptor, cada una de las señales de control identifica la porción de la carga útil que se está enviando en su canal correspondiente. 22. - Un dispositivo de dominio de enlace, que comprende : un procesador; y una interfaz de enlace configurada para conectar en interfaz el procesador a un enlace que tiene primer, segundo y tercer canales, la interfaz de enlace además está configurada para direccionar un esclavo en el primer canal, recibir una carga útil desde el esclavo en el segundo canal, y escribir una primera porción de una carga útil al esclavo en el primer canal y una segunda porción de la carga útil al esclavo en el tercer canal. 23. - El dispositivo de dominio de enlace de conformidad con la reivindicación 22, caracterizado porque la interfaz de enlace además está configurada para escribir de manera concurrente la primera y segunda porciones de la carga útil para el esclavo. 24. - El dispositivo de dominio de enlace de conformidad con la reivindicación 22, caracterizado porque la interfaz de enlace además está configurada para direccionar de manera concurrente el esclavo y la escritura de la segunda porción de la carga útil para el esclavo . 25. - El dispositivo de dominio de enlace de conformidad con la reivindicación 22, caracterizado porque la interfaz de enlace además está configurada para escribir la primera y segunda porciones de la carga útil a una primera dirección del esclavo, la interfaz de enlace además está configurada para enviar una segunda dirección al esclavo en el primer canal de manera concurrente con la escritura de la segunda porción de la carga útil para el esclavo, 26. - El dispositivo de dominio de enlace de conformidad con la reivindicación 22, caracterizado porque el esclavo comprende una interconexión de enlace configurada para conectar el dispositivo de dominio de enlace y un segundo dispositivo de dominio de enlace a un recurso compartido, y en donde el dispositivo de dominio de enlace además está configurado para escribir la primera y segunda porciones de una carga útil a la interconexión de enlace en respuesta a una dirección de intrusión a partir del segundo dispositivo de dominio de enlace . 27. - El dispositivo de dominio de enlace de conformidad con la reivindicación 22, caracterizado porque el enlace además comprende un cuarto canal, la interfaz de enlace además está configurada para direccionar el esclavo en el primer canal para operaciones de escritura y direccionar el esclavo en el cuarto canal para operaciones de lectura, y en donde la interfaz de enlace además está configurada para escribir una tercera porción de la carga útil al esclavo en el cuarto canal. 28. - El dispositivo de dominio de enlace de conformidad con la reivindicación 27, caracterizado porque la interfaz de enlace además está configurada para escribir de manera concurrente la primera, segunda y tercer porciones de la carga útil al esclavo, 29. - El dispositivo de dominio de enlace de conformidad con la reivindicación 27, caracterizado porque la interfaz de enlace además está configurada para escribir la primera, segunda y tercer porciones de la carga útil a una primera dirección del esclavo, la interfaz de enlace además está configurada para enviar una segunda dirección al esclavo en el primer canal de manera concurrente con la escritura de la segunda o tercer porciones de la carga útil al esclavo. 30.- El dispositivo de dominio de enlace de conformidad con la reivindicación 22, caracterizado porque la interfaz de enlace además está configurada para proporcionar una señal de control al esclavo indicando si el primer canal está siendo utilizado de manera concurrente para direccionar el esclavo o para escribir la primera porción de la carga útil para el esclavo. 31.- El dispositivo de dominio de enlace de conformidad con la reivindicación 22, caracterizado porque la interfaz de enlace además está configurada para proporcionar una señal de control en cada uno del primer y tercer canales al esclavo, cada una de las señales de control identifica la porción de la carga útil que se está enviando en su canal correspondiente. 32.- Un dispositivo de dominio de enlace, que comprende : un procesador; y medios para conectar en interfaz el procesador a un enlace que tiene primer, segundo y tercer canales, los medios para conexión en interfaz del procesador con un enlace comprenden medios para direccionar un esclavo en el primer canal, medios para recibir una carga útil desde el esclavo en el segundo canal, y medios para escribir una primera porción de una carga útil para el esclavo en el primer canal y una segunda porción de la carga útil para el esclavo en el tercer canal. 33.- Un dispositivo esclavo, que comprende1 memoria; y una interfaz de enlace configurada para conectar en interfaz la memoria con un enlace que tiene primer, segundo y tercer canales, la interfaz de enlace está configurada para recibir una dirección y una primera porción de una carga útil desde un dispositivo de dominio de enlace en el primer canal, enviar una carga útil al dispositivo de dominio de enlace en el segundo canal, y recibir una segunda porción de la carga útil desde el dispositivo de dominio de enlace en el tercer canal. 34.- El dispositivo esclavo de conformidad con la reivindicación 33, caracterizado porque la interfaz de enlace además está configurada para recibir de manera concurrente la primera y segunda porciones de la carga útil . 35.- El dispositivo esclavo de conformidad con la reivindicación 33, caracterizado porque la interfaz de enlace además está configurada para recibir de manera concurrente la dirección y la segunda porción de la carga útil . 36.- El dispositivo esclavo de conformidad con la reivindicación 33, caracterizado porque la interfaz de enlace además está configurada para escribir la primera y segunda porciones de la carga útil a una primera dirección en la memoria, la interfaz de enlace además está configurada para recibir una segunda dirección en el primer canal de manera concurrente con la segunda porción de la carga útil. 37. - El dispositivo esclavo de conformidad con la reivindicación 33, caracterizado porque el enlace además comprende un cuarto canal, la interfaz de enlace además está configurada para recibir la dirección en el primer canal para operaciones de escritura y recibir una dirección en el cuarto canal para una operación de lectura, y en donde la interfaz de enlace además está configurada para recibir una tercera porción de la carga útil desde el dispositivo de dominio de enlace en el cuarto canal. 38. - El dispositivo esclavo de conformidad con la reivindicación 37, caracterizado porque la interfaz de enlace además está configurada para recibir de manera concurrente la primera, segunda y tercer porciones de la carga útil. 39. - El dispositivo esclavo de conformidad con la reivindicación 37, caracterizado porque la interfaz de enlace además está configurada para escribir la primera, segunda y tercer porciones de la carga útil para una primera dirección en la memoria, la interfaz de enlace además está configurada para recibir una segunda dirección desde el dispositivo de dominio de enlace en el primer canal de manera concurrente con la recepción de la segunda o tercer porciones de la carga útil. 40. - El dispositivo esclavo de conformidad con la reivindicación 33, caracterizado porque la interfaz de enlace además está configurada para recibir una señal de control desde el dispositivo de dominio de enlace indicando si el primer canal está siendo utilizado de manera concurrente para enviar la dirección o la primera porción de la carga útil. 41. - El dispositivo esclavo de conformidad con la reivindicación 33, caracterizado porque la interfaz de enlace además está configurada para recibir una señal de control en cada uno del primer y tercer canales desde el dispositivo de dominio de enlace, cada una de las señales de control identifica la porción de la carga útil que se está enviando en su canal correspondiente. 42. - Un dispositivo esclavo, que comprende: memoria; y medios para conectar en interfaz la memoria con un enlace que tiene primer, segundo y tercer canales, los medios para conexión en interfaz de la memoria con el enlace comprenden medios para recibir una dirección y una primera porción de una carga útil desde un dispositivo de dominio de enlace en el primer canal, medios para enviar una carga útil al dispositivo de dominio de enlace en el segundo canal, y medios para recibir una segunda porción de la carga útil desde el dispositivo de dominio de enlace en el tercer canal.
MX2008010822A 2006-02-24 2007-02-23 Escritos cooperativos sobre el canal de direccion de un enlace. MX2008010822A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US77652906P 2006-02-24 2006-02-24
US11/468,908 US8107492B2 (en) 2006-02-24 2006-08-31 Cooperative writes over the address channel of a bus
PCT/US2007/062761 WO2007101134A1 (en) 2006-02-24 2007-02-23 Cooperative writes over the address channel of a bus

Publications (1)

Publication Number Publication Date
MX2008010822A true MX2008010822A (es) 2008-09-05

Family

ID=38123722

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2008010822A MX2008010822A (es) 2006-02-24 2007-02-23 Escritos cooperativos sobre el canal de direccion de un enlace.

Country Status (11)

Country Link
US (2) US8107492B2 (es)
EP (2) EP2360599A3 (es)
JP (1) JP5254044B2 (es)
KR (2) KR101081301B1 (es)
CN (1) CN104199798B (es)
BR (1) BRPI0708189A2 (es)
CA (1) CA2640317C (es)
MX (1) MX2008010822A (es)
RU (1) RU2405195C2 (es)
TW (1) TWI341468B (es)
WO (1) WO2007101134A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108563B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Auxiliary writes over address channel
US8107492B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Cooperative writes over the address channel of a bus
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
JP4862100B1 (ja) * 2011-03-25 2012-01-25 好一 北岸 中央演算処理装置及びマイクロコンピュータ
US8516225B2 (en) 2011-03-25 2013-08-20 Koichi Kitagishi Central processing unit and microcontroller
KR101178293B1 (ko) 2011-03-25 2012-08-29 마사미 후쿠시마 중앙 처리 장치 및 마이크로컨트롤러
US9258244B1 (en) 2013-05-01 2016-02-09 Sandia Corporation Protocol for communications in potentially noisy environments
KR102206313B1 (ko) * 2014-02-07 2021-01-22 삼성전자주식회사 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법
DE102018001574B4 (de) * 2018-02-28 2019-09-05 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202485B1 (en) * 1985-04-22 1993-11-18 Nec Corporation Method of determining optimal transmission channel in multistation communications system
JPS62231365A (ja) 1986-04-01 1987-10-09 Mitsubishi Electric Corp 情報処理方式
SU1550524A1 (ru) 1988-06-27 1990-03-15 Предприятие П/Я А-3886 Устройство дл сопр жени процессора с внешним устройством
JPH0736166B2 (ja) 1988-06-29 1995-04-19 日本電気株式会社 データ転送方式
JPH0225958A (ja) 1988-07-15 1990-01-29 Fuji Electric Co Ltd 高速データ転送システム
RU1807493C (ru) 1991-02-04 1993-04-07 Харьковское Научно-Производственное Объединение По Системам Автоматизированного Управления Система обмена данными в вычислительной сети
US5255376A (en) 1992-01-14 1993-10-19 Sun Microsystems, Inc. Method and apparatus for supporting a dual bit length protocol for data transfers
GB2285524B (en) 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
US5544163A (en) 1994-03-08 1996-08-06 Excel, Inc. Expandable telecommunications system
JPH0830546A (ja) * 1994-07-20 1996-02-02 Nec Niigata Ltd バス制御装置
US5612742A (en) 1994-10-19 1997-03-18 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US6434638B1 (en) * 1994-12-09 2002-08-13 International Business Machines Corporation Arbitration protocol for peer-to-peer communication in synchronous systems
GB2304210B (en) * 1995-08-11 2000-02-16 Fujitsu Ltd Data receiving devices
US6044225A (en) * 1996-03-13 2000-03-28 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller
US7002964B1 (en) * 1998-02-24 2006-02-21 Canon Kabushiki Kaisha Communication system, method for a communication system and controller for a communication system
US6292873B1 (en) 1998-05-22 2001-09-18 Hewlett-Packard Company Dual-ported electronic random access memory that does not introduce additional wait states and that does not cause retransmission of data during shared access
US6163835A (en) 1998-07-06 2000-12-19 Motorola, Inc. Method and apparatus for transferring data over a processor interface bus
US6151262A (en) 1998-10-28 2000-11-21 Texas Instruments Incorporated Apparatus, system and method for control of speed of operation and power consumption of a memory
JP2000215183A (ja) 1999-01-01 2000-08-04 Seiko Epson Corp メモリポ―ト仲裁方法
US7243185B2 (en) 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
CN1129071C (zh) 1999-10-27 2003-11-26 盖内蒂克瓦尔有限公司 元件之间的通道传输结构及其传输方法
US6769046B2 (en) 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
JP2003050742A (ja) 2001-08-07 2003-02-21 Sony Corp 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム
US6868464B2 (en) 2002-01-03 2005-03-15 Intel Corporation Method, apparatus, and system for multi-line communication
US7209998B2 (en) * 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
US7392353B2 (en) * 2004-12-03 2008-06-24 International Business Machines Corporation Prioritization of out-of-order data transfers on shared data bus
US8108563B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Auxiliary writes over address channel
US8107492B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Cooperative writes over the address channel of a bus

Also Published As

Publication number Publication date
KR20080097481A (ko) 2008-11-05
US8107492B2 (en) 2012-01-31
TW200809520A (en) 2008-02-16
BRPI0708189A2 (pt) 2012-06-12
US20120096201A1 (en) 2012-04-19
EP2360599A2 (en) 2011-08-24
JP5254044B2 (ja) 2013-08-07
CN104199798A (zh) 2014-12-10
CA2640317C (en) 2012-01-31
US20070201506A1 (en) 2007-08-30
US8675679B2 (en) 2014-03-18
TWI341468B (en) 2011-05-01
EP2360599A3 (en) 2019-01-16
WO2007101134A1 (en) 2007-09-07
RU2008137971A (ru) 2010-03-27
EP2002345B1 (en) 2020-04-29
KR20100135332A (ko) 2010-12-24
RU2405195C2 (ru) 2010-11-27
JP2009528597A (ja) 2009-08-06
EP2002345A1 (en) 2008-12-17
KR101081301B1 (ko) 2011-11-08
CA2640317A1 (en) 2007-09-07
CN104199798B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
MX2008010822A (es) Escritos cooperativos sobre el canal de direccion de un enlace.
US7822903B2 (en) Single bus command having transfer information for transferring data in a processing system
US10585734B2 (en) Fast invalidation in peripheral component interconnect (PCI) express (PCIe) address translation services (ATS)
US20180359117A1 (en) Virtual channel instantiation over vgi/vgmi
US8521914B2 (en) Auxiliary writes over address channel
US11789884B2 (en) Bus system and method for operating a bus system
US11507491B2 (en) System for controlling data flow between multiple processors
TWI284807B (en) Interface apparatus and method for transmitting address data
CN114238160A (zh) 地址访问方法、装置及电子设备
CN101390065A (zh) 经由总线的地址信道的协作写入
KR20110031624A (ko) 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법
KR20050003069A (ko) 마이크로 컨트롤러의 버스 인터페이스

Legal Events

Date Code Title Description
FG Grant or registration