TWI664532B - 片上系統、跳頻匯流排系統、以及在片上系統中轉發資訊的方法 - Google Patents

片上系統、跳頻匯流排系統、以及在片上系統中轉發資訊的方法 Download PDF

Info

Publication number
TWI664532B
TWI664532B TW103143514A TW103143514A TWI664532B TW I664532 B TWI664532 B TW I664532B TW 103143514 A TW103143514 A TW 103143514A TW 103143514 A TW103143514 A TW 103143514A TW I664532 B TWI664532 B TW I664532B
Authority
TW
Taiwan
Prior art keywords
chip
frequency hopping
adapter
hopping bus
information
Prior art date
Application number
TW103143514A
Other languages
English (en)
Other versions
TW201531858A (zh
Inventor
宏明 鄭
Original Assignee
巴貝多商馬維爾國際貿易有限公司
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
Priority claimed from US14/564,499 external-priority patent/US9959237B2/en
Application filed by 巴貝多商馬維爾國際貿易有限公司 filed Critical 巴貝多商馬維爾國際貿易有限公司
Publication of TW201531858A publication Critical patent/TW201531858A/zh
Application granted granted Critical
Publication of TWI664532B publication Critical patent/TWI664532B/zh

Links

Classifications

    • 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/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

本發明涉及經由晶片內和晶片間跳頻匯流排在片上系統內和之間傳輸資訊的方法和裝置。其中,一種片上系統,包括非跳頻匯流排界面和跳頻匯流排。非跳頻匯流排界面包括第一非跳頻匯流排界面和第二非跳頻匯流排界面。第一非跳頻匯流排界面被配置為:基於第一協定接收資訊。跳頻匯流排包括晶片內適配器。晶片內適配器串聯連接並分別連接至非跳頻匯流排界面。晶片內適配器被配置為(i)根據第二協定,將資訊轉換為用於在跳頻匯流排上傳輸的第一格式,以及(ii)在跳頻匯流排上和多個晶片內適配器之間傳送第一格式的資訊。第二協定不同於第一協定。第二跳頻匯流排界面被配置為基於跳頻匯流排上資訊的傳輸來從跳頻匯流排接收資訊。

Description

片上系統、跳頻匯流排系統、以及在片上系統中轉發資訊 的方法 【相關申請案之交叉參考】
本申請要求於2013年12月12日提交的美國臨時申請第61/915,413號和2014年3月17日提交的美國臨時申請第61/954,486號的權益。上述引用的申請的全部內容以引用的方式引入本申請。
本發明涉及用於晶片內和晶片間傳輸資訊的片上系統(SoC)的架構。
本文提供的背景描述用於總體呈現本公開構思的目的。目前指定的發明人的工作(包括此背景技術部分所描述的工作)以及本描述中在提交時未證實為現有技術的各方面,均既不明示也不暗示地被認為是針對本公開的現有技術。
先進的矽製造工藝允許越來越多的柵極包括在SoC的給定面積中。特定匯流排(或構造)架構已被引入以允許在SoC內的處理器模組和介面控制模組之間傳送資訊(例如,資料、命令、參數、位址等)。例 如,先進微控制器匯流排架構(AMBA)是用於連接和管理SoC中的模組的晶片上互連規範。AMBA的一代介面被稱為前進可擴展介面(AXI)。
具有基於AXI架構的SoC可包括多個處理器(或核)模組、主AXI互連匯流排(或主構造)、從AXI互連匯流排(或從構造)和介面控制器。處理器模組控制及/或訪問經由互連匯流排連接至介面控制器的週邊設備。AXI互連匯流排可被稱為多級AXI構造,並在處理器模組和介面控制器之間提供互連網。介面控制器可分別連接至週邊設備及/或網路。週邊設備可包括存放裝置,諸如隨機存取記憶體(RAM)或唯讀記憶體(ROM)。週邊設備可包括顯示器、快閃記憶體驅動器、硬碟驅動器、混合驅動器、相機、嵌入式多媒體卡(eMMC)、乙太網設備、串列小型電腦系統介面(SCSI)協定(SSP)設備、經由通用非同步收發器(UART)介面進行通信的設備等。網路可以包括無線或有線網路。無線網路的實例是諸如WiFi網路的無線區域網路(WLAN)。
處理器模組可稱為匯流排主機。處理器模組控制和啟動連接至SoC的週邊設備。這可以包括處理器模組(或主機)經由主AXI互連匯流排向介面控制器傳輸命令。每個介面控制器都包括主埠(或介面)或從埠(或介面)。主埠連接至主AXI互連匯流排。從埠連接至從AXI互連匯流排。命令可傳輸至主埠,然後被轉發至週邊設備。然後,可以在從埠處從週邊設備接收資料。從AXI互連匯流排將資料從從埠轉發至處理器模組。
在具有AXI架構的SoC中,處理器模組和介面控制器之間的每個連接都包括多個通道。通道包括讀位址通道、讀數據通道、寫位址通道、寫資料通道、緩衝寫回應通道和時脈通道。經由處理器模組和介面控制器的AXI匯流排界面來提供這些連接。AXI匯流排界面可存在於:(i)處理器模組和AXI互連匯流排之間;和(ii)AXI連接匯流排和介面控制模 組之間。AXI匯流排界面和AXI互連匯流排包括大量的線。例如,AXI匯流排界面的寫通道可包括多至224條線來用於128位的並行傳送。AXI匯流排界面的讀通道可包括多至208條線來用於128位的並行傳送。從AXI互連匯流排可包括200條線來用於32位的並行傳送。10埠AXI互連匯流排的每個埠可包括5000條線來用於128位的並行傳送。作為另一示例,10埠AXI互連匯流排的每個埠可包括3000條線來用於32位的並行傳送。還要求附加線來用於中斷的傳送。AXI互連匯流排是具有有限資料傳送速度(例如,312兆赫茲(MHz)以下)的互連的大型網狀網路。網狀網路中的相鄰節點之間的點對點傳送速度也受到限制(例如,416MHz)或更低。
具有AXI架構的SoC中的模組基於共用的時脈來操作。經由AXI互連匯流排中的分支(或互連)的大時脈樹來提供時脈信號。因此,模組之間的通信是同步的。如果兩個模組基於不同的協定(例如,不同的AMBA協定,諸如AXI和AMBA高性能匯流排(AHB))及/或不同的時脈(或具有不同頻率的時脈信號)進行操作,則通常在模組之間接合橋接。該橋接允許兩個不同區域(例如,具有不同匯流排寬度(例如,並行傳送位元的數量)和時脈頻率)之間的通信。儘管可以將積分器結合到SoC中以確保模組之間的連接的適當頻寬和等待時間,但用於每個模組的頻寬的分配和訪問等待時間的控制是困難的。這是因為大型網狀網路上的模組之間大量的線和互連以及共用時脈信號的分配所引起的。
難以設置時脈信號的頻率來提供適當的時脈樹降級(derating)。適當的時脈樹降級是指可以將時脈信號的頻率設置為更高的頻率而不對對應SoC的操作及/或壽命產生不利的影響。增加時脈信號的頻率可增加SoC的處理、電壓和溫度(PVT)變化。因此,增加時脈頻率的能力會由於潛在增加的PVT變化而受到限制。時脈樹越大,時脈信號的頻率 越慢。
提供了第一片上系統並包括非跳頻匯流排和跳頻匯流排。非跳頻匯流排界面包括第一非跳頻匯流排界面和第二非跳頻匯流排界面。第一非跳頻匯流排界面被配置為基於第一協定接收資訊。跳頻匯流排包括晶片內適配器。晶片內適配器串列連接並分別連接至非跳頻匯流排界面。晶片內適配器被配置為:(i)根據第二協定,將資訊轉換為用於在跳頻匯流排上傳輸的第一格式;以及(ii)在調頻匯流排上並在晶片內適配器之間傳送第一格式的資訊。第二協定不同於第一協定。第二非跳頻匯流排界面被配置為基於資訊在跳頻匯流排上的傳輸從跳頻匯流排接收資訊。
在其他特徵中,提供了在第一片上系統中傳送資訊的方法,第一片上系統包括非跳頻匯流排和跳頻匯流排。非跳頻匯流排界面包括第一非跳頻匯流排界面和第二非跳頻匯流排界面。跳頻匯流排包括晶片內適配器。晶片內適配器串列連接並分別連接至非跳頻匯流排界面。該方法包括:基於第一協定,在第一片上系統的第一非跳頻匯流排界面處接收資訊;根據第二協定,經由晶片內適配器將資訊轉換為用於在跳頻匯流排上傳輸的第一格式,第二協定不同於第一協定;在跳頻匯流排上和晶片內適配器之間傳送第一格式的資訊;以及基於資訊在跳頻匯流排上的傳輸,在第二非跳頻匯流排界面處從跳頻匯流排接收資訊。
本發明的其他可應用於將根據實施方式、申請專利範圍和圖式而變得顯而易見。詳細描述和具體實例僅是為了說明的目的而不用於限制本發明的範圍。
10‧‧‧跳頻匯流排(HB)系統
12,14‧‧‧片上系統(SoC)
16,18‧‧‧晶片內HB
22,24‧‧‧晶片間HB適配器
27,28‧‧‧SoC控制模組
29‧‧‧蜂窩介面
30,32‧‧‧圖形處理模組
34‧‧‧WLAN介面
36‧‧‧圖像信號處理器(ISP)介面
38‧‧‧通用非同步接收器/傳輸器(UART)介面
40‧‧‧存儲介面
42‧‧‧乙太網介面
44,45,46,47,48,49,50,52‧‧‧埠
60‧‧‧跳頻匯流排系統
70,72,74‧‧‧SoC
75‧‧‧晶片內HB
76,78,80‧‧‧晶片內HB適配器
82,84‧‧‧晶片間HB適配器
86‧‧‧SoC控制模組
88,90‧‧‧週邊介面模組
92‧‧‧第一介面
94‧‧‧第二介面
96‧‧‧第三介面
98‧‧‧第四介面
99‧‧‧協定轉換模組
100‧‧‧定時模組
102,104‧‧‧緩衝器
106‧‧‧導電元件
107,109‧‧‧相應介面
108‧‧‧緩衝器
110,112‧‧‧週邊設備
120‧‧‧緩衝器
122‧‧‧分包模組
130,132‧‧‧位址翻譯模組
131,133‧‧‧HB介面
134,136‧‧‧識別字(ID)模組
135,137‧‧‧HB介面
138,140‧‧‧串列器/去串列器(SER/DER)模組
142,144‧‧‧定時模組
150,152‧‧‧晶片間HB
160‧‧‧啟動模組
170‧‧‧位址翻譯模組
172‧‧‧本地位址掩蔽(masking)模 組
174‧‧‧第一位址比較模組
176‧‧‧全域位址掩蔽模組
178‧‧‧第二位址比較模組
250‧‧‧HB系統
252‧‧‧第一SoC
254‧‧‧第二SoC
256‧‧‧SoC控制模組
258‧‧‧啟動模組
262‧‧‧快取記憶體器
264‧‧‧存儲介面模組
266‧‧‧晶片間HB適配器模組
268‧‧‧晶片內HB適配器模組
270‧‧‧eMMC
272‧‧‧USB模組
274‧‧‧DDR記憶體
276‧‧‧UART模組
278‧‧‧第二DDR記憶體
280‧‧‧晶片間HB
圖1是根據本發明實施例的跳頻匯流排(HB)系統的功能方塊圖。
圖2是根據本發明實施例的結合多個SoC的另一HB系統的功能方塊圖,並示出了晶片內HB適配器模組和晶片間HB適配器。
圖3是根據本發明實施例的位址翻譯模組的功能方塊圖。
圖4示出了根據本發明實施例的操作HB系統的方法。
圖5是根據本發明實施例的用於交叉晶片啟動控制的HB系統的功能方塊圖。
圖6示出了根據本發明實施例的啟動方法(boot method)。
在附圖中,類似的參考標號可重複用於表示類似及/或相同的元件。
以下公開的實例為SoC引入跳頻匯流排(HB)架構。SoC包括晶片內HB、晶片內HB適配器模組以及晶片間HB適配器模組。晶片內HB包括並提供晶片內HB適配器模組之間的連接。晶片間HB包括SoC之間的延伸,包括晶片間HB適配器模組,並提供晶片間HB適配器模組之間的連接。HB是指包括晶片內HB適配器模組及/或晶片間HB適配器模組以及本文公開的對應導電元件和緩衝器的匯流排。HB為資訊提供路徑以從HB適配器模組跳變至HB適配器模組直到到達目的地。HB適配器模組可執行協定翻譯、分包、採樣、歪斜控制(skew control)、身份識別、序列化及/或去序列化。如下面進一步描述的,HB根據HB協定操作和轉發資訊。
HB架構增加系統劃分容易度,這允許系統設計者專注于模組及/或SoC的功能而非專注於SoC的佈局。這是因為每一個模組都可以容 易位於SoC的不同區域中。模組和SoC能夠經由單個HB協議相互通信。模組可基於不同的時脈信號來操作,可具有不同的傳送率、埠或介面寬度等。每個模組都設置有HB適配器模組以允許在一個或多個晶片內HB和一個或多個晶片間HB上傳送資訊。晶片內HB和晶片間HB用作平行傳輸元件(例如,導電元件)的一個或多個“匯流通道”來用於模組和SoC之間的資訊的有效傳送。
HB架構允許容易集成新設計的模組及/或SoC。HB架構還允許在不同的模組及/或不同類型的SoC中容易集成和再利用相同的軟體,因為每個模組和SoC都能夠使用相同HB協定經由分配的HB適配器模組來通信。晶片內HB適配器模組將包括中斷的資訊分包,這允許資訊和中斷的有效傳送。不需要附加的用於中斷的指定通道及/或線來進行這種操作。晶片內適配器模組提供了位址映射以允許使用相同的HB協定在SoC之間傳送資訊。
HB架構允許經由單向非同步互連來高速傳送資訊。每個HB適配器模組都具有相應的傳輸和接收連接。每個連接都是單向的。模組及/或SoC可基於具有不同時脈頻率的時脈信號來操作。晶片內HB和晶片間HB傳送資訊與SoC的時脈信號無關。晶片內HB和晶片間HB包括基於HB時脈頻率提供歪斜控制的定時模組。這提供了資訊在HB適配器模組之間的並行和偽同步傳送。以下進一步詳細描述HB系統和對應HB架構的操作。
圖1示出了結合多個SoC 12、14的HB系統10。SoC 12、14包括相應的晶片內HB 16、18並且經由晶片間HB 20相互連接。晶片內HB 16、18的每一個都包括在一對晶片間HB適配器模組(以下稱為晶片內HB適配器)AHBInter之間串聯的多個晶片內HB適配器模組(以下稱為晶片間HB適配器)AHBIntra。晶片間HB適配器AHBInter被配置為經由對應的晶片間HB連 接至其他晶片間HB適配器。例如,晶片間HB適配器22經由晶片間HB元件26連接至晶片間HB適配器24。如圖所示,導電元件在連續的HB適配器AHBIntra、AHBInter對之間延伸。儘管示出了導電元件的特定數量,但可以在HB 16、18、20中包括任何數量的導電元件。每個晶片內HB適配器AHBIntra都可以連接至模組及/或介面,諸如SoC控制模組27、28、蜂窩介面29、圖形處理模組(GPM)30、32、WLAN介面34、圖像信號處理器(ISP)介面36、通用非同步接收器/傳輸器(UART)介面38、存儲介面40和乙太網介面42。介面29、34、36、38、40、42可以經由埠44、45、46、47、48、49連接至相應的設備。
儘管晶片內HB適配器AHBIntra被示為連接至特定的模組和介面,但晶片內HB適配器AHBIntra可以連接至其他模組和介面。例如,晶片內HB適配器AHBIntra可以連接至:序列介面,諸如通用序列匯流排(USB)介面;串列高級技術附件(SATA)介面;以及高速週邊部件互連(PCIe)介面。一個或多個模組及/或介面可以包括在每個SoC 12、14中。存儲介面40可以連接至揮發性及/或非揮發性記憶體,諸如動態隨機存取記憶體(DRAM)、雙數據率(DDR)記憶體、唯讀記憶體(ROM)、固態驅動器(SDD)、硬碟驅動器、混合驅動器、嵌入式多媒體卡(eMMC)等。
SoC控制模組27、28可分別包括一個或多個處理模組(或主機)以及快取記憶體器,並且可以控制其他模組及/或介面的操作。介面可以經由相應的埠與相應的無線及/或有線網路、週邊設備(例如,相機、印表機、數據機、影印機等)及/或其他設備通信。每個SoC控制模組27、28都可以經由對應的晶片內HB 16、18以及晶片內HB適配器AHBIntra訪問對應的一個SoC 12、14的模組和介面。每個SoC控制模組27、28都經由相應的一個晶片內HB 16、18、晶片間HB(例如,晶片間HB 20)和HB適配器 AHBIntra、AHBInter訪問其他SoC的模組和介面。例如,一個SoC控制模組27、28可將命令(或請求信號)發送至晶片內HB 16、18。可以經由晶片間HB及/或晶片間HB 20將命令轉發至一個模組及/或介面。回應於命令,資料可以經由一個晶片內HB 16、18及/或晶片間HB 20被返回到SoC控制模組。
SoC 12、14可經由如圖所示埠50、52及/或經由晶片間HB適配器22、24相互連接。埠50、52可以包括在晶片間HB適配器22、24中。每個HB適配器AHBIntra、AHBInter都可以包括兩個或更多個埠,其中每一個埠都是傳輸埠或接收埠。每個埠都可以被稱為主埠及/或從埠,這取決於資訊是被發送至或來自(i)主設備、模組或介面還是(ii)從設備、模組或介面。
圖2示出了包括多個SoC 70、72、74的跳頻匯流排系統60。第一SoC 70包括晶片內HB 75。晶片內HB 75包括在一對晶片間HB適配器82、84之間串聯連接的晶片內HB適配器76、78、80。HB適配器76、78、80、82、84可代替圖1的對應HB適配器中的任一個。晶片內HB適配器76、78、80可連接至SoC控制模組86、週邊介面模組88、90及/或其他模組及/或介面(上面提到了其中一些)。每個晶片內適配器76、78、80都可以包括非HB和HB介面(示出了示例性介面92、94、96、98)、協定轉換模組(示出了示例性協定轉換模組99)和定時模組(示出了示例性定時模組100)。非HB介面根據非HB協定傳送去向和來自對應HB適配器的資訊。HB介面根據HB協定傳送去向和來自對應HB適配器的資訊。非HB和HB介面經由相應的主、從、傳輸及/或介面埠連接至SoC控制模組86、週邊介面模組88、90、相鄰晶片內HB適配器的介面及/或晶片間HB適配器82、84的介面。儘管第一晶片內HB適配器76被示為包括介面、協定轉換模組和定時模組,但其他晶片內HB適配器(例如,晶片內HB適配器78、80)均可 包括相應的介面、協定轉換模組和定時模組。
第一晶片內HB適配器76包括:第一介面92,連接至SoC控制模組86;第二介面94,經由導電元件102和緩衝器104連接至第二晶片內HB適配器78;第三介面96,經由導電元件106和緩衝器108連接至晶片間HB適配器82;以及第四介面98。第一介面92是非HB介面,並包括與SoC控制模組86的介面110的主埠和從埠相對應的主埠和從埠。其他介面94、96、98是HB介面。第四介面98可以連接至其他晶片內HB適配器、最後一個晶片內HB適配器(例如,晶片內HB適配器80)、或者另一個晶片間HB適配器。作為示例,緩衝器102、106可位於第一SoC 70的上金屬層上,其中SoC控制模組86、週邊介面模組88、90及/或其他模組可位於低於上金屬層的層中(即,接近第一SoC 70的襯底)。週邊介面模組88、90包括連接至相應週邊設備110、112的相應介面107、109。
如圖所示,晶片內HB適配器76、78、80可連結在一起,並且可以通過將第一晶片內HB適配器76連接至最後一個晶片內HB適配器80而環回。晶片內HB適配器76、78、80中的每一個都可以經由相應的晶片間HB適配器(例如,晶片間HB適配器82、84)連接至一個或多個SoC(例如,SoC 72、74)。儘管示出了兩個晶片間HB適配器,但可以在第一SoC 70中結合附加的晶片間HB適配器並且可將其連接至晶片內HB適配器76、78、80中的任一個。晶片內HB適配器76、78、80可分別包括任何數量的介面,用於連接至任意數量的模組、介面及/或HB適配器。
晶片內HB適配器76、78、80的連接至(i)SoC控制模組86、(ii)週邊介面模組88、90及/或(iii)連接至晶片內HB 75的其他模組及/或介面的介面(例如,介面92)可稱為非HB介面。非HB介面可包括相應的主埠和從埠。主埠和從埠可經由相同或不同的非HB協議操作及/或 傳送去向和來自SoC控制模組86、週邊介面模組88、90及/或其他模組及/或介面的資訊。非HB協定可基於相同的時脈信號或不同的時脈信號。非HB協定例如可以是先進微控制器匯流排架構(AMBA)、先進可擴展介面(AXI)協定和AMBA高性能匯流排(AHB)。SoC控制模組86、週邊介面模組88、90及/或其他模組及/或介面可(i)根據一個或多個HB協定和(ii)基於一個或多個時脈信號傳送去向和來自晶片內HB 75的資訊。晶片內HB適配器76、78、80的其他介面(例如,介面94、96、98)可稱為HB介面並根據HB協定傳送資訊。晶片內HB適配器76、78、80被配置為接收來自非HB介面的信號而不考慮用於傳送資訊的時脈信號。
協定轉換模組99可包括緩衝器120和分包模組122。協定轉換模組99將根據一個或多個非HB協定接收的資訊轉換為根據HB協定的格式的資訊。所接收的資訊可存儲在緩衝器120中,然後通過分包模組122進行分包。因此,生成具有標頭和主體的資料包。報頭可包括源位址、目的地址和將被傳送和/或訪問的位數。主體可包括命令、請求資訊、資料及/或其他資訊。分包模組122還可以對中斷進行分包,並經由對應的HB介面、緩衝器和導電元件在HB適配器76、78、80、82、84之間傳輸類似於其他資訊及/或與其他資訊一起的中斷。這消除了對用於中斷的附加線、導電元件和/或通道的需求。
定時模組100可包括HB時脈124,其生成HB時脈信號。儘管定時模組100和HB時脈124被示為第一晶片內HB適配器76的一部分,但定時模組100和/或HB時脈124可以是任何HB適配器76、78、80、82、84的一部分和/或可以與HB適配器76、78、80、82、84分離並向HB適配器76、78、80、82、84提供HB時脈信號。HB適配器76、78、80、82、84可共用相同的HB時脈信號。相同的HB時脈信號可被SoC 70、72、74 的HB適配器共用。每個HB適配器76、78、80、82、84的定時模組和/或分包模組都可以在從對應HB適配器向一個其他HB適配器轉發的資訊信號中結合HB時脈信號。
定時模組100還可以執行歪斜控制。這可以包括基於HB時脈信號對晶片內HB適配器的對應介面處並行通道上接收的資訊(或資料包)進行採樣。歪斜控制確保在HB適配器之間的並行通道上轉發的資訊位元在彼此預定的週期內被接收。這提供了資訊的並行傳播和信號的對準。可以在HB適配器和對應緩衝器之間並行地延伸任何數量的接收通道和傳輸通道以及對應的導電元件。
晶片間HB適配器82、84包括:HB介面131、133,連接至晶片內HB適配器76、78;以及HB介面135、137,連接至晶片間HB 150、152。晶片間HB適配器82、84包括位址翻譯模組130、132、識別字(ID)模組134、136、串列器/去串列器(SER/DER)模組138、140以及定時模組142、144。對於輸出資訊,位址翻譯模組可將在從晶片內HB適配器接收的資料包中提供的本地位址翻譯成全域位址。本地位址可識別為本地晶片而非其他晶片。全域位址可識別為本地晶片和其他晶片。本地位址可表示本地晶片和/或連接至本地晶片的存放裝置中的存儲位置的位址。全域位址可以表示遠端晶片和/或連接至遠端晶片的存放裝置中的存儲位置的位址。對於輸入資訊,位址翻譯模組可將從遠端SoC接收的全域位址翻譯成位址翻譯模組的本地SoC的本地位址。
ID模組134、136可向從晶片內HB適配器76、78、80接收的資料包的標頭添加一個或多個唯一的ID。唯一的ID可以對SoC、源模組(請求及/或提供資訊的模組)、源介面(請求及/或提供資訊的介面)及/或晶片間HB適配器來說是唯一的。唯一的ID可經由例如ID模組執行的軟體 來分配。作為示例,位址翻譯模組130、132中的一個可接收來自晶片內HB 75的本地40位位址,並基於由ID模組134、136中的一個所提供的唯一ID來生成全域48位地址。
SER/DER模組138、140可以在對應的晶片間HB 150、152上串列從晶片間HB適配器82、84傳輸的資訊(或資料包)並且經由晶片間HB 150、152去串列從SoC 72、74接收的資訊(或資料包)。定時模組142、144可類似於晶片內HB適配器76的定時模組100進行操作,其包括HB時脈信號的傳輸和歪斜控制。
模組86、88、90(或者連接至晶片內HB適配器76、78、80的其他模組和/或介面)可基於相應的巨集命令(macro)進行操作。由於晶片內HB適配器76、78、80的結構和操作,巨集命令可以是晶片特有的及/或可以在不同類型的晶片中再利用。這是因為與每個巨集命令相關聯的時脈信號不需要匹配及/或被修改以與對應晶片的時脈晶片相匹配。因為晶片內HB適配器76、78、80能夠無論何時接收到信號都可以進行操作,所以不需要時脈匹配。
晶片內HB適配器76、78、80可以知道巨集命令的定時。這可以程式設計到晶片內HB適配器76、78、80中及/或可以基於與模組86、88、90(和連接至晶片內HB適配器76、78、80的其他模組及/或介面)的通信及/或從其接收的時脈信號。因此,晶片內HB適配器76、78、80能夠確定何時從模組86、88、90(和連接至晶片內HB適配器76、78、80的其他模組及/或介面)接收到資訊並相應地回應。在另一實施例中,並且關於從模組86、88、90(和連接至晶片內HB適配器76、78、80的其他模組及/或介面)接收資訊,晶片內HB適配器76、78、80可以是不知道時間並且緩衝所接收的資訊。
晶片內HB 75為標準可交換連接點(即,晶片內HB適配器76、78、80)提供可交換連接點之間的頂級路由和定時。可以在(i)模組86、88、90和連接至晶片內HB適配器76、78、80的其他模組和/或介面以及(ii)晶片內HB適配器76、78、80之間發生資訊的非同步傳送。HB適配器76、78、80、82、84之間的資訊傳送由於所執行的歪斜控制而可以被稱為偽同步。結合可交換連接點允許可交換連接點的驗證和矽注入更為簡化。
HB介面可稱為組合的主和從介面,並且經由相應的傳輸和接收導電元件(例如,導電元件102、106)以並行格式傳送資訊。傳輸和接收導電元件均可以是單向的。作為示例,傳輸導電元件可以包括128個資料元件和16個選通(strobe)元件。接收導電元件也可以包括128個資料元件和16個選通元件。這不同於傳統的AXI交叉網格結構,其中例如設備A經由從設備A延伸的交叉網格結構的相應分支連接至設備B-D。所公開的HB系統60允許設備A-D經由串列HB連接,使得設備A-D中的每一個都能夠通過在HB的HB適配器之間串列轉發資訊而與設備A-D中的其他每一個器件通信。資訊從源設備(例如,設備A)轉發並在HB適配器之間轉發,直到到達最接近目的設備(例如,目的設備D)的晶片內HB適配器。
SoC控制模組86可包括啟動模組160。啟動模組160可啟動第一SoC 70和/或其他SoC(例如,SoC 72、74)的模組和適配器。啟動模組160可指示其他SoC何時啟動以及在哪裡存儲用於SoC的相應啟動代碼。啟動代碼可存儲在第一SoC 72、其他SoC和/或與第一SoC 72和/或其他SoC分離的記憶體中。其他SoC可基於來自第一SoC 72的指令而啟動。其他SoC可以基於其他SoC中的相應存儲和預設的位元、預設管腳和/或預設熔絲來啟動,基於來自第一SoC 72的指令表示是否為自啟動或啟動。如 以下進一步描述的,可以在晶片間HB(IHB)準備信號中提供指令。參照圖5和圖6更詳細地描述啟動模組160的操作。
圖3示出了位址翻譯模組170。位址翻譯模組170可代替圖2的任意位址翻譯模組。位址翻譯模組170包括本地位址掩蔽(masking)模組172、第一位址比較模組174、全域位址掩蔽模組176和第二位址比較模組178。本地位址掩蔽模組172可指示本地位址的位數以與預定數量的全域位址進行比較。第一位址比較模組174將本地位址或其一部分與一個或多個全域位址進行比較以找到匹配。如果找到匹配,則使用匹配的全域位址來代替本地位址。
例如,本地位址掩蔽模組172可指示48位元本地位址中的前32位與每個預定數量的全域位址中的前32位進行比較,直到找到匹配。預定數量的全域位址可存儲在相應的寄存器中並與本地位址進行比較。可以並行地(或者在相同的時間段內)執行這些比較。然後,經由第一位址比較模組174將本地位址重新映射到匹配全域位址。
全域位址掩蔽模組176可指示全域位址的位數以與預定數量的本地位址進行比較。第二位址比較模組178將全域位址或其一部分與一個或多個本地位址進行比較以找到匹配。如果找到匹配,則使用匹配的本地位址以代替全域位址。
例如,全域位址掩蔽模組176可指示48位元全域位址中的前32位與每個預定數量的本地位址中的前32位進行比較,直到找到匹配。預定數量的本地位址可存儲在對應暫存器中並與全域位址進行比較。可以並行地(或在相同的時間段內)執行這些比較。然後,經由第二位址比較模組178將全域位址重新映射到匹配本地位址。
如果經由一個或多個晶片內HB和一個或多個晶片間HB從 當前SoC轉發至另一個SoC,則全域位址可以不被重新映射到本地位址。可以在最後的目的SoC處發生重新映射。這稱為旁通一個或多個晶片。
本文公開的系統可使用多種方法來操作,在圖4中示出了示例性方法。在圖4中,示出了操作HB系統(例如,圖1和圖2的HB系統10、60中的一個)的方法。儘管主要參照圖1至圖3的實施方式描述以下任務,但任務可以容易被修改以應用本發明的其他實施方式。可以反覆運算地執行任務。
該方法可開始於200。在202中,第一晶片內HB適配器(例如,晶片內HB適配器76)接收來自模組(例如,SoC控制模組86)的資訊。可經由第一晶片內適配器的非HB介面的主埠來接收資訊。
在204中,協定轉換模組將所接收的資訊轉換為HB協定。所接收的資訊可以是不同的類型,可以不同的速率接收,及/或可以基於不同的時鐘頻率來傳輸。不考慮所接收資訊的協定,協定轉換模組都可以根據HB協定將資訊轉換為HB格式。這可以包括:分包模組,對資訊進行分包並向一個或多個資料包添加標頭。標頭可包括源位址、目的地址、源晶片唯一ID、目的晶片唯一ID、源模組唯一ID和/或目的模組唯一ID。源位址和目的地址可以不是SoC的位址,而是可以表示SoC內或外的存儲位置和/或連接至SoC的設備的位址。
在206中,第一晶片內HP適配器可基於標頭中的任意或所有資訊確定在204中生成的一個或多個資料包是(i)從當前的晶片內適配器模組內部轉發至當前的SoC還是(ii)發送至另一個SoC。如果資料包保留在當前SoC中,則執行任務208,否則執行任務222。
在208中,第一晶片內HB適配器可基於標頭中任意或所有資訊確定在204中生成的一個或多個資料包是否被轉發至下一晶片內HB適 配器模組。如果資料包沿著晶片內HB被轉發至下一個晶片內HB適配器模組,則執行任務210,否則執行任務215。
在210中,經由晶片內HB將資訊和HB時鐘信號從當前(或前一)晶片內HB適配器模區塊轉送至下一晶片內HB適配器模組。在HB適配器模組之間的多個可用並行通道上擴展資料包。在212中,在下一晶片內HB適配器模組處接收之前,在前一晶片內HB適配器模組和下一晶片內HB適配器模組之間經由緩衝器(例如,緩衝器102)緩衝資訊。在214中,基於HB時鐘信號來採樣在通道上和下一晶片內HB適配器模組處接收的資料包的位元。可以調整採樣以執行歪斜控制,從而調整在每個通道處接收位元的速率。這幫助確保在並行通道上和在彼此的第一預定週期內傳輸的位在彼此的第二預定的週期內被接收。第二預定週期的長度可與第一預定週期相同。在任務214之後,可以執行任務206,其中下一晶片內HB適配器模組現在是當前的晶片內HB適配器模組。
在215中,通過下一晶片內HB適配器模組的協定轉換模組將資料包形式的資訊轉換為目的設備可識別的格式。資訊可以為與通過源設備傳輸的資訊相同的格式及/或基於相同的協定,或者可以為不同的格式及/或基於不同的協定。在216中,轉換的資訊從晶片內HB轉發至目的設備、模組及/或介面。在218中,最後的晶片內HB適配器模組基於資訊確定是否從目的設備、模組及/或介面接收到回應。如果接收到回應,則執行任務220,否則可以在238處結束方法。
在220中,在最後的晶片內HB適配器模組處接收到來自目的設備、模組及/或介面的回應,並且經由晶片內HB將其轉發至資訊的源。回應可包括例如存儲在記憶體中的資料。可以以逆序發生回應的轉發,其中資訊被發送至目的設備、模組及/或介面。
在222中,資訊從當前的晶片內HB適配器模組轉發至晶片間HB適配器模組(例如,晶片間HB適配器82)。在224中,在晶片間HB適配器模組處接收之前,資訊被緩衝。在226中,晶片間HB適配器模組對所接收的資訊進行採樣。這可以包括上述歪斜控制並且可以基於HB時鐘信號,如在晶片間HB適配器模組處從最後的晶片內HB適配器模組(之前稱為當前的晶片內HB適配器模組)所接收的。
在228中,ID模組(例如,ID模組)確定一個或多個唯一ID。在230中,位址翻譯模組可基於一個或多個唯一ID將本地位址翻譯為全域位址。可基於一個或多個唯一ID和所確定的全域位址來修改資料包的標頭。在231中,串列器/去串列器模組串列資料包的位元。在232中,晶片間HB適配器模組經由晶片間HB將串列位元轉發至下一SoC。儘管資料包被串列,但資料包可經由前一SoC和下一SoC之間的並行通道來傳輸,其中每個通道都包括相應資料包的串列位元。可以在一個或多個通道上將資料包的位元傳輸至下一SoC。
在234中,晶片間HB適配器模組基於經由晶片間HB傳輸的資料包確定是否接收到來自下一SoC的回應。例如,回應可包括存儲在下一晶片或連接至下一晶片上的設備中的資料或啟動代碼。如果接收到回應,則執行任務236,否則在238處結束方法。在236中,回應經由晶片內HB轉發至資訊的源。這可以以資訊傳輸的逆序來進行。
上述任務只是示例性實例;根據應用可以順序地、同步地、同時地、連續地、在重疊時間週期期間或以不同的順序來執行任務。此外,根據事件的實施及/或序列,可以執行或跳過任何任務。
圖5示出了被配置為執行交叉晶片啟動控制的HB系統250。HB系統250包括第一SoC 252和第二SoC 254。第一SoC 252可以稱 為“基礎”或“主啟動”晶片,以及第二SoC 254可稱為“下級”晶片。第一SoC 252包括:SoC控制模組256,具有啟動模組258;HB 260;ROM及/或快取記憶體器262;存儲介面模組264;以及晶片間HB適配器模組266。HB 260包括晶片內HB適配器模組268,分別連接至ROM和/或快取記憶體器262、存儲介面264和晶片間HB適配器模組266。晶片內HB適配器模組268可類似於圖2的晶片內HB適配器模組進行配置。存儲介面模組264連接至存放裝置(諸如eMMC 270)、USB模組272、DDR記憶體274和UART模組276。晶片間HB適配器模組266經由晶片間HB 280連接至第二SoC 254,其可以連接至另一存放裝置(例如,第二DDR記憶體278)。HB系統250進一步參照圖6進行描述。
圖6示出了啟動方法。儘管以下任務主要參照圖5的實施方式來進行描述,但可以容易地修改任務以應用至本發明的其他實施方式。可以反覆運算地執行任務。
該方法可開始於300。以下任務302-308與基礎晶片(例如,第一SoC 252)相關聯。在302中,運轉基礎晶片(例如,電源ON)。在304中,基礎晶片在一個或多個記憶體(或存放裝置)(諸如一個或多個存放裝置262、270、272、274、276)中載入用於基礎晶片和/或一個或多個下級晶片(例如,第二SoC 254)的啟動代碼。這可以包括將啟動代碼載入到基礎晶片的快取記憶體器中或者在兩個或多個存放裝置之間傳送啟動代碼。在306中,如果在304中還沒有準備執行,則可以載入下級晶片的啟動代碼。
在308中,基礎晶片和/或對應啟動模組可生成晶片間HB(IHB)準備資訊,其表示基礎晶片、基礎晶片的晶片間HB、晶片內HB和啟動代碼已經準備用於下級晶片。IHB準備信號可指示用於每個下級晶片和/或下級晶片的模組的啟動代碼定位在何處。經由晶片間HB將IHB信號 從基礎晶片傳輸至下級晶片。如果多於一個的下級晶片接收到IHB準備信號,則IHB準備信號可從第一下級晶片轉發至第二下級晶片或者可以直接從基礎晶片轉發至每一個下級晶片。
任務310-314與第一下級晶片相關聯。在310中,第一下級晶片在第一下級晶片的晶片間HB適配器模組處接收IHB信號。在312中,第一下級晶片的晶片間HB適配器模組確定是否將IHB信號轉發至第二下級HB晶片。如果還沒有轉發IHB信號,則執行任務314,否則執行任務316。
在314中,第一下級晶片基於IHB晶片確定是否啟動。該可以包括:第一下級晶片的控制模組確定是否根據IHB信號訪問啟動代碼,和/或基於存儲在第一下級晶片和/或連接至第一下級晶片的存放裝置中的代碼而啟動。第一下級晶片可以(i)根據IHB信號生成載入啟動代碼的訪問請求信號,以及(ii)基於訪問請求信號,從基礎SoC和/或基礎SoC內的存放裝置和/或連接至基礎SoC的存放裝置接收啟動代碼。可經由晶片內HB適配器、晶片內HB、晶片間HB適配器和晶片間HB將訪問請求信號發送回基礎SoC的控制模組和/或發送回基礎SoC中的記憶體或連接至基礎SoC的記憶體。然後,啟動代碼可以經由晶片內HB適配器、晶片內HB、晶片間HB適配器和晶片間HB發送至第一下級SoC的控制模組。
在316中,第二下級SoC可根據IHB信號啟動。在任務314、316之後,可在318處結束方法。
在本公開中描述的無線通訊可完全或部分與IEEE標準802.11-2012、IEEE標準802.16-2009、IEEE標準802.20-2008和/或藍牙核心規範V4.0相容。在各個實施方式中,可通過藍牙核心規範補充2、3或4來修改藍牙核心規範V4.0。在各個實施方式中,可通過IEEE標準802.11ac草案、IEEE標準802.11ad草案和/或IEEE標準802.11ah草案來補充IEEE 802.11-2012。
前面的描述本質上僅是示例性的而不用於限制公開、其應用或使用。可以以各種形式來實施本發明的廣泛教導。因此,雖然本公開包括了具體實例,但本公開的範圍不應限於此,因為根據對附圖、說明書和以下申請專利範圍的研究,其他修改變得顯而易見。如本文所使用的,A、B和C中的至少一個的說法應該理解為使用異或邏輯的邏輯(A或B或C),而不應理解為“至少一個A、至少一個B和至少一個C”。應該理解,可以以不同的順序(或同時)執行方法內的一個或多個步驟,而不改變本發明的原理。
在本申請中,包括以下定義,術語“模組”或術語“控制器”可以用術語“電路”來代替。術語“模組”可部分表示或包括:專用積體電路(ASIC);數位、類比或混合類比/數位分立電路;數位、類比或混合類比/數位積體電路;組合邏輯電路;現場可程式設計閘陣列(FPGA);執行代碼的處理器電路(共用、專用或組);存儲電路(共用、專用或組),存儲被處理器電路執行的代碼;其他適當的硬體部件,提供所描述的功能;或上述一些或所有的組合,諸如片上系統。
模組可包括一個或多個介面電路。在一些實例中,介面電路可包括有線或無線介面,其連接至區域網路(LAN)、網際網路、廣域網路(WAN)或它們的組合。可以在經由介面電路連接的多個模組之間分配本發明的任何給定模組的功能。例如,多個模組可允許載入平衡。在又一示例中,伺服器(也稱為遠端、或雲)模組可為了客戶模組完成一些功能。
如上所使用的,術語代碼可包括軟體、韌體和/或微代碼,並且可以表示程式、電腦程式、功能、類、資料結構和/或物件。術語共用處理器電路包括執行一些或所有來自多個模組的代碼的單個處理器電路。 術語組處理器電路包括與附加處理器電路組合來執行一些或所有來自一個或多個模組的代碼的處理器電路。對多個處理器電路的引用包括分立裸片上的多個處理器電路、單個裸片上的多個處理器電路、單個處理器電路的多個核心、單個處理器電路的多個執行緒或它們的組合。術語共用記憶體電路包括存儲一些或所有來自多個模組的代碼的單個記憶體電路。術語組記憶體電路包括與附加記憶體組合來存儲一些或所有來自一個或多個模組的代碼的記憶體電路。
術語記憶體電路是術語電腦可讀介質的子集。如本文使用的,術語電腦可讀介質不包括通過介質傳播的瞬態電或電磁信號(諸如在載波上);因此,術語電腦可讀介質可認為是有形的和非瞬態的。非順序有形電腦可讀介質的非限制實例包括非揮發性記憶體電路(諸如快閃記憶體電路或遮罩式唯讀記憶體電路)、揮發性記憶體電路(諸如靜態隨機存取記憶體電路或動態隨機存取記憶體電路)和次要存放裝置(諸如磁性記憶體(諸如磁帶或硬碟驅動器)或光學記憶體)。
本申請中描述的裝置和方法可部分或完全通過將通用電腦配置為執行以電腦程式具體化的一個或多個特定功能而創建的專用電腦來實施。電腦程式包括存儲在至少一個非瞬態有形電腦可讀介質上的處理器可執行指令。電腦程式還可以包括或依賴於存儲資料。電腦程式可包括與專用電腦的硬體交互的基本輸入/輸出系統(BIOS)、與專用電腦的特定設備交互的裝置驅動程式、一個或多個作業系統、使用者應用程式、背景服務和應用等。
電腦程式可包括:(i)彙編代碼;(ii)通過編譯器從原始程式碼生成的目標代碼;(iii)用於被解釋程式執行的原始程式碼;(iv)用於通過即使編譯器編輯和執行的原始程式碼;(v)用於解析的說明文本,諸 如HTML(超文字標記語言)或XML(可延伸標記語言)等。僅作為實例,原始程式碼可以以C、C++、C#、Objective-C、Haskell、Go、SQL、Lisp、Java®、ASP、Perl、Javascript®、HTML5、Ada、ASP(動態伺服器頁面)、Perl、Scala、Erlang、Ruby、Flash®、Visual Basic®、Lua或Python®來編寫。
在權利要求中引用的元件不用於表示35 U.S.C.§112(f)的含義內的裝置加功能元件,除非使用“用於的裝置”的說明來明確指定或者在使用“用於的操作”或“用於的步驟”說法的方法權利要求中的情況下。

Claims (18)

  1. 一種第一片上系統,包括:多個非跳頻匯流排界面,包括第一非跳頻匯流排界面和第二非跳頻匯流排界面,其中所述第一非跳頻匯流排界面被配置為基於第一協定接收資訊;跳頻匯流排,包括多個晶片內適配器,其中所述多個晶片內適配器串聯連接並分別連接至所述多個非跳頻匯流排界面,所述多個晶片內適配器被配置為(i)根據第二協定,將所述資訊轉換為用於在所述跳頻匯流排上傳輸的第一格式,以及(ii)在所述跳頻匯流排上和所述多個晶片內適配器之間傳送所述第一格式的所述資訊,所述第二協定不同於所述第一協定,並且所述第二非跳頻匯流排界面被配置為基於所述資訊在所述跳頻匯流排上的傳輸來從所述跳頻匯流排接收所述資訊;控制模組,被配置為(i)載入用於所述第一片上系統和第二片上系統的啟動代碼,以及(ii)將準備信號傳輸至第一晶片內適配器,其中所述準備信號表示所述第二片上系統的所述啟動代碼已經準備好,以及其中所述多個晶片內適配器包括所述第一晶片內適配器;以及第一晶片間適配器,被配置為(i)經由晶片間匯流排將所述準備信號從所述第一晶片內適配器傳送至所述第二片上系統,以及(ii)基於所述準備信號,從所述第二片上系統接收訪問信號,以及(iii)基於所述訪問信號,將所述第二片上系統的所述啟動代碼傳送至所述第二片上系統,其中所述晶片間匯流排在所述第一片上系統和所述第二片上系統之間延伸。
  2. 如申請專利範圍第1項所述的第一片上系統,其中:所述多個晶片內適配器包括第二晶片內適配器;所述第一晶片內適配器包括第三非跳頻匯流排界面和第一跳頻匯流排界面;所述第三非跳頻匯流排界面連接至所述第一非跳頻匯流排界面並被配置為根據所述第一協定從所述第一非跳頻匯流排界面接收所述資訊;所述第一晶片內適配器被配置為根據所述第二協定將所述資訊轉換為用於在所述跳頻匯流排上傳輸的所述第一格式,包括對所述資訊進行分包以生成一個或多個資料包;以及所述第一跳頻匯流排界面被配置為將所述第一格式的所述一個或多個資料包轉發至所述第二晶片內適配器。
  3. 如申請專利範圍第2項所述的第一片上系統,其中:所述第二晶片內適配器被配置為:(i)根據第三協定將所述第一格式的所述一個或多個資料包轉換為第二格式,以及(ii)將所述第二格式的所述資訊轉發至所述第二非跳頻匯流排界面;以及所述第三協定不同於所述第二協定。
  4. 如申請專利範圍第3項所述的第一片上系統,其中所述第三協定不同於所述第一協定。
  5. 如申請專利範圍第2項所述的第一片上系統,其中:所述第一晶片內適配器被配置為在所述第一晶片內適配器和所述第二晶片內適配器之間的多個通道或多個導電元件上擴展所述一個或多個資料包的位元;以及所述第二晶片內適配器被配置為(i)經由所述多個通道或所述多個導電元件接收所述一個或多個資料包的位元;以及(ii)基於所述跳頻匯流排的時脈信號,對所述一個或多個資料包的位元進行採樣,從而對所述第二晶片內適配器處的所述一個或多個資料包的位元的接收進行歪斜控制,使得位元在彼此的預定的週期內經由所述多個通道被接收。
  6. 如申請專利範圍第1項所述的第一片上系統,其中所述第一協定是高級微控制器匯流排架構。
  7. 如申請專利範圍第1項所述的第一片上系統,其中所述多個非跳頻匯流排界面中的每一個介面均被配置為連接至所述第一片上系統內的模組或週邊設備。
  8. 如申請專利範圍第1項所述的第一片上系統,其中:所述第一非跳頻匯流排界面包括第一主埠和第一從埠;所述跳頻匯流排界面包括第二主埠和第二從埠;所述第一主埠連接至所述第二主埠;所述第一從埠連接至所述第二從埠;以及所述資訊(i)在所述第一主埠和所述第二主埠之間傳送,或者(ii)在所述第一從埠和所述第二從埠之間傳送。
  9. 如申請專利範圍第1項所述的第一片上系統,其中所述第一晶片間適配器被配置為在所述第一晶片內適配器和所述晶片間匯流排之間傳送所述資訊,其中:所述第一晶片內適配器被配置為對所述資訊進行分包以生成具有報頭的資料包;所述報頭包括本地地址;以及所述第一晶片間適配器被配置為(i)確定用於所述第一片上系統的唯一識別碼,(ii)基於所述唯一識別碼,將所述本地地址翻譯為全域位址,以及(iii)將具有所述全域位址的一個或多個資料包轉發至第二片上系統。
  10. 如申請專利範圍第9項所述的第一片上系統,其中所述第一晶片間適配器被配置為在將所述一個或多個資料包轉發至所述第二片上系統之前,序列化所述一個或多個資料包。
  11. 一種第一片上系統,包括:多個非跳頻匯流排界面,包括第一非跳頻匯流排界面和第二非跳頻匯流排界面,其中所述第一非跳頻匯流排界面被配置為基於第一協定接收資訊;跳頻匯流排,包括多個晶片內適配器,其中,所述多個晶片內適配器串聯連接並分別連接至所述多個非跳頻匯流排界面,所述多個晶片內適配器被配置為(i)根據第二協定,將所述資訊轉換為用於在所述跳頻匯流排上傳輸的第一格式,以及(ii)在所述跳頻匯流排上和所述多個晶片內適配器之間傳送所述第一格式的所述資訊,所述第二協定不同於所述第一協定,並且所述第二非跳頻匯流排界面被配置為基於所述資訊在所述跳頻匯流排上的傳輸來從所述跳頻匯流排接收所述資訊;晶片間適配器,經由晶片間匯流排連接至第一晶片內適配器,其中所述晶片間適配器被配置為(i)從第二片上系統接收準備信號,以及(ii)將所述準備信號轉發至所述第一晶片內適配器,其中所述多個晶片內適配器包括所述第一晶片內適配器;以及控制模組,被配置為(i)接收來自所述第一晶片內適配器的所述準備信號,(ii)基於所述準備信號,確定是否基於(i)經由所述晶片間匯流排訪問並存儲在所述第二片上系統中的記憶體中或連接至所述第二片上系統的記憶體中的啟動代碼或者(ii)存儲在所述第一片上系統中的記憶體中或連接至所述第一片上系統的記憶體中的啟動代碼,來啟動所述第一片上系統。
  12. 如申請專利範圍第11項所述的第一片上系統,其中所述控制模組被配置為(i)基於所述準備信號生成訪問信號,(ii)經由所述晶片間匯流排將所述準備信號傳輸至所述第二片上系統,以及(iii)接收所述啟動代碼並存儲在所述第二片上系統中的記憶體中或連接至所述第二片上系統的記憶體中。
  13. 一種跳頻匯流排系統,包括:第一片上系統,包括:多個非跳頻匯流排界面,包括第一非跳頻匯流排界面和第二非跳頻匯流排界面,其中所述第一非跳頻匯流排界面被配置為基於第一協定接收資訊;跳頻匯流排,包括多個晶片內適配器;以及連接至第一晶片內適配器的第一晶片間適配器,其中所述多個晶片內適配器包括所述第一晶片內適配器,其中,所述多個晶片內適配器串聯連接並分別連接至所述多個非跳頻匯流排界面,所述多個晶片內適配器被配置為(i)根據第二協定,將所述資訊轉換為用於在所述跳頻匯流排上傳輸的第一格式,以及(ii)在所述跳頻匯流排上和所述多個晶片內適配器之間傳送所述第一格式的所述資訊,所述第二協定不同於所述第一協定,並且所述第二非跳頻匯流排界面被配置為基於所述資訊在所述跳頻匯流排上的傳輸來從所述跳頻匯流排接收所述資訊;第二片上系統,包括第二跳頻匯流排和第二晶片間適配器;以及晶片間匯流排,用於將所述第一晶片間適配器連接至所述第二晶片間適配器,其中,所述第一片上系統包括控制模組;所述控制模組被配置為(i)生成請求信號,以及(ii)基於所述第一協定,將所述請求信號傳輸至所述第一晶片內適配器;所述第一晶片內適配器被配置為(i)根據所述第二協定將所述請求信號進行分包以生成資料包,以及(ii)將所述資料包轉發至所述第一晶片間適配器;所述第一晶片間適配器被配置為(i)向所述資料包添加唯一識別碼,(ii)序列化所述資料包,以及(iii)將序列化的所述資料包轉發至所述晶片間匯流排;所述第二晶片間適配器被配置為(i)反序列化所述資料包,以及(ii)將所述資料包轉發至第三晶片內適配器;以及所述第三晶片內適配器被配置為(i)基於所述資料包訪問存儲在記憶體中的資料,以及(ii)經由所述第二晶片間適配器、所述晶片間匯流排、所述第一晶片間適配器和所述第一晶片內適配器將所述資料轉發至所述控制模組。
  14. 一種在第一片上系統中轉發資訊的方法,所述第一片上系統包括多個非跳頻匯流排界面和跳頻匯流排,其中所述多個非跳頻匯流排界面包括第一非跳頻匯流排界面和第二非跳頻匯流排界面,所述跳頻匯流排包括多個晶片內適配器,以及其中所述多個晶片內適配器串聯連接並分別連接至所述多個非跳頻匯流排界面,所述方法包括:基於第一協定,在所述第一片上系統的所述第一非跳頻匯流排界面處接收資訊;根據第二協定,經由所述多個晶片內適配器將所述資訊轉換為用於在所述跳頻匯流排上傳輸的第一格式,其中所述第二協定不同於所述第一協定;在所述跳頻匯流排上和所述多個晶片內適配器之間傳送所述第一格式的所述資訊;基於所述資訊在所述跳頻匯流排上的傳輸,在所述第二非跳頻匯流排界面處從所述跳頻匯流排接收所述資訊;載入用於所述第一片上系統和第二片上系統的啟動代碼;將準備信號傳輸至第一晶片內適配器,其中所述準備信號表示所述第二片上系統的所述啟動代碼已經準備好,以及其中所述多個晶片內適配器包括所述第一晶片內適配器;經由晶片間匯流排將所述準備信號從所述第一晶片內適配器經由第一晶片間適配器傳送至所述第二片上系統;基於所述準備信號,在所述第一晶片間適配器接收來自所述第二片上系統的訪問信號;以及基於所述訪問信號,將所述第二片上系統的所述啟動代碼從所述第一晶片間適配器傳送至所述第二片上系統,其中所述晶片間匯流排在所述第一片上系統和所述第二片上系統之間延伸。
  15. 如申請專利範圍第14項所述的方法,還包括:在第一晶片內適配器的第三非跳頻匯流排界面處根據所述第一協定從所述第一非跳頻匯流排界面接收所述資訊,其中所述多個晶片內適配器包括所述第一晶片內適配器和第二晶片內適配器,以及其中所述第一晶片內適配器包括所述第三非跳頻匯流排界面和跳頻匯流排界面;根據所述第二協定,經由所述第一晶片內適配器將所述資訊轉換為用於在所述跳頻匯流排上傳輸的所述第一格式,其中所述資訊的轉換包括對所述資訊進行分包以生成一個或多個資料包;以及經由所述跳頻匯流排界面將所述第一格式的所述一個或多個資料包轉發至所述第二晶片內適配器。
  16. 如申請專利範圍第15項所述的方法,還包括:經由所述第二晶片內適配器,根據第三協定將所述第一格式的所述一個或多個資料包轉換為第二格式,其中所述第三協定不同於所述第二協定;以及將所述第二格式的所述資訊轉發至所述第二非跳頻匯流排界面。
  17. 如申請專利範圍第16項所述的方法,其中所述第三協定不同於所述第一協定。
  18. 如申請專利範圍第15項所述的方法,還包括:經由所述第一晶片內適配器,在所述第一晶片內適配器和所述第二晶片內適配器之間的多個通道或多個導電元件上擴展所述一個或多個資料包的位元;經由所述多個通道或所述多個導電元件,在所述第二晶片內適配器處接收所述一個或多個資料包的位元;以及基於所述跳頻匯流排的時脈信號,對所述一個或多個資料包的位元進行採樣,從而對所述第二晶片內適配器處的所述一個或多個資料包的位元的接收進行歪斜控制。
TW103143514A 2013-12-12 2014-12-12 片上系統、跳頻匯流排系統、以及在片上系統中轉發資訊的方法 TWI664532B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201361915413P 2013-12-12 2013-12-12
US61/915,413 2013-12-12
US201461954486P 2014-03-17 2014-03-17
US61/954,486 2014-03-17
US14/564,499 US9959237B2 (en) 2013-12-12 2014-12-09 Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US14/564,499 2014-12-09

Publications (2)

Publication Number Publication Date
TW201531858A TW201531858A (zh) 2015-08-16
TWI664532B true TWI664532B (zh) 2019-07-01

Family

ID=53371758

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103143514A TWI664532B (zh) 2013-12-12 2014-12-12 片上系統、跳頻匯流排系統、以及在片上系統中轉發資訊的方法

Country Status (7)

Country Link
US (1) US9535869B2 (zh)
EP (1) EP3080708B1 (zh)
JP (1) JP6541272B2 (zh)
KR (1) KR102280718B1 (zh)
CN (1) CN105900080B (zh)
TW (1) TWI664532B (zh)
WO (1) WO2015089058A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959237B2 (en) 2013-12-12 2018-05-01 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US10552350B2 (en) 2015-08-03 2020-02-04 Marvell World Trade Ltd. Systems and methods for aggregating data packets in a mochi system
WO2017023661A1 (en) * 2015-08-03 2017-02-09 Marvell World Trade Ltd. Systems and methods for transmitting interrupts between nodes
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
EP3508984B1 (en) * 2016-08-31 2022-09-28 Socionext Inc. Bus control circuit, semiconductor integrated circuit, circuit substrate, information processing device, and bus control method
US10372646B2 (en) * 2017-06-30 2019-08-06 Western Digital Technologies, Inc. Programmable adapter between slow peripherals and network on-chip interfaces
US11114138B2 (en) 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
EP3803612B1 (en) * 2018-06-08 2023-08-23 IOT.nxt BV A communication apparatus
US11789883B2 (en) * 2018-08-14 2023-10-17 Intel Corporation Inter-die communication of programmable logic devices
US11455370B2 (en) 2018-11-19 2022-09-27 Groq, Inc. Flattened input stream generation for convolution with expanded kernel
US11115147B2 (en) * 2019-01-09 2021-09-07 Groq, Inc. Multichip fault management
CN112540949A (zh) * 2020-12-17 2021-03-23 北京航天测控技术有限公司 一种数据传输系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044806A1 (en) * 2002-05-15 2004-03-04 Moll Laurent R. Addressing scheme supporting variable local addressing and variable global addressing
TW200409479A (en) * 2002-08-14 2004-06-01 Intel Corp Method and apparatus for mitigating radio frequency interference between transceiver systems
US20100269123A1 (en) * 2009-04-21 2010-10-21 International Business Machines Corporation Performance Event Triggering Through Direct Interthread Communication On a Network On Chip

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793024B2 (en) * 2006-06-20 2010-09-07 Nvidia Corporation Method for utilizing a PCI-Express bus to communicate between system chips
US7936809B2 (en) * 2006-07-11 2011-05-03 Altera Corporation Economical, scalable transceiver jitter test
WO2008018004A2 (en) * 2006-08-08 2008-02-14 Koninklijke Philips Electronics N.V. Electronic device and method for synchronizing a communication
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US9015446B2 (en) * 2008-12-10 2015-04-21 Nvidia Corporation Chipset support for non-uniform memory access among heterogeneous processing units
US20100312934A1 (en) * 2009-06-05 2010-12-09 Taiwan Semiconductor Manufacturing Company, Ltd. System and Method for Multi-Protocol Bus Communications
CN102035723A (zh) * 2009-09-28 2011-04-27 清华大学 一种片上网络路由及实现方法
US20150012679A1 (en) * 2013-07-03 2015-01-08 Iii Holdings 2, Llc Implementing remote transaction functionalities between data processing nodes of a switched interconnect fabric

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044806A1 (en) * 2002-05-15 2004-03-04 Moll Laurent R. Addressing scheme supporting variable local addressing and variable global addressing
TW200409479A (en) * 2002-08-14 2004-06-01 Intel Corp Method and apparatus for mitigating radio frequency interference between transceiver systems
US20100269123A1 (en) * 2009-04-21 2010-10-21 International Business Machines Corporation Performance Event Triggering Through Direct Interthread Communication On a Network On Chip

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Low-power network-on-chip for high-performance SoC design,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1605280,FEBRUARY 2006 *
Low-power network-on-chip for high-performance SoC design,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1605280,FEBRUARY 2006。

Also Published As

Publication number Publication date
KR102280718B1 (ko) 2021-07-22
US20150248371A1 (en) 2015-09-03
EP3080708B1 (en) 2020-02-05
US9535869B2 (en) 2017-01-03
JP2017504862A (ja) 2017-02-09
EP3080708A1 (en) 2016-10-19
KR20160096690A (ko) 2016-08-16
CN105900080A (zh) 2016-08-24
WO2015089058A1 (en) 2015-06-18
TW201531858A (zh) 2015-08-16
JP6541272B2 (ja) 2019-07-10
CN105900080B (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
TWI664532B (zh) 片上系統、跳頻匯流排系統、以及在片上系統中轉發資訊的方法
US9959237B2 (en) Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US10621129B2 (en) Peripheral interconnect for configurable slave endpoint circuits
KR101841173B1 (ko) 리오더 버퍼를 이용한 메모리 인터리빙 장치 및 그 메모리 인터리빙 방법
JP7411633B2 (ja) 固定PCIe物理トランスポートネットワーク上の論理トランスポート
US8234483B2 (en) Memory units with packet processor for decapsulating read write access from and encapsulating response to external devices via serial packet switched protocol interface
TWI584116B (zh) 使用混合記憶體立方體連結之互連系統及方法
US8037230B2 (en) Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)
US8699953B2 (en) Low-latency interface-based networking
US10725957B1 (en) Uniform memory access architecture
US7356633B2 (en) Composing on-chip interconnects with configurable interfaces
TW200830108A (en) Two-cycle return path clocking
US8667195B2 (en) Bus-system including an interconnector, a master device, a slave device, and an operating method thereof
Kodama et al. PEACH2: an FPGA-based PCIe network device for tightly coupled accelerators
WO2014086219A1 (zh) 一种基于外设部件互联总线的内容查找芯片及系统
US9104819B2 (en) Multi-master bus architecture for system-on-chip
US8943256B1 (en) Serial data intermediary device, and related systems and methods
WO2017005009A1 (zh) 外部设备扩展卡及输入输出外部设备的数据处理方法
US20090310521A1 (en) Multiple die communication system
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치
US20240073129A1 (en) Peer-to-peer communication between reconfigurable dataflow units
US20240073136A1 (en) Reconfigurable dataflow unit with remote read/write functionality
US20240070111A1 (en) Reconfigurable dataflow unit with streaming write functionality
CN110309526B (zh) 用于可配置从端点电路的外围互连
CN114970409A (zh) 基于多管芯互联的集成电路