TWI767893B - 包含多處理器所共享之記憶體的多處理器系統 - Google Patents

包含多處理器所共享之記憶體的多處理器系統 Download PDF

Info

Publication number
TWI767893B
TWI767893B TW105136177A TW105136177A TWI767893B TW I767893 B TWI767893 B TW I767893B TW 105136177 A TW105136177 A TW 105136177A TW 105136177 A TW105136177 A TW 105136177A TW I767893 B TWI767893 B TW I767893B
Authority
TW
Taiwan
Prior art keywords
processor
data
memory
interface circuit
shared memory
Prior art date
Application number
TW105136177A
Other languages
English (en)
Other versions
TW201719446A (zh
Inventor
尹知鏞
Original Assignee
南韓商三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW201719446A publication Critical patent/TW201719446A/zh
Application granted granted Critical
Publication of TWI767893B publication Critical patent/TWI767893B/zh

Links

Images

Classifications

    • 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
    • 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
    • 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)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一種多處理器系統包括:第一處理器;第二處理器;共用記憶體,用以儲存由所述第一處理器產生的資料及由所述第二處理器產生的資料;以及記憶體介面電路,用以在所述共用記憶體與所述第一處理器及所述第二處理器之間介接,所述第一處理器用以對藉由無線通訊所接收的訊號進行解調及解碼,並經由所述記憶體介面電路將所述經解碼資料儲存於所述共用記憶體中,所述記憶體介面電路用以對儲存於所述共用記憶體中的所述經解碼資料進行讀取及解密,並將所述經解密資料儲存於所述共用記憶體中。

Description

包含多處理器所共享之記憶體的多處理器系統 [相關申請案的交叉參考]
本申請案主張於2015年11月12日在韓國智慧財產局提出申請的韓國專利申請案第10-2015-0158904號的權利,所述韓國專利申請案的揭露內容全文併入本案供參考。
本發明概念的一或多個示例性實施例是有關於一種包括一或多個處理器的系統及操作所述系統的方法,且更具體而言,是有關於一種包括不同類型的處理器的多處理器系統及操作所述多處理器系統的方法。
在根據先前技術的行動裝置(例如,智慧型電話、平板個人電腦(personal computer,PC)等)中,應用處理器(application processor,AP)及連接性處理器(connectivity processor,CP)被實施為不同的晶片且經由晶片至晶片介面(chip-to-chip interface)而連接至彼此。應用處理器是行動裝置的主要晶片,用以驅動所述行動裝置的作業系統(operating system,OS)及各種應用程式。 連接性處理器將行動裝置連接至外部裝置且亦可被稱為通訊晶片。
因此,在先前技術中,連接性處理器及應用處理器作為獨立的系統來單獨地運作且經由晶片至晶片介面來與彼此互換資料。
近來,已引入一種其中應用處理器及連接性處理器組合於一起作為一個系統晶片(system-on-chip,SoC)的方法
根據至少某些示例性實施例,一種多處理器系統包括第一處理器;第二處理器;共用記憶體,用以儲存由所述第一處理器產生的資料及由所述第二處理器產生的資料;以及記憶體介面電路,用以在所述共用記憶體與所述第一處理器及所述第二處理器之間介接,所述第一處理器用以對藉由無線通訊所接收的訊號進行解調及解碼,並經由所述記憶體介面電路將所述經解碼資料儲存於所述共用記憶體中,所述記憶體介面電路用以對儲存於所述共用記憶體中的所述經解碼資料進行讀取及解密,並將所述經解密資料儲存於所述共用記憶體中。
根據本發明概念的至少某些示例性實施例,一種多處理器系統包括第一處理器;第二處理器;共用記憶體,用以儲存由所述第一處理器產生的資料及由所述第二處理器產生的資料;以及記憶體介面電路,用以在所述共用記憶體與所述第一處理器及所述第二處理器之間進行介接,所述第二處理器用以產生用於無 線通訊的上行資料並經由所述記憶體介面電路將所述上行資料儲存於所述共用記憶體中,所述記憶體介面電路更用以對儲存於所述共用記憶體中的所述上行資料進行讀取及加密,並將所述經加密資料儲存於所述共用記憶體中。
所述共用記憶體可包括第一處理器分配區及第二處理器分配區,所述記憶體介面電路可用以將所述上行資料儲存於所述第二處理器分配區中,且所述記憶體介面電路可用以將所述經加密資料儲存於所述第一處理器分配區中。
10、10a、10b:多處理器系統
100:系統晶片
100a、100b:系統晶片
101:連接性處理器/連接性處理器系統晶片
103:應用處理器/應用處理器系統晶片
110:第一處理器
110a:數據機處理器
112:調變器/解調器
114:編碼器/解碼器
116:第一直接記憶體存取單元
122、130a:中央處理單元
124:數位訊號處理器
130:第二處理器
132:圖形處理單元
134:第二直接記憶體存取單元
136:匯流排主控器
140:第一匯流排
150:第二匯流排
200、200a、200b、200c、200d:共用記憶體介面電路
210a、210b:區域匯流排
215:區塊
220a、220b、220c、220d:記憶體控制器
230a、230b:區域直接記憶體存取單元
231:直接記憶體存取緩衝器
240、240a、240b:加密/解密模組
241:加密/解密加速器
243:加密/解密緩衝器
251:讀取緩衝器
253:寫入緩衝器
260:系統快取
300、300a:共用記憶體
310:第一處理器分配區
311:韌體區
313、325:位址描述符區
315:封包資料區
320:第二處理器分配區
321:傳輸控制協定/網際網路協定資料區
323:套接字緩衝器
330:保留區
350:信箱
400:電子系統/電子裝置
410:電源
420:儲存裝置
440:輸入/輸出埠
450:擴展卡
460:網路裝置
470:顯示器
480:照相機模組
500:行動裝置
S11、S13、S14、S15、S16、S17、S21、S22、S23、S25、S26、S27、S110、S115、S120、S125、S130、S135、S140、S145、S150、S155、S160、S165、S170、S175、S180、S185、S210、S215、S220、S225、S230、S235、S240、S245、S250、S255、S260、S265、S270、S275、S280、S285:操作
藉由參照附圖詳細闡述本發明概念的示例性實施例,本發明概念的示例性實施例的以上及其他特徵及優點將變得更加顯而易見。所述附圖旨在繪示本發明概念的示例性實施例且不應被解釋為對申請專利範圍的所期望的範圍進行限制。除非明確注明,否則所述附圖不應被視為按比例繪製。
圖1是根據本發明概念至少一個示例性實施例的多處理器系統的示意性方塊圖。
圖2是說明根據本發明概念至少一個示例性實施例的圖1所示共用記憶體的結構的圖式。
圖3是詳細說明根據本發明概念至少一個示例性實施例的多處理器系統的圖式。
圖4是詳細說明根據本發明概念至少另一示例性實施例的多 處理器系統的圖式。
圖5是圖3中所示記憶體介面電路的經修改實例的方塊圖。
圖6是圖4中所示記憶體介面電路的經修改實例的方塊圖。
圖7是根據本發明概念至少一個示例性實施例的操作多處理器系統的方法的流程圖。
圖8是說明根據本發明概念至少一個示例性實施例的操作多處理器系統的方法的圖式。
圖9是根據本發明概念至少另一示例性實施例的操作多處理器系統的方法的流程圖。
圖10是說明根據本發明概念至少另一示例性實施例的操作多處理器系統的方法的圖式。
圖11是根據本發明概念至少一個示例性實施例的電子系統的方塊圖。
圖12是說明根據本發明概念至少一個示例性實施例的行動裝置的示意圖。
圖1是根據本發明概念至少一個示例性實施例的多處理器系統10的示意性方塊圖。參照圖1,多處理器系統10包括系統晶片(SoC)100及共用記憶體300。
系統晶片100包括第一處理器110、第二處理器130、及共用記憶體介面電路200。
第一處理器110及第二處理器130中的每一者均可經由 共用記憶體介面電路200來存取共用記憶體300。亦即,共用記憶體介面電路200可在共用記憶體300與第一處理器110及第二處理器130之間介接。第一處理器110及第二處理器130中的每一者可包括至少一個處理單元。
共用記憶體300是由第一處理器110與第二處理器130所共用的主記憶體。共用記憶體300可例如為動態隨機存取記憶體(dynamic random-access memory,DRAM),但並非僅限於此。舉例而言,共用記憶體300可被實施為非揮發性記憶體。
第一處理器110或第二處理器130可將記憶體存取請求,亦資料儲存(寫入)請求或資料讀取請求,傳送至共用記憶體介面電路200。舉例而言,第一處理器110或第二處理器130可經由其直接記憶體存取(direct memory access,DMA)單元116或直接記憶體存取單元134來與共用記憶體介面電路200互換資料。
位於第一處理器110與共用記憶體介面電路200之間的第一匯流排140可支援第一處理器110與共用記憶體介面電路200之間的資料互換。
位於第二處理器130與共用記憶體介面電路200之間的第二匯流排150可支援第二處理器130與共用記憶體介面電路200之間的資料互換。
在一個實施例中,第一匯流排140及第二匯流排150中的每一者可為根據高級微控制器匯流排架構(Advanced Microcontroller Bus architecture,AMBA)規範或高級可擴展介面(Advanced eXtensible Interface,AXI)規範的匯流排。然而,第一匯流排140及第二匯流排150並非僅限於以上提及的規範且可為根據另一互連規範的匯流排。
第一處理器110可對藉由無線通訊所接收的訊號進行解調及解碼以獲得經解碼資料,並經由共用記憶體介面電路200將所述經解碼資料儲存於共用記憶體300中。所述經解碼資料可為經加密(ciphered或encrypted)資料。在一個實施例中,第一處理器110可產生封包資料,所述封包資料具有預定的或(作為另一選擇)所需要的格式且包括所述經解碼資料(例如,網際網路協定(Internet protocol,IP)封包資料)。在此種情形中,包括所述經解碼資料的封包資料可被儲存於共用記憶體300中。
共用記憶體介面電路200對儲存於共用記憶體300中的經解碼資料進行讀取及解密,並將所述經解密資料儲存於共用記憶體300中。
為此,共用記憶體介面電路200包括加密/解密模組240以對所述經解碼資料進行解密。加密/解密模組240可藉由共用記憶體介面電路200中所包括的電路來實施。
在藉由共用記憶體介面電路200將所述經解密資料儲存於共用記憶體300中之後,第二處理器130自共用記憶體300讀取所述經解密資料並處理所述經解密資料。
圖2是說明根據本發明概念至少一個示例性實施例的共 用記憶體300a(例如,圖1所示的共用記憶體)的圖式。參照圖1及圖2,共用記憶體300a可被劃分成多個區,例如,兩個區或更多個區。在一個實施例中,共用記憶體300a可被劃分成第一處理器分配區310、第二處理器分配區320、及保留區330。
第一處理器分配區310可包括韌體區311、位址描述符區313、及封包資料區315。
韌體區311是用於儲存第一處理器110的韌體的區。位址描述符區313可為用於儲存由第一處理器110產生的位址描述符的區。由第一處理器110產生的位址描述符可包括位址資訊,所述位址資訊指定將要儲存欲被第一處理器110使用(儲存或讀取)的資料的位置。
封包資料區315是用於為第一處理器110儲存資料的區。舉例而言,由第一處理器110產生的或欲被第一處理器110讀取的封包資料可儲存於封包資料區315中。
由第一處理器110解碼的資料可根據儲存於位址描述符區313中的位址描述符而儲存於封包資料區315中。
第二處理器分配區320可包括傳輸控制協定/網際網路協定(Transmission Control Protocol/Internet Protocol,TCP/IP)資料區321及位址描述符區325。
傳輸控制協定/網際網路協定資料區321是用於為第二處理器130儲存資料的區。舉例而言,由第二處理器130產生的或由第二處理器130讀取的封包資料可被儲存於傳輸控制協定/網際 網路協定資料區321中。
傳輸控制協定/網際網路協定資料區321可包括套接字緩衝器(socket buffer)323。
位址描述符區325可為用於儲存由第二處理器130產生的位址描述符的區。由第二處理器130產生的位址描述符可包括位址資訊,所述位址資訊指定將要儲存欲被第二處理器130使用(儲存或讀取)的資料的位置。
藉由共用記憶體介面電路200解密的資料可根據儲存於位址描述符區325中的位址描述符而儲存於套接字緩衝器323中。
圖3是更具體地說明根據本發明概念至少一個示例性實施例的多處理器系統10a的圖式。參照圖3,多處理器系統10a包括系統晶片(SoC)100a及共用記憶體300。
系統晶片100a包括連接性處理器(CP)系統晶片101、應用處理器(AP)系統晶片103、及共用記憶體介面電路200。
連接性處理器系統晶片101可包括數據機處理器110a、中央處理單元(central processing unit,CPU)122、數位訊號處理器(digital signal processor,DSP)124、及第一匯流排140。
中央處理單元122控制連接性處理器系統晶片101的總體運作。
數據機處理器110a可包括調變器/解調器(modulator/demodulator)(數據機Rx/Tx)112、編碼器/解碼器114、及第一直接記憶體存取單元116。數據機處理器110a可對應 於圖1所示的第一處理器110。如圖3中所示,數據機處理器110a可與另一處理器及/或裝置一起被實施為一個系統晶片(即,連接性處理器系統晶片101),但並非僅限於此實例。根據本發明概念的至少某些實施例,本發明中所使用的用語「直接記憶體存取單元」可指代例如直接記憶體存取控制器。
調變器/解調器(數據機Rx/Tx)112可對藉由無線通訊所接收的資料(例如,下行資料)進行解調,並對欲藉由無線通訊而傳送的資料(例如,上行資料)進行調變。
此處,可將下行資料綜合理解為欲藉由自行動通訊基站(base station)傳送至行動裝置而進行處理的資料,且可將上行資料綜合理解為由行動裝置產生且被傳送至行動通訊基站的資料。
根據本發明概念的至少某些示例性實施例的多處理器系統10、10a及10b適用於用於行動通訊的行動裝置。欲由調變器/解調器(數據機Rx/Tx)112實施的調變/解調方法可根據無線通訊協定而變化。
在下行資料的情形中,編碼器/解碼器114可接收並解碼由經調變器/解調器(數據機Rx/Tx)112調變的資料。在上行資料的情形中,編碼器/解碼器114可對資料進行編碼並將所述經編碼資料傳送至調變器/解調器(數據機Rx/Tx)112。在此種情形中,調變器/解調器(數據機Rx/Tx)112可將經編碼資料調變成欲藉由無線通訊進行傳送的無線資料。
在一個實施例中,所述經編碼資料可為由共用記憶體介面電路200a加密的(cyphered)資料。因此,數據機處理器110a可將所述加密的資料轉換成欲藉由無線通訊進行傳送的無線資料。
數位訊號處理器124可對數位訊號實行各種處理操作。
舉例而言,數位訊號處理器124可處理自影像感測器(圖中未示出)接收的影像資料。
第一匯流排140支援連接性處理器系統晶片101中所包括的各元件之間的通訊,及連接性處理器系統晶片101與外部裝置之間的通訊。
共用記憶體介面電路200a可包括區域匯流排210a及記憶體控制器220a。
區域匯流排210a可連接至第一匯流排140及第二匯流排150。
舉例而言,區域匯流排210a可與第一匯流排140一起支援第一處理器110與記憶體控制器220a之間的資料互換,並與第二匯流排150一起支援第二處理器130與記憶體控制器220a之間的資料互換。如以下所更詳細地論述,圖3所示的中央處理單元130a可為圖1所示第二處理器130的實例。
記憶體控制器220a可包括區域直接記憶體存取單元230a、加密/解密模組240a、讀取緩衝器251、及寫入緩衝器253。
記憶體控制器220a可經由第一匯流排140及區域匯流排 210a而自第一直接記憶體存取單元116接收經解碼資料並將所述經解碼資料暫時地儲存於寫入緩衝器253中。記憶體控制器220a可將儲存於寫入緩衝器253中的經解碼資料儲存於共用記憶體300中。
舉例而言,記憶體控制器220a可將所述經解碼資料儲存於共用記憶體300的第一處理器分配區310的封包資料區315中。
寫入緩衝器253是用以暫時地儲存欲被儲存於共用記憶體300中的資料的緩衝器。
加密/解密模組240a可請求區域直接記憶體存取單元230a讀取儲存於共用記憶體300中的經解碼資料。區域直接記憶體存取單元230a根據所述請求而自共用記憶體300讀取所述經解碼資料並將所讀取的資料提供至加密/解密模組240a。在一個實施例中,區域直接記憶體存取單元230a可藉由參考第一位址描述符來偵測經解碼資料的位址資訊,並根據所述位址資訊來讀取所述經解碼資料。
針對參考第一位址描述符的資訊可包含於自第一處理器110發出的指令中。舉例而言,第一處理器110可將包括針對參考第一位址描述符的資訊的指令發出至區域直接記憶體存取單元230a。另外,第一處理器110可將針對參考第一位址描述符的資訊設定於區域直接記憶體存取單元230a中所包括的暫存器(例如,特殊功能暫存器)(圖中未示出)中。
自共用記憶體300讀取的經解碼資料可被暫時地儲存於 讀取緩衝器251中。
讀取緩衝器251是用以暫時地儲存自共用記憶體300讀取的資料的緩衝器。
加密/解密模組240a藉由對經由區域直接記憶體存取單元230a接收的經解碼資料進行解密來產生經解密資料。在一個實施例中,加密/解密模組240a可包括加密/解密加速器241及加密/解密緩衝器243。加密/解密加速器241可被實施為用於對未加密資料進行加密及對經加密資料(例如,經解碼資料)進行解密的一或多個電路。作為另一選擇,加密/解密加速器241可被實施為執行程式的處理器,所述程式包括當由處理器執行時使處理器對未加密的資料進行加密及對經加密資料(例如,經解碼資料)進行解密的指令。加密/解密緩衝器243可暫時地儲存加密/解密加速器241的輸入資料及/或輸出資料。
加密/解密模組240a可請求區域直接記憶體存取單元230a儲存經解密資料。根據所述請求,區域直接記憶體存取單元230a自加密/解密模組240a接收所述經解密資料並經由寫入緩衝器253來將所述經解密資料儲存於共用記憶體300中。
在一個實施例中,區域直接記憶體存取單元230a可藉由參考第二位址描述符來偵測關於欲儲存的所述經解密資料的位址的資訊,並根據所述關於所述位址的資訊將所述經解密資料儲存於共用記憶體300中。
舉例而言,區域直接記憶體存取單元230a可將所述經解 密資料儲存於第二處理器分配區320的傳輸控制協定/網際網路協定資料區321的套接字緩衝器323中。
針對參考第二位址描述符的資訊可包含於自第二處理器130發出至區域直接記憶體存取單元230a的指令中。舉例而言,第二處理器130可將針對參考第二位址描述符的資訊發出至區域直接記憶體存取單元230a。作為另一選擇,第二處理器130可將針對參照第二位址描述符的資訊設定於區域直接記憶體存取單元230a中所包括的暫存器(圖中未示出)中。
應用處理器系統晶片103可包括中央處理單元130a、圖形處理單元(graphics processing unit,GPU)132、第二直接記憶體存取單元134、及第二匯流排150。
中央處理單元130a控制應用處理器系統晶片103的總體運作。
中央處理單元130a可例如被實施為多核心處理器。所述多核心處理器可為具有兩個或更多個獨立的及實質的處理單元(被稱為‘核心(core),)的一個計算組件。所述核心中的每一者可讀取並執行程式指令。
中央處理單元130a可對應於圖1所示的第二處理器130。如圖3中所示,中央處理單元130a可與另一處理器及/或裝置一起被實施為一個系統晶片(即,應用處理器系統晶片103),但並非僅限於此。
中央處理單元130a可讀取並處理儲存於共用記憶體300 中的經解密資料。另外,中央處理單元130a可產生欲藉由無線通訊而進行傳送的資料(例如,封包資料),並將所產生的資料儲存於共用記憶體300中。
圖形處理單元132可讀取並執行有關於圖形處理的程式指令。舉例而言,圖形處理單元132可以高速來實行圖形相關處理等。
第二直接記憶體存取單元134可根據來自中央處理單元130a、圖形處理單元132、或其他匯流排主控器(bus master)136的請求而將資料儲存於共用記憶體中或自共用記憶體讀取資料。
舉例而言,第二直接記憶體存取單元134可根據來自中央處理單元130a的請求而讀取儲存於共用記憶體300中的經解密資料或將由中央處理單元130a產生的封包資料儲存於共用記憶體300中。
圖4是具體地說明根據本發明概念至少另一示例性實施例的多處理器系統10b的圖式。圖4所示的多處理器系統10b在其結構及運作方面實質上相同於圖3所示的多處理器系統10a,且因此,為避免重覆說明,將集中闡述多處理器系統10b與多處理器系統10a之間的差異。
參照圖3及圖4,多處理器系統10b包括系統晶片100b及共用記憶體300。
系統晶片100b包括連接性處理器系統晶片101、應用處理器系統晶片103、及共用記憶體介面電路200b。
共用記憶體介面電路200b可包括區域匯流排210b、記憶體控制器220b、區域直接記憶體存取單元230b、及加密/解密模組240b。
在圖3所示實施例中,區域直接記憶體存取單元230a及加密/解密模組240a位於區域匯流排210a的後端處的記憶體控制器220a中,然而,在圖4所示實施例中,區域直接記憶體存取單元230b及加密/解密模組240b位於區域匯流排210b的前端處。
區域匯流排210b可連接至第一匯流排140及第二匯流排150。
舉例而言,區域匯流排210b可與第一匯流排140一起支援第一處理器110(例如,數據機處理器110a)與記憶體控制器220b之間的資料互換,並與第二匯流排150一起支援第二處理器130(例如,中央處理單元130a)與記憶體控制器220b之間的資料互換。
記憶體控制器220b可包括讀取緩衝器251及寫入緩衝器253。
記憶體控制器220b可經由第一匯流排140及區域匯流排210b自第一直接記憶體存取單元116接收經解碼資料,並將所述經解碼資料暫時地儲存於寫入緩衝器253中。記憶體控制器220b可將儲存於寫入緩衝器253中的所述經解碼資料儲存於共用記憶體300中。
加密/解密模組240b可請求區域直接記憶體存取單元 230b讀取儲存於共用記憶體300中的經解碼資料。區域直接記憶體存取單元230b根據所述請求而自共用記憶體300讀取所述經解碼資料並將所述經解碼資料提供至加密/解密模組240b。
在本實施例中,自共用記憶體300讀取的經解碼資料可暫時地儲存於讀取緩衝器251中,經由區域匯流排210b而儲存於區域直接記憶體存取單元230b中所包括的直接記憶體存取緩衝器231中,且被傳送並儲存於加密/解密模組240b中所包括的加密/解密緩衝器243中。
加密/解密加速器241藉由對儲存於加密/解密模組240b中所包括的加密/解密緩衝器243中的經解碼資料進行解密來產生經解密資料。
加密/解密模組240b可請求區域直接記憶體存取單元230b儲存所述經解密資料。區域直接記憶體存取單元230b根據所述請求而自加密/解密模組240b接收所述經解密資料並將所述經解密資料儲存於共用記憶體300中。
在至少一個示例性實施例中,加密/解密加速器241可將所述經解密資料儲存於加密/解密模組240b中所包括的加密/解密緩衝器243中。所述經解密資料可自加密/解密緩衝器243傳送至區域直接記憶體存取單元230b的直接記憶體存取緩衝器231、儲存於直接記憶體存取緩衝器231中、經由區域匯流排210b而暫時地儲存於記憶體控制器220b的寫入緩衝器253中、且接著儲存於共用記憶體300中。
如上所述,讀取經解碼資料的路徑或儲存經解密資料的路徑可根據共用記憶體介面電路200a中所包括的區域直接記憶體存取單元230a及加密/解密模組240a或共用記憶體介面電路200b中所包括的區域直接記憶體存取單元230b及加密/解密模組240b的定位而變化。然而,藉由共用記憶體介面電路200a而自共用記憶體300讀取經解碼資料、對所述經解碼資料進行解密、及將所述經解密資料儲存於共用記憶體300中的功能及操作實質上相同於藉由共用記憶體介面電路200b而自共用記憶體300讀取經解碼資料、對所述經解碼資料進行解密、及將所述經解密資料儲存於共用記憶體300中的功能及操作。
如上所述,根據本發明概念的至少一個示例性實施例,區域直接記憶體存取單元230a或230b及加密/解密模組240a或240b包含於共用記憶體介面電路200a或200b中。因此,當資料自共用記憶體300的第一處理器分配區310傳送至共用記憶體300的第二處理器分配區320或自第二處理器分配區320傳送至第一處理器分配區310時,所述資料僅經由共用記憶體介面電路200在內部傳送而不通過第一處理器110的匯流排140及第二處理器130的匯流排150。因此,當在第一處理器110與第二處理器130之間進行資料互換時,共用記憶體300被存取的次數可減少。
因此,多處理器系統的效能(例如,運算速度等)可得以提高且多處理器系統的功耗可得以降低。
圖5是作為圖3中所示共用記憶體介面電路200a的經修 改實例的共用記憶體介面電路200c的方塊圖。參照圖3及圖5,共用記憶體介面電路200c在其結構及運作方面實質上相同於圖3所示的共用記憶體介面電路200a,且因此,為避免重覆說明,將集中闡述共用記憶體介面電路200c與共用記憶體介面電路200a之間的差異。
相較於圖3所示的共用記憶體介面電路200a,共用記憶體介面電路200c更包括系統快取260。
系統快取260可對儲存於共用記憶體300中的資料中的某些資料進行儲存。在自共用記憶體300讀取資料之前,共用記憶體介面電路200c可檢查資料是否已儲存於系統快取260中。
舉例而言,為根據來自加密/解密模組240a的請求而自共用記憶體300讀取經解碼資料,共用記憶體介面電路200c的區域直接記憶體存取單元230a可首先請求系統快取260提供經解碼資料。在圖5中,參考編號215代表包括區域直接記憶體存取單元230a及加密/解密模組240a的區塊。
將其中所需要的資料(例如,經解碼資料)已儲存於系統快取260中的情景稱為‘快取命中(cache-hit)’。當出現快取命中時,區域直接記憶體存取單元230a可自系統快取260讀取所述經解碼資料並將所述經解碼資料提供至加密/解密模組240a。
將其中所需要的資料(例如,經解碼資料)未儲存於系統快取260中的情景稱為‘快取未中(cache-miss)’。當出現快取未中時,區域直接記憶體存取單元230a可經由記憶體控制器 220c而自共用記憶體300讀取所述經解碼資料並將所述經解碼資料提供至加密/解密模組240a。在此種情形中,可將自共用記憶體300讀取的經解碼資料儲存於系統快取260中。
圖6是作為圖4中所示共用記憶體介面電路200b的經修改實例的共用記憶體介面電路200d的方塊圖。參照圖4及圖6,共用記憶體介面電路200d在其結構及運作方面實質上相同於圖4所示的共用記憶體介面電路200b,且因此,為避免重覆說明,將集中闡述共用記憶體介面電路200d與共用記憶體介面電路200b之間的差異。
相較於圖4所示的共用記憶體介面電路200b,共用記憶體介面電路200d更包括系統快取260。
系統快取260如以上參照圖5所述一樣,且因此此處將不再對其予以贅述。
圖7是根據本發明概念至少一個示例性實施例的操作多處理器系統的方法的流程圖。圖8是說明根據本發明概念的至少一個示例性實施例的操作多處理器系統的方法的圖式。具體而言,圖7及圖8說明根據本發明概念至少某些示例性實施例的藉由多處理器系統來處理下行資料的方法的實例。可藉由圖1中所示的多處理器系統10、圖3中所示的多處理器系統10a、或圖4中所示的多處理器系統10b來實行圖7及圖8所示的方法。
首先,連接性處理器(連接性處理器101)可產生指示欲儲存下行資料的位置的第一位址描述符(操作S110)並經由共用 記憶體介面電路200而將第一位址描述符儲存於共用記憶體300中(操作S115、S120)。連接性處理器101可對應於圖1所示的第一處理器110及/或圖3或圖4所示的連接性處理器系統晶片101。第一位址描述符可包括指示共用記憶體300中欲儲存下行資料(例如,經解碼資料)的位置的位址資訊。
舉例而言,連接性處理器101可產生第一位址描述符(操作S110)並請求共用記憶體介面電路200儲存第一位址描述符(操作S115)。共用記憶體介面電路200可根據所述請求而將第一位址描述符儲存於共用記憶體300中(操作S120)。
在一個實施例中,如圖8中所示,可將第一位址描述符儲存於共用記憶體300的第一處理器分配區310的位址描述符區313中(圖8所示的操作S13)。
相似地,應用處理器(應用處理器103)可產生指示欲儲存下行資料的位置的第二位址描述符(操作S125)並經由共用記憶體介面電路200而將第二位址描述符儲存於共用記憶體300中(操作S130及S135)。應用處理器103可對應於圖1所示的第二處理器130及/或圖3或圖4所示的應用處理器系統晶片103。
第二位址描述符可包括指示共用記憶體300中欲儲存下行資料(例如,經解密資料)的位置的位址資訊。
舉例而言,應用處理器103可產生第二位址描述符(操作S125)並請求共用記憶體介面電路200儲存第二位址描述符(操作S130)。共用記憶體介面電路200可根據所述請求而將第二位址 描述符儲存於共用記憶體300中(操作S135)。
在一個實施例中,如圖8中所示,可將第二位址描述符儲存於共用記憶體300的第二處理器分配區320的位址描述符區325中(圖8所示的操作S11)。
連接性處理器101藉由無線通訊來接收無線資料,並藉由對所接收的無線資料進行調變及解碼來產生經解碼資料(操作S140)。另外,連接性處理器101可自所述經解碼資料產生具有預定的或(作為另一選擇)所需要的格式的封包資料(例如,網際網路協定(IP)封包資料)。
連接性處理器101可請求共用記憶體介面電路200藉由將所述經解碼資料傳送至共用記憶體介面電路200來儲存所述經解碼資料(操作S145)。
舉例而言,連接性處理器101可請求共用記憶體介面電路200儲存所述經解碼資料(操作S145),且共用記憶體介面電路200可因應於所述請求而將所述經解碼資料儲存於共用記憶體300中(操作S150)。
在一個實施例中,如圖8中所示,連接性處理器101可產生包括經解碼資料的網際網路協定封包資料並將所述網際網路協定封包資料儲存於共用記憶體300的第一處理器分配區310的封包資料區315中(圖8所示的操作S14)。
共用記憶體介面電路200自共用記憶體300的第一處理器分配區310讀取包括所述經解碼資料的網際網路協定封包資料 (操作S155),並對所述網際網路協定封包資料進行解密(操作S160)。另外,共用記憶體介面電路200將所述經解密資料儲存於共用記憶體300的第二處理器分配區320中(操作S165)。
舉例而言,如圖8中所示,共用記憶體介面電路200可藉由參考儲存於第二處理器分配區320的位址描述符區325中的第二位址描述符來將所述經解密資料儲存於第二處理器分配區320的套接字緩衝器323中(圖8所示的操作S15)。
當將所述經解密資料儲存於第二處理器分配區320的套接字緩衝器323中時,應用處理器103可請求共用記憶體介面電路200讀取所述經解密資料(操作S170),且共用記憶體介面電路200可因應於所述請求而自共用記憶體300讀取所述經解密資料(操作S175)並將所述經解密資料提供至應用處理器103(操作S180)。應用處理器103可處理所述經解密資料並將所述經解密資料提供至使用者(操作S185)。
在一個實施例中,在操作S15之前,應用處理器103可產生用於儲存經解密封包資料的套接字緩衝器結構,並將所述套接字緩衝器結構儲存於第二處理器分配區320的傳輸控制協定/網際網路協定資料區321中。
在一個實施例中,當將所述經解密封包資料儲存於第二處理器分配區320的套接字緩衝器323中時,可將‘結束’訊號儲存於圖8所示的信箱350中。在此種情形中,信箱350可產生去往應用處理器103的中斷訊號(圖8所示的操作S16)。信箱350 可例如為共用記憶體介面電路(例如,共用記憶體介面電路200及/或200a-200d)中所包括的電路。
接著,應用處理器103可因應於所述中斷訊號而自共用記憶體300讀取所述經解密資料並處理所述經解密資料(圖8所示的操作S17)。
在一個實施例中,可以不同於上述次序的次序來實行圖7及/或圖8中所示的操作多處理器系統的方法中所包括的操作,且可並列地實行所述方法的各操作中的至少一者。
圖9是根據本發明概念至少另一示例性實施例的操作多處理器系統的方法的流程圖。圖10是說明根據本發明概念至少另一示例性實施例的操作多處理器系統的方法的圖式。具體而言,圖9及圖10說明根據本發明概念至少某些示例性實施例的藉由多處理器系統來處理上行資料的方法的實例。可藉由圖1所示的多處理器系統10、圖3所示的多處理器系統10a、或圖4所示的多處理器系統10b來實行圖9及圖10所示的方法。
首先,應用處理器(應用處理器103)可產生指示欲儲存上行資料的位置的第三位址描述符(操作S210)並經由共用記憶體介面電路200而將第三位址描述符儲存於共用記憶體300中(操作S215及S220)。應用處理器103可對應於圖1所示的第二處理器130或者圖3或圖4所示的應用處理器系統晶片103。第三位址描述符可包括指示共用記憶體300中欲儲存上行資料(例如,由應用處理器103產生的封包資料)的位置的位址資訊。
舉例而言,應用處理器103可產生第三位址描述符(操作S210)並請求共用記憶體介面電路200儲存第三位址描述符(操作S215),且共用記憶體介面電路200可因應於所述請求而將第三位址描述符儲存於共用記憶體300中(操作S220)。
在一個實施例中,如圖10中所示,可將第三位址描述符儲存於共用記憶體300的第二處理器分配區320的位址描述符區325中(圖10所示的操作S21)。
相似地,連接處理器(連接性處理器101)可產生指示欲儲存上行資料的位置的第四位址描述符(操作S225)並經由共用記憶體介面電路200而將第四位址描述符儲存於共用記憶體300中(操作S230及S235)。連接性處理器101可對應於圖1所示的第一處理器110或者圖3或圖4所示的連接性處理器系統晶片101。
第四位址描述符可包括指示共用記憶體300中欲儲存上行資料的位置的位址資訊。
舉例而言,連接性處理器101可產生第四位址描述符(操作S225)並請求共用記憶體介面電路200儲存第四位址描述符(操作S230),且共用記憶體介面電路200可因應於所述請求而將第四位址描述符儲存於共用記憶體300中(操作S235)。
在一個實施例中,如圖10中所示,可將第四位址描述符儲存於共用記憶體300的第一處理器分配區310的位址描述符區313中(圖10所示的操作S23)。
應用處理器103產生欲藉由無線通訊進行傳送的上行資 料(操作S240)。另外,應用處理器103可產生具有預定的或(作為另一選擇)所需要的格式且包括上行資料的封包資料(例如,網際網路協定封包資料)。
應用處理器103可請求共用記憶體介面電路200藉由將上行資料傳送至共用記憶體介面電路200來儲存上行資料(操作S245)。
舉例而言,應用處理器103可請求共用記憶體介面電路200儲存上行資料(操作S245),且共用記憶體介面電路200可因應於所述請求而將上行資料儲存於共用記憶體300中(操作S250)。
在一個實施例中,如圖10中所示,應用處理器103可產生包括上行資料的網際網路協定封包資料並將所述網際網路協定封包資料儲存於共用記憶體300的第二處理器分配區320的傳輸控制協定/網際網路協定資料區321的套接字緩衝器323中(圖10所示的操作S22)。
在一個實施例中,在操作S22之前,應用處理器103可產生用於儲存上行封包資料的套接字緩衝器結構,並將所述套接字緩衝器結構儲存於第二處理器分配區320的傳輸控制協定/網際網路協定資料區321中。
共用記憶體介面電路200自共用記憶體300的第二處理器分配區320的套接字緩衝器323讀取上行資料(操作S255),並對所述上行資料進行加密(操作S260)。
另外,共用記憶體介面電路200將經加密資料儲存於共用記憶體300的第一處理器分配區310中(操作S265)。
舉例而言,如圖10中所示,共用記憶體介面電路200可藉由參考第四位址描述符而將所述經加密上行資料儲存於第一處理器分配區310的封包資料區315中,所述第四位址描述符儲存於第一處理器分配區310的位址描述符區313中(圖10所示的操作S25)。
當將所述經加密上行資料儲存於第一處理器分配區310的封包資料區315中時,連接性處理器101可請求共用記憶體介面電路200讀取所述經加密上行資料(操作S270),且共用記憶體介面電路200可因應於所述請求而自共用記憶體300讀取所述經加密上行資料(操作S275)並將所述經加密上行資料提供至連接性處理器101(操作S280)。連接性處理器101可藉由對所述經加密上行資料進行編碼及調變而將所述經加密上行資料轉換成欲藉由無線通訊進行傳送的無線資料(操作S285)。
在一個實施例中,當將所述經加密上行資料儲存於第一處理器分配區310的封包資料區315中時,可將‘結束’訊號儲存於圖10所示的信箱350中。在此種情形中,信箱350可產生去往連接性處理器101的中斷訊號(圖10所示的操作S26)。
接著,連接性處理器101可因應於所述中斷訊號而自共用記憶體300讀取所述經加密上行資料並將所述經加密上行資料轉換成無線資料(圖10所示的操作S27)。
圖11是根據本發明概念至少一個示例性實施例的電子系統400的方塊圖。
參照圖11,電子系統400可被實施為個人電腦(PC)、資料伺服器、膝上型電腦、或可攜式裝置。所述可攜式裝置可為行動電話、智慧型電話、平板個人電腦、個人數位助理(personal digital assistant,PDA)、企業數位助理(enterprise digital assistant,EDA)、數位照相機(digital still camera)、數位攝影機(digital video camera)、可攜式多媒體播放器(portable multimedia player,PMP)、個人導航裝置或可攜式導航裝置(portable navigation device,PND)、手持式遊戲機、或電子書(e-book)。
電子系統400包括系統晶片100、電源410、儲存裝置420、記憶體300、輸入/輸出(input/output,I/O)埠440、擴展卡450、網路裝置460、及顯示器470。在一個實施例中,電子系統400可更包括照相機模組480。
系統晶片100可控制該些元件410至480中的至少一者的運作。系統晶片100對應於圖1中所示的系統晶片100、圖3中所示的系統晶片100a、或圖4中所示的系統晶片100b。
電源410可將操作電壓供應至該些元件100及420至480中的至少一者。
儲存裝置420可被實施為硬碟驅動機或固態驅動機(solid state drive,SSD)。
記憶體300可被實施為揮發性記憶體或非揮發性記憶體。
輸入/輸出埠440是用以將資料傳送至電子系統400或將自電子系統400輸出的資料傳送至外部裝置的埠。舉例而言,輸入/輸出埠440可包括用以將例如電腦滑鼠等指向裝置連接至電子裝置400的埠、用以將列印機連接至電子裝置400的埠、用以將通用串列匯流排(universal serial bus,USB)驅動器連接至電子裝置400的埠等。
擴展卡450可被實施為保全數位(secure digital,SD)卡或多媒體卡(multimedia card,MMC)。在一個實施例中,擴展卡450可為用戶辨識模組(subscriber identity module,SIM)卡或通用用戶辨識模組(universal subscriber identity module,USIM)卡。
網路裝置460是用以將電子系統400連接至有線網路或無線網路的裝置。
顯示器470可顯示自儲存裝置420、記憶體300、輸入/輸出埠440、擴展卡450、或網路裝置460輸出的資料。
照相機模組480是用以將光學影像轉換成電性影像的模組(例如,可包括至少一個透鏡及至少一個影像感測器的模組)。因此,自照相機模組480輸出的電性影像可儲存於儲存裝置420、記憶體300、或擴展卡450中。另外,自照相機模組480輸出的電性影像可顯示於顯示器470上。
圖12是說明根據本發明概念至少一個示例性實施例的行動裝置500的示意圖。參照圖12,行動裝置500可包括圖1所示的多處理器系統10。
行動裝置500可被實施為但不限於智慧型電話、平板個人電腦、個人數位助理(PDA)、企業數位助理(EDA)、行動網際網路裝置(mobile internet device,MID)等。
根據本發明概念的至少一個示例性實施例,在其中兩個或更多個處理器共享一個記憶體的系統中,記憶體介面電路中包括有區域直接記憶體存取單元以及加密及解密模組。因此,當將資料自一個處理器傳送至另一處理器時,所述資料可僅經由所述記憶體介面電路在內部傳送而不通過所述處理器的匯流排。因此,當在各處理器之間進行資料互換時,存取共用記憶體的次數可減少。因此,多處理器系統的效能(例如,運算速度等)可得以提高且所述多處理器系統的功耗可得以降低。
由於已闡述了本發明概念的示例性實施例,將顯而易見,本發明概念的示例性實施例可以諸多方式變化。此種變化不應被視為背離本發明概念的示例性實施例的所預期的精神及範圍,且如對熟習此項技術者將顯而易見,所有此類潤飾皆旨在包含於以下申請專利範圍的範圍內。
10‧‧‧多處理器系統
100‧‧‧系統晶片/元件
110‧‧‧第一處理器
116‧‧‧直接記憶體存取單元/第一直接記憶體存取單元
130‧‧‧第二處理器
134‧‧‧直接記憶體存取單元/第二直接記憶體存取單元
140‧‧‧匯流排/第一匯流排
150‧‧‧匯流排/第二匯流排
200‧‧‧共用記憶體介面電路
240‧‧‧加密/解密模組
300‧‧‧共用記憶體/記憶體

Claims (16)

  1. 一種多處理器系統,包括:第一處理器;第二處理器;共用記憶體,用以儲存由所述第一處理器產生的資料及由所述第二處理器產生的資料;以及記憶體介面電路,用以在所述共用記憶體與所述第一處理器及所述第二處理器之間介接,所述第一處理器用以對藉由無線通訊所接收的訊號進行解調及解碼,並經由所述記憶體介面電路將經解碼資料儲存於所述共用記憶體中,所述記憶體介面電路用以以使得所述經解碼資料既不通過所述第一處理器的匯流排也不通過所述第二處理器的匯流排的方式,對儲存於所述共用記憶體中的所述經解碼資料進行讀取及解密,並將經解密資料儲存於所述共用記憶體中,所述共用記憶體包括用於所述第一處理器的第一處理器分配區及用於所述第二處理器的第二處理器分配區,且所述記憶體介面電路用以將所述經解碼資料儲存於所述第一處理器分配區中,以及將所述經解密資料儲存於所述第二處理器分配區中。
  2. 如申請專利範圍第1項所述的多處理器系統,其中所述記憶體介面電路包括: 記憶體控制器,用以根據來自所述第一處理器的第一直接記憶體存取(DMA)單元的第一記憶體存取請求及來自所述第二處理器的第二直接記憶體存取單元的第二記憶體存取請求來存取所述共用記憶體;以及區域匯流排,用以:接收所述第一記憶體存取請求及所述第二記憶體存取請求,且將所述第一記憶體存取請求及所述第二記憶體存取請求傳送至所述記憶體控制器。
  3. 如申請專利範圍第2項所述的多處理器系統,其中所述記憶體控制器包括:區域直接記憶體存取單元;以及加密及解密模組,用以請求所述區域直接記憶體存取單元讀取儲存於所述第一處理器分配區中的所述經解碼資料,並對經由所述區域直接記憶體存取單元讀取的所述經解碼資料進行解密,所述區域直接記憶體存取單元用以:讀取儲存於所述第一處理器分配區中的所述經解碼資料,及根據來自所述加密及解密模組的所述請求,將所述經解碼資料提供至所述加密及解密模組。
  4. 如申請專利範圍第3項所述的多處理器系統,其中,所述第一處理器用以產生第一位址描述符並將所述第一位址 描述符儲存於所述第一處理器分配區中,所述區域直接記憶體存取單元用以藉由參考儲存於所述第一處理器分配區中的所述第一位址描述符來讀取所述經解碼資料,且所述第一位址描述符包括所述經解碼資料的位址資訊。
  5. 如申請專利範圍第3項所述的多處理器系統,其中,所述第二處理器用以產生第二位址描述符並將所述第二位址描述符儲存於所述第二處理器分配區中,所述區域直接記憶體存取單元用以根據來自所述加密及解密模組的所述請求,藉由參考儲存於所述第二處理器分配區中的所述第二位址描述符而將所述經解密資料儲存於所述第二處理器分配區中,且所述第二位址描述符包括所述經解密資料的位址資訊。
  6. 如申請專利範圍第3項所述的多處理器系統,其中,所述區域直接記憶體存取單元用以在所述將所述經解密資料儲存於所述第二處理器分配區中之後,通知信箱所述經解密資料的所述儲存已結束,且所述信箱用以提供中斷訊號至所述第二處理器。
  7. 如申請專利範圍第6項所述的多處理器系統,其中,所述第二處理器用以因應於由所述信箱提供的所述中斷訊號而發出請求所述記憶體介面電路提供所述經解密資料的所述第二記憶體存取請求, 所述記憶體介面電路用以藉由參考所述第二位址描述符而自所述第二處理器分配區讀取所述經解密資料,所述記憶體介面電路用以根據所述第二記憶體存取請求而將所述經解密資料傳送至所述第二處理器,且所述第二處理器用以自所述記憶體介面電路接收所述經解密資料並處理所述經解密資料。
  8. 如申請專利範圍第3項所述的多處理器系統,其中所述記憶體介面電路更包括:系統快取,用以對儲存於所述共用記憶體中的所述資料中的某些資料進行儲存,所述記憶體介面電路用以在自所述共用記憶體獲得所請求資訊之前判斷所述所請求資訊是否被快取於所述系統快取中。
  9. 如申請專利範圍第2項所述的多處理器系統,其中所述記憶體介面電路包括:加密及解密模組,用以藉由對所述經解碼資料進行解密而產生所述經解密資料;以及區域直接記憶體存取單元,連接至所述區域匯流排,所述區域直接記憶體存取單元用以根據來自所述加密及解密模組的請求,經由所述區域匯流排讀取所述經解碼資料並將所述經解碼資料提供至所述加密及解密模組,所述區域匯流排用以將對自所述區域直接記憶體存取單元接收的所述經解碼資料進行請求的訊號傳送至所述記憶體控制器。
  10. 如申請專利範圍第9項所述的多處理器系統,其中,所述第一處理器用以產生第一位址描述符並將所述第一位址描述符儲存於所述第一處理器分配區中,所述區域直接記憶體存取單元用以藉由參考儲存於所述第一處理器分配區中的所述第一位址描述符來讀取所述經解碼資料,且所述第一位址描述符包括所述經解碼資料的位址資訊。
  11. 如申請專利範圍第9項所述的多處理器系統,其中,所述第二處理器用以產生第二位址描述符並將所述第二位址描述符儲存於所述第二處理器分配區中,所述區域直接記憶體存取單元用以根據來自所述加密及解密模組的請求,藉由參考儲存於所述第二處理器分配區中的所述第二位址描述符而將所述經解密資料儲存於所述第二處理器分配區中,且所述第二位址描述符包括所述經解密資料的位址資訊。
  12. 如申請專利範圍第9項所述的多處理器系統,其中所述記憶體介面電路更包括:系統快取,用以對儲存於所述共用記憶體中的所述資料中的某些資料進行儲存,所述記憶體介面電路用以在自所述共用記憶體獲得所請求資訊之前判斷所述所請求資訊是否被快取於所述系統快取中。
  13. 如申請專利範圍第1項所述的多處理器系統,其中, 所述第一處理器是連接性處理器(CP),且所述第二處理器是應用處理器(AP)。
  14. 一種多處理器系統,包括:第一處理器;第二處理器;共用記憶體,用以儲存由所述第一處理器產生的資料及由所述第二處理器產生的資料;以及記憶體介面電路,用以在所述共用記憶體與所述第一處理器及所述第二處理器之間進行介接,所述第二處理器用以產生用於無線通訊的上行資料並經由所述記憶體介面電路將所述上行資料儲存於所述共用記憶體中,所述記憶體介面電路更用以以使得所述經解碼資料既不通過所述第一處理器的匯流排也不通過所述第二處理器的匯流排的方式,對儲存於所述共用記憶體中的所述上行資料進行讀取及加密,並將所述經加密資料儲存於所述共用記憶體中,所述共用記憶體包括用於所述第一處理器的第一處理器分配區及用於所述第二處理器的第二處理器分配區,且所述記憶體介面電路用以將所述上行資料儲存於所述第二處理器分配區中,且所述記憶體介面電路用以將所述經加密資料儲存於所述第一處理器分配區中。
  15. 如申請專利範圍第14項所述的多處理器系統,其中, 所述第一處理器用以將對所述經加密資料的請求發送至所述記憶體介面電路,且所述記憶體介面電路用以藉由以下操作而因應於所述請求:自所述共用記憶體讀取所述經加密資料,以及將所述所讀取經加密資料提供至所述第一處理器。
  16. 如申請專利範圍第15項所述的多處理器系統,其中所述第一處理器用以:自所述記憶體介面電路接收所述所讀取經加密資料,將所述所讀取經加密資料轉換成無線資料,以及無線地傳送所述無線資料。
TW105136177A 2015-11-12 2016-11-08 包含多處理器所共享之記憶體的多處理器系統 TWI767893B (zh)

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
TW201719446A TW201719446A (zh) 2017-06-01
TWI767893B true TWI767893B (zh) 2022-06-21

Family

ID=58640506

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105136177A TWI767893B (zh) 2015-11-12 2016-11-08 包含多處理器所共享之記憶體的多處理器系統

Country Status (6)

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

Families Citing this family (8)

* 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 湖北芯擎科技有限公司 一种数据加密方法、装置、设备和计算机可读存储介质
KR102509646B1 (ko) * 2021-11-15 2023-03-15 삼성전자주식회사 스토리지 장치
TWI826252B (zh) * 2022-12-21 2023-12-11 瑞昱半導體股份有限公司 在多個處理器之間共用儲存裝置的方法以及電子裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987961B1 (en) * 2004-06-28 2006-01-17 Neomagic Corp. Ethernet emulation using a shared mailbox between two processors in a feature phone
US20100322419A1 (en) * 2007-07-03 2010-12-23 Nec Corporation Data encryption/decryption method and data processing device
US8635412B1 (en) * 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
TW201530317A (zh) * 2011-10-27 2015-08-01 Intel Corp 在處理器中用於使非核心領域能夠控制記憶體頻寬之方法與系統及處理器(二)

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
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
JP4963855B2 (ja) * 2006-03-28 2012-06-27 株式会社ソニー・コンピュータエンタテインメント ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
TW200813724A (en) * 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors
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
JP4836878B2 (ja) * 2007-06-21 2011-12-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 엠텍비젼 주식회사 촬상 장치, 이미지 시그널 프로세서 칩 및 칩 간의 메모리 공유 방법
JP5499987B2 (ja) * 2010-08-13 2014-05-21 富士通株式会社 共有キャッシュメモリ装置
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
CN103139879B (zh) * 2011-11-28 2016-12-07 安凯(广州)微电子技术有限公司 一种无线个人局域网通信系统
EP2795503A4 (en) * 2011-12-21 2015-08-26 Intel Corp 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
US6987961B1 (en) * 2004-06-28 2006-01-17 Neomagic Corp. Ethernet emulation using a shared mailbox between two processors in a feature phone
US20100322419A1 (en) * 2007-07-03 2010-12-23 Nec Corporation Data encryption/decryption method and data processing device
US8635412B1 (en) * 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
TW201530317A (zh) * 2011-10-27 2015-08-01 Intel Corp 在處理器中用於使非核心領域能夠控制記憶體頻寬之方法與系統及處理器(二)

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI767893B (zh) 包含多處理器所共享之記憶體的多處理器系統
US20230110230A1 (en) Technologies for secure i/o with memory encryption engines
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
TWI545436B (zh) 用於安全記憶體管理之積體電路及方法
US10560262B2 (en) Information-processing system, information-processing apparatus, management apparatus, and processing method
US9152825B2 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
US11943340B2 (en) Process-to-process secure data movement in network functions virtualization infrastructures
KR20150143708A (ko) 스토리지 디바이스 보조 인라인 암호화 및 암호해독
JP2008197578A (ja) データ暗号化装置、データ復号化装置、データ暗号化方法、データ復号化方法およびデータ転送制御装置
CN111949372B (zh) 一种虚拟机迁移方法、通用处理器及电子设备
CN115408707B (zh) 一种数据传输方法、装置、系统及电子设备和存储介质
WO2022161182A1 (zh) 基于数据流的可信计算的方法及装置
CN113704041A (zh) Fpga设计的安全调试
WO2021203767A1 (zh) 内存访问方法、系统级芯片和电子设备
US20220416997A1 (en) Handling unaligned transactions for inline encryption
CN103729324A (zh) 一种基于usb3.0接口的云存储文件安全保护装置
GB2498359A (en) Application engine module with modem component.
WO2022036615A1 (en) Device channel protection mechanism
US20240134804A1 (en) Data transfer encryption mechanism
US20230163964A1 (en) Secure key exchange in a multi-processor device
KR102521652B1 (ko) 암호화된 고해상도 비디오/오디오 데이터를 전송할 수 있는 인터페이스 모듈 및 이를 포함하는 디스플레이 시스템
CN117150529A (zh) 数据处理方法、装置及电子设备
TW202132979A (zh) 用於資料之加密及解密的運算裝置