JP7042552B2 - マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム - Google Patents

マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム Download PDF

Info

Publication number
JP7042552B2
JP7042552B2 JP2016219683A JP2016219683A JP7042552B2 JP 7042552 B2 JP7042552 B2 JP 7042552B2 JP 2016219683 A JP2016219683 A JP 2016219683A JP 2016219683 A JP2016219683 A JP 2016219683A JP 7042552 B2 JP7042552 B2 JP 7042552B2
Authority
JP
Japan
Prior art keywords
processor
data
memory
interface circuit
stored
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.)
Active
Application number
JP2016219683A
Other languages
English (en)
Other versions
JP2017091543A (ja
Inventor
知 ▲ヨウ▼ 尹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017091543A publication Critical patent/JP2017091543A/ja
Application granted granted Critical
Publication of JP7042552B2 publication Critical patent/JP7042552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、1つ以上のプロセッサを含むシステムに関し、より詳細には、異種プロセッサを含むマルチプロセッサシステムに関する。
従来のモバイル機器(例えば、スマートフォン、タブレットPCなど)では、アプリケーションプロセッサ(AP:Application Processor)と、コネクティビティプロセッサ(CP:Connectivity Processor)とは、別途のチップとして具現され、両プロセッサは、チップ・ツー・チップ(chip-to-chip)インターフェースに連結される。APは、モバイル機器のOS及び各種の応用プログラムを駆動するモバイル機器のメインチップである。CPは、モバイル機器を外部装置と連結する機能を担当し、通信チップと称される。
したがって、従来、CPとAPとが、それぞれ独立したシステムとして別個に動作し、チップ・ツー・チップインターフェースを通じてデータを送受信した。
最近、APとCPとが、1つのシステム・オン・チップ(SoC:System-on-Chip)に合わせられて具現する方式が提案されている。
特開平6-12363 特開2006-293836 特開2007-41768 特開2008-90455 米国特許第6381682 米国特許第7080215 米国特許第7114042 米国特許第8001294 米国特許第8635412
本発明が解決しようとする技術的な課題は、マルチプロセッサシステムでメモリアクセス頻度を減らして、パワー消費を減らし、システム性能を改善することができるシステムを提供することにある。
上記課題を達成するためになされた本発明によるマルチプロセッサシステムは、第1プロセッサ(モデム)と、第2プロセッサと、前記第1及び第2プロセッサによって共用される共有メモリと、前記共有メモリと前記第1及び第2プロセッサとの間のインターフェースを行うメモリインターフェース回路と、を含み、前記第1プロセッサは、無線通信で受信された信号を復調(demodulation)し、デコーディング(decoding)して、該デコーディングされたデータを、前記メモリインターフェース回路を通じて前記共有メモリに保存し、前記メモリインターフェース回路は、前記共有メモリに保存された前記デコーディングされたデータを読み出し、解読(deciphering)して、該解読されたデータを前記共有メモリに保存し、前記共有メモリは、前記第1プロセッサ用割り当て領域及び前記第2プロセッサ用割り当て領域を含み、前記デコーディングされたデータは、前記第1プロセッサ用割り当て領域に保存され、前記解読されたデータは、前記第2プロセッサ用割り当て領域に保存され、前記メモリインターフェース回路は、第1プロセッサの第1DMAから第1メモリアクセス要請及び前記第2プロセッサの第2DMAからの第2メモリアクセス要請に応じて共有メモリをアクセスするメモリコントローラと、前記第1メモリアクセス要請及び前記第2メモリアクセス要請を受信して、前記メモリコントローラに伝達するローカルバスと、を含み、前記メモリコントローラは、ローカルDMAと、前記ローカルDMAに前記第1プロセッサ用割り当て領域に保存された前記デコーディングされたデータの読み出しを要請し、前記ローカルDMAを通じて受信した前記デコーディングされたデータを解読する暗号/解読モジュールと、を含み、前記ローカルDMAは、前記暗号/解読モジュールの要請に応じて、前記第1プロセッサ用割り当て領域に保存された前記デコーディングされたデータを読み出して、前記暗号/解読モジュールに提供することを特徴とする
また、上記課題を達成するためになされた本発明によるマルチプロセッサシステムは、第1プロセッサと、第2プロセッサと、前記第1及び第2プロセッサによって共用される共有メモリと、前記共有メモリと前記第1及び第2プロセッサとの間のインターフェースを行うメモリインターフェース回路と、を含み、前記第1プロセッサは、無線通信で受信された信号を復調し、デコーディングして、該デコーディングされたデータを、前記メモリインターフェース回路を通じて前記共有メモリに保存し、前記メモリインターフェース回路は、前記共有メモリに保存された前記デコーディングされたデータを読み出し、解読して、該解読されたデータを前記共有メモリに保存し、前記共有メモリは、前記第1プロセッサ用割り当て領域及び前記第2プロセッサ用割り当て領域を含み、前記デコーディングされたデータは、前記第1プロセッサ用割り当て領域に保存され、前記解読されたデータは、前記第2プロセッサ用割り当て領域に保存され、前記メモリインターフェース回路は、第1プロセッサの第1DMAから第1メモリアクセス要請及び前記第2プロセッサの第2DMAからの第2メモリアクセス要請に応じて共有メモリをアクセスするメモリコントローラと、前記第1メモリアクセス要請及び前記第2メモリアクセス要請を受信して、前記メモリコントローラに伝達するローカルバスと、を含み、前記メモリインターフェース回路は、前記デコーディングされたデータを解読して、該解読されたデータを生成する暗号/解読モジュールと、前記ローカルバスに連結され、前記暗号/解読モジュールの要請に応じて、前記ローカルバスに前記解読されたデータを要請するローカルDMAと、を含み、前記ローカルバスは、前記ローカルDMAの前記解読されたデータに対する要請信号を前記メモリコントローラに伝達することを特徴とする。
また、上記課題を達成するためになされた本発明によるマルチプロセッサシステムは、第1プロセッサと、第2プロセッサと、前記第1プロセッサによって生成されたデータ及び前記第2プロセッサによって生成されたデータを保存する共有メモリと、前記共有メモリと前記第1及び第2プロセッサとの間のインターフェースを行うメモリインターフェース回路と、を含み、前記第2プロセッサは、無線通信のためのアップリンクデータを生成し、前記メモリインターフェース回路を通じて前記共有メモリに前記アップリンクデータを保存し、前記メモリインターフェース回路は、前記共有メモリに保存された前記アップリンクデータを読み出し、暗号化して、前記暗号化されたデータを前記共有メモリに保存し、前記共有メモリは、前記第1プロセッサ用割り当て領域及び前記第2プロセッサ用割り当て領域を含み、前記メモリインターフェース回路は、前記アップリンクデータを前記第2プロセッサ用割り当て領域に保存し、前記暗号化されたデータを前記第1プロセッサ用割り当て領域に保存し、前記第1プロセッサは、前記メモリインターフェース回路に前記暗号化されたデータに対する要請を伝送し、前記メモリインターフェース回路は、前記要請に応答して、前記共有メモリから前記暗号化されたデータを読み出し、前記読み出した暗号化されたデータを前記第1プロセッサに提供することを特徴とする。
本発明によれば、2つ以上のプロセッサが1つのメモリを共有するシステムで、メモリインターフェース回路内にローカルDMA及び暗号/解読モジュールを内蔵することによって、1つのプロセッサから他のプロセッサにデータ伝達時に、プロセッサのバスを経ずに、メモリインターフェース回路のみを経て内部的に伝達される。したがって、プロセッサ間のデータ伝送時に、共有メモリをアクセスする回数を減らしうる。これにより、マルチプロセッサシステムの性能(例えば、速度など)が向上し、消費電力は減らしうる。
本発明の詳細な説明で引用される図面をより十分に理解するために、各図面の簡単な説明が提供される。
本発明の実施形態によるマルチプロセッサシステムを簡略に示す図。 図1に示された共有メモリの一実施形態300aを説明する図。 本発明の実施形態によるマルチプロセッサシステムをより詳しく示す図。 本発明の実施形態によるマルチプロセッサシステムをより詳しく示す図。 図3に示されたメモリインターフェース回路の変形例を示すブロック図。 図4に示されたメモリインターフェース回路の変形例を示すブロック図。 本発明の実施形態によるマルチプロセッサシステムの動作方法を示すフローチャート。 本発明の実施形態によるマルチプロセッサシステムの動作方法を説明する図。 本発明の実施形態によるマルチプロセッサシステムの動作方法を示すフローチャート。 本発明の実施形態によるマルチプロセッサシステムの動作方法を説明する図。 本発明の他の実施形態による電子システムの構成ブロック図。 本発明の実施形態によるモバイル機器500を簡略に示す図。
以下、添付した図面を参照して、本発明を詳しく説明する。
図1は、本発明の実施形態によるマルチプロセッサシステムを簡略に示す図である。図1を参照すれば、マルチプロセッサシステム10は、システム・オン・チップ(SoC)100及び共有メモリ300を含む。
システム・オン・チップ100は、第1プロセッサ110、第2プロセッサ130及び共有メモリインターフェース回路(common memory interface circuit)200を含む。
第1及び第2プロセッサ110、130のそれぞれは、共有メモリインターフェース回路200を通じて共有メモリ300にアクセスすることができる。すなわち、メモリインターフェース回路200は、共有メモリ300と第1及び第2プロセッサ110、130との間のインターフェースを行うことができる。第1及び第2プロセッサ110、130のそれぞれは、1つ以上のプロセッシングユニットを含みうる。
共有メモリ300は、第1及び第2プロセッサ110、130によって共用されるメインメモリである。共有メモリ300は、DRAM(Dynamic Random-Access Memory)であるが、これに限定されるものではない。例えば、共有メモリ300は、不揮発性メモリとしても具現される。
第1プロセッサ110または第2プロセッサ130は、メモリインターフェース回路200にメモリアクセス要請、すなわち、データ保存(書き込み)要請や読み取り要請ができる。例えば、第1プロセッサ110または第2プロセッサ130は、それぞれのDMA(Direct Memory Access)ユニット116、134を用いてメモリインターフェース回路200とデータを伝送しうる。
第1バス140は、第1プロセッサ110とメモリインターフェース回路200との間で、第1プロセッサ110とメモリインターフェース回路200との間のデータ伝送を支援することができる。
第2バス150は、第2プロセッサ130とメモリインターフェース回路200との間で、第2プロセッサ130とメモリインターフェース回路200との間のデータ伝送を支援することができる。
実施形態によって、第1及び第2バス140、150は、それぞれAMBA(Advanced Microcontroller Bus Architecture)またはAXI(Advanced eXtensible Interface)規格によるバスであるが、これに限定されるものではなく、他のインターコネクト規格(interconnect specification)によるバスでもあり得る。
第1プロセッサ110は、無線通信で受信された信号を復調し、デコーディングして、該デコーディングされたデータをメモリインターフェース回路200を通じて共有メモリ300に保存することができる。デコーディングされたデータは、暗号化されたデータであり得る。実施形態によって、第1プロセッサ110は、デコーディングされたデータを含む既定のフォーマットのパケットデータ(例えば、インターネットプロトコル(IP:Internet Protocol)パケットデータ)を生成することができる。この場合、デコーディングデータを含むパケットデータを、共有メモリ300に保存することができる。
メモリインターフェース回路200は、共有メモリ300に保存されたデコーディングされたデータを読み出し、解読して、該解読されたデータを共有メモリ300に保存する。
そのために、メモリインターフェース回路200は、デコーディングされたデータを解読するための暗号/解読モジュール(Cipher/Decipher module)240を含む。暗号/解読モジュール240は、メモリインターフェース回路200に含まれる回路によって具現可能である。
メモリインターフェース回路200によって、解読されたデータが共有メモリ300に保存された後に、第2プロセッサ130は、共有メモリ300から解読されたデータを読み出して処理する。
図2は、図1に示された共有メモリの一実施形態300aを説明する図である。図1及び図2を参照すれば、共有メモリ300aは、複数(2つ以上の)領域に分けられうる。実施形態によって、共有メモリ300aは、第1プロセッサ用割り当て領域310と第2プロセッサ用割り当て領域320、及びその他の領域330に分けられうる。
第1プロセッサ用割り当て領域310は、ファームウエア領域311、アドレスデスクリプタ領域313及びパケットデータ領域315を含みうる。
ファームウエア領域311は、第1プロセッサ110のファームウエア(firmware)を保存する領域である。アドレスデスクリプタ領域313は、第1プロセッサ110が生成したアドレスデスクリプタを保存するための領域であり得る。第1プロセッサ110が生成したアドレスデスクリプタは、第1プロセッサ110が使用(保存または読み出し)するデータの保存位置を指定するアドレス情報を含みうる。
パケットデータ領域315は、第1プロセッサ110用データを保存するための領域である。例えば、第1プロセッサ110から生成されたパケットデータまたは第1プロセッサ110が読み出すパケットデータを、パケットデータ領域315に保存することができる。
前述した第1プロセッサ110でデコーディングされたデータは、アドレスデスクリプタ領域313に保存されたアドレスデスクリプタによってパケットデータ領域315に保存することができる。
第2プロセッサ用割り当て領域320は、TCP/IPデータ領域321及びアドレスデスクリプタ領域325を含みうる。
TCP/IPデータ領域321は、第2プロセッサ130用データを保存するための領域である。例えば、第2プロセッサ130から生成されたパケットデータまたは第2プロセッサ130が読み出すパケットデータを、TCP/IPデータ領域321に保存することができる。
TCP/IPデータ領域321は、ソケットバッファ(socket buffer)323を含みうる。
アドレスデスクリプタ領域325は、第2プロセッサ130が生成したアドレスデスクリプタを保存するための領域であり得る。第2プロセッサ130が生成したアドレスデスクリプタは、第2プロセッサ130が使用(保存または読み出し)するデータの保存位置を指定するアドレス情報を含みうる。
前述したメモリインターフェース回路200で解読されたデータは、アドレスデスクリプタ領域325に保存されたアドレスデスクリプタによってソケットバッファ323に保存することができる。
図3は、本発明の実施形態によるマルチプロセッサシステムをより詳しく示す図である。図3を参照すれば、マルチプロセッサシステム10aは、システム・オン・チップ(SoC)100a及び共有メモリ300を含む。
システム・オン・チップ100aは、CP SOC101、AP SOC103及びメモリインターフェース回路200aを含む。
CP SOC101は、モデムプロセッサ110a、CPU(Central Processing Unit)122、DSP(Digital Signal Processor)124、及び第1バス140を含みうる。
CPU122は、CP SOC101の全般的な動作を制御する。
モデムプロセッサ110aは、変復調器(Modem Rx/Tx)112、エンコーダ/デコーダ114及び第1DMAユニット116を含みうる。モデムプロセッサ110aは、図1の第1プロセッサ110に該当する。図2に示したように、モデムプロセッサ110aは、他のプロセッサ及び/または素子と共に1つのSOC(すなわち、CP SOC101)として具現可能であるが、これに限定されるものではない。本発明の一実施形態によれば、本明細書で使われる用語“DMAユニット”は、例えば、DMA制御器を称することができる。
変復調器112は、無線通信を通じて受信したデータ(例えば、ダウンリンクデータ)を復調し、また、無線通信を通じて送信するデータ(例えば、アップリンクデータ)を変調することができる。
ここで、ダウンリンクデータ(Downlink Data)とは、移動通信基地局からモバイル機器に伝送されて処理されるデータを包括的に意味し、アップリンクデータ(Uplink Data)とは、モバイル機器で生成されて移動通信基地局に伝送されるデータを包括的に意味する。
本発明の実施形態によるマルチプロセッサシステム10、10a、10bは、移動通信用モバイル機器に適用可能である。変復調器の変復調方式は、無線通信プロトコルによって変わりうる。
ダウンリンクデータの場合、エンコーダ/デコーダ114は、変復調器112によって復調されたデータを受信してデコーディングし、アップリンクデータの場合、エンコーダ/デコーダ114は、データエンコーディングを行ってエンコーディングされたデータを変復調器114に提供することができる。この場合、変復調器112は、エンコーディングされたデータを無線通信を通じて伝送するための無線データに変調することができる。
実施形態によって、エンコーディングされたデータは、メモリインターフェース回路200aで暗号化されたデータであり得る。したがって、モデムプロセッサ110aは、暗号化されたデータを無線通信を通じて伝送するための無線データに変換することができる。
DSP124は、デジタル信号に対する各種の処理動作(processing operations)を行うことができる。
例えば、DSP124は、イメージセンサ(図示せず)から入力されたイメージデータを処理することができる。
第1バス140は、CP SOC101内の素子間の通信及びCP SOC101と外部素子との間の通信を支援する。
メモリインターフェース回路200aは、ローカルバス210a、及びメモリコントローラ220aを含みうる。
ローカルバス210aは、第1バス140及び第2バス150に連結されうる。
例えば、ローカルバス210aは、第1バス140と共に、第1プロセッサ110aとメモリコントローラ220aとの間のデータ伝送を支援し、また第2バス150と共に、第2プロセッサ130aとメモリコントローラ220aとの間のデータ伝送を支援することができる。後述されるように、図3のCPU130aは、図1の第2プロセッサ130の1つの例であり得る。
メモリコントローラ220aは、ローカルDMA230a、暗号/解読モジュール240a、読み取りバッファ251及び書き込みバッファ253を含みうる。
メモリコントローラ220aは、第1DMAから第1バス140及びローカルバス210aを通じてデコーディングされたデータを受信して、書き込みバッファ253に一時的に保存することができる。メモリコントローラ220aは、書き込みバッファ253に保存されたデコーディングされたデータを共有メモリ300に保存することができる。
例えば、メモリコントローラ220aは、デコーディングされたデータを共有メモリ300の第1プロセッサ用割り当て領域310のパケットデータ領域315に保存することができる。
書き込みバッファ253は、共有メモリ300に保存するデータを一時的に保存するバッファである。
暗号/解読モジュール240aは、ローカルDMA230aに対し、共有メモリ300に保存されたデコーディングされたデータの読み出しを要請することができる。この要請に応じて、ローカルDMAユニット230aは、共有メモリ300からデコーディングされたデータを読み出して、暗号/解読モジュール240aに提供する。実施形態によって、ローカルDMAユニット230aは、第1アドレスデスクリプタを参照して、デコーディングされたデータのアドレス情報が分かり、このアドレス情報に基づいて、デコーディングされたデータを読み出すことができる。
第1アドレスデスクリプタを参照するための情報は、第1プロセッサ110から発給される命令に含まれうる。例えば、第1プロセッサ110aは、第1アドレスデスクリプタの参照情報を含む命令をローカルDMAユニット230aに発給することができる。または第1プロセッサ110aは、第1アドレスデスクリプタの参照情報をローカルDMAユニット230a内のレジスタ(例えば、SFR:Special Function Register)(図示せず)に設定することができる。
共有メモリ300から読み出されたデコーディングされたデータは、読み取りバッファ251に一時的に保存することができる。
読み取りバッファ251は、共有メモリ300から読み出したデータを一時的に保存するバッファである。
暗号/解読モジュール240aは、ローカルDMA230aを通じて受信したデコーディングされたデータを解読して、該解読されたデータを生成する。実施形態によって、暗号/解読モジュール240aは、暗号/解読アクセラレータ(Cipher/Decipher Accelerator)241及び暗号/解読バッファ243を含みうる。暗号/解読アクセラレータ241は、暗号化されていないデータに対する暗号化、及び暗号化されたデータ(例えば、デコーディングされたデータ)に対する解読を行う回路/回路として具現可能である。または暗号/解読アクセラレータ241は、暗号化されていないデータに対する暗号化、及び暗号化されたデータ(例えば、デコーディングされたデータ)に対する解読を行うプログラムを実行するプロセッサとしても具現される。暗号/解読バッファ243は、暗号/解読アクセラレータ241の入力データ及び/あるいは出力データを一時的に保存することができる。
暗号/解読モジュール240aは、ローカルDMA230aに解読されたデータの保存を要請することができる。この要請に応じて、ローカルDMAユニット230aは、暗号/解読モジュール240aから解読されたデータを受信して、書き込みバッファ253を通じて共有メモリ300に保存する。
実施34によって、ローカルDMAユニット230aは、第2アドレスデスクリプタを参照して、解読されたデータが保存されるアドレス情報が分かり、このアドレス情報に基づいて、解読されたデータを共有メモリ300に保存することができる。
例えば、ローカルDMAユニット230aは、解読されたデータを第2プロセッサ用割り当て領域320のTCP/IPデータ領域321のソケットバッファ323に保存することができる。
第2アドレスデスクリプタを参照するための情報は、第2プロセッサ130aからローカルDMAユニット230aに印加される命令に含まれうる。例えば、第2プロセッサ130aは、第2アドレスデスクリプタの参照情報を含む命令をローカルDMAユニット230aに発給することができる。または第2プロセッサ130aは、第2アドレスデスクリプタの参照情報をローカルDMAユニット230a内のレジスタ(図示せず)に設定することができる。
AP SOC103は、CPU130a、グラフィック・プロセッシング・ユニット(GPU:Graphics Processing Unit)132、第2DMAユニット134、及び第2バス150を含みうる。
CPU130aは、AP SOC103の全般的な動作を制御する。
CPU130aは、マルチコアプロセッサ(multi-core processor)として具現可能である。このマルチコアプロセッサは、2つまたはそれ以上の独立した実質的なプロセッシングユニット(‘コア(cores)’と呼ばれる)を有する1つのコンピューティングコンポーネント(computing component)であり、コアのそれぞれは、プログラム命令(program instructions)を読み出して実行することができる。
CPU130aは、図1の第2プロセッサ130に該当する。図2に示したように、CPU130aは、他のプロセッサ及び/または素子と共に1つのSOC(すなわち、AP SOC103)として具現可能であるが、これに限定されるものではない。
CPU130aは、共有メモリ300に保存された解読されたデータを読み出して処理することができる。CPU130aは、また無線通信を通じて伝送するためのデータ(例えば、パケットデータ)を生成して共有メモリ300に保存することができる。
GPU132は、グラフィック処理と関連したプログラム命令を読み出して行うことができる。例えば、GPU132は、グラフィック関連図形処理などを高速で行うことができる。
第2DMAユニット134は、CPU130a、GPU132または他のバスマスタ136の要請に応じて、共有メモリ300にデータを保存するか、共有メモリ300からデータを読み出すことができる。
例えば、第2DMAユニット134は、CPU130aの要請に応じて、共有メモリ300に保存された解読されたデータを読み出し、CPU130aによって生成されたパケットデータを共有メモリ300に保存することができる。
図4は、本発明の実施形態によるマルチプロセッサシステムをより詳しく示す図である。図4のマルチプロセッサシステム10bの構成及び動作は、図3のマルチプロセッサシステム10aの構成及び動作と類似しているので、説明の重複を避けるために、差異点を中心に記述する。
図3及び図4を参照すれば、マルチプロセッサシステム10bは、システム・オン・チップ(SoC)100b及び共有メモリ300を含む。
SoC100bは、CP SOC101、AP SCO103及びメモリインターフェース回路200bを含む。
メモリインターフェース回路200bは、ローカルバス210b、メモリコントローラ220b、ローカルDMA230b、及び暗号/解読モジュール240bを含みうる。
図3の実施形態では、ローカルDMA230a及び暗号/解読モジュール240aは、ローカルバス210aの後端(backend)であるメモリコントローラ220aの内部に位置するが、一方、図4の実施形態では、ローカルDMA230b及び暗号/解読モジュール240bは、ローカルバス210bの前端(frontend)に位置する。
ローカルバス210bは、第1バス140及び第2バス150に連結されうる。
例えば、ローカルバス210bは、第1バス140と共に、第1プロセッサ110aとメモリコントローラ220bとの間のデータ伝送を支援し、また第2バス150と共に、第2プロセッサ130aとメモリコントローラ220bとの間のデータ伝送を支援することができる。
メモリコントローラ220bは、読み取りバッファ251及び書き込みバッファ253を含みうる。
メモリコントローラ220bは、第1DMAユニット116から第1バス140及びローカルバス210bを通じてデコーディングされたデータを受信して、書き込みバッファ253に一時的に保存することができる。メモリコントローラ220bは、書き込みバッファ253に保存されたデコーディングされたデータを共有メモリ300に保存することができる。
暗号/解読モジュール240bは、ローカルDMA230bに共有メモリ300に保存されたデコーディングされたデータの読み出しを要請することができる。この要請に応じて、ローカルDMAユニット230bは、共有メモリ300からデコーディングされたデータを読み出して、暗号/解読モジュール240bに提供する。
本実施形態では、共有メモリ300から読み出されたエンデコーディングされたデータは、読み取りバッファ251に一時的に保存され、ローカルバス210bを通じてローカルDMA230bの内部のDMAバッファ231に保存された後、暗号/解読モジュール240bの内部の暗号/解読バッファ243に伝達して保存することができる。
暗号/解読アクセラレータ241は、暗号/解読モジュール240bの内部の暗号/解読バッファ243に保存されたデコーディングされたデータを解読して、該解読されたデータを生成する。
暗号/解読モジュール240bは、ローカルDMA230bに解読されたデータの保存を要請することができる。この要請に応じて、ローカルDMAユニット230bは、暗号/解読モジュール240bから解読されたデータを受信して、共有メモリ300に保存する。
実施形態によって、暗号/解読アクセラレータ241は、解読されたデータを暗号/解読モジュール240bの内部の暗号/解読バッファ243に保存することができる。解読されたデータは、内部バッファ243からローカルDMA230bのDMAバッファ231に伝達されて保存され、ローカルバス210bを通じてメモリコントローラ220bの書き込みバッファ253に一時保存された後、共有メモリ300に保存することができる。
前述したように、メモリインターフェース回路200aまたは200b内でのローカルDMA230aまたは230b及び暗号/解読モジュール240aまたは240bの位置によって、デコーディングされたデータの読み出し経路及び解読されたデータの保存経路を変えることはできるが、メモリインターフェース回路200aまたは200bが、共有メモリ300からデコーディングされたデータを読み出し、それを解読して共有メモリ300に保存する機能及び動作はほぼ同一である。
前述したように、本発明の実施形態によれば、メモリインターフェース回路200aまたは200b内にローカルDMA230aまたは230b及び暗号/解読モジュール240aまたは240bを内蔵することによって、共有メモリ300の第1プロセッサ用割り当て領域310から第2プロセッサ用割り当て領域320にデータ伝達時に、またはその逆にデータ伝達時に、第1プロセッサ110及び第2プロセッサ130のバスを経ずに、メモリインターフェース回路200のみを経て内部的に伝達される。したがって、第1プロセッサ110と第2プロセッサ130との間のデータ伝送時に、共有メモリ300をアクセスする回数を減らしうる。
これにより、マルチプロセッサシステムの性能(例えば、速度など)が向上し、消費電力を減らしうる。
図5は、図3に示されたメモリインターフェース回路の変形例を示すブロック図である。図3及び図5を参照すれば、メモリインターフェース回路200cは、図3に示されたメモリインターフェース回路200aとその構成及び動作が類似しているので、説明の重複を避けるために、差異点を中心に記述する。
メモリインターフェース回路200cは、図3に示されたメモリインターフェース回路200aに比べて、システムキャッシュ260をさらに含む。
システムキャッシュ260は、共有メモリ300に保存されたデータの一部を保存することができる。メモリインターフェース回路200cは、共有メモリ300からデータを読み出す前に、システムキャッシュ260に当該データがあるか否かを先に確認することができる。
例えば、メモリインターフェース回路200cのローカルDMAユニット230aは、暗号/解読モジュール240aの要請に応じて、共有メモリ300からデコーディングされたデータを読み出そうとする時、先にシステムキャッシュ260に当該デコーディングされたデータを要請することができる。図5で、ブロック215は、ローカルDMAユニット230a及び暗号/解読モジュール240aを含むブロックを示す。
もし、システムキャッシュ260に所望のデータ(例えば、デコーディングされたデータ)があれば、キャッシュヒット(cache-hit)に該当し、この場合、ローカルDMAユニット230aは、システムキャッシュ260からデコーディングされたデータを読み出して、暗号/解読モジュール240aに提供することができる。
一方、システムキャッシュ260に所望のデータ(例えば、デコーディングされたデータ)がなければ、キャッシュミス(cache-miss)に該当し、この場合、ローカルDMAユニット230aは、メモリコントローラ220cを通じて共有メモリ300からデコーディングされたデータを読み出して、暗号/解読モジュール240aに提供することができる。この際、共有メモリ300から読み出されたエンデコーディングされたデータは、システムキャッシュ260に保存することができる。
図6は、図4に示されたメモリインターフェース回路の変形例を示すブロック図である。図4及び図6を参照すれば、メモリインターフェース回路200dは、図4に示されたメモリインターフェース回路200bとその構成及び動作が類似しているので、説明の重複を避けるために、差異点を中心に記述する。
メモリインターフェース回路200dは、図4に示されたメモリインターフェース回路200bに比べて、システムキャッシュ260をさらに含む。
システムキャッシュ260は、図5で前述したのと同じなので、これについての説明は省略する。
図7は、本発明の実施形態によるマルチプロセッサシステムの動作方法を示すフローチャートである。図8は、本発明の実施形態によるマルチプロセッサシステムの動作方法を説明する図である。特に、図7及び図8は、本発明の実施形態によるマルチプロセッサシステムがダウンリンクデータを処理する方法の一例を示す。図7及び図8の方法は、図1、図3または図4に示されたマルチプロセッサシステム10、10a、10bによって行われる。
まず、CP101は、ダウンリンクデータの保存位置を指定するための第1アドレスデスクリプタを生成して(ステップS110)、メモリインターフェース回路200を通じて、共有メモリ300に保存することができる(ステップS115、ステップS120)。CP101は、第1プロセッサ110またはCP SOC101に該当する。第1アドレスデスクリプタは、共有メモリ300内でダウンリンクデータ(例えば、デコーディングされたデータ)の保存位置を指定するためのアドレス情報を含みうる。
例えば、CP101は、第1アドレスデスクリプタを生成して(ステップS110)、メモリインターフェース回路200に保存要請を行い(ステップS115)、これに応答して、メモリインターフェース回路200は、第1アドレスデスクリプタを共有メモリ300に保存することができる(ステップS120)。
実施形態によって、図8に示したように、第1アドレスデスクリプタは、共有メモリ300の第1プロセッサ用割り当て領域310のアドレスデスクリプタ領域313に保存することができる(図8のステップS13)。
AP103も、ダウンリンクデータの保存位置を指定するための第2アドレスデスクリプタを生成して(ステップS125)、メモリインターフェース回路200を通じて、共有メモリ300に保存することができる(ステップS130、ステップS135)。AP103は、第2プロセッサ130またはAP SOC103に該当する。
第2アドレスデスクリプタは、共有メモリ300内でダウンリンクデータ(例えば、解読されたデータ)の保存位置を指定するためのアドレス情報を含みうる。
例えば、AP103は、第2アドレスデスクリプタを生成して(ステップS125)、メモリインターフェース回路200に保存要請を行い(ステップS130)、これに応答して、メモリインターフェース回路200は、第2アドレスデスクリプタを共有メモリ300に保存することができる(ステップS135)。
実施形態によって、図8に示したように、第2アドレスデスクリプタは、共有メモリ300の第2プロセッサ用割り当て領域320のアドレスデスクリプタ領域325に保存することができる(図8のステップS11)。
CP101は、無線通信を通じて無線データを受信し、この受信された無線データに復調及びデコーディングして、デコーディングデータを生成する(ステップS140)。また、CP101は、デコーディングされたデータを用いて既定のフォーマットのパケットデータ(例えば、IPパケットデータ)を生成することができる。
CP101は、デコーディングデータをメモリインターフェース回路200に伝達して、デコーディングデータの保存を要請することができる(ステップS145)。
例えば、CP101は、メモリインターフェース回路200にデコーディングデータの保存要請を行い(ステップS145)、これに応答して、メモリインターフェース回路200は、デコーディングデータを共有メモリ300に保存することができる(ステップS150)。
実施形態によって、図8に示したように、CP101は、デコーディングデータを含むIPパケットデータを生成して、共有メモリ300の第1プロセッサ用割り当て領域310のパケットデータ領域315に保存することができる(図8のステップS14)。
メモリインターフェース回路200が、共有メモリ300の第1プロセッサ用割り当て領域310からデコーディングデータが含まれたパケットデータを読み出して(ステップS155)、解読する(ステップS160)。メモリインターフェース回路200は、また解読されたデータを共有メモリ300の第2プロセッサ用割り当て領域320に保存する(ステップS165)。
例えば、図8に示したように、メモリインターフェース回路200は、第2プロセッサ用割り当て領域320のアドレスデスクリプタ領域325に保存された第2アドレスデスクリプタを参照して、第2プロセッサ用割り当て領域320のソケットバッファ323に解読されたパケットデータを保存することができる(図8のステップS15)。
第2プロセッサ用割り当て領域320のソケットバッファ323に解読されたデータが保存されれば、AP103は、メモリインターフェース回路200に解読されたデータの読み出しを要請し(ステップS170)、メモリインターフェース回路200は、この要請に応答して共有メモリ300から解読されたデータを読み出して(ステップS175)、AP103に提供することができる(ステップS180)。AP103は、解読されたデータを処理してユーザに提供することができる(ステップS185)。
実施形態によって、S15段階以前に、AP103は、解読されたパケットデータを保存するためのソケットバッファ構造(socket buffer structure)を生成して、第2プロセッサ用割り当て領域320のTCP/IPデータ領域321に保存することができる。
実施形態によって、第2プロセッサ用割り当て領域320のソケットバッファ323に解読されたパケットデータが保存されれば、メールボックス(図8の350)に完了信号が保存されうる。この場合、メールボックス(図8の350)は、AP103にインタラプト信号を発生することができる(図8のステップS16)。例えば、メールボックス350は、メモリインターフェース回路(例えば、共有メモリインターフェース回路200及び/または200a~200d)内に含まれる回路であり得る。
そうすると、AP103は、インタラプト信号に応答して共有メモリ300から解読されたデータを読み出して処理することができる(図8のステップS17)。
実施形態によって、図7または図8に示されたマルチプロセッサシステムの動作方法の各段階の実行順序は変わることもあり、1つ以上の段階が並列に実行することもある。
図9は、本発明の実施形態によるマルチプロセッサシステムの動作方法を示すフローチャートである。図10は、本発明の実施形態によるマルチプロセッサシステムの動作方法を説明する図である。特に、図9及び図10は、本発明の実施形態によるマルチプロセッサシステムがアップリンクデータを処理する方法の一例を示す。図9及び図10の方法は、図1、図3または図4に示されたマルチプロセッサシステム10、10a、10bによって行われる。
まず、AP103は、アップリンクデータの保存位置を指定するための第3アドレスデスクリプタを生成して(ステップS210)、メモリインターフェース回路200を通じて、共有メモリ300に保存することができる(ステップS215、ステップS220)。AP103は、第2プロセッサ130またはAP SOC103に該当する。第3アドレスデスクリプタは、共有メモリ300内でアップリンクデータ(例えば、APから生成されたパケットデータ)の保存位置を指定するためのアドレス情報を含みうる。
例えば、AP103は、第3アドレスデスクリプタを生成して(ステップS210)、メモリインターフェース回路200に保存要請を行い(ステップS215)、これに応答して、メモリインターフェース回路200は、第3アドレスデスクリプタを共有メモリ300に保存することができる(ステップS220)。
実施形態によって、図10に示したように、第3アドレスデスクリプタは、共有メモリ300の第2プロセッサ用割り当て領域320のアドレスデスクリプタ領域325に保存することができる(図10のステップS21)。
CP101も、アップリンクデータの保存位置を指定するための第4アドレスデスクリプタを生成して(ステップS225)、メモリインターフェース回路200を通じて、共有メモリ300に保存することができる(ステップS230、ステップS235)。CP101は、第1プロセッサ110またはCP SOC101に該当する。
第4アドレスデスクリプタは、共有メモリ300内でアップリンクデータの保存位置を指定するためのアドレス情報を含みうる。
例えば、CP101は、第4アドレスデスクリプタを生成して(ステップS225)、メモリインターフェース回路200に保存要請を行い(ステップS230)、これに応答して、メモリインターフェース回路200は、第4アドレスデスクリプタを共有メモリ300に保存することができる(ステップS235)。
実施形態によって、図10に示したように、第4アドレスデスクリプタは、共有メモリ300の第1プロセッサ用割り当て領域310のアドレスデスクリプタ領域313に保存することができる(図10のステップS23)。
AP103は、無線通信を通じて伝送するためのアップリンクデータを生成する(ステップS240)。また、AP103は、アップリンクデータを含む既定のフォーマットのパケットデータ(例えば、IPパケットデータ)を生成することができる。
AP103は、アップリンクデータをメモリインターフェース回路200に伝達して、アップリンクデータの保存を要請することができる(ステップS245)。
例えば、AP103は、メモリインターフェース回路200にアップリンクデータの保存要請を行い(ステップS245)、これに応答して、メモリインターフェース回路200は、アップリンクデータを共有メモリ300に保存することができる(ステップS250)。
実施形態によって、図10に示したように、AP103は、アップリンクデータを含むIPパケットデータを生成して、共有メモリ300の第2プロセッサ用割り当て領域320のTCP/IPデータ領域321のソケットバッファ323に保存することができる(図10のステップS22)。
実施形態によって、S22段階以前に、AP103は、アップリンクパケットデータを保存するためのソケットバッファ構造を生成して、第2プロセッサ用割り当て領域320のTCP/IPデータ領域321に保存することができる。
メモリインターフェース回路200が、共有メモリ300の第2プロセッサ用割り当て領域320のソケットバッファ323からアップリンクデータを読み出して(ステップS255)、暗号化(ciphering)する(ステップS260)。
メモリインターフェース回路200は、また暗号化されたデータを共有メモリ300の第1プロセッサ用割り当て領域310に保存する(ステップS265)。
例えば、図10に示したように、メモリインターフェース回路200は、第1プロセッサ用割り当て領域310のアドレスデスクリプタ領域313に保存された第4アドレスデスクリプタを参照して、第1プロセッサ用割り当て領域310のパケットデータ領域315に暗号化されたアップリンクデータを保存することができる(図10のステップS25)。
第1プロセッサ用割り当て領域310のパケットデータ領域315に暗号化されたアップリンクデータが保存されれば、CP101は、メモリインターフェース回路200に暗号化されたアップリンクデータの読み出しを要請し(ステップS270)、メモリインターフェース回路200は、この要請に応答して共有メモリ300から暗号化されたアップリンクデータを読み出して(ステップS275)、CP101に提供することができる(ステップS280)。CP101は、暗号化されたアップリンクデータをエンコーディング及び変調して、無線通信での伝送に適した無線データに変換することができる(ステップS285)。
実施形態によって、第1プロセッサ用割り当て領域310のパケットデータ領域315に暗号化されたアップリンクデータが保存されれば、メールボックス(図10の350)に完了信号が保存されうる。この場合、メールボックス(図10の350)は、CP101にインタラプト信号を発生することができる(図10のステップS26)。
そうすると、CP101は、インタラプト信号に応答して共有メモリ300から暗号化されたアップリンクデータを読み出して、無線データに変換することができる(図10のステップS27)。
図11は、本発明の他の実施形態による電子システムの構成ブロック図である。
これを参照すれば、電子システム400は、PC(Personal Computer)またはデータサーバ、ラップトップ(laptop)コンピュータまたは携帯用装置として具現可能である。携帯用装置は、携帯電話、スマートフォン(smart phone)、タブレット(tablet)PC、PDA(Personal Digital Assistant)、EDA(Enterprise Digital Assistant)、デジタルスチルカメラ(Digital Still Camera)、デジタルビデオカメラ(Digital Video Camera)、PMP(Portable Multimedia Player)、PND(Personal Navigation DeviceまたはPortable Navigation Device)、携帯用ゲームコンソール(handheld game console)、または電子ブック(e-book)として具現可能である。
電子システム400は、SoC100、パワーソース410、保存装置420、メモリ300、入出力ポート440、拡張カード450、ネットワーク装置460、及びディスプレイ470を含む。実施形態によって、電子システム400は、カメラモジュール480をさらに含みうる。
SoC100は、構成要素(elements)410~480のうちの少なくとも1つの動作を制御することができる。SoC100は、図1、図3、または図4に示されたSoC100、100a、100bに該当する。
パワーソース410は、構成要素100及び420~480のうちの少なくとも1つで動作電圧を供給することができる。
保存装置420は、ハードディスクドライブ(Hard Disk Drive)またはSSD(Solid State Drive)として具現可能である。
メモリ300は、揮発性メモリまたは不揮発性メモリとして具現可能である。
入出力ポート440は、電子システム400にデータを伝送するか、または電子システム400から出力されたデータを外部装置に伝送しうるポートを意味する。例えば、入出力ポート440は、コンピュータマウスのようなポインティング装置(pointing device)を接続するためのポート、プリンタを接続するためのポート、またはUSBドライブを接続するためのポートであり得る。
拡張カード450は、SD(Secure Digital)カードまたはMMC(MultiMedia Card)として具現可能である。実施形態によって、拡張カード450は、SIM(Subscriber Identification Module)カードまたはUSIM(Universal Subscriber Identity Module)カードであり得る。
ネットワーク装置460は、電子システム400を有線ネットワークまたは無線ネットワークに接続させることができる装置を意味する。
ディスプレイ470は、保存装置420、メモリ300、入出力ポート440、拡張カード450、またはネットワーク装置460から出力されたデータをディスプレイすることができる。
カメラモジュール480は、光学イメージを電気的なイメージに変換することができるモジュールを意味する。カメラモジュール480は、少なくとも1つのレンズと少なくとも1つのイメージセンサーとを含みうる。したがって、カメラモジュール480から出力された電気的なイメージは、保存装置420、メモリ300、または拡張カード450に保存することができる。また、カメラモジュール480から出力された電気的なイメージは、ディスプレイ470を通じてディスプレイされうる。
図12は、本発明の実施形態によるモバイル機器500を簡略に示す図面である。図12を参照すれば、モバイル機器500は、図1のマルチプロセッサシステム10を含みうる。
モバイル機器500は、スマートフォン、タブレットPC、PDA、EDA、またはモバイルインターネット装置(Mobile Internet Device:MID)などとして具現可能であるが、これらに限定されるものではない。
本発明は、図面に示された実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
本発明は、マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム、及び該システムの動作方法関連の技術分野に適用可能である。
10、10a、10b:マルチプロセッサシステム
100、100a、100b:システム・オン・チップ(SoC)
110、130:プロセッサ
200、200a、200b、200c、200d:メモリインターフェース回路
300:共有メモリ

Claims (13)

  1. 第1プロセッサと、
    第2プロセッサと、
    前記第1及び第2プロセッサによって共用される共有メモリと、
    前記共有メモリと前記第1及び第2プロセッサとの間のインターフェースを行うメモリインターフェース回路と、を含み、
    前記第1プロセッサは、無線通信で受信された信号を復調し、デコーディングして、該デコーディングされたデータを、前記メモリインターフェース回路を通じて前記共有メモリに保存し、
    前記メモリインターフェース回路は、前記共有メモリに保存された前記デコーディングされたデータを読み出し、解読して、該解読されたデータを前記共有メモリに保存し、
    前記共有メモリは、前記第1プロセッサ用割り当て領域及び前記第2プロセッサ用割り当て領域を含み、
    前記デコーディングされたデータは、前記第1プロセッサ用割り当て領域に保存され、
    前記解読されたデータは、前記第2プロセッサ用割り当て領域に保存され、
    前記メモリインターフェース回路は、第1プロセッサの第1DMAから第1メモリアクセス要請及び前記第2プロセッサの第2DMAからの第2メモリアクセス要請に応じて共有メモリをアクセスするメモリコントローラと、
    前記第1メモリアクセス要請及び前記第2メモリアクセス要請を受信して、前記メモリコントローラに伝達するローカルバスと、を含み、
    前記メモリコントローラは、ローカルDMAと、
    前記ローカルDMAに前記第1プロセッサ用割り当て領域に保存された前記デコーディングされたデータの読み出しを要請し、前記ローカルDMAを通じて受信した前記デコーディングされたデータを解読する暗号/解読モジュールと、を含み、
    前記ローカルDMAは、前記暗号/解読モジュールの要請に応じて、前記第1プロセッサ用割り当て領域に保存された前記デコーディングされたデータを読み出して、前記暗号/解読モジュールに提供することを特徴とするマルチプロセッサシステム。
  2. 前記ローカルDMAは、前記第1プロセッサ用割り当て領域に保存された第1アドレスデスクリプタを参照して、前記デコーディングされたデータを読み出し、
    前記第1アドレスデスクリプタは、前記デコーディングされたデータのアドレス情報を含み、前記第1プロセッサによって生成されて、前記第1プロセッサ用割り当て領域に保存されることを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記ローカルDMAは、前記暗号/解読モジュールの要請に応じて、前記第2プロセッサ用割り当て領域に既保存の第2アドレスデスクリプタを参照して、前記解読されたデータを前記第2プロセッサ用割り当て領域に保存し、
    前記第2アドレスデスクリプタは、前記解読されたデータのアドレス情報を含み、前記第2プロセッサによって生成されて、前記第2プロセッサ用割り当て領域に保存されることを特徴とする請求項1に記載のマルチプロセッサシステム。
  4. 前記ローカルDMAは、前記解読されたデータを前記第2プロセッサ用割り当て領域に保存した後、メールボックスに保存完了を知らせ、
    前記メールボックスは、前記第2プロセッサにインタラプトを発生させることを特徴とする請求項3に記載のマルチプロセッサシステム。
  5. 前記第2プロセッサは、前記メールボックスの前記インタラプトに応答して、前記メモリインターフェース回路に前記解読されたデータを要請し、
    前記メモリインターフェース回路は、前記第2メモリアクセス要請に応じて、既保存の第2アドレスデスクリプタを参照して、前記第2プロセッサ用割り当て領域から前記解読されたデータを読み出して、前記第2プロセッサに伝送し、
    前記第2プロセッサは、前記メモリインターフェース回路から前記解読されたデータを受信して処理することを特徴とする請求項4に記載のマルチプロセッサシステム。
  6. 前記メモリインターフェース回路は、前記共有メモリに保存されたデータの一部を保存し、前記共有メモリにアクセスする前に先にアクセスするシステムキャッシュをさらに含むことを特徴とする請求項1に記載のマルチプロセッサシステム。
  7. 第1プロセッサと、
    第2プロセッサと、
    前記第1及び第2プロセッサによって共用される共有メモリと、
    前記共有メモリと前記第1及び第2プロセッサとの間のインターフェースを行うメモリインターフェース回路と、を含み、
    前記第1プロセッサは、無線通信で受信された信号を復調し、デコーディングして、該デコーディングされたデータを、前記メモリインターフェース回路を通じて前記共有メモリに保存し、
    前記メモリインターフェース回路は、前記共有メモリに保存された前記デコーディングされたデータを読み出し、解読して、該解読されたデータを前記共有メモリに保存し、
    前記共有メモリは、前記第1プロセッサ用割り当て領域及び前記第2プロセッサ用割り当て領域を含み、
    前記デコーディングされたデータは、前記第1プロセッサ用割り当て領域に保存され、
    前記解読されたデータは、前記第2プロセッサ用割り当て領域に保存され、
    前記メモリインターフェース回路は、第1プロセッサの第1DMAから第1メモリアクセス要請及び前記第2プロセッサの第2DMAからの第2メモリアクセス要請に応じて共有メモリをアクセスするメモリコントローラと、
    前記第1メモリアクセス要請及び前記第2メモリアクセス要請を受信して、前記メモリコントローラに伝達するローカルバスと、を含み、
    前記メモリインターフェース回路は、前記デコーディングされたデータを解読して、該解読されたデータを生成する暗号/解読モジュールと、
    前記ローカルバスに連結され、前記暗号/解読モジュールの要請に応じて、前記ローカルバスに前記解読されたデータを要請するローカルDMAと、を含み、
    前記ローカルバスは、前記ローカルDMAの前記解読されたデータに対する要請信号を前記メモリコントローラに伝達することを特徴とするマルチプロセッサシステム。
  8. 前記ローカルDMAは、前記第1プロセッサ用割り当て領域に保存された第1アドレスデスクリプタを参照して、前記デコーディングされたデータを読み出し、
    前記第1アドレスデスクリプタは、前記デコーディングされたデータのアドレス情報を含み、前記第1プロセッサによって生成されて、前記第1プロセッサ用割り当て領域に保存されることを特徴とする請求項7に記載のマルチプロセッサシステム。
  9. 前記ローカルDMAは、前記暗号/解読モジュールの要請に応じて、前記第2プロセッサ用割り当て領域に既保存の第2アドレスデスクリプタを参照して、前記解読されたデータを前記第2プロセッサ用割り当て領域に保存し、
    前記第2アドレスデスクリプタは、前記解読されたデータのアドレス情報を含み、前記第2プロセッサによって生成されて、前記第2プロセッサ用割り当て領域に保存されることを特徴とする請求項7に記載のマルチプロセッサシステム。
  10. 前記メモリインターフェース回路は、前記共有メモリに保存されたデータの一部を保存し、前記共有メモリにアクセスする前に先にアクセスするシステムキャッシュをさらに含むことを特徴とする請求項7に記載のマルチプロセッサシステム。
  11. 前記第1プロセッサは、CPであり、
    前記第2プロセッサは、APであることを特徴とする請求項1に記載のマルチプロセッサシステム。
  12. 第1プロセッサと、
    第2プロセッサと、
    前記第1プロセッサによって生成されたデータ及び前記第2プロセッサによって生成されたデータを保存する共有メモリと、
    前記共有メモリと前記第1及び第2プロセッサとの間のインターフェースを行うメモリインターフェース回路と、を含み、
    前記第2プロセッサは、無線通信のためのアップリンクデータを生成し、前記メモリインターフェース回路を通じて前記共有メモリに前記アップリンクデータを保存し、
    前記メモリインターフェース回路は、前記共有メモリに保存された前記アップリンクデータを読み出し、暗号化して、前記暗号化されたデータを前記共有メモリに保存し、
    前記共有メモリは、前記第1プロセッサ用割り当て領域及び前記第2プロセッサ用割り当て領域を含み、
    前記メモリインターフェース回路は、前記アップリンクデータを前記第2プロセッサ用割り当て領域に保存し、前記暗号化されたデータを前記第1プロセッサ用割り当て領域に保存し、
    前記第1プロセッサは、前記メモリインターフェース回路に前記暗号化されたデータに対する要請を伝送し、
    前記メモリインターフェース回路は、前記要請に応答して、前記共有メモリから前記暗号化されたデータを読み出し、前記読み出した暗号化されたデータを前記第1プロセッサに提供することを特徴とするマルチプロセッサシステム。
  13. 前記第1プロセッサは、前記メモリインターフェース回路から前記読み出した暗号化されたデータを受信し、前記読み出した暗号化されたデータを無線データに変換し、前記無線データを無線で伝送することを特徴とする請求項12に記載のマルチプロセッサシステム。
JP2016219683A 2015-11-12 2016-11-10 マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム Active JP7042552B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0158904 2015-11-12
KR1020150158904A KR102407917B1 (ko) 2015-11-12 2015-11-12 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법

Publications (2)

Publication Number Publication Date
JP2017091543A JP2017091543A (ja) 2017-05-25
JP7042552B2 true JP7042552B2 (ja) 2022-03-28

Family

ID=58640506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016219683A Active JP7042552B2 (ja) 2015-11-12 2016-11-10 マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム

Country Status (6)

Country Link
US (3) US10185673B2 (ja)
JP (1) JP7042552B2 (ja)
KR (1) KR102407917B1 (ja)
CN (1) CN107015940B (ja)
DE (1) DE102016121152A1 (ja)
TW (1) TWI767893B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102407917B1 (ko) 2015-11-12 2022-06-10 삼성전자주식회사 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법
CN107577625B (zh) * 2017-09-22 2023-06-13 北京算能科技有限公司 数据处理芯片和系统、数据存储转发处理方法
KR102438319B1 (ko) * 2018-02-07 2022-09-01 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법
TWI680375B (zh) * 2018-08-23 2019-12-21 慧榮科技股份有限公司 具有分散式信箱架構的多處理器系統及其處理器錯誤檢查方法
US10972142B1 (en) * 2018-12-05 2021-04-06 Nxp Usa, Inc. Wireless networking transceiver system with shared memory
CN112035866B (zh) * 2020-11-04 2021-07-23 湖北芯擎科技有限公司 一种数据加密方法、装置、设备和计算机可读存储介质
US12061808B2 (en) 2021-11-15 2024-08-13 Samsung Electronics Co., Ltd. Storage device for tuning an interface with a host
KR102509646B1 (ko) * 2021-11-15 2023-03-15 삼성전자주식회사 스토리지 장치
CN118227550A (zh) * 2022-12-21 2024-06-21 瑞昱半导体股份有限公司 在多个处理器之间共享储存装置的方法以及电子装置
TWI843351B (zh) * 2022-12-21 2024-05-21 新唐科技股份有限公司 多處理器裝置、資料處理系統與周邊控制器共用方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264886A (ja) 2006-03-28 2007-10-11 Sony Computer Entertainment Inc ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
JP2008034095A (ja) 2006-07-28 2008-02-14 Samsung Electronics Co Ltd プロセッサ間のホストインターフェイシング機能を有するマルチパスアクセス可能な半導体メモリ装置
JP2009005089A (ja) 2007-06-21 2009-01-08 Toshiba Corp 画像識別表示装置及び画像識別表示方法
JP2012043031A (ja) 2010-08-13 2012-03-01 Fujitsu Ltd 共有キャッシュメモリ装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612363A (ja) 1992-06-26 1994-01-21 Toshiba Corp メモリ制御装置およびマルチプロセッサシステム
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
JP3884990B2 (ja) 2002-04-26 2007-02-21 富士通株式会社 マルチプロセッサ装置
US7114042B2 (en) 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
US7917673B2 (en) * 2003-09-20 2011-03-29 Samsung Electronics Co., Ltd. Communication device and method having a shared local memory
US7647599B2 (en) * 2003-12-22 2010-01-12 Motorola, Inc. Interprocessor communication network providing dynamic dedication of ports
US6987961B1 (en) * 2004-06-28 2006-01-17 Neomagic Corp. Ethernet emulation using a shared mailbox between two processors in a feature phone
US8001294B2 (en) 2004-09-28 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for providing a compressed network in a multi-processing system
US20060106988A1 (en) * 2004-11-16 2006-05-18 Charbel Khawand Method and system for exchanging data
JP4424244B2 (ja) 2005-04-13 2010-03-03 富士電機システムズ株式会社 マルチプロセッサシステム
JP4539481B2 (ja) 2005-08-02 2010-09-08 富士電機システムズ株式会社 マルチプロセッサシステム
US7725609B2 (en) * 2005-08-05 2010-05-25 Qimonda Ag System memory device having a dual port
JP2008090455A (ja) 2006-09-29 2008-04-17 Olympus Digital System Design Corp マルチプロセッサ信号処理装置
US7836269B2 (en) * 2006-12-29 2010-11-16 Spansion Llc Systems and methods for access violation management of secured memory
JP5487966B2 (ja) * 2007-07-03 2014-05-14 日本電気株式会社 データ暗号化/復号化処理方法およびデータ処理装置
US8588253B2 (en) * 2008-06-26 2013-11-19 Qualcomm Incorporated Methods and apparatuses to reduce context switching during data transmission and reception in a multi-processor device
US8407427B2 (en) * 2008-10-29 2013-03-26 Silicon Image, Inc. Method and system for improving serial port memory communication latency and reliability
US20100216506A1 (en) * 2009-02-23 2010-08-26 Augusta Technology, Inc. System and Methods for Supporting Multiple Communications Protocols on a Mobile Phone Device
KR101111946B1 (ko) * 2009-12-17 2012-02-14 엠텍비젼 주식회사 촬상 장치, 이미지 시그널 프로세서 칩 및 칩 간의 메모리 공유 방법
US8635412B1 (en) * 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
US8943330B2 (en) * 2011-05-10 2015-01-27 Qualcomm Incorporated Apparatus and method for hardware-based secure data processing using buffer memory address range rules
US8832478B2 (en) * 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
CN103139879B (zh) * 2011-11-28 2016-12-07 安凯(广州)微电子技术有限公司 一种无线个人局域网通信系统
WO2013095461A1 (en) * 2011-12-21 2013-06-27 Intel Corporation Secure direct memory access
US9191823B2 (en) * 2012-06-29 2015-11-17 GSMK Gesellschaft für sichere mobile Kommunikation mbH Mobile device and method to monitor a baseband processor in relation to the actions on an applicaton processor
KR102011137B1 (ko) * 2012-12-07 2019-08-14 삼성전자주식회사 데이터 처리 장치와 회로
US9958933B2 (en) * 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
KR102407917B1 (ko) * 2015-11-12 2022-06-10 삼성전자주식회사 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법
KR102650828B1 (ko) * 2016-05-20 2024-03-26 삼성전자주식회사 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264886A (ja) 2006-03-28 2007-10-11 Sony Computer Entertainment Inc ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
JP2008034095A (ja) 2006-07-28 2008-02-14 Samsung Electronics Co Ltd プロセッサ間のホストインターフェイシング機能を有するマルチパスアクセス可能な半導体メモリ装置
JP2009005089A (ja) 2007-06-21 2009-01-08 Toshiba Corp 画像識別表示装置及び画像識別表示方法
JP2012043031A (ja) 2010-08-13 2012-03-01 Fujitsu Ltd 共有キャッシュメモリ装置

Also Published As

Publication number Publication date
TWI767893B (zh) 2022-06-21
CN107015940B (zh) 2021-12-21
US10185673B2 (en) 2019-01-22
US20200050560A1 (en) 2020-02-13
TW201719446A (zh) 2017-06-01
US20190108146A1 (en) 2019-04-11
DE102016121152A1 (de) 2017-05-18
US10482042B2 (en) 2019-11-19
KR20170055748A (ko) 2017-05-22
US20170139850A1 (en) 2017-05-18
CN107015940A (zh) 2017-08-04
KR102407917B1 (ko) 2022-06-10
US10949364B2 (en) 2021-03-16
JP2017091543A (ja) 2017-05-25

Similar Documents

Publication Publication Date Title
JP7042552B2 (ja) マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム
TWI545436B (zh) 用於安全記憶體管理之積體電路及方法
CN110618947A (zh) 用于利用存储器加密引擎的安全i/o的技术
US9152825B2 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
KR20150143708A (ko) 스토리지 디바이스 보조 인라인 암호화 및 암호해독
TW202226782A (zh) 包括增強型密碼位址之密碼運算技術
US9465674B2 (en) Direct memory (DMA) based access to a device on a remote machine using stub driver and by synchronizing the DMA buffer
US20170272231A1 (en) Distribution of forwarded clock
KR20170077943A (ko) 접근 제어 유닛을 포함하는 시스템 온 칩 및 시스템 온 칩을 포함하는 모바일 장치
WO2015062339A1 (zh) 远程应用程序运行的方法和装置
US9164804B2 (en) Virtual memory module
CN112906075A (zh) 一种内存共享的方法及装置
US20180181764A1 (en) System, apparatus and method for trusted channel creation using execute-only code
JP5060069B2 (ja) 低性能格納装置のdrm権利オブジェクトを効率的に管理する方法および装置
GB2498359A (en) Application engine module with modem component.
CN117083612A (zh) 处置未对齐事务以用于内联加密
EP4195081A1 (en) Securing sensitive data in memory
WO2024001808A1 (zh) 信息处理方法、芯片、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220315

R150 Certificate of patent or registration of utility model

Ref document number: 7042552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150