KR102011137B1 - 데이터 처리 장치와 회로 - Google Patents
데이터 처리 장치와 회로 Download PDFInfo
- Publication number
- KR102011137B1 KR102011137B1 KR1020120142106A KR20120142106A KR102011137B1 KR 102011137 B1 KR102011137 B1 KR 102011137B1 KR 1020120142106 A KR1020120142106 A KR 1020120142106A KR 20120142106 A KR20120142106 A KR 20120142106A KR 102011137 B1 KR102011137 B1 KR 102011137B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- area
- read
- region
- write
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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 (26)
- 데이터 처리 회로에 있어서,
어플리케이션 프로세서(AP: Application Processor)와,
통신 프로세서(CP: Communication Processor)와,
상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함하며,
상기 CP는 상기 AP를 이용하여 상기 저장 유닛을 동작 가능하게 제어하는 데이터 처리 회로.
- 제1항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드/라이트되는 제3영역을 더 포함함을 특징으로 하는 데이터 처리 회로.
- 제1항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함함을 특징으로 하는 데이터 처리 회로.
- 제1항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 회로.
- 제1항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드/라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드/라이트되는 CP 데이터 영역을 포함함을 특징으로 하는 데이터 처리 회로.
- 제1항에 있어서,
상기 제1영역은 상기 AP 및 CP와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP 및 CP와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 회로.
- 데이터 처리 회로에 있어서,
어플리케이션 프로세서(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)을 포함하며,
상기 CP는 상기 AP를 이용하여 상기 저장 유닛을 동작 가능하게 제어하는 데이터 처리 회로.
- 제7항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드/라이트되는 제4영역을 더 포함함을 특징으로 하는 데이터 처리 회로.
- 제7항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함함을 특징으로 하는 데이터 처리 회로.
- 제7항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 회로.
- 제7항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드/라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드/라이트되는 CP 데이터 영역을 포함함을 특징으로 하는 데이터 처리 회로.
- 제7항에 있어서,
상기 제1영역은 상기 AP 및 CP와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP 및 CP와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 회로.
- 제7항에 있어서,
상기 제3영역은 상기 CP에서 AP로 전달되는 IPC 메시지가 리드/라이트되는 영역과, 상기 AP에서 CP로 전달되는 IPC 메시지가 리드/라이트되는 영역을 포함함을 특징으로 하는 데이터 처리 회로.
- 데이터 처리 장치에 있어서,
어플리케이션 프로세서(AP: Application Processor)와,
통신 프로세서(CP: Communication Processor)와,
상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 포함하는 저장 유닛(unit)을 포함하며,
상기 CP는 상기 AP를 이용하여 상기 저장 유닛을 동작 가능하게 제어하는 데이터 처리 장치.
- 제14항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드/라이트되는 제3영역을 더 포함함을 특징으로 하는 데이터 처리 장치.
- 제14항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함함을 특징으로 하는 데이터 처리 장치.
- 제14항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 장치.
- 제14항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드/라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드/라이트되는 CP 데이터 영역을 포함함을 특징으로 하는 데이터 처리 장치.
- 제14항에 있어서,
상기 제1영역은 상기 AP 및 CP와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP 및 CP와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 장치.
- 데이터 처리 장치에 있어서,
어플리케이션 프로세서(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)을 포함하며,
상기 CP는 상기 AP를 이용하여 상기 저장 유닛을 동작 가능하게 제어하는 데이터 처리 장치.
- 제20항에 있어서,
상기 저장 유닛은 상기 AP가 억세스 가능하며, 상기 AP와 관련된 데이터가 리드/라이트되는 제4영역을 더 포함함을 특징으로 하는 데이터 처리 장치.
- 제20항에 있어서,
상기 CP와 관련된 데이터는 상기 CP에 의해 처리되어 수신되거나, 상기 CP에 의해 송신될 데이터를 포함함을 특징으로 하는 데이터 처리 장치.
- 제20항에 있어서,
상기 제1영역은 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP와 CP 중 적어도 하나와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 장치.
- 제20항에 있어서,
상기 제1영역은 상기 AP와 관련된 데이터가 리드/라이트되는 AP 데이터 영역과, 상기 CP와 관련된 데이터가 리드/라이트되는 CP 데이터 영역을 포함함을 특징으로 하는 데이터 처리 장치.
- 제20항에 있어서,
상기 제1영역은 상기 AP 및 CP와 관련된 데이터 중 다운링크(downlink) 데이터가 리드/라이트되는 다운링크 데이터 영역과, 상기 AP 및 CP와 관련된 데이터 중 업링크(uplink) 데이터가 리드/라이트되는 업링크 데이터 영역을 포함함을 특징으로 하는 데이터 처리 장치.
- 제20항에 있어서,
상기 제3영역은 상기 CP에서 AP로 전달되는 IPC 메시지가 리드/라이트되는 영역과, 상기 AP에서 CP로 전달되는 IPC 메시지가 리드/라이트되는 영역을 포함함을 특징으로 하는 데이터 처리 장치.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120142106A KR102011137B1 (ko) | 2012-12-07 | 2012-12-07 | 데이터 처리 장치와 회로 |
CN201380063620.3A CN104838366A (zh) | 2012-12-07 | 2013-03-06 | 用于处理数据的装置和电路 |
EP13859924.6A EP2929444B1 (en) | 2012-12-07 | 2013-03-06 | Apparatus and circuit for processing data |
PCT/KR2013/001793 WO2014088156A1 (en) | 2012-12-07 | 2013-03-06 | Apparatus and circuit for processing data |
US13/804,634 US9959243B2 (en) | 2012-12-07 | 2013-03-14 | Apparatus and circuit for processing data |
US15/966,722 US10769096B2 (en) | 2012-12-07 | 2018-04-30 | Apparatus and circuit for processing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120142106A KR102011137B1 (ko) | 2012-12-07 | 2012-12-07 | 데이터 처리 장치와 회로 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190096990A Division KR102148448B1 (ko) | 2019-08-08 | 2019-08-08 | 데이터 처리 장치와 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140074000A KR20140074000A (ko) | 2014-06-17 |
KR102011137B1 true KR102011137B1 (ko) | 2019-08-14 |
Family
ID=50882508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120142106A KR102011137B1 (ko) | 2012-12-07 | 2012-12-07 | 데이터 처리 장치와 회로 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9959243B2 (ko) |
EP (1) | EP2929444B1 (ko) |
KR (1) | KR102011137B1 (ko) |
CN (1) | CN104838366A (ko) |
WO (1) | WO2014088156A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102407917B1 (ko) | 2015-11-12 | 2022-06-10 | 삼성전자주식회사 | 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법 |
CN110062444B (zh) * | 2019-04-10 | 2022-05-27 | 展讯通信(上海)有限公司 | 数据处理方法、终端设备和存储介质 |
CN110995750B (zh) * | 2019-12-18 | 2021-09-28 | 展讯通信(上海)有限公司 | 终端设备 |
CN111541823B (zh) * | 2020-04-17 | 2022-04-19 | 展讯通信(上海)有限公司 | 一种调制解调器以及通信装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100095072A1 (en) * | 2008-10-14 | 2010-04-15 | Canon Kabushiki Kaisha | Inter-processor communication method, multiprocessor system, and processor |
US20110249560A1 (en) * | 2006-07-28 | 2011-10-13 | Takao Nakagawa | Cpu connection circuit, data processing apparatus, arithmetic processing device, portable communication terminal using these modules and data transfer method |
US20120183029A1 (en) | 2003-10-09 | 2012-07-19 | Freescale Semiconductor, Inc. | Cellular modem processing |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7233977B2 (en) * | 1998-12-18 | 2007-06-19 | Emc Corporation | Messaging mechanism employing mailboxes for inter processor communications |
US7917673B2 (en) | 2003-09-20 | 2011-03-29 | Samsung Electronics Co., Ltd. | Communication device and method having a shared local memory |
US6987961B1 (en) * | 2004-06-28 | 2006-01-17 | Neomagic Corp. | Ethernet emulation using a shared mailbox between two processors in a feature phone |
KR100634566B1 (ko) * | 2005-10-06 | 2006-10-16 | 엠텍비젼 주식회사 | 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기 |
JP4867921B2 (ja) * | 2006-02-08 | 2012-02-01 | 日本電気株式会社 | 携帯通信端末、及び通信方法 |
KR100816053B1 (ko) * | 2006-11-21 | 2008-03-21 | 엠텍비젼 주식회사 | 셀프 카피 기능을 가지는 메모리 장치, 메모리 시스템 및듀얼 포트 메모리 장치 |
US8296581B2 (en) * | 2007-02-05 | 2012-10-23 | Infineon Technologies Ag | Secure processor arrangement having shared memory |
KR100887417B1 (ko) * | 2007-04-11 | 2009-03-06 | 삼성전자주식회사 | 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치 |
JP4415071B2 (ja) * | 2007-06-22 | 2010-02-17 | 富士通マイクロエレクトロニクス株式会社 | メモリ共有システム装置 |
JP5731730B2 (ja) * | 2008-01-11 | 2015-06-10 | ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. | 半導体記憶装置及びその半導体記憶装置を含むデータ処理システム |
KR100945724B1 (ko) | 2008-03-07 | 2010-03-05 | 한국과학기술원 | 국부변형에 대해 강건한 라인 워터마킹 방법 |
KR20090095955A (ko) * | 2008-03-07 | 2009-09-10 | 삼성전자주식회사 | 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템 |
US8645634B1 (en) * | 2009-01-16 | 2014-02-04 | Nvidia Corporation | Zero-copy data sharing by cooperating asymmetric coprocessors |
CN101600263B (zh) * | 2009-06-30 | 2011-05-11 | 中兴通讯股份有限公司 | 数据传输方法及终端 |
US9058191B2 (en) * | 2010-03-22 | 2015-06-16 | Qualcomm Incorporated | Direct transfer of executable software image to memory allocated by target processor based on transferred image header |
CN101872296B (zh) * | 2010-06-18 | 2014-12-10 | 中兴通讯股份有限公司 | 实现大容量群发短信的装置及方法 |
US8635486B2 (en) * | 2010-08-19 | 2014-01-21 | Intel Mobile Communications GmbH | Apparatus and method of controlling a processor clock frequency |
KR20120072292A (ko) * | 2010-12-23 | 2012-07-03 | 주식회사 팬택 | 하드웨어 코덱을 사용한 어플리케이션의 구동 성능 향상 방법 및 장치 |
US8543774B2 (en) * | 2011-04-05 | 2013-09-24 | Ansaldo Sts Usa, Inc. | Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same |
US8938551B2 (en) * | 2012-04-10 | 2015-01-20 | Intel Mobile Communications GmbH | Data processing device |
US20130282951A1 (en) * | 2012-04-19 | 2013-10-24 | Qualcomm Incorporated | System and method for secure booting and debugging of soc devices |
-
2012
- 2012-12-07 KR KR1020120142106A patent/KR102011137B1/ko active IP Right Grant
-
2013
- 2013-03-06 CN CN201380063620.3A patent/CN104838366A/zh active Pending
- 2013-03-06 WO PCT/KR2013/001793 patent/WO2014088156A1/en active Application Filing
- 2013-03-06 EP EP13859924.6A patent/EP2929444B1/en active Active
- 2013-03-14 US US13/804,634 patent/US9959243B2/en active Active
-
2018
- 2018-04-30 US US15/966,722 patent/US10769096B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120183029A1 (en) | 2003-10-09 | 2012-07-19 | Freescale Semiconductor, Inc. | Cellular modem processing |
US20110249560A1 (en) * | 2006-07-28 | 2011-10-13 | Takao Nakagawa | Cpu connection circuit, data processing apparatus, arithmetic processing device, portable communication terminal using these modules and data transfer method |
US20100095072A1 (en) * | 2008-10-14 | 2010-04-15 | Canon Kabushiki Kaisha | Inter-processor communication method, multiprocessor system, and processor |
Also Published As
Publication number | Publication date |
---|---|
US20180246843A1 (en) | 2018-08-30 |
US10769096B2 (en) | 2020-09-08 |
EP2929444B1 (en) | 2020-08-19 |
KR20140074000A (ko) | 2014-06-17 |
CN104838366A (zh) | 2015-08-12 |
EP2929444A4 (en) | 2016-09-14 |
EP2929444A1 (en) | 2015-10-14 |
WO2014088156A1 (en) | 2014-06-12 |
US9959243B2 (en) | 2018-05-01 |
US20140165078A1 (en) | 2014-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379278B2 (en) | Methods and apparatus for correcting out-of-order data transactions between processors | |
US9830289B2 (en) | Methods and apparatus for aggregating packet transfer over a virtual bus interface | |
US10331612B1 (en) | Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors | |
US10769096B2 (en) | Apparatus and circuit for processing data | |
KR100981561B1 (ko) | 이동통신 시스템의 데이터 처리 방법 및 장치 | |
US10334047B2 (en) | Remote direct memory access with reduced latency | |
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 | |
US11347567B2 (en) | Methods and apparatus for multiplexing data flows via a single data structure | |
CN107453845B (zh) | 应答确认方法及设备 | |
US20140297791A1 (en) | Communication apparatus, method of controlling the same, and storage medium | |
US20150199298A1 (en) | Storage and network interface memory share | |
KR102148448B1 (ko) | 데이터 처리 장치와 회로 | |
CN115982090B (zh) | 软硬件协同实现远端内存访问的方法和装置 | |
KR20140092439A (ko) | 패킷 처리 장치 및 패킷 처리 방법 | |
CN118057793A (zh) | 一种数据读写方法及相关装置 | |
CN116569128A (zh) | 存储器热点识别 | |
CN113867945A (zh) | 数据处理方法、fpga加速卡及计算机可读存储介质 | |
CN114253475A (zh) | 一种rdma内存申请保护方法、系统、设备及存储介质 | |
Sadeghi et al. | Support of high-performance i/o protocols over mmWave networks | |
JPS6260045A (ja) | 通信制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |