TWI809741B - Multichip system having command transfer mechanism and address generating method - Google Patents

Multichip system having command transfer mechanism and address generating method Download PDF

Info

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
Application number
TW111107601A
Other languages
Chinese (zh)
Other versions
TW202336598A (en
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
Application filed by 大陸商星宸科技股份有限公司 filed Critical 大陸商星宸科技股份有限公司
Priority to TW111107601A priority Critical patent/TWI809741B/en
Application granted granted Critical
Publication of TWI809741B publication Critical patent/TWI809741B/en
Publication of TW202336598A publication Critical patent/TW202336598A/en

Links

Images

Abstract

A multichip system includes a transmitter-end chip and a receiver-end chip. The transmitter-end chip includes a first port. The receiver-end chip includes a second port. The first port is coupled to the second port, and a work mode of the first port is different from that of the second port. When the transmitter-end chip is coupled to the receiver-end chip without through another chip, the transmitter-end chip determines a first target address of the receiver-end chip with respect to the transmitter-end chip, and transfers a command to the receiver-end chip according to the first target address.

Description

具有命令轉發機制的多晶片系統及地址產生方法Multi-chip system with command forwarding mechanism and address generation method

本案是關於多晶片系統,尤其是關於具有可應用於多級晶片的命令轉發機制的多晶片系統及地址產生方法。 This case is about a multi-chip system, especially about a multi-chip system with a command forwarding mechanism applicable to multi-level chips and an address generation method.

在現有的多晶片系統中,主(master)晶片的功能通常不同於從屬(slave)晶片的功能。當主晶片與從屬晶片需協同運作來完成一特定功能時,多晶片系統的開發者需要根據多晶片系統的應用場景來設計一組用來控制主晶片的代碼以及一組用來從屬晶片的代碼。若多晶片系統的應用場景或該特定功能需要調整時,多晶片間需能進行命令收發及轉發。目前,晶片中通常具有可相互溝通的介面,在現有技術中,現有介面在進行多晶片間命令收發及轉發的機制並不完善。 In existing multi-chip systems, the function of the master chip is usually different from that of the slave chips. When the master chip and the slave chip need to work together to complete a specific function, the developer of the multi-chip system needs to design a set of codes for controlling the master chip and a set of codes for the slave chip according to the application scenario of the multi-chip system . If the application scenario of the multi-chip system or the specific function needs to be adjusted, the multi-chips need to be able to send, receive and forward commands. At present, chips usually have an interface that can communicate with each other. In the prior art, the mechanism for sending, receiving and forwarding commands between multiple chips is not perfect.

於一些實施態樣中,本案的目的之一在於提供一種具有命令轉發機制之多晶片系統及地址產生方法,以改善先前技術的不足。 In some implementation aspects, one of the purposes of the present invention is to provide a multi-chip system with a command forwarding mechanism and an address generation method to improve the deficiencies of the prior art.

於一些實施態樣中,多晶片系統包含發送端晶片與接收端晶片。發送端晶片包含第一連接埠。接收端晶片包含第二連接埠,該第一連接埠耦接至該第二連接埠,且該第一連接埠的工作模式不同於該第二連接埠的工作模式。當該發送端晶片是未經由其它晶片下來連接到該接收端晶片時,該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址,並根據該第一目標地址轉發一命令到該接收端晶片。 In some embodiments, the multi-chip system includes a transmitting chip and a receiving chip. The sender chip includes a first connection port. The receiver chip includes a second connection port, the first connection port is coupled to the second connection port, and the operation mode of the first connection port is different from that of the second connection port. When the sending end chip is not connected to the receiving end chip through other chips, the sending end chip determines a first target address of the receiving end chip relative to the sending end chip according to the working mode of the first connection port, And forward a command to the receiver chip according to the first target address.

於一些實施態樣中,本案提出一種應用於多晶片系統的地址產生方法,多晶片系統包含一發送端晶片及一接收端晶片,發送端晶片包含一第一連接埠,接收端晶片包含一第二連接埠,第一連接埠耦接至第二連接埠,此地址產生方法包含:該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址;以及,該發送端晶片根據該第一目標地址轉發一命令到該接收端晶片。 In some implementations, this case proposes an address generation method applied to a multi-chip system. The multi-chip system includes a sending-end chip and a receiving-end chip. The sending-end chip includes a first connection port, and the receiving-end chip includes a first Two connection ports, the first connection port is coupled to the second connection port, the address generation method includes: the sending chip determines a first address of the receiving chip relative to the sending chip according to the working mode of the first connecting port target address; and, the transmitting chip forwards a command to the receiving chip according to the first target address.

於一些實施態樣中,多晶片系統可利用晶片本身的連接埠的工作模式以及匯流排的識別碼來設定各個晶片的相對目標地址。如此,多晶片系統中的晶片可轉發命令到其它晶片。上述的命令轉發機制僅涉及硬體之間的識別碼以及腳本的目標地址。因此,該命令轉發機制不涉及控制代碼修改,故可具有高通用性。 In some implementations, the multi-chip system can use the working mode of the connection port of the chip itself and the identification code of the bus to set the relative target address of each chip. In this way, dies in a multi-die system can forward commands to other dies. The above-mentioned command forwarding mechanism only involves the identification code between hardware and the target address of the script. Therefore, the command forwarding mechanism does not involve control code modification, so it can have high versatility.

有關本案的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。 About the feature, implementation and effect of this case, hereby cooperate with drawing as preferred embodiment and describe in detail as follows.

100:多晶片系統 100:Multi-chip system

110:交換器 110: switch

200:晶片 200: chip

210:數位電路 210: Digital circuit

220:介面電路 220: interface circuit

230:連接埠 230: port

A~E:晶片 A~E: Wafer

B1,B1_1,B3~B5:匯流排 B1, B1_1, B3~B5: busbar

chip_id:晶片識別碼 chip_id: chip identification code

P0~P5:連接埠 P0~P5: Connecting port

port 0,port 1:連接埠的識別碼 port 0, port 1: the identification code of the connection port

S1~S5:操作 S1~S5: Operation

〔圖1〕為根據本案一些實施例所繪製一種多晶片系統的示意圖;〔圖2A〕為根據本案一些實施例所繪製晶片的示意圖;以及〔圖2B〕為根據本案一些實施例繪製命令轉發的流程圖。 [Fig. 1] is a schematic diagram of a multi-chip system drawn according to some embodiments of this case; [Fig. 2A] is a schematic diagram of a chip drawn according to some embodiments of this case; and [Fig. 2B] is a schematic diagram of drawing command forwarding according to some embodiments of this case flow chart.

本文所使用的所有詞彙具有其通常的意涵。上述之詞彙在普遍常用之字典中之定義,在本案的內容中包含任一於此討論的詞彙之使用例子僅為示例,不應限制到本案之範圍與意涵。同樣地,本案亦不僅以於此說明書所示出的各種實施例為限。 All terms used herein have their ordinary meanings. The definitions of the above-mentioned terms in commonly used dictionaries, and the use examples of any terms discussed here in the content of this case are only examples and should not limit the scope and meaning of this case. Likewise, this case is not limited to the various embodiments shown in this specification.

關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。如本文所用,用語『電路』可為由至少一個電晶體與/或至少一個主被動元件按一定方式連接以處理訊號的裝置。 As used herein, "coupling" or "connection" can refer to two or more elements in direct physical or electrical contact with each other, or indirect physical or electrical contact with each other, and can also refer to two or more components. Components operate or act on each other. As used herein, the term "circuit" can be a device that is connected in a certain way to process signals by at least one transistor and/or at least one active and passive element.

於一些實施態樣中,本案的一些實施例所提供的多晶片系統可在各個晶片之間實現一個訊息/命令同步機制,使該些晶片在通過一預設連接介面連接的環境下可利用轉發命令的方式驅動本身或是另一晶片來執行相應操作,以實現具有高通用性的邏輯應用環境。在不同的應用中,本案一些實施例中提供的多晶片系統可使用C++代碼/或Linux系統中的軟體框架來定義函數、命令與/或參數類型,但本案並不以此為限。 In some implementations, the multi-chip system provided by some embodiments of the present application can implement a message/command synchronization mechanism between chips, so that these chips can use forwarding in an environment connected through a default connection interface. The way of command drives itself or another chip to perform the corresponding operation, so as to realize the logic application environment with high versatility. In different applications, the multi-chip system provided in some embodiments of this application may use C++ codes/or software frameworks in Linux systems to define functions, commands and/or parameter types, but this application is not limited thereto.

圖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。 FIG. 1 is a schematic diagram of a multi-chip system 100 according to some embodiments of the present invention. The multi-chip system 100 includes a plurality of chips A˜E and a switch 110 . Chip A includes port P0, chip B includes port P1, chip C includes port P2 and port P3, chip D includes port P4, and chip E includes port P5. In some embodiments, the switch 110 is a switch with a fast peripheral component interconnection (Peripheral Component Interconnect Express, PCI-E) interface, and the connection port P0 of these chips A can be coupled to the chip through the PCI-E interface The connection port P1 of B, the connection port P2 of chip C, and the connection port P4 of chip D. The connection port P3 of the chip C is coupled to the connection port P5 of the chip E.

晶片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模式。 The arrangement between die A and each of the other dies B, C, and D connected thereto belongs to the first-order connection. In this example, chip A can be operated as a master chip, and the remaining chips B-E can be operated as slave chips. Under this condition, based on the relevant standards of the PCI-E bus, the working mode of the connection port P0 is different from the working modes of the other connection ports P1 , P2 and P4 . For example, the working mode of the port P0 is the root complex (RC) mode, and the working modes of the other ports P1, P2 and P4 are the endpoint (EP) mode. The RC mode is the working mode of the main chip in the PCI-E system, and it can only be connected to the connection port working in the EP mode. The EP mode is a working mode in which the chip operates as a slave chip in the PCI-E system. In addition, the chip A is connected to the chip E through the chip C, so the chip A and the chip E belong to the secondary connection, wherein the connection port P3 and the connection port P5 operate in different modes. For example, port P3 operates in RC mode, and port P5 operates in EP mode.

在一些實施例中,多個晶片A~E中的一對應晶片(後稱發送端晶片)可利用後面段落所討論的相關操作辨識多個晶片A~E中的另一晶片(後稱接收端晶片)在多晶片系統100中的相對目標地址,並利用該目標地址轉發命令到接收端晶片,以控制接收端晶片執行後續的命令。為理解命令轉發的操 作,下面段落將依序說明目標地址的多種決定方式以及命令轉發的操作例子。於不同實施例中,發送端晶片可為主晶片或是從屬晶片,且接收端晶片亦可為從屬晶片或是主晶片。 In some embodiments, a corresponding chip in the plurality of chips A~E (hereinafter referred to as the sending end chip) can use the related operations discussed in the following paragraphs to identify another chip in the plurality of chips A~E (hereinafter referred to as the receiving end chip). Chip) relative target address in the multi-chip system 100, and use the target address to forward the command to the receiving end chip, so as to control the receiving end chip to execute subsequent commands. To understand the operation of command forwarding Operation, the following paragraphs will sequentially explain the various ways of determining the target address and the operation examples of command forwarding. In different embodiments, the transmitting chip can be a master chip or a slave chip, and the receiving chip can also be a slave chip or a master chip.

(1)當發送端晶片與接收端晶片為一級連接,且發送端晶片的連接埠操作於EP模式時,接收端晶片的目標地址的決定方式: (1) When the sending end chip is connected to the receiving end chip at the first level, and the connection port of the sending end chip is operating in EP mode, the method of determining the target address of the receiving end chip is as follows:

在一些實施例中,當發送端晶片與接收端晶片之間的連接方式為一級連接(即發送端晶片是在沒有經由其它晶片下連接至接收端晶片)時,發送端晶片可根據發送端晶片的連接埠的工作模式決定接收端晶片相對於發送端晶片的目標地址,並根據接收端晶片的目標地址轉發命令到接收端晶片,以使接收端晶片執行該命令。 In some embodiments, when the connection mode between the sending end chip and the receiving end chip is a first-level connection (that is, the sending end chip is connected to the receiving end chip without passing through other chips), the sending end chip can be connected according to the sending end chip. The working mode of the connection port determines the target address of the receiving chip relative to the sending chip, and forwards the command to the receiving chip according to the target address of the receiving chip, so that the receiving chip executes the command.

例如,發送端晶片為晶片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。 For example, the transmitting die is die C and the receiving die is die A. Since the port P2 of chip C operates in EP mode (that is, chip C operates as a slave chip relative to chip A), chip C can determine the target address of chip A relative to chip C according to the identifier of the port P2. In some embodiments, in a corresponding chip among the plurality of chips A˜E, the corresponding connection port has an identification code. For example, the chip A includes a connection port P0, so the identification code of the connection port P0 is the first value (for example, it can be 0x10000; marked as port 0). Alternatively, the chip C includes two connection ports P2 and P3, wherein the identification code of the connection port P2 is a first value (such as 0x10000), and the identification code of the connection port P3 is a second value (such as 0x10001; noted as port 1). By analogy, it should be possible to understand the corresponding relationship between the multiple connection ports P0-P5 and their identification codes in FIG. 1 . Since the chip C is connected to the chip A through the connection port P2, the chip C can determine the target address of the chip A as 0x10000 according to the identification code of the connection port P2.

據此,當發送端晶片與接收端晶片為一級連接且發送端晶片的連接埠(其連接至接收端晶片)的工作模式為EP模式時,發送端晶片可根據該連接埠的識別碼決定接收端晶片的目標地址。上述的關係可整理為下表1:

Figure 111107601-A0305-02-0008-1
Accordingly, when the sending end chip and the receiving end chip are connected at the first level and the working mode of the connection port of the sending end chip (which is connected to the receiving end chip) is EP mode, the sending end chip can determine the receiving end chip according to the identification code of the connecting port. end chip destination address. The above relationship can be organized into the following table 1:
Figure 111107601-A0305-02-0008-1

(2)當發送端晶片與接收端晶片為一級連接,且發送端晶片的連接埠操作於RC模式時,接收端晶片的目標地址的決定方式: (2) When the sending end chip is connected to the receiving end chip at the first level, and the connection port of the sending end chip is operated in RC mode, the method of determining the target address of the receiving end chip is as follows:

相較於上述例子,於一些實施例中,若發送端晶片操作為主晶片,發送端晶片可進一步根據發送端晶片的連接埠的識別碼與發送端晶片的連接埠與接收端晶片的連接埠之間的匯流排的識別碼決定目標地址。例如,發送端晶片為晶片A,且接收端晶片為晶片B。由於晶片A的連接埠P0操作於RC模式(即晶片A相對於晶片B是操作為主晶片),晶片A可根據連接埠P0的識別碼以及連接埠P0與連接埠P1之間的匯流排的識別碼決定晶片B相對於晶片A的目標地址。 Compared with the above example, in some embodiments, if the transmitting chip is operated as the main chip, the transmitting chip can further be based on the identification code of the connection port of the transmitting chip and the connecting port of the transmitting chip and the connecting port of the receiving chip The identification code of the bus bar between determines the target address. For example, the transmitting die is die A and the receiving die is die B. Since port P0 of chip A operates in RC mode (i.e., chip A is operating as the master chip relative to chip B), chip A can The identification code determines the destination address of wafer B relative to wafer 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的目標地址。 In some embodiments, the port P0 is connected to any one of the other ports P1 , P2 and P4 via a bus (ie, a PCI-E bus) in the switch 110 . For example, port P0 is connected to port P1 via bus B3, port P0 is connected to port P2 via bus B4, port P0 is connected to port P4 via bus B5, and port P3 is connected via bus B1_1. to port P5. Similar to the port ID, each bus has a corresponding ID. Chip A can be The target address of the chip B is determined according to the identification code of the port P0 and the identification code of the bus B3. For example, if the identification code of the connection port P0 is the first value (ie port 0), the chip A can determine that the target address of the chip B is the identification code of the bus B3. Alternatively, if the identification code of the connection port P0 is the second value (port 1), the chip A can add a preset value (such as, but not limited to, 128) to the identification code of the bus bar B3 to determine the chip B target address. In the example shown in FIG. 1 , the identification code of the port P0 is port 0, so the chip A uses the first method to determine the target address of the chip B.

據此,當發送端晶片與接收端晶片設置為一級連接且發送端晶片的連接埠(其連接至接收端晶片)的工作模式為RC模式時,發送端晶片可根據該連接埠的識別碼以及發送端晶片與接收端晶片之間的匯流排的識別碼(註記為bus_id)決定接收端晶片的目標地址。上述的關係可整理為下表2:

Figure 111107601-A0305-02-0009-2
According to this, when the sending chip and the receiving chip are configured as a first-level connection and the working mode of the connection port of the sending chip (which is connected to the receiving chip) is RC mode, the sending chip can use the identification code of the connecting port and The identification code (denoted as bus_id) of the bus between the sending chip and the receiving chip determines the target address of the receiving chip. The above relationship can be organized into the following table 2:
Figure 111107601-A0305-02-0009-2

(3)當發送端晶片與接收端晶片為二級連接,且發送端晶片的連接埠操作於RC模式以及橋接晶片上與接收端晶片相連的連接埠操作於RC模式時,接收端晶片的目標地址的決定方式: (3) When the sending end chip and the receiving end chip are two-level connections, and the connection port of the sending end chip operates in RC mode and the connection port connected to the receiving end chip on the bridge chip operates in RC mode, the target of the receiving end chip How the address is determined:

相較於上述例子,於一些實施例中,若發送端晶片是經由一橋接晶片連接至接收端晶片,發送端晶片可利用橋接晶片轉發命令給接收端晶片。發送端晶片根據發送端晶片的連接埠(其連接至橋接晶片)的識別碼以及發送端晶片與橋接晶片兩者的連接埠之間的匯流排的識別碼決定橋接晶片相對 於發送端晶片的目標地址,並根據橋接晶片的匯流排(其連接至接收端晶片)的識別碼以及橋接晶片與接收端晶片兩者的連接埠之間的匯流排的識別碼決定接收端晶片相對於橋接晶片的目標地址。如此,發送端晶片可根據橋接晶片相對於發送端晶片的目標地址以及接收端晶片相對於橋接晶片的目標地址決定接收端晶片相對於發送端晶片的目標地址。 Compared with the above examples, in some embodiments, if the transmitting chip is connected to the receiving chip through a bridge chip, the transmitting chip can use the bridge chip to forward commands to the receiving chip. The transmitter chip determines the bridge chip relative The target address on the sender chip, and the receiver chip is determined from the ID of the bridge chip's bus (which connects to the receiver chip) and the bus bar between the ports of the bridge chip and the receiver chip Target address relative to the bridge chip. In this way, the transmitting chip can determine the target address of the receiving chip relative to the transmitting chip according to the target address of the bridge chip relative to the transmitting chip and the target address of the receiving chip relative to the bridge chip.

例如,在圖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的目標地址中的至少一部分位元。 For example, in the example of FIG. 1 , chip A and chip E are two-level connections, wherein the transmitting chip can be chip A, the bridge chip can be chip C, and the receiving chip can be chip E. The chip A can determine the target address of the chip C relative to the chip A according to the identification code of the connection port P0 and the identification code of the bus B4 between the connection port P0 and the connection port P2. Referring to the above Table 2, it should be understood that since the identification code of the port P0 is port 0, the chip A can set the identification code of the bus B4 as the target address of the chip C relative to the chip A. Similarly, the chip C can determine the target address of the chip E relative to the chip C according to the identification code of the connection port P3 and the identification code of the bus B1_1 between the connection port P3 and the connection port P5. Referring to the above Table 2, it should be understood that since the identification code of the connection port P3 is port 0, the chip C can set the identification code of the bus B1_1 as the target address of the chip E relative to the chip C. In this way, chip A can determine the target address of chip E relative to chip A according to the target address of chip C relative to chip A and the target address of chip E relative to chip C. In some embodiments, chip A can combine some bits of the target address of chip C with respect to chip A and some bits of the target address of chip E with respect to chip C to form the target address of chip E with respect to chip A . For example, the first 8 bits of the target address of chip E relative to chip A may be at least a part of the target address of chip C relative to chip A, and the last 8 bits of the target address of chip E relative to chip A The element may be at least a portion of the bits in the target address of die E relative to die C.

換言之,在二級連接的設置方式中,發送端晶片可依序決定橋接晶片相對於發送端晶片的目標地址(註記為T0)以及接收端晶片相對於橋接晶片的目標地址(註記為T1),並利用上述兩個目標地址的資訊產生接收端晶片相對於發送端晶片的目標地址。據此,當發送端晶片與接收端晶片設置為二級連接且發送端晶片的連接埠(其連接至接收端晶片)的工作模式為RC模式時,接收端晶片相對於發送端晶片的目標地址的決定方式可整理為下表3:

Figure 111107601-A0305-02-0011-3
上表3中的(T1<<8)|T0代表接收端晶片相對於發送端晶片的目標地址的前置位元可由接收端晶片相對於橋接晶片的目標地址T1中的至少一部分位元決定,且接收端晶片相對於發送端晶片的目標地址的後置位元可由橋接晶片相對於發送端晶片的目標地址T0中的至少一部分位元決定。 In other words, in the configuration of the two-level connection, the sender chip can sequentially determine the target address of the bridge chip relative to the sender chip (marked as T0) and the target address of the receiver chip relative to the bridge chip (marked as T1), The information of the above two target addresses is used to generate the target address of the receiver chip relative to the sender chip. Accordingly, when the sending end chip and the receiving end chip are configured as a secondary connection and the working mode of the connection port of the sending end chip (which is connected to the receiving end chip) is RC mode, the destination address of the receiving end chip relative to the sending end chip The decision methods can be summarized in Table 3 below:
Figure 111107601-A0305-02-0011-3
(T1<<8)|T0 in Table 3 above represents that the pre-bits of the target address of the receiving end chip relative to the sending end chip can be determined by at least a part of the bits in the target address T1 of the receiving end chip relative to the bridge chip, In addition, the last bits of the target address of the receiving chip relative to the transmitting chip can be determined by at least a part of the bits of the target address T0 of the bridge chip relative to the transmitting chip.

(4)命令轉發的流程與概念: (4) The process and concept of command forwarding:

圖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。 FIG. 2A is a schematic drawing of a wafer 200 according to some embodiments of the present invention. The wafer 200 can be any one of the wafers A˜E shown in FIG. 1 . The chip 200 includes a digital circuit 210 , an interface circuit 220 and a connection port 230 . The digital circuit 210 can be the main signal processing circuit in the chip 200 , and it can perform corresponding operations according to the application of the chip 200 . The digital circuit 210 may be, but not limited to, a processor circuit, an ASIC, and the like. The interface circuit 220 can be a controller circuit of the PCI-E interface to control the transmission of data and/or commands of the connection port 230 . The connecting port 230 can be at least one of the connecting ports P0˜P5 in FIG. 1 . For example, If chip 200 is chip A, connection port 230 may be connection port P0. Alternatively, if the chip 200 is the chip C, the connection port 230 can be the connection port P2 and the connection port 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未展示)。 The interface circuit 220 can adjust the chip identification code chip_id stored in the interface circuit 220 according to various preset commands, and the chip_id is the target address of the chip receiving the command relative to the sending chip 200 . For example, when the received default command indicates the target address of the chip 200 , the interface circuit 220 can set the chip identification code chip_id to a default value (for example, 0). Alternatively, when the received default command is a command for disconnecting the command forwarding connection, the interface circuit 220 may set the chip identification code chip_id to another value (for example, 1). The digital circuit 210 can confirm whether to execute the received command according to the chip identification code chip_id. For example, when the chip identification code chip_id is 0, the digital circuit 210 can execute the received command. Alternatively, when the chip identification code chip_id is not 0, the digital circuit 210 does not execute the received command, but extracts the identification word of the bus according to the chip identification code chip_id and the working mode of the connection port 230, and forwards the command To another chip (not shown in FIG. 2A ) where the bus bar is connected to the digital circuit 210 .

圖2B為根據本案一些實施例繪製命令轉發的流程圖。一般而言,命令的輸入輸出由上至下可依序分為使用者輸入輸出層、傳輸層以及執行層。為易於理解,圖2B僅示出與圖1的晶片A、晶片C以及晶片E相關的執行層的操作流程。 FIG. 2B is a flowchart illustrating command forwarding according to some embodiments of the present invention. Generally speaking, the input and output of commands can be divided into user input and output layer, transmission layer and execution layer in order from top to bottom. For easy understanding, FIG. 2B only shows the operation flow of the execution layer related to wafer A, wafer C, and wafer E of FIG. 1 .

當晶片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沒有儲存該命令)。 After chip A receives the command (operation S1), chip A may decide whether to execute the command according to the chip identification code chip_id (operation S2). For example, if the command has a target address indicating chip A, chip A can set the chip identification code chip_id to a default value (default is 0), and if it is the default value, then execute the command on chip A (operation S3) . If the chip identification code chip_id set by chip A is not 0, then communicate through the remote processor in the PCI-E interface (remote processor messaging, The RPMSG) mechanism forwards the command to other chips (operation S4), and waits for the other chip to return the command execution result. After the chip A receives the command execution result generated by itself or the command execution result of other chips, the chip A can return the command execution result to the transport layer and the user input and output layer (operation S5). In some embodiments, the command execution result can be the actual processing result of the command to be executed, or each chip reports that the command execution failed (for example, the command is specified to be executed by chip A, but chip A does not store the command).

依此類推,晶片C與晶片E可執行類似的操作來完成命令轉發與/或執行命令。此外,晶片E可經由RPMSG機制回傳命令執行結果給晶片C,且晶片C可經由RPMSG機制回傳本的命令執行結果或是自晶片E接收到的命令執行結果給晶片A。晶片C與晶片E的相關操作與前述的多個操作S1~S5類似,故於此不再重複贅述。 By analogy, chip C and chip E can perform similar operations to complete command forwarding and/or command execution. In addition, chip E can return the command execution result to chip C through the RPMSG mechanism, and chip C can return the original command execution result or the command execution result received from chip E to chip A through the RPMSG mechanism. The related operations of the chip C and the chip E are similar to the above-mentioned operations S1 - S5 , so the details will not be repeated here.

(5)預設命令的例子: (5) Examples of preset commands:

第一例子:如前所述,預設命令可用來設定各個晶片A~E中的晶片識別碼chip_id,以選擇多晶片系統100中一晶片為當前的接收端晶片,以執行所轉發的命令。於一些實施例中,該預設命令可包含『select_chip[晶片的目標地址]』。於此例中,命令select_chip可用來指示接收端晶片的目標地址,在多晶片系統100成功執行命令select_chip後,接下來的命令都會由該接收端晶片執行。 First example: as mentioned above, the default command can be used to set the chip identification code chip_id in each chip A~E, so as to select a chip in the multi-chip system 100 as the current receiving end chip to execute the forwarded command. In some embodiments, the default command may include "select_chip[target address of chip]". In this example, the command select_chip can be used to indicate the target address of the receiving chip. After the multi-chip system 100 successfully executes the command select_chip, the subsequent commands will be executed by the receiving 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。 For example, if chip A wants to forward a command to chip E, chip A can execute the command select_chip 0x104, where 0x104 is the target address of chip E relative to chip A (refer to Table 3). In this way, chip E can set its own chip identification code chip_id as a default value according to the above command, and chip A Subsequent commands can be forwarded to chip E, so that chip E executes subsequent commands according to its own chip identification code chip_id. Or, in another example, if chip A wants to forward the command to chip E, chip A can execute the command select_chip 0x4, and then execute the command select_chip 0x1 through chip C, where 0x4 is the target address of chip C relative to chip A ( Refer to Table 2), and 0x1 is the target address of chip E relative to chip C (refer to Table 2). By continuously executing the commands select_chip 0x4 and select_chip 0x1, the chip E can set its own chip identification code chip_id as a default value to execute subsequent commands. In other words, in the setting mode of two-level connection, chip A can execute the command select_chip once through the target address in Table 3 to forward the command to chip E, or can execute the command select_chip twice consecutively through the target address in Table 2 and chip C To forward the command to 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。上述各例子僅以二級連接的使用場景進行說明,應可理解,上述的命令轉發機制可應用至多級連接的使用場景。 If chip E wants to forward the command to chip A, chip E can forward the command to chip A via chip C. Since the working mode of the connection port P5 of the chip E is EP mode and the identification code of the connection port P5 is port 0, the target address of the chip C relative to the chip E is 0x10000 (refer to Table 1 above). Since the working mode of the connection port P2 of the chip C is EP mode and the identification code of the connection port P2 is port 1, the target address of the chip A relative to the chip C is 0x10001 (refer to Table 1 above). Accordingly, chip E can execute the command select_chip 0x10000 (switch the subject of command execution to chip C), and execute the command select_chip 0x10001 (switch the subject of command execution to chip A) via chip C to forward the command to chip A. The above-mentioned examples are only described in the use scenario of the two-level connection, and it should be understood that the above-mentioned command forwarding mechanism can be applied to the use scenario of the multi-level connection.

第二例子:於一些實施例中,該預設命令可包含『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。 Second example: In some embodiments, the default command may include "route_call[b_transfer] "sub_command"". In this example, the command route_call can be used to control whether the chip should disconnect the previous command forwarding connection, the parameter b_transfer is used to indicate whether to perform command forwarding, and the command Let sub_command be the actual command to be executed by the specified chip. For example, when the parameter b_transfer is 1, the chip can forward the command sub_command to other chips with which it has established a connection, and execute the command sub_command through these chips. Conversely, if the parameter b_transfer is 0, the chip does not forward the command sub_command to other chips with which it has established a connection, and only executes the command sub_command in this chip.

舉例而言,若多晶片系統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。 For example, if the current command forwarding link of the multi-chip system 100 is chip A→chip C→chip E. When the chip A executes the command route_call, if the parameter b_transfer is 1, the chip A will forward the command sub_command to the chip C and the chip E, and both the chip C and the chip E will execute the command sub_command. Alternatively, if the parameter b_transfer is 0, chip A does not forward the command sub_command to chip C and chip E, and executes the command sub_command itself.

在一些實施例中,可利用命令route_call來切斷當前的命令轉發連結。例如,晶片可執行命令route_call 1 “select_chip 0”,即命令sub_command可設置為命令select_chip 0。如此一來,在當前命令轉發連結中的所有晶片會執行命令select_chip 0,進而將各自的晶片識別碼chip_id設定為數值0,而不執行後續的命令。上述關於預設命令的例子僅用於示例,且本案並不以上述的例子為限。 In some embodiments, the command route_call can be used to cut off the current command forwarding connection. For example, the chip can execute the command route_call 1 "select_chip 0", that is, the command sub_command can be set as the command select_chip 0. In this way, all chips in the current command forwarding connection will execute the command select_chip 0, and then set their respective chip identification codes chip_id to a value of 0, without executing subsequent commands. The above-mentioned examples of advance orders are for illustration only, and this case is not limited to the above-mentioned examples.

(6)實際部署的應用例子: (6) Application examples of actual deployment:

以圖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 Taking the example in FIG. 1 as an example, a possible deployment example is: chip A is the master chip, chip B, chip D, and chip E are slave chips, and chip C is a bridge chip, wherein the connection port P2 connected to chip A The working mode is EP mode, and the working mode of the port P3 connected to the chip E is RC model. In general system applications, chip A can operate as the main sender of commands, which can initialize the multi-chip system 100 by executing the following script: init_soc select_chip [destination address of chip B relative to chip A] init_soc route_call 0" select_chip[destination address of die C relative to die A]" init_soc route_call 0 "select_chip[destination address of die D relative to die A]" init_soc route_call 0 "select_chip[destination address of die E relative to die 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,以完成其它晶片的初始化。 In the above script, the command init_soc is an instruction to control the initialization of the chip, and chip A executes the first line of command init_soc and then performs initialization. After the initialization is completed, chip A executes the second line of command select_chip to transfer the command to chip B. In this way, chip B will execute the command init_soc in the third line to initialize. Next, Chip A executes the fourth command route_call. Since the parameter b_transfer is 0, chip A does not forward the command to chip B, and executes the command select_chip to forward the command to chip D. In this way, the chip D will execute the command init_soc in the fifth line to initialize. By analogy, chip A can use multiple commands of the above script to sequentially forward the command init_soc to other chips B~E, so as to complete the initialization of other chips.

上述的腳本僅用來說明為一種應用部署的可能例子,且本案並不以此為限。從上述例子應可理解,藉由本案實施例所提供的目標地址決定方式以及多種預設命令的使用方式,可在多晶片系統100中實現便利且具有高通用性的命令轉發機制,以便於管理與控制多晶片系統100中的各個晶片。 The above script is only used to illustrate a possible example of application deployment, and this case is not limited thereto. It should be understood from the above examples that a convenient and highly versatile command forwarding mechanism can be implemented in the multi-chip system 100 through the method of determining the target address and the use of various preset commands provided by the embodiment of the present case, so as to facilitate management and control each wafer in the multi-wafer system 100 .

上述的例子僅以PCI-E介面進行說明,但本案並不以此為限。各種可應用於晶片連接的訊號介面(例如可為,但不限於,USB、SPI、I2C等介面)皆為本案所涵蓋的範圍。上述的例子以C++代碼與/或Linux系統中的軟體框架內使用的函數或命令為例進行說明,但本案並不以此為限。另外,圖1中所示的多個晶片A~E的個數與連接方式僅為示例,各種晶片個數或是不同的晶片連接方式皆為本案所涵蓋的範圍。 The above examples are only described using the PCI-E interface, but this case is not limited thereto. Various signal interfaces applicable to chip connection (such as, but not limited to, USB, SPI, I2C and other interfaces) are all within the scope of this application. The above examples are described by using C++ codes and/or functions or commands used in the software framework of the Linux system as examples, but this case is not limited thereto. In addition, the number and connection method of the plurality of chips A˜E shown in FIG. 1 are only examples, and the number of various chips or different chip connection methods are all within the scope of this application.

綜上所述,本案一些實施例中的多晶片系統可利用晶片本身的連接埠的工作模式以及匯流排的識別碼來設定各個晶片的相對目標地址。如此,多晶片系統中的晶片可轉發命令到其它晶片。上述的命令轉發機制僅涉及硬體之間的識別碼以及腳本的目標地址。因此,該命令轉發機制不涉及軟體層的代碼修改,故可具有高通用性。 To sum up, the multi-chip system in some embodiments of this application can use the working mode of the connection port of the chip itself and the identification code of the bus to set the relative target address of each chip. In this way, dies in a multi-die system can forward commands to other dies. The above-mentioned command forwarding mechanism only involves the identification code between hardware and the target address of the script. Therefore, the command forwarding mechanism does not involve code modification at the software layer, so it can have high versatility.

雖然本案之實施例如上所述,然而該些實施例並非用來限定本案,本技術領域具有通常知識者可依據本案之明示或隱含之內容對本案之技術特徵施以變化,凡此種種變化均可能屬於本案所尋求之專利保護範疇,換言之,本案之專利保護範圍須視本說明書之申請專利範圍所界定者為準。 Although the embodiments of this case are as described above, these embodiments are not intended to limit this case. Those with ordinary knowledge in the technical field can make changes to the technical characteristics of this case according to the explicit or implied content of this case. All these changes All may fall within the scope of patent protection sought in this case. In other words, the scope of patent protection in this case shall be subject to the definition of the scope of patent application in this specification.

100:多晶片系統 100:Multi-chip system

110:交換器 110: switch

A~E:晶片 A~E: Wafer

B1,B1_1,B3~B5:匯流排 B1, B1_1, B3~B5: busbar

P0~P5:連接埠 P0~P5: Connecting port

port 0,port 1:連接埠的識別碼 port 0, port 1: the identification code of the connection port

Claims (14)

一種多晶片系統,包含:一發送端晶片,包含一第一連接埠;以及一接收端晶片,包含一第二連接埠,該第一連接埠耦接至該第二連接埠,且該第一連接埠的工作模式不同於該第二連接埠的工作模式,其中當該發送端晶片在沒有經由其它晶片來連接到該接收端晶片時,該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址,並根據該第一目標地址轉發一命令到該接收端晶片。 A multi-chip system, comprising: a sending end chip including a first connection port; and a receiving end chip including a second connection port, the first connection port is coupled to the second connection port, and the first The working mode of the connecting port is different from the working mode of the second connecting port, wherein when the sending chip is not connected to the receiving chip through other chips, the sending chip is determined according to the working mode of the first connecting port The receiving end chip is relative to a first target address of the sending end chip, and forwards a command to the receiving end chip according to the first target address. 如請求項1之多晶片系統,其中該第一連接埠與該第二連接埠經由一快速週邊組件互連(Peripheral Component Interconnect Express,PCI-E)介面連接。 The multi-chip system according to claim 1, wherein the first connection port and the second connection port are connected via a Peripheral Component Interconnect Express (PCI-E) interface. 如請求項1之多晶片系統,其中該第一連接埠的工作模式與該第二連接埠的工作模式中的一者為端點(endpoint)模式,且該第一連接埠的工作模式與該第二連接埠的工作模式中的另一者為複合體(root complex)模式。 The multi-chip system of claim 1, wherein one of the working mode of the first connecting port and the working mode of the second connecting port is an endpoint mode, and the working mode of the first connecting port is the same as the working mode of the second connecting port The other of the working modes of the second connection port is a root complex mode. 如請求項1之多晶片系統,其中當該發送端晶片操作為從屬(slave)晶片時,該發送端晶片根據該第一連接埠的識別碼決定該第一目標地址。 The multi-chip system according to claim 1, wherein when the sending chip operates as a slave chip, the sending chip determines the first target address according to the identification code of the first connection port. 如請求項1之多晶片系統,其中當該發送端晶片操作為主(master)晶片時,該發送端晶片根據該第一連接埠的識別碼與該第二連接埠與該第一連接埠之間的匯流排的識別碼決定該第一目標地址。 The multi-chip system as claimed in claim 1, wherein when the sending chip operates as a master (master) chip, the sending chip is based on the identification code of the first connection port and the connection between the second connection port and the first connection port The identification code of the bus bar between determines the first target address. 如請求項1之多晶片系統,更包含:一橋接晶片,包含一第三連接埠與一第四連接埠,該第三連接埠耦接至該第一連接埠,該第四連接埠耦接至該第二連接埠,該第三連接埠的工作模式不同於該第四連接埠的工作模式,其中該發送端晶片更根據該第一連接埠的識別碼與該第一連接埠以及該第三連接埠之間的匯流排的識別碼決定該橋接晶片相對於該發送端晶片的一第二目標地址,並根據該第四連接埠的識別碼與該第四連接埠以及該第二連接埠之間的匯流排的識別碼決定該接收端晶片相對於該橋接晶片的一第三目標地址,並根據該第二目標地址與該第三目標地址以決定該第一目標地址。 The multi-chip system of claim 1 further includes: a bridge chip, including a third connection port and a fourth connection port, the third connection port is coupled to the first connection port, and the fourth connection port is coupled to To the second connection port, the working mode of the third connection port is different from the working mode of the fourth connection port, wherein the sending end chip is further based on the identification code of the first connection port and the first connection port and the second connection port The identification code of the bus bar between the three connection ports determines a second target address of the bridge chip relative to the sending end chip, and according to the identification code of the fourth connection port and the fourth connection port and the second connection port The identification code of the bus bar between determines a third target address of the receiver chip relative to the bridge chip, and determines the first target address according to the second target address and the third target address. 如請求項6之多晶片系統,其中該第一目標地址包含該第二目標地址中的部分位元以及該第三目標地址中的部分位元。 The multi-chip system according to claim 6, wherein the first target address includes some bits of the second target address and some bits of the third target address. 如請求項1之多晶片系統,更包含:一橋接晶片,包含一第三連接埠與一第四連接埠,該第三連接埠耦接至該第一連接埠,該第四連接埠耦接至該第二連接埠,該第三連接埠的工作模式不同於該第四連接埠的工作模式,其中該發送端晶片更根據該第一連接埠的識別碼與該第一連接埠以及該第三連接埠之間的匯流排的識別碼決定該橋接晶片相對於該發送端晶片的一第二目標地址並根據該第二目標地址轉發該命令給該橋接晶片,且該橋接晶片根據該第四連接埠的識別碼與該第四連接埠以及該第二連接埠之間的匯流 排的識別碼決定該接收端晶片相對於該橋接晶片的一第三目標地址,並根據該第三目標地址轉發該命令給該接收端晶片。 The multi-chip system of claim 1 further includes: a bridge chip, including a third connection port and a fourth connection port, the third connection port is coupled to the first connection port, and the fourth connection port is coupled to To the second connection port, the working mode of the third connection port is different from the working mode of the fourth connection port, wherein the sending end chip is further based on the identification code of the first connection port and the first connection port and the second connection port The identification code of the bus between the three ports determines a second target address of the bridge chip relative to the sender chip and forwards the command to the bridge chip according to the second target address, and the bridge chip according to the fourth The identification code of the connection port and the confluence between the fourth connection port and the second connection port The row identification code determines a third target address of the receiver chip relative to the bridge chip, and forwards the command to the receiver chip according to the third target address. 如請求項1之多晶片系統,其中該接收端晶片儲存一晶片識別碼並在該晶片識別碼為一預設值時執行該命令。 The multi-chip system according to claim 1, wherein the receiver chip stores a chip identification code and executes the command when the chip identification code is a default value. 如請求項9之多晶片系統,其中當該接收端晶片接收到指示該第一目標地址的一預設命令,該接收端晶片將該晶片識別碼設置為該預設值。 The multi-chip system according to claim 9, wherein when the receiver chip receives a default command indicating the first target address, the receiver chip sets the chip identification code to the default value. 一種地址產生方法,應用於一多晶片系統,該多晶片系統包含一發送端晶片及一接收端晶片,該發送端晶片包含一第一連接埠,該接收端晶片包含一第二連接埠,該第一連接埠耦接至該第二連接埠且該第一連接埠的工作模式不同於該第二連接埠的工作模式,該地址產生方法包含:該發送端晶片根據該第一連接埠的工作模式決定該接收端晶片相對於該發送端晶片的一第一目標地址;以及該發送端晶片根據該第一目標地址轉發一命令到該接收端晶片。 A method for generating an address, applied to a multi-chip system, the multi-chip system includes a sending chip and a receiving chip, the sending chip includes a first connection port, the receiving chip includes a second connecting port, the The first connection port is coupled to the second connection port and the working mode of the first connection port is different from the working mode of the second connection port. The address generation method includes: the sending end chip according to the work of the first connection port The mode determines a first target address of the receiver chip relative to the transmitter chip; and the transmitter chip forwards a command to the receiver chip according to the first target address. 如請求項11之地址產生方法,其中該第一連接埠與該第二連接埠經由一快速週邊組件互連(Peripheral Component Interconnect Express,PCI-E)介面連接。 The address generation method of claim 11, wherein the first connection port and the second connection port are connected through a Peripheral Component Interconnect Express (PCI-E) interface. 如請求項11之地址產生方法,其中,當該發送端晶片操作為從屬(slave)晶片時,該發送端晶片更根據該第一連接埠的識別碼決定該第一目標地址。 The address generating method of claim 11, wherein when the sending chip operates as a slave chip, the sending chip further determines the first target address according to the identification code of the first connection port. 如請求項11之地址產生方法,其中,當該發送端晶片操作為主(master)晶片時,該發送端晶片更根據該第一連接埠的識別碼與該第二連接埠與該第一連接埠之間的匯流排的識別碼決定該第一目標地址。The address generating method of claim 11, wherein, when the sending chip operates as a master (master) chip, the sending chip is further connected to the first connecting port with the second connecting port according to the identification code of the first connecting port The ID of the bus between the ports determines the first target address.
TW111107601A 2022-03-02 2022-03-02 Multichip system having command transfer mechanism and address generating method TWI809741B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW111107601A TWI809741B (en) 2022-03-02 2022-03-02 Multichip system having command transfer mechanism and address generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111107601A TWI809741B (en) 2022-03-02 2022-03-02 Multichip system having command transfer mechanism and address generating method

Publications (2)

Publication Number Publication Date
TWI809741B true TWI809741B (en) 2023-07-21
TW202336598A TW202336598A (en) 2023-09-16

Family

ID=88149582

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111107601A TWI809741B (en) 2022-03-02 2022-03-02 Multichip system having command transfer mechanism and address generating method

Country Status (1)

Country Link
TW (1) TWI809741B (en)

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 (en) 2023-09-16

Similar Documents

Publication Publication Date Title
US10554581B2 (en) Network on chip, communication control method, and controller
TW201903620A (en) Slave-to-slave communication in i3c bus topology
TWI531165B (en) One phase logic
CN106302071A (en) A kind of adapter, the network equipment and the method for port configuration
CN114328318B (en) DMA controller for direct equipment interconnection for microcontroller and interconnection control method
TWI809741B (en) Multichip system having command transfer mechanism and address generating method
CN214225912U (en) Serial port level internal selection switching equipment and system
CN110022093A (en) Motor control method and system
US7382823B1 (en) Channel bonding control logic architecture
US20120044941A1 (en) Data transmission system, data transmission method, and data transmission device
JPH0213158A (en) Message transmission method
CN107222379A (en) A kind of method and apparatus of serial communication
CN114553797B (en) Multi-chip system with command forwarding mechanism and address generation method
CN207503207U (en) For the integrated test system of multiplex roles
CN111274193A (en) Data processing apparatus and method
CN201397503Y (en) Interrupt expander circuit
US10262973B1 (en) Modular chip with redundant interfaces
WO2022001317A1 (en) Chip simulation method, apparatus and system, and device and storage medium
TWI786930B (en) Power supply device and data transmission method thereof
CN215113291U (en) Water heater and water heater control system
CN211826943U (en) Communication control circuit and device
WO2021254061A1 (en) Interface configuration method for device in campus network, and network device
WO2018217378A1 (en) Communication between field programmable gate arrays
US20100017569A1 (en) Pcb including multiple chips sharing an off-chip memory, a method of accessing off-chip memory and a mcm utilizing fewer off-chip memories than chips
CN219811188U (en) Bridge circuit, bridge circuit integrated device and silicon substrate