CN107015940B - 包含由多处理器共享的存储器的多处理器系统及其方法 - Google Patents

包含由多处理器共享的存储器的多处理器系统及其方法 Download PDF

Info

Publication number
CN107015940B
CN107015940B CN201611005736.3A CN201611005736A CN107015940B CN 107015940 B CN107015940 B CN 107015940B CN 201611005736 A CN201611005736 A CN 201611005736A CN 107015940 B CN107015940 B CN 107015940B
Authority
CN
China
Prior art keywords
processor
data
common memory
memory
interface circuit
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
CN201611005736.3A
Other languages
English (en)
Other versions
CN107015940A (zh
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 CN107015940A publication Critical patent/CN107015940A/zh
Application granted granted Critical
Publication of CN107015940B publication Critical patent/CN107015940B/zh
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
    • 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
    • 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
    • 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)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General 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号的权益,其公开通过引用整体整合到本文中。
技术领域
发明构思的一个或多个示例实施例涉及包含一个或多个处理器的系统及操作该系统的方法,并且更具体而言,涉及包含不同类型的处理器的多处理器系统及操作该处理器系统的方法。
背景技术
在根据相关技术的移动设备(例如智能电话、平板个人计算机(PC)等)中,应用处理器(AP)和连接性处理器(CP)实施为不同的芯片,并且通过芯片至芯片接口连接至彼此。AP是移动设备中的主要芯片,其驱动移动设备的操作系统(OS)和各种应用程序。CP将移动设备连接至外部设备,并且也可以被称为通信芯片。
因此,在相关技术中,CP和AP作为独立系统分开操作,并且彼此通过芯片至芯片接口来交换数据。
最近,提出了AP和CP作为一个片上系统(SoC)被组合在一起的方法。
发明内容
根据至少一些示例实施例,一种多处理器系统包含:第一处理器;第二处理器;配置为存储由第一处理器生成的数据和由第二处理器生成的数据的公共存储器;以及配置为在公共存储器与第一和第二处理器之间进行对接(interface)的存储器接口电路,第一处理器被配置为解调并解码通过无线通信接收的信号,并经由存储器接口电路将解码数据存储在公共存储器中,存储器接口电路被配置为读取并解密存储在公共存储器中的解码数据,并将解密数据存储在公共存储器中。
根据发明构思的至少一些示例实施例,一种多处理器系统包含:第一处理器;第二处理器;配置为存储由第一处理器生成的数据和由第二处理器生成的数据的公共存储器;以及配置为在公共存储器与第一和第二处理器之间进行对接的存储器接口电路,第二处理器被配置为生成用于无线通信的上行链路数据,并经由存储器接口电路将上行链路数据存储在公共存储器中,存储器接口电路还被配置为读取并加密公共存储器中存储的上行链路数据,并将加密数据存储在公共存储器中。
公共存储器可以包含第一处理器分配区域和第二处理器分配区域,存储器接口电路可以配置为将上行链路数据存储在第二处理器分配区域中,并且存储器接口电路可以配置为将加密数据存储在第一处理器分配区域中。
附图说明
通过参考附图来详细描述发明构思的示例实施例,发明构思的示例实施例的上述和其它特征及优点将变得更明显。这些附图旨在绘出发明构思的示例实施例,并且不应解释为限制权利要求的旨在的范围。除非明确指明,否则这些附图不应被视为按比例绘出。
图1是根据发明构思的至少一个示例实施例的多处理器系统的概要框图;
图2是示出根据发明构思的至少一个示例实施例的图1的公共存储器的结构的图;
图3是详细示出根据发明构思的至少一个示例实施例的多处理器系统的图;
图4是详细示出根据发明构思的至少另一个示例实施例的多处理器系统的图;
图5是图3中所示的存储器接口电路的变形示例的框图;
图6是图4中所示的存储器接口电路的变形示例的框图;
图7是根据发明构思的至少一个示例实施例的操作多处理器系统的方法的流程图;
图8是示出根据发明构思的至少一个示例实施例的操作多处理器系统的方法的图;
图9是根据发明构思的至少另一个示例实施例的操作多处理器系统的方法的流程图;
图10是示出根据发明构思的至少另一个示例实施例的操作多处理器系统的方法的图;
图11是根据发明构思的至少一个示例实施例的电子系统的框图;以及
图12是示出根据发明构思的至少一个示例实施例的移动设备的概要图。
具体实施方式
图1是根据发明构思的至少一个示例实施例的多处理器系统10的概要框图。参考图1,多处理器系统10包含片上系统(SoC)100和公共存储器300。
SoC 100包含第一处理器110、第二处理器130和公共存储器接口电路200。
第一处理器110和第二处理器130中的每一个可以经由公共存储器接口电路200来访问公共存储器300。即,公共存储器接口电路200可以在公共存储器300与第一处理器110和第二处理器130之间进行对接。第一处理器110和第二处理器130中的每一个可以包含至少一个处理单元。
公共存储器300是由第一处理器110和第二处理器130公共使用的主存储器。公共存储器300例如可以是动态随机访问存储器(DRAM),但是不限于此。例如,公共存储器300可以实施为非易失性存储器。
第一处理器110或者第二处理器130可以将存储器访问请求即数据存储(写入)请求或者数据读取请求传输至公共存储器接口电路200。例如,第一处理器110或者第二处理器130可以经由其直接存储器访问(direct memoryaccess,DMA)单元116或者DMA单元134与公共存储器接口电路200交换数据。
位于第一处理器110与公共存储器接口电路200之间的第一总线140可以支持在第一处理器110与公共存储器接口电路200之间交换数据。
位于第二处理器130与公共存储器接口电路200之间的第二总线150可以支持在第二处理器130与公共存储器接口电路200之间交换数据。
在一个实施例中,第一总线140和第二总线150中的每一个可以是根据高级微控制器总线架构(Advanced Microcontroller Bus architecture,AMBA)或者高级可扩展接口(Advance eXtensible Interface,AXI)规范的总线。然而,第一总线140和第二总线150不限于上面提到的规范,而是可以是根据另一互连规范的总线。
第一处理器110可以解调并解码通过无线通信接收的信号,以获得解码数据,并经由公共存储器接口电路200将解码数据存储在公共存储器300中。解码数据可以是加密(ciphered或encrypted)数据。在一个实施例中,第一处理器110可以生成具有预定的或以其它方式期望的格式、并包含解码数据的分组数据(例如互联网协议(IP)分组数据)。在这种情况下,包含解码数据的分组数据可以存储在公共存储器300中。
公共存储器接口电路200读取并解密存储在公共存储器300中的解码数据,并将解密数据存储在公共存储器300中。
为此,公共存储器接口电路200包含加密/解密模块240,以将解码数据进行解密。加密/解密模块240可以由包含在公共存储器接口电路200中的电路实施。
在解密数据由公共存储器接口电路200存储在公共存储器300中之后,第二处理器130从公共存储器300读取解密数据,并处理解密数据。
图2是示出根据发明构思的至少一个示例实施例的诸如图1公共存储器这样的公共存储器300a的图。参考图1和图2,公共存储器300a可以被分割为多个区域,例如两个或更多个区域。在一个实施例中,公共存储器300a可以被分割为第一处理器分配区域310、第二处理器分配区域320和预留区域330。
第一处理器分配区域310可以包含固件区域311、地址描述符区域313和分组数据区域315。
固件区域311是用于存储第一处理器110的固件的区域。地址描述符区域313可以是用于存储由第一处理器110生成的地址描述符的区域。由第一处理器110生成的地址描述符可以包含指定位置的地址信息,第一处理器110将使用(存储或读取)的数据将存储在该位置处。
分组数据区域315是存储用于第一处理器110的数据的区域。例如,由第一处理器110生成或者将由其读取的分组数据可以存储在分组数据区域315中。
由第一处理器110解码的数据可以根据存储在地址描述符区域313中的地址描述符而被存储在分组数据区域315。
第二处理器分配区域320可以包含TCP/IP数据区域321和地址描述符区域325。
TCP/IP数据区域321是存储用于第二处理器130的数据的区域。例如,由第二处理器130生成或者将其读取的分组数据可以存储在TCP/IP数据区域321中。
TCP/IP数据区域321可以包含套接字缓冲区323。
地址描述符区域325可以是存储由第二处理器130生成的地址描述符的区域。由第二处理器130生成的地址描述符可以包含指定位置的地址信息,第二处理器130将使用(存储或读取)的数据将存储在该位置处。
由公共存储器接口电路200解密的数据可以根据存储在地址描述符区域325中的地址描述符而被存储在套接字缓冲区323中。
图3是更具体地示出根据发明构思的至少一个示例实施例的多处理器系统10a的图。参考图3,多处理器系统10a包含片上系统(SoC)100a和公共存储器300。
SoC 100a包含连接性处理器(connectivity processor,CP)SoC 101、应用处理器(AP)SoC 103和公共存储器接口电路200。
CP SoC 101可以包含调制解调器处理器110a、中央处理单元(CPU)122、数字信号处理器(DSP)124和第一总线140。
CPU 122控制CP SoC 101的总体操作。
调制解调器处理器110a可以包含调制器/解调器(调制解调器Rx/Tx)112、编码器/解码器114和第一DMA单元116。调制解调器处理器110a可以对应于图1的第一处理器110。如图3中所示,调制解调器处理器110a可以与另一处理器和/或设备一起实施为一个SoC(即,CP SoC 101),但是不限于此示例。根据发明构思的至少一些示例实施例,本公开中所使用的术语“DMA单元”例如可以指DMA控制器。
调制器/解调器(调制解调器Rx/Tx)112可以解调通过无线通信接收的数据(例如下行链路数据),并调制要通过无线通信传输的数据(例如上行链路数据)。
此处,下行链路数据可以综合理解为通过被从移动通信基站传输至移动设备来处理的数据,并且上行链路数据可以综合理解为由移动设备生成并传输至移动通信基站的数据。
根据发明构思的至少一些示例实施例的多处理器系统10、10a和10b适用于移动通信的移动设备。调制器/解调器(调制解调器Rx/Tx)112将采用的调制/解调方法可以根据无线通信协议而变化。
在下行链路数据的情况下,编码器/解码器114可以接收并解码经调制器/解调器(调制解调器Rx/Tx)112调制的数据。在上行链路数据的情况下,编码器/解码器114可以对数据进行编码,并将编码数据传输至调制器/解调器(调制解调器Rx/Tx)112。在这种情况下,调制器/解调器(调制解调器Rx/Tx)112可以将编码数据调制为无线数据以通过无线通信传输。
在一个实施例中,编码数据可以是由公共存储器接口电路200a加密的数据。因此,调制解调器处理器110a可以将加密数据转换为无线数据以通过无线通信传输。
DSP 124可以对数字信号执行各种处理操作。
例如,DSP 124可以处理从图像传感器(未示出)接收的图像数据。
第一总线140支持包含在CP SoC 101中的元件之间的通信、以及CP SoC101与外部设备之间的通信。
公共存储器接口电路200a可以包含本地总线210a和存储器控制器220a。
本地总线210a可以连接至第一总线140和第二总线150。
例如,本地总线210a可以与第一总线140一起支持第一处理器110与存储器控制器220a之间的数据交换,并与第二总线150一起支持第二处理器130与存储器控制器220a之间的数据交换。如下文更详细论述地,图3的CPU 130a可以是图1的第二处理器130的示例。
存储器控制器220a可以包含本地DMA单元230a、加密/解密模块240a、读取缓冲区251和写入缓冲区253。
存储器控制器220a可以经由第一总线140和本地总线210a从第一DMA单元116接收解码数据,并将解码数据临时存储在写入缓冲区253中。存储器控制器220a可以将存储在写入缓冲区253中的解码数据存储在公共存储器300中。
例如,存储器控制器220a可以将解码数据存储在公共存储器300的第一处理器分配区域310的分组数据区域315中。
写入缓冲区253是被配置为临时存储将存储在公共存储器300中的数据的缓冲区。
加密/解密模块240a可以请求本地DMA单元230a读取存储在公共存储器300中的解码数据。本地DMA单元230a根据请求从公共存储器300读取解码数据,并将读取的数据提供给加密/解密模块240a。在一个实施例中,本地DMA单元230a可以通过参考第一地址描述符来检测解码数据的地址信息,并根据地址信息读取解码数据。
用于参考第一地址描述符的信息可以包含在从第一处理器110发出的指令中。例如,第一处理器110可以向本地DMA单元230a发出包含用于参考第一地址描述符的信息的指令。或者,第一处理器110可以在包含在本地DMA单元230a中的寄存器(例如特殊功能寄存器)(未示出)中设定用于参考第一地址描述符的信息。
从公共存储器300读取的解码数据可以临时存储在读取缓冲区251中。
读取缓冲区253是配置为临时存储从公共存储器300读取的数据的缓冲区。
加密/解密模块240a通过对经由本地DMA单元230a接收的解码数据进行解密来生成解密数据。在一个实施例中,加密/解密模块240a可以包含加密/解密加速器241和加密/解密缓冲区243。加密/解密加速器241可以实施为用于对非加密数据进行加密以及对加密数据(例如解码数据)进行解密的一个或多个电路。可替换地,加密/解密加速器241可以实施为执行包含指令的程序的处理器,所述指令当被处理器执行时,使得处理器对非加密数据进行加密以及对加密数据(例如解码数据)进行解密。加密/解密缓冲区243可以临时存储加密/解密加速器241的输入数据和/或输出数据。
加密/解密模块240a可以请求本地DMA单元230a存储解密数据。根据该请求,本地DMA单元230a从加密/解密模块240a接收解密数据,并经由写入缓冲区253将解密数据存储在公共存储器300中。
在一个实施例中,本地DMA单元230a可以通过参考第二地址描述符来检测关于解密数据将被存储在的地址的信息,并根据关于该地址的信息将解密数据存储在公共存储器300中。
例如,本地DMA单元230a可以将解密数据存储在第二处理器分配区域320的TCP/IP数据区域321的套接字缓冲区323中。
用于参考第二地址描述符的信息可以包含在从第二处理器130向本地DMA单元230a发出的指令中。例如,第二处理器130可以将用于参考第二地址描述符的信息发出至本地DMA单元230a。可替换地,第二处理器130可以在包含在本地DMA单元230a中的寄存器(未示出)中设定用于参考第二地址描述符的信息。
AP SoC 103可以包含CPU 130a、图形处理单元(GPU)132、第二DMA单元134和第二总线150。
CPU 130a控制AP SoC 103的总体操作。
CPU 130a例如可以实施为多核处理器。多核处理器可以是具有两个或更多个独立且实质的处理单元(称为“核”)的一个计算组件。每个核可以读取并执行程序指令。
CPU 130a可以对应于图1的第二处理器130。如图3中所示,CPU 130a可以与另一处理器和/或设备一起实施为一个SoC(即,AP SoC 103),但是不限于此。
CPU 130a可以读取并处理存储在公共存储器300中的解密数据。另外,CPU 130a可以生成要通过无线通信传输的数据(例如分组数据),并将生成的数据存储在公共存储器300中。
GPU 132可以读取并执行与图形处理相关的程序指令。例如,GPU 132可以高速执行图形相关处理等。
第二DMA单元134可以根据来自CPU 130a、GPU 132、或者其它总线主控136的请求来将数据存储在公共存储器中或者从公共存储器读取数据。
例如,第二DMA单元134可以根据来自CPU 130a的请求读取存储在公共存储器300中的解密数据,或者将由CPU 130a生成的分组数据存储在公共存储器300中。
图4是具体地示出根据发明构思的至少另一个示例实施例的多处理器系统10b的图。图4的多处理器系统10b在其结构和操作方面实质上与图3的多处理器系统10a相同,因此,将聚焦于与多处理器系统10a的差异来进行描述,以避免冗余的描述。
参考图3和图4,多处理器系统10b包含SoC 100b和公共存储器300。
SoC 100b包含CP SoC 101、AP SoC 103和公共存储器接口电路200b。
公共存储器接口电路200b可以包含本地总线210b、存储器控制器220b、本地DMA单元230b、和加密/解密模块240b。
在图3的实施例中,本地DMA单元230a和加密/解密模块240a位于存储器控制器220a中,在本地总线210a的后端,而在图4的实施例中,本地DMA单元230b和加密/解密模块240b位于本地总线210b的前端。
本地总线210b可以连接至第一总线140和第二总线150。
例如,本地总线210b可以与第一总线140一起支持第一处理器110(例如调制解调器处理器110a)与存储器控制器220b之间的数据交换,并与第二总线150一起支持第二处理器130(例如CPU 130a)与存储器控制器220b之间的数据交换。
存储器控制器220b可以包含读取缓冲区251和写入缓冲区253。
存储器控制器220b可以经由第一总线140和本地总线210b从第一DMA单元116接收解码数据,并将解码数据临时存储在写入缓冲区253中。存储器控制器220b可以将存储在写入缓冲区253中的解码数据存储在公共存储器300中。
加密/解密模块240b可以请求本地DMA单元230b读取存储在公共存储器300中的解码数据。本地DMA单元230b根据该请求从公共存储器300读取解码数据,并将解码数据提供给加密/解密模块240b。
在本实施例中,从公共存储器300读取的解码数据可以临时存储在读取缓冲区251中,经由本地总线210b存储在包含在本地DMA单元230b中的DMA缓冲区231中,以及传输并存储在包含在加密/解密模块240b中的加密/解密缓冲区243中。
加密/解密加速器241通过对包含在加密/解密模块240b中的加密/解密缓冲区243中存储的解码数据进行解密来生成解密数据。
加密/解密模块240b可以请求本地DMA单元230b存储解密数据。本地DMA单元230b根据该请求从加密/解密模块240b接收解密数据,并将解密数据存储在公共存储器300中。
在至少一个示例实施例中,加密/解密加速器241可以将解密数据存储在包含在加密/解密模块240b的加密/解密缓冲区243中。解密数据可以从加密/解密缓冲区243传输至本地DMA单元230b的DMA缓冲区231,存储在DMA缓冲区231中,经由本地总线210b临时存储在存储器控制器220b的写入缓冲区253中,然后存储在公共存储器300中。
如上所述,根据包含在公共存储器接口电路200a中的本地DMA单元230a和加密/解密模块240a的位置,或者包含在公共存储器接口电路的本地DMA单元230b和加密/解密模块240b的位置,读取解码数据的路径或者存储解密数据的路径可能变化。然而,由公共存储器接口电路200a从公共存储器300读取解码数据、对解码数据进行解密并将解密数据存储在公共存储器300中的功能和操作与由公共存储器接口电路200b从公共存储器300读取解码数据、对解码数据进行解密并将解密数据存储在公共存储器300中的功能和操作实质上相同。
如上所述,根据发明构思的至少一个示例实施例,本地DMA单元230a或者230b以及加密/解密模块240a或者240b包含在公共存储器接口电路200a或者200b中。因此,当数据被从公共存储器300的第一处理器分配区域310传输至其第二处理器分配区域320或者从第二处理器分配区域320传输至第一处理器分配区域310时,该数据仅经由公共存储器接口电路200内部传输,而不流经各自的第一处理器110和第二处理器130的总线140和150。因此,可以减小当数据在第一处理器110与第二处理器130之间交换时访问公共存储器300的次数。
相应地,可以改善多处理器系统的性能(例如操作速度等)并可以减少其功耗。
图5是公共存储器接口电路200c的框图,其是图3中所示的公共存储器接口电路200a的变形示例。参考图3和图5,公共存储器接口电路200c在其结构和操作方面与图3的公共存储器接口电路200a实质上相同,因此,将聚焦于与公共存储器接口电路200a的差异来进行描述,以避免冗余的描述。
与图3的公共存储器接口电路200a相比,公共存储器接口电路200c还包含系统高速缓存260。
系统高速缓存260可以存储公共存储器300中存储的数据中的一些。在从公共存储器300读取数据之前,公共存储器接口电路200c可以检查数据是否已存储在系统高速缓存260中。
例如,为了根据来自加密/解密模块240a的请求从公共存储器300读取解码数据,公共存储器接口电路200c的本地DMA单元230a可以首先请求系统高速缓存260提供解码数据。在图5中,附图标记215代表包含本地DMA单元230a和加密/解密模块240a的框。
期望的数据(例如解码数据)已存储在系统高速缓存260中的情形被称为“高速缓存命中”(cache-hit)。当发生高速缓存命中时,本地DMA单元230a可以从系统高速缓存260读取解码数据,并将解码数据提供至加密/解密模块240a。
期望的数据(例如解码数据)未存储在系统高速缓存260中的情形被称为“高速缓存未命中”(cache-miss)。当发生高速缓存未命中时,本地DMA单元230a可以经由存储器控制器220c从公共存储器300读取解码数据,并将解码数据提供至加密/解密模块240a。在这种情况下,从公共存储器300读取的解码数据可以存储在系统高速缓存260中。
图6是公共存储器接口电路200d的框图,其是图4中所示的公共存储器接口电路200b的变形示例。参考图4和图6,公共存储器接口电路200d在其结构和操作方面与图4的公共存储器接口电路200b实质上相同,因此,将聚焦于与公共存储器接口电路200b的差异来进行描述,以避免冗余的描述。
与图4的公共存储器接口电路200b相比,公共存储器接口电路200d还包含系统高速缓存260。
以上参考图5描述了系统高速缓存260,因此,此处将不再对其进行描述。
图7是根据发明构思的至少一个示例实施例的操作多处理器系统的方法的流程图。图8是示出根据发明构思的至少一个示例实施例的操作多处理器系统的方法的图。具体地,图7和图8示出了根据发明构思的至少一些示例实施例由多处理器系统处理下行链路数据的方法的示例。图7和图8的方法可以由图1、图3或者图4中所示的多处理器系统10、10a或者10b执行。
首先,连接性处理器CP 101可以生成表明下行链路数据将被存储在的位置的第一地址描述符(操作S110),并经由公共存储器接口电路200将第一地址描述符存储在公共存储器300中(操作S115、S120)。CP 101可以对应于图1的第一处理器110和/或图3或图4的CPSoC 101。第一地址描述符可以包含地址信息,该地址信息表明下行链路数据(例如解码数据)将被存储在的公共存储器300中的位置。
例如,CP 101可以生成第一地址描述符(操作S110),并请求公共存储器接口电路200存储第一地址描述符(操作S115)。公共存储器接口电路200可以根据该请求将第一地址描述符存储在公共存储器300中(操作S120)。
在一个实施例中,如图8中所示,第一地址描述符可以存储在公共存储器300的第一处理器分配区域310的地址描述符区域313(图8的操作S13)。
类似地,应用处理器AP 103可以生成表明下行链路数据将被存储在的位置的第二地址描述符(操作S125),并经由公共存储器接口电路200将第二地址描述符存储在公共存储器300中(操作S130和S135)。AP 103可以对应于图1的第二处理器130和/或图3或图4的APSoC 103。
第二地址描述符可以包含地址信息,该地址信息表明下行链路数据(例如解密数据)将被存储在的公共存储器300中的位置。
例如,AP 103可以生成第二地址描述符(操作S125),并请求公共存储器接口电路200存储第二地址描述符(操作S130)。公共存储器接口电路200可以根据该请求将第二地址描述符存储在公共存储器300中(操作S135)。
在一个实施例中,如图8中所示,第二地址描述符可以存储在公共存储器300的第二处理器分配区域320的地址描述符区域325(图8的操作S11)。
CP 101通过无线通信接收无线数据,并通过调制并解码接收的无线数据来生成解码数据(操作S140)。另外,CP 101可以从解码数据生成具有预定的或者以其它方式期望的格式的分组数据(例如互联网协议(IP)分组数据)。
CP 101可以通过将解码数据传输至公共存储器接口电路200来请求公共存储器接口电路200存储该解码数据(操作S145)。
例如,CP 101可以请求公共存储器接口电路200存储解码数据(操作S145),并且公共存储器接口电路200可以响应于该请求而将解码数据存储在公共存储器300中(操作S150)。
在一个实施例中,如图8中所示,CP 101可以生成包含解码数据的IP分组数据,并将IP分组数据存储在公共存储器300的第一处理器分配区域310的分组数据区域315中(图8的操作S14)
公共存储器接口电路200从公共存储器300的第一处理器分配区域310读取包含解码数据的IP分组数据(操作S155),并对IP分组数据进行解密(操作S160)。另外,公共存储器接口电路200将解密数据存储在公共存储器300的第二处理器分配区域320中(操作S165)。
例如,如图8中所示,公共存储器接口电路200可以通过参考存储在第二处理器分配区域320的地址描述符区域325中的第二地址描述符来将解密数据存储在第二处理器分配区域320的套接字缓冲区323中(图8的操作S15)。
当解密数据被存储在第二处理器分配区域320的套接字缓冲区323中时,AP 103可以请求公共存储器接口电路200读取解密数据(操作S170),并且公共存储器接口电路200可以响应于该请求而从公共存储器300读取解密数据(操作S175),并将解密数据提供给AP103(操作S180)。AP 103可以对解密数据进行处理,并将解密数据提供给用户(操作S185)。
在一个实施例中,在操作S15之前,AP 103可以生成套接字缓冲区结构以用于存储解密的分组数据,并将套接字缓冲区结构存储在第二处理器分配区域320的TCP/IP数据区域321中。
在一个实施例中,当解密的分组数据被存储在第二处理器分配区域320的套接字缓冲区323中时,“结束”信号可以被存储在图8的邮箱350中。在这种情况下,邮箱350可以向AP 103生成中断信号(图8的操作S16)。邮箱350例如可以是包含在公共存储器接口电路(例如公共存储器接口电路200和/或200a-200d)中的电路。
然后,AP 103可以从公共存储器300读取解密数据,并响应于该中断信号对解密数据进行处理(图8的操作S17)。
在一个实施例中,操作多处理器系统的图7和/或图8中所示的方法中所包含的操作可以以不同于上述顺序的顺序来执行,并且方法的操作当中的至少一个操作可以并行执行。
图9是根据发明构思的至少另一个示例实施例的操作多处理器系统的方法的流程图。图10是示出根据发明构思的至少另一个示例实施例的操作多处理器系统的方法的图。具体地,图9和图10示出了根据发明构思的至少一些示例实施例由多处理器系统处理上行链路数据的方法的示例。图9和图10的方法可以由图1、图3或者图4的多处理器系统10、10a或者10b执行。
首先,应用处理器AP 103可以生成表明上行链路数据将被存储在的位置的第三地址描述符(操作S210),并经由公共存储器接口电路200将第三地址描述符存储在公共存储器300中(操作S215和S220)。AP 103可以对应于图1的第二处理器130或者图3或图4的APSoC 103。第三地址描述符可以包含地址信息,该地址信息表明上行链路数据(例如由AP103生成的分组数据)将被存储在的公共存储器300中的位置。
例如,AP 103可以生成第三地址描述符(操作S210),并请求公共存储器接口电路200存储第三地址描述符(操作S215),并且公共存储器接口电路200可以响应于该请求而将第三地址描述符存储在公共存储器300中(操作S220)。
在一个实施例中,如图10中所示,第三地址描述符可以存储在公共存储器300的第二处理器分配区域320的地址描述符区域325中(图10的操作S21)。
类似地,连接处理器CP 101可以生成表明上行链路数据将被存储在的位置的第四地址描述符(操作S225),并经由公共存储器接口电路200将第四地址描述符存储在公共存储器300中(操作S230和S235)。CP 101可以对应于图1的第一处理器110或者图3或图4的CPSoC 101。
第四地址描述符可以包含地址信息,该地址信息表明上行链路数据将被存储在的公共存储器300中的位置。
例如,CP 101可以生成第四地址描述符(操作S225),并请求公共存储器接口电路200存储第四地址描述符(操作S230),并且公共存储器接口电路200可以响应于该请求而将第四地址描述符存储在公共存储器300中(操作S235)。
在一个实施例中,如图10中所示,第四地址描述符可以存储在公共存储器300的第一处理器分配区域310的地址描述符区域313中(图10的操作S23)。
AP 103生成要通过无线通信传输的上行链路数据(操作S240)。另外,AP 103可以生成具有预定的或者以其它方式期望的格式的、并包含上行链路数据的分组数据(例如IP分组数据)。
AP 103可以通过将上行链路数据传输至公共存储器接口电路200来请求公共存储器接口电路200存储上行链路数据(操作S245)。
例如,AP 103可以请求公共存储器接口电路200存储上行链路数据(操作S245),并且公共存储器接口电路200可以响应于该请求而将上行链路数据存储在公共存储器300中(操作S250)。
在一个实施例中,如图10中所示,AP 103可以生成包含上行链路数据的IP分组数据,并将IP分组数据存储在公共存储器300的第二处理器分配区域320的TCP/IP数据区域321的套接字缓冲区323中(图10的操作S22)。
在一个实施例中,在操作S22之前,AP 103可以生成套接字缓冲区结构以用于存储上行链路分组数据,并将套接字缓冲区结构存储在第二处理器分配区域320的TCP/IP数据区域321中。
公共存储器接口电路200从公共存储器300的第二处理器分配区域320的套接字缓冲区323读取上行链路数据(操作S255),并对上行链路数据进行加密(操作S260)。
另外,公共存储器接口电路200将加密数据存储在公共存储器300的第一处理器分配区域310中(操作S265)。
例如,如图10中所示,公共存储器接口电路200可以通过参考存储在第一处理器分配区域310的地址描述符区域313中的第四地址描述符来将加密的上行链路数据存储在第一处理器分配区域310的分组数据区域315中(图10的操作S25)。
当加密的上行链路数据被存储在第一处理器分配区域310的分组数据区域315中时,CP 101可以请求公共存储器接口电路200读取加密的上行链路数据(操作S270),并且公共存储器接口电路200可以从公共存储器300读取加密的上行链路数据(操作S275),并响应于该请求将加密的上行链路数据提供给CP 101(操作S280)。CP 101可以通过对加密的上行链路数据进行编码并调制来将该加密的上行链路数据转换为将通过无线通信传输的无线数据(操作S285)。
在一个实施例中,当加密的上行链路数据被存储在第一处理器分配区域310的分组数据区域315中时,“结束”信号可以被存储在图10的邮箱350中。在这种情况下,邮箱350可以向CP 101生成中断信号(图10的操作S26)。
然后,CP 101可以从公共存储器300读取加密的上行链路数据,并响应于该中断信号而将加密的上行链路数据转换为无线数据(图10的操作S27)。
图11是根据发明构思的至少一个示例实施例的电子系统400的框图。
参考图11,电子系统400可以实施为个人计算机(PC)、数据服务器、膝上型计算机、或者便携式设备。便携式设备可以是移动电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PDN)、手持式游戏机、或者电子书。
电子系统400包含SoC 100、电源410、存储设备420、存储器300、输入/输出(I/O)端口440、扩展卡450、网络设备460和显示器470。在一个实施例中,电子系统400还可以包含相机模块480。
SoC 100可以控制这些元件410至480中的至少一个的操作。SoC 100对应于图1、图3或图4中所示的SoC 100、SoC 100a、或者SoC 100b。
电源410可以向这些元件100以及420至480中的至少一个供应操作电压。
存储设备420可以实施为硬盘驱动器或者固态驱动器(SSD)。
存储器300可以实施为易失性存储器或者非易失性存储器。
I/O端口440是配置为将数据传输至电子系统400、或者将从电子系统400输出的数据传输至外部设备的端口。例如,I/O端口440可以包含:配置为将指向设备(诸如计算机鼠标)连接至电子设备400的端口;配置为将打印机连接至电子设备400的端口;配置为将通用串行总线(USB)驱动器连接至电子设备400的端口等等。
扩展卡450可以实施为安全数字(SD)卡或者多媒体卡(MMC)。在一个实施例中,扩展卡450可以是订户识别模块(SIM)卡或者通用订户身份模块(USIM)卡。
网络设备460是配置为将电子系统400连接至有线或者无线网络的设备。
显示器470可以显示从存储设备420、存储器300、I/O端口440、扩展卡450、或者网络设备460输出的数据。
相机模块480是配置为将光学图像转换为电图像的模块(例如,可以包含至少一个镜头和至少一个图像传感器的模块)。因此,从相机模块480输出的电图像可以存储在存储设备420、存储器300或者扩展卡450中。另外,从相机模块480输出的电图像可以显示在显示器420上。
图12是示出根据发明构思的至少一个示例实施例的移动设备500的概要图。参考图12,移动设备500可以包含图1的多处理器系统10。
移动设备500可以实施为——但不限于——智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、移动互联网设备(MID)等。
根据发明构思的至少一个示例实施例,在两个或更多个处理器共享一个存储器的系统中,本地DMA单元以及加密和解密模块包含在存储器接口电路中。因此,当数据从一个处理器传输至另一处理器时,数据可以仅经由存储器接口电路内部传输,而不流经处理器的总线。因此,当数据被在处理器之间交换时,可以减少访问公共存储器的次数。相应地,可以改善多处理器系统的性能(例如操作速度等)并且可以减少其功耗。
因此,已经描述了发明构思的示例实施例,但将会显而易见的是其可以以很多方式变化。这样的变动不被视为脱离了发明构思的示例实施例的旨在的精神和范围,并且对于本领域技术人员来说明显的所有的这样的修改旨在包含在所附权利要求的范围之内。

Claims (18)

1.一种多处理器系统,包括:
第一处理器;
第二处理器;
公共存储器,被配置为存储由所述第一处理器生成的数据和由所述第二处理器生成的数据;以及
存储器接口电路,被布置在所述第一和第二处理器与所述公共存储器之间,并被配置为在所述公共存储器与所述第一处理器和所述第二处理器之间进行对接,
所述第一处理器被配置为通过解调并解码通过无线通信接收的信号来生成解码数据,并经由所述存储器接口电路将解码数据存储在所述公共存储器中,
所述存储器接口电路被配置为以所述解码数据既不通过第一处理器的总线也不通过第二处理器的总线的方式来读取并解密存储在所述公共存储器中的解码数据,并以所述解密数据既不通过第一处理器的总线也不通过第二处理器的总线的方式来将解密数据存储在所述公共存储器中。
2.如权利要求1所述的多处理器系统,其中,
所述公共存储器包含第一处理器分配区域和第二处理器分配区域,并且
所述存储器接口电路被配置为将所述解码数据存储在所述第一处理器分配区域中,并将所述解密数据存储在所述第二处理器分配区域中。
3.如权利要求2所述的多处理器系统,其中,所述存储器接口电路包括:
存储器控制器,被配置为根据来自所述第一处理器的第一直接存储器访问(DMA)单元的第一存储器访问请求、以及来自所述第二处理器的第二DMA单元的第二存储器访问请求,访问所述公共存储器;以及
本地总线,被配置为,
接收第一存储器访问请求和第二存储器访问请求,并且
将所述第一存储器访问请求和所述第二存储器访问请求传输至所述存储器控制器。
4.如权利要求3所述的多处理器系统,其中,所述存储器控制器包括:
本地DMA单元;以及
加密和解密模块,被配置为请求所述本地DMA单元读取存储在所述第一处理器分配区域中的所述解码数据,并对经由所述本地DMA单元读取的所述解码数据进行解密,
所述本地DMA单元被配置为,
读取存储在所述第一处理器分配区域中的所述解码数据,并且
根据来自所述加密和解密模块的请求,将所述解码数据提供给所述加密和解密模块。
5.如权利要求4所述的多处理器系统,其中,
所述第一处理器被配置为生成第一地址描述符,并将所述第一地址描述符存储在所述第一处理器分配区域中,
所述本地DMA单元被配置为通过参考存储在所述第一处理器分配区域中的第一地址描述符,读取所述解码数据,并且
所述第一地址描述符包含所述解码数据的地址信息。
6.如权利要求4所述的多处理器系统,其中,
所述第二处理器被配置为生成第二地址描述符,并将所述第二地址描述符存储在所述第二处理器分配区域中,
所述本地DMA单元被配置为根据来自所述加密和解密模块的请求、通过参考存储在所述第二处理器分配区域中的所述第二地址描述符将所述解密数据存储在所述第二处理器分配区域中,并且
所述第二地址描述符包含所述解密数据的地址信息。
7.如权利要求6所述的多处理器系统,其中,
所述本地DMA单元被配置为在将所述解密数据存储在所述第二处理器分配区域中之后,向邮箱通知所述解密数据的存储的结束,并且
所述邮箱被配置为向所述第二处理器提供中断信号。
8.如权利要求7所述的多处理器系统,其中,
第二处理器被配置为响应于由所述邮箱提供的所述中断信号发出第二存储器访问请求,所述第二存储器访问请求用于请求所述存储器接口电路提供所述解密数据,
所述存储器接口电路被配置为通过参考所述第二地址描述符从所述第二处理器分配区域读取所述解密数据,
所述存储器接口电路被配置为根据所述第二存储器访问请求,将所述解密数据传输至所述第二处理器,并且
所述第二处理器被配置为从所述存储器接口电路接收所述解密数据,并处理所述解密数据。
9.如权利要求4所述的多处理器系统,其中,所述存储器接口电路还包括:
系统高速缓存,被配置为存储所述公共存储器中所存储的数据中的一些,所述存储器接口电路被配置为在从所述公共存储器获得所请求信息之前,确定所请求信息是否高速缓存在系统高速缓存中。
10.如权利要求3所述的多处理器系统,其中,所述存储器接口电路包括:
加密和解密模块,被配置为通过对所述解码数据进行解密来生成解密数据;以及
本地DMA单元,连接至本地总线,所述本地DMA单元被配置为根据来自所述加密和解密模块的请求来经由所述本地总线读取所述解码数据,并将所述解码数据提供给所述加密和解密模块,
所述本地总线被配置为将请求从所述本地DMA单元接收的所述解码数据的信号传输至所述存储器控制器。
11.如权利要求10所述的多处理器系统,其中,
所述第一处理器被配置为生成第一地址描述符,并将所述第一地址描述符存储在所述第一处理器分配区域中,
所述本地DMA单元被配置为通过参考存储在所述第一处理器分配区域中的第一地址描述符,读取所述解码数据,并且
所述第一地址描述符包含所述解码数据的地址信息。
12.如权利要求10所述的多处理器系统,其中,
所述第一处理器被配置为生成第二地址描述符,并将所述第二地址描述符存储在所述第二处理器分配区域中,
所述本地DMA单元被配置为根据来自所述加密和解密模块的请求、通过参考存储在所述第二处理器分配区域中的所述第二地址描述符将所述解密数据存储在所述第二处理器分配区域中,并且
所述第二地址描述符包含所述解密数据的地址信息。
13.如权利要求10所述的多处理器系统,其中,所述存储器接口电路还包括:
系统高速缓存,被配置为存储所述公共存储器中所存储的数据中的一些,
所述存储器接口电路被配置为在从所述公共存储器获得所请求信息之前,确定所请求信息是否高速缓存在系统高速缓存中。
14.如权利要求1所述的多处理器系统,其中,
第一处理器是连接性处理器(CP),并且
第二处理器是应用处理器(AP)。
15.一种多处理器系统,包括:
第一处理器;
第二处理器;
公共存储器,被配置为存储由所述第一处理器生成的数据和由所述第二处理器生成的数据;以及
存储器接口电路,被布置在所述第一和第二处理器与所述公共存储器之间,并被配置为在所述公共存储器与所述第一处理器和所述第二处理器之间进行对接,
所述第二处理器被配置为生成用于无线通信的上行链路数据,并经由所述存储器接口电路将所述上行链路数据存储在所述公共存储器中,
所述存储器接口电路还被配置为以所述上行链路数据既不通过第一处理器的总线也不通过第二处理器的总线的方式来读取并加密所述公共存储器中存储的所述上行链路数据,并以所述加密数据既不通过第一处理器的总线也不通过第二处理器的总线的方式来将加密数据存储在所述公共存储器中。
16.如权利要求15所述的多处理器系统,其中,
所述公共存储器包含第一处理器分配区域和第二处理器分配区域,
所述存储器接口电路被配置为将所述上行链路数据存储在所述第二处理器分配区域中,并且
所述存储器接口电路被配置为将所述加密数据存储在所述第一处理器分配区域中。
17.如权利要求15所述的多处理器系统,其中,
所述第一处理器被配置为将对所述加密数据的请求发送至所述存储器接口电路,并且
所述存储器接口电路被配置为通过如下动作来响应所述请求:
从所述公共存储器读取所述加密数据,并且
将读取的加密数据提供给所述第一处理器。
18.如权利要求17所述的多处理器系统,其中,所述第一处理器被配置为,
从所述存储器接口电路接收读取的加密数据,
将读取的加密数据转换为无线数据,并且
无线传输所述无线数据。
CN201611005736.3A 2015-11-12 2016-11-14 包含由多处理器共享的存储器的多处理器系统及其方法 Active CN107015940B (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
CN107015940A CN107015940A (zh) 2017-08-04
CN107015940B true CN107015940B (zh) 2021-12-21

Family

ID=58640506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611005736.3A Active CN107015940B (zh) 2015-11-12 2016-11-14 包含由多处理器共享的存储器的多处理器系统及其方法

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 (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 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법
TWI703501B (zh) 2018-08-23 2020-09-01 慧榮科技股份有限公司 具有分散式信箱架構的多處理器系統及其溝通方法
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 삼성전자주식회사 스토리지 장치
US12061808B2 (en) 2021-11-15 2024-08-13 Samsung Electronics Co., Ltd. Storage device for tuning an interface with a host
TWI843351B (zh) * 2022-12-21 2024-05-21 新唐科技股份有限公司 多處理器裝置、資料處理系統與周邊控制器共用方法
CN118227550A (zh) * 2022-12-21 2024-06-21 瑞昱半导体股份有限公司 在多个处理器之间共享储存装置的方法以及电子装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007110986A1 (ja) * 2006-03-28 2007-10-04 Sony Computer Entertainment Inc. ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
CN101076791A (zh) * 2003-12-22 2007-11-21 摩托罗拉公司 提供端口的动态专用的处理器间通信网络
JP2008034095A (ja) * 2006-07-28 2008-02-14 Samsung Electronics Co Ltd プロセッサ間のホストインターフェイシング機能を有するマルチパスアクセス可能な半導体メモリ装置
KR101111946B1 (ko) * 2009-12-17 2012-02-14 엠텍비젼 주식회사 촬상 장치, 이미지 시그널 프로세서 칩 및 칩 간의 메모리 공유 방법
US8341394B2 (en) * 2007-07-03 2012-12-25 Nec Corporation Data encryption/decryption method and data processing device
CN103139879A (zh) * 2011-11-28 2013-06-05 安凯(广州)微电子技术有限公司 一种无线个人局域网通信系统
CN103518206A (zh) * 2011-05-10 2014-01-15 高通股份有限公司 用于使用缓冲器存储器地址范围规则的基于硬件的安全数据处理的装置和方法
JP5499987B2 (ja) * 2010-08-13 2014-05-21 富士通株式会社 共有キャッシュメモリ装置

Family Cites Families (25)

* 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
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
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
US8635412B1 (en) * 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
US8832478B2 (en) * 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
JP5908991B2 (ja) * 2011-12-21 2016-04-26 インテル・コーポレーション 安全なダイレクトメモリアクセス
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076791A (zh) * 2003-12-22 2007-11-21 摩托罗拉公司 提供端口的动态专用的处理器间通信网络
WO2007110986A1 (ja) * 2006-03-28 2007-10-04 Sony Computer Entertainment Inc. ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
JP2008034095A (ja) * 2006-07-28 2008-02-14 Samsung Electronics Co Ltd プロセッサ間のホストインターフェイシング機能を有するマルチパスアクセス可能な半導体メモリ装置
US8341394B2 (en) * 2007-07-03 2012-12-25 Nec Corporation Data encryption/decryption method and data processing device
KR101111946B1 (ko) * 2009-12-17 2012-02-14 엠텍비젼 주식회사 촬상 장치, 이미지 시그널 프로세서 칩 및 칩 간의 메모리 공유 방법
JP5499987B2 (ja) * 2010-08-13 2014-05-21 富士通株式会社 共有キャッシュメモリ装置
CN103518206A (zh) * 2011-05-10 2014-01-15 高通股份有限公司 用于使用缓冲器存储器地址范围规则的基于硬件的安全数据处理的装置和方法
CN103139879A (zh) * 2011-11-28 2013-06-05 安凯(广州)微电子技术有限公司 一种无线个人局域网通信系统

Also Published As

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

Similar Documents

Publication Publication Date Title
CN107015940B (zh) 包含由多处理器共享的存储器的多处理器系统及其方法
US20230110230A1 (en) Technologies for secure i/o with memory encryption engines
US10560262B2 (en) Information-processing system, information-processing apparatus, management apparatus, and processing method
KR101742364B1 (ko) 저장 디바이스와 호스트 사이에서의 데이터 전달의 보호를 위한 저장 제어기 버스 인터페이스의 사용
KR101483839B1 (ko) 가상화를 이용한 비디오 컨텐츠 보호
KR20150143708A (ko) 스토리지 디바이스 보조 인라인 암호화 및 암호해독
US20110161675A1 (en) System and method for gpu based encrypted storage access
US9823869B2 (en) System and method of protecting data in dynamically-allocated regions of memory
CN111949372B (zh) 一种虚拟机迁移方法、通用处理器及电子设备
JP5060069B2 (ja) 低性能格納装置のdrm権利オブジェクトを効率的に管理する方法および装置
CN115481066A (zh) 计算设备、总线矩阵及计算设备的操作方法
CN115408707A (zh) 一种数据传输方法、装置、系统及电子设备和存储介质
US20220416997A1 (en) Handling unaligned transactions for inline encryption
EP4195081A1 (en) Securing sensitive data in memory
KR20190078198A (ko) 안전성을 높인 클라우드 저장소 기반 메모리 장치 및 이의 인증 제어 방법
TW202132979A (zh) 用於資料之加密及解密的運算裝置
CN118886043A (zh) 数据传输方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant