KR20210000648A - 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 - Google Patents

복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 Download PDF

Info

Publication number
KR20210000648A
KR20210000648A KR1020200003772A KR20200003772A KR20210000648A KR 20210000648 A KR20210000648 A KR 20210000648A KR 1020200003772 A KR1020200003772 A KR 1020200003772A KR 20200003772 A KR20200003772 A KR 20200003772A KR 20210000648 A KR20210000648 A KR 20210000648A
Authority
KR
South Korea
Prior art keywords
chips
chip
communication interface
communication
module
Prior art date
Application number
KR1020200003772A
Other languages
English (en)
Other versions
KR102350379B1 (ko
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 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20210000648A publication Critical patent/KR20210000648A/ko
Application granted granted Critical
Publication of KR102350379B1 publication Critical patent/KR102350379B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • 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/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7835Architectures of general purpose stored program computers comprising a single central processing unit without memory on more than one IC chip
    • 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/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 실시예는 복수의 칩 사이의 연결 관계를 확정하는 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 저장 매체에 관한 것이다. 상기 방법은, 호스트 컴퓨터에 의해 관리되는 복수의 칩의 신분 정보를 확정하는 단계를 포함할 수 있고, 복수의 칩은 칩 사이 통신을 위한 각자의 칩 사이 통신 인터페이스를 통해 서로 연결된다. 상기 방법은, 복수의 칩 중의 하나 또는 복수의 칩이 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 연결되는 다른 칩의 신분 정보를 획득하도록 하는 단계를 더 포함할 수 있다. 상기 방법은, 하나 또는 복수의 칩의, 상호스트 컴퓨터와 통신하는 관리 인터페이스를 거쳐 상기 다른 칩의 신분 정보를 획득하여 복수의 칩 사이의 연결 관계를 확정하는 단계를 더 포함할 수 있다. 본 발명의 기술적 해결수단은 각 칩 사이 통신 인터페이스를 통해 이에 연결된 칩을 확정하여, 호스트 컴퓨터 측에서 상기 칩 네트워크의 물리적 연결 매트릭스를 구축 및 유지할 수 있음으로써, 칩 네트워크 연결의 고장 검출 및 칩 네트워크 토폴로지의 동적 구성에 편의를 제공한다.

Description

복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체{METHOD, APPARATUS, ELECTRONIC DEVICE AND COMPUTER READABLE STORAGE MEDIUM FOR SUPPORTING COMMUNICATION AMONG CHIPS}
본 발명의 실시예는 주로 컴퓨터 분야에 관한 것으로, 보다 구체적으로 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 저장 매체에 관한 것이다.
컴퓨터 기술이 발전함에 따라, 인공 지능 애플리케이션이 산출력에 대한 요구가 점점 높아지고 있다. 하지만, 공정 및 전력소모 등 제한으로 인해, 단일한 칩(예를 들어, 인공 지능 칩, GPU 등)의 산출력은 처리 속도에 대한 요구를 만족시킬 수 없다. 따라서, 복수의 칩을 서로 연결시켜 칩 네트워크를 구성하여 인공 지능 애플리케이션의 요구를 만족시켜야 한다. 따라서, 칩 사이의 통신(즉, 칩 사이 통신)을 최적화시켜 고대역폭 및 저지연을 구현해야 한다.
이 밖에, 인공 지능 애플리케이션의 상이한 연산자 및 알고리즘도 상이한 대역폭 및 지연 요구를 가지고 있다. 상이한 네트워크 토폴로지 구조는 상이한 대역폭 및 지연을 구비한다. 어떻게 상이한 네트워크 토폴로지, 특히 동적 토폴로지 개변을 지원할 것인가 하는 것도 칩 사이 통신의 또 다른 도전이다.
본 발명의 예시적 실시예에 따르면, 복수의 칩 사이에서 통신을 지원하는 해결수단을 제공한다.
본 발명의 제1 양태에 따르면, 복수의 칩 사이의 통신 지원 방법을 제공한다. 상기 방법은, 호스트 컴퓨터에 의해 관리되는 복수의 칩의 신분 정보를 확정하는 단계를 포함할 수 있고, 복수의 칩은 칩 사이 통신을 위한 각자의 칩 사이 통신 인터페이스를 통해 서로 연결된다. 상기 방법은 복수의 칩 중의 하나 또는 복수의 칩이 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 연결되는 다른 칩의 신분 정보를 획득하도록 하는 단계를 더 포함할 수 있다. 상기 방법은, 하나 또는 복수의 칩의, 호스트 컴퓨터와 통신하는 관리 인터페이스를 거쳐 다른 칩의 신분 정보를 획득하여 복수의 칩 사이의 연결 관계를 확정하는 단계를 더 포함할 수 있다.
본 발명의 제2 양태에 따르면, 복수의 칩 사이의 통신 지원 장치는, 호스트 컴퓨터에 의해 관리되는 복수의 칩의 신분 정보를 확정하는 신분 정보 확정 모듈 - 복수의 칩은 칩 사이 통신을 위한 각자의 칩 사이 통신 인터페이스를 통해 서로 연결됨 - ; 복수의 칩 중의 하나 또는 복수의 칩이 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 연결되는 다른 칩의 신분 정보를 획득하도록 하는 칩 명령 모듈; 및 하나 또는 복수의 칩의, 호스트 컴퓨터와 통신하는 관리 인터페이스를 거쳐 다른 칩의 신분 정보를 획득하여 복수의 칩 사이의 연결 관계를 확정하는 연결 관계 확정 모듈을 포함한다.
본 발명의 제3 양태에 따르면, 하나 또는 복수의 프로세서; 및 하나 또는 복수의 프로그램이 저장된 저장 장치를 포함하고, 하나 또는 복수의 프로그램이 하나 또는 복수의 프로세서에 의해 실행될 경우, 하나 또는 복수의 프로세서가 본 발명의 제1 양태에 따른 복수의 칩 사이의 통신 지원 방법을 구현하도록 하는 기기를 제공한다.
본 발명의 제4 양태에 따르면, 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 저장 매체를 제공하고, 상기 컴퓨터 프로그램은 프로세서에 의해 실행될 경우 본 발명의 제1 양태에 따른 복수의 칩 사이의 통신 지원 방법을 구현한다.
발명의 내용 부분에서 설명된 내용은 본 발명의 실시예의 핵심 또는 중요한 특징을 한정하지 않고, 본 발명의 범위를 한정하지 않음을 이해해야 한다. 본 발명의 다른 특징은 아래의 설명을 통해 보다 쉽게 이해될 것이다.
첨부된 도면을 결부하고 이하 상세한 설명을 참조하여, 본 발명의 다양한 실시예의 상술한 설명 및 다른 특징, 이점 및 양태는 보다 명백해질 것이다. 도면에서, 동일하거나 유사한 도면 표기는 동일하거나 유사한 요소를 나타낸다.
도 1a는 본 발명의 다양한 실시예에 따른 예시적 칩의 인터페이스 구성의 모식도이다.
도 1b는 본 발명의 다양한 실시예에 따른 구현 가능한 예시적 칩 네트워크의 모식도이다.
도 2는 본 발명의 실시예에 따른 복수의 칩 사이에서 통신을 지원하는 과정의 흐름도이다.
도 3은 본 발명의 실시예에 따른 연결된 다른 칩의 신분 정보를 획득하는 과정의 흐름도이다.
도 4는 본 발명의 실시예에 따른 복수의 칩 사이의 통신 지원 장치의 예시적 블록도이다.
도 5는 본 발명의 다양한 실시예를 실시할 수 있는 컴퓨팅 기기의 블록도이다.
아래에 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명한다. 비록 도면에는 본 발명의 일부 실시예가 도시되어 있으나 본 발명은 다양한 형태로 구현될 수 있음을 이해해야 하고, 여기서 설명된 실시예에 한정되는 것으로 해석되어서는 안되며, 반대로 이러한 실시예는 본 발명을 보다 분명하고 완전하게 이해시키기 위해 제공된다. 본 발명의 도면 및 실시예는 단지 예시로서 작용되며, 본 발명의 보호 범위를 한정하려는 것이 아님을 이해해야 한다.
본 발명의 실시예의 설명 과정에서, 용어 "포함하다" 및 이와 유사한 용어는 "포함하나 한정되지 않음"과 같은 개방적인 포함으로 이해되어야 한다. 용어 "기반"은 "적어도 부분적으로 기반"으로 이해되어야 한다. 용어 "일 실시예" 또는 "상기 실시예"는 "적어도 일 실시예"로 이해되어야 한다. 용어 "제1", "제2" 등은 상이하거나 동일한 객체를 지칭할 수 있다. 아래 설명은 다른 명시적 및 암시적 정의를 더 포함할 수 있다.
위에서 언급된 바와 같이, 칩 네트워크의 연결 관계를 신속하고 고효율적이며 저원가로 획득하여 칩 네트워크의 토폴로지 구조에 대한 동적 개변을 지원함으로써, 수요에 따라 토폴로지 구조를 개변시켜 대역폭을 증가시키고 지연을 감소시킬 수 있는 복수의 칩 사이의 통신 지원 방법이 시급하다. 기존의 칩 네트워크 중의 칩 사이 통신 기술은 주로 칩 네트워크의 고정적 토폴로지 구조에 사용되므로, 칩 네트워크의 토폴로지 구조가 원활하지 못하고 대역폭이 부족한 문제에 흔히 직면하게 된다.
본 발명의 실시예에 따르면, 복수의 칩 사이에서 통신을 지원하는 해결수단을 제공한다. 상기 해결수단에서, 중앙 처리 장치(CPU)와 같은 호스트 컴퓨터는 이가 관리하는 예컨대 인공 지능 칩과 같은 복수의 칩이 열거할 수 있고, 이러한 칩에 대해 번호를 지정한다. 다음, CPU는 각 칩이 각각 연결 감지 동작을 실행하도록 명령한다. 예로서, 칩은 이의 각 포트의 상태 정보를 판독할 수 있고, 상태 정보가 활성화될 경우, 기설정된 주소 범위를 구성하며, 상기 주소 범위 내의 특정 주소에 테스트 데이터를 송신하고, 리턴되는 응답 데이터를 기다린다. 상기 응답 데이터를 수신한 후, 상기 응답 데이터로부터 상기 포트와 통신하는 다른 칩의 번호를 획득한다. CPU는 각 칩에 의해 수집된 연결 정보를 종합함으로써, 임의의 칩 네트워크의 물리적 연결 정보를 획득할 수 있다. 칩 네트워크의 물리적 연결 정보를 획득한 후, 서비스 수요에 따라 각 칩 사이의 논리적 연결 관계를 동적으로 구성함으로써, 필요한 토폴로지 구조를 구축할 수 있다.
본 발명의 다양한 실시예 중의 칩 네트워크의 토폴로지 구조 및 이의 구축 과정을 보다 상세하게 설명하기 위하여, 먼저 칩 네트워크를 간단하게 설명해야 한다. 도 1a는 본 발명의 다양한 실시예에 따른 예시적 칩(100)의 인터페이스 구성의 모식도이다. 도 1a에 도시된 바와 같이, 칩(100)은 관리 인터페이스(110) 및 칩 사이 통신 인터페이스(C0, C1, C2 및 C3)와 같은 복수의 인터페이스를 포함한다. 관리 인터페이스(110)는 관리 칩(100)의 CPU와 같은 호스트 컴퓨터와 통신하기 위한 것으로, 일반적으로 호스트 컴퓨터로부터의 구성 정보를 수신하며 칩(100)의 연결 정보를 송신하기 위한 것이다. 예로서, 관리 인터페이스(110)는 PCIe 인터페이스일 수 있다. 이 밖에, 칩 사이 통신 인터페이스(C0, C1, C2 및 C3)는 모두 호스트 컴퓨터 관리 하의 다른 칩과 칩 사이 통신을 진행하기 위한 것이다. 예로서, 칩 사이 통신 인터페이스(C0, C1, C2 및 C3)는 CCIX 인터페이스일 수 있다.
이른바 칩 네트워크는 복수의 칩이 칩 사이 통신 인터페이스 사이의 직접적인 물리적 연결을 통해 구성된 네트워크를 의미한다. 도 1b는 본 발명의 다양한 실시예에 따른 구현 가능한 예시적 칩 네트워크(100')의 모식도이다. 도 1b에 도시된 바와 같이, 각각의 블록은 모두 하나의 칩을 표시한다. 각각의 칩은 모두 네트워크(100')에서 유일한 하나의 칩 신분 정보를 구비하는데, 예를 들어, 각 칩의 도면 부호101, 102, 103, 104, 105, 106, 107 및 108으로 각 칩의 신분 정보를 표시할 수 있다. 신분 정보에 관한 구체적 예는 모두 예시적이고, 목적을 한정하지 않으며, 각 칩의 신분 정보는 숫자로 표시되는 것에 한정되지 않음을 이해해야 한다.
칩 네트워크(100') 중의 임의의 하나의 칩은 모두 하나 또는 복수의 다른 칩과 직접 물리적으로 연결될 수 있다. 칩 네트워크(100')는 하나의 회로기판에 집적된 복수의 칩으로 구성될 수 있고, 칩에 의해 제어되는 복수의 기기 내의 칩이 데이터 전송 회로를 통해 연결되어 구성될 수도 있다. 따라서, 하나의 회로기판에 집적되는 2개의 칩의 핀(예를 들어, 도 1의 칩 사이 통신 인터페이스(C0, C1, C2 및 C3))는 직접 연결되거나, 2개의 기기 중의 칩의 인터페이스(예를 들어, 도 1의 칩 사이 통신 인터페이스(C0, C1, C2 및 C3))가 데이터 전송 회로를 통해 연결된다. 다시 말하면, 2개의 칩 사이의 연결은 2개의 칩 사이가 대응되는 인터페이스를 통해 서로 연결되는 것으로 이해될 수 있다. 예를 들어, 칩(101)은 칩(102)에 정보를 전송하되, 구체적으로, 칩(101)은 이의 자체의, 칩(102)에 연결된 인터페이스(C1)를 통해 칩(102)에 정보를 송신한다.
이 밖에, 칩 사이 통신 기술의 세부적인 내용을 중점적으로 설명하기 위하여, 본 발명은 도 1b에서 각 칩의 관리 인터페이스(110)와 CPU와 같은 호스트 컴퓨터 사이의 통신 과정을 도시하지 않음을 이해해야 한다. 예로서, 칩(101, 102, 103 및 104)은 PCIe 인터페이스와 같은 관리 인터페이스(110)를 통해 PCIe 스위치 모듈(미도시)과 통신할 수 있음으로써, PCIe 스위치 모듈은 호스트 컴퓨터와 통신한다. 유사하게, 칩(105, 106, 107 및 108)은 PCIe 인터페이스와 같은 관리 인터페이스(110)를 통해 다른 PCIe 스위치 모듈(미도시)과 통신할 수 있음으로써, 다른 PCIe 스위치 모듈은 호스트 컴퓨터와 통신한다. 선택적으로 또는 부가적으로, 칩(101, 102, 103, 104, 105, 106, 107 및 108)은 각자의 관리 인터페이스(110)를 통해 호스트 컴퓨터와 직접 통신할 수도 있다.
위에서 설명된 기술적 해결수단의 칩(100) 및 칩 네트워크(100')는 단지 예시적일 뿐 본 발명을 한정하지 않는다. 칩의 구성, 특히 칩 인터페이스의 구성은 다양할 수 있으므로 칩 네트워크의 토폴로지 인터페이스는 더 복잡할 수 있음을 이해해야 한다. 따라서, 본 발명의 보호범위를 벗어나지 않는 전제 하에, 칩(100) 및 칩 네트워크(100')에 대해 다양한 수정을 진행할 수 있다. 상기 해결수단의 원리를 보다 명확하게 해석하기 위하여, 아래 도 2를 참조하여 복수의 칩 사이의 연결 관계를 확정하는 과정을 상세하게 설명하도록 한다.
도 2는 본 발명의 실시예에 따른 복수의 칩 사이에서 통신을 지원하는 과정(200)의 흐름도이다. 토론의 편의를 위하여, 도 1a와 도 1b를 결부하여 과정(200)을 설명하도록 한다.
단계(210)에서, 호스트 컴퓨터에 의해 관리되는 복수의 칩의 신분 정보를 확정할 수 있고, 상기 복수의 칩은 칩 사이 통신을 위한 각자의 칩 사이 통신 인터페이스를 통해 서로 연결된다. 예로서, 호스트 컴퓨터는 이가 관리하는 모든 칩을 열거하여 이러한 칩의 신분 정보를 확정할 수 있는데, 예를 들어, 도 1b의 칩(101, 102, 103, 104, 105, 106, 107 및 108)의 신분 정보를 확정할 수 있고, 이러한 칩은 각자의 칩 사이 통신 인터페이스(C0, C1, C2 및 C3)를 통해 연결되어, 칩 네트워크(100')를 형성할 수 있다.
단계(220)에서, 각 칩에 감지 명령을 송신하여 이러한 칩 중의 하나 또는 복수의 칩이 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 연결되는 다른 칩의 신분 정보를 획득하도록 할 수 있다. 예로서, 호스트 컴퓨터는 이가 관리하는 모든 칩에 명렬을 송신하여 모든 칩이 모두 이에 연결되는 다른 칩의 신분 정보를 획득하는 동작을 실행하도록 할 수 있다. 선택적으로 또는 부가적으로, 호스트 컴퓨터는 이가 관리하는 작업 상태인 칩에만 상기 감지 명령을 송신할 수도 있다. 예를 들어 인공 지능 칩과 같은 칩 네트워크의 특수성으로 인해, 각 칩 사이의 연결 관계는 일반적으로 매우 복잡한데, 각 칩을 통해 칩 사이 통신 인터페이스로부터 착수할 수 있고, 테스트 신호 송신 및 응답 신호 수신 방식을 통해 칩 네트워크의 상세한 연결 관계를 고효율적으로 획득할 수 있다. 상기 감지 동작이 각 칩의 칩 사이 통신 인터페이스에 의해 개시된 것이므로, 상기 칩 사이 통신 인터페이스에 연결되는 칩의 구체적인 인터페이스를 검출할 필요가 없다(상기 인터페이스도 동일한 감지 동작을 실행하기 때문임).
일부 실시예에서, 보다 완전하고 자동화된 정보 전송 과정을 이용하여 연결된 다른 칩의 신분 정보를 획득할 수 있다. 도 3은 본 발명의 실시예에 따른 연결된 다른 칩의 신분 정보를 획득하는 과정(300)의 흐름도이다.
단계(310)에서, 하나 또는 복수의 칩은 이의 칩 사이 통신 인터페이스의 상태 정보를 획득할 수 있다. 예로서, 각 칩 내의 마이크로 제어 유닛(MCU)은 칩 사이 통신 인터페이스(C0, C1, C2 및 C3)의 상태를 판독할 수 있다.
단계(320)에서, 상태 정보가 활성화되었는 지의 여부를 판단할 수 있다. 칩 사이 통신 인터페이스가 활성화 상태이면, 상기 칩 사이 통신 인터페이스와 다른 칩의 칩 연결 통신 인터페이스는 물리적 연결을 구비하는 것을 의미하고, 칩 사이 통신 인터페이스가 비활성화 상태이면, 상기 칩 사이 통신 인터페이스와 다른 칩의 칩 연결 통신 인터페이스는 물리적 연결을 구비하지 않는 것을 의미함을 유의해야 한다. 상기 칩 사이 통신 인터페이스가 비활성화 상태이면, 상기 인터페이스에 대해 동작을 실행하지 않는다. 상기 칩 사이 통신 인터페이스가 활성화 상태이면, 단계(330)을 수행한다.
단계(330)에서, 상기 칩 사이 통신 인터페이스는 상기 칩 사이 통신 인터페이스에 연결되는 다른 칩에 테스트 데이터를 송신한다. 일부 실시예에서, 먼저 상기 칩 사이 통신 인터페이스에 기설정된 주소 범위(예를 들어, BAR0 주소)를 구성하고, 다른 칩의, 상기 기설정된 주소 범위 내에 위치하는 주소에 테스트 데이터를 송신한다. 예로서, 상기 주소에 Hello 데이터 패킷을 송신할 수 있는데, 즉, 먼저 라이팅 저장 명령을 송신하고, 라이팅된 데이터는 0xa1a1과 같은 특정 데이터이며, 다음, 상기 주소에 판독 저장 명령을 송신한다.
단계(340)에서, 특정 주소에 판독 저장 명령을 송신하였으므로, 이때의 칩은 회신을 기다림으로써, 상기 테스트 데이터의 응답 데이터를 수신한다. 예로서, 상기 응답 데이터는 일반적으로 ACK 데이터 패킷이고, 상기 응답 데이터에는 연결 관계를 구비하는 다른 칩의 신분 정보가 포함된다.
하나의 칩이 이에 연결되는 다른 칩의 신분 정보를 획득하는 과정(300)을 상세하게 설명한 후, 다시 도 2를 참조하여 복수의 칩 사이의 연결 관계를 확정하는 과정(200)을 계속하여 토론하기로 한다. 각 칩이 이에 연결되는 다른 칩의 신분 정보를 획득하도록 지시한 후, 과정(200)은 단계(230)까지 진행된다.
단계(230)에서, 상기 하나 또는 복수의 칩의, 호스트 컴퓨터와 통신하는 관리 인터페이스(110)를 거쳐 상기 다른 칩의 신분 정보를 획득하여 복수의 칩 사이의 연결 관계를 확정할 수 있다. 예로서, 각 칩이 연결 감지 동작을 완성한 후, 호스트 컴퓨터에 중단 정보를 송신하여 호스트 컴퓨터에 감지 동작 완성을 알려줄 수 있다. 다음, 호스트 컴퓨터는 각 칩의 PCIe와 같은 관리 인터페이스(110)를 통해 각 칩에 의해 획득된 연결 정보를 판독할 수 있다. 이로써, 호스트 컴퓨터는 이가 관리하는 각 칩 사이의 물리적 연결 관계를 확정할 수 있다. 이러한 방식으로, CPU와 같은 호스트 컴퓨터는 이가 관리하는 각 칩 사이의 물리적 연결 관계를 확정할 수 있다.
일부 실시예에서, 호스트 컴퓨터는 확정된 각 칩 사이의 연결 관계를 연결 매트릭스에 저장할 수 있다. 예로서, 도 1b에 도시된 바와 같이, 칩(101)은 연결 감지 동작을 통해, 그 칩 사이 통신 인터페이스(C0)가 칩(106)에 연결되었는지, 그 칩 사이 통신 인터페이스(C1)가 칩(102)에 연결되었는지, 그 칩 사이 통신 인터페이스(C2)가 칩(104)에 연결되었는지, 그 칩 사이 통신 인터페이스(C3)가 칩(103)에 연결되었는지를 확정할 수 있다. 유사하게, 칩(102)은 연결 감지 동작을 통해, 그 칩 사이 통신 인터페이스(C0)가 칩(104)에 연결되었는지, 그 칩 사이 통신 인터페이스(C1)가 칩(105)에 연결되었는지, 그 칩 사이 통신 인터페이스(C2)가 칩(103)에 연결되었는지, 그 칩 사이 통신 인터페이스(C3)가 칩(101)에 연결되었는지를 확정할 수 있다. 칩(103)은 연결 감지 동작을 통해, 그 칩 사이 통신 인터페이스(C0)가 칩(102)에 연결되었는지, 그 칩 사이 통신 인터페이스(C1)가 칩(108)에 연결되었는지, 그 칩 사이 통신 인터페이스(C2)가 칩(101)에 연결되었는지, 그 칩 사이 통신 인터페이스(C3)가 칩(104)에 연결되었는지를 확정할 수 있다. 이러한 방식으로 유추하면, 표 1에 나타낸 연결 매트릭스를 구축할 수 있다.
Figure pat00001
표 1에서, 최상부의 행은 각각의 칩의 4개의 칩 사이 통신 인터페이스의 번호이고, 가장 좌측의 열은 각 칩의 신분 정보(ID)이며, 다른 데이터는 각 칩의 상응한 인터페이스에 연결되는 대응되는 칩의 신분 정보이다. 호스트 컴퓨터는 표 1과 같은 연결 매트릭스를 구축하여 각 칩의 물리적 연결 관계를 쉽게 획득할 수 있다. 선택적으로 또는 부가적으로, 상기 연결 매트릭스는 이러한 칩의 각자의 칩 사이 통신 인터페이스의 상태 정보 및 대역폭 정보 중의 적어도 하나를 더 포함한다. CPU와 같은 호스트 컴퓨터는 다양한 정보를 포함하는 연결 매트릭스를 확정 및 유지하여 이가 관리하는 각 칩 사이의 연결 상황을 보다 상세하게 장악할 수 있음으로써, 후속의 칩 네트워크 토폴로지 동적 구성에 편의를 제공한다.
일부 실시예에서, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스는 연결 고장을 검출할 수 있다. 예로서, 검출된 연결 고장이 복원 가능한 것이면, 상기 연결 고장을 복원시키고, 복원의 결과를 리포팅한다. 검출된 연결 고장이 복원 불가능한 것이면, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스를 거쳐 전송된 서비스를 다른 칩 사이 통신 인터페이스로 전환시키고, 상기 연결 고장을 리포팅한다. 이러한 방식으로, 각 칩 사이에 연결 고장이 발생되더라도, 복원 또는 서비스 직접 전이 방식을 통해 칩 네트워크가 계속하여 작업하도록 할 수 있고, 호스트 컴퓨터에 리포팅하는 방식을 통해 호스트 컴퓨터가 이가 유지하는 연결 매트릭스를 업데이트하도록 편의를 제공할 수 있다.
일부 실시예에서, 확정된 칩의 개수에 따라 복수의 칩의 연결 관계를 열거할 수 있고, 열거된 연결 관계 중의 사용자에 의해 지정된 연결 관계에 따라 이러한 칩을 구성할 수 있다. 예로서, 상기 연결 매트릭스에 기록된 각 칩 사이의 물리적 연결 관계에 따라 구현 가능한 모든 논리적 연결 방식을 열거할 수 있다. 예를 들어, 상기 표 1의 물리적 연결 관계에 따라, 칩의 2가지 논리적 연결 방식을 적어도 열거할 수 있는데, 즉, 101<―>104<―>103<―>102<―>105<―>108<―>107<―>106<―>101; 및 101<―>102<―>104<―>107<―>105<―>106<―>108<―>103<―>101이다. 이로써, 이로부터 한 가지 논리적 연결 방식을 선택하여 구체적인 산출 서비스를 실행할 수 있다.
본 발명의 상기 실시예에서, 호스트 컴퓨터는 중앙 처리 장치(CPU)일 수 있고, 칩은 시스템 온 칩(SoC)일 수 있다.
기존의 기술과 비교해보면, 본 발명의 해결수단은 각 칩의 칩 사이 통신 인터페이스를 통해 이에 연결되는 칩을 확정함으로써, CPU 측에서 상기 칩 네트워크의 물리적 연결 매트릭스를 구축 및 유지할 수 있다. 이로써, 칩 네트워크 연결의 고장 검출 및 칩 네트워크 토폴로지의 동적 구성에 편의를 제공할 수 있다. 이 밖에, 각 칩의 논리적 연결 토폴로지의 유연한 구성을 구현할 수 있으므로, 수요에 따라 토폴로지 구조 중의 칩 개수 및 연결 방식을 개변시킬 수 있음으로써, 상기 칩 네트워크의 대역폭을 향상시키고 지연을 감소시킬 수 있다.
이상, 일부 예시적 상황 하의 칩 사이의 연결 관계의 예를 토론하였다. 하지만, 이러한 상황의 설명은 단지 예시적 방식으로 본 발명의 실시예를 해석하고 설명하기 위한 것임을 이해해야 한다. 실제 수요에 따라, 상이하거나 유사한 상황 하에, 상이한 책략을 선택할 수도 있다. 또한, 본 발명의 기술적 해결수단은 본질적으로 인공 지능 칩 분야에 적용되는 것에 한정되지 않고, 본 발명의 기술적 해결수단은 복수의 칩이 협동하여 대량의 서비스를 처리해야 하는 다른 분야에 적용될 경우 마찬가지로 위에서 언급된 여러 가지 장점을 구비할 수 있음을 유이해야 한다.
도 4는 본 발명의 실시예에 따른 복수의 칩 사이의 통신 지원 장치(400)의 예시적 블록도이다. 도 4에 도시된 바와 같이, 복수의 칩 사이의 통신 지원 장치(400)는, 호스트 컴퓨터에 의해 관리되는 복수의 칩의 신분 정보를 확정하는 신분 정보 확정 모듈(410) - 상기 복수의 칩은 칩 사이 통신을 위한 각자의 칩 사이 통신 인터페이스를 통해 서로 연결됨 - ; 상기 복수의 칩 중의 하나 또는 복수의 칩이 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 연결되는 다른 칩의 신분 정보를 획득하도록 하는 칩 명령 모듈(420); 및 상기 하나 또는 복수의 칩의, 호스트 컴퓨터와 통신하는 관리 인터페이스(110)를 거쳐 상기 다른 칩의 신분 정보를 획득하여 상기 복수의 칩 사이의 연결 관계를 확정하는 연결 관계 확정 모듈(430)을 포함한다.
일부 실시예에서, 칩 명령 모듈(420)은, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스의 상태 정보를 획득하는 상태 정보 판독 모듈; 상태 정보의 활성화에 응답하여, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 복수의 칩 중의, 상기 칩 사이 통신 인터페이스에 연결되는 다른 칩에 테스트 데이터를 송신하는 테스트 데이터 송신 모듈; 및 테스트 데이터의 응답 데이터를 수신하는 응답 데이터 수신 모듈 - 상기 응답 데이터는 상기 다른 칩의 신분 정보를 포함함 - ;을 더 포함할 수 있다.
일부 실시예에서, 테스트 데이터 송신 모듈은, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 기설정된 주소 범위를 구성하는 주소 범위 구성 모듈; 및 다른 칩의, 기설정된 주소 범위 내에 위치하는 주소에 테스트 데이터를 송신하는 송신 서브 모듈을 더 포함할 수 있다.
일부 실시예에서, 복수의 칩 사이의 통신 지원 장치(400)는, 확정된 상기 복수의 칩 사이의 연결 관계를 연결 매트릭스에 저장하는 연결 관계 저장 모듈을 더 포함할 수 있고, 연결 매트릭스는, 복수의 칩의 각자의 칩 사이 통신 인터페이스의 상태 정보; 및 대역폭 정보 중 적어도 하나를 더 포함할 수 있다.
일부 실시예에서, 복수의 칩 사이의 통신 지원 장치(400)는, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 연결 고장을 검출하는 제1 고장 검출 모듈; 검출된 연결 고장이 복원 가능한 것에 응답하여, 연결 고장을 복원시키는 복원 모듈; 및 복원의 결과를 리포팅하는 복원 결과 리포팅 모듈을 더 포함할 수 있다.
일부 실시예에서, 복수의 칩 사이의 통신 지원 장치(400)는, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 연결 고장을 검출하는 제2 고장 검출 모듈; 검출된 연결 고장이 복원 불가능한 것에 응답하여, 하나 또는 복수의 칩의 칩 사이 통신 인터페이스를 거쳐 전송된 서비스를 부가 칩 사이 통신 인터페이스로 전환시키는 서비스 전환 모듈; 및 연결 고장을 리포팅하는 연결 고장 리포팅 모듈을 더 포함할 수 있다.
일부 실시예에서, 복수의 칩 사이의 통신 지원 장치(400)는, 확정된 복수의 칩의 개수에 따라 복수의 칩의 연결 관계를 열거하는 연결 관계 열거 모듈; 및 열거된 연결 관계 중의 사용자에 의해 지정된 연결 관계에 따라 복수의 칩을 구성하는 칩 구성 모듈을 더 포함할 수 있다.
일부 실시예에서, 상기 호스트 컴퓨터는 중앙 처리 장치(CPU)일 수 있고, 상기 복수의 칩은 시스템 온 칩(SoC)일 수 있다.
도 5는 본 발명의 실시예를 실행 가능한 예시적 기기(500)의 예시적인 블록도를 도시한다. 도면에 도시된 바와 같이, 기기(500)는 판독 전용 메모리(ROM)(502)에 저장된 컴퓨터 프로그램 명령 또는 저장 유닛(508)으로부터 랜덤 액세스 메모리(RAM)(503)에 로딩된 컴퓨터 프로그램 명령에 따라, 다양한 적절한 동작 및 처리를 수행할 수 있는 중앙 처리 장치(CPU)(501)를 포함한다. RAM(503)에, 기기(500) 작동에 필요한 다양한 프로그램과 데이터가 더 저장될 수 있다. CPU(501), ROM(502) 및 RAM(503)은 버스(504)를 통해 서로 연결된다. 입력/출력(I/O) 인터페이스(505)도 버스(504)에 연결된다.
예를 들어 키보드, 마우스 등을 포함하는 입력 유닛(506); 예를 들어 다양한 타입의 디스플레이, 스피커 등을 포함하는 출력 유닛(507); 예를 들어 자기 디스크, 광 디스크 등을 포함하는 저장 유닛(508); 및 예를 들어 LAN 카드, 모뎀, 무선 통신 트랜시버 등을 포함하는 통신 유닛(509)을 포함하는 기기(500) 중의 복수의 부재는 I/O 인터페이스(505)에 연결된다. 통신 유닛(509)은 기기(500)가 인터넷과 같은 컴퓨터 네트워크 및/또는 다양한 전기 통신망에 의해 다른 기기와 정보/데이터를 교환할 수 있도록 허용한다.
처리 유닛(501)은 상술한 각각의 방법, 예를 들어 과정(200) 또는 과정(300) 및 처리를 수행한다. 예를 들어, 일부 실시예에서, 과정(200) 또는 과정(300)은 저장 유닛(508)과 같은 기계 판독 가능 매체에 유형으로 포함되는 컴퓨터 소프트웨어 프로그램에 의해 구현될 수 있다. 일부 실시예에서, 컴퓨터 프로그램의 일부 또는 전부는 ROM(502) 및/또는 통신 유닛(509)에 의해 기기(500)에 로딩 및/또는 실장될 수 있다. 컴퓨터 프로그램이 RAM(503)에 로딩되고 CPU(501)에 의해 실행될 경우, 상술한 과정(300)의 하나 또는 복수의 단계를 수행할 수 있다. 대체 가능하게, 다른 실시예에서, CPU(501)는 다른 임의의 적절한 방식(예를 들어, 펌웨어에 의해)에 의해 과정(200) 또는 과정(300)을 수행하도록 구성될 수 있다.
본문에서 이상 설명된 기능은 적어도 일부가 하나 또는 복수의 하드웨어 논리 부재에 의해 실행될 수 있다. 예를 들어, 비제한적으로, 사용 가능한 시범 유형의 하드웨어 논리 부재는 필드 프로그램 가능 게이트 어레이(FPGA), 전용 집적 회로(ASIC), 전용 표준 제품(ASSP), 시스템 온 칩의 시스템(SOC), 복합 프로그램 가능 논리 소자(CPLD) 등을 포함한다.
본 발명의 방법을 구현하는 프로그램 코드는 하나 또는 복수의 프로그래밍 언어의 임의의 조합으로 편집할 수 있다. 이러한 프로그램 코드는 범용 컴퓨터, 전용 컴퓨터 또는 다른 프로그램 가능 데이터 처리 장치의 프로세서 또는 제어기에 제공될 수 있으며, 프로그램 코드는 프로세서 또는 제어기에 의해 실행될 경우, 흐름도 및/또는 블록도에 지정된 기능/작동이 구현되도록 할 수 있다. 프로그램 코드는 완전히 기계에서 실행되거나, 부분적으로 기계에서 실행되거나, 독립형 소프트웨어 패키지로서 기계에서 실행되며, 일부는 원격 기계에서 실행되거나 완전히 원격 기계 또는 서버에서 실행될 수 있다.
본 발명의 컨텍스트에서, 기계 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기에 의해 또는 명령 실행 시스템, 장치 또는 기기와 결합하여 사용하기 위한 프로그램을 포함하거나 저장할 수있는 유형 매체일 수 있다. 기계 판독 가능 매체는 기계 판독 가능 신호 매체 또는 기계 판독 가능 저장 매체일 수 있다. 기계 판독 가능 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 기기, 또는 상기 내용의 임의의 적절한 조합을 포함할 수 있지만 이에 한정되지 않는다. 기계 판독 가능 저장 매체의 보다 구체적인 예는 하나 또는 복수의 와이어에 기반한 전기 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, CD-ROM, 광학 저장 기기, 자기 저장 기기 또는 상술한 내용의 임의의 적절한 조합을 포함한다.
이 밖에, 특정 순서로 각 동작을 설명하였지만, 이는 이러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되도록 요구되거나 모든 도시된 동작들이 예기한 결과에 달성하기 위해 수행되어야 함을 이해해야 한다. 일정한 환경에서, 다수의 미션 및 합병 처리는 유리할 수 있다. 마찬가지로, 상술한 설명에서 여러 개의 구체적인 구현 세부사항이 포함되어 있지만 이것이 본 발명의 범위를 한정하는 것으로 해석되어서는 안된다. 독립적인 실시예의 컨텍스트에서 설명된 특정된 특징은 단일 구현으로 조합되어 구현될 수 있다. 반대로, 단일 구현의 컨텍스트에서 설명된 다양한 특징은 또한 다수의 구현에서 독립적으로 또는 임의의 적절한 하위 조합으로 구현될 수도 있다.
구조 특징 및/또는 방법 논리적 동작에 특정된 언어로 본 주제를 설명하였지만, 첨부된 청구범위에서 한정된 주제는 상술한 특정된 특징 또는 동작에 반드시 한정되는 것은 아님을 이해해야 한다. 반대로, 상술한 특정된 특징 및 동작은 단지 청구범위의 예시적 형태를 구현하기 위한 것이다.

Claims (18)

  1. 복수의 칩 사이의 통신 지원 방법에 있어서,
    호스트 컴퓨터에 의해 관리되는 상기 복수의 칩의 신분 정보를 확정하는 단계 - 상기 복수의 칩은 칩 사이 통신을 위한 각자의 칩 사이 통신 인터페이스를 통해 서로 연결됨 - ;
    상기 복수의 칩 중의 하나 또는 복수의 칩이 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 연결되는 다른 칩의 신분 정보를 획득하도록 하는 단계; 및
    상기 하나 또는 복수의 칩의, 상기 호스트 컴퓨터와 통신하는 관리 인터페이스를 거쳐 상기 다른 칩의 신분 정보를 획득하여 상기 복수의 칩 사이의 연결 관계를 확정하는 단계를 포함하는 복수의 칩 사이의 통신 지원 방법.
  2. 제1항에 있어서,
    상기 복수의 칩 중의 상기 하나 또는 복수의 칩이 상기 다른 칩의 신분 정보를 획득하도록 하는 단계는,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스의 상태 정보를 획득하는 단계;
    상기 상태 정보의 활성화에 응답하여, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 상기 복수의 칩 중의, 상기 칩 사이 통신 인터페이스에 연결되는 다른 칩에 테스트 데이터를 송신하는 단계; 및
    상기 테스트 데이터의 응답 데이터를 수신하는 단계 - 상기 응답 데이터는 상기 다른 칩의 신분 정보를 포함함 - ;를 포함하는 복수의 칩 사이의 통신 지원 방법.
  3. 제2항에 있어서,
    상기 다른 칩에 상기 테스트 데이터를 송신하는 단계는,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 기설정된 주소 범위를 구성하는 단계; 및
    상기 다른 칩의, 상기 기설정된 주소 범위 내에 위치하는 주소에 상기 테스트 데이터를 송신하는 단계를 포함하는 복수의 칩 사이의 통신 지원 방법.
  4. 제1항에 있어서,
    확정된 상기 복수의 칩 사이의 연결 관계를 연결 매트릭스에 저장하는 단계를 더 포함하고,
    상기 연결 매트릭스는,
    상기 복수의 칩의 각자의 칩 사이 통신 인터페이스의 상태 정보; 및
    대역폭 정보 중 적어도 하나를 더 포함하는 복수의 칩 사이의 통신 지원 방법.
  5. 제1항에 있어서,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 연결 고장을 검출하는 단계;
    검출된 상기 연결 고장이 복원 가능한 것에 응답하여, 상기 연결 고장을 복원시키는 단계; 및
    상기 복원의 결과를 리포팅하는 단계를 더 포함하는 복수의 칩 사이의 통신 지원 방법.
  6. 제1항에 있어서,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 연결 고장을 검출하는 단계;
    검출된 상기 연결 고장이 복원 불가능한 것에 응답하여, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스를 거쳐 전송된 서비스를 부가 칩 사이 통신 인터페이스로 전환시키는 단계; 및
    상기 연결 고장을 리포팅하는 단계를 더 포함하는 복수의 칩 사이의 통신 지원 방법.
  7. 제1항에 있어서,
    확정된 상기 복수의 칩의 개수에 따라 상기 복수의 칩의 연결 관계를 열거하는 단계; 및
    열거된 연결 관계 중의 사용자에 의해 지정된 연결 관계에 따라 상기 복수의 칩을 구성하는 단계를 더 포함하는 복수의 칩 사이의 통신 지원 방법.
  8. 제1항에 있어서,
    상기 호스트 컴퓨터는 중앙 처리 장치(CPU)이고, 상기 복수의 칩은 시스템 온 칩(SoC)인 복수의 칩 사이의 통신 지원 방법.
  9. 복수의 칩 사이의 통신 지원 장치에 있어서,
    호스트 컴퓨터에 의해 관리되는 상기 복수의 칩의 신분 정보를 확정하는 신분 정보 확정 모듈 - 상기 복수의 칩은 칩 사이 통신을 위한 각자의 칩 사이 통신 인터페이스를 통해 서로 연결됨 - ;
    상기 복수의 칩 중의 하나 또는 복수의 칩이 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 연결되는 다른 칩의 신분 정보를 획득하도록 하는 칩 명령 모듈; 및
    상기 하나 또는 복수의 칩의, 상기 호스트 컴퓨터와 통신하는 관리 인터페이스를 거쳐 상기 다른 칩의 신분 정보를 획득하여 상기 복수의 칩 사이의 연결 관계를 확정하는 연결 관계 확정 모듈을 포함하는 복수의 칩 사이의 통신 지원 장치.
  10. 제9항에 있어서,
    상기 칩 명령 모듈은,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스의 상태 정보를 획득하는 상태 정보 판독 모듈;
    상기 상태 정보의 활성화에 응답하여, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 상기 복수의 칩 중의, 상기 칩 사이 통신 인터페이스에 연결되는 다른 칩에 테스트 데이터를 송신하는 테스트 데이터 송신 모듈; 및
    상기 테스트 데이터의 응답 데이터를 수신하는 응답 데이터 수신 모듈 - 상기 응답 데이터는 상기 다른 칩의 신분 정보를 포함함 - ;을 더 포함하는 복수의 칩 사이의 통신 지원 장치.
  11. 제10항에 있어서,
    상기 테스트 데이터 송신 모듈은,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스에 기설정된 주소 범위를 구성하는 주소 범위 구성 모듈; 및
    상기 다른 칩의, 상기 기설정된 주소 범위 내에 위치하는 주소에 상기 테스트 데이터를 송신하는 송신 서브 모듈을 더 포함하는 복수의 칩 사이의 통신 지원 장치.
  12. 제9항에 있어서,
    확정된 상기 복수의 칩 사이의 연결 관계를 연결 매트릭스에 저장하는 연결 관계 저장 모듈을 더 포함하고,
    상기 연결 매트릭스는,
    상기 복수의 칩의 각자의 칩 사이 통신 인터페이스의 상태 정보; 및
    대역폭 정보 중 적어도 하나를 더 포함하는 복수의 칩 사이의 통신 지원 장치.
  13. 제9항에 있어서,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 연결 고장을 검출하는 제1 고장 검출 모듈;
    검출된 상기 연결 고장이 복원 가능한 것에 응답하여, 상기 연결 고장을 복원시키는 복원 모듈; 및
    상기 복원의 결과를 리포팅하는 복원 결과 리포팅 모듈을 더 포함하는 복수의 칩 사이의 통신 지원 장치.
  14. 제9항에 있어서,
    상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스가 연결 고장을 검출하는 제2 고장 검출 모듈;
    검출된 상기 연결 고장이 복원 불가능한 것에 응답하여, 상기 하나 또는 복수의 칩의 칩 사이 통신 인터페이스를 거쳐 전송된 서비스를 부가 칩 사이 통신 인터페이스로 전환시키는 서비스 전환 모듈; 및
    상기 연결 고장을 리포팅하는 연결 고장 리포팅 모듈을 더 포함하는 복수의 칩 사이의 통신 지원 장치.
  15. 제9항에 있어서,
    확정된 상기 복수의 칩의 개수에 따라 상기 복수의 칩의 연결 관계를 열거하는 연결 관계 열거 모듈; 및
    열거된 연결 관계 중의 사용자에 의해 지정된 연결 관계에 따라 상기 복수의 칩을 구성하는 칩 구성 모듈을 더 포함하는 복수의 칩 사이의 통신 지원 장치.
  16. 제9항에 있어서,
    상기 호스트 컴퓨터는 중앙 처리 장치(CPU)이고, 상기 복수의 칩은 시스템 온 칩(SoC)인 복수의 칩 사이의 통신 지원 장치.
  17. 하나 또는 복수의 프로세서; 및
    하나 또는 복수의 프로그램이 저장된 저장 장치를 포함하는 전자 기기에 있어서,
    상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수의 프로세서가 제1항 내지 제8항 중 어느 한 항에 따른 복수의 칩 사이의 통신 지원 방법을 구현하도록 하는 전자 기기.
  18. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우 제1항 내지 제8항 중 어느 한 항에 따른 복수의 칩 사이의 통신 지원 방법을 구현하는 컴퓨터 판독 가능 저장 매체.
KR1020200003772A 2019-06-25 2020-01-10 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 KR102350379B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910554661.1 2019-06-25
CN201910554661.1A CN112131174A (zh) 2019-06-25 2019-06-25 支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质

Publications (2)

Publication Number Publication Date
KR20210000648A true KR20210000648A (ko) 2021-01-05
KR102350379B1 KR102350379B1 (ko) 2022-01-18

Family

ID=68848115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003772A KR102350379B1 (ko) 2019-06-25 2020-01-10 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체

Country Status (5)

Country Link
US (1) US11163714B2 (ko)
EP (1) EP3758317B1 (ko)
JP (1) JP7317727B2 (ko)
KR (1) KR102350379B1 (ko)
CN (1) CN112131174A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691591B (zh) * 2020-12-31 2024-06-28 中科寒武纪科技股份有限公司 片间通信的电路、方法和系统
CN113132168B (zh) * 2021-04-29 2023-02-24 上海阵量智能科技有限公司 一种基于PCIe的网络传输配置方法和装置
CN113570049B (zh) * 2021-07-23 2024-05-28 上海新氦类脑智能科技有限公司 多snn芯片互联的相对寻址方法、装置、设备和介质
CN116383122A (zh) * 2023-03-16 2023-07-04 深圳市新国都支付技术有限公司 一种双芯片的通信控制方法和装置、设备、存储介质
CN115994115B (zh) * 2023-03-22 2023-10-20 成都登临科技有限公司 芯片控制方法、芯片组及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US20170039152A1 (en) * 2015-08-03 2017-02-09 Marvell World Trade Ltd. Systems and methods for implementing topology-based identification process in a mochi environment
CN109376116A (zh) * 2019-01-16 2019-02-22 上海燧原智能科技有限公司 芯片网络的拓扑结构的构建方法及芯片节点

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231095A (ja) 1993-01-31 1994-08-19 Hitachi Ltd 多段結合網のデ−タ処理システム
US20020152060A1 (en) * 1998-08-31 2002-10-17 Tseng Ping-Sheng Inter-chip communication system
US6687862B1 (en) * 2000-09-15 2004-02-03 Hewlett-Packard Development Company, L.P. Apparatus and method for fast memory fault analysis
CN101065679B (zh) * 2004-11-22 2010-09-01 飞思卡尔半导体公司 集成电路及用于测试多tap集成电路的方法
US8705344B2 (en) 2006-11-14 2014-04-22 Cisco Technology, Inc. Graceful failover of a principal link in a fiber-channel fabric
US8145880B1 (en) 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
CN101964718B (zh) 2009-07-23 2015-09-16 中兴通讯股份有限公司 以太网双归链路保护切换方法及系统
US9558143B2 (en) * 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
CN105450555B (zh) * 2014-09-26 2018-11-30 杭州华为数字技术有限公司 一种片上网络系统,及片上网络通信链路的建立方法
US20180019976A1 (en) * 2016-07-14 2018-01-18 Intel Corporation System, Apparatus And Method For Massively Scalable Dynamic Multipoint Virtual Private Network Using Group Encryption Keys
CN107894914A (zh) * 2016-09-30 2018-04-10 华为技术有限公司 缓存一致性处理方法和装置
US10789153B2 (en) * 2018-04-03 2020-09-29 Xilinx, Inc. Debug controller circuit
JP7167687B2 (ja) 2018-12-18 2022-11-09 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US20170039152A1 (en) * 2015-08-03 2017-02-09 Marvell World Trade Ltd. Systems and methods for implementing topology-based identification process in a mochi environment
CN109376116A (zh) * 2019-01-16 2019-02-22 上海燧原智能科技有限公司 芯片网络的拓扑结构的构建方法及芯片节点

Also Published As

Publication number Publication date
US20200409895A1 (en) 2020-12-31
JP7317727B2 (ja) 2023-07-31
JP2021005356A (ja) 2021-01-14
EP3758317A1 (en) 2020-12-30
KR102350379B1 (ko) 2022-01-18
US11163714B2 (en) 2021-11-02
CN112131174A (zh) 2020-12-25
EP3758317B1 (en) 2022-07-27

Similar Documents

Publication Publication Date Title
KR20210000648A (ko) 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체
US10210121B2 (en) System for switching between a single node PCIe mode and a multi-node PCIe mode
TWI364663B (en) Configurable pci express switch and method controlling the same
US8972615B2 (en) Communication with input/output system devices
US9154451B2 (en) Systems and methods for sharing devices in a virtualization environment
US9026687B1 (en) Host based enumeration and configuration for computer expansion bus controllers
US8793424B2 (en) Switch apparatus
JP2011133473A (ja) 試験装置、試験方法およびプログラム
US20200412557A1 (en) Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
CN103955441A (zh) 一种设备管理系统、方法及一种io扩展接口
CN116032746B (zh) 资源池的信息处理方法及装置、存储介质及电子装置
CN204117142U (zh) 提供主机即时切换分享通用串行总线电子设备的电子装置
CN112506676B (zh) 进程间的数据传输方法、计算机设备和存储介质
WO2023186143A1 (zh) 一种数据处理方法、主机及相关设备
US10572220B2 (en) Method for controlling controller and host computer with voice
US11042497B2 (en) Communication between field programmable gate arrays
CN117971135B (zh) 存储设备的访问方法、装置、存储介质和电子设备
US20230085624A1 (en) Modular system (switchboards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
US10769041B2 (en) Information processing system, monitoring apparatus, and network device
US20180181440A1 (en) Resource allocation system, apparatus allocation controller and apparatus recognizing method
CN113608935A (zh) 一种测试网卡的方法、系统、设备及介质
CN117421268A (zh) 一种互联系统、设备及网络
CN114629860A (zh) 数据传输方法、装置、业务线卡和存储介质
CN113986457A (zh) 一种远程输入输出设备中断映射装置与方法
CN116723190A (zh) 多节点管理系统、方法、计算机设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right