CN104050089A - 片上系统及其操作方法 - Google Patents

片上系统及其操作方法 Download PDF

Info

Publication number
CN104050089A
CN104050089A CN201410088744.3A CN201410088744A CN104050089A CN 104050089 A CN104050089 A CN 104050089A CN 201410088744 A CN201410088744 A CN 201410088744A CN 104050089 A CN104050089 A CN 104050089A
Authority
CN
China
Prior art keywords
page table
mmu
data
looking ahead
table entry
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
CN201410088744.3A
Other languages
English (en)
Other versions
CN104050089B (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 CN104050089A publication Critical patent/CN104050089A/zh
Application granted granted Critical
Publication of CN104050089B publication Critical patent/CN104050089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/1009Address translation using page tables, e.g. page table structures
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/654Look-ahead translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

提供了片上系统(SoC)及其操作。SoC包括中央处理单元(CPU)、知识产权(IP)块、以及存储器管理单元(MMU)。所述CPU被配置成设置相应于数据的工作集的预取方向。所述IP块被配置成处理数据的工作集。所述MMU被配置成在数据的工作集的虚拟地址与物理地址之间的地址翻译期间基于预取方向从页表预取下一页表项。

Description

片上系统及其操作方法
相关申请的交叉引用
本申请要求于2013年3月11日提交的韩国专利申请第10-2013-0025727号的优先权,其公开内容通过引用全面合并于此。
技术领域
本发明构思的示例性实施例涉及包括存储器管理单元(MMU)的片上系统(SoC),并且更具体地,涉及一种包括在数据的多个工作集上执行操作的MMU的SoC及其操作方法。
背景技术
存储器管理单元(MMU)是处理由知识产权(IP)块(例如,由中央处理单元(CPU)或图形处理单元(GPU)代表的直接存储器访问单元)发出的存储器访问请求的硬件组件。
发出存储器访问请求的示例是相对于显示设备的旋转操作(例如,纵向模式和横向模式之间的切换),其包括重新访问并读取源图像,并且基于该旋转生成目的图像(例如,旋转后图像)。当重新访问源图像时,用于数据访问的虚拟地址可能未顺序地增加。
当重新访问源图像时,MMU可以首先搜索翻译后备缓冲器(translationlookaside buffer,TLB),然后如果发生TLB失败(miss)则执行页表移动(pagetable walk,PTW)。在这种情况下,当在设备中由于虚拟地址未顺序地增加致使TLB失败的数目增加时,作为较大失败损失的结果,设备的性能会退化。
发明内容
根据本发明构思的示例性实施例,片上系统(SoC)包括:中央处理单元(CPU),被配置成设置预取方向;知识产权(IP)块,被配置成处理至少一个工作集;以及至少一个存储器管理单元(MMU),被配置成在工作集的虚拟地址与物理地址之间的地址翻译期间基于预取方向预取下一页表项。
根据本发明构思的示例性实施例,一种MMU包括:翻译后备缓冲器(TLB),被配置成将由IP块请求的多个工作集中的每一个的虚拟地址翻译成为物理地址;特殊功能寄存器(SFR),被配置成存储用于每个工作集的预定预取方向;以及预取缓冲器,被配置成在页表移动期间基于预取方向从存储器件预取下一页表项。
根据本发明构思的示例性实施例,操作包括CPU、至少一个IP块以及MMU的SoC的方法包括:CPU设置预取方向和MMU分配信息;IP块向MMU发出相对于多个工作集中的每一个的数据访问请求;在响应于所述请求的地址翻译的页表移动期间MMU基于预取方向取得下一页表项;以及MMU基于页表项将每个工作集的虚拟地址翻译成为物理地址并且访问数据。
根据本发明构思的示例性实施例,一种SoC包括:CPU,被配置成设置预取方向信息和MMU分配信息;IP块,被配置成处理至少一个工作集;至少一个MMU,被配置成存储预取方向信息,被分配用于工作集,以及将相应于IP块的请求的工作集的虚拟地址翻译成为物理地址;地址分布器,被配置成存储MMU分配信息并且基于MMU分配信息分配MMU以执行翻译;以及存储器件,被配置成包括页表并且存储数据和数据的物理地址信息,该页表包括多个页表项。
所述MMU可以基于预取方向信息从页表预取接下来将访问的下一页表项。
根据本发明构思的示例性实施例,片上系统(SoC)包括:中央处理单元(CPU),被配置成设置相应于数据的工作集的预取方向;知识产权(IP)块,被配置成处理数据的工作集;以及存储器管理单元(MMU),被配置成在数据的工作集的虚拟地址与物理地址之间的地址翻译期间基于预取方向从页表预取下一页表项。
根据本发明构思的示例性实施例,存储器管理单元(MMU)包括:翻译后备缓冲器(TLB),被配置成将由知识产权(IP)块请求的、数据的多个工作集中的每一个的虚拟地址翻译成为相应的物理地址;特殊功能寄存器(SFR),被配置成存储用于数据的每个工作集的预定预取方向;以及预取缓冲器,被配置成在页表移动(PTW)期间基于预取方向从存储器件中的页表中预取下一页表项。
根据本发明构思的示例性实施例,操作片上系统(SoC)的方法包括:由SoC的中央处理单元(CPU)设置预取方向和存储器管理单元(MMU)分配信息;由SoC的知识产权(IP)块向SoC的MMU发出相对于数据的多个工作集中的每一个的数据访问请求;由MMU响应于数据访问请求在用于地址翻译的页表移动(PTW)期间基于预取方向从页表取得下一页表项;以及由MMU基于下一页表项将数据的每个工作集的虚拟地址翻译成为物理地址以及访问相应于该物理地址的数据。
根据本发明构思的示例性实施例,一种片上系统(SoC)包括:中央处理单元(CPU),设置预取方向信息和存储器管理单元(MMU)分配信息;知识产权(IP)块,被配置成处理数据的至少一个工作集;MMU,被配置成存储预取方向信息,被分配用于数据的所述至少一个工作集,并且将相应于IP块的请求的数据的所述至少一个工作集的虚拟地址翻译成为物理地址;地址分布器,被配置成存储MMU分配信息并且基于MMU分配信息分配MMU以执行虚拟地址的翻译;以及存储器件,被配置成存储数据和数据的物理地址信息,其中所述存储器件包括具有多个页表项的页表,其中所述MMU还被配置成基于预取方向信息从页表中预取接下来将被访问的下一页表项。
根据本发明构思的示例性实施例,一种片上系统(SoC)包括:中央处理单元(CPU),被配置成设置相应于数据的第一工作集的第一预取方向信息,以及相应于数据的第二工作集的第二预取方向信息;知识产权(IP)块,被配置成发出相应于数据的第一工作集或第二工作集的数据访问请求;第一存储器管理单元(MMU),被配置成在数据的第一工作集与相应于数据的第一工作集的虚拟地址的物理地址之间的地址翻译期间、基于第一预取方向信息从页表预取第一下一页表项;第二MMU,被配置成在数据的第二工作集的虚拟地址与相应于数据的第二工作集的虚拟地址的物理地址之间的地址翻译期间、基于第二预取方向信息从页表预取第二下一页表项;以及地址分布器,被配置成响应于由IP块发出的数据访问请求将第一MMU分配给数据的第一工作集或将第二MMU分配给数据的第二工作集。
附图说明
通过参照附图详细描述本发明构思的示例性实施例,本发明构思的上述及其他特征将变得更加清楚,其中:
图1示出根据本发明构思示例性实施例的、源图像和通过沿预定方向旋转源图像获得的旋转后图像。
图2是根据本发明构思示例性实施例的、包括存储器管理单元(MMU)的电子设备的框图。
图3是根据本发明构思示例性实施例的、图2中示出的片上系统(SoC)的框图。
图4是根据本发明构思示例性实施例的、图2中示出的MMU的框图。
图5是示出根据本发明构思示例性实施例的、基于图4中示出的页表在虚拟地址和物理地址之间进行映射的图。
图6是根据本发明构思示例性实施例的、图2中示出的MMU的图。
图7是根据本发明构思示例性实施例的、图2中示出的MMU的图。
图8是根据本发明构思示例性实施例的、图4中示出的页表的字段结构的图。
图9是根据本发明构思示例性实施例的、操作MMU的方法的流程图。
图10是根据本发明构思示例性实施例的、包括图2中示出的SoC的电子设备。
图11是根据本发明构思示例性实施例的、包括图2中示出的SoC的电子设备。
具体实施方式
以下将参照附图更充分地描述本发明构思的示例性实施例。遍及附图,相似的附图标记可以指代相似的元件。
将会理解,当一个元件被称为“连接”或“耦接”到另一元件时,它可以直接连接或耦接到所述另一元件,或者也可以存在居间的元件。如此处使用的,术语“和/或”包括一个或多个相关列出项目中的任意一个以及所有组合。
还将会理解,尽管此处可能使用术语第一、第二等等来描述不同的元件,但这些元件不应受到这些术语的限制。这些术语仅仅用于将一个元件与另一个元件区分开来。例如,第一信号可以被称为第二信号,类似地,第二信号也可以被称为第一信号,这样做不会偏离本公开的教导。
图1示出根据本发明构思示例性实施例的、源图像和通过沿预定方向旋转源图像获得的旋转后图像(也被称为目的图像)。例如,可以根据显示设备的设置、用户的设置、或系统设置以多种方式旋转源图像。此处,术语旋转后图像和目的图像可以可互换地使用。
如图1中所示,源图像可以相对于X轴(X翻转)、相对于Y轴(Y翻转)或相对于XY轴(XY翻转(180’))旋转到转向位置(reverse position)。此外,源图像可以顺时针旋转90度(90’),可以旋转到相对于X轴的转向位置,然后逆时针旋转90度(90’+X翻转)或270度(270’+X翻转),或者可以顺时针旋转270度(270’)。
如上所述,旋转后图像是目的图像。可以如上所述定义用于每个旋转的地址访问模式。
图2是根据本发明构思示例性实施例的、包括存储器管理单元(MMU)10的电子设备100的框图。例如,电子系统100可以是诸如智能电话、个人计算机(PC)、平板PC、上网本、电子书、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器的数据处理设备。然而,电子系统100不局限于此。电子系统100包括控制电子系统100的总体操作的片上系统(SoC)1。
例如,SoC1可以是能够读取和运行程序指令的处理器。SoC1可以包括MMU10。SoC1运行程序指令,例如,通过经由输入设备120输入的输入信号生成的程序指令。SoC1从存储器件110读取数据并且通过显示器130显示数据。存储器件110根据从SoC1接收到的请求处理数据。
存储器件110可以包括用于将虚拟地址翻译成为物理地址的页表115。虽然图2示出从SoC1分离定位的存储器件110,但是存储器件110的位置不局限于此。例如,在示例性实施例中,存储器件110可以布置在SoC1之内。输入设备120可以是,例如,键区、键盘、或诸如触摸垫或计算机鼠标之类的指示设备。
图3是根据本发明构思示例性实施例的、图2中示出SoC1的框图。参照图2和图3,SoC1可以包括中央处理单元(CPU)3、高速缓存5和MMU10。
CPU3可以是读取和运行程序指令的SoC1的一部分。MMU10可以用于将从显示控制器80输出的虚拟地址翻译成为物理地址。
高速缓存5是存储数据以便可以从存储器件110迅速地读取数据和/或将数据迅速地写入到存储器件110的组件。CPU3可以从存储器件110读取页的内容并且将它存储在高速缓存5中。这可以被称为执行页入(page-in)处理。CPU3还可以将已经存储在高速缓存5中的页的内容写入到存储器件110。这可以被称为执行页出(page-out)处理。
MMU10是应CPU3的请求处理对于存储器件110的访问操作的硬件组件。例如,MMU10的功能可以包括将相应于来自CPU3、图形处理单元(GPU)、显示控制器80、或包括在多媒体加速单元60中的图形引擎62的请求的虚拟地址翻译成为物理地址、存储器保护、控制高速缓存5、总线判优、和/或存储体切换。
SoC1还可以包括系统外围单元50、多媒体加速单元60、连通单元70、显示控制器80、以及存储器接口单元90。系统外围单元50、多媒体加速单元60、连通单元70、显示控制器80、以及存储器接口单元90通过系统总线40发送和接收数据或指令。系统总线40可以包括多个通道。例如,通道可以包括根据AXI协议的读数据通道(R)、读地址通道(AR)、写地址通道(WR)、写响应通道(B)、以及写数据通道(W)。
系统外围单元50可以包括实时时钟(RTC)、锁相环路(PLL)以及监视定时器。多媒体加速单元60可以包括图形引擎62。多媒体加速单元60还可以包括相机接口(IF)61、可以与帧缓冲器或用于图形计算的其他视频显示电路一起集成的图形引擎62、以及作为用于未压缩数字数据的传输的音频/视频IF的高清晰度多媒体接口(HDMI)接口63。MMU10可以用于将从图形引擎62输出的工作集的虚拟地址翻译成为物理地址。在示例性实施例中,例如,代替HDMI接口63或除了HDMI接口63以外,多媒体加速单元60可以包括诸如国家电视系统委员会(NTSC)/逐行倒相(PAL)系统的模拟电视编码系统。
连通单元70可以包括音频IF、储存器IF(例如,高级技术附件(ATA)IF)、以及连通IF。连通单元70与输入设备120通信。
显示控制器80控制数据显示在显示器130上。MMU10可以用于将从显示控制器80输出的虚拟地址翻译成为物理地址。
存储器接口单元90使能根据存储器件110的存储器类型(例如,快闪存储器、动态随机存取存储器(DRAM)等等)访问存储器件110。
为了解释方便,在此处可以将诸如CPU3、图形引擎62和显示控制器80的、以工作集为单位处理数据的处理器每个称为知识产权(IP)块。IP块可以在每个工作集上操作并且可以每次处理多个工作集。工作集是存储在存储器件110中的数据集。工作集指示由IP块在存储器件110中频繁地参考的页集,或可以从IP块加载到存储器件110的许多页。IP块中的每个工作集可以独立于其他工作集被管理。例如,单个工作集可以是连续的虚拟地址的数据。
图4是根据本发明构思示例性实施例的、图2中示出的MMU10的框图。参照图2到图4,MMU10可以包括翻译后备表(TLB)12,并且可以通过多个通道(例如,R、AR、AW,B和W)与IP块60和存储器件110连接。此处,图4中示出的IP块60可以被称为主IP块60。
IP块60请求数据访问操作以处理多个工作集。对于数据访问操作,IP块60向MMU10或高速缓存5输出相应于工作集中的每一个的请求。此时,由IP块60输出的请求包括关于将被访问的数据的信息,诸如,例如,用于存储器件110中的工作集的虚拟地址VA。
MMU10应主IP块60的请求使用虚拟地址VA计算和输出物理页地址PA。物理页地址PA是虚拟地址VA的页编号和虚拟地址VA的偏移(例如,页表指示符)的组合,并且是用作访问页表115的索引的地址。
TLB12是用于增加虚拟地址翻译速度的存储器管理硬件。在TLB12中映射页编号和帧编号。例如,TLB12存储指示用于由IP块60参考的页的、虚拟地址VA和物理地址PA之间的映射的映射信息。当将虚拟地址VA翻译成为物理地址PA时,MMU10首先检查TLB12。当在TLB12中存在关于相应于IP块60的请求的虚拟地址VA的映射信息时,MMU10直接处理该翻译而不访问存储器件110(此处称作TLB命中)。
当关于相应于IP块60的请求的虚拟地址VA的映射信息没有存在于TLB12中时(此处称作TLB失败)时,执行页表移动(PTW)。PTW是在TLB失败的情况下(即,当映射到虚拟地址VA的物理地址PA的信息不存在于TLB12中时)访问页表115并确定虚拟地址VA的页编号和帧编号是否存在于页表115中的处理。页表115存储关于用于存储器件110中的数据的、虚拟地址VA和物理地址PA之间的映射的信息。
当IP块60尝试使用物理地址PA读取指令或数据,或者相应于物理地址PA的数据在高速缓存5中时,高速缓存5直接输出指令或数据给IP块60(此处称作高速缓存命中)而不是访问存储器件110。当指令或数据不存在于高速缓存5中时,高速缓存5访问数据/指令存储块117以读取指令或数据(此处称作高速缓存失败)。数据/指令存储块117在存储器件110中存储关于数据/指令中的每一个的信息。
图5是示出根据本发明构思示例性实施例的、基于示出在图4中的页表115的虚拟地址VA和物理地址PA之间的映射的图。在当前示例中,假定MMU10在TLB失败之后正在执行PTW。
参照图5,IP块发出相对于第一工作集的、读取相应于虚拟地址VA(6)到VA(9)的源图像区域的请求,以用于读取源图像。当相应于虚拟地址VA(6)到VA(9)的物理地址信息不存在于TLB12(例如,在TLB失败的情况下)时,MMU10访问页表115并执行PTW。
页表115包括物理地址信息,例如,映射到页的虚拟地址VA的多个页表项。存储器件110在物理地址PA(1)中存储关于页表115的信息。
页表115通过页表项pte6到pte9向MMU10指示用于第一工作集的、相应于虚拟地址VA(6)到VA(9)的物理地址信息。MMU10根据从页表115接收到的物理地址信息来访问物理地址PA(8)、PA(11)、PA(9)和PA(6),读取存储在物理地址PA(8)、PA(11)、PA(9)和PA(6)中的数据,以及向已经发出了源图像区域读请求的IP块发送数据。
以用于源图像的同样方式,IP块发出相对于第二工作集的、读取相应于虚拟地址VA(12)到VA(15)的目的图像区域的请求,以用于读取目的图像。当相应于虚拟地址VA(12)到VA(15)的物理地址信息不存在于TLB12(例如,在TLB失败的情况下)时,MMU10访问页表115并执行PTW。
页表115通过页表项pte12到pte15向MMU10指示用于第二工作集的、相应于虚拟地址VA(12)到VA(15)的物理地址信息。MMU10根据从页表115接收到的物理地址信息访问物理地址PA(14)、PA(5)、PA(10)和PA(12),读取存储在物理地址PA(14)、PA(5)、PA(10)和PA(12)中的数据,以及向已经发出了目的图像区域读请求的IP块发送数据。
图6是根据本发明构思示例性实施例的、MMU10′的图。为了解释方便,仅示出CPU3、IP块4、总线41和存储器件110。然而,例如,将理解地是,还可以包括诸如图3中示出的一些元件的附加元件。IP块4此处可以称作主IP块4。
IP块4以工作集为单位操作,并且在多个工作集上执行操作。工作集可以在存储器件110中彼此独立,并且IP块4可以独立地操作工作集中的每一个。例如,IP块4可以是GPU、图形引擎62、或能够进行直接存储器访问的任一处理单元。当处理每个工作集时,IP块4向MMU10′输出数据访问请求。
此处将参照图6描述IP块4从存储器件110读取数据的示例。这里,IP块4处理工作集A和工作集B。在当前示例中假定,工作集A相应于旋转源图像90度,并且工作集B相应于旋转源图像180度,如图1中所示。
在IP块4发出数据访问请求之前,CPU3向存储器件110写入页表115。页表115包括将虚拟地址映射到物理地址的多个页表项。
CPU3设置预取方向信息。在图6中示出的示例性实施例中,CPU3在特殊功能寄存器(SFR)203中设置相应于工作集A的预取方向信息A以及相应于工作集B的预取方向信息B。根据示例性实施例,预取方向信息可以用于指示下一页表项在页表115中定位的位置。将预取方向信息供应给MMU10′(例如,向MMU10′通知预取方向)可以改善MMU10′关于预取下一页表项的效率,其可以导致预取命中率的增大,因此改善MMU10′的性能。例如,预取方向信息可以包括关于根据数据的相应工作集(参见,例如图5)访问物理地址的模式的信息。
当MMU10′从IP块4接收数据访问请求时,MMU10′基于包括在数据访问请求中的虚拟地址标识工作集。MMU10′检查相应于虚拟地址的物理地址信息是否存在于TLB12′中,并且在TLB失败的情况下执行PTW。
MMU10′可以包括被分配用于工作集的预取缓冲器。例如,在图6中示出的示例性实施例中,MMU10′包括预取缓冲器A201和预取缓冲器B202。预取缓冲器201和202取得或预取将由MMU10′访问的页表项并且临时存储该取得/预取的页表项。
对于工作集A,MMU10′基于设置在SFR203中的预取方向信息A取得页表项,执行用于工作集A的地址翻译,并且基于设置在SFR203中的预取方向信息A将随后将访问的页表项存储在预取缓冲器A201中。在基于取得的页表项执行用于工作集A的地址翻译之后,MMU10′基于预取的页表项执行地址翻译。以与用于工作集A相同的方式,对于工作集B,MMU10′基于SFR203中的预取方向信息B取得并预取页表项并执行地址翻译。MMU10访问通过用于工作集A和B的地址翻译获得的物理地址,并且从存储器件110读取工作集数据A和工作集数据B。因为在SFR203中设置访问方向,所以可以降低在取得操作之后找预取方向花费的时间量。结果,可以改善SoC1的性能和处理速度。
虽然此处仅已经描述了读操作,但是本发明构思的示例性实施例还可以以类似方式应用于写操作和擦除操作。
图7是根据本发明构思示例性实施例的、图2中示出的MMU10的图。为了解释方便,仅示出CPU3、总线42、IP块4、MMU11A和MMA11B、总线互联43和44、以及存储器件110。然而,例如,将理解地是,还可以包括诸如图3和/或图6中示出的一些元件的附加元件。IP块4此处可以称作主IP块4。
参照图7,IP块4以工作集为单位操作,并且在多个工作集上执行操作。工作集可以在存储器件110中彼此独立,并且IP块4可以独立地操作工作集中的每一个。IP块4向MMU11A或MMU11B输出对于工作集中的每一个的数据访问请求。
此处将参照图7描述IP块4从存储器件110读取数据的示例。这里,IP块4处理工作集A和工作集B。在当前示例中假定,工作集A相应于旋转源图像90度,并且工作集B相应于旋转源图像180度,如图1中所示。
在IP块4发出数据访问请求之前,CPU3向存储器件110写入页表115。页表115包括分别相应于物理地址的多个页表项。
CPU3设置预取方向信息。在图7中示出的示例性实施例中,CPU3在SFR303中设置相应于工作集A的预取方向信息A,并且在SFR313中设置相应于工作集B的预取方向信息B。
CPU3分配MMU11A和MMA11B分别用于工作集A和B。在图7中示出的示例性实施例中,CPU3设置用于工作集A和B中的每一个的地址信息以便MMU11A执行用于工作集A的地址翻译,并且MMU11B执行用于工作集B的地址翻译。例如,CPU3在地址分布器45中设置用于每个工作集的MMU分配信息。地址分布器可以包括指示工作集的开始虚拟地址和结束虚拟地址的指示符信息。
当IP块4发出数据访问请求时,地址分布器45向第一总线互联43发送相应于MMU11A或MMU11B的标识(ID)信息,该MMU11A或MMU11B被分配用于相应于包括在请求中的虚拟地址VA的工作集。第一总线互联43将相应于ID的MMU11A或MMU11B连接到IP块4,并且向MMU11A或MMU11B发送数据访问请求。例如,当IP块4发出对于工作集A的数据访问请求时,地址分布器45向第一总线互联43发送分配用于工作集A的MMU11A的ID。第一总线互联43打开通道A并且向MMU11A发送来自IP块4的数据访问请求。
当MMU11A和MMU11B从IP块4接收数据访问请求时,MMU11A和MMA11B确定相应于虚拟地址VA的物理地址信息是否分别存在于TLB12A和12B中,并且在TLB失败的情况下执行PTW。
在图7中示出的示例性实施例中,在SFR303和313中的每一个中,由CPU3仅设置一个预取方向。例如,SFR303仅存储预取方向信息A而不存储预取方向信息B,并且SFR313仅存储预取方向信息B而不存储预取方向信息A。类似地,预取缓冲器302和312每个仅存储相对于每个预取缓冲器302或312属于的、MMU11A或MMU11B被分配用于的工作集的、随后将取得的下一页表项。
例如,当发出对于工作集A的数据访问请求时,MMU11A基于设置在SFR303中的预取方向信息A从页表115取得页表项,执行用于工作集A的地址翻译,以及在预取缓冲器302中存储随后将访问的页表项。在基于取得的页表项执行用于工作集A的地址翻译之后,MMU11A基于预取的页表项执行地址翻译。类似地,MMU11B基于设置在SFR313中的预取方向信息B取得并预取页表项,并且执行地址翻译。
MMU11A和MMA11B分别访问通过用于工作集A和B的地址翻译获得的物理地址,并且从存储器件110分别读取工作集数据A和工作集数据B。
虽然此处仅已经描述了读操作,但是本发明构思的示例性实施例还可以以类似方式应用于写操作和擦除操作。
图8是根据本发明构思示例性实施例的、页表的字段结构的图。参照图8,页表包括多个页表项#_1到#_N,例如,每个可以由64位组成。然而,示例性实施例不局限于此。
在页表项#_1到#_N中的每一个中,第一高位[31:12]表示相应于虚拟页地址的物理页编号PPN,低位[11:0]可以指示页最近是否已经被访问、访问权限、可读/写性、以及页是否已经加载到物理地址,而第二高位[31:12]表示接下来将访问的页信息NextVPN。
第二高位[31:12]可以形成预取方向字段。例如,当MMU10在PTW期间取得页表项时,可以基于第二高位[31:12],例如,包括在取得的页表项中的预取方向字段来检测应当执行下一预取操作的位置。
可替换地,第二高位[31:12]可以形成预取目标项编号字段。例如,当MMU10在PTW期间取得页表项时,可以基于第二高位[31:12],例如,包括在取得的页表项中的预取目标项编号字段来访问下一页表项。
预取方向字段或预取目标项编号字段可以由CPU3写入到页表115。
图9是根据本发明构思示例性实施例的、操作MMU的方法的流程图。参照图9,此处可以称作主处理器3的CPU3在操作S11中向存储器件110写入页表。例如,如图5中所示,主处理器3控制页表信息写入物理地址PA(1)。
主处理器3在操作S12中设置MMU分配信息。例如,当IP块4对于至少一个工作集操作时,设置关于至少一个MMU当中的MMU10的分配的信息以用于工作集的地址翻译。例如,如图7中所示,当IP块4在两个工作集上操作时,主处理器3在地址分布器45中设置MMU分配信息,以使得基于每个工作集的虚拟地址分配MMU10以用于地址翻译。地址分布器45可以包括地址寄存器。在这种情况下,主处理器3可以相对于工作集的虚拟地址在地址寄存器中设置MMU映射信息。
主处理器3在操作S13中设置用于每个MMU10的预取方向。例如,当分配MMU10以用于90度旋转的工作集时,主处理器3在MMU10中设置用于预测读取旋转90度的源图像后接下来将访问的数据的虚拟地址的预取方向。预取方向可以设置在SFR中,可以被定义为页表115中的页表项中的预取方向字段,或者可以被定义为页表项中的预取目标项编号字段,如上所述。
仅当存在一个MMU10时,主处理器3可以设置并存储与包括在MMU10中的一个SFR中的工作集的数目一样多的预取方向。当存在多个MMU10时,主处理器3可以设置并存储包括在MMU10中的每一个中的SFR中的工作集的预取方向。
当IP块4在至少一个工作集上操作时,在操作S14中,请求通过MMU10访问相应于工作集的数据。例如,IP块4向MMU10发送将读取的数据的读取命令和虚拟地址。
在操作S15中,MMU10执行相对于IP块4的访问请求中的工作集的地址翻译。例如,MMU10确定在TLB12中是否存在用于工作集的虚拟地址的映射信息。当映射信息存在于TLB12中时,在操作S16中MMU10访问相应于存储器件110中的虚拟地址的物理地址并且读取数据。当在TLB12中不存在映射信息时,在操作S17中MMU10访问页表115并且执行PTW。
在操作S18中,MMU10访问页表115,取得页表项(例如,当前页表项),根据预取方向预取下一页表项,以及在预取缓冲器中存储下一页表项。在操作S19中,MMU10基于取得的页表项和预取的下一页表项将工作集的虚拟地址翻译成为物理地址,并且访问该物理地址中的数据。MMU10在操作S20中向IP块4发送数据。
图10示出根据本发明构思示例性实施例的、包括图2中示出的SoC1的电子设备400。参照图10,例如,电子设备400可以是蜂窝电话、智能电话、平板PC、PDA、PMP、或无线电通信系统,然而,电子设备400不局限于此。
电子设备400包括存储数据的存储器件410。例如,存储器件410可以包括非易失性存储器和存储控制器。存储控制器可以根据SoC1的控制来控制非易失性存储器的数据访问操作(例如,编程操作、擦除操作、或读取操作)。
无线电收发器420通过天线发送或接收无线电信号。例如,无线电收发器420可以将通过天线接收到的无线电信号转换成为可以由SoC1处理的信号。因此,SoC1可以处理从无线电收发器420输出的信号并且将经处理的信号发送到存储器件410或发送到显示器440。存储控制器可以将由SoC1处理的信号编程或写入到非易失性存储器。无线电收发器420还可以将从SoC1输出的信号转换成为无线电信号,并且通过天线向外部设备输出该无线电信号。
输入设备430使能用于控制SoC1的操作的控制信号、或使得将由SoC处理的数据能够输入到电子设备400。输入设备430可以是,例如,键区、键盘、或诸如触摸垫或计算机鼠标之类的指示设备,然而,输入设备430不局限于此。
SoC1可以控制显示器440的操作以显示从存储器件410输出的数据、从无线电收发器420输出的数据、或从输入设备430输出的数据。
在示例性实施例中,控制非易失性存储器的操作的存储控制器可以实现为SoC1的一部分,或实现在与SoC1分离的芯片中。
图11是根据本发明构思示例性实施例的、包括图2中示出的SoC1的电子设备500。参照图11,例如,电子设备500可以是图像处理设备,诸如数字相机、配备有数字相机的蜂窝电话、配备有数字相机的智能电话、或配备有数字相机的平板PC,然而,图像处理设备不局限于此。
电子设备500包括存储器件520。存储器件520可以包括非易失性存储器以及控制非易失性存储器的数据处理操作(例如,编程操作、擦除操作、以及读取操作)的存储控制器。包括在电子设备500中的图像传感器510将光学图像转换成为数字信号,并且向SoC1或存储器件520输出数字信号。数字信号可以通过SoC1控制以通过显示器530显示或存储在存储器件520中。
根据SoC1或存储控制器的控制,存储在存储器件520中的数据可以通过显示器530显示。可以控制非易失性存储器的操作的存储控制器可以实现为SoC1的一部分或实现为分离的芯片。
如上所述,根据本发明构思的示例性实施例,向MMU通知预取方向,并且MMU根据该预取方向预取页表项。结果,可以增加预取命中率,并且MMU的性能可以增加。
尽管已经参照其示例性实施例具体示出和描述了本发明构思,但本领域普通技术人员将会理解,可以对进行形式和细节上的各种改变而不脱离权利要求限定的本发明构思的精神和范围。

Claims (20)

1.一种片上系统(SoC),包括:
中央处理单元(CPU),被配置成设置相应于数据的工作集的预取方向;
知识产权(IP)块,被配置成处理数据的工作集;以及
存储器管理单元(MMU),被配置成在数据的工作集的虚拟地址与物理地址之间的地址翻译期间基于预取方向从页表预取下一页表项。
2.如权利要求1所述的SoC,还包括:
包括页表的存储器件,
其中页表包括包含下一页表项的多个页表项,
其中MMU包括被配置成存储虚拟地址和物理地址之间的映射信息的翻译后备缓冲器(TLB),被配置成存储预取方向的储存单元,以及被配置成存储下一页表项的预取缓冲器。
3.如权利要求1所述的SoC,其中所述CPU被配置成设置用于MMU的分配信息,
其中MMU根据分配信息被分配用于数据的工作集,并且被配置成在从IP块接收数据请求时执行地址翻译。
4.如权利要求1所述的SoC,还包括:
地址分布器,被配置成存储由CPU设置的、用于被分配用于数据的工作集的MMU的分配信息,并且被配置成响应于从IP块接收到的请求基于分配信息来分配MMU。
5.如权利要求1所述的SoC,还包括:
包括页表的存储器件,
其中页表包括包含下一页表项的多个页表项,
其中页表项中的每一个包括物理页地址、偏移、以及存储预取方向的预取方向字段。
6.如权利要求1所述的SoC,还包括:
包括页表的存储器件,
其中页表包括包含下一页表项的多个页表项,
其中页表项中的每一个包括物理页地址、偏移、以及存储将根据预取方向访问的下一页表项的预取目标项编号字段。
7.如权利要求1所述的SoC,其中所述预取方向包括关于根据数据的工作集访问物理地址的模式的信息。
8.一种操作片上系统(SoC)的方法,包括:
通过SoC的中央处理单元(CPU)设置预取方向和存储器管理单元(MMU)分配信息;
由SoC的知识产权(IP)块向SoC的MMU发出相对于数据的多个工作集中的每一个的数据访问请求;
响应于数据访问请求在地址翻译的页表移动(PTW)期间,由MMU基于预取方向从页表取得下一页表项;以及
由MMU基于下一页表项将数据的每个工作集的虚拟地址翻译成为物理地址,并且访问相应于物理地址的数据。
9.如权利要求8所述的方法,其中设置预取方向和MMU分配信息包括:
由MMU存储用于数据的每个工作集的预取方向;以及
由CPU设置相应于数据的每个工作集的MMU分配信息。
10.如权利要求8所述的方法,其中所述MMU分配信息包括根据数据的每个工作集的虚拟地址分配的MMU的指示符,并且发出数据访问请求包括基于该指示符向相应于虚拟地址的MMU发送数据访问请求,该虚拟地址相应于所述数据访问请求。
11.如权利要求8所述的方法,其中取得下一页表项包括根据PTW取得当前页表项,并且根据预取方向预取下一页表项。
12.如权利要求11所述的方法,其中设置预取方向和MMU分配信息包括由CPU将预取方向存储在MMU中,并且预取下一页表项包括基于预取方向将下一页表项存储在预取缓冲器中。
13.如权利要求11所述的方法,其中设置预取方向和MMU分配信息包括在页表项中设置预取方向。
14.如权利要求13所述的方法,其中所述当前页表项包括物理页编号、偏移、以及预取方向字段,
其中取得下一页表项还包括预取相应于预取方向字段的页表项作为下一页表项。
15.如权利要求13所述的方法,其中所述当前页表项包括物理页编号、偏移、以及预取目标项编号字段,
其中取得下一页表项还包括预取相应于预取目标项编号字段的页表项作为下一页表项。
16.一种片上系统(SoC),包括:
中央处理单元(CPU),被配置成设置预取方向信息和存储器管理单元(MMU)分配信息;
知识产权(IP)块,被配置成处理数据的至少一个工作集;
MMU,被配置存储被分配用于数据的所述至少一个工作集的预取方向信息,以及将相应于IP块的请求的数据的所述至少一个工作集的虚拟地址翻译成为物理地址;
地址分布器,被配置成存储MMU分配信息并且基于MMU分配信息分配MMU以执行虚拟地址的翻译;以及
存储器件,被配置成存储数据和数据的物理地址信息,其中所述存储器件包括具有多个页表项的页表,
其中MMU还被配置成基于预取方向信息从页表预取接下来将访问的下一页表项。
17.如权利要求16所述的SoC,其中,所述MMU包括:
翻译后备缓冲器(TLB),被配置成存储虚拟地址和物理地址之间的映射信息;
特殊功能寄存器,被配置成存储预取方向信息;以及
预取缓冲器,被配置成基于预取方向信息从页表预取下一页表项,并且存储下一页表项。
18.如权利要求16所述的SoC,其中所述多个页表项中的每一个包括物理页地址、偏移、以及存储预取方向的预取方向字段,并且所述MMU被配置成基于预取方向字段预取下一页表项。
19.如权利要求16所述的SoC,其中所述多个页表项中的每一个包括物理页编号、偏移、以及预取目标项编号字段,并且所述MMU被配置成预取相应于预取目标项编号字段的下一页表项。
20.如权利要求16所述的SoC,还包括总线互联,被配置成基于相应于MMU的标识(ID)信息将MMU连接到IP块,
其中相应于MMU的ID信息通过地址分布器输出到MMU,并且基于MMU分配信息对应与请求相应的数据的工作集的虚拟地址。
CN201410088744.3A 2013-03-11 2014-03-11 片上系统及其操作方法 Active CN104050089B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0025727 2013-03-11
KR1020130025727A KR102069273B1 (ko) 2013-03-11 2013-03-11 시스템 온 칩 및 그 동작방법

Publications (2)

Publication Number Publication Date
CN104050089A true CN104050089A (zh) 2014-09-17
CN104050089B CN104050089B (zh) 2019-06-07

Family

ID=51385722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410088744.3A Active CN104050089B (zh) 2013-03-11 2014-03-11 片上系统及其操作方法

Country Status (8)

Country Link
US (1) US9880940B2 (zh)
JP (1) JP6370065B2 (zh)
KR (1) KR102069273B1 (zh)
CN (1) CN104050089B (zh)
AU (1) AU2014201012A1 (zh)
DE (1) DE102014103056A1 (zh)
NL (1) NL2012387B1 (zh)
TW (1) TWI621945B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722246A (zh) * 2021-11-02 2021-11-30 超验信息科技(长沙)有限公司 处理器中物理内存保护机制的实现方法及装置
CN114281720A (zh) * 2021-12-14 2022-04-05 海光信息技术股份有限公司 处理器、用于处理器的地址翻译方法、电子设备
CN117349204A (zh) * 2023-12-04 2024-01-05 中科亿海微电子科技(苏州)有限公司 一种用于提高axi总线读效率的装置及方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9741150B2 (en) 2013-07-25 2017-08-22 Duelight Llc Systems and methods for displaying representative images
US9542332B2 (en) * 2014-11-13 2017-01-10 Via Alliance Semiconductor Co., Ltd. System and method for performing hardware prefetch tablewalks having lowest tablewalk priority
US9495303B2 (en) * 2015-02-03 2016-11-15 Intel Corporation Fine grained address remapping for virtualization
US9792215B2 (en) 2015-03-28 2017-10-17 Qualcomm Incorporated Command-driven translation pre-fetch for memory management units
KR102491622B1 (ko) * 2015-11-17 2023-01-25 삼성전자주식회사 가상 어드레스 생성기의 동작 방법과 이를 포함하는 시스템의 동작 방법
US10402332B2 (en) * 2016-05-24 2019-09-03 Xilinx, Inc. Memory pre-fetch for virtual memory
US10303621B1 (en) * 2017-03-07 2019-05-28 Amazon Technologies, Inc. Data protection through address modification
US11188472B2 (en) 2019-02-13 2021-11-30 Google Llc Caching streams of memory requests
CN110046106B (zh) * 2019-03-29 2021-06-29 海光信息技术股份有限公司 一种地址转换方法、地址转换模块及系统
US11327757B2 (en) * 2020-05-04 2022-05-10 International Business Machines Corporation Processor providing intelligent management of values buffered in overlaid architected and non-architected register files
CN111800625B (zh) * 2020-07-06 2021-12-03 安徽文香科技有限公司 一种hdmi端口摄像头连接检测方法、装置及设备
CN112000592B (zh) * 2020-07-27 2023-08-22 瑞芯微电子股份有限公司 一种模块间数据交互的方法和装置
CN114238167B (zh) * 2021-12-14 2022-09-09 海光信息技术股份有限公司 信息预取方法、处理器、电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049640A1 (en) * 2002-09-09 2004-03-11 Kimming So System and method for directional prefetching
US20050198439A1 (en) * 2004-03-04 2005-09-08 Fredy Lange Cache memory prefetcher
CN101203837A (zh) * 2005-04-07 2008-06-18 Ati技术公司 虚拟存储器系统中段处理的方法和装置
US20100161915A1 (en) * 2008-12-22 2010-06-24 Samsung Electronics Co., Ltd. Method and system controlling page open time for memory device
CN102498477A (zh) * 2009-07-13 2012-06-13 苹果公司 Tlb预取

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149680A (ja) * 1992-11-12 1994-05-31 Nec Corp アドレス変換装置
EP0752644A3 (en) 1995-07-07 2001-08-22 Sun Microsystems, Inc. Memory management unit incorporating prefetch control
JP2000035918A (ja) * 1998-07-16 2000-02-02 Fujitsu Ltd キャッシュメモリ装置
US6628294B1 (en) * 1999-12-31 2003-09-30 Intel Corporation Prefetching of virtual-to-physical address translation for display data
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
KR20040038548A (ko) 2002-11-01 2004-05-08 삼성전자주식회사 높은 히트율을 갖는 캐쉬 메모리 시스템 및 그의 데이터캐슁 방법
US7519791B2 (en) * 2004-02-06 2009-04-14 Intel Corporation Address conversion technique in a context switching environment
US7277991B2 (en) * 2004-04-12 2007-10-02 International Business Machines Corporation Method, system, and program for prefetching data into cache
US20060136696A1 (en) 2004-12-16 2006-06-22 Grayson Brian C Method and apparatus for address translation
US7886126B2 (en) * 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system
US20060168432A1 (en) 2005-01-24 2006-07-27 Paul Caprioli Branch prediction accuracy in a processor that supports speculative execution
KR100699656B1 (ko) 2005-03-15 2007-03-23 미쓰비시덴키 가부시키가이샤 제어 회로 및 제어 방법
US7395406B2 (en) 2005-05-12 2008-07-01 International Business Machines Corporation System and method of large page handling in a virtual memory system
US7793067B2 (en) 2005-08-12 2010-09-07 Globalfoundries Inc. Translation data prefetch in an IOMMU
US8024547B2 (en) * 2007-05-01 2011-09-20 Vivante Corporation Virtual memory translation with pre-fetch prediction
US7584394B2 (en) 2007-07-18 2009-09-01 International Business Machines Corporation System and method for pseudo-random test pattern memory allocation for processor design verification and validation
KR100981884B1 (ko) 2008-01-08 2010-09-14 한국과학기술원 컴퓨터 저장장치에서의 프리페칭 데이터 관리 방법
US8161264B2 (en) * 2008-02-01 2012-04-17 International Business Machines Corporation Techniques for data prefetching using indirect addressing with offset
KR20100005539A (ko) 2008-07-07 2010-01-15 삼성전자주식회사 캐시 메모리 시스템 및 캐시의 프리페칭 방법
US8161246B2 (en) 2009-03-30 2012-04-17 Via Technologies, Inc. Prefetching of next physically sequential cache line after cache line that includes loaded page table entry
US9092358B2 (en) * 2011-03-03 2015-07-28 Qualcomm Incorporated Memory management unit with pre-filling capability
KR20120127108A (ko) * 2011-05-13 2012-11-21 삼성전자주식회사 메모리 시스템
KR101299767B1 (ko) 2011-09-02 2013-08-23 주식회사 포스코 원료 투입용 벨트 컨베이어
US9251083B2 (en) * 2013-03-11 2016-02-02 Via Technologies, Inc. Communicating prefetchers in a microprocessor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049640A1 (en) * 2002-09-09 2004-03-11 Kimming So System and method for directional prefetching
US20050198439A1 (en) * 2004-03-04 2005-09-08 Fredy Lange Cache memory prefetcher
CN101203837A (zh) * 2005-04-07 2008-06-18 Ati技术公司 虚拟存储器系统中段处理的方法和装置
US20100161915A1 (en) * 2008-12-22 2010-06-24 Samsung Electronics Co., Ltd. Method and system controlling page open time for memory device
CN102498477A (zh) * 2009-07-13 2012-06-13 苹果公司 Tlb预取

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722246A (zh) * 2021-11-02 2021-11-30 超验信息科技(长沙)有限公司 处理器中物理内存保护机制的实现方法及装置
CN114281720A (zh) * 2021-12-14 2022-04-05 海光信息技术股份有限公司 处理器、用于处理器的地址翻译方法、电子设备
CN114281720B (zh) * 2021-12-14 2022-09-02 海光信息技术股份有限公司 处理器、用于处理器的地址翻译方法、电子设备
CN117349204A (zh) * 2023-12-04 2024-01-05 中科亿海微电子科技(苏州)有限公司 一种用于提高axi总线读效率的装置及方法
CN117349204B (zh) * 2023-12-04 2024-02-09 中科亿海微电子科技(苏州)有限公司 一种用于提高axi总线读效率的装置及方法

Also Published As

Publication number Publication date
KR20140111499A (ko) 2014-09-19
JP6370065B2 (ja) 2018-08-08
AU2014201012A1 (en) 2014-09-25
NL2012387B1 (en) 2018-05-23
NL2012387A (en) 2014-09-15
JP2014175017A (ja) 2014-09-22
KR102069273B1 (ko) 2020-01-22
TWI621945B (zh) 2018-04-21
TW201439764A (zh) 2014-10-16
CN104050089B (zh) 2019-06-07
DE102014103056A1 (de) 2014-09-11
US20140258674A1 (en) 2014-09-11
US9880940B2 (en) 2018-01-30

Similar Documents

Publication Publication Date Title
CN104050089A (zh) 片上系统及其操作方法
US20210374069A1 (en) Method, system, and apparatus for page sizing extension
CN103914405B (zh) 包括存储管理单元的片上系统及其存储地址转换方法
KR101001100B1 (ko) Gpu에서의 페이지 매핑을 위한 전용 메커니즘
US9734092B2 (en) Secure support for I/O in software cryptoprocessor
CN105283855B (zh) 一种寻址方法及装置
US8108617B2 (en) Method to bypass cache levels in a cache coherent system
US8868883B1 (en) Virtual memory management for real-time embedded devices
JP2016042351A (ja) コンピューティングシステムにおける動的なメモリアドレス再マッピング
US20140040541A1 (en) Method of managing dynamic memory reallocation and device performing the method
CN110196757A (zh) 虚拟机的tlb填写方法、装置及存储介质
US10467138B2 (en) Caching policies for processing units on multiple sockets
CN110073338A (zh) 翻译旁视缓冲器中的可配置的偏斜关联性
CN106295413B (zh) 半导体装置
US10621098B2 (en) Computing device and non-volatile dual in-line memory module that evict and prefetch data with respect to memories having different operating speeds
CN116964564A (zh) 通过页重映射和旋转增加地址空间布局随机化熵
US11409659B2 (en) Tags and data for caches
CN101470668B (zh) 一种计算机及计算机上配置高速缓存控制策略的方法
US20240086349A1 (en) Input/output device operational modes for a system with memory pools

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