KR20190096893A - 데이터 처리 장치와 회로 - Google Patents
데이터 처리 장치와 회로 Download PDFInfo
- Publication number
- KR20190096893A KR20190096893A KR1020190096990A KR20190096990A KR20190096893A KR 20190096893 A KR20190096893 A KR 20190096893A KR 1020190096990 A KR1020190096990 A KR 1020190096990A KR 20190096990 A KR20190096990 A KR 20190096990A KR 20190096893 A KR20190096893 A KR 20190096893A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- area
- read
- region
- written
- Prior art date
Links
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
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)
- Software Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 데이터 처리 회로에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함함을 특징으로 한다.
Description
본 발명은 데이터 처리 장치 및 회로에 관한 것으로서, 특히 저장 유닛(unit)을 공유하는 프로세서(processor)들이 데이터를 처리하는 장치 및 회로에 관한 것이다.
일반적으로, 통신 디바이스의 기능은 크게 두 가지 기능, 즉 사용자 인터페이스(UI: User Interface) 및 어플리케이션(application)을 수행하는 기능과 통신 기능으로 구분될 수 있다. 이하, 설명의 편의상 상기 사용자 인터페이스 및 어플리케이션을 수행하는 기능을 “비통신 기능”이라 칭하기로 한다.
기존에는 1개의 통신 디바이스가 1개의 프로세서를 사용하여 상기 비통신 기능 및 통신 기능을 모두 처리했으나, 통신 속도가 빨라지고, 어플리케이션들이 복잡해지면서 다수개의 프로세서들을 사용하여 상기 비통신 기능 및 통신 기능을 수행하고 있다. 예를 들어, 가장 대표적인 통신 디바이스인 스마트 폰(smart phone)은 어플리케이션 프로세서(AP: Application Processor, 이하 'AP'라 칭하기로 한다)를 사용하여 비통신 기능을 수행하고, 통신 프로세서(CP: Communication Processor, 이하 'CP'라 칭하기로 한다) 프로세서가 통신 기능을 수행하고 있다. 상기 AP와 CP는 별도의 칩(chip)으로 구현되기도 하고, 이와는 달리 1개의 칩으로 통합 구현되기도 한다.
상기 AP와 CP가 별도의 칩으로 구현되는 경우 및 상기 AP와 CP가 1개의 칩으로 구현되는 경우 모두 통신 네트워크를 이용한 데이터 송/수신 및 데이터 처리를 위해 상기 AP와 CP간 데이터 송/수신이 필요하다. 일 예로, LTE(Long-Term Evolution) 단말기가 파일 전송 프로토콜(FTP: File Transfer Protocol, 이하 'FTP'라 칭하기로 한다) 다운로드(download) 동작을 수행할 경우, CP를 통해 수신되는 데이터는 AP로 전달되고, 상기 AP가 데이터 저장 등과 같은 데이터 처리 동작을 수행한다. 이와는 달리, LTE 단말기가 업로드(upload) 동작을 수행할 경우, AP가 업로드할 데이터를 CP로 전달하면, 상기 CP는 통신 네트워크를 통해 데이터를 송신한다. 유투브(U-tube) 등과 같은 비디오 스트리밍(video streaming)의 경우, 상기 CP가 수신한 데이터를 상기 AP로 전달하면, 상기 AP가 상기 CP로부터 전달받은 데이터를 처리하여 화면에 디스플레이한다. 상기에서 설명한 바와 같이 AP와 CP간에는 데이터 송/수신이 빈번하게 발생하였으며, 따라서 AP와 CP간 데이터 송/수신을 위해 기존에는 주로 범용 직렬 버스(USB: Universal Serial Bus, 이하 'USB'라 칭하기로 한다)와, 고속 집적 회로(HSIC: High Speed Integrated Circuit, 이하 'HSIC'라 칭하기로 한다), 디지털 보안 입출력(SDIO: Secure Digital Input Output, 이하 'SDIO'라 칭하기로 한다) 등과 같은 직렬 인터페이스(serial interface)나 듀얼 포트 랜덤 억세스 메모리(DPRAM: Dual Port Random Access Memory, 이하 'DPRAM '라 칭하기로 한다) 등과 같은 공유 메모리를 사용하였다. 특히, 상기 AP와 CP가 1개의 칩으로 통합 구현되어 있을 경우 버스(bus)가 공유되기 때문에 칩 내부에 공유 메모리를 구비하고, 상기 공유 메모리를 통해 데이터를 송/수신하는 방식을 가장 많이 사용하고 있다.
그러면 여기서 도 1을 참조하여 일반적인 통신 디바이스에서 AP와 CP 각각이 동적 랜덤 억세스 메모리(DRAM: Dynamic Random Access Memory, 이하 'DRAM '라 칭하기로 한다)를 사용하면서, 외부 인터페이스(external IF(interface)) 유닛을 통해 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 1은 일반적인 통신 디바이스에서 AP와 CP 각각이 DRAM을 사용하면서, 외부 인터페이스 유닛을 통해 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 1을 참조하면, 상기 통신 디바이스는 AP(110)와, LPDDR2(120)와, CP(130)와, LPDDR2(140)를 포함한다. 또한, 상기 AP(110)는 중앙 처리 장치(CPU: Central Processing Unit, 이하 'CPU'라 칭하기로 한다)(111)와, 외부 인터페이스 유닛(113)을 포함하며, 상기 CP(130)는 CPU(131)와, 외부 인터페이스 유닛(133)과, 모뎀(MODEM: modulator/de-modulator)(135)을 포함한다.
먼저, 상기 모뎀(135)은 디코더 버퍼(decoder buffer)에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 LPDDR2(140)에 라이트한다(151). 또한, 상기 CP(130)의 CPU(131)는 그 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 LPDDR2(140)로부터 리드하거나, 상기 LPDDR2(140)에 라이트한다(152). 여기서, 상기 CPU(131) 는 L1/L2/L3, 네트워크 어플리케이션 지원(NAS: Network Application Support, 이하 'NAS'라 칭하기로 한다) 등과 같은 통신 표준 프로토콜을 사용하여 인터넷 프로토콜(IP: Internet Protocol, 이하 'IP'라 칭하기로 한다) 패킷 데이터를 구성한다. 또한, 상기 LPDDR2(140)에 저장되어 있는 데이터, 즉 IP 패킷 데이터는 외부 인터페이스들(133,113)을 통해 상기 AP(110)로 전달되고, 따라서 상기 LPDDR2(120)에 라이트된다(153,154,155).
이렇게, 상기 LPDDR2(140)에 저장되어 있는 데이터가 외부 인터페이스들(133,113)을 통해 상기 LPDDR2(120)에 라이트되기 위해서는 상기 CPU(131)와, 외부 인터페이스들(133,113) 및 CPU(111)간의 제어 메시지(control message) 송수신 과정이 필요로 된다(157,158,159).
또한, 상기 AP(110)의 CPU(111)는 그 어플리케이션 기능을 수행함에 있어 필요로 되는 데이터를 상기 LPDDR2(120)로부터 리드하거나, 상기 LPDDR2(120)에 라이트한다(156).
한편, 도 1에서 상기 외부 인터페이스들(133,113)은 다이렉트 메모리 억세스(DMA: Direct Memory Access, 이하 'DMA'라 칭하기로 한다) 유닛을 포함할 수 있다. 이와는 달리, 상기 외부 인터페이스들(133,113)은 외부 범용 DMA(external general DMA)를 사용하거나 CPU, 혹은 별도의 프로세서가 데이터를 리드하거나 라이트할 수도 있다. 또한, 도 1에서 설명한 바와 같은 데이터 처리 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 1에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
도 1에서는 일반적인 통신 디바이스에서 AP와 CP 각각이 DRAM을 사용하면서, 외부 인터페이스를 통해 데이터를 처리하는 과정에 대해서 설명하였으며, 다음으로 도 2를 참조하여 일반적인 통신 디바이스에서 칩대칩(C2C: Chip to Chip, 이하 'C2C'라 칭하기로 한다) 인터페이스 방식을 사용하여 AP와 CP가 DRAM을 공유할 경우 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 2는 일반적인 통신 디바이스에서 C2C 방식을 사용하여 AP와 CP가 DRAM을 공유할 경우 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 2를 참조하면, 상기 통신 디바이스는 AP(210)와, CP(220)와, LPDDR2(230)를 포함한다. 또한, 상기 AP(210)는 CPU(211)와, 외부 인터페이스 유닛(213)과, C2C 인터페이스 유닛(215)을 포함하며, 상기 CP(220)는 외부 인터페이스 유닛(221)과, CPU(223)와, 모뎀(225)과, C2C 인터페이스 유닛(217)을 포함한다. 또한, 상기 LPDDR2(230)는 상기 CP(220)와 관련된 데이터를 저장하는 영역인 CP 영역(231)과, 상기 AP(210)와 관련된 데이터를 저장하는 영역인 AP 영역(233)을 포함한다.
먼저, 상기 모뎀(225)은 디코더 버퍼에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 CP 영역(231)에 라이트한다(241). 또한, 상기 CPU(223)는 그 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 CP 영역(231)으로부터 리드하거나, 상기 CP 영역(231)에 라이트한다(242). 여기서, 상기 CPU(223)는 L1/L2/L3, NAS 등과 같은 통신 표준 프로토콜을 사용하여 IP 패킷 데이터를 구성한다 또한, 상기 CP 영역(231)에 저장되어 있는 데이터, 즉 IP 패킷 데이터는 외부 인터페이스들(221,213)을 통해 상기 AP 영역(233)에 라이트된다(243,244,245).
이렇게, 상기 CP 영역(231)에 저장되어 있는 데이터가 외부 인터페이스들(221,213)을 통해 상기 AP 영역(233)에 라이트되기 위해서는 상기 CPU(223)와, 외부 인터페이스들(221,213) 및 CPU(211)간의 제어 메시지 송수신 과정이 필요로 된다(247,248).
또한, 상기 CPU(211)는 그 어플리케이션 기능을 수행함에 있어 필요로 되는 데이터를 상기 AP 영역(233)으로부터 리드하거나, 상기 AP 영역(233)에 라이트한다(246).
한편, 도 2에서 상기 외부 인터페이스들(221,213)은 DMA 유닛을 포함할 수 있으며, 이와는 달리 외부 범용 DMA를 사용하거나 CPU, 혹은 별도의 프로세서가 데이터를 리드하거나 라이트할 수도 있음은 물론이다. 또한, 도 2에서 설명한 바와 같은 데이터 송/수신 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 2에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
한편, 도 1 및 도 2에서 설명한 바와 같은 통신 디바이스에서 데이터 송/수신 과정은 DRAM에 데이터를 리드/라이트하는 회수가 많기 때문에 C2C의 대역폭(BW: Band Width, 이하 'BW'라 칭하기로 한다)에 따라 처리 가능한 데이터 처리량(data throughput)이 한정되게 된다. 일 예로, LTE cat 3 다운링크의 경우 CP는 zero copy 방식으로 최적화된 방식을 사용한다고 할지라도 디코딩된 데이터를 DRAM에 라이트하고, 상기 DRAM에 라이트된 데이터를 디사이퍼링(deciphering, 이하 'deciphering'라 칭하기로 한다)하기 위해 리드하고, 상기 디사이퍼링된 데이터를 라이트해야 하고, 마지막으로 프로토콜 처리가 완료된 사용자 데이터를 AP로 전달하기 위한 리드 동작을 수행해야 하기 때문에, 100Mbps 데이터를 DRAM에 최소 4회 이상 리드/라이트해야만 한다.
또한, CP가 zero copy 방식을 사용하지 않을 경우 세그먼팅된 데이터를 IP 패킷으로 생성하기 위해 데이터 복사(data copy) 동작이 필요하므로 DRAM에 데이터를 리드/라이트하는 회수는 더 증가될 수 밖에 없다(도 1 및 도 2에는 데이터 사이퍼링(ciphering, 이하 'ciphering'라 칭하기로 한다)/deciphering을 위한 데이터 리드/라이트 동작이 별도로 도시되어 있지 않음).
또한, 다운링크/업링크 데이터를 동시에 송/수신할 경우 다운링크 뿐만 아니라 업링크에도 총 4회의 데이터 리드/라이트 동작 수행이 필요로 되며, 따라서 다운링크와 업링크를 모두 고려할 경우 총 8회의 데이터 리드/라이트 동작 수행이 필요로 된다.
또한, 데이터 처리량이 증가하게 되면 도 1에서 설명한 바와 같은 데이터 처리 과정의 경우 DRAM 억세스를 위한 동적 메모리 제어기(DMC: Dynamic Memory Controller, 이하 'DMC'라 칭하기로 한다)에서 혼잡(congestion) 상황이 발생하게 되고, 이는 결국 DRAM 억세스상의 병목(bottleneck) 현상을 발생시킬 뿐만 아니라 외부 인터페이스의 처리 속도 역시 저하시키게 된다.
또한, 데이터 처리량이 증가하게 되면 도 2에서 설명한 바와 같은 데이터 처리 과정의 경우 C2C에서 병목 현상이 발생하고, 이로 인해 고속 데이터 처리가 제한될 뿐만 아니라 외부 인터페이스의 처리 속도 역시 저하시키게 된다.
한편, AP와 CP간의 데이터 전송 속도가 CP의 최대 전송 속도보다 빠른 경우가 발생할 수 있다. 일 예로, 다운링크의 경우 패킷 에러(packet error)가 발생하여 해당 패킷을 재수신할 때까지 데이터 송신을 못하고 있다가, 해당 패킷의 재전송이 완료되어 한꺼번에 비교적 많은 양의 데이터가 AP로 전달되는 경우가 발생할 수 있다. 또한, 업링크의 경우 AP에서 처리하는 어플리케이션의 동작에 상응하게 CP가 지원하는 최대 속도에 상응하는 데이터보다 많은 양의 데이터가 한꺼번에 AP에서 CP로 전달되는 경우가 발생할 수 있다. 상기에서 설명한 바와 같은 경우들에서, 외부 인터페이스를 통한 순간적인 데이터 전송 속도 증가로 인해 CP가 정상적으로 동작하지 못할 수 있는 상황이 발생하게 된다.
본 발명은 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 저장 유닛을 공유하는 프로세서들이 데이터를 처리하는 장치 및 회로를 제안한다.
또한, 본 발명은 데이터의 리드(read)/라이트(write) 횟수를 최소화시키는 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 외부 인터페이스 유닛을 통한 데이터 송/수신을 제거하는 데이터 처리 장치 및 회로를 제안한다.
본 발명에서 제안하는 회로는; 데이터 처리 회로에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
본 발명에서 제안하는 다른 회로는; 데이터 처리 회로에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역과, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP간의 프로세서간 통신(IPC: Inter Processor Communication)에 사용되는 IPC 메시지가 리드/라이트되는 제3영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
본 발명에서 제안하는 장치는; 데이터 처리 장치에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
본 발명에서 제안하는 다른 장치는; 데이터 처리 장치에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역과, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP간의 프로세서간 통신(IPC: Inter Processor Communication)에 사용되는 IPC 메시지가 리드/라이트되는 제3영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
또한, 본 발명은 프로세서들이 저장 유닛을 공유하여 데이터를 처리하는 것을 가능하게 한다는 효과가 있다.
또한, 본 발명은 데이터의 리드/라이트 횟수를 최소화시키는 데이터 처리를 가능하게 한다는 효과가 있다. 따라서, 본 발명은 프로세서들 각각의 로드(load)를 최소화시키고, 따라서 프로세서들간 고속 데이터 송/수신을 가능하게 한다는 효과가 있다.
또한, 본 발명은 외부 인터페이스 유닛을 통한 데이터 송/수신을 제거하는 데이터 처리를 가능하게 한다는 효과가 있다. 이렇게, 외부 인터페이스 유닛을 통한 데이터 송/수신을 제거함으로써 본 발명은 외부 인터페이스 유닛 성능 제한으로 인한 프로세서들의 성능 저하를 방지한다는 효과가 있다.
도 1은 일반적인 통신 디바이스에서 AP와 CP 각각이 DRAM을 사용하면서, 외부 인터페이스 유닛을 통해 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 2는 일반적인 통신 디바이스에서 C2C 방식을 사용하여 AP와 CP가 DRAM을 공유할 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 3은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용할 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 4는 도 3의 DRAM(330)의 다른 구현 예를 도시한 도면
도 5a 내지 도 5d는 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 송/수신할 경우 구현 가능한 DRAM의 구조를 개략적으로 도시한 도면
도 6은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용하지 않을 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 7은 도 6의 DRAM(630)의 다른 구현 예를 도시한 도면
도 2는 일반적인 통신 디바이스에서 C2C 방식을 사용하여 AP와 CP가 DRAM을 공유할 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 3은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용할 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 4는 도 3의 DRAM(330)의 다른 구현 예를 도시한 도면
도 5a 내지 도 5d는 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 송/수신할 경우 구현 가능한 DRAM의 구조를 개략적으로 도시한 도면
도 6은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용하지 않을 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 7은 도 6의 DRAM(630)의 다른 구현 예를 도시한 도면
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 저장 유닛(unit)을 공유하는 프로세서(processor)들이 데이터를 처리하는 장치 및 회로를 제안한다.
또한, 본 발명은 데이터의 리드(read)/라이트(write) 횟수를 최소화시키는 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 외부 인터페이스(external IF(interface)) 유닛을 통한 데이터 송/수신을 제거하는 데이터 처리 장치 및 회로를 제안한다.
이하, 본 발명을 설명함에 있어 상기 프로세서들은 어플리케이션 프로세서(AP: Application Processor, 이하 'AP'라 칭하기로 한다)와 통신 프로세서(CP: Communication Processor, 이하 'CP'라 칭하기로 한다)를 포함한다고 가정하기로 하며, 본 발명에서 제안하는 데이터 처리 장치 및 회로는 상기 AP와 CP 뿐만 아니라 다른 프로세서들이 사용될 경우에도 동일하게 적용될 수 있음은 물론이다.
또한, 본 발명을 설명함에 있어 상기 저장 유닛은 동적 랜덤 억세스 메모리(DRAM: Dynamic Random Access Memory, 이하 'DRAM '라 칭하기로 한다)인 경우를 가정하기로 하며, 본 발명에서 제안하는 데이터 처리 장치 및 회로는 상기 DRAM 뿐만 아니라 다른 저장 유닛들이 사용될 경우에도 동일하게 적용될 수 있음은 물론이다.
그러면 도 3을 참조하여 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용할 경우 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용할 경우 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 3을 참조하면, 상기 통신 디바이스는 AP(310)와, CP(320)와, DRAM(330)을 포함한다. 상기 AP(310)는 AP 프로세서(311)와, 외부 인터페이스 유닛(313)과, 다이렉트 메모리 억세스(DMA: Direct Memory Access, 이하 'DMA'라 칭하기로 한다) 유닛(315)과, 칩대칩(C2C: Chip to Chip, 이하 'C2C'라 칭하기로 한다) 인터페이스 유닛(317)을 포함한다. 또한, 상기 CP(320)는 외부 인터페이스 유닛(321)과, CP 프로세서(323)와, C2C 인터페이스 유닛(325)과, 모뎀(MODEM: modulator/de-modulator)(327)을 포함한다. 여기서, 본 발명의 실시예에서는 상기 CP(320)가 그 통신 프로토콜(protocol)로 일 예로 셀룰라 모뎀(cellular MODEM(modulator/de-modulator) 프로토콜을 사용하지만, 상기 셀룰라 모뎀 프로토콜뿐만 아니라 와이파이(Wi-Fi: Wireless-Fidelity)와, 블루투스(BLUETOOTH)와, NFC(Near Field Communication) 등과 같은 다양한 통신 프로토콜을 사용할 수도 있음은 물론이다.
또한, 상기 DRAM(330)은 CP 영역(331)과, CP 데이터 영역(333)과, AP 영역(335)을 포함한다. 여기서, 상기 CP 영역(331)은 상기 CP(320)가 상기 CP(320)의 동작과 관련된 데이터를 리드(read)/라이트(write)하는 영역이며, 상기 CP 데이터 영역(333)은 상기 AP(310)에 의해서도 억세스 가능한, CP(320)를 통해 외부 통신 네트워크와 송/수신되는 데이터를 리드/라이트하는 영역이며, 상기 AP 영역(335)은 상기 AP(310)의 동작과 관련된 데이터를 리드/라이트하는 영역이다. 여기서, 상기 CP(320)의 동작과 관련된 데이터는 상기 CP(320)에 의해 처리되어 수신되거나, 혹은 상기 CP(320)에 의해 송신될 데이터를 포함한다. 즉, 상기 CP 데이터 영역(333)은 기본적으로는 상기 CP(320)에 의해서 제어되는 영역이지만, 상기 CP(320) 뿐만 아니라 상기 AP(310)에 의해서도 억세스 가능한 영역이다. 다시 말하면, 상기 CP 데이터 영역(333)은 상기 AP(310)와 CP(320)가 공유하여 데이터를 리드/라이트할 수 있는 공통 영역이다.
즉, 상기 AP(310)는 상기 CP(320)로부터 필요한 정보를 수신하여 상기 CP 데이터 영역(333)에 데이터를 리드/라이트할 수 있다.
그러면 여기서 상기 통신 디바이스가 데이터를 처리하는 과정에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 모뎀(327)이 수신한 데이터는 상기 DRAM(330)의 CP 데이터 영역(333)에 라이트된다(341). 여기서, 상기 C2C 인터페이스 유닛들(341,317)들을 통해 상기 모뎀(327)이 수신한 데이터가 상기 CP 데이터 영역(333)에 라이트된다(341). 즉, 상기 모뎀(327)은 디코더 버퍼(decoder buffer)에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 CP 데이터 영역(333)에 라이트한다(341). 상기 CP 프로세서(323)는 디사이퍼링(deciphering, 이하 ‘deciphering'라 칭하기로 한다)과, 리오더링(reordering, 이하 'reordering '라 칭하기로 한다)과, 자동 재송신 요구(ARQ: Automatic Retransmission request, 이하 'ARQ'라 칭하기로 한다) 등과 같은 프로토콜 스택(protocol stack) 동작을 수행하여 후 최종적으로 인터넷 프로토콜(IP: Internet Protocol, 이하 'IP'라 칭하기로 한다) 패킷(packet)을 생성한다(342). 여기서, 상기 CP 프로세서(323)는 상기 C2C 인터페이스 유닛들(341,317)들을 통해 상기 CP 프로세서(323)가 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 CP 영역(331) 및 CP 데이터 영역(333)으로부터 리드하거나, 상기 CP 영역(331) 및 CP 데이터 영역(333)에 라이트한다(342). 여기서, 상기 데이터 리드/라이트 동작에 대한 제어는 상기 CP 프로세서(323)가 수행하나, 실제 데이터를 리드/라이트하는 동작은 상기 CP 프로세서(323)가 아닌 DMA나 별도의 프로세서, 혹은 별도의 하드웨어(HW: hardware unit)이 수행할 수 있음은 물론이다.
상기 CP 프로세서(323)는 상기 생성한 IP 패킷에 대한 정보를 상기 AP(310)로 전달한다. 여기서, 상기 IP 패킷은 상기 DRAM(330)내에 scatter되어 있을 수 있고, 이 경우 linked list 등과 같은 scatter data 정보가 전달된다(343). 여기서, 상기 CP 프로세서(323)는 상기 외부 인터페이스 유닛들(321,313)을 통해 상기 AP 프로세서(311)과 제어 메시지(control message)들을 송/수신할 수 있다(343).
또한, 상기 AP 프로세서(311)는 상기 생성한 IP 패킷을 상기 CP 데이터 영역(333)에서 리드하여 상기 AP 영역(335)으로 라이트하고, 즉 상기 생성한 IP 패킷을 CP 데이터 영역(333)에서 복사(copy)하고, 상기 CP 프로세서(323)로 데이터 복사가 완료되었음을 통보한다(344). 즉, 상기 AP 프로세서(311)는 상기 외부 인터페이스 유닛들(321,313)을 통하지 않고도 상기 생성한 IP 패킷을 상기 CP 데이터 영역(333)에서 리드하여 상기 AP 영역(335)으로 라이트할 수 있는 것이다.
또한, 상기 AP 프로세서(311)는 데이터 디스플레이(display)와, 메모리 저장 등과 같은 AP 처리(processing) 동작을 수행한다(345). 즉, 상기 AP 프로세서(311)는 그 어플리케이션 기능을 수행함에 있어 필요로 되는 데이터를 상기 AP 영역(335)으로부터 리드하거나, 상기 AP 영역(335)에 라이트한다(345).
한편, 상기 CP 데이터 영역(333)은 기본적으로 상기 CP(320)가 관리하는 영역으로서, 수신된 데이터에 대해 CP 처리 동작 수행 완료 후 상기 AP(310) 전달까지 완료된 데이터가 저장되어 있던 영역은 새로운 데이터를 저장하는 영역으로 다시 사용될 수 있다. 여기서, 상기 CP 데이터 영역(333)은 일 예로 circular buffer 형태를 가질 수 있으며, 상기 CP(320)는 상기 circular buffer 를 미리 설정되어 있는 크기를 가지는 영역들로 분할한 후, 상기 분할된 영역들 각각에 대한 유용성(availability)을 나타내는 택(tag)을 사용하여 CP 데이터 영역(333)을 제어한다.
한편, 상기 CP(320)는 상기 AP(310)로부터 미리 설정되어 있는 시구간 동안 데이터 복사 완료를 통보받지 못할 경우, 상기 AP(310)와 데이터 복사 완료 여부를 확인하는 과정을 수행한다.
또한, 도 3에서 설명한 바와 같은 데이터 처리 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 3에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
한편, 상기 CP 데이터 영역(333)은 다운링크 데이터와 업링크 데이터를 구분하여 저장하는 것이 가능하도록 구현될 수 있으며, 이를 도 4를 참조하여 설명하면 다음과 같다.
도 4는 도 3의 DRAM(330)의 다른 구현 예를 도시한 도면이다.
도 4를 참조하면, 상기 DRAM(330)는 CP 영역(331)과, CP 데이터 영역(333)과, AP 영역(335)을 포함하며, 상기 CP 데이터 영역(333)은 CP 다운링크(DL: DownLink, 이하 'DL'이라 칭하기로 한다) 데이터 영역(331-1)과 CP 업링크(UL: Uplink, 이하 'UL'이라 칭하기로 한다) 데이터 영역(331-2)을 포함한다.
업링크의 경우 CP(320)가 사용 가능한 영역에 대한 정보를 AP(310)로 알려 주면, 상기 AP(310)가 송신할 데이터를 상기 CP 업링크 데이터 영역(331-2)에 라이트한 후, 그 라이트된 데이터의 위치 및 크기에 관련된 정보를 상기 CP(320)로 전달한다. 상기 CP(320)는 상기 AP(310)로부터 상기 위치 및 크기에 관련된 정보를 수신하면, ACK(ACKnowledgement)와 새로운 저장 영역에 대한 정보를 상기 AP(310)로 송신한 후 업링크 데이터 송신 과정을 수행한다.
도 4에서는 도 3의 DRAM(330)의 다른 구현 예에 대해서 설명하였으며, 다음으로 도 5a 내지 도 5d를 참조하여 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 처리할 경우 구현 가능한 DRAM의 구조에 대해서 설명하기로 한다.
도 5a 내지 도 5d는 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 처리할 경우 구현 가능한 DRAM의 구조를 개략적으로 도시한 도면이다.
첫 번째로, 도 5a를 참조하면, 도 3에서 설명한 바와 같이 DRAM(510)은 AP에 의해 억세스되는 AP 영역(511)과, 기본적으로는 CP에 의해 억세스되지만 AP에 의해서도 억세스 가능한 CP 데이터 영역(513)과, CP에 의해 억세스되는 CP 영역(515)을 포함한다.
두 번째로, 도 5b를 참조하면, 도 4에서 설명한 바와 같이 DRAM(520)은 AP에 의해 억세스되는 AP 영역(521)과, 기본적으로는 CP에 의해 억세스되지만 AP에 의해서도 억세스 가능한 CP DL 데이터 영역(523) 및 CP UL 데이터 영역(525) 과, CP에 의해 억세스되는 CP 영역(527)을 포함한다. 여기서, 상기 CP DL 데이터 영역(523)은 DL 데이터가 리드/라이트되는 영역이며, 상기 CP UL 데이터 영역(525)은 UL 데이터가 리드/라이트되는 영역이다.
세 번째로, 도 5c를 참조하면, DRAM(530)은 AP에 의해 억세스되는 AP 영역(531)과, 기본적으로는 AP에 의해 억세스되지만 CP에 의해서도 억세스 가능한 AP 데이터 영역(533)과, 기본적으로는 CP에 의해 억세스되지만 AP에 의해서도 억세스 가능한 CP 데이터 영역(535)과, CP에 의해 억세스되는 CP 영역(537)을 포함한다. 여기서, 상기 AP 데이터 영역(533)은 도 5b에서 설명한 CP UL 데이터 영역(525)와 유사한 역할을 하고, 상기 CP 데이터 영역(535)은 도 5b에서 설명한 CP DL 데이터 영역(523)과 유사한 역할을 한다. 즉, 도 5b에 도시되어 있는 DRAM(520)과 도 5c에 도시되어 있는 DRAM(530)의 차이점은 상기 DRAM들(520,530) 각각이 포함하는 영역들 각각이 어느 프로세서에 의해 제어되는지 여부이다. 즉, 도 5b에서는 DL/UL 데이터 영역이 모두 CP 프로세서에 의해 제어되지만, 도 5c에서는 AP 데이터 영역은 AP 프로세서에 의해, CP 데이터 영역은 CP 프로세서에 의해 제어된다.
마지막으로, 도 5d를 참조하면, DRAM(540)은 AP에 의해 억세스되는 AP 영역(541)과, AP 및 CP에 의해 억세스되는 DL 데이터 영역(543) 및 UL 데이터 영역(545)과, CP에 의해 억세스되는 CP 영역(547)을 포함한다. 여기서, 상기 DL 데이터 영역(543)은 DL 데이터가 리드/라이트되는 영역이며, 상기 UL 데이터 영역(545)은 UL 데이터가 리드/라이트되는 영역이다. 이 경우, 도 3에서 설명한 바와 같이 DL 데이터는 DL 데이터 영역에서 AP 영역으로, UL 데이터는 UL 데이터 영역에서 CP 영역으로 복사되어 사용될 수도 있으나, 데이터를 복사하지 않고, DL 데이터는 CP에 의해 DL 데이터 영역에서 프로토콜 처리 동작 수행을 통해 IP 패킷으로 구성된 후, AP에 의해 동일 DL 데이터 영역에서 상기 IP 패킷을 사용하여 어플리케이션을 수행할 수도 있다.
이와 마찬가지로, UL 데이터는 AP에 의해 UL 데이터 영역에서 IP 패킷으로 구성된 후, CP에 의해 동일 UL 데이터 영역에서 상기 IP 패킷을 프로토콜 처리 동작 수행을 통해 외부 통신 네트워크로 송신될 수 있다. 이 경우, DL 데이터 영역이나 UL 데이터 영역에서 AP 영역이나 CP 영역으로 데이터를 복사하는 처리 과정이 불필요하게 되어 데이터 처리 속도가 빨라지고, 데이터 처리량(throughput)이 증가할 수 있다.
도 5a 내지 도 5d에서 설명한 바와 같은 DRAM 구조에서 해당 DRMA이 포함하는 각 영역간에 데이터 복사가 발생될 경우, DRAM 리드/라이트 회수는 감소되지 않지만, CP와 AP간 데이터 송/수신 시에 C2C 인터페이스 유닛과 외부 인터페이스 유닛들을 사용하지 않기 때문에 C2C 인터페이스 유닛과 외부 인터페이스 유닛의 대역폭(BW: BandWidth) 제한이나 성능 저하로 인한 AP 및 CP 간의 데이터 송/수신 성능 저하를 방지할 수 있다.
도 5a 내지 도 5d는 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 처리할 경우 구현 가능한 DRAM의 구조에 대해서 설명하였으며, 다음으로 도 6을 참조하여 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용하지 않을 경우 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 6은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용하지 않을 경우 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 6을 참조하면, 상기 통신 디바이스는 AP(610)와, CP(620)와, DRAM(630)을 포함한다. 상기 AP(610)는 AP 프로세서(611)와, C2C 인터페이스 유닛(613)을 포함하며, 상기 CP(620)는 CP 프로세서(621)와, C2C 인터페이스 유닛(623)과, 모뎀(625)을 포함한다.
상기 DRAM(630)은 AP 영역(631)과, 프로세서간 통신(IPC: Inter Processor Communication, 이하 'IPC'라 칭하기로 한다) 메시지 영역(633)과, 데이터 영역(635)과, CP 영역(637)을 포함한다. 상기 AP 영역(631)은 상기 AP(610)에 의해 억세스되는 영역을 나타내며, 상기 IPC 메시지 영역(633)은 제어 메시지나, 혹은 IPC 메시지가 리드/라이트되는 영역으로서, 상기 DRAM의 공유 영역, 즉 데이터 영역(633)과 데이터 관련 정보를 송/수신하는데 사용되는 영역이다. 이렇게, 상기 IPC 메시지 영역(633)이 별도로 관리됨에 따라 송신할 데이터가 상기 IPC 메시지 영역(633)에 저장되어 있다는 것을 알리기 위해 상기 AP(610)와 CP(620)간에는 하드웨어 인터럽트(HW(HardWare) Interrupt)가 송/수신되어야 한다. 상기 데이터 영역(635)은 상기 AP 프로세서(611) 및 CP 프로세서(613)에 의해 억세스되는 영역이며, 도 5a 내지 도 5d에서 설명한 바와 같은 방식으로 구성될 수 있다. 또한, 상기 CP 영역(637)은 상기 CP 프로세서(613)에 의해 억세스되는 영역이다.
그러면 여기서 상기 통신 디바이스가 데이터를 처리하는 과정에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 모뎀(625)이 수신한 데이터는 상기 DRAM(630)의 데이터 영역(635)에 라이트된다(631). 여기서, 상기 C2C 인터페이스 유닛들(623,613)들을 통해 상기 모뎀(625)이 수신한 데이터가 상기 데이터 영역(635)에 라이트된다(631). 즉, 상기 모뎀(625)은 디코더 버퍼에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 데이터 영역(635)에 라이트한다(641).
상기 CP 프로세서(621)는 deciphering과, reordering과, ARQ 등과 같은 프로토콜 스택 동작을 수행하여 후 최종적으로 IP 패킷을 생성한다(642,643). 여기서, 상기 CP 프로세서(621)는 상기 C2C 인터페이스 유닛들(623,613)들을 통해 상기 CP 프로세서(621)가 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 CP 영역(637) 및 데이터 영역(635)으로부터 리드하거나, 상기 CP 영역(637) 및 데이터 영역(635)에 라이트한다(642,643).
상기 CP 프로세서(621)는 상기 생성한 IP 패킷에 대한 정보를 상기 AP(610)로 전달한다. 여기서, 상기 IP 패킷은 상기 DRAM(630)내에 scatter되어 있을 수 있고, 이 경우 linked list 등과 같은 scatter data 정보가 전달된다(642,643). 상기 linked list 등과 같은 scatter data 정보는 상기 IPC 메시지 영역(633)에 저장되고, 상기 CP 프로세서(621)는 하드웨어 인터럽트를 통해 상기 AP 프로세서(611)로 해당 정보가 상기 IPC 메시지 영역(633)에 저장되었음을 알려준다. 즉, 도 6에 도시되어 있는 바와 같은 통신 디바이스의 구조에서는 도 3에 도시되어 있는 바와 같은 통신 디바이스의 구조에서 외부 인터페이스 유닛을 통해 전송하던 데이터 관련 정보들을 외부 DRAM의 IPC 메시지 영역을 통해서 전송하는 것이다.
또한, 상기 AP 프로세서(611)는 상기 하드웨어 인터럽트를 통해 상기 IPC 메시지 영역(622)에 라이트되어 있는 IP 패킷 정보를 리드하고, 상기 생성한 IP 패킷을 상기 CP 데이터 영역(637)에서 리드하여 상기 AP 영역(631)으로 라이트하고, 즉 상기 생성한 IP 패킷을 CP 데이터 영역(637)에서 복사하고, 상기 CP 프로세서(621)로 데이터 복사가 완료되었음을 통보한다(344). 즉, 상기 AP 프로세서(611)는 상기 생성한 IP 패킷을 상기 CP 데이터 영역(637)에서 리드하여 상기 AP 영역(631)으로 라이트할 수 있는 것이다.
또한, 상기 AP 프로세서(611)는 데이터 디스플레이와, 메모리 저장 등과 같은 AP 프로세싱 동작을 수행한다(645). 즉, 상기 AP 프로세서(611)는 그 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 AP 영역(631)으로부터 리드하거나, 상기 AP 영역(631)에 라이트한다(645).
한편, 상기 데이터 영역(635)은 상기 AP(610)와 상기 CP(620)가 함께 관리하는 영역으로서, 상기 CP(620)가 수신한 데이터에 대해 CP 프로세싱 완료 후 상기 AP(610) 전달까지 완료된 데이터가 저장되어 있던 영역은 새로운 데이터를 저장하는 영역으로 다시 사용될 수 있고, 이와는 달리 상기 AP(610)가 수신한 데이터에 대해 AP 프로세싱 완료 후 상기 CP(620) 전달까지 완료된 데이터가 저장되어 있던 영역은 새로운 데이터를 저장하는 영역으로 다시 사용될 수 있다.
여기서, 상기 데이터 영역(635)은 일 예로 circular buffer 형태를 가질 수 있으며, 상기 CP(620)는 상기 circular buffer 를 미리 설정되어 있는 크기를 가지는 영역들로 분할한 후, 상기 분할된 영역들 각각에 대한 유용성을 나타내는 택을 사용하여 데이터 영역(635)을 제어할 수 있고, 이와는 달리 상기 AP(610)가 상기 circular buffer 를 미리 설정되어 있는 크기를 가지는 영역들로 분할한 후, 상기 분할된 영역들 각각에 대한 유용성을 나타내는 택을 사용하여 데이터 영역(635)을 제어할 수도 있음은 물론이다.
또한, 상기 AP 프로세서(611) 및 CP 프로세서(621)는 그 동작 수행시 발생되는 제어 메시지 및 IPC 메시지와 IP 패킷 이외에 AP(610)와 CP(620)간에 송/수신되어야 하는 데이터들을 상기 IPC 메시지 영역(633)에 리드/라이트한다(646,647). 즉, 임의의 메시지 혹은 데이터를 송신하는 프로세서가 상기 임의의 메시지 혹은 데이터를 상기 IPC 메시지 영역(633)에 라이트하고, 하드웨어 인터럽트를 통해 상기 임의의 메시지 혹은 데이터를 수신하는 프로세서로 알려주면 상기 임의의 메시지 혹은 데이터를 수신하는 프로세서는 상기 임의의 메시지 혹은 데이터를 리드한다.
한편, 상기 CP(620)는 상기 AP(610)로부터 미리 설정되어 있는 시구간 동안 데이터 복사 완료를 통보받지 못할 경우, 상기 AP(610)와 데이터 복사 완료 여부를 확인하는 과정을 수행한다.
또한, 도 6에서 설명한 바와 같은 데이터 처리 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 6에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
한편, 상기 DRAM(630)은 도 6에서 나타낸 바와 같은 구조와 다른 형태로도 구현될 수 있으며, 이를 도 7을 참조하여 설명하면 다음과 같다.
도 7은 도 6의 DRAM(630)의 다른 구현 예를 도시한 도면이다.
도 7을 참조하면, 상기 DRAM(630)은 AP 영역(711)과, AP 데이터 영역(713)과, CP/AP IPC 메시지 영역(715)과, AP/CP IPC 메시지 영역(717)과, CP 영역(721)을 포함한다.
상기 AP 영역(711)은 상기 AP(610)에 의해 억세스되는 영역을 나타내며, AP 데이터 영역(713)은 기본적으로는 상기 AP(610)에 의해 관리되며, 상기 CP(620)에 의해서도 억세스가 가능한 영역을 나타낸다. 또한, 상기 CP/AP IPC 메시지 영역(715)은 상기 CP(620)에서 AP(610)로 전달되는 IPC 메시지가 리드/라이트되는 영역을 나타내며, 상기 AP/CP IPC 메시지 영역(717)은 상기 AP(610)에서 CP(620)로 전달되는 IPC 메시지가 리드/라이트되는 영역을 나타낸다. 또한, 상기 CP 영역(721)은 상기 CP(620)에 의해 억세스되는 영역을 나타낸다.
또한, 도 6의 DRAM(630)은 도 7에서 설명한 구조 뿐만 아니라 도 5a 내지 도 5d에서 설명한 바와 같은 형태로도 구현 가능함은 물론이다. 다만, 이 경우 CP/AP IPC 메시지 영역과, AP/CP IPC 메시지 영역에 상응하도록 영역이 추가 분할될 수도 있음은 물론이다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (22)
- 데이터 처리 회로에 있어서,
어플리케이션 프로세서(AP: Application Processor)와,
통신 프로세서(CP: Communication Processor)와,
상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read) 또는 라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함하며,
상기 AP는 외부 인터페이스를 사용하지 않고 상기 제 1 영역의 데이터를 리드 또는 라이트하는 데이터 처리 회로.
- 제1항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드 또는 라이트되는 제3영역을 더 포함하는 데이터 처리 회로.
- 제1항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함하는 데이터 처리 회로.
- 제1항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드 또는 라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드 또는 라이트되는 업링크 데이터 영역을 포함하는 데이터 처리 회로.
- 제1항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드 또는 라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 CP 데이터 영역을 포함하는 데이터 처리 회로.
- 데이터 처리 회로에 있어서,
어플리케이션 프로세서(AP: Application Processor)와,
통신 프로세서(CP: Communication Processor)와,
상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read) 또는 라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 제2영역과, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP간의 프로세서간 통신(IPC: Inter Processor Communication)에 사용되는 IPC 메시지가 리드 또는 라이트되는 제3영역을 포함하는 저장 유닛(unit)을 포함하며,
상기 AP는 외부 인터페이스를 사용하지 않고 상기 제 1 영역의 데이터를 리드 또는 라이트하는 데이터 처리 회로.
- 제6항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드 또는 라이트되는 제4영역을 더 포함하는 데이터 처리 회로.
- 제6항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함하는 데이터 처리 회로.
- 제6항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드 또는 라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드 또는 라이트되는 업링크 데이터 영역을 포함하는 데이터 처리 회로.
- 제6항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드 또는 라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 CP 데이터 영역을 포함하는 데이터 처리 회로.
- 제6항에 있어서,
상기 제3영역은 상기 CP에서 AP로 전달되는 IPC 메시지가 리드 또는 라이트되는 영역과, 상기 AP에서 CP로 전달되는 IPC 메시지가 리드 또는 라이트되는 영역을 포함하는 데이터 처리 회로.
- 데이터 처리 장치에 있어서,
어플리케이션 프로세서(AP: Application Processor)와,
통신 프로세서(CP: Communication Processor)와,
상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read) 또는 라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 제2영역을 포함하는 저장 유닛(unit)을 포함하며,
상기 AP는 외부 인터페이스를 사용하지 않고 상기 제 1 영역의 데이터를 리드 또는 라이트하는 데이터 처리 장치.
- 제12항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드 또는 라이트되는 제3영역을 더 포함하는 데이터 처리 장치.
- 제12항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함하는 데이터 처리 장치.
- 제12항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드 또는 라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드 또는 라이트되는 업링크 데이터 영역을 포함하는 데이터 처리 장치.
- 제12항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드 또는 라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 CP 데이터 영역을 포함하는 데이터 처리 장치.
- 데이터 처리 장치에 있어서,
어플리케이션 프로세서(AP: Application Processor)와,
통신 프로세서(CP: Communication Processor)와,
상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read) 또는 라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 제2영역과, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP간의 프로세서간 통신(IPC: Inter Processor Communication)에 사용되는 IPC 메시지가 리드 또는 라이트되는 제3영역을 포함하는 저장 유닛(unit)을 포함하며,
상기 AP는 외부 인터페이스를 사용하지 않고 상기 제 1 영역의 데이터를 리드 또는 라이트하는 데이터 처리 장치.
- 제17항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드 또는 라이트되는 제4영역을 더 포함하는 데이터 처리 장치.
- 제17항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함하는 데이터 처리 장치.
- 제17항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드 또는 라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드 또는 라이트되는 업링크 데이터 영역을 포함하는 데이터 처리 장치.
- 제17항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드 또는 라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드 또는 라이트되는 CP 데이터 영역을 포함하는 데이터 처리 장치.
- 제17항에 있어서,
상기 제3영역은 상기 CP에서 AP로 전달되는 IPC 메시지가 리드 또는 라이트되는 영역과, 상기 AP에서 CP로 전달되는 IPC 메시지가 리드 또는 라이트되는 영역을 포함하는 데이터 처리 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190096990A KR102148448B1 (ko) | 2019-08-08 | 2019-08-08 | 데이터 처리 장치와 회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190096990A KR102148448B1 (ko) | 2019-08-08 | 2019-08-08 | 데이터 처리 장치와 회로 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120142106A Division KR102011137B1 (ko) | 2012-12-07 | 2012-12-07 | 데이터 처리 장치와 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190096893A true KR20190096893A (ko) | 2019-08-20 |
KR102148448B1 KR102148448B1 (ko) | 2020-08-26 |
Family
ID=67807463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190096990A KR102148448B1 (ko) | 2019-08-08 | 2019-08-08 | 데이터 처리 장치와 회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102148448B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008013209A1 (fr) * | 2006-07-28 | 2008-01-31 | Nec Corporation | Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant |
KR20090095995A (ko) * | 2008-03-07 | 2009-09-10 | 한국과학기술원 | 국부변형에 대해 강건한 라인 워터마킹 방법 |
JP2010097252A (ja) * | 2008-10-14 | 2010-04-30 | Canon Inc | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 |
US20110261640A1 (en) * | 2008-01-11 | 2011-10-27 | Elpida Memory, Inc. | Semiconductor memory device and data processing system including the semiconductor memory device |
-
2019
- 2019-08-08 KR KR1020190096990A patent/KR102148448B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008013209A1 (fr) * | 2006-07-28 | 2008-01-31 | Nec Corporation | Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant |
US20110261640A1 (en) * | 2008-01-11 | 2011-10-27 | Elpida Memory, Inc. | Semiconductor memory device and data processing system including the semiconductor memory device |
KR20090095995A (ko) * | 2008-03-07 | 2009-09-10 | 한국과학기술원 | 국부변형에 대해 강건한 라인 워터마킹 방법 |
JP2010097252A (ja) * | 2008-10-14 | 2010-04-30 | Canon Inc | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 |
Also Published As
Publication number | Publication date |
---|---|
KR102148448B1 (ko) | 2020-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379278B2 (en) | Methods and apparatus for correcting out-of-order data transactions between processors | |
US9176911B2 (en) | Explicit flow control for implicit memory registration | |
US10769096B2 (en) | Apparatus and circuit for processing data | |
US8392632B2 (en) | Method and apparatus for data processing in mobile communication system | |
CN101827072A (zh) | 虚拟内存协议分段卸载 | |
US10275163B2 (en) | Methods for controlling data transfer speed of a data storage device and a host device utilizing the same | |
US10452122B2 (en) | Methods for controlling data transfer speed of a data storage device and a host device utilizing the same | |
CN107453845B (zh) | 应答确认方法及设备 | |
US20200065161A1 (en) | Methods and apparatus for multiplexing data flows via a single data structure | |
US20150199298A1 (en) | Storage and network interface memory share | |
KR102148448B1 (ko) | 데이터 처리 장치와 회로 | |
CN110895517B (zh) | 基于fpga的传输数据的方法、设备及系统 | |
US9244824B2 (en) | Memory sub-system and computing system including the same | |
CN115174484A (zh) | 基于rdma的数据传输方法、装置、设备及存储介质 | |
CN112019450A (zh) | 设备间流式通信 | |
CN115982090B (zh) | 软硬件协同实现远端内存访问的方法和装置 | |
JPS62267847A (ja) | Dma転送制御回路 | |
CN114253475A (zh) | 一种rdma内存申请保护方法、系统、设备及存储介质 | |
CN118057793A (zh) | 一种数据读写方法及相关装置 | |
WO2024172985A1 (en) | High speed inter-processor file exchange mechanism | |
CN117411834A (zh) | 基于udp的高速数据可靠传输方法、系统、装置和存储介质 | |
CN117692109A (zh) | 远程直接内存访问的数据重传方法及相关设备 | |
CN113867945A (zh) | 数据处理方法、fpga加速卡及计算机可读存储介质 | |
CN118869775A (zh) | 报文传输的方法和装置 | |
CN118301197A (zh) | 网络通信方法、设备、介质、程序产品和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |