TWI809741B - 具有命令轉發機制的多晶片系統及地址產生方法 - Google Patents
具有命令轉發機制的多晶片系統及地址產生方法 Download PDFInfo
- Publication number
- TWI809741B TWI809741B TW111107601A TW111107601A TWI809741B TW I809741 B TWI809741 B TW I809741B TW 111107601 A TW111107601 A TW 111107601A TW 111107601 A TW111107601 A TW 111107601A TW I809741 B TWI809741 B TW I809741B
- Authority
- TW
- Taiwan
- Prior art keywords
- chip
- connection port
- target address
- port
- identification code
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000012546 transfer Methods 0.000 title abstract description 10
- 230000007246 mechanism Effects 0.000 title description 14
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 235000012431 wafers Nutrition 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
- Communication Control (AREA)
Abstract
多晶片系統包含發送端晶片與接收端晶片。發送端晶片包含第一連接埠。接收端晶片包含第二連接埠,該第一連接埠耦接至該第二連接埠,且該第一連接埠的工作模式不同於該第二連接埠的工作模式。當該發送端晶片是在沒有經由其它晶片下連接到該接收端晶片時,該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址,並根據該第一目標地址轉發一命令到該接收端晶片。
Description
本案是關於多晶片系統,尤其是關於具有可應用於多級晶片的命令轉發機制的多晶片系統及地址產生方法。
在現有的多晶片系統中,主(master)晶片的功能通常不同於從屬(slave)晶片的功能。當主晶片與從屬晶片需協同運作來完成一特定功能時,多晶片系統的開發者需要根據多晶片系統的應用場景來設計一組用來控制主晶片的代碼以及一組用來從屬晶片的代碼。若多晶片系統的應用場景或該特定功能需要調整時,多晶片間需能進行命令收發及轉發。目前,晶片中通常具有可相互溝通的介面,在現有技術中,現有介面在進行多晶片間命令收發及轉發的機制並不完善。
於一些實施態樣中,本案的目的之一在於提供一種具有命令轉發機制之多晶片系統及地址產生方法,以改善先前技術的不足。
於一些實施態樣中,多晶片系統包含發送端晶片與接收端晶片。發送端晶片包含第一連接埠。接收端晶片包含第二連接埠,該第一連接埠耦接至該第二連接埠,且該第一連接埠的工作模式不同於該第二連接埠的工作模式。當該發送端晶片是未經由其它晶片下來連接到該接收端晶片時,該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址,並根據該第一目標地址轉發一命令到該接收端晶片。
於一些實施態樣中,本案提出一種應用於多晶片系統的地址產生方法,多晶片系統包含一發送端晶片及一接收端晶片,發送端晶片包含一第一連接埠,接收端晶片包含一第二連接埠,第一連接埠耦接至第二連接埠,此地址產生方法包含:該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址;以及,該發送端晶片根據該第一目標地址轉發一命令到該接收端晶片。
於一些實施態樣中,多晶片系統可利用晶片本身的連接埠的工作模式以及匯流排的識別碼來設定各個晶片的相對目標地址。如此,多晶片系統中的晶片可轉發命令到其它晶片。上述的命令轉發機制僅涉及硬體之間的識別碼以及腳本的目標地址。因此,該命令轉發機制不涉及控制代碼修改,故可具有高通用性。
有關本案的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
100:多晶片系統
110:交換器
200:晶片
210:數位電路
220:介面電路
230:連接埠
A~E:晶片
B1,B1_1,B3~B5:匯流排
chip_id:晶片識別碼
P0~P5:連接埠
port 0,port 1:連接埠的識別碼
S1~S5:操作
〔圖1〕為根據本案一些實施例所繪製一種多晶片系統的示意圖;〔圖2A〕為根據本案一些實施例所繪製晶片的示意圖;以及〔圖2B〕為根據本案一些實施例繪製命令轉發的流程圖。
本文所使用的所有詞彙具有其通常的意涵。上述之詞彙在普遍常用之字典中之定義,在本案的內容中包含任一於此討論的詞彙之使用例子僅為示例,不應限制到本案之範圍與意涵。同樣地,本案亦不僅以於此說明書所示出的各種實施例為限。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。如本文所用,用語『電路』可為由至少一個電晶體與/或至少一個主被動元件按一定方式連接以處理訊號的裝置。
於一些實施態樣中,本案的一些實施例所提供的多晶片系統可在各個晶片之間實現一個訊息/命令同步機制,使該些晶片在通過一預設連接介面連接的環境下可利用轉發命令的方式驅動本身或是另一晶片來執行相應操作,以實現具有高通用性的邏輯應用環境。在不同的應用中,本案一些實施例中提供的多晶片系統可使用C++代碼/或Linux系統中的軟體框架來定義函數、命令與/或參數類型,但本案並不以此為限。
圖1為根據本案一些實施例所繪製一種多晶片系統100的示意圖。多晶片系統100包含多個晶片A~E以及交換器110。晶片A包含連接埠P0,晶片B包含連接埠P1,晶片C包含連接埠P2與連接埠P3,晶片D包含連接埠P4,且晶片E包含連接埠P5。於一些實施例中,交換器110為具有快速週邊組件互連(Peripheral Component Interconnect Express,PCI-E)介面的交換器,且該些晶片A的連接埠P0可經由PCI-E介面耦接到晶片B的連接埠P1、晶片C的連接埠P2以及晶片D的連接埠P4。晶片C的連接埠P3耦接至晶片E的連接埠P5。
晶片A以及與其連接的其他晶片B、C以及D中的每一者之間的設置方式屬於一級連接。在此例中,晶片A可操作為主(master)晶片,且剩餘的晶片B~E可操作為從屬(slave)晶片。於此條件下,基於PCI-E匯流排的相關標準,連接埠P0的工作模式與其它連接埠P1、P2以及P4的工作模式為不同模式。例如,連接埠P0的工作模式為根複合體(root complex,RC)模式,且其它連接埠P1、P2以及P4的工作模式為端點(endpoint,EP)模式。RC模式為PCI-E系統中操作為主晶片的工作模式,其只能與工作於EP模式的連接埠進行連接。EP模式為PCI-E系統中操作為從屬晶片的工作模式。此外,晶片A是透過晶片C連接到晶片E,故晶片A與晶片E屬於二級連接,其中連接埠P3與連接埠P5操作於不同模式。例如,連接埠P3操作於RC模式,且連接埠P5操作於EP模式。
在一些實施例中,多個晶片A~E中的一對應晶片(後稱發送端晶片)可利用後面段落所討論的相關操作辨識多個晶片A~E中的另一晶片(後稱接收端晶片)在多晶片系統100中的相對目標地址,並利用該目標地址轉發命令到接收端晶片,以控制接收端晶片執行後續的命令。為理解命令轉發的操
作,下面段落將依序說明目標地址的多種決定方式以及命令轉發的操作例子。於不同實施例中,發送端晶片可為主晶片或是從屬晶片,且接收端晶片亦可為從屬晶片或是主晶片。
(1)當發送端晶片與接收端晶片為一級連接,且發送端晶片的連接埠操作於EP模式時,接收端晶片的目標地址的決定方式:
在一些實施例中,當發送端晶片與接收端晶片之間的連接方式為一級連接(即發送端晶片是在沒有經由其它晶片下連接至接收端晶片)時,發送端晶片可根據發送端晶片的連接埠的工作模式決定接收端晶片相對於發送端晶片的目標地址,並根據接收端晶片的目標地址轉發命令到接收端晶片,以使接收端晶片執行該命令。
例如,發送端晶片為晶片C,且接收端晶片為晶片A。由於晶片C的連接埠P2操作於EP模式(即晶片C相對於晶片A是操作為從屬晶片),晶片C可根據連接埠P2的識別碼(identifier)決定晶片A相對於晶片C的目標地址。於一些實施例中,在多個晶片A~E中的一對應晶片內,對應的連接埠具有一識別碼。例如,晶片A包含一個連接埠P0,故該連接埠P0的識別碼為第一數值(例如可為0x10000;註記為port 0)。或者,晶片C包含兩個連接埠P2與P3,其中連接埠P2的識別碼為第一數值(例如可為0x10000),且連接埠P3的識別碼為第二數值(例如可為0x10001;註記為port 1)。依此類推,應可理解圖1中多個連接埠P0~P5與其識別碼的相應關係。由於晶片C是經由連接埠P2連接到晶片A,晶片C可根據連接埠P2的識別碼決定晶片A的目標地址為0x10000。
(2)當發送端晶片與接收端晶片為一級連接,且發送端晶片的連接埠操作於RC模式時,接收端晶片的目標地址的決定方式:
相較於上述例子,於一些實施例中,若發送端晶片操作為主晶片,發送端晶片可進一步根據發送端晶片的連接埠的識別碼與發送端晶片的連接埠與接收端晶片的連接埠之間的匯流排的識別碼決定目標地址。例如,發送端晶片為晶片A,且接收端晶片為晶片B。由於晶片A的連接埠P0操作於RC模式(即晶片A相對於晶片B是操作為主晶片),晶片A可根據連接埠P0的識別碼以及連接埠P0與連接埠P1之間的匯流排的識別碼決定晶片B相對於晶片A的目標地址。
於一些實施例中,連接埠P0與其他連接埠P1、P2與P4中的任一者是經由交換器110中的匯流排(即PCI-E匯流排)進行連接。例如,連接埠P0經由匯流排B3連接至連接埠P1,連接埠P0經由匯流排B4連接至連接埠P2,連接埠P0經由匯流排B5連接至連接埠P4,而連接埠P3經由匯流排B1_1連接至連接埠P5。類似於連接埠的識別碼,每一個匯流排具有一個對應的識別碼。晶片A可
根據連接埠P0的識別碼以及匯流排B3的識別碼決定晶片B的目標地址。例如,若連接埠P0的識別碼為第一數值(即port 0)時,晶片A可決定晶片B的目標地址為匯流排B3的識別碼。或者,若連接埠P0的識別碼為第二數值(即port 1)時,晶片A可將匯流排B3的識別碼加上一預設數值(例如為,但不限於,128)以決定晶片B的目標地址。在圖1的例子中,連接埠P0的識別碼為port 0,故晶片A會採用第一種方式決定晶片B的目標地址。
據此,當發送端晶片與接收端晶片設置為一級連接且發送端晶片的連接埠(其連接至接收端晶片)的工作模式為RC模式時,發送端晶片可根據該連接埠的識別碼以及發送端晶片與接收端晶片之間的匯流排的識別碼(註記為bus_id)決定接收端晶片的目標地址。上述的關係可整理為下表2:
(3)當發送端晶片與接收端晶片為二級連接,且發送端晶片的連接埠操作於RC模式以及橋接晶片上與接收端晶片相連的連接埠操作於RC模式時,接收端晶片的目標地址的決定方式:
相較於上述例子,於一些實施例中,若發送端晶片是經由一橋接晶片連接至接收端晶片,發送端晶片可利用橋接晶片轉發命令給接收端晶片。發送端晶片根據發送端晶片的連接埠(其連接至橋接晶片)的識別碼以及發送端晶片與橋接晶片兩者的連接埠之間的匯流排的識別碼決定橋接晶片相對
於發送端晶片的目標地址,並根據橋接晶片的匯流排(其連接至接收端晶片)的識別碼以及橋接晶片與接收端晶片兩者的連接埠之間的匯流排的識別碼決定接收端晶片相對於橋接晶片的目標地址。如此,發送端晶片可根據橋接晶片相對於發送端晶片的目標地址以及接收端晶片相對於橋接晶片的目標地址決定接收端晶片相對於發送端晶片的目標地址。
例如,在圖1的例子中,晶片A與晶片E為二級連接,其中發送端晶片可為晶片A,橋接晶片可為晶片C,且接收端晶片可為晶片E。晶片A可根據連接埠P0的識別碼以及連接埠P0與連接埠P2之間的匯流排B4的識別碼決定晶片C相對於晶片A的目標地址。參考上述的表2,應可理解,由於連接埠P0的識別碼為port 0,晶片A可將匯流排B4的識別碼設定為晶片C相對於晶片A的目標地址。類似地,晶片C可根據連接埠P3的識別碼以及連接埠P3與連接埠P5之間的匯流排B1_1的識別碼決定晶片E相對於晶片C的目標地址。參考上述的表2,應可理解,由於連接埠P3的識別碼為port 0,晶片C可將匯流排B1_1的識別碼設定為晶片E相對於晶片C的目標地址。如此一來,晶片A可根據晶片C相對於晶片A的目標地址以及晶片E相對於晶片C的目標地址決定晶片E相對於晶片A的目標地址。於一些實施例中,晶片A可將晶片C相對於晶片A的目標地址中的部分位元與晶片E相對於晶片C的目標地址中的部分位元組合為晶片E相對於晶片A的目標地址。例如,晶片E相對於晶片A的目標地址的前8個位元可為晶片C相對於晶片A的目標地址中的至少一部分位元,且晶片E相對於晶片A的目標地址的後8個位元可為晶片E相對於晶片C的目標地址中的至少一部分位元。
換言之,在二級連接的設置方式中,發送端晶片可依序決定橋接晶片相對於發送端晶片的目標地址(註記為T0)以及接收端晶片相對於橋接晶片的目標地址(註記為T1),並利用上述兩個目標地址的資訊產生接收端晶片相對於發送端晶片的目標地址。據此,當發送端晶片與接收端晶片設置為二級連接且發送端晶片的連接埠(其連接至接收端晶片)的工作模式為RC模式時,接收端晶片相對於發送端晶片的目標地址的決定方式可整理為下表3:
上表3中的(T1<<8)|T0代表接收端晶片相對於發送端晶片的目標地址的前置位元可由接收端晶片相對於橋接晶片的目標地址T1中的至少一部分位元決定,且接收端晶片相對於發送端晶片的目標地址的後置位元可由橋接晶片相對於發送端晶片的目標地址T0中的至少一部分位元決定。
(4)命令轉發的流程與概念:
圖2A為根據本案一些實施例繪製晶片200的示意圖。晶片200可為圖1中多個晶片A~E中任一者。晶片200包含數位電路210、介面電路220與連接埠230。數位電路210可為晶片200中的主要訊號處理電路,其可依據晶片200的應用執行相應操作。數位電路210可為,但不限於,處理器電路、特殊應用積體電路等等。介面電路220可為PCI-E介面的控制器電路,以控制連接埠230的資料與/或命令的傳輸。連接埠230可為圖1中的連接埠P0~P5的至少一者。例如,
若晶片200為晶片A,連接埠230可為連接埠P0。或者,若晶片200為晶片C,連接埠230可為連接埠P2與連接埠P3。
介面電路220可根據多種預設命令調整介面電路220所儲存的晶片識別碼chip_id,chip_id是接收命令的晶片相對於發送晶片200的目標地址。例如,當收到的預設命令有指示晶片200的目標地址,介面電路220可將晶片識別碼chip_id設定為預設值(例如為0)。或者,當收到的預設命令為用來斷開命令轉發連結的命令,介面電路220可將晶片識別碼chip_id設定為另一數值(例如為1)。數位電路210可根據晶片識別碼chip_id確認是否執行所接收到的命令。例如,當晶片識別碼chip_id為0時,數位電路210可執行所接收到的命令。或者,當晶片識別碼chip_id不為0時,數位電路210不執行所接收到的命令,而是根據晶片識別碼chip_id和連接埠230所處的工作模式提取出匯流排的識別字,把命令轉發到該匯流排與數位電路210連接的另外一個晶片上(圖2A未展示)。
圖2B為根據本案一些實施例繪製命令轉發的流程圖。一般而言,命令的輸入輸出由上至下可依序分為使用者輸入輸出層、傳輸層以及執行層。為易於理解,圖2B僅示出與圖1的晶片A、晶片C以及晶片E相關的執行層的操作流程。
當晶片A接收命令後(操作S1),晶片A可根據晶片識別碼chip_id決定是否執行該命令(操作S2)。例如,若該命令有指示晶片A的目標地址,晶片A可將晶片識別碼chip_id設置為預設值(預設為0),若為預設值,則在晶片A執行該命令(操作S3)。若晶片A所設定的晶片識別碼chip_id不為0,則經由PCI-E介面中的遠端處理器通訊(remote processor messaging,
RPMSG)機制轉發命令到其它晶片(操作S4),並等待其它晶片回傳命令執行結果。當晶片A收到本身產生的命令執行結果或是其它晶片的命令執行結果後,晶片A可回傳該命令執行結果至傳輸層以及使用者輸入輸出層(操作S5)。於一些實施例中,命令執行結果可為欲執行的命令的實際處理結果,或是各晶片回報命令執行失敗(例如,該命令指定由晶片A執行,但晶片A沒有儲存該命令)。
依此類推,晶片C與晶片E可執行類似的操作來完成命令轉發與/或執行命令。此外,晶片E可經由RPMSG機制回傳命令執行結果給晶片C,且晶片C可經由RPMSG機制回傳本的命令執行結果或是自晶片E接收到的命令執行結果給晶片A。晶片C與晶片E的相關操作與前述的多個操作S1~S5類似,故於此不再重複贅述。
(5)預設命令的例子:
第一例子:如前所述,預設命令可用來設定各個晶片A~E中的晶片識別碼chip_id,以選擇多晶片系統100中一晶片為當前的接收端晶片,以執行所轉發的命令。於一些實施例中,該預設命令可包含『select_chip[晶片的目標地址]』。於此例中,命令select_chip可用來指示接收端晶片的目標地址,在多晶片系統100成功執行命令select_chip後,接下來的命令都會由該接收端晶片執行。
例如,若晶片A要把命令轉發到晶片E上,晶片A可執行命令select_chip 0x104,其中0x104為晶片E相對於晶片A的目標地址(參考表3)。如此,晶片E可根據上述命令將本身的晶片識別碼chip_id設置為預設值,且晶片A
可轉發後續的命令給晶片E,使得晶片E根據本身的晶片識別碼chip_id執行後續的命令。或者,在另一例子中,若晶片A要把命令轉發到晶片E上,晶片A可執行命令select_chip 0x4,再透過晶片C執行命令select_chip 0x1,其中0x4為晶片C相對於晶片A的目標地址(參考表2),且0x1為晶片E相對於晶片C的目標地址(參考表2)。藉由連續執行命令select_chip 0x4與命令select_chip 0x1,晶片E可將本身的晶片識別碼chip_id設置為預設值,以執行後續的命令。換言之,在二級連接的設置方式中,晶片A可透過表3的目標地址執行一次命令select_chip,以轉發命令給晶片E,或者可透過表2的目標地址以及晶片C來連續執行兩次命令select_chip以轉發命令給晶片E。
若晶片E要轉發命令給晶片A,晶片E可經由晶片C轉發命令給晶片A。由於晶片E的連接埠P5的工作模式為EP模式且連接埠P5的識別碼為port 0,故晶片C相對於晶片E的目標地址為0x10000(參考上表1)。由於晶片C的連接埠P2的工作模式為EP模式且連接埠P2的識別碼為port 1,故晶片A相對於晶片C的目標地址為0x10001(參考上表1)。據此,晶片E可執行命令select_chip 0x10000(將執行命令的主體切換至晶片C),並經由晶片C執行命令select_chip 0x10001(將執行命令的主體切換至晶片A),以轉發命令給晶片A。上述各例子僅以二級連接的使用場景進行說明,應可理解,上述的命令轉發機制可應用至多級連接的使用場景。
第二例子:於一些實施例中,該預設命令可包含『route_call[b_transfer]“sub_command”』。於此例中,命令route_call可用來控制晶片是否要斷開先前的命令轉發連結,參數b_transfer用來指示是否執行命令轉發,且命
令sub_command為欲由指定晶片執行的實際命令。例如,參數b_transfer為數值1時,晶片可轉發命令sub_command給與其有建立連結的其他晶片,並經由該些晶片執行命令sub_command。反之,若參數b_transfer為數值0時,晶片不轉發命令sub_command給與其有建立連結的其他晶片,並僅於該晶片中執行命令sub_command。
舉例而言,若多晶片系統100的當前命令轉發連結為晶片A→晶片C→晶片E。在晶片A執行命令route_call時,若參數b_transfer為數值1,晶片A將轉發命令sub_command給晶片C與晶片E,且晶片C與晶片E皆會執行命令sub_command。或者,若參數b_transfer為數值0,晶片A不轉發命令sub_command給晶片C與晶片E,並自己執行命令sub_command。
在一些實施例中,可利用命令route_call來切斷當前的命令轉發連結。例如,晶片可執行命令route_call 1 “select_chip 0”,即命令sub_command可設置為命令select_chip 0。如此一來,在當前命令轉發連結中的所有晶片會執行命令select_chip 0,進而將各自的晶片識別碼chip_id設定為數值0,而不執行後續的命令。上述關於預設命令的例子僅用於示例,且本案並不以上述的例子為限。
(6)實際部署的應用例子:
以圖1的例子而言,一種可能的部署例子為:晶片A為主晶片,晶片B、晶片D以及晶片E為從屬晶片,且晶片C為橋接晶片,其中與晶片A連接的連接埠P2的工作模式為EP模式,且與晶片E連接的連接埠P3的工作模式為RC
模式。在一般系統應用中,晶片A可操作為命令的主要發送端,其可透過執行下列腳本(script)來初始化多晶片系統100:init_soc select_chip[晶片B相對於晶片A的目標地址]init_soc route_call 0 “select_chip[晶片C相對於晶片A的目標地址]”init_soc route_call 0 “select_chip[晶片D相對於晶片A的目標地址]”init_soc route_call 0 “select_chip[晶片E相對於晶片A的目標地址]”init_soc
在上述的腳本中,命令init_soc為控制晶片進行初始化的指令,晶片A執行第一行命令init_soc後來進行初始化。在初始化完成後,晶片A執行第二行命令select_chip,來轉換命令到晶片B。如此,晶片B會執行第三行的命令init_soc來進行初始化。接著,晶片A執行第四行命令route_call。由於參數b_transfer為0,晶片A不轉發命令給晶片B,並執行命令select_chip來轉發命令到晶片D。如此,晶片D會執行第五行的命令init_soc來進行初始化。依此類推,晶片A可利用上述腳本的多個指令來依序轉發出命令init_soc給其它晶片B~E,以完成其它晶片的初始化。
上述的腳本僅用來說明為一種應用部署的可能例子,且本案並不以此為限。從上述例子應可理解,藉由本案實施例所提供的目標地址決定方式以及多種預設命令的使用方式,可在多晶片系統100中實現便利且具有高通用性的命令轉發機制,以便於管理與控制多晶片系統100中的各個晶片。
上述的例子僅以PCI-E介面進行說明,但本案並不以此為限。各種可應用於晶片連接的訊號介面(例如可為,但不限於,USB、SPI、I2C等介面)皆為本案所涵蓋的範圍。上述的例子以C++代碼與/或Linux系統中的軟體框架內使用的函數或命令為例進行說明,但本案並不以此為限。另外,圖1中所示的多個晶片A~E的個數與連接方式僅為示例,各種晶片個數或是不同的晶片連接方式皆為本案所涵蓋的範圍。
綜上所述,本案一些實施例中的多晶片系統可利用晶片本身的連接埠的工作模式以及匯流排的識別碼來設定各個晶片的相對目標地址。如此,多晶片系統中的晶片可轉發命令到其它晶片。上述的命令轉發機制僅涉及硬體之間的識別碼以及腳本的目標地址。因此,該命令轉發機制不涉及軟體層的代碼修改,故可具有高通用性。
雖然本案之實施例如上所述,然而該些實施例並非用來限定本案,本技術領域具有通常知識者可依據本案之明示或隱含之內容對本案之技術特徵施以變化,凡此種種變化均可能屬於本案所尋求之專利保護範疇,換言之,本案之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
100:多晶片系統
110:交換器
A~E:晶片
B1,B1_1,B3~B5:匯流排
P0~P5:連接埠
port 0,port 1:連接埠的識別碼
Claims (14)
- 一種多晶片系統,包含:一發送端晶片,包含一第一連接埠;以及一接收端晶片,包含一第二連接埠,該第一連接埠耦接至該第二連接埠,且該第一連接埠的工作模式不同於該第二連接埠的工作模式,其中當該發送端晶片在沒有經由其它晶片來連接到該接收端晶片時,該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址,並根據該第一目標地址轉發一命令到該接收端晶片。
- 如請求項1之多晶片系統,其中該第一連接埠與該第二連接埠經由一快速週邊組件互連(Peripheral Component Interconnect Express,PCI-E)介面連接。
- 如請求項1之多晶片系統,其中該第一連接埠的工作模式與該第二連接埠的工作模式中的一者為端點(endpoint)模式,且該第一連接埠的工作模式與該第二連接埠的工作模式中的另一者為複合體(root complex)模式。
- 如請求項1之多晶片系統,其中當該發送端晶片操作為從屬(slave)晶片時,該發送端晶片根據該第一連接埠的識別碼決定該第一目標地址。
- 如請求項1之多晶片系統,其中當該發送端晶片操作為主(master)晶片時,該發送端晶片根據該第一連接埠的識別碼與該第二連接埠與該第一連接埠之間的匯流排的識別碼決定該第一目標地址。
- 如請求項1之多晶片系統,更包含:一橋接晶片,包含一第三連接埠與一第四連接埠,該第三連接埠耦接至該第一連接埠,該第四連接埠耦接至該第二連接埠,該第三連接埠的工作模式不同於該第四連接埠的工作模式,其中該發送端晶片更根據該第一連接埠的識別碼與該第一連接埠以及該第三連接埠之間的匯流排的識別碼決定該橋接晶片相對於該發送端晶片的一第二目標地址,並根據該第四連接埠的識別碼與該第四連接埠以及該第二連接埠之間的匯流排的識別碼決定該接收端晶片相對於該橋接晶片的一第三目標地址,並根據該第二目標地址與該第三目標地址以決定該第一目標地址。
- 如請求項6之多晶片系統,其中該第一目標地址包含該第二目標地址中的部分位元以及該第三目標地址中的部分位元。
- 如請求項1之多晶片系統,更包含:一橋接晶片,包含一第三連接埠與一第四連接埠,該第三連接埠耦接至該第一連接埠,該第四連接埠耦接至該第二連接埠,該第三連接埠的工作模式不同於該第四連接埠的工作模式,其中該發送端晶片更根據該第一連接埠的識別碼與該第一連接埠以及該第三連接埠之間的匯流排的識別碼決定該橋接晶片相對於該發送端晶片的一第二目標地址並根據該第二目標地址轉發該命令給該橋接晶片,且該橋接晶片根據該第四連接埠的識別碼與該第四連接埠以及該第二連接埠之間的匯流 排的識別碼決定該接收端晶片相對於該橋接晶片的一第三目標地址,並根據該第三目標地址轉發該命令給該接收端晶片。
- 如請求項1之多晶片系統,其中該接收端晶片儲存一晶片識別碼並在該晶片識別碼為一預設值時執行該命令。
- 如請求項9之多晶片系統,其中當該接收端晶片接收到指示該第一目標地址的一預設命令,該接收端晶片將該晶片識別碼設置為該預設值。
- 一種地址產生方法,應用於一多晶片系統,該多晶片系統包含一發送端晶片及一接收端晶片,該發送端晶片包含一第一連接埠,該接收端晶片包含一第二連接埠,該第一連接埠耦接至該第二連接埠且該第一連接埠的工作模式不同於該第二連接埠的工作模式,該地址產生方法包含:該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址;以及該發送端晶片根據該第一目標地址轉發一命令到該接收端晶片。
- 如請求項11之地址產生方法,其中該第一連接埠與該第二連接埠經由一快速週邊組件互連(Peripheral Component Interconnect Express,PCI-E)介面連接。
- 如請求項11之地址產生方法,其中,當該發送端晶片操作為從屬(slave)晶片時,該發送端晶片更根據該第一連接埠的識別碼決定該第一目標地址。
- 如請求項11之地址產生方法,其中,當該發送端晶片操作為主(master)晶片時,該發送端晶片更根據該第一連接埠的識別碼與該第二連接埠與該第一連接埠之間的匯流排的識別碼決定該第一目標地址。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111107601A TWI809741B (zh) | 2022-03-02 | 2022-03-02 | 具有命令轉發機制的多晶片系統及地址產生方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111107601A TWI809741B (zh) | 2022-03-02 | 2022-03-02 | 具有命令轉發機制的多晶片系統及地址產生方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI809741B true TWI809741B (zh) | 2023-07-21 |
| TW202336598A TW202336598A (zh) | 2023-09-16 |
Family
ID=88149582
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111107601A TWI809741B (zh) | 2022-03-02 | 2022-03-02 | 具有命令轉發機制的多晶片系統及地址產生方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI809741B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW367569B (en) * | 1996-10-25 | 1999-08-21 | Intel Corp | A circuit and method for ensuring interconnect security with a multi-chip integrated circuit package |
| US7979592B1 (en) * | 2007-02-09 | 2011-07-12 | Emulex Design And Manufacturing Corporation | Virtualization bridge device |
| US10783100B2 (en) * | 2019-03-27 | 2020-09-22 | Intel Corporation | Technologies for flexible I/O endpoint acceleration |
-
2022
- 2022-03-02 TW TW111107601A patent/TWI809741B/zh active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW367569B (en) * | 1996-10-25 | 1999-08-21 | Intel Corp | A circuit and method for ensuring interconnect security with a multi-chip integrated circuit package |
| US7979592B1 (en) * | 2007-02-09 | 2011-07-12 | Emulex Design And Manufacturing Corporation | Virtualization bridge device |
| US10783100B2 (en) * | 2019-03-27 | 2020-09-22 | Intel Corporation | Technologies for flexible I/O endpoint acceleration |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202336598A (zh) | 2023-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020140950A1 (zh) | 驱动器的应用系统、驱动器和数据传输方法 | |
| US10554581B2 (en) | Network on chip, communication control method, and controller | |
| TWI531165B (zh) | 單相邏輯 | |
| EP3579507A1 (en) | Dynamic scheduling method, device, and system | |
| CN114328318B (zh) | 微控制器用直接设备互连的dma控制器及互联控制方法 | |
| TWI809741B (zh) | 具有命令轉發機制的多晶片系統及地址產生方法 | |
| CN207503225U (zh) | 一种运算系统及相应的电子设备 | |
| US7382823B1 (en) | Channel bonding control logic architecture | |
| US12259846B2 (en) | Computing device and computing system | |
| CN104683130A (zh) | 一种配置堆叠端口的方法和设备 | |
| CN214225912U (zh) | 一种串口电平内部选择切换设备及系统 | |
| JPH0213158A (ja) | メツセージ伝送方法 | |
| CN114553797B (zh) | 具有命令转发机制的多芯片系统及地址产生方法 | |
| CN201397503Y (zh) | 一种中断扩展电路 | |
| CN106850261A (zh) | 网络设备及数据传输方法 | |
| CN215113291U (zh) | 热水器以及热水器控制系统 | |
| CN104937575A (zh) | 耦合到usb端口的usb控制器 | |
| CN103810142B (zh) | 可重构系统及其构建方法 | |
| TWI786930B (zh) | 電源設備及其資料傳輸方法 | |
| CN222482436U (zh) | 一种光电传感电路 | |
| CN120751007B (zh) | 通信代理中转模块、带宽增强处理方法、装置、芯片、设备、介质及程序 | |
| CN114546929B (zh) | 流水线同步机制的实现方法和装置、存储介质及电子设备 | |
| CN212259000U (zh) | 以太网交换机的自适应电路 | |
| CN211826943U (zh) | 一种通讯控制电路及装置 | |
| CN107204940B (zh) | 芯片和传输调度方法 |