CONMUTADOR DE DIRECCIÓN NO BLOQUEANTE CON COLAS SUPERFICIALES POR AGENTE.
Un sistema (10) que comprende: una pluralidad de agentes (12A-12D);
una interconexión (16); y un conmutador (14) acoplado a la pluralidad de agentes y a la interconexión, en el que e conmutador comprende una pluralidad de ubicaciones de almacenamiento (30A-30B), y en el que la pluralidad de ubicaciones de almacenamiento se configuran para almacenar una pluralidad de solicitudes transmitidas por la pluralidad de agentes al conmutador, y en el que el conmutador se configura para arbitrar entre la pluralidad de solicitudes almacenadas en la pluralidad de ubicaciones de almacenamiento, y en el que el conmutador se configura para transmitir en la interconexión una solicitud seleccionada, en el que la solicitud seleccionada es una ganadora del arbitraje; caracterizado porque: la interconexión incluye uno o más dispositivos de almacenamiento temporizado (20B-20I) acoplados entre el conmutador y cada uno de la pluralidad de agentes que recibe las solicitudes en la interconexión, y en el que una serie de uno o más dispositivos de almacenamiento temporizado se basa en un tiempo de vuelo de la solicitud al agente receptor más alejado del conmutador, y en el que un número igual de dispositivos de almacenamiento temporizado se incluye entre el conmutador y cada uno de la pluralidad de agentes, incluso aunque por lo menos uno de la pluralidad de agentes tenga un tiempo de vuelo más corto del conmutador para las solicitudes
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2006/031520.
Solicitante: APPLE INC..
Nacionalidad solicitante: Estados Unidos de América.
Dirección: 1 INFINITE LOOP CUPERTINO, CA 95014 ESTADOS UNIDOS DE AMERICA.
Inventor/es: KELLER, JAMES B, SUBRAMANIAN,Sridhar P. , YIU,George Kong , WADHAWAN,Ruchi , GUNNA,Ramesh.
Fecha de Publicación: .
Fecha Solicitud PCT: 11 de Agosto de 2006.
Clasificación Internacional de Patentes:
- G06F13/362 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 13/00 Interconexión o transferencia de información u otras señales entre memorias, dispositivos de entrada/salida o unidades de procesamiento (circuitos de interfaz para dispositivos de entrada/salida específicos G06F 3/00; sistemas multiprocesadores G06F 15/16). › con control centralizado de acceso.
- G06F13/40D2
Clasificación PCT:
- G06F13/362 G06F 13/00 […] › con control centralizado de acceso.
- G06F13/40 G06F 13/00 […] › Estructura del bus.
Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia.
Fragmento de la descripción:
ANTECEDENTES
Campo de la invención
Esta invención se relaciona con el campo de los circuitos integrados y, más concretamente, con mecanismos de arbitraje para la interconexión dentro de y/o entre circuitos integrados. 5
Descripción de los Antecedentes de la Técnica
Los circuitos integrados en un sistema, o varios circuitos dentro de un circuito integrado, tienen por lo general una necesidad de comunicarse entre sí. En muchos casos, los comunicadores en el sistema/circuito integrado pueden comunicarse a través de diversas direcciones en un mapa de memoria. Es decir, se asignan direcciones a diversos comunicadores dentro del mapa de memoria, y se utilizan 10 lecturas/escrituras a las direcciones para comunicarse. Por lo general, tales comunicadores utilizan transacciones de lectura/escritura transmitidas por una interconexión entre los comunicadores. Por ejemplo, es común tener un bus de direcciones por el cual la dirección, la orden, y otra información de transacción se transmite para iniciar una transacción. Además, un bus de datos puede utilizarse para transmitir los datos correspondientes a la transacción, de haberla. Si se implementa coherencia de memoria cache para las 15 transacciones, puede proporcionarse una interfaz de respuesta para mantener los estados de coherencia de acuerdo con el esquema de coherencia implementado por los comunicadores.
En la medida en que la interconexión, o una parte de la misma, se comparte entre los comunicadores, se necesita algún mecanismo para el arbitraje entre los comunicadores para el uso de la interconexión. En el pasado, se han utilizado mecanismos de arbitraje centralizado y distribuido. En un 20 mecanismo de arbitraje centralizado, todos los comunicadores transmiten una señal de solicitud a un árbitro central, que determina a qué comunicador se le concederá el uso de la interconexión (el "ganador del arbitraje"). El árbitro central devuelve una señal de concesión al comunicador concedido, y a continuación el comunicador concedido acciona su transacción en la interconexión. En un esquema de arbitraje distribuido, cada comunicador implementa un árbitro local (o se incluye cerca un árbitro local). Cada comunicador afirma 25 su señal de solicitud a todos los árbitros locales. Los árbitros locales están diseñados para determinar de manera independiente el mismo ganador del arbitraje. El árbitro local del comunicador concedido informa al comunicador concedido, que acciona su transacción en la interconexión.
El mecanismo de arbitraje centralizado es por lo general más fácil de implementar que el mecanismo de arbitraje distribuido. Sin embargo, el mecanismo de arbitraje centralizado también es por lo 30 general un mecanismo de latencia superior. El mecanismo de arbitraje centralizado incluye una transmisión potencialmente de larga distancia de una señal de solicitud, seguido de una transmisión igualmente de larga distancia de una señal de concesión, seguido del comunicador concedido accionando su transacción. Por otra parte, el esquema de arbitraje distribuido más complejo sólo puede implicar una transmisión de larga distancia (de una señal de solicitud a cada uno de los árbitros locales). Las complejidades en el mecanismo 35 de arbitraje distribuido incluyen por lo general un “aparcamiento” más complejo de la concesión en un comunicador concreto, complejidades en el control del flujo de los comunicadores, y asignación de búferes en comunicadores de destino basado en por fuente-comunicador.
Una versión de la especificación base PCI Express se presenta en “PCI express base specification”, Rev. 1.0, 29 de abril de 2002, páginas 1-416. 40
EP-A-1.308.862 divulga un diseño de un circuito digital síncrono que comprende una serie de dispositivos de almacenamiento temporizado y una serie de elementos lógicos combinatorios que definen unas rutas combinatorias entre por lo menos algunos de los dispositivos de almacenamiento temporizado. Cada ruta combinatoria desde una salida de un dispositivo de almacenamiento temporizado hasta una entrada de otro tiene un valor de retardo mínimo (Dmin) y un valor de retardo máximo (Dmax). El retardo real 45 de la ruta adopta un valor entre los valores de retardo mínimo y máximo. Un procedimiento comprende las etapas de identificar la ruta con la mayor diferencia entre el valor de retardo máximo (Dmax) y el valor de retardo mínimo (Dmin), y reducir la diferencia aumentando el valor de retardo mínimo para la ruta con la mayor diferencia.
RESUMEN DE LA INVENCIÓN 50
La invención se define en las reivindicaciones.
En una forma de realización, se configura un conmutador para ser acoplado a una interconexión. El conmutador comprende una pluralidad de ubicaciones de almacenamiento y un circuito de control de árbitro acoplado a la pluralidad de ubicaciones de almacenamiento. La pluralidad de ubicaciones de almacenamiento se configura para almacenar una pluralidad de solicitudes transmitidas por una pluralidad 55 de agentes. El circuito de control de árbitro se configura para arbitrar entre la pluralidad de solicitudes almacenadas en la pluralidad de ubicaciones de almacenamiento. Una solicitud seleccionada es la ganadora del arbitraje, y el conmutador se configura para transmitir la solicitud seleccionada de una de la pluralidad de
ubicaciones de almacenamiento en la interconexión. En otra forma de realización, un sistema comprende una pluralidad de agentes, una interconexión, y el conmutador acoplado a la pluralidad de agentes y la interconexión.
En todavía otra forma de realización, un procedimiento comprende poner en cola las solicitudes de una pluralidad de agentes en una pluralidad de ubicaciones de almacenamiento; arbitrar entre las 5 solicitudes en la pluralidad de ubicaciones de almacenamiento para seleccionar una solicitud de la pluralidad de solicitudes; y transmitir la solicitud seleccionada en una interconexión.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Se describen unas formas de realización de ejemplo de la invención con respecto a los dibujos adjuntos.. 10
La Fig. 1 es un diagrama de bloques de una forma de realización de un circuito integrado.
La Fig. 2 es un diagrama de bloques de una forma de realización de un árbitro/conmutador de dirección mostrado en la Fig. 1.
La Fig. 3 es un diagrama de flujo que ilustra el funcionamiento de una forma de realización de una unidad de control de árbitro que se muestra en la Fig. 2 para arbitrar entre solicitudes. 15
La Fig. 4 es una tabla que ilustra las reglas de ordenamiento para una forma de realización.
La Fig. 5 es un diagrama de flujo de alto nivel de un procedimiento de comunicación de solicitudes en una interconexión de dirección.
DESCRIPCIÓN DETALLADA
A continuación volviendo a la Fig. 1, se muestra un diagrama de bloques de una forma de 20 realización de un sistema 10. En la forma de realización ilustrada, el sistema 10 incluye una pluralidad de agentes como los agentes 12A-12D. El sistema también incluye un conmutador de dirección 14, una interconexión de dirección 16, y una interconexión de respuesta/datos 18. Los agentes 12A-12B se acoplan al conmutador de dirección 14 (donde el agente 12B se acopla a través de un flop 20A en la forma de realización ilustrada). El conmutador de dirección 14 se acopla adicionalmente a la interconexión de dirección 25 16, que se acopla a los agentes 12A-12D (a través de unos flops 20B-20I en la forma de realización ilustrada). Visto de otra manera, los flops 20B-20I pueden ser parte de la interconexión de dirección 16. Los agentes 12A-12D también se acoplan a la interconexión de respuesta/datos 18. En una forma de realización, el sistema 10 puede integrarse en un chip de circuito integrado único. En otras formas de realización, pueden implementarse diversos componentes del sistema 10 en circuitos integrados diferentes. Puede utilizarse 30 cualquier nivel de integración en diversas formas de realización.
Los agentes 12A-12B se configuran para transmitir las solicitudes que se van a transmitir en la interconexión de dirección 16 para el conmutador de dirección 14. Cada solicitud puede incluir la dirección de la transacción y la orden (que identifica la transacción a llevar a cabo). Pueden soportarse diversas órdenes, como órdenes de escritura y lectura coherentes, órdenes de escritura y lectura no coherentes, órdenes de 35 propiedad...
Reivindicaciones:
1. Un sistema (10) que comprende:
una pluralidad de agentes (12A-12D);
una interconexión (16); y
un conmutador (14) acoplado a la pluralidad de agentes y a la interconexión, en el que el 5 conmutador comprende una pluralidad de ubicaciones de almacenamiento (30A-30B), y en el que la pluralidad de ubicaciones de almacenamiento se configuran para almacenar una pluralidad de solicitudes transmitidas por la pluralidad de agentes al conmutador, y en el que el conmutador se configura para arbitrar entre la pluralidad de solicitudes almacenadas en la pluralidad de ubicaciones de almacenamiento, y en el que el conmutador se configura para 10 transmitir en la interconexión una solicitud seleccionada, en el que la solicitud seleccionada es una ganadora del arbitraje; caracterizado porque:
la interconexión incluye uno o más dispositivos de almacenamiento temporizado (20B-20I) acoplados entre el conmutador y cada uno de la pluralidad de agentes que recibe las solicitudes en la interconexión, y en el que una serie de uno o más dispositivos de 15 almacenamiento temporizado se basa en un tiempo de vuelo de la solicitud al agente receptor más alejado del conmutador, y en el que un número igual de dispositivos de almacenamiento temporizado se incluye entre el conmutador y cada uno de la pluralidad de agentes, incluso aunque por lo menos uno de la pluralidad de agentes tenga un tiempo de vuelo más corto del conmutador para las solicitudes. 20
2. El sistema según la reivindicación 1 en el que la pluralidad de ubicaciones de almacenamiento comprende una pluralidad de colas, en el que cada una de la pluralidad de colas (30A-30B) se corresponde con un agente respectivo de la pluralidad de agentes y se configura para almacenar las solicitudes transmitidas por el agente respectivo, en el que cada una de la pluralidad de colas comprende por lo menos dos de la pluralidad de ubicaciones de almacenamiento. 25
3. El sistema según la reivindicación 1 en el que el conmutador se configura para seleccionar una primera solicitud transmitida por un primer agente de la pluralidad de agentes como la solicitud seleccionada antes de seleccionar una segunda solicitud, en el que la segunda solicitud es transmitida por el primer agente antes de la primera solicitud.
4. El sistema según la reivindicación 3 en el que cada solicitud tiene una prioridad correspondiente, y 30 en el que el conmutador se configura para seleccionar la primera solicitud antes de seleccionar la segunda solicitud si la primera solicitud tiene una prioridad más alta que la segunda solicitud.
5. El sistema según la reivindicación 3 en el que el conmutador se configura para seleccionar la primera solicitud antes de seleccionar la segunda solicitud si las solicitudes primera y segunda son reordenables según un conjunto de reglas de ordenamiento, y en el que el conmutador se configura 35 para no seleccionar la primera solicitud por delante de la segunda solicitud si las solicitudes primera y segunda no son reordenables según el conjunto de reglas de ordenamiento incluso si la primera solicitud tiene una prioridad más alta que la segunda solicitud.
6. El sistema según la reivindicación 5 en el que el primer agente se configura para transmitir una indicación con la primera solicitud indicativa de si la primera solicitud es reordenable o no con la 40 segunda solicitud, y en el que el conmutador se configura para seleccionar la primera solicitud antes de seleccionar la segunda solicitud si la indicación indica que la primera solicitud es reordenable con la segunda solicitud.
7. El sistema según la reivindicación 1 en el que el conmutador se configura para determinar un agente de destino de la pluralidad de agentes para cada solicitud de la pluralidad de solicitudes, y en el que, 45 si una solicitud de la pluralidad de solicitudes se basa en bloques en el agente de destino de la solicitud, el conmutador se configura para seleccionar otra solicitud a otro agente de destino como la solicitud seleccionada.
8. El sistema según la reivindicación 7 en el que el conmutador se configura para decodificar una parte de una dirección de cada solicitud de la pluralidad de solicitudes para determinar el agente de 50 destino para la solicitud.
9. El sistema según la reivindicación 1 en el que un primer agente (12A) de la pluralidad de agentes se acopla al conmutador a través de una primera ruta separada de la interconexión para transmitir solicitudes al conmutador, en el que la primera ruta tiene un primer tiempo de vuelo para las solicitudes inferior al ciclo de reloj y la primera ruta excluye los dispositivos de almacenamiento 55 temporizado, y en el que un segundo agente de la pluralidad de agentes se acopla al conmutador a través de una segunda ruta separada de la interconexión y la primera ruta para transmitir solicitudes
al conmutador, en el que la segunda ruta tiene un segundo tiempo de vuelo para las solicitudes superior al ciclo de reloj y la segunda ruta incluye por lo menos un dispositivo de almacenamiento temporizado (20A).
10. El sistema según la reivindicación 1 en el que un primer agente de la pluralidad de agentes se configura para transmitir una pluralidad de solicitudes al conmutador, y en el que el primer agente se 5 acopla para recibir la solicitud seleccionada transmitida por el conmutador de la interconexión, y en el que el primer agente se configura para determinar cuál de la pluralidad de solicitudes transmitidas por el primer agente al conmutador es la solicitud seleccionada en respuesta a la recepción de la solicitud seleccionada en la interconexión.
11. Un procedimiento que comprende: 10
poner en cola (70) las solicitudes de una pluralidad de agentes (12A-12D) en una pluralidad de ubicaciones de almacenamiento (30A, 30B);
arbitrar (72) entre las solicitudes en la pluralidad de ubicaciones de almacenamiento para seleccionar una solicitud seleccionada de la pluralidad de solicitudes; y
transmitir (74) la solicitud seleccionada en una interconexión (16), caracterizado porque la 15 interconexión
comprende uno o más dispositivos de almacenamiento temporizado (20B-20I) acoplados entre un conmutador (14) y cada uno de la pluralidad de agentes que recibe solicitudes en la interconexión, y porque una serie de uno o más dispositivos de almacenamiento temporizado se basa en un tiempo de vuelo de la solicitud a un agente receptor más alejado del 20 conmutador (14), y en el que un número igual de dispositivos de almacenamiento temporizado se incluye entre el conmutador (14) y cada uno de la pluralidad de agentes (12A-12D), incluso aunque por lo menos uno de la pluralidad de agentes (12A-12D) tenga un tiempo de vuelo más corto del conmutador (14) para las solicitudes.
12. El procedimiento según la reivindicación 11 en el que un primer agente (12A) de la pluralidad de 25 agentes se acopla al conmutador a través de una primera ruta separada de la interconexión para transmitir solicitudes al conmutador, en el que la primera ruta tiene un primer tiempo de vuelo para las solicitudes inferior al ciclo de reloj y la primera ruta excluye los dispositivos de almacenamiento temporizado, y en el que un segundo agente (12B) de la pluralidad de agentes se acopla al conmutador a través de una segunda ruta separada de la interconexión y la primera ruta para 30 transmitir solicitudes al conmutador, en el que la segunda ruta tiene un segundo tiempo de vuelo para las solicitudes superior al ciclo de reloj y la segunda ruta incluye por lo menos un dispositivo de almacenamiento temporizado (20A).
13. El procedimiento según la reivindicación 11 que comprende adicionalmente:
un primer agente de la pluralidad de agentes que transmiten una pluralidad de solicitudes al 35 conmutador;
el primer agente que recibe la solicitud seleccionada transmitida por el conmutador de la interconexión; y
el primer agente que determina cuál de la pluralidad de solicitudes transmitidas por el primer agente al conmutador es la solicitud seleccionada en respuesta a la recepción de la solicitud 40 seleccionada de la interconexión.
14. El procedimiento según la reivindicación 11 que comprende adicionalmente:
el conmutador que selecciona una primera solicitud transmitida por un primer agente de la pluralidad de agentes como la solicitud seleccionada antes de seleccionar una segunda solicitud, en el que la segunda solicitud es transmitida por el primer agente antes de la 45 primera solicitud;
el primer agente que transmite una indicación con la primera solicitud indicativa de si la primera solicitud es reordenable o no con la segunda solicitud, en el que el conmutador que selecciona la primera solicitud antes de seleccionar la segunda solicitud es sensible a la indicación que indica que la primera solicitud es reordenable con la segunda solicitud. 50
15. El procedimiento según la reivindicación 11 que comprende adicionalmente el conmutador que selecciona una primera solicitud transmitida por un primer agente de la pluralidad de agentes como la solicitud seleccionada antes de seleccionar una segunda solicitud, en el que la segunda solicitud es transmitida por el primer agente antes de la primera solicitud, y en el que cada solicitud tiene una prioridad correspondiente, y el conmutador que selecciona la primera solicitud antes de seleccionar 55
la segunda solicitud sensible teniendo la primera solicitud una prioridad más alta que la segunda solicitud.
Patentes similares o relacionadas:
Solución Ethernet universal, del 2 de Octubre de 2019, de SCHNEIDER ELECTRIC INDUSTRIES SAS: Un circuito integrado monolítico , que comprende: al menos un núcleo de procesador de aplicaciones utilizable para ejecutar una aplicación industrial y código de […]
Sistema de transmisión y recepción de datos, del 10 de Abril de 2019, de LSIS Co., Ltd: Un sistema de comunicación que comprende: módulos esclavos configurados para enviar una señal de respuesta correspondiente a una señal […]
Método para configurar automáticamente una ID en una comunicación en anillo UART, del 1 de Febrero de 2017, de LSIS Co., Ltd: Un método para configurar automáticamente ID en comunicación de anillo UART en la que se forma una maestra y se forma una pluralidad de esclavas […]
Arbitrador de espacio de datos, del 14 de Septiembre de 2016, de MICROCHIP TECHNOLOGY INCORPORATED: Un procesador digital, que comprende: un bus maestro (110; M0) por defecto que tiene una prioridad más alta en un modo por defecto; una pluralidad de buses maestros […]
Establecimiento de llamada de telecomunicación de medios mixtos, del 18 de Marzo de 2016, de 3G Licensing S.A: Estación móvil apta para videotelefonía en respuesta a una interrupción de una llamada en curso de telecomunicaciones de medios mixtos, comprendiendo […]
Método de control de acceso a medios para un sistema de bus y un dispositivo de comunicaciones, del 10 de Junio de 2013, de ROBERT BOSCH GMBH: Método de control de acceso a medios, para el control de un acceso de una estación participante de unsistema de bus a un segundo canal […]
Procedimiento para la transmisión de datos entre estaciones de usuarios de un sistema de bus, del 10 de Mayo de 2013, de ROBERT BOSCH GMBH: Procedimiento para la transmisión de datos (b1) entre estaciones de usuarios de un sistema de bus através de un primer canal del sistema de bus […]
MÓDULO DE ENTRADAS Y SALIDAS PARA SISTEMAS DE MONITORIZACIÓN Y CONTROL DE VEHÍCULOS FERROVIARIOS, del 8 de Febrero de 2013, de CAF POWER & AUTOMATION, S.L.U: Módulo de entradas y salidas para sistemas de monitorización y control de vehículos ferroviarios, constituido por una placa de conexiones que presenta unas ranuras de […]