ITTO20130824A1 - Sistema per progettare disposizioni di interconnessione network on chip - Google Patents

Sistema per progettare disposizioni di interconnessione network on chip Download PDF

Info

Publication number
ITTO20130824A1
ITTO20130824A1 IT000824A ITTO20130824A ITTO20130824A1 IT TO20130824 A1 ITTO20130824 A1 IT TO20130824A1 IT 000824 A IT000824 A IT 000824A IT TO20130824 A ITTO20130824 A IT TO20130824A IT TO20130824 A1 ITTO20130824 A1 IT TO20130824A1
Authority
IT
Italy
Prior art keywords
src
max
chip
network
functional
Prior art date
Application number
IT000824A
Other languages
English (en)
Inventor
Daniele Mangano
Ignazio Antonino Urzi
Original Assignee
St Microelectronics Grenoble 2
St Microelectronics Srl
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 St Microelectronics Grenoble 2, St Microelectronics Srl filed Critical St Microelectronics Grenoble 2
Priority to IT000824A priority Critical patent/ITTO20130824A1/it
Priority to US14/511,014 priority patent/US9202002B2/en
Publication of ITTO20130824A1 publication Critical patent/ITTO20130824A1/it
Priority to US14/940,026 priority patent/US10019399B2/en

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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Description

DESCRIZIONE dell?invenzione industriale dal titolo:
?Sistema per progettare disposizioni di interconnessione Network on Chip?
TESTO DELLA DESCRIZIONE
Campo tecnico
La descrizione ? relativa a tecniche per progettare sistemi ?on-chip?.
Una o pi? forme di attuazione possono applicarsi a interconnessioni Network on Chip (NoC), per es. per disposizioni System on Chip (SoC).
Una o pi? forme di attuazione possono fornire un approccio scalabile e distribuito per effettuare un instradamento del traffico in interconnessioni gerarchiche, facendo ricorso eventualmente a una architettura per una mappa di sorgente del SoC scalabile.
Sfondo tecnologico
Il tempo impiegato per arrivare sul mercato (?time-tomarket?) ? un fattore che detta sempre pi? il successo di prodotti SoC moderni e complessi, come i processori di applicazione per le applicazioni mobili e multimediali (smartphone/tablet, Set-Top Box, Home Gateway, e cos? via) Al fine di facilitare la creazione di differenti prodotti SoC (derivati) per differenti segmenti di mercato si fa cos? sempre pi? ricorso alle cosiddette ?piattaforme?.
Una ?piattaforma? ? un sistema che pu? essere usato per es. per realizzare un prototipo di un progetto di System-on-Chip.
Certe forme di attuazione di piattaforme come descritte per es. in EP 2 325 747 A2 possono comprendere una scheda elettronica comprendente un dispositivo logico programmabile per emulare i componenti di sistema e un processore per eseguire un monitor di macchina virtuale che ridirige una richiesta di ingresso/uscita ai componenti del sistema tramite una interconnessione.
? stato osservato che forme di attuazione di una piattaforma possono basarsi su una certa architettura e su una rispettiva metodologia suscettibile di sfruttare elementi distintivi (feature) comuni di differenti prodotti SoC per ridurre il ciclo di sviluppo e per facilitare la portabilit? del software da un derivato a un altro.
Il progetto e la verifica per es. di una interconnessione su silicio ? spesso un compito che richiede molto tempo, cos? da influisce in modo significativo sul time-to-market dei prodotti. Questo pu? essere ancore pi? evidente in un contesto di piattaforma quando si tenta di ricavare interconnessioni derivate da una interconnessione comune e generica.
Varie forme di attuazione possono cos? beneficiare della possibilit? che una certa interconnessione possa essere personalizzata per vari derivati. Tuttavia, derivati possono diversi avere differenti vincoli fisici sottostanti, tali da rendere difficile (se non affatto fattibile) il riutilizzo di una interconnessione.
Si ? osservato che quando si tenta di adattare una generica interconnessione a un derivato, una quantit? di tempo rilevante pu? essere dedicata a riadattare la Mappa di Sorgente. La Mappa di Sorgente fornisce le informazioni per instradare le transazioni di risposta dagli IP slave agli IP master (che danno inizio a transazioni di richiesta verso gli IP slave). Sebbene il costo relativo possa essere accettabile per talune forme di attuazione, la possibilit? di evitare tale attivit? di riadattamento pu? contribuire a rendere pi? efficiente l?approccio con piattaforma minimizzando i costi e il tempo di sviluppo.
Scopo e sintesi
Varie forme di attuazione di una piattaforma possono cos? basarsi su componenti generici e riutilizzabili, un esempio tipico essendo rappresentato da un bus di interconnessione che pu? essere riutilizzato in un insieme di prodotti derivati. Al fine di soddisfare un tale requisito, ? avvertita la necessit? di disporre disposizioni di interconnessione che possono essere rese ?agnostiche? ai vincoli fisici (floorplan, distribuzione delle piazzole (?pad?), ecc.), suscettibili di rappresentare un costo rilevante nei termini dei compiti di progetto e di verifica.
Una o pi? forme di attuazione hanno lo scopo di soddisfare una tale necessit?.
Una o pi? forme di attuazione raggiungono tale scopo grazie ad un sistema avente le caratteristiche richiamate nelle rivendicazioni che seguono.
Le rivendicazioni formano parte integrante della descrizione tecnica qui fornita con riferimento a una o pi? forme di attuazione.
Una o pi? forme di attuazione possono superare le limitazioni di varie forme di attuazione per mezzo di una architettura NoC costruita come una raccolta di unit? indipendenti (sotto-reti).
Una o pi? forme di attuazione possono essere applicate a prodotti System-on-Chip (SoC).
Una o pi? forme di attuazione possono essere applicate per es. a prodotti SoC che integrano almeno una CPU host e pi? componenti IP in comunicazione tra loro e/o che condividono risorse, come memorie on-chip, memorie DDR esterne, una infrastruttura on-chip, ecc.
Una o pi? forme di attuazione possono adottare un approccio nel quale:
- una interconnessione Network on Chip (NoC) del SoC pu? essere fornita come raccolta di sotto-reti indipendenti;
- pu? esistere la possibilit? di espandere interconnessioni esistenti senza impattare su quelle gi? esistenti;
- ciascuna sotto-rete NoC pu? essere agnostica alla mappa di sorgente (src) del SoC.
Una o pi? forme di attuazione possono fornire uno o pi? dei seguenti vantaggi:
- tempo di sviluppo del silicio ridotto per es. in un contesto di piattaforma;
- re-spin delle interconnessioni non pi? necessario quando si ricavano pi? SoC da una stessa piattaforma;
- la Mappa di Sorgente pu? essere indipendente dai vincoli fisici del SoC per es. ciascuna sotto-rete pu? avere una mappa di sorgente indipendente dall?interconnessione nella quale sar? usata.
Breve descrizione delle figure
Una o pi? forme di attuazione saranno ora descritte, a puro titolo di esempio non limitativo, con riferimento alle figure annesse, in cui:
- la Figura 1 ? uno schema a blocchi sintetico rappresentativo di forme di attuazione di un esempio di piattaforma;
- la Figura 2 rappresenta un esempio di un possibile cambiamento nella piattaforma della Figura 1;
- le Figure 3 e 4 rappresentano alcuni possibili dettagli della piattaforma delle Figure 1 e 2;
- le Figure da 5 a 7 esemplificano alcune caratteristiche di forme di attuazione;
- la Figura 8 esemplifica una prima opzione per possibili forme di attuazione; e
- le Figure 9 e 10, quest?ultima figura comprendente tre porzioni indicate rispettivamente come a), b) e c) esemplificano una seconda opzione per possibili forme di attuazione.
Descrizione dettagliata
Nella descrizione che segue sono illustrati uno o pi? dettagli specifici, con l?obiettivo di fornire una comprensione approfondita degli esempi delle forme di attuazione. Le forme di attuazione possono essere ottenute senza uno o pi? dei dettagli specifici, o con altri procedimenti, componenti, materiali, ecc. In altri casi, operazioni, materiali o strutture note non sono illustrate o descritte in dettaglio in modo tale che non saranno rendesi poco chiari certi aspetti delle forme di attuazione. Un riferimento a ?una o pi? forme di attuazione? nel quadro della presente descrizione intende indicare che una particolare configurazione, struttura o caratteristica descritta con riferimento alla forma di attuazione ? compresa in almeno una forma di attuazione. Per cui, frasi come ?in una forma di attuazione? che possono essere presenti in uno o pi? punti della presente descrizione non fanno necessariamente riferimento a un?unica e alla stessa forma di attuazione. Inoltre, particolari conformazioni, strutture o caratteristiche possono essere combinate in qualsiasi modo adeguato in una o pi? forme di attuazione.
I riferimenti usati qui sono forniti unicamente per comodit? di chi legge e quindi non definiscono l?ambito di protezione o l?ambito delle forme di attuazione.
Le Figure 1 e 2 sono esempi generali di una ?piattaforma?, cio? una architettura di sistema 10 atta a produrre per es. una disposizione di interconnessione Network-on-Chip o NoC basandosi su componenti generici e riutilizzabili, in modo tale che la rispettiva interconnessione possa essere riusata in un insieme di prodotti derivati.
In una o pi? forme di attuazione, la piattaforma 10 pu? essere basata su un approccio modulare e pu? cos? comprendere:
- una dorsale (?backbone?) principale 12, e
- un insieme di raggruppamenti (?cluster?) funzionali 16.
In una o pi? forme di attuazione, la piattaforma pu? essere configurata per cooperare con entit? come memorie indicate con DDR (per es. memorie DDR) e/o con dispositivi di avviamento (?boot?) BD (?Boot Device?).
A tal fine, in una o pi? forme di attuazione il backbone principale 12 configurabile pu? comprendere moduli o funzioni, come per es.:
Test - 120
Generatore di orologio - 122
Controllo DDR - 124 (per es. da 0 a 3 per controllare 4 DDR)
Unit? Centrale di Elaborazione o sistema di CPU (?Central Processing Unit?) - 126
Unit? di Elaborazione Grafica o sistema di GPU (?Graphical Processing Unit?) - 128
NoC della CPU - 130
Debug e Traccia - 132
Accesso Diretto in Memoria o DMA (?Direct Memory Access?) - 134
Sicurezza - 136
Gestione dell?Alimentazione o PMU (?Power Management?) - 138
Sensore (sensori) - 140
Controllo del Dispositivo di Boot - 142
Audio - 144
NoC Principale - 146.
In una o pi? forme di attuazione tutte le unit?/funzioni dell?elenco esemplificativo e non limitativo fornito in precedenza possono essere configurate in modo di per s? tradizionale.
In una o pi? forme di attuazione, il backbone principale 12 pu? essere reso configurabile, per es. con una possibile semplificazione e personalizzazione, per es. a livello di DDR, di interconnessione, di CPU, di temporizzazione.
In una o pi? forme di attuazione, il backbone principale 12, per es. la NoC principale 146, pu? comprendere un insieme di porte 15.
In una o pi? forme di attuazione, i cluster funzionali 16 possono essere attaccati ad una qualsiasi delle porte di backbone 15.
In una o pi? forme di attuazione, i cluster funzionali 16 possono comprendere moduli o funzioni, come per es.:
- una rispettiva sotto-rete (sub-NoC) 160 atta ad agire come una unit? di interconnessione alle porte di backbone 15 nella NoC principale 146,
- una Apparecchiatura di Test 162
- un insieme di IP 164, 166
- moduli/funzioni aggiuntivi 168, eventualmente atti a interfacciarsi con ulteriori moduli/funzioni associati 170 da associare ad un cluster 16.
Cos? come qui utilizzato, il riferimento a una ?rispettiva? sotto-rete 160 intende evidenziare che, in una o pi? forme di attuazione, una tale sotto-rete 160 pu? essere fornita per ciascuno dei cluster funzionali 16.
Esempi di moduli o di funzioni secondo l?elenco non limitativo fornito in precedenza possono essere collegamenti ad alta velocit?, composizione e visualizzazione (?display?), lavoro in rete (?networking?), fotocamera, grafica in 2D, codec video, GPU in 3D, trasporto.
In una o pi? forme di attuazione, i cluster funzionali 16 possono essere indipendenti dalla mappa di sorgente della piattaforma.
In una o pi? forme di attuazione, ciascun cluster funzionale 16 pu? essere asincrono rispetto agli altri cluster funzionali 16.
In una o pi? forme di attuazione, si pu? creare un insieme di SoC usando una stessa piattaforma e costruendoli utilizzando i cluster funzionali 16 come elementi di costruzione.
In una o pi? forme di attuazione, i cluster funzionali 16 possono avere una granularit? oltre quella di un IP (per es. un cluster funzionale pu? essere una aggregazione di IP che offrono tutti insieme una data funzione di SoC).
Questo pu? avere come risultato un approccio incrementale a partire da una configurazione esistente tramite fasi, come per es. aggiunta/rimozione/spostamento di caratteristiche ?, suscettibili di essere per es. abbastanza flessibili da accettare richieste tardive senza impattare sulla costruzione.
In una o pi? forme di attuazione, i cluster funzionali (elementi di costruzione) 16 possono essere ?agnostici? rispetto agli altri elementi omologhi in termini di mappa di sorgente e di Network-on-Chip, il che pu? permettere di costruire un nuovo SoC o di modificare un SoC esistente mettendo insieme (componendo) questi elementi senza impattare globalmente su una struttura gi? esistente. Questo si differenzia rispetto con gli approcci tradizionali di sviluppo di un SoC, in cui l?aggiunta o la rimozione di un IP pu? impattare sull?infrastruttura del SoC, per es. sulla disposizione di interconnessione progettata con una vista globale di sistema da estremo a estremo.
Una architettura modulare cos? come esemplificata nella Figura 1 pu? permettere qualsiasi spostamento funzionale tra i cluster funzionali 16, comprese possibili azioni di rimozione e spostamento per cui qualsiasi cluster funzionale 16 pu? essere staccato da un backbone principale 12, per es. dalla NoC principale 146, ed essere reso per cos? dire subordinato a un altro cluster funzionale come rappresentato schematicamente nella Figura 2.
Una tale azione ? un esempio della possibilit? di usare i cluster funzionali 16 come elementi di costruzione suscettibili di essere condivisi attraverso differenti SoC derivati, permettendo cos? per es. l?integrazione di un hardware riutilizzabile.
Una o pi? forme di attuazione possono basarsi su una costruzione di interconnessione SoC nella quale l?interconnessione Network on Chip o NoC del SoC ? una raccolta di sotto-reti indipendenti tali da offrire la capacit? di espandere interconnessioni esistenti senza impattare su quella gi? esistente, in cui ciascuna sottorete NoC ? per es. agnostica alla mappa di sorgente (src) del SoC.
La Figura 3 ? una rappresentazione schematica di un esempio di una sotto-rete (160 nelle Figure 1 e 2) suscettibile di fungere da una unit? di interconnessione dedicata a un cluster funzionale 16.
In una o pi? forme di attuazione, una tale sotto-rete 160 pu? comprendere uno o pi? tra:
- un insieme di porte master M0, M1, ?, Mn per un utilizzo da parte di IP IP0, IP1, IPn (si veda per es. 164, 166 nelle Figure 1 e 2) situati nel cluster funzionale 16;
- una porta master SAP/Mext per la connessione (per es. attraverso un SAP) ad altre sotto-reti 160;
- un insieme di porte slave SP1, SP2, ? per la connessione al backbone principale o ad altre sotto-reti: queste porte slave possono comprendere eventualmente prime porte slave (per es. SAP) per una connessione ad altri cluster funzionali (FC, ?Functional Cluster?) e/o al backbone e seconde porte slave ?normali? per una connessione con degli IP (moduli) all?interno di un cluster funzionale;
- una porta slave Sn connessa per accedere a target interni del cluster funzionale.
L?acronimo SAP usato ripetutamente in tutta questa descrizione significa Punto di Accesso di Servizio (?Service Access Point?).
La Figura 4 ? una rappresentazione schematica di un esempio di un backbone (146 nelle Figure 1 e 2), suscettibile di comprendere anche una sotto-rete atta a fornire una infrastruttura NoC che pu? coprire ?fisicamente? il floorplan del SoC complessivo.
In una o pi? forme di attuazione, una tale sotto-rete pu? fornire le funzioni/servizi seguenti:
- connessione (per es. tramite un SAP) alle differenti sotto-reti 160 dei cluster funzionali 16;
- porte slave, per es. S0, S1, S2, per una connessione ai target principali del SoC (DDR), per esempio al fine di trasportare un traffico con larghezza di banda elevata (per es. a delle DDR esterne, per es. DDR0, DDR1, DDR2).
Come esemplificato nelle Figure da 5 a 7, una o pi? forme di attuazione possono anche offrire uno o pi? fra:
- i) la capacit? di concatenare dei cluster funzionali 16 indipendenti a un certo backbone 12 tramite le rispettive sotto-reti 146 e 160 (Figura 5)
- ii) la capacit? di connettere qualsiasi sotto-rete 160, per es. nei cluster funzionali 16 indipendenti, a qualsiasi SAP della NoC di backbone o a qualsiasi altra sotto-rete (Figura 6)
- iii) la capacit? di spostare una sotto-rete da un SAP della NoC di backbone a un altro, cio? di disconnettere e riconnettere (Figura 7).
Una o pi? forme di attuazione possono adottare una tra almeno due opzioni differenti al fine di implementare le funzioni esemplificate in ci? che precede.
Una prima opzione, discussa nel seguito con riferimento alla Figura 8, pu? utilizzare una memoria associativa del tipo Memoria Indirizzabile con i Contenuti (CAM, ?Content Addressable Memory?) con un numero di locazioni uguale al numero massimo di transazioni che possono essere pendenti.
Una seconda opzione, discussa nel seguito con riferimento alle Figure 9 e 10, pu? adottare una strategia di aggiunta di uno scostamento (?offset?), che rende possibile usare una memoria con un numero di locazioni uguale al numero delle porte logiche (?gate?) iniziatrici; si pu? accedere a ci? per mezzo di una risposta usando una chiave che contiene un codice di sorgente (L2 SRC) ricevuto insieme alla transazione di risposta.
In una o pi? forme di attuazione, per costruire l?interconnessione la prima opzione pu? basarsi su una architettura basata su mappa di sorgente a strati.
In una o pi? forme di attuazione, ciascuna sotto-rete (per es. la sub-NoC 160 nei cluster funzionali 16) in una tale architettura pu? avere una mappa di sorgente indipendente locale.
Ipotizzando che:
- L1-SRC sia un primo oggetto o elemento di informazione che indica una sorgente gestita localmente da ciascuna sotto-rete, e che
- L2-SRC sia un secondo oggetto o elemento di informazione indicativo di una sorgente del SoC che identifica in modo univoco ciascun master SoC
si pu? ipotizzare che ciascun SAP della sotto-rete gestir? soltanto un valore di sorgente.
In una o pi? forme di attuazione, questo pu? assicurare l?indipendenza di ciascuna sotto-rete, per es. rendendo una sotto-rete ?agnostica? rispetto ai requisiti di SRC dei master che sono connessi ad essa.
In una o pi? forme di attuazione, un nuovo campo indicato per es. con L2SRC pu? essere aggiunto a una intestazione (?header?) di NoC al fine di trasportare le informazioni di L2-SRC.
In una o pi? forme di attuazione, le informazioni di L1-SRC possono essere memorizzate in ciascuna sotto-rete, cio? SAP.
Come esemplificato nella Figura 8, un tale approccio pu? coinvolgere due sotto-reti 160a e 160b, l?una (160a = SN0) che comprende due elementi di instradamento (?router?) R10, R11 e l?altra (160b = SN1) che comprende un router R20.
In una o pi? forme di attuazione, la sotto-rete 160a (SN0) pu? gestire tramite rispettivi moduli SAP per es. quattro IP (master) M0, M1, M2, M3 che hanno ciascuno un certo numero di valori di L2-SRC.
In una o pi? forme di attuazione, L1-SRC SN0 pu? essere usato per gestire l?instradamento di ricezione (RX) della sotto-rete locale, mentre L2-SRC pu? essere solo trasportato nell?intestazione di NoC e L1-SRC SN0 pu? essere memorizzato nella SN0.
In una o pi? forme di attuazione la sotto-rete 160a (SN0) e la sotto-rete 160b (SN1) possono comunicare tramite rispettivi moduli SAP.
In una o pi? forme di attuazione, L1-SRC SN1 pu? essere usato per gestire l?instradamento di ricezione (RX) della sotto-rete locale, mentre di nuovo L2-SRC pu? essere solo trasportato nell?intestazione di NoC e L1-SRC SN1 pu? essere memorizzato nella SN0.
In una o pi? forme di attuazione, la sotto-rete 160b (SN1) pu? gestire tramite rispettivi moduli SAP per es. due IP (slave) S0 e S1.
In una o pi? forme di attuazione, questo approccio pu? implementare una mappa di sorgente locale L1 per ciascuna sotto-rete e una mappa di sorgente globale L2, il che permette di costruire una interconnessione SoC per tutte le interconnessioni derivate senza ridisegnare alcuna sua parte (per es. le sotto-reti possono semplicemente essere riutilizzate e concatenate fra loro al fine di soddisfare vincoli funzionali e fisici di ciascun SoC).
In una prima opzione, come esemplificata in ci? che precede, le informazioni di L1-SRC possono essere memorizzate in una sotto-rete. Un tale compito pu? essere svolto per es. in una Interfaccia di Rete di Target (TNI, ?Target Network Interface?) all?uscita di ciascuna sottorete (SN, ?Sub-Network?) impiegando una memoria del tipo Memoria Indirizzabile con i Contenuti (CAM).
In una o pi? forme di attuazione, la profondit? di una tale memoria pu? corrispondere al numero massimo di transazioni che possono essere in sospeso (da un punto di vista della TNI).
Ciascuna locazione in una CAM pu? cos? memorizzare una coppia L1-SRC, L2-SRC associata a una transazione in modo tale che, quando una transazione di risposta e di ritorno alla TNI, L2-SRC possa essere usato come chiave per effettuare la ricerca nella CAM.
In una o pi? forme di attuazione, un altro identificatore della transazione pu? essere memorizzato in una CAM al posto delle informazioni di L2-SRC (che pu? dipendere per es. da un particolare protocollo, modello di ordinamento, e cos? via).
Una o pi? forme di attuazione possono adottare una seconda opzione, suscettibile di risultare particolarmente adatta quando il numero di transazioni che possono essere pendenti ? elevato e il costo di implementazione di una CAM avente un grande numero di locazioni sarebbe difficile da soddisfare a causa dei vincoli dell?area di silicio.
In una o pi? forme di attuazione, un?idea generale alla base di una tale opzione sarebbe quella di costruire un sistema in modo tale da avere per costruzione un singolo intervallo di L2-SRC per ciascuna porta master in tutte le sotto-reti. Cos? come qui utlizzato, ?singolo intervallo? si applicherebbe per es. a valori di L2-SRC contigui (adiacenti).
Facendo ricorso a un tale approccio, la mappatura L2-SRC<->L1-SRC in una sotto-rete pu? essere trattata con una semplice memoria, cio? una tabella avente un numero di righe uguale al numero delle porte master.
Al fine di realizzare sotto-reti utilizzabili in qualsiasi contesto di interesse (che pu? essere un requisito per l?approccio basato su piattaforma) si pu? usare un meccanismo per riempire dinamicamente una tale tabella (Tabella di Sorgente Dinamica o DST (?Dynamic Source Table?)).
In una o pi? forme di attuazione, la costruzione di un sistema al fine di avere per costruzione un singolo intervallo di L2-SRC pu? implicare l?aggiornamento di L2-SRC:
- aggiungendo un offset ad una richiesta all?ingresso di una sotto-rete (SN), e
- sottraendo uno stesso offset da una risposta all?uscita di una SN.
Lo schema a blocchi della Figura 9 illustra un esempio di una sotto-rete Nx2 160c in cui un offset, per es. OS0, OS1, ?, OSN ? aggiunto a L2-SRC di ciascuna porta iniziatrice (o master) M_Port0, M_Port1, ..., M_PortN, della sotto-rete.
Sebbene questo non sia espressamente visibile nella figura, uno stesso offset pu? essere sottratto da una risposta sul lato iniziatore.
Come nel caso della prima opzione discussa in precedenza, in una o pi? forme di attuazione, un instradamento all?interno di una sotto-rete SN pu? avvenire usando informazioni di L1-SRC, dove L1-SRC identifica una porta iniziatrice.
In una o pi? forme di attuazione, si possono aggiungere degli offset per mezzo di semplici blocchi logici (sommatori) 200 integrati quando si progetta il SoC.
In una o pi? forme di attuazione, quando si integrano delle sotto-reti, si possono definire valori di offset appropriati per ciascuna sotto-rete, per es. adottando un approccio come esemplificato nel seguito.
Per esempio, ipotizzando che per una certa sotto-rete o SN:
- k ? l?indice che identifica una porta iniziatrice (cio? L1-SRC) e che OSk sia l?offset da applicare alla porta k;
- Min_k e Max_k identificano un valore minimo e uno massimo rispettivi di L2-SRC ricevuto sulla porta k (prima di applicare l?offset);
- Min_k? e Max_k? identificano un valore minimo e uno massimo rispettivi di L2-SRC dopo che ? stato applicato l?offset OSk,
allora un valore per OSk pu? essere determinato come segue:
- Se k=0 => OSk=0
- Se k!=0 => OSk=Max_(k-1)? ? Min_k 1
(Questo significa che, in una o pi? forme di attuazione, il valore per OSk pu? dipendere dall?offset per una porta adiacente).
- Min_k? e Max_k? sono quindi:
Se k=0 => non si applica alcun Offset.
Se k!=0
- Min_k?= Min_k+OSk = Max_(k-1)? 1
- Max_k?=Max_k+OSk = Max_(k-1)? (Max_k ? Min_k) 1 Adottando un tale approccio, un intervallo di L2-SRC associato alla porta target di una sotto-rete SN (all?uscita di una Interfaccia di Rete di Target o TNI) pu? essere espresso come:
L2-SRC Target -> [Min_0, Max_(N-1)? (Max_N ? Min_N) 1]
dove N identifica la massima L1-SRC della SN.
In una o pi? forme di attuazione, un tale approccio pu? assicurare che l?intervallo di L2-SRC ricevuto all?ingresso di qualunque porta di qualunque SN sia un singolo intervallo, indipendentemente da come sono connesse le sotto-reti.
In una o pi? forme di attuazione, il fatto che il campo di L2-SRC ricevuto all?ingresso di qualunque porta di qualunque SN ? un singolo intervallo, indipendentemente da come sono connesse le sotto-reti, pu? essere sfruttato al fine di trattare le informazioni di L1-SRC per mezzo di una semplice tabella.
Questo ? rappresentato a titolo di esempio nella Figura 10, che nella porzione a) fa riferimento di nuovo a una certa sotto-rete 160c; qui, ciascun blocco indicato come DST pu? essere per es. una memoria gestita dinamicamente con N+1 locazioni, dove N+1 ? il numero di porte iniziatrici della sotto-rete (cio? il numero dei possibili valori di L1-SRC).
In una o pi? forme di attuazione, si pu? istanziare una tale memoria di DST per ciascuna porta target (per es. ciascuna Interfaccia di Rete di Target o TNI) della sottorete.
In una o pi? forme di attuazione, come esemplificato nella porzione b) della Figura 10, ciascuna locazione in una tale memoria di DST pu? comprendere tre campi, per es.:
- un campo di L1 SRC (che pu? non essere un campo fisico effettivo, ma solo un indice o un indirizzo dell?ubicazione);
- un campo per memorizzare un valore di L2-SRC Min associato a un corrispondente valore di L1-SRC;
- un campo per memorizzare un valore di L2-SRC Max associato a un corrispondente valore di L1-SRC.
In una o pi? forme di attuazione, una tale tabella pu? essere aggiornata dinamicamente con una procedura il cui criterio logico fondamentale ? che, dopo un reset iniziale, si attende una nuova richiesta (per es. non si intraprende alcuna azione fintantoch? non si ? ricevuta alcuna nuova richiesta) e che, quando si ? ricevuta una risposta, il valore di L2-SRC associato a tale risposta viene usato come chiave per recuperare L1-SRC da usare per l?instradamento della risposta nella SN.
Il diagramma di flusso nella porzione c) della Figura 10 illustra un esempio di una forma di attuazione di una tale procedura.
Dopo un reset, non si intraprende alcuna azione finch? non si riceve una nuova richiesta (?Attendere una nuova richiesta?) - fase 1000.
Quando si riceve una nuova richiesta, si identifica la riga della tabella appropriata usando L1-SRC come indice -fase 1002.
Se L2-SRC associata alla nuova richiesta ? minore di L2-SRC Min associato a L1-SRC (esito positivo S = S? di una fase 1004) il valore di L2-SRC ? usato come nuovo L2-SRC Min - fase 1006, e l?elaborazione ritorna a monte della fase 1000 di ?attesa?.
Se la fase 1004 produce un esito negativo (N = No), indicando il fatto che la L2-SRC associata alla nuova richiesta non ? minore (per es. ? uguale o superiore) di L2-SRC Min associato a L1-SRC, allora in una fase 1008 si effettua una verifica in merito a se L2-SRC ? superiore a L2-SRC Max associato a L1-SRC.
Se L2-SRC ? superiore a L2-SRC Max associato a L1-SRC (esito positivo S = S? della fase 1008), il valore di L2-SRC ? usato come nuovo L2-SRC Max, e l?elaborazione ritorna a monte della fase 1000 di ?attesa?.
Se la fase 1008 produce un esito negativo (N = No), indicando il fatto che L2-SRC associato alla nuova richiesta non ? superiore (per es. ? uguale o minore) di L2-SRC Max associato a L1-SRC, l?elaborazione ritorna a monte della fase 1000 di ?attesa?.
Ci? significa che se i test delle fasi 1004 e 1008 producono esiti negativi, per il fatto che nessuna delle rispettive condizioni ? vera, nella tabella non si effettua alcun aggiornamento.
In una o pi? forme di attuazione, quando si riceve una risposta, la riga della tabella di destra pu? essere identificata verificando la condizione:
Min L2-SRC ? L2-SRC ? Max L2-SRC
L?indice della riga della tabella che soddisfa questa condizione ? L1-SRC che pu? essere usato per l?instradamento della risposta nella sotto-rete; questo compito pu? essere attuato per es. per mezzo di una rete di comparatori.
Una o pi? forme di attuazione possono offrire uno o pi? dei seguenti vantaggi:
- capacit? di costruire interconnessioni differenti di SoC derivati che appartengono a una stessa piattaforma usando gli stessi elementi di costruzione (per es. le sotto-reti dei cluster funzionali 16);
- un approccio con mappa di sorgente a strati pu? permettere di costruire interconnessioni derivate indipendenti dai vincoli fisici di differenti SoC derivati (per es. permettendo di concatenare delle sotto-reti);
- facendo uso di una memoria semplificata (per es. secondo la seconda opzione discussa in ci? che precede) possono diventare fattibili soluzioni di basso costo.
Fermi restando il principi dell?invenzione, i dettagli e le forme di attuazione possono variare, anche in modo apprezzabile, rispetto a quanto ? stato qui illustrato puramente a titolo di esempio non limitativo, senza uscire per questo dall?ambito di protezione. L?ambito di protezione ? determinato dalle rivendicazioni che seguono.
LEGENDA DELLE TAVOLE DEI DISEGNI
FIGURA 10 a)
L2 SRC Min
L2 SRC Max
FIGURA 10 b)
S

Claims (11)

  1. RIVENDICAZIONI 1. Sistema per progettare disposizioni di interconnessione Network-on-Chip comprendente: - un backbone Network-on-Chip (12) con una pluralit? di porte di backbone (15), e - un insieme di cluster funzionali (16) di IP aggregati (162, 164, 166, 168) che forniscono rispettivi insiemi di funzioni di System-on-Chip; detti cluster funzionali (16) comprendendo rispettive sotto-reti (160) attaccabili ad una qualsiasi di dette porte di backbone (15) ed a qualsiasi altro cluster funzionale (16) in detto insieme di cluster funzionali (16) indipendentemente dalla mappa di sorgente di detto backbone di Network-on-Chip (12).
  2. 2. Sistema secondo la rivendicazione 1, in cui dette rispettive sotto-reti (160) in detto insieme di cluster funzionali (16) comprendono rispettive porte selezionate tra: - un insieme di porte master (M0, M1, ?, Mn) per un utilizzo da parte degli IP (IP0, IP1, IPn) situati nei rispettivi cluster funzionali (16); - una porta master (SAP/Mext) per la connessione, preferibilmente tramite SAP, alla rispettiva sotto-rete (160) in qualsiasi altro cluster funzionale (16) in detto insieme di cluster funzionali; - un insieme di porte slave (SP1, SP2, ?) per la connessione, preferibilmente tramite SAP, a detto backbone di Network-on-Chip (12) o a qualsiasi altro cluster funzionale (16) in detto insieme di cluster funzionali; -una porta slave (Sn) per accedere a target interni dei rispettivi cluster funzionali (16).
  3. 3. Sistema secondo la rivendicazione 1 o la rivendicazione 2, in cui detto backbone di Network-on-Chip (12) ? configurato per fornire, preferibilmente tramite almeno una sotto-rete di backbone (146), almeno una tra: - una connessione, preferibilmente tramite SAP, a dette rispettive sotto-reti (160) in detto insieme di cluster funzionali (16), - una connessione tramite porte slave (S0, S1, S2) a target di System-on-Chip esterni (DDR), preferibilmente trasportando un traffico con larghezza di banda elevata.
  4. 4. Sistema secondo qualsiasi delle rivendicazioni precedenti, in cui dette rispettive sotto-reti (160) in detto insieme di cluster funzionali (16) hanno mappe di sorgente locali indipendenti comprendenti: - primi elementi di informazione (L1-SRC) indicativi delle sorgenti gestite localmente dalla sotto-rete (160), - secondi elementi di informazione (L2-SRC) indicativi di una sorgente System-on-Chip che identifica in modo univoco ciascun master System-on-Chip.
  5. 5. Sistema secondo la rivendicazione 4, comprendente almeno uno delle seguenti caratteristiche: - dette rispettive sotto-reti (160) comprendono insiemi di SAP con ciascun SAP della sotto-rete (160) che gestisce un rispettivo valore di sorgente, e/o - mappe di sorgente locali (L1) sono implementate per dette rispettive sotto-reti (160) insieme a una mappa di sorgente globale (L2), per cui dette sotto-reti (160) sono riutilizzabili per differenti derivati e atte a concatenarsi insieme.
  6. 6. Sistema secondo la rivendicazione 4 o la rivendicazione 5, comprendente almeno uno tra: - un?intestazione di NoC avente un campo per trasportare detto secondo elemento di informazione (L2-SRC), - detto primo elemento di informazione (L1-SRC) memorizzato in ciascuna di dette rispettive sotto-reti (160).
  7. 7. Sistema secondo la rivendicazione 6, in cui detto primo elemento di informazione (L1-SRC) ? memorizzato in ciascuna di dette rispettive sotto-reti (160) in una Interfaccia di Rete di Target all?uscita delle sotto-reti, preferibilmente per mezzo di una Memoria Indirizzabile con i Contenuti (CAM).
  8. 8. Sistema secondo la rivendicazione 7, comprendente coppie di un detto primo elemento di informazione (L1-SRC) e di un identificatore della transazione associato a una transazione, dette coppie memorizzate nelle locazioni di memoria di detta Memoria Indirizzabile con i Contenuti (CAM), per cui, quando una transazione di risposta ? di ritorno alla Interfaccia di Rete di Target TNI, il secondo elemento di informazione (L2-SRC) ? utilizzabile per effettuare una ricerca nella Memoria Indirizzabile con i Contenuti (CAM).
  9. 9. Sistema secondo la rivendicazione 4, in cui dette rispettive sotto-reti (160) hanno un singolo intervallo per detti secondi elementi di informazione (L2-SRC), per cui una mappatura reciproca di detti primi elementi di informazione (L1-SRC) e di detti secondi elementi di informazione (L2-SRC) ? per mezzo di una tabella di sorgente dinamica, preferibilmente avente un numero di righe uguale al numero delle porte master.
  10. 10. Sistema secondo la rivendicazione 9, comprendente una funzionalit? per aggiornare detti secondi elementi di informazione (L2-SRC): - aggiungendo un offset in richiesta all?ingresso di dette rispettive sotto-reti (160), e - sottraendo uno stesso offset in risposta dall?uscita di dette rispettive sottoreti (160).
  11. 11. Sistema secondo la rivendicazione 10, in cui detta funzionalit? per aggiornare detti secondi elementi di informazione (L2-SRC) ? configurata per calcolare detti offset implementando le fasi seguenti: a) dove: - k ? l?indice che identifica una porta iniziatrice in base a un detto primo elemento di informazione (L1-SRC) - OSk ? l?offset da applicare a una porta k, - Min_k e Max_k identificano un valore minimo e uno massimo rispettivi per detto secondo elemento di informazione (L2-SRC) ricevuto sulla porta k - Min_k? e Max_k? identificano un valore minimo e uno massimo rispettivi per detto secondo elemento di informazione (L2-SRC) dopo che ? stato applicato l?offset OSk, b) un valore per OSk pu? essere quindi determinato come segue: - Se k=0 => OSk=0 - Se k!=0 => OSk=Max_(k-1)? ? Min_k 1 - Min_k? e Max_k? sono quindi: Se k=0 => Non si applica alcun Offset. Se k!=0 - Min_k?= Min_k+OSk = Max_(k-1)? 1 - Max_k?=Max_k+OSk = Max_(k-1)? (Max_k ? Min_k) 1 per cui un intervallo per detto secondo elemento di informazione (L2-SRC) associato alla porta target di una di dette rispettive sottoreti (160) ?: L2-SRC Target -> [Min_0, Max_(N-1)? (Max_N ? Min_N) 1] dove N identifica la L1-SRC massima della SN.
IT000824A 2013-10-11 2013-10-11 Sistema per progettare disposizioni di interconnessione network on chip ITTO20130824A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT000824A ITTO20130824A1 (it) 2013-10-11 2013-10-11 Sistema per progettare disposizioni di interconnessione network on chip
US14/511,014 US9202002B2 (en) 2013-10-11 2014-10-09 System for designing network on chip interconnect arrangements
US14/940,026 US10019399B2 (en) 2013-10-11 2015-11-12 System for designing network on chip interconnect arrangements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000824A ITTO20130824A1 (it) 2013-10-11 2013-10-11 Sistema per progettare disposizioni di interconnessione network on chip

Publications (1)

Publication Number Publication Date
ITTO20130824A1 true ITTO20130824A1 (it) 2015-04-11

Family

ID=49596401

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000824A ITTO20130824A1 (it) 2013-10-11 2013-10-11 Sistema per progettare disposizioni di interconnessione network on chip

Country Status (2)

Country Link
US (2) US9202002B2 (it)
IT (1) ITTO20130824A1 (it)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITTO20130824A1 (it) * 2013-10-11 2015-04-11 St Microelectronics Grenoble 2 Sistema per progettare disposizioni di interconnessione network on chip
SG10201600276YA (en) * 2016-01-14 2017-08-30 Huawei Int Pte Ltd Device, method and system for routing global assistant signals in a network-on-chip
US11500681B2 (en) * 2017-06-29 2022-11-15 Intel Corporation Technologies for managing quality of service platform interconnects
US11657203B2 (en) 2019-12-27 2023-05-23 Arteris, Inc. Multi-phase topology synthesis of a network-on-chip (NoC)
US10990724B1 (en) 2019-12-27 2021-04-27 Arteris, Inc. System and method for incremental topology synthesis of a network-on-chip
US11665776B2 (en) 2019-12-27 2023-05-30 Arteris, Inc. System and method for synthesis of a network-on-chip for deadlock-free transformation
US11418448B2 (en) 2020-04-09 2022-08-16 Arteris, Inc. System and method for synthesis of a network-on-chip to determine optimal path with load balancing
US11601357B2 (en) 2020-12-22 2023-03-07 Arteris, Inc. System and method for generation of quality metrics for optimization tasks in topology synthesis of a network
US11281827B1 (en) 2020-12-26 2022-03-22 Arteris, Inc. Optimization of parameters for synthesis of a topology using a discriminant function module
US11449655B2 (en) 2020-12-30 2022-09-20 Arteris, Inc. Synthesis of a network-on-chip (NoC) using performance constraints and objectives
US11956127B2 (en) * 2021-03-10 2024-04-09 Arteris, Inc. Incremental topology modification of a network-on-chip

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2466486A1 (en) * 2010-12-16 2012-06-20 STMicroelectronics (Grenoble 2) SAS An arrangement

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857110B1 (en) * 2001-01-30 2005-02-15 Stretch, Inc. Design methodology for merging programmable logic into a custom IC
US20110106522A1 (en) 2009-11-05 2011-05-05 Chinya Gautham N virtual platform for prototyping system-on-chip designs
US20110213949A1 (en) * 2010-03-01 2011-09-01 Sonics, Inc. Methods and apparatus for optimizing concurrency in multiple core systems
US9405700B2 (en) * 2010-11-04 2016-08-02 Sonics, Inc. Methods and apparatus for virtualization in an integrated circuit
US9009648B2 (en) * 2013-01-18 2015-04-14 Netspeed Systems Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US9054977B2 (en) * 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
ITTO20130824A1 (it) * 2013-10-11 2015-04-11 St Microelectronics Grenoble 2 Sistema per progettare disposizioni di interconnessione network on chip

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2466486A1 (en) * 2010-12-16 2012-06-20 STMicroelectronics (Grenoble 2) SAS An arrangement

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DA LI ET AL: "Prototype Design and Synthesis of Cluster MPSoC Architecture for Multiple Applications", JOURNAL OF COMPUTERS, vol. 7, no. 11, 1 November 2012 (2012-11-01), XP055096238, ISSN: 1796-203X, DOI: 10.4304/jcp.7.11.2671-2679 *
HOLLSTEIN ET AL: "Advanced hardware/software co-design on reconfigurable network-on-chip based hyper-platforms", COMPUTERS & ELECTRICAL ENGINEERING, XX, XX, vol. 33, no. 4, 16 May 2007 (2007-05-16), pages 310 - 319, XP022080320, ISSN: 0045-7906, DOI: 10.1016/J.COMPELECENG.2007.02.006 *
JOO-YOUNG KIM ET AL: "A 118.4GB/s multi-casting network-on-chip for real-time object recognition processor", ESSCIRC, 2009. ESSCIRC '09. PROCEEDINGS OF, IEEE, PISCATAWAY, NJ, USA, 14 September 2009 (2009-09-14), pages 400 - 403, XP031563376, ISBN: 978-1-4244-4354-3 *
K IMMANUVEL AROKIA JAMES: "A Survey of Cluster Based Multi-Processor system design with IP-Cores", INTERNATIONAL JOURNAL OF SCIENTIFIC & ENGINEERING RESEARCH VOLUME 2, ISSUE 12, 1 December 2011 (2011-12-01), pages 1 - 9, XP055096247, Retrieved from the Internet <URL:http://www.ijser.org/researchpaper/A-Survey-of-Cluster-Based-Multi-Processor-system-design-with-IP-Cores.pdf> [retrieved on 20140114] *
ROMAIN LEMAIRE ET AL: "A flexible modeling environment for a NoC-based multicore architecture", HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP (HLDVT), 2012 IEEE INTERNATIONAL, IEEE, 9 November 2012 (2012-11-09), pages 140 - 147, XP032315015, ISBN: 978-1-4673-2897-5, DOI: 10.1109/HLDVT.2012.6418256 *

Also Published As

Publication number Publication date
US9202002B2 (en) 2015-12-01
US10019399B2 (en) 2018-07-10
US20150106778A1 (en) 2015-04-16
US20160070667A1 (en) 2016-03-10

Similar Documents

Publication Publication Date Title
ITTO20130824A1 (it) Sistema per progettare disposizioni di interconnessione network on chip
US10467182B2 (en) Remote direct memory access adapter state migration in a virtual environment
US9785732B2 (en) Verification low power collateral generation
US9053266B2 (en) Computing system with hardware bus management and method of operation thereof
KR102074468B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
CN105791448B (zh) 一种地址分配方法、cgn设备及cgn双主系统
US11372787B2 (en) Unified address space for multiple links
US11196657B2 (en) Self identifying interconnect topology
CN107077579A (zh) 无状态集群边缘上的有状态服务
CN104871145A (zh) 网络设备中的存储器共享
US20100020818A1 (en) Sharing buffer space in link aggregation configurations
CN107315697A (zh) 用于减少管理端口的计算机可读取存储装置、系统及方法
CN104077138A (zh) 一种集成网络路由器的众核处理器系统及其集成方法和实现方法
CN105677605B (zh) 一种高效的可配置片上互联系统及其实现方法、装置
ITUD20100210A1 (it) Apparecchiatura di rete unificata per sistemi di supercalcolo scalabili
CN108984327A (zh) 报文转发方法、多核cpu及网络设备
US9830283B2 (en) Multi-mode agent
Sharma et al. An introduction to the compute express link (cxl) interconnect
JP5307151B2 (ja) リンクに基づくシステムにおけるシステムルーティング情報の変更
CN103093446A (zh) 基于多处理器片上系统的多源图像融合装置和方法
US20150193344A1 (en) Data shuffling in a non-uniform memory access device
CN103746941A (zh) 一种板级互联大数据一体机
US20170109228A1 (en) Symmetry management in multiprocessor systems
GB0507160D0 (en) Data storage system with shared cache address space
CN107291653A (zh) 一种多处理器系统及配置多处理器系统的方法