CN114546896A - 系统内存管理单元、读写请求处理方法、电子设备和片上系统 - Google Patents

系统内存管理单元、读写请求处理方法、电子设备和片上系统 Download PDF

Info

Publication number
CN114546896A
CN114546896A CN202210164766.8A CN202210164766A CN114546896A CN 114546896 A CN114546896 A CN 114546896A CN 202210164766 A CN202210164766 A CN 202210164766A CN 114546896 A CN114546896 A CN 114546896A
Authority
CN
China
Prior art keywords
read
unit
address
virtual
write
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.)
Pending
Application number
CN202210164766.8A
Other languages
English (en)
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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems 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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN202210164766.8A priority Critical patent/CN114546896A/zh
Publication of CN114546896A publication Critical patent/CN114546896A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7846On-chip cache and off-chip main memory
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请实施例提供了一种系统内存管理单元、读写请求处理方法、电子设备和片上系统。系统内存管理单元,包括:地址转换单元、处理单元和接口单元;所述地址转换单元用于接收若干个外设单元的读写请求,将所述读写请求中携带的虚拟地址传输至所述处理单元,以及将所述读写请求中的所述虚拟地址替换为所述处理单元确定的物理地址,并将替换物理地址后的所述读写请求传输至所述接口单元,其中,所述读写请求中携带有读写操作针对的虚拟地址以及与所述外设单元对应的虚拟通道信息;所述处理单元用于确定所述虚拟地址对应的所述物理地址;所述接口单元用于发送若干个所述读写请求,所述读写请求中携带有所述物理地址以及所述虚拟通道信息。

Description

系统内存管理单元、读写请求处理方法、电子设备和片上系统
技术领域
本申请实施例涉及芯片技术领域,尤其涉及一种系统内存管理单元、读写请求处理方法、电子设备和片上系统。
背景技术
随着物联网设备的发展,对物联网设备的IOTSoc芯片带来了较高的要求。为了满足物联网设备复杂的应用场景,IOTSoc芯片中除了集成CPU之外还要集成多个外设单元,外设单元应用控制物联网设备的部件,例如扬声器、摄像头、屏幕等。
外设单元在使用过程中需要动态地申请或释放内存,若采用现有的适用于电脑等内存的管理方案,会极大地增加了IOT Soc芯片中内存管理的复杂度,同时也增加了IOTSoc芯片的面积。
发明内容
有鉴于此,本申请实施例提供一种系统内存管理单元,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种系统内存管理单元,包括:地址转换单元、处理单元和接口单元;所述地址转换单元用于接收若干个外设单元的读写请求,将所述读写请求中携带的虚拟地址传输至所述处理单元,以及将所述读写请求中的所述虚拟地址替换为所述处理单元确定的物理地址,并将替换物理地址后的所述读写请求传输至所述接口单元,其中,所述读写请求中携带有读写操作针对的虚拟地址以及与所述外设单元对应的虚拟通道信息;所述处理单元用于确定所述虚拟地址对应的所述物理地址;所述接口单元用于发送若干个所述读写请求,所述读写请求中携带有所述物理地址以及所述虚拟通道信息。
根据本申请实施例的第二方面,提供了一种读写请求处理方法,包括:接收若干个外设单元的读写请求,将所述读写请求中携带的虚拟地址传输至处理单元,以通过所述处理单元确定所述虚拟地址对应的所述物理地址,其中,接收的所述读写请求中携带有读写操作针对的虚拟地址以及与所述外设单元对应的虚拟通道信息;将所述读写请求中的所述虚拟地址替换为所述处理单元确定的物理地址,并发送替换物理地址后的所述读写请求,发送的所述读写请求中携带有所述物理地址以及所述虚拟通道信息。
根据本申请实施例的第三方面,提供了一种电子设备,包括:根据上述的系统内存管理单元;存储器,用于提供被所述系统内存管理单元对应的存储空间。
根据本申请实施例的第四方面,提供了一种片上系统,包括若干个外设模组、根据上述的系统内存管理单元、存储器,所述外设模组通过总线与所述系统内存管理单元通信,所述系统内存管理单元通过总线与所述存储器通信。
根据本申请实施例提供的方案系统内存管理单元,其中的地址转换单元可以同时接收多个外设单元的读写请求,并通过虚拟通道信息标识发起读写请求的外设单元,在将读写请求中的虚拟地址转换为物理地址,使得替换地址后的读写请求针对的为内存中的物理地址,从而可以根据物理地址执行对应的读写操作,由此,多个外设单元可以共用一个系统内存管理单元,从而减小了Soc芯片的面积。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例所应用的电子设备的结构框图;
图2是本申请一个实施例的系统内存管理单元的内部结构图;
图3是本申请一个实施例的系统内存管理单元的信号传输示意图;
图4是本申请另一个实施例的系统内存管理单元的内部结构图;
图5是本申请一个实施例的缓存方法的流程图;
图6是本申请一个实施例的读写请求的处理方法的流程图。
具体实施方式
以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在本文中使用以下术语。
Soc:系统级芯片(又称片上系统),一般包括主芯片以及外设单元,主芯片作为Soc的核心处理单元,外设单元用于与外设配合,接收外部数据并发送至主芯片进行处理,或者用于对外部数据进行特定处理等。
外设单元:与系统外设配合实现特定功能,例如按键单元、扬声器单元、显示器单元、网卡、解码器等。
系统内存管理单元:用于管理访问内存的请求,进而实现IOT Soc芯片的内存管理。
片上系统
图1示出本申请一个实施例的片上系统100内部的结构框图,如图1所示,片上系统100包括有总线连接的处理器110、存储器120、系统内存管理单元130和外设单元140。
处理器110作为电子设备的核心,一般为处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器120用于提供内存资源,存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
系统内存管理单元130,用于管理访问内存的请求,进而进行内存管理。
外设单元140,用于与系统外设配合实现特定功能,例如按键单元、扬声器单元、显示器单元、网卡、解码器等。具体实现的功能按照需求进行定制。外设单元在使用时可以通过系统内存管理单元向存储器申请或者释放内存资源。
传统的Soc芯片中,一般针对一个外设单元设置一个内存管理单元,例如ARM的SMMU,其中包括转译缓冲单元(Translation Buffer Unit,TBU)和转译控制单元(Translation Control Unit,TCU)。TBU主要包括TAG表存储阵列(也可以称为转译查找表Translation Lookaside Buffer,TLB),负责虚拟地址往物理地址的快速转化。TLB中每一行都保存着一个由单个PTE(PageTable Entry,页表项)组成的块,如果能够从TLB页表项中获取虚拟地址及其对应的物理地址,称为TLB命中(TLB Hit),反之称为TLB失败(TLBMiss)。TCU包括页表查找(Page TableWalk,PTW)功能、SMMU的控制寄存器和对应的编程接口、二级TLB等,负责TLB不命中时查页表和各种控制。
通常,TCU只有一个,TBU可以有多个,分别对应多个外设单元,当外设单元的数量较多时,会导致设置的TBU的数量较多,增大了Soc芯片的面积。
而本申请实施例中,多个外设单元可以共用一个系统内存管理单元,从而减小了Soc芯片的面积,在后文中会对系统内存管理单元进行详细描述。
系统内存管理单元的内部结构
下面结合图2的系统内存管理单元的内部结构,具体说明系统内存管理单元是如何管理内存的。
如图2所示,内系统内存管理单元包括:地址转换单元201、处理单元202和接口单元203。
地址转换单元用于接收若干个外设单元的读写请求,将读写请求中携带的虚拟地址传输至处理单元,以及将读写请求中的虚拟地址替换为处理单元确定的物理地址,并将替换物理地址后的读写请求传输至接口单元。
接收的读写请求中携带有读写操作针对的虚拟地址以及与外设单元对应的虚拟通道信息。
处理单元用于确定虚拟地址对应的物理地址。
接口单元用于发送若干个读写请求,读写请求中携带有物理地址以及虚拟通道信息。
本实施例提供的方案,地址转换单元可以同时接收多个外设单元的读写请求,并通过虚拟通道信息标识发起读写请求的外设单元,在将读写请求中的虚拟地址转换为物理地址,使得替换地址后的读写请求针对的为内存中的物理地址,从而可以根据物理地址执行对应的读写操作,由此,多个外设单元可以共用一个系统内存管理单元,从而减小了Soc芯片的面积。
本实施例中,通过向外设单元提供虚拟地址,可以使得外设单元认为自身拥有连续的可用的内存(一个连续完整的地址空间),而实际上,一个外设单元对应的内存通常被分隔成多个物理内存碎片,每个物理内存碎片可以对应一个或者多个物理地址。
当外设单元发起读写请求时,可以生成读写请求,读写请求中携带有外设单元对应的虚拟通道标识、读写操作对应的虚拟地址,还可以携带有读或写操作指令信息等。
系统内存管理单元通过地址转换单元接收到读写请求时,可以提取中的虚拟地址发送至处理单元,处理单元可以确定虚拟地址对应的物理地址,并返回物理地址至地址转换单元。处理单元具体可以为CPU等具有计算能力的单元。
具体地,地址转换单元可以接收若干个外设单元的读写请求,由于多个外设单元一般相互隔离,因此,地址转换单元接收到的读写请求是并发的。
如图3所示,地址转换单元在能够接收新的读写请求时可以向外发送s_ready信号,外设单元接收到s_ready信号后,可以将读写请求发送至地址转换单元,读写请求中可以包括s_user,为边带信号,用于标识虚拟通道信息;s_addr,用于标识虚拟地址;s_valid,用于标识地址有效性的有效标识。
地址转换单元可以从读写请求中提取出虚拟地址,并发送至处理单元,如图3所示,va用于标识虚拟地址,va_valid为用于标识虚拟地址有效性的有效标识。
处理单元可以确定虚拟地址对应的物理地址,并将其返回至地址转换单元,如图3所示,pa用于标识物理地址,pa_valid为用于标识物理地址有效性的有效标识。
地址转换单元可以将读写请求中的虚拟地址替换为物理地址,并发送至接口单元,如图3所示m_addr用于标识替换后的物理地址,m_valid为用于标识物理地址有效性的有效标识。
由于地址转换单元接收到的读写请求是并发的,发送至接口单元的读写请求可能数量较多,则地址转换单元可以根据是否接收到接口单元的m_ready信号,来确定接口单元是否能够接受新的读写请求。
在一种可能的实现方式中,处理单元可以生成与所述虚拟地址对应的内存访问请求,并且如图4所示,所述系统内存管理单元还包括内存访问单元,用于将所述内存访问请求转换为内存读请求,并将所述内存读请求传输至所述接口单元;所述接口单元还用于发送所述内存读请求,获得所述内存读请求对应的物理地址,将所述物理地址返回至所述处理单元。由此,处理单元可以通过查询内存获得虚拟地址对应的物理地址。
本实施例中,内存读请求中携带有虚拟地址,内存读请求被发送至内存后,可以基于内存中存储的物理地址和虚拟地址的映射关系,确定内存度请求中携带的虚拟地址对应的物理地址,并将确定出的物理地址返回至系统内存管理单元,系统内存管理单元可以通过接口单元接收物理地址,并通过内存访问单元将物理地址返回至处理单元,使得处理单元可以将物理地址返回至地址转换单元。
在一种可能的实现方式中,为了缩短处理单元确定物理地址的时间以及消耗的资源,处理单元中还可以包括缓存区,缓存器中用于缓存虚拟地址和物理地址的映射关系。处理单元接收到虚拟地址后,先确定缓存器中是否缓存有虚拟地址对应的物理地址。若确定缓存器中不存在所述地址转换单元发送的虚拟地址对应的物理地址后,生成内存访问请求,所述内存访问请求用于向内存查询虚拟地址对应的物理地址。处理单元还可以接收存储器等响应于内存访问请求返回的虚拟地址对应的物理地址,并存储至缓存器中。
具体缓存或者生成内存访问请求的方法可参考相关技术,在此不再赘述。
在一种可能的实现方式中,所述缓存器还用于缓存与被连续访问预设次数的虚拟地址相邻的下一虚拟地址及下一虚拟地址对应的物理地址,保证在外设单元进行虚拟地址的连续访问时,处理单元可以直接确定虚拟地址对应的物理地址,减小了读写请求的处理延时,提升了Soc芯片的性能。
具体设置缓存器的方法可参考相关技术,在此不再赘述。
在一种可能的实现方式中,所述地址转换单元用于将所述读写请求中携带的所述虚拟地址以及所述虚拟通道信息传输至所述处理单元;所述处理单元用于判断所述虚拟地址是否被所述虚拟通道信息对应的外设单元连续访问预设次数;若是,则将与所述虚拟地址对应页表相邻的下一页表的虚拟地址及其对应的物理地址缓存至所述缓存器中。由此,缓存器中可以预存有当前访问页表对应的下一页表的虚拟地址及其对应的物理地址,当外设单元进行虚拟地址的连续访问时,可以直接通过缓存器中存储的数据,确定虚拟地址对应的物理地址。
示例地,如图5所示,针对一个外设单元处理器中可能运行有一个线程,线程执行的步骤如下:
1)令hit_cnt=0,Prefetch_flg=0。其中,hit_cnt虚拟地址被连续访问的次数,Prefetch_flg标识是否已被缓存,0对应未缓存;
2)waitva_vid=1,表示处理器等待接收到该外设单元对应虚拟通道信息及虚拟地址,va_vid=1表示虚拟地址有效。
3)判断虚拟地址是否被连续访问,即hotentyrhit。
若不是,则返回步骤1)重新开始执行,若时,则执行步骤4.
4)hit_cnt==N,即判断被连续命中的次数是否等于预设次数N。
若等于,则确定虚拟地址满足被缓存的条件,执行步骤5,;反之,则确定其并未满足被缓存的条件,执行步骤6。
5)Prefetch nextpage并令Prefetch_flg=1,hit_cnt+1,即将虚拟地址对应页表的下一页表的虚拟地址及对应的物理地址存储至缓存器,并修改标识Prefetch_flg1,标识虚拟地址已被缓存,且将访问次数加一。
6)Prefetch_flg==0,即判断虚拟地址并未缓存。
若为缓存,则返回步骤2继续等待下一个虚拟地址;若已经被缓存,则执行步骤7,再返回步骤2继续等待下一个虚拟地址
7)hit_cnt+1,即将访问次数加一。
由于地址转换单元可以接收若干个外设单元的读写请求,且多个外设单元发送的读写请求的顺序较为随机,而任意一个外设单元可以发送连续访问某一个虚拟地址的读写操作,因此,本实施例中,处理单元可以通过虚拟通道信息来区分外设单元,并将被某一个外设单元连续访问的虚拟地址及对应的物理地址进行缓存,以减小时延。
在一种可能的实现方式中,所述接口单元用于根据所述内存访问单元生成的与内存读请求对应的优先级信息,以及所述地址转换单元生成的与若干个所述读写请求对应的优先级信息,依次发送所述内存读请求以及若干个所述读写请求。
根据上述论述以及参见图4可知,地址转换单元与内存访问单元同时发送请求至接口单元,为了保证接口单元能够有序将请求发出,内存访问单元可以生成的与内存读请求对应的优先级信息,类似的,地址转换单元生成的与若干个所述读写请求对应的优先级信息,接口单元可以根据各个请求对应的优先级信息,依次将请求发出。
示例地,地址转换单元或者内存访问单元可以根据请求自身的信息,例如接到请求的时间等,生成对应的优先级信息,还可以根据单元自身的优先级级别生成优先级信息,本实施例对此不进行限定。
在一种可能的实现方式中,所述处理单元中包括寄存器,所述寄存器用于存储所述虚拟通道信息与所述外设单元的对应关系。
在设计Soc芯片时,可以确定其中包括的外设单元,在初始化Soc芯片的软件系统时,可以通过APB接口向控制寄存器中写入外设单元对应的虚拟通道信息。
在一种可能的实现方式中,所述地址转换单元用于接收若干个外设单元通过AXI读地址通道传输的读请求或者接收若干个外设单元通过AXI写地址通道传输的写请求;或者,所述内存访问单元,用于将所述内存访问请求转换为符合AXI标准的内存读请求。
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。
AXI包括读地址通道、读数据通道、写地址通道、写数据通道、写响应通道共计五个通道,本实施例中,可以通过读地址通道传输读请求信息,通过写地址通道传输写请求信息,实现读写请求的并发传输,避免了读写阻塞,减小地址转换的延时。
由于接受的读写请求为AXI读地址通道传输的读请求或者AXI写地址通道传输的写请求,则地址转换单元发送至接口单元的为基于AXI标准的读写请求,因此本实施例中,内存访问单元,可以将所述内存访问请求转换为符合AXI标准的内存读请求,以使得接口单元发送的仅为AXI标准的请求。
片上系统
本申请实施例还提供了一种片上系统,该片上系统包括若干个外设模组、上述的系统内存管理单元、存储器,所述外设模组通过总线与所述系统内存管理单元通信,所述系统内存管理单元通过总线与所述存储器通信。
读写请求处理方法
图6是本申请一个实施例的读写请求处理方法的流程图,该读写请求处理方法用于上述任一实施例中的系统内存管理单元,如图6所示,该读写请求处理方法包括:
步骤601、接收若干个外设单元的读写请求,将所述读写请求中携带的虚拟地址传输至处理单元,以通过所述处理单元确定所述虚拟地址对应的所述物理地址;
接收的所述读写请求中携带有读写操作针对的虚拟地址以及与所述外设单元对应的虚拟通道信息。
步骤602、将所述读写请求中的所述虚拟地址替换为所述处理单元确定的物理地址,并发送替换物理地址后的所述读写请求,发送的所述读写请求中携带有所述物理地址以及所述虚拟通道信息。
由于读写请求的处理方法的细节在上述实施例的系统内存管理单元部分,已经结合结构示意图进行了详细说明,具体过程可参见前述系统内存管理单元实施例中的描述,在此不再进行赘述。
本申请实施例的商业价值
本申请实施例在解决Soc面积较大的技术问题时,通过设置虚拟通道信息使得地址转换单元可以同时接收多个外设单元的读写请求,并通过虚拟通道信息标识发起读写请求的外设单元,在将读写请求中的虚拟地址转换为物理地址,使得替换地址后的读写请求针对的为内存中的物理地址,从而可以根据物理地址执行对应的读写操作,由此,多个外设单元可以共用一个系统内存管理单元,从而减小了Soc芯片的面积,且复杂度较低,尤其适合轻量级的SoC芯片。并且,本实施例提供的系统内存管理单元中通过处理单元查询内存或者缓存来确定物理地址,对页表格式不进行限定,用户可根据需求对页表格式进行定制,使得本实施例提供的系统内存管理单元可以部署到基于RISC-V架构的开源处理器中,此外,本实施例中通过处理单元的缓存器对外设单元连续访问的虚拟地址及其对应的物理地址进行缓存,减少了确定出物理地址的时延。
应该理解,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于装置和系统实施例中描述的方法,所以描述的比较简单,相关之处参见其他实施例的部分说明即可。
应该理解,上述对本说明书特定实施例进行了描述。其它实施例在权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的单元或元件可被组合为单个单元或元件,且本文中被描述或示出为单个的单元或元件可被拆分为多个单元或元件。
还应理解,本文采用的术语和表述方式只是用于描述,本说明书的一个或多个实施例并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。

Claims (11)

1.一种系统内存管理单元,包括:地址转换单元、处理单元和接口单元;
所述地址转换单元用于接收若干个外设单元的读写请求,将所述读写请求中携带的虚拟地址传输至所述处理单元,以及将所述读写请求中的所述虚拟地址替换为所述处理单元确定的物理地址,并将替换物理地址后的所述读写请求传输至所述接口单元,其中,所述读写请求中携带有读写操作针对的虚拟地址以及与所述外设单元对应的虚拟通道信息;
所述处理单元用于确定所述虚拟地址对应的所述物理地址;
所述接口单元用于发送若干个所述读写请求,所述读写请求中携带有所述物理地址以及所述虚拟通道信息。
2.根据权利要求1所述的系统内存管理单元,其中,所述处理单元用于生成与所述虚拟地址对应的内存访问请求;
所述系统内存管理单元还包括内存访问单元,用于将所述内存访问请求转换为内存读请求,并将所述内存读请求传输至所述接口单元;
所述接口单元还用于发送所述内存读请求,获得所述内存读请求对应的物理地址,将所述物理地址返回至所述处理单元。
3.根据权利要求1或2所述的系统内存管理单元,其中,所述处理单元包括缓存器,用于缓存虚拟地址和物理地址的映射关系,所述处理单元用于确定缓存器中不存在所述地址转换单元发送的虚拟地址对应的物理地址后,生成内存访问请求,所述内存访问请求用于向内存查询虚拟地址对应的物理地址。
4.根据权利要求3所述的系统内存管理单元,其中,所述缓存器还用于缓存与被连续访问预设次数的虚拟地址相邻的下一虚拟地址及下一虚拟地址对应的物理地址。
5.根据权利要求4所述的系统内存管理单元,其中,所述地址转换单元用于将所述读写请求中携带的所述虚拟地址以及所述虚拟通道信息传输至所述处理单元;
所述处理单元用于判断所述虚拟地址是否被所述虚拟通道信息对应的外设单元连续访问预设次数;若是,则将与所述虚拟地址对应页表相邻的下一页表的虚拟地址及其对应的物理地址缓存至所述缓存器中。
6.根据权利要求2所述的系统内存管理单元,其中,所述接口单元用于根据所述内存访问单元生成的与内存读请求对应的优先级信息,以及所述地址转换单元生成的与若干个所述读写请求对应的优先级信息,依次发送所述内存读请求以及若干个所述读写请求。
7.根据权利要求2所述的系统内存管理单元,其中,所述地址转换单元用于接收若干个外设单元通过AXI读地址通道传输的读请求或者接收若干个外设单元通过AXI写地址通道传输的写请求;
或者,所述内存访问单元,用于将所述内存访问请求转换为符合AXI标准的内存读请求。
8.根据权利要求1所述的系统内存管理单元,其中,所述处理单元中包括寄存器,所述寄存器用于存储所述虚拟通道信息与所述外设单元的对应关系。
9.一种读写请求处理方法,包括:
接收若干个外设单元的读写请求,将所述读写请求中携带的虚拟地址传输至处理单元,以通过所述处理单元确定所述虚拟地址对应的所述物理地址,其中,接收的所述读写请求中携带有读写操作针对的虚拟地址以及与所述外设单元对应的虚拟通道信息;
将所述读写请求中的所述虚拟地址替换为所述处理单元确定的物理地址,并发送替换物理地址后的所述读写请求,发送的所述读写请求中携带有所述物理地址以及所述虚拟通道信息。
10.一种电子设备,包括:
根据权利要求1-8任一项所述的系统内存管理单元;
存储器,用于提供被所述系统内存管理单元对应的存储空间。
11.一种片上系统,包括:若干个外设模组、根据权利要求1-8任一项所述的系统内存管理单元、存储器,所述外设模组通过总线与所述系统内存管理单元通信,所述系统内存管理单元通过总线与所述存储器通信。
CN202210164766.8A 2022-02-22 2022-02-22 系统内存管理单元、读写请求处理方法、电子设备和片上系统 Pending CN114546896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210164766.8A CN114546896A (zh) 2022-02-22 2022-02-22 系统内存管理单元、读写请求处理方法、电子设备和片上系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210164766.8A CN114546896A (zh) 2022-02-22 2022-02-22 系统内存管理单元、读写请求处理方法、电子设备和片上系统

Publications (1)

Publication Number Publication Date
CN114546896A true CN114546896A (zh) 2022-05-27

Family

ID=81676969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210164766.8A Pending CN114546896A (zh) 2022-02-22 2022-02-22 系统内存管理单元、读写请求处理方法、电子设备和片上系统

Country Status (1)

Country Link
CN (1) CN114546896A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780451A (zh) * 2022-06-24 2022-07-22 沐曦科技(北京)有限公司 一种基于dma的数据复制的方法
CN115292054A (zh) * 2022-10-08 2022-11-04 湖北芯擎科技有限公司 数据处理方法、装置、系统级芯片及存储介质
CN116436787A (zh) * 2023-06-13 2023-07-14 苏州浪潮智能科技有限公司 网络接口管理方法、使用方法、装置、设备和存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780451A (zh) * 2022-06-24 2022-07-22 沐曦科技(北京)有限公司 一种基于dma的数据复制的方法
CN114780451B (zh) * 2022-06-24 2022-08-23 沐曦科技(北京)有限公司 一种基于dma的数据复制的方法
CN115292054A (zh) * 2022-10-08 2022-11-04 湖北芯擎科技有限公司 数据处理方法、装置、系统级芯片及存储介质
CN115292054B (zh) * 2022-10-08 2022-12-06 湖北芯擎科技有限公司 数据处理方法、装置、系统级芯片及存储介质
CN116436787A (zh) * 2023-06-13 2023-07-14 苏州浪潮智能科技有限公司 网络接口管理方法、使用方法、装置、设备和存储介质
CN116436787B (zh) * 2023-06-13 2023-08-15 苏州浪潮智能科技有限公司 网络接口管理方法、使用方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
US6742104B2 (en) Master/slave processing system with shared translation lookaside buffer
EP2476051B1 (en) Systems and methods for processing memory requests
CN114546896A (zh) 系统内存管理单元、读写请求处理方法、电子设备和片上系统
US6928529B2 (en) Data transfer between virtual addresses
US8037281B2 (en) Miss-under-miss processing and cache flushing
US8250254B2 (en) Offloading input/output (I/O) virtualization operations to a processor
US7653789B2 (en) Multiprocessor system that supports both coherent and non-coherent memory accesses
JP6859361B2 (ja) 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと
US10250709B2 (en) Data processing apparatus, controller, cache and method
US20210089470A1 (en) Address translation methods and systems
US6742103B2 (en) Processing system with shared translation lookaside buffer
KR101893966B1 (ko) 메모리 관리 방법 및 장치, 및 메모리 컨트롤러
US10114761B2 (en) Sharing translation lookaside buffer resources for different traffic classes
US11853223B2 (en) Caching streams of memory requests
CN115481054A (zh) 数据处理方法、装置及系统、系统级soc芯片及计算机设备
CN115509959A (zh) 处理系统、控制方法、芯片及计算机可读存储介质
JP4266629B2 (ja) ページ・テーブル属性によるバス・インタフェース選択
CN112416436A (zh) 信息处理方法、信息处理装置和电子设备
US8850159B2 (en) Method and system for latency optimized ATS usage
CN116383101A (zh) 内存访问方法、内存管理单元、芯片、设备和存储介质
US11275707B2 (en) Multi-core processor and inter-core data forwarding method
US20240103913A1 (en) Task scheduling method and system, and hardware task scheduler
CN117389915B (zh) 缓存系统、读命令调度方法、片上系统及电子设备
EP1262875A1 (en) Master/slave processing system with shared translation lookaside buffer
WO2023241655A1 (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