MX2007009732A - Metodo de control de flujo para mejorar la transferencia de datos mediante una matriz de conmutacion. - Google Patents

Metodo de control de flujo para mejorar la transferencia de datos mediante una matriz de conmutacion.

Info

Publication number
MX2007009732A
MX2007009732A MX2007009732A MX2007009732A MX2007009732A MX 2007009732 A MX2007009732 A MX 2007009732A MX 2007009732 A MX2007009732 A MX 2007009732A MX 2007009732 A MX2007009732 A MX 2007009732A MX 2007009732 A MX2007009732 A MX 2007009732A
Authority
MX
Mexico
Prior art keywords
data
slave
master
requested
receive
Prior art date
Application number
MX2007009732A
Other languages
English (en)
Inventor
Perry Willmann Remaklus Jr
J Prakash Subramaniam Ganasan
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 MX2007009732A publication Critical patent/MX2007009732A/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/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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Credit Cards Or The Like (AREA)
  • Optical Communication System (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Small-Scale Networks (AREA)

Abstract

Un circuito integrado (IC) de sistema monochip (SoC - System-on-chip) tiene una contencion reducida de bus y una utilizacion del bus mejorada. El IC de SoC incluye un controlador de bus de tipo matriz de conmutacion. Los maestros interconectados con el controlador de bus emiten solicitudes de datos y reciben los datos solicitados en respuesta a las solicitudes. Los esclavos interconectados con el controlador de bus reciben las solicitudes de datos y les proporcionan los datos solicitados a los maestros solicitantes. Las senales de control emitidas por el controlador de bus le indican a cada esclavo cuales maestros no se encuentran listos para recibir los datos que le solicitaron al esclavo. Los esclavos retrasan la transferencia de datos a cualesquier maestros que no se encuentren listos para los datos solicitados, y les proporcionan los datos a diferentes maestros que se encuentran listos para recibir los datos que les solicitaron a los esclavos.

Description

"MÉTODO DE CONTROL DE FLUJO PARA MEJORAR LA TRANSFERENCIA DE DATOS MEDIANTE UNA MATRIZ DE CONMUTACIÓN" CAMPO DE LA INVENCIÓN El campo técnico se encuentra relacionado en términos generales con circuitos integrados (JC integrated cirouits) de sistema monochip (SoC - System-on-chip) . Más particularmente, el campo técnico involucrado es un método para mejorar la utilización del bus en un I'-. de SoC.
ANTECEDENTES DE LA INVENCIÓN El termino IC de monochip (SoC) se utiliza nara referirse a un sis ema en el cual se encuentran mtegí todas las funciones deseadas y/o necesarias y se nan fabricado en una sola boquilla o substrato. Como tal, un IC ele SoC generalmente incluye diversos bloques funcionnles de circuitería, tales como, por ejemplo, microprocesadoi es , procesadores de señales digitales, arreglos de memorias, memorias temporales, etcétera. Tales bloques funcionales de la circuí tena algunas veces son referidos como núcleos. Cada uno de los núcleos se conecta eléct icamente a un tm.; del si stema dentro del IC de SOC con los cuales intercambian datos unos con otros y con cualquier otvo dispositivo conectado al bus.
Más particularmente, en un IC de SoC, un núcleo que emite una solicitud de acceso (sea para escribir datos o para leer datos) a otro núcleo es referida diferentemente como un núcleo iniciador, iniciador, o bus maestro. El núcleo al que el iniciador o maestro desea acceder, es decir, el núcleo que recibe los datos de escritura o que proporciona los datos de lectura, es referido como el objetivo o esclavo. Con objeto de evitar la contención del bus, lo cual es un conflicto que ocurre cuando dos o más núcleos intentan colocar los datos en o recuperar los datos del bus, se incorpora un controlador del bus dentro del IC de SoC. El controlador del bus incluye típicamente un arbitro que selecciona a cuál maestro se le concede el acceso a un esclavo en algún momento determinado. Consecuentemente, asegurándose de que solamente un maestro accede a un esclavo determinado en cualquier acceso o ciclo de transferencia de datos determinado, se evita la conexión del bus y las colisiones de datos en el bus. Este planteamiento proporciona los maestros con acceso secuencial a los esclavos, es decir, los maestros dan vueltas para acceder a los esclavos. Tal acceso secuencial es relativamente lento e ineficiente, y puede afectar adversamente el rendimiento del sistema. Los controladores de bus de tipo matriz de conmutación se utilizan algunas veces para incrementar la utilización del bus y consecuentemente mejorar el rendimiento del sistema. Cada esclavo y cada maestro se conecta con el controlador del bus de la matriz de conmutación por las líneas de bus maestro o esclavo respectivas. Consecuentemente, las matrices de conmutación les proporcionan a los maestros acceso paralelo a los esclavos, es decir, diferentes maestros pueden acceder simul áneamente a esclavos diferentes y respectivos, y viceversa. Sin embargo, la contención del bus no se evita completamente por el uso de controladores de bus de tipo matriz de conmutación. Puede ocurrir contención del bus y/o colisiones de datos en un IC de SoC que tiene una matriz de conmutación cuando, por ejemplo, un maestro intenta acceder a dos o más esclavos. Dado que cada maestro se conecta a la matriz de conmutación por una sola línea de bus correspondiente, puede ocurrir una colisión de datos cuando dos o más esclavos se preparan simultáneamente para regresar los datos a y/o responder una solicitud de maestro solicitante individual. Además, un maestro que realiza una secuencia de solicitudes puede requerir que las respuestas o terminaciones regresen en el mismo orden en que se realizaron las solicitudes. Con objeto de evitar las colisiones de datos, así como también par asegurar la orden de terminación de solicitud de un maestro, la matriz de conmutación incluye típicamente la lógica para retrasar o direccionar las solicitudes y/o una cola de solicitudes o memoria temporal para almacenar los datos o respuestas. La lógica cié direccionamiento asegura que solamente se coloque un conjunto de datos en el bus al bloquear o retrasar las demás respuestas hasta que se haya completado exitosamente la respuesta anterior. La cola de respuestas o memoria temporal puede almacenar solicitudes provenientes de loa maestros, típicamente de la manera primero en entrar primero en salir, y evita las colisiones de datos al mantener los datos en la cola hasta que el bus se prepara para recibir los datos y el esclavo se prepara para enviar los datos o el bus o el maestro se prepara para recibir los datos. La cola de respuesta también puede mantener una respuesta o datos para una solicitud más reciente mientras espera que otro esclavo complete una respuesta o regrese datos para una solicitud más vieja con objeto de mantener el orden del programa de la solicitud del maestro. Sin embargo, retrasar o colocar en la cola una o más solicitudes pendientes hasta que se complete exitosamente una solicitud anterior desperdicia la capacidad del bus, particularmente cuando el retraso para completar la solicitud anterior se debe a que un esclavo que no se encuentra listo para colocar los datos solicitados en el bus a o un maestro que aún ?o se encuentra listo para recibir datos provenientes del bus. En tales situaciones, el bus no esta siendo utilizado para transferir datos sino que está esperando a hacerlo. En otras palabras, en tales situaciones, el bus no es el cuello de botella. Consecuentemente, el bus podría, mientras tanto, utilizarse más eficientemente para transferir datos que se encuentran disponibles y listos para procesarse en lugar de permanecer inactivos mientras el sistema espera que otros núcleos completen una solicitud o transferencia de datos anterior. Por lo tanto, lo que se requiere en la materia es un método y aparato para mejorar la utilización del bus en un circuito integrado de sistema monochip.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Se proporciona un circuito integrado (IC) de sistema monochip (SoC) que tiene una utilización mejorada del bus y una transferencia de datos mas eficiente. También se proporciona un método para mejorar la utilización del bus y la transferencia de datos. En una modalidad, se proporciona un IC de SoC que tiene un consolador de bus. Los maestros interconectados con el controlador de bus emiten solicitudes de datos y reciben los datos solicitados en respuesta a las solicitudes. Los esclavos interconectados con el controlador de bus reciben las solicitudes de dalos y proporcionan los datos solicitados a los maestros solicitantes. Las señales de control emitidas por el controlador de bus le indican a cada esclavo cuáles maestros no se encuentran listos para recibir los ciatos que solicito de cada esclavo. Los esclavos retrasan la transferencia de datos a cualesquier maestros que no se encuentran listos para los datos solicitados, y les proporcionan datos a diferentes maestros que se encuentran listos para recibir los datos que les solicitaron a los esclavos . Cuando se le solicita a un esclavo retrasar una transferencia de datos particular, el esclavo puede proceder a transferir otros datos, incrementando asi la utilización del bus y la eficiencia de la transferencia de datos, ayudando a evitar la contención del bus y colisiones de datos. Ademas, puede reducirse la necesidad de memorias temporales/registros de almacenamiento en el controlador de bus del IC de SoC y, consecuentemente, también puede reducirse el tamaño y consumo de energía del controlador del bus.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Las características y ventajas anteriormente mencionadas y otras, y la manera para lograrlas, se volverán aparentes y se comprenderán mejor para refeiencia a la siguiente descripción de una modalidad en conjunt-> con los dibujos acompañantes, en los cuales: La Figura 1 es un diagrama de bloques de una modalidad de un circuito integrado de sistema monochip; y La Figura 2 es un diagrama de sincronización que ilustra una modalidad de un método para mejora: la utilización del bus en un circuito integrado de sistema monochip . Los caracteres de referencia correspondientes indican las partes correspondientes a lo largo de las diversas vistas. Las ej emplificaciones expuestas en la presente ilustran una modalidad preferida, en una forma, y tales ejemplificaciones no se consideran limitantes al alcance de este documento ni a las reivindicaciones de ninguna manera.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Refiriéndose ahora a los dibujos y particularmente a la Figura 1, se muestra una modalidad de un circuito integrado (IC) de sistema monochip (SoC) 10. El 1C de SoC J 0 incluye un substrato 12 sobre el que se fabrica toda la circuitería del IC de SoC 10. El IC de SoC 10 incluye una pluralidad de bloques de circuitería para ejecutar dive sas funciones. Más particularmente, el IC de SoC 10 incluye una pluralidad de maestros 14A, 14B, 14C, .., y 14N (colectivamente referidos en la presente como maestros 14) y una pluralidad de esclavos 16A, 16B, 16C, y 16N (colectivamente referidos en la presente como dispositivos esclavos 16) . Los maestros 14 y esclavos 16 se encuentran configurados como dispositivos convencionales de maesl ro y esclavo, tales como, por ejemplo, microprocesadores y arreglos de memoria, respectivamente. Cada uno de Jos maestros 14 se mterconectan con el controlador del bus 20 mediante un bus separado y correspondiente 22A, 22B, 22 , , y 22N (algunas veces referido en la presente como el bus maestro a controlador 22 o simplemente el bus maestro 22) . De manera similar, cada uno de los esclavos 16 se interconecta con el controlador de bus 20 mediante un bus separado y correspondiente 24A, 24B, 24C, .. y 24N (algunas veces referido en la presente como el bus esclavo a controlador 22 o simplemente el bus esclavo 24) . Los maestros 14 y los esclavos 16 también se interconectan típicamente mediante otro bus o líneas de señales con o" ros núcleos (ninguna de las cuales se muestra) dentro de IC de SoC 10. Cada uno de los maestros 14 incluye preferentemente memorias temporales de maestro respetivas 32A, 32B, 32C, . , y 32N, y de manera similar cada uno de los esclavos 16 incluyen preferentemente memorias temporales de esclavo respectivas 34A, 34B, 34C, , y 34N. El controlador del bus 20, ademas de ejecutar las funciones de un controlador del bus de tipo de conmutador convencional, incluye la circuiteria lógica 40 que emite las señales de control 50A, 50B, 50C, , 50N (referida colectivamente en la presente como señales de control) a los esclavos 16A, 16B, 16C, , y 16N, respectivamente. Generalmente, las señales de control 50 les indican a los esclavos 16 la disponibilidad de cada maestro 14 para recibir los ciatos. Mas particularmente, las señales cié control 50 le indican a cada esclavo 16 si un maestro 14 se encuentra listo y es capaz de recibir datos provenientes del esclavo particular. Consecuentemente, desde el punto opuesto de la vista, las señales de control 50 le indic m cada esclavo 16 cuando se encuentra "ocupado" un maestro 14 o de otra manera cuando no es capaz de recibir los datos solicitados y/o completa una transferencia de datos especifica. Las señales de control 50 pueden compartirse o transmitirse de punto a punto desde los esclavos 16 del controlador del bus 20. Cada señal de control 50A, 50B, 50C, , y 50K es dependiente de al menos parte del status o estado operat ivo de los maestros 14. Cuando un maestro 14 se encuentra preparado para recibir datos que le ha solicitado a uno de los esclavos 16, el controlador 20 emite una señal de control correspondiente 50 al esclavo identificado 16 que indica la disponibilidad del maestro solicitante 14 para recibir los datos solicitados (referidos en lo sucesivo como señal de control "lista") . Inversamente, cuando un maestro 14 no se encuentra preparado para recibir datos que le ha solicitado a un de los esclavos 16 identificados, tal como, por ejemplo, cuando el maestro solicitante 14 está recibiendo los datos anteriormente solicitados desde uno de los esclavos 16 diferentes o de otra manera se encuentra "ocupado", el controlador 20 emite una señal de control 50 al esclavo identificado 16 que le indica al maestro solicitante 14 que no se encuentra preparado ara recibir los datos solicitados con anterioridad (referidos en la presente como una señal de control que "no se encuentra lista" u "ocupada") . Las señales de control 50 aseguran que solamente uno de los esclavos 16 coloque datos para un solo maestro solicitante en el bus de esclavo a control 24 y, consecuentemente, en el bus de controlador a maestre 22 durante cualquier ciclo de lectura determinado. Consecuentemente, las señales de control 50 evitan las colisiones de datos que pudiesen ocurrir de otro modo en el bus de controlador a maestro 22 cuando dos o mas esclavos 16 le han proporcionado al controlador 20 datos destinaos para el mismo maestro solicitante 14. Ademas, cuando un maestro solicitante ha indicado que no se encuentra listo para recibir los datos solicitados provenientes de un esclavo particular, las señales de control 50 le ordenan al esclavo, si está preparado, a llevar a cabo una transferencia de datos diferente hacia un maestro solicitante diferente. Consecuentemente, el esclavo no permanece inac tivo esperando a que el maestro se encuentre "listo" para recibir los datos. Más bien, el esclavo realiza una transferencia de datos diferente hacia un maestro solicitante diferente que se encuentra "listo" para recibir los datos. Al ejecutar una operación de transferencia de datos diferente en lugar de esperar a completar la operación de transferencia de datos retrasada, se mejoran la eficiencia con la cual se procesan los datos por el bus y consecuentemente la utilización del bus. Esto también puede reducir la latencia general de las solicitudes daao que otras respuestas pueden bloquearse detrás de una respuesta que el controlador puede ser incapaz de aceptar debido a la contención del bus. Un proceso de transferencia de datos a manera de ejemplo que ilustra Ja operación del SoC 10 y el método para mejorar la utilización del bus en un circuito integrado de sistema monochip se muestra en la Figura 2 y se describe a continuación. En el tiempo o el maestro 14A emite al controlador del bus 20 mediante la solicitud MORO del bus maestro 22A para leer datos provenientes del esclavo 16A. También, durante el tiempo t0, el maestro 14B mediante el bus maestro 22B emite al controlador de bus 20 la solicitud MIRO a fin de leer también los datos provenientes del esclavo 16A. En el tiempo i, el maestro 14A emite al controlador de bus 20 mediante el bus maestro 22A la solicitud MOR 7 a f n de leer datos del esclavo 163. Consecuentemente, dos maestros (maestros 14A y 14B) están solicitando datos del mismo esclavo (esclavo 16A) y un maestro (maestro 14A) ha solicitado datos de dos diferentes esclavos (esclavos 16A y 16B) . También en el tiempo ti, el controlador de bus 20 le pasa al esclavo 16A mediante el bus esclavo 24A la solicitud MORO emitida por el maestro 14A en el tiempc t() para los datos provenientes del esclavo 16A. De manera similar, en el tiempo £ el controlador de bus 20 le pasa al esclavo 16A mediante el bus esclavo 24A la solicitud MI RO emitida por el maestro 14B en el tiempo o para datos provenientes del esclavo 16A. También en el tiempo t , A controlador de bus 20 Je pasa al esclavo 16B mediante eJ bus esclavo 24B la solicitud MORÍ emitida por el maestro 14 en el tiempo t para datos provenientes del esclavo 16 . Las señales de control 50A y SOB, se muestran en la Figura 2, establecidas ínicialmente en el tiempo t0 en un valor o condición por default, tal como, por ejemplo "lista" y consecuentemente indicar que todos los maestros 14 se encuentran listos para recibir los datos. Fn el tiempo t_, , el controlador de bus 20 emite o actualiza ias señales de control 50 para permitir la transferencia de al menos un conjunto de datos solicitados. Mas particularmente, la señal de control 50B se actualiza para indicar que el maestro 14A se encuentra preparado para recibirlos datos que solicito con anterioridad del esclavo 16B. Dado que en este ejemplo las señales ele control c 0 se inicia lizaron a un estado "listo", no hay cambio ei la señal de control 50B. Inversamente, las señales de control 50A, 50C, , y 50N se actualizan para indicarle a los esclavos 16A, 16C, , y 16N, respectivamente, ese maestro 14A se encuentra "ocupado" preparándose para o se encuentra en proceso ié recibir datos. Por razones de brevedad y claridad, solamente se muestran las señales de control 50A y 50B en la Figura 2. Ademas, por las mismas razones, aunque el experto en la materia reconocerá que cada señal de control 50 es de hecho una pluralidad de señales, la Figura 2 muestra solamente una linea de señal para cada señal de control y anota la condición pertinente o estado de esa linea de señal con relación a los maestros 14. En el tiempo t , cada uno le los esclavos 6A v 16B se encuentra preparado para transferir datos al maestro 14A que el maestro 14A solicito con anterioridad. Mas particularmente, en el tiempo t el esclavo 1 A se encuentra preparado para transferirle al maestro 14? __os datos asociados con la solicitud MORO y el esclavo 16B se encuentra preparado para proporcionarle al maestro 14A los datos asociados con la solicitud MORÍ . Aunque los esclavos 16A y 16B se encuentran ambos preparados para proporcionarle los datos al maestro 14A, se la da prioridad al esclavo 16B por las señales de control 50 emitidos por eJ controlador 20, como se describió con anterioridad. Debe obseivaise particularmente que la prioridad relativa entre los esclavos 16 que se encuentran en cualquier ciclo de lectura determinado preparados para proporcionarle datos a un solo maestro 14 se predetermina de acuerdo con cualquier método preferido conocido por el experto en la materia. La prioridad, por ejemplo, se establece arbitrariamente de acuerdo con la importancia pronosticada o anticipada de los datos que puede proporcionar un esclavo en particular a la luz del circuito o aplicación especifico o por algún otro criterio deseable. El esclavo 16A intenta en el tiempo t regresarle al maestio 14A los datos asociados con la solicitud MORO pero se imposibilita hacerlo por la señal de control r OA ia cual le indica al esclavo 16A, como se describió con anterioridad, que el maestro 14A se encuentra "ocupado". En sistemas de IC de SoC de la técnica anterior, tal situación daría como resultado una colisión de datos en el bus maestro 22A cuando el esclavo 16A intentase regresarle los datos al maestro 14A, solicitándole al controlador 20 colocar en memoria temporal los datos a regresar, o al esclavo 16A que retrase la transferencia de los nemas datos solicitados a cualquiera de los maestros 14 hasta que el esclavo 16A sea capaz de completar la transferenci de datos asociados con la solicitud MORO al maestro 14A. En cambio, y como se describe más particularmente en lo sucesivo, el esclavo 16A transfiere otros datos solicitados a otros maestros solicitantes 14 y consecuentemente utiliza mas eficientemente los buses 22 y 24 y lleva a cabo una transferencia de datos mas eficiente. También en el tiempo t , el esclavo 16B comienza la transferencia de datos al maestro 14A asociado coi la solicitud MOR l . Esta transferencia de datos se incorpora al menos en parte por el controlador 20 establecienat la señal de control 50B para indicar en el tiempo t3 que el maestro 14A se encuentra "listo" para recibir los datos provenientes del esclavo 16B y para establecer las señc.Us de control 50A, 50C, ., y 50N a fin indicar que el maestro 14A se encuentra "ocupado" y consecuentemente no esta listo para recibir los datos provenientes de los esclavos 16A, 16C, , y 16N. Los datos asociados con la solicitud MORÍ se regresan del esclavo 16B al controlador de bus 20 mediante el bus esclavo 24B y del controlador de bus 'X al maestro 14A, mediante el bus de maestro 22A del tiempo t,t al tiempo t . Debe observarse particularmente que en el método de transferencia de datos anteriormente descrito, es decir, generalmente de un esclavo 16 a un controlador de bus 20 mediante un bus esclavo 24 correspondiente y del controlador de bus 20 a un maestro 14 mediante un bus maestro correspondiente 22, el controlador de bus 20 actúa esencialmente como una matriz de conmutación que simplemente establece una conexión entre el maestro y el esclavo. Los datos a transferirse permanecen almacenados en o dentro de las memorias temporales 34 de los esclavos 16 en lugar de almacenarse en el controlador 20. La necesidad de colocar en memoria temporal o almacenar los registros dentro del controlador de bus 20, por lo tanto, se reduce substancialmente . Adicionalmente, el control pdor de bus 20 es capaz de reducirse en tamaño y consumir menos potencia que los controladores de bus convencionales que requieren un numero significativo de registros de almacenamiento/memorias temporales . Como se observa con anterioridad, en lugar de forzar a un esclavo 16 y una porción de los buses 22 y/o 24 a permanecer inactivos hasta que un maestro solicitante 14 se encuentre "listo" para recibir datos, el IC de SoC 10 y el método para mejorar la utilización de bus en un circuito integrado de sistema monochip descrito en la presente le permiten a un esclavo transferir otros datos solicitados a otros maestros solicitantes 14 y consecuentemente utilizan mas eficientemente los buses 22 y 24 y logran una transferencia de datos más eficiente. Este aspectc se ilustra en la Figura 2 cuando el esclavo 16A, en lugai de retrasar la transferencia de todos los datos hasta el maestro 14A se encuentra listo para recibir los datos asociados con la solicitud retrasada MORO, comienza en eJ tiempo t5 transfiriéndole al maestro 14B los d< tes asociados con la solicitud MIRO . La transferencia de ios datos asociados con la solicitud MIRO es habilitada por la señal de control 50A que le indica al esclavo 16A que, aunque el maestro 14A se encontraba "ocupado", el maestro 14B reencontraba "listo" para recibir datos. Consecuentemente, al retrasar la transferencia de datos en el tiempo t¡\ desde el esclavo 16A hasta el maest ro 14A y permitiéndole al esclavo 16A en el tiempo t>, comer i: la transferencia de datos al maestro 14B, se evita ua colisión de datos en el bus de maestro al controlador 22A en el tiempo t4 y se incrementa la utilización del bus de maestro a controlador 22A y el bus de esclavo a controlador 24A en el tiempo t4 incrementando consecuentemente Ja eficiencia de la transferencia de datos. El esclavo 16A completa en el tiempo t<t la transferencia de los datos asociados con la solicitud MI RO al maestro 14B. De acuerdo con lo anterior, en el tiempo tío las señales de control 50 son actualizadas por el controlador 20 para indicarles a los esclavos 16 que el maestro 14B nuevamente se encuentra "listo" para recibir los datos (no se muestra en la Figura 2) . En el ejemplo representado gráficamente, no se transfiere ningún ciato adicional al maestro 14B. En el tiempo ts, el esclavo 16B completa la transferencia de datos asociados con la solicitud MORÍ al maestro 14A. De acuerdo con lo anterior, en el tiempo X las señales de control 50 son actualizadas por el controlador 20 para indicarles a los esclavo 16 que el maestro 14A nuevamente se encuentra "listo" para recibir los datos. En el tiempo ts, las señales de control 50 son actualizadas nuevamente por el controlador 20 a fin de indicar que el maestro 14A nuevamente está preparándose para o que se encuentra en proceso de recibir los datos. Más particularmente, en el tiempo t8 las señales de control 50 son actualizada-, por el controlador 20 de manera tal que la señal de control 50A le indica al esclavo 16A q le el maestro 14A se encuentra "listo" para recibir los datos asociados con la solicitud MORO y las señales de control 50B, 50C, , y 50N son actualizadas para indicarle al maestro 14A que se encuentra "ocupado". Después de ello, en el tiempo t9, comienza la transferencia de datos del esclavo 16A al maestro 14A asociados con la solicitud MORO . Aunque la descripción anterior es referida como un diseño preferido, el diseño preferido puede modifuarse adicionalmente dentro del espíritu y alcance de esta descripción. Por lo tanto, esta solicitud pretende cubrir cualesquier variaciones, usos, o adaptaciones del a.seru preferido utilizando posprincipios generales descritos en la presente. Ademas, esta solicitud pretende cubrir tales desviaciones de la presente descripción dentro de la practica común o conocida en las materias relevantes y se encuentra dentro de los limites de las reivindicaciones anexas .

Claims (25)

  1. NOVEDAD DE LA INVENCIÓN Habiéndose descrito la invención como antecedente, se reclama como propiedad lo contenido or las siguientes re vindicaciones:
  2. REIVINDICACIONES 1. Un circuito integrado de sistema monean .p (SoC), caracterizado porque comprende: un controlador de bus; al menos un maestro, interconectado cada maestro con dicho contiolador de bus mediante un bus de datos maestro respectivo, emitiendo dichos maestros solicitudes de datos y recibiendo los datos solicitados en respuesta a dichas solicitudes para datos; al menos un esclavo, interconectado cada esc iv > con el controlador de bus mediante un bus de datos esclavo respectivo, recibiendo los esclavos las solicitudes de datos y proporcionando los datos solicitados en respuesta las mismas; v señales de control emitidas por el controlador de bus e indicarle a cada esclavo la disponibilidad de un maestro para recibir datos solicitados provenientes de > se esclavo . 2. El IC de SoC según la reivindicación 1, caracterizado porque las señales de control le indican a cada esclavo cuales maestros no se encuentran listos parí recibir los datos solicitados.
  3. 3. El IC de SoC según la reivindicación 2, caracterizado porque las señales de control le indican a cada esclavo cuales maestros se encuentran listos para recibir los datos solicitados.
  4. 4. El IC de SoC según la reivindicación 2, caracterizado porque un primer esclavo retrasa la transferencia de los primeros datos solicitados por un primer maestro cuando una primera señal de control indica que el primer maestro no se encuentra listo para recibir los primeros datos solicitados.
  5. 5. El IC de SoC según la reivindicación 2, caracterizado porque la primera señal de control indica ademas que un segundo maestro se encuentra listo para recibir los segundos datos solicitados por el primer esclavo, transfiriendo el primer esclavo los segundos da os solicitados al segundo maestro en respuesta a la primera señal de control.
  6. 6. El IC de SoC según la reivindicación 2, caracterizado porque cada uno de los manguitos incluye las memorias temporales respectivas, los ciatos solicitados de un esclavo particular por un maestro solicitante que mantiene en la memoria temporal del esclavo particul ir cuando una señal de control correspondiente le indica il esclavo particular que el maestro solicitante n se encuentra listo para recibir los datos solicitados, manteniéndose los datos solicitados en la memoria temporal del esclavo particular hasta que la señal de control correspondiente le indica al esclavo particular que el maestro se encuentra listo para recibir los datos solicitados del esclavo particular.
  7. 7. Un sistema electrónico, caracterizado porque comprende un controlador del bus; al menos un maestro, interconectandose aoa maestro con el controlador del bus mediante un bus de datos maestro respectivo, emitiendo los maestros solicitudes de datos y recibiendo los datos solicitados en respuesta a las solicitudes de ciatos; al menos un esclavo, interconectado cada esclavo con el controlador de bus mediante un bus de datos de esclavo respectivo, configurados los esclavos para recn ,r las solicitudes para datos y proporcionando los datos solicitados; y señales de control emitidas por el controlador de bus a los esclavos, indicándoles las señales de control a los esclavos la disponibilidad de los maestros para recibir los datos solicitados.
  8. 8. El sistema electrónico según reivindicación 7, caracterizado porque las señales de control les indican a los esclavos cuales maestros ¡o se encuentran listos para recibir los datos solicitados.
  9. 9. El sistema electrónico según la reivindicación 8, caracterizado porque las señale1- de control les indican a los esclavos cuales maestros no se encuentran listos para recibir los datos solicitados.
  10. 10. El sistema electrónico según la reivindicación 8, caracterizado porque un primer esc-avo retrasa la transferencia de los primeros datos solicit idos por un primer maestro cuando una primera señal de control que indica que el primer maestro no se encuentra listo oara recibir los primeros datos solicitados.
  11. 11. El sistema electrónico según la reivindicación 8, caracterizado porque la primera señal de control indica ademas que un segundo maestro se encuentra listo para recibir los segundos datos solicitados al pri rer esclavo, transfiriéndole el primer esclavo los según ios datos solicitados al segundo maestro en respuesta a la primera señal de control.
  12. 12. El sistema electrónico según -.& reivindicación 8, caracterizado porque cada uno de Jos esclavos ncluye memorias temporales respectivas, manteniéndose los datos solicitados provenientes de un esclavo particular por un maestro solicitante en la memoi la temporal del esclavo particular cuando una señal de control correspondiente le indica al esclavo particular que el maestro solicitante no se encuentra listo para recibir los datos solicitados, manteniéndose los datos solicitad >s en la memoria temporal del esclavo particular hasta que la señal de control correspondiente le indica al esclavo particular que el maestro se encuentra listo para recibir los datos solicitados desde el esclavo particular.
  13. 13. Un circuito integrado (IC) de sistema monochip (SoC), caracterizado porque comprende: un substrato; un controlador del bus colocado sobre el substrato; al menos un maestro colocado sobre el substrato, interconectado cada maestro con el controlador del bus mediante un bus de datos maestro respectivo colocado también sobre el substrato, emitiendo los maestros solicitudes de datos y recibiendo los datos solicitados en respuesta a las solicitudes de datos; al menos un esclavo colocado sobre el substrato, interconectado cada esclavo con el controlador de bus mediante un bus de datos de esclavo respectivo también colocado sobre el substrato, configurándose los esclavos para recibir las solicitudes de datos y proporcionar -os datos solicitudes; y señales de control emitidas por el control adcr de bus a los esclavos, indicándoles las señales de control i los esclavos la disponibilidad de los maestros para re íbir los datos solicitados.
  14. 14. El IC de SoC según la reivindicación 13, caracterizaao porque las señales de control les indican a los esclavos cuales maestros no se encuentran listos para recibir los datos solicitados.
  15. 15. El IC de SoC según la reivindicación 14, caracterizado porque las señales de control les indic n a los esclavos cuáles maestros se encuentran listos para recibir los datos solicitados.
  16. 16. El iC de SoC según la reivindicación 1-5, caracterizado porque un primer esclavo retrasa la transferencia de los primeros datos solicitados por un primer maestro cuando una primera señal de control indica que el primer maestro no se encuentra listo para rec. oír los primeros datos solicitados.
  17. 17. El IC de SoC según la reivindicación 13, caracterizado porque la primera señal ele control indica ademas que un segundo maestro se encuentra listo [ara recibir los segundos datos solicitados del primer esclavo, transfiriendo el primer esclavo a los segundos da4 os solicitados al segundo maestro en respuesta a la primera señal de control.
  18. 18. El LX de SoC según la reivindicación 13, caracterizado porque los esclavos que incluyen las memorias temporales respectivas, los datos solicitados provenientes de un esclavo particular por un maestro solicitante qu> se mantienen en la memoria temporal del esclavo particular cuando una señal de control correspondiente le indica al esclavo particular que el maestro solicitante no se encuentra listo para recibir los datos solicítanos, manteniéndose los datos solicitados en la memoria temp ral del esclavo particular hasta que la señal de cont rol correspondiente le indica al esclavo particular que el maestro se encuentra listo para recibir los í L s solicitados provenientes del esclavo particular.
  19. 19. Un método para transferir datos en un sistema electrónico, caracterizado porque comprende: emitii solicitudes de uno o más esclavos p..ra proporcionar los datos solicitados a uno o más maestros; indicarle a un primer esclavo cuando uno o más primeros maestros no se encuentra listo para recibir los datos que ha solicitado del primer esclavo; y retrasar la transferencia de datos provenientes del primer esclavo a uno o mas primeros maestros.
  20. 20. El método para transferir los datos según l a reivindicación 19, caracterizado porque el paso de retraso comprende ademas transferir ciatos desde el primer escl o hacia el segundo maestro que ha solicitado y se encuent a listo para recibir los datos provenientes del primer esclavo .
  21. 21. El método para transferir los datos segur, la reivindicación 19, caracterizado porque el paso de retraso incluye mantener los datos solicitados por el primer maestro en una memoria temporal del primer esclavo.
  22. 22. El método para transferir los datos según la reivindicación 19, caracterizado porque el paso de indicación comprende emitir señales de control a cada uno de los esclavos, siendo indicativas las señales de cont ol de cada uno de los maestros que se encuentran listos para recibir datos provenientes de cada esclavo.
  23. 23. Un método para reducir la contención de Lus y para mejorar la utilización de bus en un circuito integrado (IC) de sistema monochip (SoC), teniendo el IC de SoC uno o mas maestros configurados para recibir dat os mediante los respectivos buses maestros provenientes de uno o mas esclavos, caracterizado el método porque comprende: emitir solicitudes para que uno o mas esclavos proporcionen datos solicitados a uno o más maestras mediante sus respectivos buses maestros; indicarle a un primer esclavo cuándo uno o mas de los primeros maestros se encuentra recibiendo los datos mediante su bus maestro respectivo y consecuentemente no se encuentra listo para recibir los datos que solicitó del primer esclavo, y reducir la contención del bus al retrasar la transferencia de datos del primer esclavo a uno o más primero maestros que se encuentran recibiendo datos mediante sus respectivos buses maestros y consecuentemente no se encuentran listos para recibir datos provenientes del primer esclavo.
  24. 24. El método según la reivindicación 23, caracterizado además porque comprende el paso para mejorar la utilización del bus al transferir datos desde el primer esclavo hasta un segundo maestro que ha solicitado y que se encuentra listo para recibir los datos provenientes del primer esclavo.
  25. 25. El método según la reivindicación 24, caracterizado porque la reducción del paso de contención de bus incluye mantener los datos solicitados por el primer maestro en una memoria temporal del primer esclavo.
MX2007009732A 2005-02-10 2006-02-09 Metodo de control de flujo para mejorar la transferencia de datos mediante una matriz de conmutacion. MX2007009732A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/055,922 US7246188B2 (en) 2005-02-10 2005-02-10 Flow control method to improve bus utilization in a system-on-a-chip integrated circuit
PCT/US2006/004936 WO2006086732A1 (en) 2005-02-10 2006-02-09 Flow control method to improve data transfer via a switch matrix

Publications (1)

Publication Number Publication Date
MX2007009732A true MX2007009732A (es) 2007-09-26

Family

ID=36588894

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007009732A MX2007009732A (es) 2005-02-10 2006-02-09 Metodo de control de flujo para mejorar la transferencia de datos mediante una matriz de conmutacion.

Country Status (13)

Country Link
US (1) US7246188B2 (es)
EP (1) EP1846831B1 (es)
JP (3) JP4861339B2 (es)
KR (1) KR100932408B1 (es)
CN (1) CN100595744C (es)
AT (1) ATE491993T1 (es)
DE (1) DE602006018862D1 (es)
ES (1) ES2355054T3 (es)
HK (1) HK1114213A1 (es)
IL (1) IL185067A0 (es)
MX (1) MX2007009732A (es)
PL (1) PL1846831T3 (es)
WO (1) WO2006086732A1 (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2407662B (en) * 2003-11-03 2006-02-22 Compxs Uk Ltd Two way serial communication
US7788625B1 (en) * 2005-04-14 2010-08-31 Xilinx, Inc. Method and apparatus for precharacterizing systems for use in system level design of integrated circuits
DE102005026436B4 (de) * 2005-06-08 2022-08-18 Austriamicrosystems Ag Schnittstellenanordnung, insbesondere für ein System-on-Chip, und deren Verwendung
US20070255874A1 (en) * 2006-04-28 2007-11-01 Jennings Kevin F System and method for target device access arbitration using queuing devices
US7908412B2 (en) * 2006-05-10 2011-03-15 Microsoft Corporation Buffer passing mechanisms
KR100854973B1 (ko) * 2007-02-13 2008-08-28 삼성전자주식회사 버스 매트릭스를 포함하는 시스템
DE102007015122A1 (de) * 2007-03-29 2008-10-02 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Transfer von Daten in mehrere Steuergeräte
EP2136298A1 (en) * 2007-04-11 2009-12-23 Panasonic Corporation Data saving system, data returning system, data saving method and data returning method
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
CN101453313B (zh) * 2007-12-06 2013-03-20 鸿富锦精密工业(深圳)有限公司 主从设备通信电路
JP5035469B2 (ja) * 2009-03-31 2012-09-26 富士通株式会社 データ転送回路及びデータ転送方法
US8984195B2 (en) * 2011-12-02 2015-03-17 Atmel Corporation Microcontroller including alternative links between peripherals for resource sharing
TWI617164B (zh) * 2012-10-19 2018-03-01 菲爾卻德半導體公司 用於操作與切換一單一導體介面之裝置及方法
WO2014156282A1 (ja) * 2013-03-25 2014-10-02 三菱電機株式会社 バスマスタ、バスシステム及びバス制御方法
GB2540610B (en) * 2015-07-23 2017-12-06 Advanced Risc Mach Ltd Gathering monitoring data relating to the operation of a data processing system
GB2551806B (en) * 2016-06-30 2020-06-03 Advanced Risc Mach Ltd Interface with buffered and direct pathways
CN111797051B (zh) * 2020-06-04 2022-05-17 深圳云天励飞技术股份有限公司 片上系统、数据传送方法及广播模块
DE102021106379A1 (de) 2021-03-16 2022-09-22 Infineon Technologies Ag Master, Slave, Master-Slave-Kommunikations-System, On-Chip-Interconnect-System, Verfahren zum Betreiben eines Masters, Verfahren zum Betreiben eines Slaves, Verfahren zum Betreiben eines Master-Slave-Kommunikations-Systems und Verfahren zum Betreiben eines On-Chip-Interconnect-Systems
CN113765824A (zh) * 2021-10-15 2021-12-07 合肥移瑞通信技术有限公司 基于mbim接口的响应消息发送方法、装置、mbb设备及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956524A (en) * 1990-04-06 1999-09-21 Micro Technology Inc. System and method for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
EP0608663B1 (en) 1993-01-25 1999-03-10 Bull HN Information Systems Italia S.p.A. A multi-processor system with shared memory
US5581729A (en) * 1995-03-31 1996-12-03 Sun Microsystems, Inc. Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system
US5907485A (en) 1995-03-31 1999-05-25 Sun Microsystems, Inc. Method and apparatus for flow control in packet-switched computer system
US5761516A (en) * 1996-05-03 1998-06-02 Lsi Logic Corporation Single chip multiprocessor architecture with internal task switching synchronization bus
US6065077A (en) * 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6516442B1 (en) * 1997-12-07 2003-02-04 Conexant Systems, Inc. Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
US6441479B1 (en) * 2000-03-02 2002-08-27 Micron Technology, Inc. System-on-a-chip with multi-layered metallized through-hole interconnection
JP4024484B2 (ja) * 2001-03-13 2007-12-19 株式会社リコー バスアービタ
JP2003030134A (ja) * 2001-07-12 2003-01-31 Matsushita Electric Ind Co Ltd バスアービタ及びバスアービトレーション方法
IL144789A0 (en) 2001-08-07 2002-06-30 Broadlight Ltd System architecture of a high bit rate switch module between functional units in a system on a chip
US6857035B1 (en) * 2001-09-13 2005-02-15 Altera Corporation Methods and apparatus for bus mastering and arbitration
EP1376373B1 (en) * 2002-06-20 2006-05-31 Infineon Technologies AG Arrangement having a first device and a second device connected via a cross bar switch
JP2004126646A (ja) * 2002-09-30 2004-04-22 Canon Inc バス制御方法
JP2005234932A (ja) * 2004-02-20 2005-09-02 Oki Electric Ind Co Ltd マトリックス状バス接続システムとその低電力方法

Also Published As

Publication number Publication date
CN101203839A (zh) 2008-06-18
KR20070104929A (ko) 2007-10-29
WO2006086732A1 (en) 2006-08-17
WO2006086732A9 (en) 2006-10-19
US7246188B2 (en) 2007-07-17
JP5456632B2 (ja) 2014-04-02
IL185067A0 (en) 2007-12-03
PL1846831T3 (pl) 2011-04-29
JP2012038325A (ja) 2012-02-23
ES2355054T3 (es) 2011-03-22
DE602006018862D1 (de) 2011-01-27
JP4861339B2 (ja) 2012-01-25
EP1846831B1 (en) 2010-12-15
JP2011048838A (ja) 2011-03-10
JP2008530694A (ja) 2008-08-07
EP1846831A1 (en) 2007-10-24
KR100932408B1 (ko) 2009-12-17
US20060179192A1 (en) 2006-08-10
JP5456743B2 (ja) 2014-04-02
ATE491993T1 (de) 2011-01-15
CN100595744C (zh) 2010-03-24
HK1114213A1 (en) 2008-10-24

Similar Documents

Publication Publication Date Title
MX2007009732A (es) Metodo de control de flujo para mejorar la transferencia de datos mediante una matriz de conmutacion.
EP1564646A2 (en) Configurable embedded processor
KR930008039B1 (ko) 인터페이스 회로
KR100915260B1 (ko) 오토믹 세마포어 연산을 수행하기 위한 방법 및 장치
KR20050043426A (ko) 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치
US6628662B1 (en) Method and system for multilevel arbitration in a non-blocking crossbar switch
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
CA2114374C (en) Bus coupling information processing system for multiple access to system bus
JPS5921048B2 (ja) 多重取出しバス・サイクル操作を与えるシステム
AU611964B2 (en) Inter and intra priority resolution network for an asynchronous bus system
CN101482853B (zh) 直接存储器访问系统及方法
US6282144B1 (en) Multi-ported memory with asynchronous and synchronous protocol
US7031337B2 (en) Data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
US20050228914A1 (en) Matrix type bus connection system
US5241629A (en) Method and apparatus for a high performance round robin distributed bus priority network
WO2006071942A2 (en) Method and apparatus for implementing heterogeneous interconnects
US5446847A (en) Programmable system bus priority network
US20100030938A1 (en) Controller and method for direct memory access
JPH0689257A (ja) バスブリッジの調停装置
US20030056072A1 (en) System and method for providing data to multi-function memory
JP2004213666A (ja) Dmaモジュールとその操作方法
JPS62175851A (ja) メモリ管理システム
JPS60147866A (ja) バス制御方式

Legal Events

Date Code Title Description
FG Grant or registration