KR20180105978A - Operation method for electronic device comprising on-chip network - Google Patents
Operation method for electronic device comprising on-chip network Download PDFInfo
- Publication number
- KR20180105978A KR20180105978A KR1020170033370A KR20170033370A KR20180105978A KR 20180105978 A KR20180105978 A KR 20180105978A KR 1020170033370 A KR1020170033370 A KR 1020170033370A KR 20170033370 A KR20170033370 A KR 20170033370A KR 20180105978 A KR20180105978 A KR 20180105978A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- data
- network interface
- interface unit
- command
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 130
- 238000012546 transfer Methods 0.000 claims description 28
- 238000011017 operating method Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 21
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Abstract
Description
본 발명은 전자 장치에 관한 것으로, 좀 더 상세하게는 온칩 네트워크를 포함하는 전자 장치의 동작 방법에 관한 것이다.The present invention relates to electronic devices, and more particularly, to a method of operating an electronic device including an on-chip network.
시스템 온칩(System on Chip, SoC)은 다양한 기능을 수행하는 복잡한 시스템을 하나의 칩으로 집약적으로 구현하는 기술이다. 종래의 시스템 온칩은 시스템 온칩을 내의 IP(Intellectual Property)들을 서로 연결하기 위하여 버스를 이용하였다. 그러나, 시스템 온칩의 집적화 및 고성능화에 대한 수요가 제기됨에 따라, 시스템 온칩의 집적도는 증가하고, IP들의 개수가 증가하고 있다. 또한, IP들 사이의 통신을 위한 정보량이 급격하게 증가하고 있다. 따라서, 버스를 이용한 토폴로지 설계는 공통 배선을 통하여 데이터를 공유하는 점에서 정보 처리에 한계를 갖는다. System on Chip (SoC) is a technology that intensively implements a complex system that performs various functions on one chip. Conventional system-on-chip uses a bus to interconnect IPs (Intellectual Property) in a system-on-chip. However, as the demand for integration and high performance of system-on-chip is raised, the degree of integration of system-on-chip increases and the number of IPs is increasing. In addition, the amount of information for communication between IPs is rapidly increasing. Therefore, the topology design using the bus has limitations on information processing in that data is shared through the common wiring.
이러한 시스템 온칩의 구조적 한계를 극복하기 위하여 컴퓨터 네트워크 기술을 칩 내에 응용하여 IP들을 연결하는 온칩 네트워크(On-Chip Network) 기술이 대두되고 있다. 온칩 네트워크의 네트워크 인터페이스 유닛들을 통해 IP들은 서로 통신할 수 있다. 이러한 온칩 네트워크 기술에 있어서, 여전히 대량의 데이터를 효율적으로 전송하기 위한 요구가 존재한다. In order to overcome the structural limitations of the system-on-a-chip, on-chip network technology for connecting IPs by applying computer network technology in a chip is emerging. IPs can communicate with each other through the network interface units of the on-chip network. In this on-chip network technology, there is still a need to efficiently transmit a large amount of data.
본 발명은 상술된 기술적 과제를 해결하기 위한 것으로써, 본 발명은 대량의데이터를 효과적으로 전송하기 위한 온칩 네트워크를 포함하는 전자 장치의 동작 방법을 제공할 수 있다.SUMMARY OF THE INVENTION The present invention provides a method of operating an electronic device including an on-chip network for efficiently transmitting a large amount of data.
본 발명의 실시 예에 따른 프로세서, 제 1 및 제 2 메모리 장치, 그리고 프로세서와 제 1 및 제 2 메모리 장치를 연결하는 온칩 네트워크를 포함하는 전자 장치의 동작 방법은, 프로세서에서, 데이터 전송 커맨드를 온칩 네트워크를 통해 제 1 메모리 장치에 제공하는 단계, 전송 커맨드에 응답하여, 제 1 메모리에서 독출된 데이터를 온칩 네트워크를 통해 제 2 메모리에 제공하는 단계, 제 2 메모리에서, 제공된 데이터를 기입하는 단계, 그리고 제 2 메모리에서, 데이터 기입 완료 신호를 온칩 네트워크를 통해 프로세서에 제공하는 단계를 포함할 수 있다.An operating method of an electronic device including a processor, a first and a second memory device, and an on-chip network connecting a processor and first and second memory devices according to an embodiment of the present invention, Providing the data read from the first memory to the second memory via the on-chip network in response to the transfer command, writing the provided data in the second memory, And in a second memory, providing a data write completion signal to the processor via the on-chip network.
본 발명의 실시 예에 따른 온칩 네트워크를 포함하는 전자 장치의 동작 방법은 데이터의 통신 효율을 높일 수 있다. 또한, DMA 유닛을 사용하지 않으므로, 전자 장치의 면적 및 소모 전력을 줄일 수 있다.The operation method of the electronic device including the on-chip network according to the embodiment of the present invention can increase the data communication efficiency. Further, since the DMA unit is not used, the area and power consumption of the electronic device can be reduced.
도 1은 온칩 네트워크를 포함하는 전자 장치의 구성 및 데이터 전송 방법을 예시적으로 보여주는 그림이다.
도 2는 도 1에 도시된 온칩 네트워크의 구성을 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 전자 장치의 구성 및 데이터 전송 방법을 보여주는 그림이다.
도 4 및 도 5는 도 3에 도시된 전송 커맨드의 패킷 형식 및 실시 예를 보여주는 그림이다.
도 6 및 도 7은 도 3에 도시된 쓰기 커맨드의 패킷 형식 및 실시 예를 보여주는 그림이다.
도 8 및 도 9는 도 3에 도시된 쓰기 완료 신호의 패킷 형식 및 실시 예를 보여주는 그림이다.
도 10은 도 3에 도시된 제 2 네트워크 인터페이스 유닛의 동작을 설명하기 위한 순서도이다.
도 11은 도 3에 도시된 제 3 네트워크 인터페이스 유닛의 동작을 설명하기 위한 순서도이다.1 is a diagram illustrating an exemplary configuration and data transmission method of an electronic device including an on-chip network.
2 is a block diagram illustrating the configuration of the on-chip network shown in FIG.
3 is a diagram illustrating a configuration of an electronic device and a data transmission method according to an embodiment of the present invention.
FIG. 4 and FIG. 5 are diagrams showing a packet format and an embodiment of the transmission command shown in FIG.
6 and 7 are diagrams showing a packet format and an embodiment of the write command shown in FIG.
FIG. 8 and FIG. 9 are diagrams showing the packet format and the embodiment of the write completion signal shown in FIG.
10 is a flowchart for explaining the operation of the second network interface unit shown in FIG.
11 is a flowchart for explaining the operation of the third network interface unit shown in FIG.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.In the following, embodiments of the present invention will be described in detail and in detail so that those skilled in the art can easily carry out the present invention.
도 1은 온칩 네트워크를 포함하는 전자 장치의 구성 및 데이터 전송 방법을 예시적으로 보여주는 그림이다. 도 1을 참조하면, 전자 장치(100)는 프로세서(110), 제 1 메모리(120), 제 2 메모리(130), DMA(Direct Memory Access) 유닛(140), 그리고 온칩 네트워크(150)를 포함할 수 있다. 예를 들어, 전자 장치(100)는 상술한 구성 요소들을 하나의 칩에 집적한 SoC(System on Chip) 형태로 구현될 수 있다. 혹은, 전자 장치(100)는 상술한 구성 요소들 중 적어도 하나가 모듈(module) 또는 칩(chip)으로 구현되도록 구성될 수 있다.1 is a diagram illustrating an exemplary configuration and data transmission method of an electronic device including an on-chip network. 1, an
전자 장치(100)는 하나 이상의 프로세서들을 포함하는 컴퓨팅 장치(예컨대, 퍼스널 컴퓨터(Personal Computer), 주변 장치, 디지털 카메라, PDA(Personal Digital Assistant), PMP(Portable Media Player), 스마트폰(Smartphone), 태블릿(Tablet), 웨어러블(Wearable) 장치 등)에 포함될 수 있다. 다만, 본 발명은 상술한 예들에 제한되지 않는다.The
프로세서(110)는 전자 장치(100)의 전반적인 동작들을 관리하고 처리하기 위해, 다양한 산술 연산/논리 연산을 수행할 수 있다. 예를 들어, 프로세서(110)는 범용 프로세서 또는 어플리케이션 프로세서(Application Processor)를 포함하는 프로세서 회로 또는 시스템일 수 있다. 프로세서(110)는 포트(a)를 통해 온칩 네트워크(150)와 연결된다. 프로세서(110)는 온칩 네트워크(150)를 통해 DMA 유닛(140), 제 1 메모리(120), 그리고 제 2 메모리(130)와 통신할 수 있다.The
제 1 및 제 2 메모리(120, 130)는 각각 포트(c, d)를 통해 온칩 네트워크(150)와 연결된다. 제 1 및 제 2 메모리(120, 130)는 각각, 온칩 네트워크(150)를 통해, 프로세서(110)로부터 제공된 데이터 또는 프로세서(110)로 제공될 데이터를 저장할 수 있다. 온칩 네트워크(150)를 통해, 제 1 및 제 2 메모리(120, 130)는 각각 서로 통신하거나 DMA 유닛(140)과 통신할 수 있다. The first and
제 1 메모리 또는 제 2 메모리(120, 130)는 각각 휘발성 메모리 또는 불휘발성 메모리를 포함하는 어떠한 저장 매체로든 구현될 수 있다. 예를 들어, 제 1 메모리 또는 제 2 메모리(120, 130)가 휘발성 메모리를 포함하는 경우, 제 1 메모리 또는 제 2 메모리(120, 130)는 DRAM(Dynamic random access memory), SRAM(Static random access memory), TRAM(Thyristor RAM), Z-RAM(Zero capacitor RAM), 또는 TTRAM(Twin transistor RAM), MRAM 등을 포함할 수 있다. 예를 들어, 제 1 메모리 또는 제 2 메모리(120, 130)는 UDIMM(Unbuffered Dual In-Line Memory Module), RDIMM(Registered DIMM), LRDIMM(Load Reduced DIMM), NVDIMM(Non Volatile DIMM) 등을 포함할 수 있다. The first memory or the
예를 들어, 제 1 메모리 또는 제 2 메모리(120, 130)가 불휘발성 메모리를 포함하는 경우, 제 1 메모리 또는 제 2 메모리(120, 130)는 EPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(Flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM (Spin-Transfer Torque MRAM), Conductive bridging RAM(CBRAM), FeRAM (Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM: RRAM), 나노튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory:NFGM), 홀로그래픽 메모리 (holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)를 포함할 수 있다. 불휘발성 메모리의 단위 셀에는 1비트 또는 그 이상의 비트들이 저장될 수 있다. 상술한 예들은 본 발명을 제한하기 위한 것은 아니다.For example, when the first memory or the
이하에서, 설명의 편의를 위해, 제 1 및 제 2 메모리(120, 130)가 각각 단일 메모리 장치를 포함하는 것으로 가정한다. 다만, 상술한 바와 같이, 본 발명은 다양한 메모리 장치에 적용될 수 있음은 쉽게 이해될 것이다.Hereinafter, for convenience of explanation, it is assumed that each of the first and
DMA 유닛(140)은 포트(b)를 통해 온칩 네트워크(150)와 연결된다. DMA 유닛(140)은 프로세서(110)로부터 제공된 데이터 전송 커맨드에 응답하여 복수의 연속된 데이터를 일괄적으로 처리한다. DMA 유닛(140)은 온칩 네트워크(150)를 통해 프로세서(110), 제 1 메모리(120), 그리고 제 2 메모리(130)와 통신할 수 있다.
도 1과 달리, 전자 장치(100)는 DMA 유닛(140)을 포함하지 않을 수 있다. 이 경우, 전자 장치(100)의 동작 중에, 프로세서(110)가 데이터 전송 커맨드를 제 1 메모리(120)에 제공할 수 있다. 이하에서, 예를 들어, 데이터 전송 커맨드는 제 1 메모리(120)에 저장된 32 개의 데이터를 제 2 메모리(130)로 전송하기 위한 커맨드라 가정한다. 데이터를 전송하기 위해, 먼저, 프로세서(110)는 제 1 메모리(120)에 저장된 데이터를 독출하여 프로세서(110)에 포함된 버퍼(미도시)에 저장한다. 이어, 프로세서(110)는 버퍼(미도시)에 저장된 데이터를 제 2 메모리(130)에 기입한다. 프로세서(110)는 이러한 과정을 32 개의 데이터에 대하여 반복하여 수행한다.Unlike FIG. 1, the
반면, 도 1에 도시된 바와 같이, 전자 장치(100)가 DMA 유닛(140)을 포함할 수 있다. DMA 유닛(140)은 상술한 데이터 전송 과정을 단순화할 수 있다. DMA 유닛(140)을 포함하는 전자 장치(100)가 복수의 데이터를 전송하는 동작이 이하에서 설명될 것이다.On the other hand, as shown in FIG. 1, the
온칩 네트워크(150)는 프로세서(110), 제 1 및 제 2 메모리(120, 130), 그리고 DMA 유닛(140)을 서로 연결한다. 예를 들어, 온칩 네트워크(150)는 단일 모듈 혹은 단일 칩으로 구성될 수 있다. 온칩 네트워크(150)의 예시적인 구성은 도 2를 참조하여 설명될 것이다.The on-
온칩 네트워크(150)는 확장성(scalability) 및 유연성(flexibility)을 갖는다. 온칩 네트워크(150)는 전자 장치(100)의 데이터 트래픽에 따라 선택된 네트워크 구조로 설계되거나 구성될 수 있다. 온칩 네트워크(150)는 전자 장치(100)의 시스템 설계 시에 요구되는 다양한 대역폭(bandwidth) 및 대기시간(latency), QoS(Quality of service) 등을 보장하는 다양한 설정을 지원한다. The on-
도 1에 도시된 전자 장치(100)가 복수의 데이터를 제 1 메모리(120)에서 제 2 메모리(130)로 전송하는 동작은 다음과 같다. 먼저, 프로세서(110)는 포트(a), 온칩 네트워크(150), 그리고 포트(b)를 통해 DMA 유닛(140)에 데이터 전송 커맨드를 제공한다(단계 ①). 상술한 바와 같이, 데이터 전송 커맨드는 제 1 메모리(120)에 저장된 32 개의 데이터를 제 2 메모리(130)로 전송하기 위한 커맨드일 수 있다. 예를 들어, 데이터 전송 커맨드와 함께, 프로세서(110)는 제 1 메모리(120)가 연결된 네트워크 인터페이스 유닛(미도시)의 ID, 데이터가 저장된 제 1 메모리(120) 내의 주소, 데이터가 저장될 제 2 메모리(130) 내의 주소 등을 DMA 유닛(140)에 전송할 수 있다.The operation in which the
데이터 전송 커맨드에 응답하여, DMA 유닛(140)은 읽기 커맨드를 생성한다. DMA 유닛(140)은 읽기 커맨드를 포트(b), 온칩 네트워크(150), 포트(d)를 통해 제 1 메모리(120)로 전송한다(단계 ②). 읽기 커맨드에 응답하여, 제 1 메모리(120)는 저장된 데이터를 독출한다. 예를 들어, 독출된 데이터는 32 개의 데이터 중 첫 번째 데이터를 포함할 수 있다. 버스트 랭스(Burst Length)에 따라, 제 1 메모리(120)가 해당 읽기 요청에 의해 출력하는 데이터의 개수는 달라질 수 있다. 이하에서, 제 1 메모리(120)의 버스트 랭스가 1이라 가정한다. 또한, 설명의 편의를 위해 제 1 메모리(120)의 데이터 패드는 1개라 가정한다. 이 경우, 제 1 메모리(120)는 하나의 읽기 커맨드에 대하여 1 개의 데이터를 출력할 수 있다. 다만, 본 발명은 상술한 예에 제한되지 않는다.In response to the data transfer command, the
제 1 메모리(120)는 독출된 데이터를 DMA 유닛(140)에 제공한다(단계 ③). DMA 유닛(140)은 제공된 데이터를 버퍼(141)에 저장한다. DMA 유닛(140)은 쓰기 커맨드를 제 2 메모리(130)에 제공한다(단계 ④). DMA 유닛(140)은 쓰기 커맨드와 함께 버퍼(141)에 저장된 데이터를 제 2 메모리(130)에 제공한다. 제 2 메모리(130)는 제공된 데이터를 저장한다. 제 2 메모리(130)가 데이터를 저장한 이후, 제 1 메모리(120), 제 2 메모리(130), 그리고 DMA 유닛(140)은 32 개의 데이터 모두에 대하여 단계 ②, ③, ④를 반복한다. The
제 2 메모리(130)가 32 개의 데이터를 모두 저장한 이후, 제 2 메모리(130)는 DMA 유닛(140)에 쓰기 완료 신호를 전송한다(단계 ⑤). DMA 유닛(140)은 프로세서(110)에 쓰기 완료 신호를 피드백한다(단계 ⑥). 도 1의 실시 예에서, 복수의 연속된 데이터를 제 1 메모리(120)에서 제 2 메모리(130)로 전송하기 위해, 전자 장치(100)는 DMA 유닛(140)을 구비해야 한다. After the
도 2는 도 1에 도시된 온칩 네트워크의 구성을 보여주는 블록도이다. 도 2를 참조하면, 온칩 네트워크(150)는 포트(a, b, c, d), 제 1 내지 제 4 네트워크 인터페이스 유닛(NIU: Network Interface Unit)(151~154), 그리고 스위치 유닛(155)를 포함할 수 있다. 2 is a block diagram illustrating the configuration of the on-chip network shown in FIG. 2, the on-
도 2에 도시된 온칩 네트워크(150)는 패킷 스위칭 네트워크(Packet Switching Network)로 구성된다. 온칩 네트워크(150)의 포트(a, b, c, d)와 각각 연결된 IP 코어들(예를 들어, 도 1에 도시된 프로세서(110), 제 1 및 제 2 메모리(120, 130), 그리고 DMA 유닛(140) 등) 간의 통신은 패킷의 형태로 이루어 진다. The on-
패킷은 헤더 필드, 주소 필드, 데이터 필드를 포함할 수 있다. 헤더 필드는 패킷의 라우팅(routing) 정보, 패킷의 종류, 패킷의 크기 등의 정보를 포함할 수 있다. 주소 필드는 패킷의 목적지의 주소를 포함할 수 있다. 예를 들어, 주소 필드는 IP 코어가 연결된 네트워크 인터페이스 유닛의 ID, 데이터가 저장된 메모리 내의 주소 등을 포함할 수 있다. 데이터 필드는 복수의 데이터가 실리는 페이로드(Payload)를 포함할 수 있다. 데이터 필드의 크기는 헤더 필드에 명기될 수 있다.The packet may include a header field, an address field, and a data field. The header field may contain information such as routing information of the packet, the type of the packet, the size of the packet, and the like. The address field may contain the address of the destination of the packet. For example, the address field may include an ID of a network interface unit to which the IP core is connected, an address in a memory where data is stored, and the like. The data field may include a payload carrying a plurality of data. The size of the data field may be specified in the header field.
제 1 네트워크 인터페이스 유닛(151)은 포트(a)와 스위치 유닛(155) 사이에 연결된다. 제 2 네트워크 인터페이스 유닛(152)은 포트(c)와 스위치 유닛(155) 사이에 연결된다. 제 3 네트워크 인터페이스 유닛(153)은 포트(d)와 스위치 유닛(155) 사이에 연결된다. 제 4 네트워크 인터페이스 유닛(154)은 포트(b)와 스위치 유닛(155) 사이에 연결된다.The first
도시되지 않았지만, 제 1 내지 제 4 네트워크 인터페이스 유닛(151~154)은 각각 마스터 네트워크 인터페이스 유닛(Master Network Interface Unit) 및 슬레이브 네트워크 인터페이스 유닛(Slave Network Interface Unit) 중 적어도 하나를 포함할 수 있다. 설명의 편의를 위해, 제 1 내지 제 4 네트워크 인터페이스 유닛(151~154)은 제 1 및 3 네트워크 인터페이스 유닛(151, 153)을 예로서 설명될 것이다. 예를 들어, 제 1 네트워크 인터페이스 유닛(151)은 마스터 네트워크 인터페이스 유닛을 포함할 수 있고, 제 3 네트워크 인터페이스 유닛(153)은 슬레이브 네트워크 인터페이스 유닛을 포함할 수 있다.Although not shown, the first to fourth
제 1 네트워크 인터페이스 유닛(151)의 마스터 인터페이스 유닛은 마스터 IP(예를 들어, 도 1의 프로세서(110))로부터 정보를 수신하여 스위치 유닛(155)으로 정보를 전달한다. 마스터 인터페이스 유닛은 마스터 IP로부터 수신한 정보를 패킷화하여 스위치 유닛(155)으로 출력할 수 있다. 마스터 인터페이스 유닛은 온칩 네트워크(150)에 트랜잭션(transaction)을 요청할 수 있다.The master interface unit of the first
제 3 네트워크 인터페이스 유닛(153)의 슬레이브 인터페이스 유닛은 슬레이브 IP(예를 들어, 제 1 메모리(120))에 정보를 전달한다. 슬레이브 인터페이스 유닛은 패킷화된 정보를 해석하여 슬레이브 IP에 해석된 정보를 제공한다. 또한, 슬레이브 인터페이스 유닛은 슬레이브 IP로부터 대응되는 정보를 수신하고 패킷화하여 스위치 유닛(155)에 정보를 전달할 수 있다. 슬레이브 인터페이스 유닛은 트랜잭션 요청에 대응하여 서비스를 제공할 수 있다.The slave interface unit of the third
스위치 유닛(155)은 제 1 내지 제 4 네트워크 인터페이스 유닛(151~154)으로부터 출력되는 정보를 제 1 내지 제 4 네트워크 인터페이스 유닛(151~154) 중 선택된 유닛으로 제공할 수 있다. 예를 들어, 스위치 유닛(155)은 제 1 네트워크 인터페이스 유닛(151)의 마스터 인터페이스 유닛으로부터 수신한 정보를 제 2 내지 제 4 네트워크 인터페이스 유닛(152~154) 중 적어도 하나의 슬레이브 인터페이스 유닛에 제공할 수 있다. 또는, 스위치 유닛(155)은 제 2 내지 제 4 네트워크 인터페이스 유닛(152~154) 중 적어도 하나의 슬레이브 인터페이스 유닛으로부터 수신한 정보를 제 1 네트워크 인터페이스 유닛(151)의 마스터 인터페이스 유닛에 제공할 수 있다. 다만, 본 발명은 상술한 예에 제한되지 않는다.The
도시되지 않았지만, 스위치 유닛(155)은 네트워크를 구성하기 위해 신호 전송 경로를 변경할 수 있는 복수의 스위치를 포함할 수 있다. 복수의 스위치는 각각 패킷화된 정보를 수신할 수 있다. 복수의 스위치는 각각 패킷화된 정보에 포함된 어드레스에 근거하여 적합한 포트로 정보를 제공할 수 있다. 즉, 복수의 스위치는 각각 입력 포트로 제공된 패킷들을 패킷 헤더 내에 저장된 목적지 주소에 따라 적절한 출력 포트로 연결하는 라우터(router)의 기능을 수행한다. 정보 전달을 위하여 경유되는 복수의 스위치의 개수는 스위치 각각의 특성, 네트워크의 효율성, 및 요구되는 정보 전달 경로를 고려하여 결정될 수 있다.Although not shown, the
제 1 네트워크 인터페이스 유닛(151)은 스위치 유닛(155)을 통해 제 2 내지 제 4 네트워크 인터페이스 유닛(152~154) 중 적어도 하나에 정보를 전달할 수 있다. 제 2 네트워크 인터페이스 유닛(152)은 스위치 유닛(155)을 통해 제 1, 제 3, 그리고 제 4 네트워크 인터페이스 유닛(151, 153, 154) 중 적어도 하나에 정보를 전달할 수 있다. 제 3 네트워크 인터페이스 유닛(153)은 스위치 유닛(155)을 통해 제 1, 제 2, 그리고 제 4 네트워크 인터페이스 유닛(151, 152, 154) 중 적어도 하나에 정보를 전달할 수 있다. 제 4 네트워크 인터페이스 유닛(154)은 스위치 유닛(155)을 통해 제 1 내지 제 3 네트워크 인터페이스 유닛(151~153) 중 적어도 하나에 정보를 전달할 수 있다.The first
도 3은 본 발명의 실시 예에 따른 전자 장치의 구성 및 데이터 전송 방법을 보여주는 그림이다. 도 3을 참조하면, 전자 장치(1000)는 프로세서(1100), 제 1 및 제 2 메모리(1200, 1300), 그리고 온칩 네트워크(1400)를 포함할 수 있다. 프로세서(1100), 제 1 및 제 2 메모리(1200, 1300), 그리고 온칩 네트워크(1400)에 포함된 제 1 내지 제 3 네트워크 인터페이스 유닛(1410~1430)의 구성 및 기능은 도 1 및 도 2를 참조하여 설명된 바와 동일하다.3 is a diagram illustrating a configuration of an electronic device and a data transmission method according to an embodiment of the present invention. 3, an
도 1의 전자 장치(100)와 비교하여, 도 3의 전자 장치(1000)는 도 1에 도시된 DMA 유닛(140)을 포함하지 않는다. 이러한 구성에 의해, 도 3의 전자 장치(1000)는 데이터 전송 커맨드를 보다 단순한 과정을 통해 처리할 수 있다.In contrast to the
도 3에 도시된 전자 장치(1000)가 복수의 데이터를 전송하는 동작은 다음과 같다. 먼저, 프로세서(1100)는 포트(a'), 제 1 네트워크 인터페이스 유닛(1410), 스위치 유닛(1440), 제 2 네트워크 인터페이스 유닛(1420), 그리고 포트(b')를 통해 제 1 메모리(1200)에 데이터 전송 커맨드를 제공한다(단계 ①). 도 1에서 기술한 바와 같이, 데이터 전송 커맨드는 제 1 메모리(1200)에 저장된 32 개의 데이터를 제 2 메모리(1300)로 전송하기 위한 커맨드일 수 있다. 데이터 전송 커맨드의 패킷 형식 및 그 실시 예는 도 4 및 도 5를 참조하여 자세히 설명될 것이다.The operation in which the
데이터 전송 커맨드에 응답하여, 제 1 메모리(1200)는 저장된 데이터를 메모리 셀로부터 독출한다. 포트(b'), 제 2 네트워크 인터페이스 유닛(1420), 스위치 유닛(1440), 제 3 네트워크 인터페이스 유닛(1430), 그리고 포트(c')를 통해, 제 1 메모리(1200)는 독출된 데이터를 데이터의 쓰기 커맨드와 함께 제 2 메모리(1300)로 전송한다(단계 ②). 예를 들어, 독출된 데이터는 32 개의 데이터 중 첫 번째 데이터를 포함할 수 있다. 데이터의 쓰기 커맨드의 패킷 형식 및 그 실시 예는 도 6 및 도 7을 참조하여 자세히 설명될 것이다.In response to the data transfer command, the
도 1에서 가정한 바와 같이, 제 1 메모리(1200)의 버스트 랭스는 1이고, 제 1 메모리(1200)는 하나의 데이터 패드를 포함한다고 가정한다. 32 개의 데이터를 모두 출력하기 위해, 제 1 메모리(1200)는 단계 ②를 32번 반복할 수 있다. 제 1 메모리(1200)의 버스트 랭스 또는 데이터 패드의 수에 따라, 제 1 메모리(1200)가 단계 ②를 수행하는 횟수는 달라질 수 있다. 예를 들어, 버스트 랭스 또는 데이터 패드의 수가 증가하면, 제 1 메모리(1200)가 하나의 읽기 커맨드에 의해 출력하는 데이터의 수가 증가한다. 이 경우, 제 1 메모리(1200)가 단계 ②를 수행하는 횟수는 줄어들 수 있다.As assumed in FIG. 1, it is assumed that the burst length of the
제 2 메모리(1300)는 제공된 32 개의 데이터를 메모리 셀에 기입한다. 기입이 완료된 이후, 제 2 메모리(1300)는 쓰기 완료 신호를 생성한다. 포트(c'), 제 3 네트워크 인터페이스 유닛(1430), 스위치 유닛(1440), 제 1 네트워크 인터페이스 유닛(1410), 그리고 포트(a')를 통해, 제 2 메모리(1300)는 쓰기 완료 신호를 프로세서(1100)에 제공한다(단계 ③). 쓰기 완료 신호의 패킷 형태 및 그 실시 예는 도 8 및 도 9를 참조하여 자세히 설명될 것이다.The
상술한 바와 같이, 도 3의 전자 장치(1000)는 DMA 유닛을 포함하지 않는다. 도 3의 전자 장치(1000) 내에서 복수의 데이터의 전송이 수행되는 과정은 DMA 유닛을 거치지 않고 수행된다. 즉, 데이터의 전송 커맨드에 의해, 데이터는 제 1 메모리(1200)에서 제 2 메모리(1300)로 직접 전송된다. 따라서, 데이터의 전송 과정이 단순화된다. 결과적으로, 전송 커맨드에 따른 IP 코어들 사이의 복수의 데이터의 전송 속도가 증가될 수 있다.As described above, the
도 4 및 도 5는 도 3에 도시된 전송 커맨드의 패킷 형식 및 실시 예를 보여주는 그림이다. 도 4 및 도 5의 그림은 도 3을 참조하여 설명될 것이다. 도 4를 참조하면, 전송 커맨드의 패킷은 커맨드(Command) 필드, Target ID_From 필드, 소스(Source) ID 필드, Target ID_To 필드, Target Address_From 필드, Target Address_To 필드, 그리고 페이로드(Payload) 필드를 포함할 수 있다. 필드의 이름은 예시적인 것으로, 본 발명은 이에 제한되지 않는다.FIG. 4 and FIG. 5 are diagrams showing a packet format and an embodiment of the transmission command shown in FIG. 4 and 5 will be described with reference to FIG. 4, a packet of a transmission command includes a Command field, a Target ID_From field, a Source ID field, a Target ID_To field, a Target Address_From field, a Target Address_To field, and a Payload field . The names of the fields are illustrative, and the present invention is not limited thereto.
커맨드 필드는 해당 패킷의 종류를 정의한다. 커맨드 필드에는 읽기 커맨드, 쓰기 커맨드, 쓰기 데이터, 읽기 데이터 등의 정보가 기재될 수 있다. 도 5의 실시 예에서, 커맨드 필드에 데이터의 전송 커맨드가 기재된 것으로 도시되었다. 도 1 내지 도 3에서 상술한 바와 같이, 데이터의 전송 커맨드는 제 1 메모리(1200)에 저장된 32 개의 데이터를 제 2 메모리(1300)로 전송하기 위한 커맨드일 수 있다.The command field defines the type of the packet. In the command field, information such as a read command, a write command, write data, and read data can be described. In the embodiment of FIG. 5, a command for transmitting data is described in the command field. As described above with reference to FIGS. 1 to 3, the data transfer command may be a command for transferring the 32 data stored in the
다시 도 4로 돌아오면, Target ID_From 필드에는 전송될 데이터가 저장되어 있는 IP(예를 들어, 제 1 메모리(1200))와 연결된 네트워크 인터페이스 유닛의 ID가 기재된다. 소스 ID 필드에는 출발지 네트워크 인터페이스의 ID가 기재된다. Target ID_To 필드에는 데이터가 전송될 IP(예를 들어, 제 2 메모리(1300))와 연결된 네트워크 인터페이스 유닛의 ID가 기재된다. Target Address_From 필드에는 전송될 데이터가 저장된 IP 내에서 데이터가 저장되어 있는 주소가 기재된다. Target Address_To 필드에는 데이터가 전송될 IP 내에서 데이터가 기입될 주소가 기재된다. 페이로드 필드에는 읽기 데이터 또는 쓰기 데이터가 기재된다. 4, the ID of the network interface unit connected to the IP (for example, the first memory 1200) in which the data to be transferred is stored is described in the Target ID_From field. The source ID field describes the ID of the source network interface. In the Target ID_To field, the ID of the network interface unit connected to the IP (for example, the second memory 1300) to which data is to be transmitted is described. In the Target Address_From field, the address where data is stored in the IP where the data to be transmitted is stored is described. The Target Address_To field describes the address at which data is to be written in the IP to which data is to be transmitted. The payload field describes the read data or the write data.
즉, 도 4 및 도 5의 실시 예에서, Target ID_From 필드 및 Target Address_From 필드에는 제 1 메모리(1200)에 대한 정보가 기재될 것이다. 소스 ID 필드에는 프로세서(1100)에 대한 정보가 기재될 것이다. Target ID_To 필드 및 Target Address_To 필드에는 제 2 메모리(1300)에 대한 정보가 기재될 것이다.That is, in the embodiment of FIGS. 4 and 5, information about the
도 5를 참조하면, 전송 커맨드 패킷의 예시적인 실시 예가 도시되었다. 커맨드 필드에 기재된 전송 커맨드를 참조하여, 도 5의 패킷은 전송 커맨드의 패킷인 것을 알 수 있다. 패킷은 소스 ID에 기재된 제 1 네트워크 인터페이스 유닛(1410)으로부터 제공된다. 즉, 전송 커맨드는 제 1 네트워크 인터페이스 유닛(1410)과 연결된 프로세서(1100)로부터 제공되었다는 것을 알 수 있다. 또한, 패킷은 Target ID_From 필드에 기재된 제 2 네트워크 인터페이스 유닛(1420)으로부터 Target ID_To 필드에 기재된 제 3 네트워크 인터페이스 유닛(1430)으로 데이터를 전송하도록 전송 커맨드를 정의한다. 즉, 패킷에 포함된 전송 커맨드에 의해, 제 2 네트워크 인터페이스 유닛(1420)과 연결된 제 1 메모리(1200)에서 제 3 네트워크 인터페이스 유닛(1430)과 연결된 제 2 메모리(1300)로 데이터가 전송된다. Referring to Fig. 5, an exemplary embodiment of a transmission command packet is shown. By referring to the transmission command written in the command field, it can be seen that the packet of Fig. 5 is a packet of the transmission command. The packet is provided from the first
또한, 도 5의 패킷에 기재된 정보를 참조하면, 데이터는 Target Address_From 필드에 기재된 제 1 메모리(1200)의 주소 '0x00001000'로부터 독출된다. 예를 들어, 제 1 메모리(1200)의 주소 '0x00001000'부터 순서대로 32 개의 데이터가 독출될 수 있다. 독출된 데이터는 Target Address_To 필드에 기재된 제 2 메모리(1300)의 주소 '0x0000F000'에 기입된다. 제 2 네트워크 인터페이스 유닛(1420)은 제공된 전송 커맨드의 패킷을 해석하여 도 6 및 도 7에 도시된 쓰기 커맨드의 패킷을 생성한다. 상술한 필드들에 기재되는 정보들은 도 6 내지 도 9에도 동일하게 적용될 수 있다. 5, the data is read from the address '0x00001000' of the
도 6 및 도 7은 도 3에 도시된 쓰기 커맨드의 패킷 형식 및 실시 예를 보여주는 그림이다. 도 6 및 도 7의 그림은 도 3을 참조하여 설명될 것이다. 도 6을 참조하면, 쓰기 커맨드의 패킷은 커맨드 필드, Target ID_To 필드, 소스 ID 필드, Target Address_To 필드, 그리고 쓰기 데이터 필드를 포함할 수 있다. 커맨드 필드, Target ID_To 필드, 소스 ID 필드, 그리고 Target Address_To 필드는 도 4 및 도 5에서 설명된 바와 같다.6 and 7 are diagrams showing a packet format and an embodiment of the write command shown in FIG. 6 and 7 will be described with reference to FIG. Referring to FIG. 6, the packet of the write command may include a command field, a Target ID_To field, a source ID field, a Target Address_To field, and a write data field. The command field, the Target ID_To field, the source ID field, and the Target Address_To field are as described in FIGS.
쓰기 데이터 필드에는 제 1 메모리(1200)의 주소 '0x00001000'에서 독출된 데이터가 기재된다. 도 1에서 상술한 바와 같이, 제 1 메모리(1200)의 버스트 랭스는 1이고, 제 1 메모리(1200)는 하나의 데이터 패드를 포함한다고 가정한다. 도 4 및 도 5의 실시 예에서, 쓰기 데이터 필드에는 제 1 메모리(1200)의 주소 '0x00001000'에서 독출된 1 개의 데이터가 기재될 수 있다. 32 개의 데이터를 모두 제 2 메모리(1300)에 제공하기 위해, 제 1 메모리(1200)는 32 개의 쓰기 커맨드의 패킷을 생성하여 제 2 메모리(1300)에 제공한다. 32 개의 쓰기 커맨드의 패킷 각각은 주소 '0x00001000'부터 순서대로 독출된 32 개의 데이터를 하나씩 포함한다.In the write data field, data read from the address '0x00001000' of the
도 7을 참조하면, 쓰기 커맨드 패킷의 예시적인 실시 예가 도시되었다. 커맨드 필드에 기재된 쓰기 커맨드를 참조하면, 도 7의 패킷이 쓰기 커맨드의 패킷인 것을 알 수 있다. 소스 ID 필드에 제 1 네트워크 인터페이스 유닛(1410)의 ID가 기재되어 있다. 소스 ID 필드의 정보는 도 8 및 도 9에서 설명될 쓰기 완료 신호의 패킷의 목적지를 설정하기 위해 사용될 수 있다.Referring to FIG. 7, an exemplary embodiment of a write command packet is shown. By referring to the write command written in the command field, it can be seen that the packet of Fig. 7 is a packet of the write command. The ID of the first
패킷의 최종 목적지는 Target ID_To 필드에 기재된 제 3 네트워크 인터페이스 유닛(1430)이다. 도 7의 패킷에 기재된 정보를 참조하면, 쓰기 데이터 필드에 포함된 데이터는 Target Address_To 필드에 기재된 제 2 메모리(1300)의 주소 '0x0000F000'에 차례로 기입된다. 제 3 네트워크 인터페이스 유닛(1430)이 제 2 메모리(1300)로 32 개의 데이터를 모두 전송한 이후, 제 3 네트워크 인터페이스 유닛(1430)은 도 8 및 도 9에 도시된 쓰기 완료 신호의 패킷을 생성한다. The final destination of the packet is the third
도 8 및 도 9는 도 3에 도시된 쓰기 완료 신호의 패킷 형식 및 실시 예를 보여주는 그림이다. 도 8을 참조하면, 쓰기 완료 신호의 패킷은 커맨드 필드, Target ID_To 필드, 그리고 소스 ID 필드를 포함할 수 있다. 커맨드 필드, Target ID_To 필드, 그리고 소스 ID 필드는 도 4 및 도 5에서 설명된 바와 같다. FIG. 8 and FIG. 9 are diagrams showing the packet format and the embodiment of the write completion signal shown in FIG. Referring to FIG. 8, the packet of the write completion signal may include a command field, a Target ID_To field, and a source ID field. The command field, Target ID_To field, and Source ID field are as described in FIGS.
도 9를 참조하면, 쓰기 완료 신호의 패킷의 예시적인 실시 예가 도시되었다. 커맨드 필드에 기재된 쓰기 완료 정보를 참조하면, 도 9의 패킷이 쓰기 완료 신호의 패킷인 것을 알 수 있다. 즉, 도 9의 쓰기 완료 신호의 패킷은 Target ID_To 필드에 기재된 제 3 네트워크 인터페이스 유닛(1430)으로의 데이터 전송이 완료되었다는 정보를 포함한다. 패킷의 최종 목적지는 소스 ID 필드에 기재된 제 1 네트워크 인터페이스 유닛(1410)이다. 소스 ID 필드를 참조하여, 쓰기 완료 신호의 패킷이 제 1 네트워크 인터페이스 유닛(1410)으로 전송된다. 이에 따라, 프로세서(1100)는 제 1 네트워크 인터페이스 유닛(1410)을 통해 제 1 및 제 2 메모리(1200, 1300)로 제공했던 전송 커맨드가 수행되었음을 피드백 받을 수 있다. Referring to FIG. 9, an exemplary embodiment of a packet of a write completion signal is shown. Referring to the write completion information written in the command field, it can be seen that the packet of Fig. 9 is a packet of a write completion signal. That is, the packet of the write completion signal of FIG. 9 includes information that the data transmission to the third
도 10은 도 3에 도시된 제 2 네트워크 인터페이스 유닛의 동작을 설명하기 위한 순서도이다. 제 2 네트워크 인터페이스 유닛(1420)은 제 1 네트워크 인터페이스 유닛(1410)으로부터 전송 커맨드의 패킷을 제공받는다(S110). 전송 커맨드의 패킷에 포함된 정보는 제 1 메모리(1200)로 제공된다. 제 1 메모리(1200)는 정보에 포함된 주소로부터 데이터를 독출한다. 제 2 네트워크 인터페이스 유닛(1420)은 제 1 메모리(1200)로부터 독출된 데이터를 제공받는다(S120). 제 2 네트워크 인터페이스 유닛(1420)은 전송 커맨드의 패킷을 해석하고, 해석된 패킷과 독출된 데이터를 기초로 쓰기 커맨드의 패킷을 생성한다. 10 is a flowchart for explaining the operation of the second network interface unit shown in FIG. The second
제 2 네트워크 인터페이스 유닛(1420)은 쓰기 커맨드의 패킷을 제 3 네트워크 인터페이스 유닛(1430)으로 전송한다(S130). 쓰기 커맨드의 패킷을 통해 전송된 데이터의 수를 카운트하기 위해, 제 2 네트워크 인터페이스 유닛(1420)은 i의 카운트를 하나 증가시킨다(S140). 여기서, i의 초기 값은 1이라 가정한다. The second
제 2 네트워크 인터페이스 유닛(1420)은 i가 n보다 큰지 여부를 확인한다(S150). n은 전송될 데이터의 수를 의미한다. 도 4 내지 도 9의 예에서, 전송되는 데이터의 수가 32 개이므로, n은 32가 된다. i 및 n에 대한 가정은 도 11에도 동일하게 적용된다. i가 n보다 작거나 같은 경우(아니오 방향), 제 2 네트워크 인터페이스 유닛(1420)은 S120 단계를 다시 수행한다. i가 n보다 큰 경우(예 방향), 데이터가 모두 전송되었기 때문에, 제 2 네트워크 인터페이스 유닛(1420)은 도 10의 동작을 완료한다. The second
도 11은 도 3에 도시된 제 3 네트워크 인터페이스 유닛의 동작을 설명하기 위한 순서도이다. 제 3 네트워크 인터페이스 유닛(1430)은 제 2 네트워크 인터페이스 유닛(1420)으로부터 쓰기 커맨드의 패킷을 수신한다(S210). 제 3 네트워크 인터페이스 유닛(1430)은 수신한 커맨드의 패킷에 포함된 데이터, 쓰기 커맨드, 및 주소를 제 2 메모리(1300)에 전송한다(S220). 제 2 메모리(1300)는 전송된 데이터를 제공된 주소와 대응하는 메모리 셀에 기입한다.11 is a flowchart for explaining the operation of the third network interface unit shown in FIG. The third
수신된 데이터의 수를 카운트하기 위해, 제 3 네트워크 인터페이스 유닛(1430)은 i의 카운트를 하나 증가시킨다(S230). 제 3 네트워크 인터페이스 유닛(1430)은 i가 n보다 큰지 여부를 확인한다(S240). i가 n보다 작거나 같은 경우(아니오 방향), 제 3 네트워크 인터페이스 유닛(1430)은 S220 단계를 다시 수행한다. i가 n보다 큰 경우(예 방향), 제 3 네트워크 인터페이스 유닛(1430)은 S250 단계를 수행한다. To count the number of received data, the third
i가 n보다 큰 경우, 제 1 메모리(1200)로부터 제 2 메모리(1300)에 n 개의 데이터가 모두 전송되었으므로, 제 3 네트워크 인터페이스 유닛(1430)은 쓰기 완료 신호의 패킷을 생성한다. 제 3 네트워크 인터페이스 유닛(1430)은 쓰기 완료 신호의 패킷을 제 1 네트워크 인터페이스 유닛(1410)으로 전송한다(S250). 도 10 및 도 11의 실시 예에 의해, 도 3의 전자 장치(1000)는 복수의 데이터를 제 1 메모리(1200)로부터 제 2 메모리(1300)로 전송한다.When i is larger than n, since n pieces of data have all been transferred from the
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.The above description is specific embodiments for carrying out the present invention. The present invention will also include embodiments that are not only described in the above-described embodiments, but also can be simply modified or changed easily. In addition, the present invention will also include techniques that can be easily modified and implemented using the embodiments. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the claims equivalent to the claims of the present invention as well as the following claims.
100, 1000 : 전자 장치
110, 1100 : 프로세서
120, 1200 : 제 1 메모리
130, 1300 : 제 2 메모리
140 : DMA 유닛
141 : 버퍼
150, 1400 : 온칩 네트워크
151, 1410 : NIU1
152, 1420 : NIU2
153, 1430 : NIU3
154 : NIU4100, 1000:
120, 1200:
140: DMA unit 141: buffer
150, 1400: on-
152, 1420: NIU2 153, 1430: NIU3
154: NIU4
Claims (1)
상기 전자 장치는 프로세서와 연결된 온칩 네트워크, 상기 온칩 네트워크와 연결된 제 1 메모리, 그리고 상기 온칩 네트워크와 연결된 제 2 메모리를 포함하고,
상기 전자 장치의 동작 방법은:
상기 프로세서에서, 데이터 전송 커맨드를 상기 온칩 네트워크를 통해 상기 제 1 메모리 장치에 제공하는 단계;
상기 데이터 전송 커맨드에 응답하여, 상기 제 1 메모리에서 독출된 데이터를 상기 온칩 네트워크를 통해 상기 제 2 메모리에 제공하는 단계;
상기 제 2 메모리에서, 상기 제공된 데이터를 기입하는 단계; 그리고
상기 제 2 메모리에서, 데이터 기입 완료 신호를 상기 온칩 네트워크를 통해 상기 프로세서에 제공하는 단계를 포함하는 동작 방법.In an operating method of an electronic device,
The electronic device includes an on-chip network coupled to the processor, a first memory coupled to the on-chip network, and a second memory coupled to the on-
The method of operation of the electronic device comprises:
Providing, in the processor, a data transfer command to the first memory device via the on-chip network;
Providing data read from the first memory to the second memory via the on-chip network in response to the data transfer command;
In the second memory, writing the provided data; And
And in the second memory, providing a data write completion signal to the processor over the on-chip network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170033370A KR20180105978A (en) | 2017-03-16 | 2017-03-16 | Operation method for electronic device comprising on-chip network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170033370A KR20180105978A (en) | 2017-03-16 | 2017-03-16 | Operation method for electronic device comprising on-chip network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180105978A true KR20180105978A (en) | 2018-10-01 |
Family
ID=63876927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170033370A Withdrawn KR20180105978A (en) | 2017-03-16 | 2017-03-16 | Operation method for electronic device comprising on-chip network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180105978A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210006127A (en) * | 2019-07-08 | 2021-01-18 | 숭실대학교산학협력단 | Multiprocessor interrupt signal processing device |
KR20210006128A (en) * | 2019-07-08 | 2021-01-18 | 숭실대학교산학협력단 | Symmetrical interface-based interrupt signal processing device and method |
KR102270261B1 (en) * | 2020-07-30 | 2021-06-25 | 김영일 | MMI(Memory Medium Interconnect) interface and computing system based on the interface |
CN113297130A (en) * | 2021-06-10 | 2021-08-24 | 中国科学技术大学 | Dynamic random access memory system and data processing method |
-
2017
- 2017-03-16 KR KR1020170033370A patent/KR20180105978A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210006127A (en) * | 2019-07-08 | 2021-01-18 | 숭실대학교산학협력단 | Multiprocessor interrupt signal processing device |
KR20210006128A (en) * | 2019-07-08 | 2021-01-18 | 숭실대학교산학협력단 | Symmetrical interface-based interrupt signal processing device and method |
KR102270261B1 (en) * | 2020-07-30 | 2021-06-25 | 김영일 | MMI(Memory Medium Interconnect) interface and computing system based on the interface |
WO2022025318A1 (en) * | 2020-07-30 | 2022-02-03 | 김영일 | Mmi interface device and computing system based thereon |
CN113297130A (en) * | 2021-06-10 | 2021-08-24 | 中国科学技术大学 | Dynamic random access memory system and data processing method |
CN113297130B (en) * | 2021-06-10 | 2024-06-11 | 中国科学技术大学 | Dynamic random access memory system and data processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11929927B2 (en) | Network interface for data transport in heterogeneous computing environments | |
KR101885452B1 (en) | Interconnect systems and methods using hybrid memory cube links | |
US9992135B2 (en) | Apparatus and method for fusion of compute and switching functions of exascale system into a single component by using configurable network-on-chip fabric with distributed dual mode input-output ports and programmable network interfaces | |
CN112631959B (en) | High bandwidth link layer for coherence messages | |
CN107480077A (en) | For performing the memory devices and its operating method of inter-process | |
US10805392B2 (en) | Distributed gather/scatter operations across a network of memory nodes | |
CN105874758B (en) | Memory pool access method, interchanger and multicomputer system | |
KR20180105978A (en) | Operation method for electronic device comprising on-chip network | |
CN111261204B (en) | Storage System | |
EP4199481A1 (en) | Method and apparatus to perform operations on multiple segments of a data packet in a network interface controller | |
US11797311B2 (en) | Asynchronous pipeline merging using long vector arbitration | |
CN113168388A (en) | Memory request chaining on the bus | |
US11698791B2 (en) | On-demand programmable atomic kernel loading | |
KR102721940B1 (en) | Serial communication method and system for memory access | |
US20240320167A1 (en) | Combining read requests having spatial locality | |
US11928039B1 (en) | Data-transfer test mode | |
KR102572143B1 (en) | Method of sharing memory resource for memory cloud and memory resource sharing system using the same | |
US20240079036A1 (en) | Standalone Mode | |
US20240070093A1 (en) | Asymmetric Read-Write Sequence for Interconnected Dies | |
CN118689803A (en) | Combining read requests with spatial locality | |
CN116795742A (en) | Storage device, information storage method and system | |
JP2023543466A (en) | circuits, chips, and electronic devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20170316 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination |