CN103914405A - 包括存储管理单元的片上系统及其存储地址转换方法 - Google Patents

包括存储管理单元的片上系统及其存储地址转换方法 Download PDF

Info

Publication number
CN103914405A
CN103914405A CN201410006692.0A CN201410006692A CN103914405A CN 103914405 A CN103914405 A CN 103914405A CN 201410006692 A CN201410006692 A CN 201410006692A CN 103914405 A CN103914405 A CN 103914405A
Authority
CN
China
Prior art keywords
mmu
request
memory device
working set
main
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.)
Granted
Application number
CN201410006692.0A
Other languages
English (en)
Other versions
CN103914405B (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 CN103914405A publication Critical patent/CN103914405A/zh
Application granted granted Critical
Publication of CN103914405B publication Critical patent/CN103914405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/306In system interconnect, e.g. between two buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Abstract

本发明提供了包括存储管理单元(MMU)的片上系统及其存储地址转换方法。所述SoC包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合中的一个并且被配置为将与所述请求相应的虚拟地址转换为物理地址;第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经对所述请求执行地址转换;以及第二总线互连,被配置为将所述主IP与所述MMU模块连接以及将所述MMU中的一个分配用于多个工作集合中的每一个工作集合。

Description

包括存储管理单元的片上系统及其存储地址转换方法
相关申请的交叉引用
本申请要求于2013年1月7日在韩国知识产权局提交的韩国专利申请第10-2013-0001758号的优先权,其公开通过引用全部并入此处。
技术领域
本发明构思的示范性实施例涉及存储管理单元,并且更加具体来说,涉及当知识产权(IP)在工作集合上操作时分别用于多个工作集合中的每一个的存储管理单元、包括其的系统以及运行其的方法。
背景技术
存储管理单元(MMU)可以是硬件组件,其处理由诸如中央处理单元(CPU)和图形处理单元(GPU)这样的直接存储器存取单元发出的存储器存取请求。MMU可以被称作分页MMU(PMMU)。
使用虚拟存储器的IP可以使用与虚拟地址相应的物理地址来存取存储设备。此时,MMU可以将虚拟地址转换为物理地址。
片上系统(SoC)可以根据预定的页替换策略利用有限大小的转换后备缓冲(translation lookaside buffer,TLB)操作,以便提高MMU的区域效率以及提高地址转换速度。但是,当SoC在多个工作集合上操作时,对于工作集合中的每一个,IP可以参照不同的地址空间。因此,当仅仅使用一个MMU时,工作集合变化可以导致TLB的命中率的降低。
发明内容
根据本发明构思的一些示范性实施例,提供了一种片上系统(SoC),包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合中的一个并且被配置为将与所述请求相应的虚拟地址转换为物理地址;以及第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经对所述请求执行地址转换。
所述MMU模块中的MMU可以对于所述多个工作集合当中的各个工作集合彼此独立地操作。
所述工作集合可以包括读工作集合和写工作集合,并且所述MMU模块可以包括第一MMU,被配置为根据所述主IP的读请求存取所述存储设备中的读工作集合;以及第二MMU,被配置为根据所述主IP的写请求存取所述存储设备中的写工作集合。
第一MMU可以通过读通道与所述主IP连接,第二MMU可以通过写通道与所述主IP连接。
所述工作集合可以包括源集合和目的地集合,所述MMU模块可以包括第一MMU,被配置为根据所述主IP的源存取请求存取所述存储设备中的源集合;以及第二MMU,被配置为根据所述主IP的目的地存取请求存取所述存储设备中的目的地集合。
所述SoC还可以包括第二总线互连,被配置为将所述主IP与所述MMU模块连接,以及根据所述主IP的请求动态地分配第一MMU和第二MMU二者之一。
根据本发明构思的其它示范性实施例,提供了一种片上系统(SoC),包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合中的一个并且被配置为将与所述请求相应的虚拟地址转换为物理地址;第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经对所述请求执行地址转换;以及第二总线互连,被配置为将所述主IP与所述MMU模块连接以及将所述MMU中的一个分配用于多个工作集合中的每一个工作集合。
根据本发明构思的又一示范性实施例,提供了一种存储地址转换方法,包括:使用所述主IP输出对于多个工作集合中的每一个工作集合的请求,多个工作集合由主知识产权(IP)处理;于对每个工作集合分配多个存储管理单元(MMU)之一;使用所分配的MMU将与所述请求相应的虚拟地址转换为物理地址;以及将地址经转换的请求发送到存储设备的物理地址。
根据本发明构思的再一示范性实施例,提供了一种电子系统,包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于所述多个工作集合中的一个并且被配置为将与所述请求相应的虚拟地址转换为物理地址;存储设备,被配置用于处理所述主IP的每个请求以及发送与所述请求相应的响应或者数据;第一总线互连,被配置为将所述MMU模块与所述存储设备连接,被配置为将所述多个MMU的每个请求发送到所述存储设备,以及被配置为将与由所述存储设备处理的请求相应的响应或者数据发送到所述MMU模块;以及第二总线互连,被配置为,将所述主IP与所述MMU模块连接,将多个MMU中的一个分配用于每一个工作集合,将所述主IP的每个请求传输到所分配的MMU,以及将所述响应或者所述数据从所分配的MMU发送到所述主IP。
第二总线互连可以存储与每一个工作集合相应的MMU分配信息并且当从所述主IP接收到请求时基于所述MMU分配信息连接与所述请求相应的MMU。
根据本发明构思的示范性实施例,一种片上系统可以包括:主知识产权(IP),被配置为输出与第一工作数据集和第二工作数据集相应的一个或多个请求;以及存储管理单元(MMU)模块,包括,第一MMU,被配置为执行第一转换操作,包括将第一工作数据集的虚拟地址转换为物理地址,以及第二MMU,被配置为执行第二转换操作,包括将第二工作数据集的虚拟地址转换为物理地址,其中,所述MMU模块被配置为使得第一MMU和第二MMU是不同单元,并且同时由第一MMU和第二MMU执行第一转换操作和第二转换操作。
第一MMU可以包括第一存储缓冲并且可以被配置为通过使用第一存储缓冲执行第一转换操作,第二MMU可以包括第二存储缓冲并且可以被配置为通过使用第二存储缓冲执行第二转换操作。
第一存储缓冲和第二存储缓冲可以是转换后备缓冲(TLB)。
所述SoC还可以包括第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,第一工作数据集和第二工作数据集存储在所述存储设备中。
附图说明
示范性实施例的上述及其他特征和优点将通过关于附图详细描述示范性实施例而变得更加明显。附图是用来描绘示范性实施例而不应当解释为限制权利要求预期的范围。附图将不被视为按比例绘制,除非明确地注释。
图1是根据本发明构思的一些示范性实施例的包括存储管理单元(MMU)的电子系统的框图;
图2是图1中所示的片上系统(SoC)的框图;
图3是用于说明图2中所示的MMU模块的操作的示意图;
图4是用于根据本发明构思的一些示范性实施例的包括MMU模块的结构的示意图;
图5是用于根据本发明构思的其它示范性实施例的包括MMU模块的结构的示意图;
图6是用于说明根据本发明构思的又一示范性实施例的包括MMU模块的结构的示意图;
图7是用于说明图6中所示的MMU模块的操作的示意图;
图8和图9是根据本发明构思的一些示范性实施例的使用图6中所示的结构执行的存储地址转换方法的流程图;
图10是用于说明根据本发明构思的一些示范性实施例的图像混合处理的示意图;
图11是根据本发明构思的一些示范性实施例的、包括图2中所示的SoC的电子系统的框图;以及
图12是根据本发明构思的其它示范性实施例的、包括图2中所示的SoC的电子系统的框图。
具体实施方式
现在在下文中,将参考附图更加充分地描述本发明构思的示范性实施例,附图中示出本发明构思的示范性实施例。但是,本发明构思的示范性实施例可以以许多不同形式具体实现,并且不应当理解为仅限制于这里阐述的实施例。而且,提供这些实施例以使得本公开全面彻底并且将本发明构思的示范性实施例的范围充分地传达给本领域技术人员。在附图中,为了清楚起见,可能夸大层和区域的大小和相对大小。贯穿全文,相同的参考标记指代同样的元素。
应当理解,当元件称为是“连接”或者“耦接”到另一元件时,其可以直接连接或者耦接到另一个元件或者可以存在居间元件。相反,当元件称为是“直接连接”或者“直接耦接”至另一元件时,不存在居间元件。如这里所使用的那样,术语“和/或”包括一个或多个相关联所列项的任一个或者它们的所有组合并且可以缩写为“/”。
应当理解,尽管这里可以使用术语第一、第二等等用于描述各种元素,但是这些元素不应当受限于这些术语。这些术语仅仅用于将一个元素与其它元素区分开。例如,第一信号可以称作第二信号,并且类似地,第二信号可以称作第一信号而不脱离本公开的教导。
这里使用的术语仅用于描述特定实施例的目的,而不意为限制本发明构思的示范性实施例。如这里所使用的那样,单数形式“一”、“一个”和“该”是用来也包括复数形式,除非上下文清楚地表示不是如此。还将理解,术语“包括”和/或“包含”当在这里使用时指定所述特征、区域、整体、步骤、操作、元件和/或组件的存在,但并不排除一个或多个其它特征、区域、整体、步骤、操作、元件、组件或其群组的存在或添加。
除非另外定义,否则这里使用的全部术语(包括技术术语和科学术语)都具有本发明构思的示范性实施例所属领域的普通技术人员所通常理解的相同意义。还将理解,诸如通常使用的词典中定义的那些术语的术语应当被解释为具有与它们在相关技术和/或本应用的上下文中的意义一致的意义,并且除非这里明确定义如此,否则不应当解释为理想化的或者过于形式的意义。
还应注意,在部分替换实施方式中,所记录的功能/动作可能以图中所记录的另外的次序发生。例如,根据所涉及的功能/动作,连续示出的两个图可以事实上基本同时运行或者可以有时以反向次序运行。
图1是根据本发明构思的一些示范性实施例的包括存储管理单元(MMU)的电子系统100的框图。电子系统100可以实现为数据处理设备,例如包括个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或者MP4播放器。电子系统100包括片上系统(SoC)1,其控制电子系统100的整体操作。
SoC1可以实现为处理器,其是读和运行程序指令的单元。例如,SoC1运行由通过输入设备120输入的输入信号生成的程序指令。SoC1可以从存储设备110读取数据并且通过显示器130显示数据。
存储设备110是存储数据的存储器设备。它可以存储操作系统(OS)、各种程序和各种数据。存储设备110可以根据从SoC1接收到的请求处理数据。存储设备110可以是诸如闪存、相变随机存取存储器(PRAM)、磁RAM(MRAM)、阻变RAM(ReRAM)或者铁电RAM(FeRAM)的非易失性存储设备,或者诸如动态RAM(DRAM)或者静态RAM(SRAM)的易失性存储设备。在其它实施例中,存储设备110可以是SoC1内提供的嵌入式存储器。存储设备110可以包括用于将虚拟地址转换为物理地址的页表格115。输入设备120可以由小键盘、键盘或者诸如触摸垫或者计算机鼠标这样的指示设备实现。
图2是图1中所示的SoC1的框图。在图1和图2中所示的示例中,SoC1包括中央处理单元(CPU)3、高速缓存5和MMU模块10。
CPU3可以是读和运行程序指令的处理器1的一部分。高速缓存5是可以存储数据以使得从存储设备110快速读和/或写到存储设备110的组件。CPU3可以从存储设备110读取(或者执行页入(page-in))页的内容并且将其存储在高速缓存5中。
MMU模块10可以是应CPU3的请求处理到存储设备110的存取的硬件组件。MMU模块10的功能可以包括将与来自CPU3、图形处理单元(GPU)、显示器控制器80或者包括在多媒体加速单元60中的图形引擎的请求相应的虚拟地址转换为物理地址、存储器保护、控制高速缓存5、总线判优和/或存储体切换。
SoC1也可以包括系统外围单元50、多媒体加速单元60、连接单元70、显示器控制器80和存储接口单元90。系统外围单元50、多媒体加速单元60、连接单元70、显示器控制器80和存储接口单元90可以通过系统总线40发送与接收数据和/或指令。系统总线40可以包括多个通道。根据先进可扩展接口(AXI)协议,通道可以包括读数据通道(R)、读地址通道(AR)、写地址通道(WR)、写响应通道(B)和写数据通道(W)。
系统外围单元50可以包括实时时钟(RTC)、锁相环(PLL)和看门狗定时器(watch dog timer)。多媒体加速单元60包括图形引擎。多媒体加速单元60可以包括相机接口、与帧缓存或者用于图形计算的其它视频显示电路集成的图形引擎、以及作为用于发送非压缩数字数据的音频/视频接口的高清晰度多媒体接口(HDMI)。MMU模块10可以用于将从图形引擎输出的虚拟地址转换为物理地址。多媒体加速单元60可以包括模拟电视编码系统,即国家电视系统委员会(NTSC)/逐行倒相(PAL)系统,而非HDMI。
连接单元70可以包括音频接口(IF)、像高级技术连接(ATA)IF那样的存储IF、以及连接IF。连接单元70可以与输入设备120通信。
显示器控制器80可以控制将显示在显示器130上的数据。MMU模块10可以用于将从显示器控制器80输出的虚拟地址转换为物理地址。
存储接口单元90可以使存储设备110能够根据存储器的类型(例如,闪存或者DRAM)存取。
为了方便起见,在说明书中,假设处理每个工作集合中的数据的诸如CPU3、图形引擎和显示器控制器80这样的处理器被称为主知识产权(masterintellectual property)(主IP)。主IP可以针对每个工作集合操作并且可以在同一时间处理多个工作集合。工作集合是存储在存储设备110中的数据集合。工作集合指示在存储设备110中被主IP频繁(例如,在引用时间段中高于引用次数)引用的页的集合,或者能够从主IP加载到存储设备110的页的量。此时,在主IP中每个工作集合独立于其它工作集合被管理。
图3是用于说明图2中所示的MMU模块10的操作的示意图。参考图1至图3,MMU模块10可以包括转换后备表格(TLB)12,并且通过多个通道(即,R、AR、AW、B和W)与主IP30和存储设备110连接。
主IP30可以处理多个工作集合。为了操作工作集合,主IP30可以输出与每一个工作集合相应的请求到MMU模块10或者高速缓存5。此时,主IP30输出的请求包括针对存储设备110中的工作集合的虚拟地址VA。
MMU模块10可以应主IP30的请求使用虚拟地址VA计算并且输出页物理地址PA。页物理地址PA可以是,例如,虚拟地址VA的页编号与虚拟地址VA的偏移(例如,页表格指针)的组合。页物理地址PA是被用作用于存取页表格115的索引的地址。
TLB12是可以用于提高虚拟地址转换速度的存储管理硬件。页编号和帧编号在TLB12中被映射。换句话说,TLB12存储针对主IP30所引用的页的虚拟地址VA与物理地址PA之间的映射。当将虚拟地址VA转换为物理地址PA时,MMU模块10首先检查TLB12。当在TLB12中存在关于与主IP30的请求相应的虚拟地址VA的映射信息时,MMU模块10可以直接处理转换而无需存取存储设备110(其被称为“TLB命中”)。
但是,当在TLB12中不存在关于与主IP30的请求相应的虚拟地址VA的映射信息时(其被称为“TLB未命中”)时,可以执行页表格移步(page tablewalk,PTW)。PTW是当虚拟地址VA的页编号和帧编号在TLB12中不匹配时,也就是说,当TLB12中不存在映射到虚拟地址VA的物理地址的PA信息时,寻找虚拟地址VA的页编号和帧编号是否存在于存储设备110的页表格110中的过程。页表格115存储关于针对存储设备110中的数据的虚拟地址VA与物理地址PA之间映射的信息。
当主IP30试图使用物理地址PA来读取指令或者数据而且与物理地址PA相应的指令或者数据在高速缓存5中时,高速缓存5可以直接将所述指令或者数据输出到主IP30,而无需存取存储设备110(其被称为“高速缓存命中”)。但是,当所述指令或者数据不存在于高速缓存5时,高速缓存5可以存取数据/指令存储块117以读取指令或者数据(其被称为“高速缓存未命中”)。数据/指令存储块117存储关于存储设备110中的每一个数据/指令的信息。
图4是用于根据本发明构思的一些示范性实施例的包括MMU模块10的结构的示意图。为了方便起见,在说明书中,仅仅示出主IP30、MMU模块10、总线互连41和存储设备110。
主IP30可以例如以工作集合为单位操作。主IP30可以对于多个工作集合执行操作。根据本发明构思的示范性实施例,存储设备110中的工作集合可以彼此独立并且主IP30独立地管理每个工作集合。
当处理工作集合时,主IP30可以将请求和工作集合的数据的虚拟地址VA输出到MMU模块10。将参考图4描述主IP30在存储设备110上执行读操作和写操作的情况。
多个工作集合可以包括读工作集合和写工作集合。换句话说,工作集合可以被划分为用于应主IP30的读请求从存储设备110读数据的读工作集合以及用于应主IP30的写请求写数据到存储设备110的写工作集合。
在图4中示出的示例中,MMU模块10包括多个MMU10R和10W。MMU10R和10W被分别分配用于工作集合,并且针对不同的工作集合彼此独立地操作。
第一MMU10R被分配给应主IP30的读请求存取存储设备110中的读工作集合。第一MMU10R连接到读通道RCH。读通道RCH发送来自主IP30的读请求、来自存储设备110的响应以及应主IP30的读请求从存储设备110读取的数据。读通道RCH将主IP30与MMU模块10连接并且将MMU模块10与存储设备110连接。根据AXI总线协议,读通道RCH可以包括AR通道和R通道。
第一MMU10R可以将与从主IP30接收到的读请求相应的虚拟地址VA转换为物理地址PA,将转换成物理地址PA的读请求发送到存储设备110,并且将从存储设备110读取的数据以及对读请求的响应发送到主IP30。
第二MMU10W被分配给应主IP30的写请求存取存储设备110中的写工作集合。第二MMU10W连接到写通道WCH。写通道WCH发送来自写IP30的写请求、来自存储设备110的响应以及应到存储设备110的写请求将被写到存储设备110的数据。写通道WCH将主IP30与MMU模块10连接并且将MMU模块10与存储设备110连接。根据AXI总线协议,写通道WCH可以包括AW通道、W通道和B通道。
第二MMU10W可以将区域(应从主IP30接收到的写请求,数据将被写到该区域)的虚拟地址VA转换为物理地址PA,并且将写到存储设备110的数据的物理地址PA转换为虚拟地址VA。
主IP30与第一MMU10R之间的读通道RCH以及主IP30与第二MMU10W之间的写通道WCH可以在硬件中互相连接。
总线互连41可以包括在存储设备110与MMU模块10之间的读通道RCH或者写通道WCH中。总线互连41连接存储设备110和MMU模块10,并且使能存储设备110中的存储器存取区域对于MMU10R和10W中的每一个的存取是不同的。
读工作集合和写工作集合在存储设备110中的位置可以彼此独立。当第一MMU10R存取时,总线互连41将第一MMU10R连接到存储设备110中的读工作集合。当第二MMU10W存取时,总线互连41可以将第二MMU10W连接到存储设备110中的写工作集合。可替换地,总线互连41可以针对MMU10R和10W中的每一个的存取改变存储器存取定时。此时,存储设备110中的读工作集合和写工作集合可以暂时彼此独立地存取。
图5是用于根据本发明构思的其它示范性实施例的包括MMU模块10的结构的示意图。为了方便起见,在说明书中,仅仅示出主IP30、MMU模块10、总线互连42A和42B以及存储设备110。
主IP30可以例如以工作集合为单位操作。主IP30可以对于多个工作集合执行操作。根据本发明构思的示范性实施例,存储设备110中的工作集合可以彼此独立并且主IP30独立地管理每个工作集合。当处理工作集合时,主IP30将请求以及工作集合的数据的虚拟地址VA输出到MMU模块10。
将参考图5描述主IP30在存储设备110上执行读操作和写操作的情况。这里,主IP30可以是图像缩放器IP。不同于图4中示出的工作集合根据操作被划分为读工作集合和写工作集合的实施例,在图5中示出的当前实施例中,工作集合根据将由主IP30处理的数据的存储器存取区域被划分为源集合和目的地集合。
具体来说,当像数据缩放器IP或者数据抖动IP那样的主IP30通过将源数据与目的地数据组合来执行输出目的地数据的操作时,用于读操作的源数据被集中于其中的存储区域中的工作集合定义为源集合,而用于读和写操作的目的地数据被集中于其中的存储区域中的工作集合定义为目的地集合。
在图5中示出的示例中,MMU模块10包括多个MMU11S和11D。MMU11S和11D被分别分配用于工作集合,并且针对不同的工作集合彼此独立地操作。
第一MMU11S被分配用于应主IP30的源存取请求存储设备110中的源集合。第一MMU11S连接到源通道源CH,其发送源存取请求和从存储设备110读的源数据。源通道源CH将主IP30与MMU模块连接,并且将MMU模块10与存储设备110连接。第一MMU11S可以将与源数据相应的虚拟地址VA转换为物理地址PA。
第二MMU11D被分配用于应主IP30的目的地存取请求存取存储设备110中的目的地集合。第二MMU11D连接到目的地通道目的地CH,其发送目的地存取请求和从目的地110读取和写到存储设备110的目的地数据。目的地通道目的地CH将主IP30与MMU模块连接,并且将MMU模块10与存储设备110连接。
第二MMU11D可以将从存储设备110读取的目的地数据的虚拟地址VA转换为物理地址PA,并且将物理地址PA(在主IP30的操作之后目的地集合被写到该物理地址PA)转换为虚拟地址VA。
第一总线互连42B可以包括在存储设备110与MMU模块10之间的源通道源CH或者目的地通道目的地CH中。第二总线互连42A可以包括在主IP30与MMU模块10之间的源通道源CH或者目的地通道目的地CH中。
第一总线互连42B和第二总线互连42A可以根据工作集合而被动态地分配用于第一MMU11S或者第二MMU11D。例如,第一总线互连42B和第二总线互连42A检查寻以找由主IP30或者存储设备110处理的工作集合的虚拟地址VA是用于源集合还是目的地集合,并且将请求和与请求相应的数据发送到被分配用于工作集合的MMU11S或者11D。
第一总线互连42B和第二总线互连42A可以根据将被处理的工作集合改变存储设备110中的存储器存取区域。在这种情况下,源集合和目的地集合可以是存储设备110中的独立存储区域。
当将由主IP30处理的工作集合是源集合时,第二总线互连42A连接到第一MMU11S。但是,当将由主IP30处理的工作集合是目的地集合时,第二总线互连42A连接到第二MMU11D。第一总线互连42B在工作集合是源集合时也连接到第一MMU11S,并且当工作集合是目的地集合时连接到第二MMU11D。
可替换地,第一总线互连42B可以针对MMU11S和11D中的每一个改变到存储设备110的存储器存取定时。在这种情况下,存储设备110中的源集合和目的地集合可以被暂时独立地存取。结果,在数据混合(data blending)期间,MMU模块10的命中率得以提高并且SoC1的处理速度也得以提高。此外,因为MMU模块10用于每个工作集合,所以MMU灵活地操作。
图6是说明根据本发明构思的又一示范性实施例的、包括MMU模块10(其被示出为MMU1至MMUn)的结构的示意图。图7是说明图6中示出的MMU模块10的操作的示意图。SoC1可以包括主IP30、包括MMU1至MMUn的MMU模块10、系统总线45、存储设备110和地址分配器20。为了方便,在图6中仅仅示出SoC1的部分元素,但是其它元素也可以包括在如图2中所示的SoC1中。
主IP30可以是,例如,诸如以工作集合为单位处理数据的CPU3、图形引擎或者显示器控制器80这样的处理器。主IP30可以为每个工作集合操作并且可以在同一时间处理多个工作集合。工作集合是存储在存储设备110中的数据集合。工作集合指示主IP30频繁(例如,在引用时间段中高于引用次数)存取的页的集合,或者能够从主IP30加载到存储设备110的页的量。根据本发明构思的示范性实施例,在主IP中每个工作集合独立于其它工作集合被管理。系统总线45包括第一总线互连43B、第二总线互连43A和连接至每个MMU、主IP30和存储设备110的通道。系统总线45在主IP30与存储设备110之间传输请求和数据。
当主IP30执行对于多个工作集合的操作时,地址分配器20可以针对工作集合中的每一个动态地分配MMU。地址分配器20存储与工作集合中的每一个相应的MMU分配信息。当从主IP30接收到对工作集合的请求时,地址分配器20可以基于MMU分配信息,将与包括在请求中的虚拟地址VA相应的MMU的标识符(ID)输出到第二总线互连43A。第二总线互连43A可以将请求和数据发送到与所述ID相应的MMU。
地址分配器20包括寄存器组21和地址比较器23。寄存器组21存储与工作集合中的每一个相应的MMU分配信息。换句话说,寄存器组21存储MMU分配信息,其中与每个工作集合相应的虚拟地址VA被映射到MMUID。根据本发明构思的示范性实施例,MMU分配信息可以包括用于区分每个工作集合的虚拟地址VA的指示符信息。例如,指示符信息可以是工作集合的连续虚拟地址VA的起始点和/或结束点。
地址比较器23可以将从主IP30接收到的请求的虚拟地址VA与MMU分配信息比较。作为比较的结果,地址比较器23可以输出与所述请求相应的MMU ID。
具体来说,如图7中所示,例如,第一至第n工作集合可以包括存储设备110中被主IP30频繁(例如在引用时段中高于引用时段)引用的多个页,也就是说,多个相邻虚拟地址VA。例如,第一工作集合包括虚拟地址VA0至VA2。但是,在主IP30的操作中工作集合被彼此独立地管理。换句话说,单个虚拟地址VA不属于两个或多个工作集合。例如,对于工作集合,虚拟地址VA0至VAn可以被连续布置,如图7中所示。
每个MMU将被映射到MMU的工作集合的虚拟地址VA转换为物理地址PA。可以基于MMU内的TLB执行地址转换。由MMU转换的物理地址PA可以不同于由其它MMU转换的物理地址、或者与由其它MMU转换的物理地址相同。
当假设将由主IP30处理的数据的工作集合被映射到MMU1时,第二总线互连43A从地址分配器20接收MMU1的ID1并且发送主IP30的请求和数据到MMU1。MMU1将所述请求的虚拟地址VA转换为物理地址PA,并且通过第一总线互连43B将被转换成物理地址PA的请求和数据发送到存储设备110。第一总线互连43B存取存储设备110中的物理地址PA,并且对数据执行与所述请求相应的操作。此时,所述请求可以是读操作、写操作或者擦除操作。
当主IP30在对于当前工作集合执行操作的同时起动对于另一工作集合的操作时,MMU模块10中尚未分配用于当前工作集合的MMU中的一个被分配用于新的工作集合并且独立地操作。结果,与针对由主IP30使用的所有工作集合共享仅仅一个MMU的情况相比,TLB未命中被降低。因此,命中率在主IP30的数据处理操作期间被提高,并且SoC1的操作速度也得以提高,同时工作集合之间的相互影响被最小化或者被降低。此外,因为MMU模块10被分配用于每个工作集合,所以MMU灵活地操作。
图8和图9是根据本发明构思的一些示范性实施例的使用图6中所示的结构执行的存储地址转换方法的流程图。假设当主IP30向存储设备110发出请求时,由MMU接收到的请求的虚拟地址是连续的。换句话说,MMU1接收工作集合的连续虚拟地址,其位置独立于由MMU2接收到的不同工作集合的虚拟地址,如图7中所示。
主IP30在操作S10中输出对于对工作集合的操作的请求以及对于工作集合的虚拟地址VA。第二总线互连43A(即,总线互连0)在操作S20中接收所述请求和所述虚拟地址VA并且将虚拟地址VA发送到地址分配器20。
地址分配器20在操作S30和S31中将虚拟地址VA与存储在寄存器组21中存储的指示符VADD进行比较。指示符VADD是分配给MMU的连续虚拟地址当中处于边界(即,起动点和/或结束点)处的虚拟地址。例如,根据一个示例,可以假定MMU以这样的方式被分配用于连续工作集合:MMU1被分配用于范围从第一虚拟地址到连续虚拟地址当中的第一指示符VADD1之前的虚拟地址的第一工作集合,MMU2被分配用于范围从第一指示符VADD1到连续虚拟地址当中的第二指示符VADD2之前的虚拟地址的第二工作集合。
地址分配器20在操作S30和S31中基于虚拟地址VA是否小于第一指示符VADD1确定已经接收到的虚拟地址VA是用于针对MMU1的工作集合还是用于针对MMU2的工作集合,并且发送与虚拟地址VA相应的MMU的ID到第二总线互连43A。类似地,基于指示符VADD与同请求相应的虚拟地址VA的比较的结果,识别其它MMU当中将被分配的MMU。
第二总线互连43A在操作S41至S43中从地址分配器20接收与主IP30的请求相应的MMU ID,并且将请求和虚拟地址VA发送到与MMU ID相应的MMU端口。例如,当虚拟地址VA相应于MMU1时,第二总线互连43A将虚拟地址VA和请求发送到MMU1的端口。
MMU可以使用TLB将虚拟地址VA转换为物理地址PA。MMU在操作S51至S53中将地址经转换的请求发送到第一总线互连43B(即,总线互连1)。
当第一总线互连43B在操作S60中将地址经转换的请求发送到存储设备110时,存储设备110可以处理物理地址PA处的请求。
参考图9,当存储设备110在操作S110中根据请求发送数据和响应到主IP30时,存储设备110在操作S120中输出所述数据和所述响应到第一总线互连43B。第一总线互连43B在操作S130和S131中基于响应检测被分配有数据的物理地址的MMU ID,并且在操作S141至S143中将所述响应和所述数据发送到与所述MMU ID相应的MMU。从存储设备110发送的响应可以包括关于已经发送请求的MMU的信息。
例如,当由主IP发出的请求针对第一工作集合并且MMU1被分配用于第一工作集合时,第一总线互连43B在操作S141中基于所述响应检测MMU1的ID并且将所述响应和所述数据发送到MMU1的端口。
MMU在操作S151至S153中接收所述响应和所述数据,并且通过第二总线互连43A将它们发送到主IP。主IP30在操作S160中处理通过第二总线互连43A接收到的响应和数据。
图10是用于说明根据本发明构思的一些示范性实施例的图像混合处理的示意图。在图10中所示的示例中,假设主IP35混合两个图像。具体来说,当根据用户的设置或者特定条件在移动设备中进行从第一图片切换到第二图片时,在切换的过程中向用户显示的叠加图像可以是第一图片和第二图片在其中互相混合的图像。在这种情况下,主IP35读两个源图像,即,来自存储设备110的混合目标,将源图像混合在一起,并且将单个混合图像写到存储设备110中。换句话说,由主IP35执行的多个工作集合由两个源集合(或者两个读工作集合)和一个目的地集合(或者一个写工作集合)组成。
参考图10,第一图像,即,圆被存储在第一源集合(即,与虚拟地址(6)至(9)相应的源1)中,而且第二图像,即,正方形被存储在第二源集合(即,与虚拟地址(12)至(15)相应的源2)中。主IP35发送第一读请求和第二读请求到MMU模块10,以便对第一源集合执行读操作和对第二源集合执行读操作。MMU模块10检查包括在第一读请求中的(第一源集合的)虚拟地址(6)至(9)和包括在第二读请求中的(第二源集合的)虚拟地址(12)至(16),并且分配第一MMU用于第一源集合和第二MMU用于第二源集合。
第一MMU根据第一读请求将第一源集合的虚拟地址(6)至(9)转换为物理地址,并且存取存储设备110。存储设备110从第一源集合读数据(即,圆),并且连同对第一读请求的响应一起发送数据到第一MMU。第一MMU发送数据和响应到主IP35。
类似地,第二MMU根据第二读请求将第二源集合的虚拟地址(12)至(15)转换为物理地址,并且存取存储设备110。存储设备110从第二源集合读数据(即,正方形),并且连同对第二读请求的响应一起发送数据到第二MMU。第二MMU发送数据和响应到主IP35。
第一MMU和第二MMU分别对于第一源集合和第二源集合彼此独立地操作。因为对于第一读请求的处理和对于第二读请求的处理被分别分配给不同MMU,所以两个处理可以同时执行或者具有时间差。
主IP35将与第一源集合相应的第一图像(即,圆)和与第二源集合相应的第二图像(即,正方形)混合。为了将混合图像(即,圆和正方形的组合)写到存储设备110,主IP35将写请求发送到MMU模块10。混合图像被写到目的地集合。这里,假设第二源集合的虚拟地址空间与目的地集合的虚拟地址空间相同。
MMU模块10检查包括在写请求中的(目的地集合的)虚拟地址并且将MMU分配给目的地集合。此时,被分配用于目的地集合的MMU可以是第三MMU或者目前不操作的第一MMU和第二MMU二者之一。为了方便起见,在说明书中,假设第三MMU被分配用于目的地集合。第三MMU根据写请求将目的地集合的虚拟地址转换为物理地址,并且利用写请求和混合图像来存取存储设备110。存储设备110将混合图像写到与目的地集合相应的存储区域。存储设备110发送对于写请求的响应到第三MMU。第三MMU发送响应到主IP35。
第一源集合或者第二源集合的读操作是对于目的地集合的写操作的先决条件,并且因此,可以与读操作有时间差地独立执行写操作。
结果,在主IP35的数据处理操作期间,命中率得以提高。此外,因为MMU对于各个工作集合动态地分配并且独立地操作,所以MMU灵活地操作,并且SoC1的操作速度得以提高同时工作集合之间的相互影响被最小化或者被降低。
图11是根据本发明构思的一些示范性实施例的、包括图2中所示的SoC1的电子系统200的框图。参考图11,电子系统200可以实现为移动电话、智能电话、平板PC、PDA、PMP或者射频通信系统。
电子系统200包括存储数据的存储设备210。存储设备210可以包括非易失性存储器和存储控制器。存储控制器可以根据SoC1的控制来控制非易失性存储器的数据存取操作,例如程序操作、擦除操作或者读操作。
射频收发器220通过天线ANT发送或者接收射频信号。例如,射频收发器220可以将通过天线ANT接收到的射频信号变换为能够由SoC1处理的信号。因此,SoC1可以处理从射频收发器220输出的信号,并且将经处理的信号发送到存储设备210或者显示器240。存储控制器可以对由SoC1处理的信号编程或者写到非易失性存储器。射频收发器220还可以将从SoC1输出的信号变换为射频信号,并且通过天线ANT将射频信号输出到外部设备。
输入设备230使能控制信号用于控制SoC1的操作,或者由SoC处理的数据被输入到电子系统200。输入设备230可以实现为小键盘、键盘或者诸如触摸垫或者计算机鼠标这样的指示设备。
SoC1可以控制显示器240操作以显示从存储设备210输出的数据、从射频收发器220输出的数据或者从输入设备230输出的数据。
在其它实施例中,控制非易失性存储器的操作的存储控制器可以实现为SoC1的一部分或者在与SoC1分离的芯片中实现。
图12是根据本发明构思的其它示范性实施例的、包括图2中所示的SoC1的电子系统300的框图。参考图12,电子系统300可以实现为像数字相机、装备有数字相机的移动电话、装备有数字相机的智能电话或者装备有数字相机的平板PC这样的图像处理器。
电子系统300包括存储设备320。存储设备320可以包括非易失性存储器和控制非易失性存储器的数据存取操作的存储控制器,数据存取操作例如编程操作、擦除操作或者读操作。
包括在电子系统300中的图像传感器310将光学图像变换为数字图像,并且将数字图像输出到SoC1或者存储设备320。根据SoC1的控制,数字图像可以通过显示器330显示或者被存储在存储设备320中。可以根据SoC1或者存储控制器的控制,通过显示器330显示存储在存储设备320中的数据。
控制非易失性存储器的操作的存储控制器可以实现为SoC1的一部分或者在与SoC1分离的芯片中实现。
如上所述,根据本发明构思的一些示范性实施例,当主IP在执行对于当前工作集合的操作同时开始相对于新的工作集合的操作时,SoC将MMU模块中尚未分配用于当前工作集合的MMU分配用于新的工作集合,并且独立地使用MMU,由此提高命中率。此外,SoC的操作速度得以提高同时在工作集合之间的相互影响得以最小化或者降低。因为MMU模块被分配用于每一个工作集合,所以MMU灵活地操作。
虽然已经描述了示范性实施例,但是很明显,可以以许多方式对其进行改变。这些改变不被认为脱离示范性实施例的预期精神和范围,而且对于本领域技术人员而言显而易见的全部这些修改都旨在被包括在所附权利要求的范围内。

Claims (29)

1.一种片上系统(SoC),包括:
主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;
包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合之一并且被配置为将与所述请求相应的虚拟地址转换为物理地址;以及
第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在所述多个MMU中的至少一个MMU中已经对所述请求执行地址转换。
2.如权利要求1所述的SoC,其中,所述多个工作集合中的每一个工作集合是存储设备中由主IP频繁引用的页的集合,并且在主IP中独立于其它工作集合被管理。
3.如权利要求1所述的SoC,其中,所述MMU模块中的多个MMU被配置为对于所述多个工作集合当中的各个工作集合彼此独立地操作。
4.如权利要求1所述的SoC,其中,所述多个工作集合包括读工作集合和写工作集合,以及
所述MMU模块包括,
第一MMU,被配置为根据所述主IP的读请求存取所述存储设备中的读工作集合;以及
第二MMU,被配置为根据所述主IP的写请求存取所述存储设备中的写工作集合。
5.如权利要求4所述的SoC,其中,第一MMU通过读通道与所述主IP连接,而且第二MMU通过写通道与所述主IP连接。
6.如权利要求4所述的SoC,其中,第一总线互连被配置为当从第一MMU接收到所述读请求时连接到所述存储设备中的读工作集合,并且被配置为当从第二MMU接收到写请求时连接到所述存储设备中的写工作集合。
7.如权利要求1所述的SoC,其中,所述多个工作集合包括源集合和目的地集合,以及
所述MMU模块包括,
第一MMU,被配置为根据所述主IP的源存取请求存取所述存储设备中的源集合;以及
第二MMU,被配置为根据所述主IP的目的地存取请求存取所述存储设备中的目的地集合。
8.如权利要求7所述的SoC,还包括第二总线互连,被配置为将所述主IP与所述MMU模块连接,以及根据所述主IP的请求动态地分配第一MMU和第二MMU二者之一。
9.如权利要求8所述的SoC,其中,第二总线互连被配置为当从所述主IP接收到所述源存取请求时连接到第一MMU,而且被配置为当从所述主IP接收到目的地存取请求时连接到第二MMU。
10.一种片上系统(SoC),包括:
主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;
包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合之一并且被配置为将与所述请求相应的虚拟地址转换为物理地址;
第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经对所述请求执行地址转换;以及
第二总线互连,被配置为将所述主IP与所述MMU模块连接以及对于所述多个工作集合中的每一个工作集合分配所述多个MMU之一。
11.如权利要求10所述的SoC,其中,所述多个工作集合被存储在所述存储设备中,并且所述多个工作集合中的每一个工作集合是在所述存储设备中由所述主IP频繁引用的页的集合,而且是独立于所述多个工作集合当中其它工作集合被管理的数据集合。
12.如权利要求10所述的SoC,其中,所述MMU模块中的多个MMU对于所述多个工作集合当中的各个工作集合彼此独立地操作。
13.如权利要求10所述的SoC,还包括:
地址分配器,被配置为存储与每一个工作集合相应的MMU分配信息,其中,当从所述主IP接收到所述请求时所述地址分配器基于所述MMU分配信息输出与所述请求相应的MMU的标识符(ID)。
14.如权利要求13所述的SoC,其中所述地址分配器包括:
寄存器组,被配置为存储与每个工作集合相应的MMU分配信息;以及
地址比较器,被配置为将所述MMU分配信息和与从所述主IP接收到的请求相应的虚拟地址比较以及输出与所述请求相应的MMU ID。
15.如权利要求14所述的SoC,其中,所述寄存器组被配置为将与每一个工作集合相应的连续虚拟地址当中的指示符映射到所述MMU ID以及将所述映射信息存储为所述MMU分配信息。
16.如权利要求15所述的SoC,其中,所述地址比较器被配置为将与所述请求相应的所述虚拟地址与所述指示符比较以及被配置为输出被分配用于所述工作集合的MMU ID。
17.如权利要求10所述的SoC,其中,第一总线互连和第二总线互连被配置为根据所述主IP的请求以及所述存储设备的响应连接到所述多个MMU当中动态分配的MMU的端口。
18.一种存储地址转换方法,包括:
使用主知识产权(IP)输出对于多个工作集合中的每一个工作集合的请求,所述多个工作集合由所述主IP处理;
对于每个工作集合分配多个存储管理单元(MMU)之一;
使用所分配的MMU将与所述请求相应的虚拟地址转换为物理地址;以及
将地址经转换的请求发送到存储设备的物理地址。
19.如权利要求18所述的存储地址转换方法,其中,所述多个工作集合被存储在所述存储设备中,并且所述多个工作集合中的每一个工作集合是在所述存储设备中由所述主IP频繁引用的页的集合,而且是独立于其它工作集合被管理的数据集合。
20.如权利要求18所述的存储地址转换方法,其中,所述多个MMU对于各个工作集合彼此独立地操作。
21.如权利要求18所述的存储地址转换方法,其中分配所述多个MMU之一包括:
存储与所述多个工作集合中的每一个工作集合相应的MMU分配信息;
响应于所述主IP的请求,将与所述请求相应的虚拟地址与所述MMU分配信息比较;以及
作为比较的结果,基于所述MMU分配信息输出与所述请求相应的MMU的标识符(ID)。
22.如权利要求18所述的存储地址转换方法,还包括:
对于所述多个工作集合中的每一个工作集合,
根据所述请求处理所述物理地址处的工作集合,并且使用所述存储设备输出与处理结果相应的响应或者数据;
将所述响应或者所述数据发送到所述多个MMU当中的被分配用于所述工作集合的MMU;以及
将所述响应或者所述数据发送到所述主IP。
23.如权利要求22所述的存储地址转换方法,其中,所述响应包括被分配用于经处理的工作集合的MMU的ID。
24.一种电子系统,包括:
主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;
包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于所述多个工作集合之一并且被配置为将与所述请求相应的虚拟地址转换为物理地址;
存储设备,被配置用于处理所述主IP的每个请求以及发送与所述请求相应的响应或者数据;
第一总线互连,被配置为将所述MMU模块与所述存储设备连接,被配置为将所述多个MMU的每个请求发送到所述存储设备,以及被配置为将与由所述存储设备处理的请求相应的响应或者数据发送到所述MMU模块;以及
第二总线互连,被配置为,
将所述主IP与所述MMU模块连接,
对于每一个工作集合分配所述多个MMU之一,
将所述主IP的每个请求传送到所分配的MMU,以及
将所述响应或者所述数据从所分配的MMU发送到所述主IP。
25.如权利要求24所述的电子系统,其中,第二总线互连存储与所述多个工作集合中的每一个工作集合相应的MMU分配信息,并且被配置为当从所述主IP接收到所述请求时基于所述MMU分配信息连接与所述请求相应的MMU。
26.一种片上系统(SoC),包括:
主知识产权(IP),被配置为输出与第一工作数据集和第二工作数据集相应的一个或多个请求;以及
存储管理单元(MMU)模块,包括,
第一MMU,被配置为执行第一转换操作,包括将第一工作数据集的虚拟地址转换为物理地址,以及
第二MMU,被配置为执行第二转换操作,包括将第二工作数据集的虚拟地址转换为物理地址,
其中,所述MMU模块被配置为使得第一MMU和第二MMU是不同单元,并且同时由第一MMU和第二MMU执行第一转换操作和第二转换操作。
27.如权利要求26所述的片上系统(SoC),其中,
第一MMU包括第一存储缓冲,并且被配置为通过使用第一存储缓冲执行第一转换操作,以及
第二MMU包括第二存储缓冲,并且被配置为通过使用第二存储缓冲执行第二转换操作。
28.如权利要求27所述的片上系统(SoC),其中,第一存储缓冲和第二存储缓冲是转换后备缓冲(TLB)。
29.如权利要求26所述的片上系统(SoC),还包括:
第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,第一工作数据集和第二工作数据集存储在所述存储设备中。
CN201410006692.0A 2013-01-07 2014-01-07 包括存储管理单元的片上系统及其存储地址转换方法 Active CN103914405B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0001758 2013-01-07
KR1020130001758A KR102002900B1 (ko) 2013-01-07 2013-01-07 메모리 관리 유닛을 포함하는 시스템 온 칩 및 그 메모리 주소 변환 방법

Publications (2)

Publication Number Publication Date
CN103914405A true CN103914405A (zh) 2014-07-09
CN103914405B CN103914405B (zh) 2019-01-18

Family

ID=51019288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410006692.0A Active CN103914405B (zh) 2013-01-07 2014-01-07 包括存储管理单元的片上系统及其存储地址转换方法

Country Status (8)

Country Link
US (1) US9348764B2 (zh)
JP (1) JP2014132467A (zh)
KR (1) KR102002900B1 (zh)
CN (1) CN103914405B (zh)
AU (1) AU2013270635A1 (zh)
DE (1) DE102014100031A1 (zh)
NL (1) NL2012042A (zh)
TW (1) TWI634425B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302765A (zh) * 2014-07-22 2016-02-03 电信科学技术研究院 一种系统级芯片及其内存访问管理方法
CN110704338A (zh) * 2019-10-18 2020-01-17 北京中科寒武纪科技有限公司 地址转换装置、人工智能芯片及电子设备
CN111221465A (zh) * 2018-11-23 2020-06-02 中兴通讯股份有限公司 Dsp处理器、系统以及外部存储空间访问方法
CN112753024A (zh) * 2018-09-25 2021-05-04 Ati科技无限责任公司 基于外部存储器的转换后备缓冲器
WO2023093122A1 (zh) * 2021-11-25 2023-06-01 华为技术有限公司 处理器、地址转换的方法、装置、存储介质及程序产品

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013076529A1 (en) * 2011-11-23 2013-05-30 Freescale Semiconductor, Inc. System-on-chip, method of manufacture thereof and method of controlling a system-on-chip
KR102117511B1 (ko) * 2013-07-30 2020-06-02 삼성전자주식회사 프로세서 및 메모리 제어 방법
US11775443B2 (en) 2014-10-23 2023-10-03 Hewlett Packard Enterprise Development Lp Supervisory memory management unit
US10394707B2 (en) 2014-11-25 2019-08-27 Hewlett Packard Enterprise Development Lp Memory controller with memory resource memory management
KR102420453B1 (ko) 2015-09-09 2022-07-13 엘지디스플레이 주식회사 유기발광 표시장치 및 이를 적용한 차량용 조명장치
KR102540964B1 (ko) 2018-02-12 2023-06-07 삼성전자주식회사 입출력 장치의 활용도 및 성능을 조절하는 메모리 컨트롤러, 애플리케이션 프로세서 및 메모리 컨트롤러의 동작
CN112463657A (zh) 2019-09-09 2021-03-09 阿里巴巴集团控股有限公司 一种地址转换缓存清除指令的处理方法和处理装置
CN113722246B (zh) * 2021-11-02 2022-02-08 超验信息科技(长沙)有限公司 处理器中物理内存保护机制的实现方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030072316A1 (en) * 1999-05-20 2003-04-17 Autumn Jane Niu Apparatus and method in a network switch port for transferring data between buffer memory and transmit and receive state machines according to a prescribed interface protocol
US20080109592A1 (en) * 2006-11-04 2008-05-08 Virident Systems Inc. Seamless application access to hybrid main memory
US20080263256A1 (en) * 2007-04-20 2008-10-23 Motorola, Inc. Logic Device with Write Protected Memory Management Unit Registers
US20120038952A1 (en) * 2010-08-16 2012-02-16 Samsung Electronics Co., Ltd. Image forming apparatus and method of translating virtual memory address into physical memory address

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233667B1 (en) 1999-03-05 2001-05-15 Sun Microsystems, Inc. Method and apparatus for a high-performance embedded memory management unit
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
US7509391B1 (en) 1999-11-23 2009-03-24 Texas Instruments Incorporated Unified memory management system for multi processor heterogeneous architecture
EP1304620A1 (en) * 2001-10-17 2003-04-23 Texas Instruments Incorporated Cache with selective write allocation
JP2004355187A (ja) 2003-05-28 2004-12-16 Sony Corp 仮想メモリ・システム、仮想メモリのアドレス管理方法、並びにアドレス変換テーブル生成装置
US8239657B2 (en) 2007-02-07 2012-08-07 Qualcomm Incorporated Address translation method and apparatus
KR20080097573A (ko) 2007-05-02 2008-11-06 삼성전자주식회사 가상 메모리 접근 방법
KR101440107B1 (ko) 2008-01-28 2014-09-12 삼성전자주식회사 다중 코어 시스템에서 접근 시간에 기초한 메모리 관리방법 및 장치
JP2010026969A (ja) 2008-07-24 2010-02-04 Hitachi Ltd データ処理装置
JP2010170266A (ja) 2009-01-21 2010-08-05 Toshiba Corp 半導体集積回路及びアドレス変換方法
US8397049B2 (en) 2009-07-13 2013-03-12 Apple Inc. TLB prefetching
JP5579003B2 (ja) * 2010-09-22 2014-08-27 三菱重工業株式会社 アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
KR20130001758A (ko) 2011-06-28 2013-01-07 김기철 전기 로스터

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030072316A1 (en) * 1999-05-20 2003-04-17 Autumn Jane Niu Apparatus and method in a network switch port for transferring data between buffer memory and transmit and receive state machines according to a prescribed interface protocol
US20080109592A1 (en) * 2006-11-04 2008-05-08 Virident Systems Inc. Seamless application access to hybrid main memory
US20080263256A1 (en) * 2007-04-20 2008-10-23 Motorola, Inc. Logic Device with Write Protected Memory Management Unit Registers
US20120038952A1 (en) * 2010-08-16 2012-02-16 Samsung Electronics Co., Ltd. Image forming apparatus and method of translating virtual memory address into physical memory address

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302765A (zh) * 2014-07-22 2016-02-03 电信科学技术研究院 一种系统级芯片及其内存访问管理方法
CN112753024A (zh) * 2018-09-25 2021-05-04 Ati科技无限责任公司 基于外部存储器的转换后备缓冲器
CN112753024B (zh) * 2018-09-25 2023-11-03 Ati科技无限责任公司 基于外部存储器的转换后备缓冲器
CN111221465A (zh) * 2018-11-23 2020-06-02 中兴通讯股份有限公司 Dsp处理器、系统以及外部存储空间访问方法
US11782846B2 (en) 2018-11-23 2023-10-10 Zte Corporation Digital signal processor, DSP system, and method for accessing external memory space
CN111221465B (zh) * 2018-11-23 2023-11-17 中兴通讯股份有限公司 Dsp处理器、系统以及外部存储空间访问方法
CN110704338A (zh) * 2019-10-18 2020-01-17 北京中科寒武纪科技有限公司 地址转换装置、人工智能芯片及电子设备
WO2023093122A1 (zh) * 2021-11-25 2023-06-01 华为技术有限公司 处理器、地址转换的方法、装置、存储介质及程序产品

Also Published As

Publication number Publication date
US9348764B2 (en) 2016-05-24
CN103914405B (zh) 2019-01-18
KR102002900B1 (ko) 2019-07-23
US20140195742A1 (en) 2014-07-10
JP2014132467A (ja) 2014-07-17
AU2013270635A1 (en) 2014-07-24
NL2012042A (en) 2014-07-08
TW201433917A (zh) 2014-09-01
DE102014100031A1 (de) 2014-07-10
KR20150127872A (ko) 2015-11-18
TWI634425B (zh) 2018-09-01

Similar Documents

Publication Publication Date Title
CN103914405A (zh) 包括存储管理单元的片上系统及其存储地址转换方法
CN104050089A (zh) 片上系统及其操作方法
US10210096B2 (en) Multi-stage address translation for a computing device
US20210382648A1 (en) Memory system and method for controlling nonvolatile memory
KR102317657B1 (ko) Nvdimm을 포함하는 장치 및 그것의 엑세스 방법
KR20150091663A (ko) 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법
CN107621959A (zh) 电子装置及其软件训练方法、计算系统
US9697111B2 (en) Method of managing dynamic memory reallocation and device performing the method
US8694755B1 (en) Virtual memory management for real-time embedded devices
CN103218312A (zh) 文件访问方法及系统
CN105264342B (zh) 嵌入的ecc地址映射
US20190065104A1 (en) Apparatuses and methods for multiple address registers for a solid state device
CN110968533A (zh) 存储器设备和用于存储器设备之间直接通信的存储器系统
KR102353859B1 (ko) 컴퓨팅 장치 및 비휘발성 듀얼 인라인 메모리 모듈
US11960410B2 (en) Unified kernel virtual address space for heterogeneous computing
US20240086349A1 (en) Input/output device operational modes for a system with memory pools
US11835992B2 (en) Hybrid memory system interface
CN117971707A (zh) 一种系统级芯片的访问处理方法、系统级芯片及电子设备
KR20210109417A (ko) 선호된 사용자 데이터에 대한 개선된 기입 성능을 갖는 데이터 저장소
US20090282199A1 (en) Memory control system and method

Legal Events

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