CN112199040A - 存储访问方法及智能处理装置 - Google Patents
存储访问方法及智能处理装置 Download PDFInfo
- Publication number
- CN112199040A CN112199040A CN202010990240.6A CN202010990240A CN112199040A CN 112199040 A CN112199040 A CN 112199040A CN 202010990240 A CN202010990240 A CN 202010990240A CN 112199040 A CN112199040 A CN 112199040A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- read
- memory
- length
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/105—Aspects related to pads, pins or terminals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/108—Wide data ports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
Abstract
本申请提供一种智能处理装置,其包括一处理器及一直接存储器访问控制器。处理器产生一读取指令以自一存储器读取数据。地址生成电路根据第一配置参数及读取指令产生多个第一地址讯号至存储器。数据处理单元接收存储器响应多个第一地址讯号所输出的数据,并根据读取指令及第一配置参数对接收自存储器的数据进行数据截取处理。数据接口将数据处理单元处理过的数据输出至处理器。多个第一地址讯号中包含多个不连续的地址讯号,使据以自存储器读出的数据经数据处理单元处理后对应一n维数据块,n为大于1的正整数。本申请的智能处理装置对存储空间的访问模式更加灵活多样,并且能够节省访问存储空间时的指令资源。
Description
技术领域
本申请涉及电子技术领域,特别涉及一种存储访问方法及智能处理装置。
背景技术
当前,诸如智能手机、个人计算机等电子设备都包括存储器,例如RAM(RandomAccess Memory,随机存取存储器),存储器用于存储数据。电子设备访问存储器上存储的数据时,通常都是顺序进行访问的,也即依次访问存储器上的连续地址,访问模式单一,存储的传输效率和灵活性不高。
发明内容
本申请提供一种存储访问方法及智能处理装置,可以使得对存储空间的访问模式更加灵活多样,并且能够节省访问存储空间时的指令资源。
本申请提供一种存储访问方法,其应用于一智能处理装置。本申请的存储访问方法包括:确定一存储访问模式;根据所述存储访问模式获取一数据位宽参数,所述数据位宽参数包括一数据读写位宽、一数据传输位宽;获取存储空间的一存储访问参数,所述存储访问参数包括数据传输长度、地址跳转长度;以及根据所述数据读写位宽、所述数据传输位宽、所述数据传输长度、所述地址跳转长度对所述存储空间进行访问。
本申请还提供一种智能处理装置,其包括一处理器及一直接存储器访问控制器。处理器产生一读取指令以自一存储器读取数据。直接存储器访问控制器包括一配置单元、一讯号接口、一地址生成电路、及一数据处理单元。配置单元根据一第一操作模式提供一第一配置参数。讯号接口接收所述读取指令。地址生成电路根据所述第一配置参数及所述读取指令产生多个第一地址讯号至所述存储器。数据处理单元接收所述存储器响应所述多个第一地址讯号所输出的数据,并根据读取指令及第一配置参数对接收自存储器的数据进行数据截取处理。数据接口将数据处理单元处理过的数据输出至所述处理器。所述多个第一地址讯号中包含多个不连续的地址讯号,使据以自存储器读出的数据经所述数据处理单元处理后对应一n维数据块,n为大于1的正整数。
本申请还提供一种存储访问方法,其应用于一智能处理装置。本申请的存储访问方法包括:接收来自一处理器的一读取指令,用以自一存储器读取数据;根据一第一操作模式提供一第一配置参数;根据所述第一配置参数及所述读取指令产生多个第一地址讯号至所述存储器;以及,接收所述存储器响应所述多个第一地址讯号所输出的数据,并根据所述读取指令及所述第一配置参数对接收自存储器的数据进行数据截取处理,以输出至所述处理器。所述多个第一地址讯号中包含多个不连续的地址讯号,使据以自存储器读出的数据经所述数据处理单元处理后对应一n维数据块,n为大于1的正整数。
本申请实施例提供的存储访问方法,可对直接存储器访问控制器配置多种操作模式,不同的操作模式对应不同的配置参数,搭配特定的读取指令,从而可以根据不同的存储访问需求设定操作模式,采用不同的参数对存储空间进行访问,使得对存储空间的访问模式更加灵活多样,并可达到仅利用以一读取指令即读取对应一n维数据块的数据的目的,以节省访问存储空间时的指令资源。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为应用于一电子设备的芯片的结构示意图。
图2为本申请实施例提供的智能处理装置的方块示意图。
图3为本申请实施例提供的存储访问方法的第一种流程示意图。
图4-10为本申请实施例提供的存储访问方法的应用场景示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
参考图1,图1为应用于一电子设备的芯片的结构示意图。芯片10包括智能处理器(Intelligent Processing Unit,IPU)11、中央处理器(Central Processing Unit,CPU)12以及存储器13。IPU 11用于进行数据处理,例如进行图像数据处理、视频数据处理、音频数据处理等。CPU 12可以用于运行电子设备的操作系统,以及进行数据运算。存储器13包括存储空间,所述存储空间可以用于存储数据,例如存储图像数据、音频数据等,还可以用于存储IPU 11、CPU12在运行过程中产生的数据。
在一实施例中,IPU 11中集成有直接存储器访问控制器(Direct MemoryAccesscontroller,DMA controller),IPU 11通过所述直接存储器访问控制器对存储器13进行访问。所述直接存储器访问控制器可以控制对所述存储器13上存储的数据进行存取或搬移,例如控制将数据从一个存储空间搬移至另一个存储空间,或者控制将数据从存储器13搬移至另一个存储器(诸如内存)。
所述存储器13可以包括多种类型的存储器,例如RAM(Random Access Memory,随机存取存储器)、SRAM(Static Random-Access Memory,静态随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)等。
参考图2,图2为本申请实施例提供的智能处理装置的方块示意图,智能处理装置111包含智能处理器核心(IPU core)110及直接存储器访问控制器14,智能处理器核心110可视为智能处理装置111内的处理器。操作上,智能处理器核心110经由直接存储器访问控制器14存取存储器12内的数据。
参考图3,图3为本申请实施例提供的存储访问方法的第一种流程示意图。此实施例中是藉由智能处理装置111来实现此存储访问方法,存储访问方法各步骤将于下面进行详细说明。
步骤210中,确定存储访问模式。直接存储器访问控制器14中预先设置有多种存储访问模式,亦即多种操作模式,每种存储访问模式对应一组配置参数,直接存储器访问控制器14是根据配置参数进行运作。例如,可以预先设置非字节访问模式、字节访问模式。对于每一种存储访问模式,可以设置对应的模式信息,模式信息可记录于寄存器中,模式信息例如可以包括访问模式指令代码byte_mode。例如,存储访问模式为非字节访问模式时,byte_mode可以配置为0;存储访问模式为字节访问模式时,byte_mode可以配置为1。
在一实施例中,直接存储器访问控制器14中还可以设置存储访问形式的模式信息,例如访问形式指令代码extract_mode。extract_mode=0表示顺序地址访问形式,extract_mode=1表示跳转地址访问形式。直接存储器访问控制器14在开始执行存储访问时,可以首先获取存储访问形式的模式信息。当获取到的存储访问形式模式信息为extract_mode=0,则按照普通的顺序地址访问形式访问存储器13,在此模式下,地址生成单元142会对应产生多个连续的地址讯号以访问存储器13。当获取到的存储访问形式模式信息为extract_mode=1时,则按照跳转地址访问形式访问所述存储器13,在此模式下,地址生成单元142会对应产生多个的地址讯号以访问存储器13,且这些地址讯号包含多个不连续的地址讯号。在此实施例中,存储访问模式的模式信息及存储访问形式的模式信息决定了直接存储器访问控制器14的操作模式,并确定了对应的配置参数,直接存储器访问控制器14再根据配置参数进行运作。实施上,直接存储器访问控制器14内具有配置单元141,配置单元141根据当下的操作模式提供对应的配置参数,也就是说,配置单元141可根据存储访问模式及存储访问形式的模式信息提供对应的配置参数。
一实施例中,配置参数可包括数据位宽参数、数据传输长度、及地址跳转长度等参数。数据位宽参数包括数据读写位宽、数据传输位宽等信息。数据读写位宽表示读写数据线的位宽,数据传输位宽表示在访问存储器13时进行数据传输时的位宽。
例如,对于非字节访问模式,数据读写位宽及数据传输位宽均配置为m字节;对于字节访问模式,数据读写位宽配置为m字节,而数据传输位宽配置为1字节,其中,m为大于1的整数。
实施上,数据传输长度可以包括1个参数,也可以包括1组参数。同样地,地址跳转长度可以包括1个参数,或1组参数。在一实施例中,数据传输长度包括l0,其表示一次传输的数据长度;地址跳转长度包括s0,其表示对所述存储空间的一次访问与下一次访问之间需要跳转的地址长度,l0、s0均为正整数。
步骤220中,根据配置参数及读取指令产生多个地址讯号。当智能处理器核心110欲读取存储器12内的数据时,智能处理器核心110产生一读取指令至直接存储器访问控制器14的讯号接口144,讯号接口144将接收的读取指令译码后传输到地址生成单元142。地址生成单元142根据配置单元141提的配置参数及读取指令,产生多个地址讯号,并将这些地址讯号输出到存储器12,以于存储器12中读取对应的数据。
当存储访问形式模式信息为extract_mode=1时且操作于非字节访问模式时,地址生成单元142所产生的多个地址讯号中包含多个不连续的地址讯号,以于存储器12读出对应一n维数据块的数据,n为大于1的正整数。详细的细节说明如下。
实施上,地址生成单元142基于数据读写位宽、数据传输位宽、数据传输长度、及地址跳转长度等参数,再根据读取指令产生对应的多个地址讯号。
在一些实施例中,参考图4,图4为本申请实施例提供的存储访问方法的第一种应用场景示意图。存储器13的存储空间所储存的数据可对应一二维空间(panel)。此二维空间包括l1个一维线(line),一维线的数据长度为l0。直接存储器访问控制器14每一次对此类存储空间进行读操作或者写操作时,地址生成单元142产生一对应的地址讯号以对一个所述一维线进行访问。此例中,数据传输长度包括l0、l1,其即为1组参数。而地址跳转长度包括s0,其表示每个一维线的结束地址与下一个一维线的起始地址之间的地址差值,l0、l1、s0均为正整数。从而,每个一维线与下一个一维线之间跳转s0字节地址进行访问。藉由多个对应的地址讯号完成对l1个一维线的访问后,即可完成此二维空间的访问。
在另一实施例中,一并参考图5,图5为本申请实施例提供的存储访问方法的第二种应用场景示意图。存储器13的存储空间所储存的数据可对应一三维空间(map)。所述三维空间包括l2个如图4所示的二维空间。此例中,数据传输长度还包括l2,而地址跳转长度还包括s1。其中,s1表示每个二维空间的结束地址与下一个二维空间的起始地址之间的地址差值,l2、s1均为正整数。详细来说,每当读取到一二维空间的结束地址时,地址生成单元142即会根据s1来产生下一个地址讯号,从而,每个二维空间与下一个二维空间之间跳转s1字节地址进行访问。藉由多个对应的地址讯号完成对所述l2个二维空间的访问后,即可完成所述三维空间的访问。
在一实施例中,同时参考图6和图7,图6为本申请实施例提供的存储访问方法的第三种应用场景示意图,图7为本申请实施例提供的存储访问方法的第四种应用场景示意图。当操作于非字节访问模式,例如byte_mode=0时,数据读写位宽及数据传输位宽均为m字节。此时,根据数据传输长度、地址跳转长度以数据读写位宽为单位对存储空间进行读操作,并根据数据传输长度以数据传输位宽为单位对所述读操作读取到的数据进行传输,直接存储器访问控制器14对所述存储空间进行读操作时,每一次读取一个一维线长度l0,每读取一个一维线后跳转s0地址至下一个一维线进行读取。因此,每一次读取存储空间中的l0×m字节,每一次读取l0×m字节后跳转s0×m字节地址进行下一次读取。此外,每一次读取l0×m字节后,对l0×m字节进行传输。
直接存储器访问控制器14对所述存储空间进行写操作时,每一次对一个一维线长度l0的数据进行传输,并写入一个一维线长度l0,每写入一个一维线后跳转s0地址至下一个一维线进行写入。因此,每一次对l0×m字节进行传输并写入所述存储空间的l0×m字节地址中,并且每一次写入l0×m字节后跳转s0×m字节地址进行下一次写入。
步骤230中,根据配置参数及读取指令对接收自存储器的数据进行数据截取或补全处理。数据处理单元143接收存储器12响应地址生成单元142所产生的多个地址讯号所输出的数据,并根据配置参数及读取指令对接收自存储器的数据进行数据截取或补全处理。经数据处理单元143处理后的数据可藉由数据接口145输出至智能处理器核心110。
在一实施例中,同时参考图8和图9,图8为本申请实施例提供的存储访问方法的第五种应用场景示意图,图9为本申请实施例提供的存储访问方法的第六种应用场景示意图。当操作于字节访问模式,例如byte_mode=1时,数据读写位宽为m字节,数据传输位宽为1字节。当直接存储器访问控制器14接收到智能处理器核心110发出的读取指令,直接存储器访问控制器14藉由地址生成单元142所产生的地址讯号,每一次读取所述存储空间中的m字节,每一次读取m字节后跳转s0字节地址进行下一次读取。每一次读取m字节后,即存储器12响应地址讯号输出m字节数据到直接存储器访问控制器14,数据处理单元143从读取到的每一m字节中截取连续的l0字节,并将l0字节藉由数据接口145输出至智能处理器核心110,可以理解的,此时l0小于m。由于数据读写位宽与数据传输位宽不同,因此在进行数据传输时,需要藉由数据处理单元143对每一次读取到的m字节进行截取操作。
参考图10,图10为本申请实施例提供的存储访问方法的第七种应用场景示意图。
可以理解的,由于l0小于m,因此在每一次将l0字节写入所述存储空间的m字节地址后,需要对所述m字节地址进行补全。因此,每一次对l0字节进行传输并写入所述存储空间的m字节地址中之后,还需在写入每一l0字节时设置相应的标识符,并对所述存储空间的每m字节地址中未写入字节的字节地址进行补全。
直接存储器访问控制器14可以在每一次将l0字节写入所述存储空间的m字节地址时,设置相应的标识符。需要说明的是,在设置标识符时,可以先写入字节然后设置标识符,也可以先设置标识符然后写入字节,还可以写入字节的同时设置标识符。所述标识符用于标识所述m字节地址中哪些字节地址被写入了有效数据,以及哪些字节地址未被写入有效数据。所述标识符可以为m位的二进制字符,二进制字符为1表示所在字节地址被写入了有效数据,二进制字符为0表示所在字节地址未被写入有效数据。例如,如图10所示,所述m字节地址中,写入了l0字节的字节地址的二进制字符可以设置为1,写入l0字节的字节地址之外的字节地址的二进制字符可以设置为0。
此外,直接存储器访问控制器14可以对所述存储空间的每一m字节地址中未写入字节的字节地址进行补全,也即将标识符的二进制字符为0的字节地址进行补全,例如可以补全为0,也可以补全为其他的任意值。可以理解的,由于被补全的字节地址的二进制字符为0,也即表示被补全的字节地址的数据为无效数据,因此补全的任意值不会对写入所述m字节地址中的数据造成影响。
在一些实施例中,对于字节访问模式,例如byte_mode=1时,数据读写位宽为m字节,数据传输位宽为1字节。存储空间中的数据对应三维空间时,所述三维空间包括l2个二维空间,每个二维空间包括l1个一维线,每个一维线的长度为l0。地址跳转长度包括s0、s1,s0、s1即为1组参数,每个一维线与下一个一维线之间间隔s0字节地址,每个二维空间与下一个二维空间之间间隔s1字节地址。
此时,当l0小于m且l0与s0之和等于m且s0小于s1时,直接存储器访问控制器14根据对应此操作模式的配置参数,所进行的操作包括:
每一次读取所述存储空间中的l1×m字节,每一次读取l1×m字节后跳转(s1-s0)×m字节地址进行下一次读取;
每一次读取l1×m字节后,对l1×m字节进行传输。
可以理解的,实际应用中,在对DDR(Double Data Rate,双倍数据速率)类存储器进行读操作或者写操作时,由于总线结构为AXI(Advanced Extensible Interface),这类总线结构每次可以读/写多个m字节,并且在未收到第一个发出的读/写请求的结果时,总线上同时可以存在多次读/写请求。由于对DDR类存储器的读/写操作存在延迟,若每次读/写1个m字节,则会使总线的使用效率大大降低。
还可以理解的,由于l0小于m且l0与s0之和等于m且s0小于s1时,也即l0、s0都比较小,因此若按照字节访问模式对存储空间进行访问,则需要多次对同一个m字节地址进行读操作或者写操作,从而导致访问效率低。当扩展至多维存储空间时,若一个m字节中有k0、k1、k2……kx段有效的字节,地址跳转长度分别为p0、p1、p2……px-1,且k0+p0+k1+p1+k2+p2+px-1+kx+s0为m的情况下,需要对m字节进行x次访问,可见访问效率非常低。
因此,此时可以对访问模式进行修改,修改为非字节访问模式,同时将一维线的长度修改为所述l1,将一维线的个数修改为所述l2,将二维空间的个数修改为1,将每一个一维线与下一个一维线之间的跳转地址修改为s1-s0,将每一个二维空间与下一个二维空间之间的跳转地址修改为0,并按照非字节模式进行访问,以提高访问效率。
也即,每一次读取所述存储空间中的l1×m字节,每一次读取l1×m字节后跳转(s1-s0)×m字节地址进行下一次读取,每一次读取l1×m字节后,对l1×m字节进行传输。
同理,当l0小于m且l0与s0之和等于m且s0小于s1时,根据所述数据传输长度以所述数据传输位宽为单位进行数据传输,并根据所述数据传输长度、所述地址跳转长度以所述数据读写位宽为单位对所述存储空间进行写操作,包括:
每一次对l1×m字节进行传输并写入所述存储空间的l1×m字节地址中,每一次写入l1×m字节后跳转(s1-s0)×m字节地址进行下一次写入。
从而,可以将对三维空间的访问转换为对二维空间的访问,并且可以按照非字节模式进行访问,因此可以提高对存储空间的访问效率。
在一实施例中,每一次读取所述存储空间中的l1×m字节之后,还包括:确定读取的每一m字节中的起始字节和结束字节,每一m字节中的所述起始字节与所述结束字节之间的字节长度为l0;
每一次对l1×m字节进行传输并写入所述存储空间的l1×m字节地址中,包括:
确定所述存储空间的每一m字节地址中的起始字节地址和结束字节地址;
每一次对l0×m字节进行传输;
依次将每一l0字节写入一个所述m字节地址中,并设置相应的标识符;
对每一所述m字节地址中未写入字节的字节地址进行补全。
可以理解的,由于将对三维空间的访问转换为了对二维空间的访问,因此在进行读操作时,需要在每一次读取所述存储空间中的l1×m字节之后,确定读取的每一m字节中的起始字节(start_byte)和结束字节(end_byte),以保证读操作读取的数据、传输的数据、写操作写入的数据准确对应,从而确保数据的有效性。
相应的,在进行写操作时,需要先确定所述存储空间的每一m字节地址中的起始字节地址和结束字节地址,随后每一次对l0×m字节进行传输,依次将每一l0字节写入一个所述m字节地址中。
此外,在写入每一l0字节时设置相应的标识符,并对每一所述m字节地址中未写入字节的字节地址进行补全。需要说明的是,在设置标识符时,可以先写入字节然后设置标识符,也可以先设置标识符然后写入字节,还可以写入字节的同时设置标识符。
其中,设置标识符和对字节地址进行补全可以参考上述实施例中的描述,在此不再赘述。
具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
由上可知,本申请实施例提供的存储访问方法,可对直接存储器访问控制器配置多种操作模式,不同的操作模式对应不同的配置参数,搭配特定的读取指令,从而可以根据不同的存储访问需求设定操作模式,采用不同的参数对存储空间进行访问,使得对存储空间的访问模式更加灵活多样,并可达到仅利用以一读取指令即读取对应一n维数据块的数据的目的,以节省访问存储空间时的指令资源。
以上对本申请实施例所提供的存储访问方法及智能处理装置进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种存储访问方法,应用于一智能处理装置,其特征在于,包括:
确定一存储访问模式;根据所述存储访问模式获取一数据位宽参数,所述数据位宽参数包括一数据读写位宽、一数据传输位宽;
获取一存储空间的一存储访问参数,所述存储访问参数包括一数据传输长度、一地址跳转长度;以及
根据所述数据读写位宽、所述数据传输位宽、所述数据传输长度、所述地址跳转长度对所述存储空间进行访问。
2.根据权利要求1所述的存储访问方法,其特征在于,所述根据所述数据读写位宽、所述数据传输位宽、所述数据传输长度、所述地址跳转长度对所述存储空间进行访问,包括:
根据所述数据传输长度、所述地址跳转长度以所述数据读写位宽为单位对所述存储空间进行读操作,并根据所述数据传输长度以所述数据传输位宽为单位对所述读操作读取到的数据进行传输;或者
根据所述数据传输长度以所述数据传输位宽为单位进行数据传输,并根据所述数据传输长度、所述地址跳转长度以所述数据读写位宽为单位对所述存储空间进行写操作。
3.根据权利要求2所述的存储访问方法,其特征在于,所述存储访问模式包括非字节访问模式,根据所述非字节访问模式获取到的所述数据读写位宽、所述数据传输位宽均为m字节,其中m为大于1的整数。
4.根据权利要求3所述的存储访问方法,其特征在于,根据所述数据传输长度、所述地址跳转长度以所述数据读写位宽为单位对所述存储空间进行读操作,并根据所述数据传输长度以所述数据传输位宽为单位对所述读操作读取到的数据进行传输,包括:
每一次读取所述存储空间中的l0×m字节,每一次读取l0×m字节后跳转s0×m字节地址进行下一次读取;
每一次读取l0×m字节后,对l0×m字节进行传输;以及
根据所述数据传输长度以所述数据传输位宽为单位进行数据传输,并根据所述数据传输长度、所述地址跳转长度以所述数据读写位宽为单位对所述存储空间进行写操作,包括:
每一次对l0×m字节进行传输并写入所述存储空间的l0×m字节地址中,每一次写入l0×m字节后跳转s0×m字节地址进行下一次写入,
其中,l0为所述数据传输长度,s0为所述地址跳转长度,l0、s0均为正整数。
5.根据权利要求1所述的存储访问方法,其特征在于,所述存储空间包括二维空间,所述二维空间包括l1个一维线,所述地址跳转长度包括s0,每一所述一维线与下一所述一维线之间跳转s0字节地址进行访问,以完成所述二维空间的访问,
其中,l1、s0均为正整数。
6.根据权利要求5所述的存储访问方法,其特征在于,所述存储空间包括三维空间,所述三维空间包括l2个所述二维空间,所述地址跳转长度还包括s1,每一所述二维空间与下一所述二维空间之间跳转s1字节地址进行访问,以完成所述三维空间的访问,
其中,l2、s1均为正整数。
7.一种智能处理装置,其特征在于,包括:
一处理器,产生一读取指令以自一存储器读取数据;以及
一直接存储器访问控制器,依据所述读取指令自所述存储器读取数据,所述直接存储器访问控制器包括:
一配置单元,根据一第一操作模式提供一第一配置参数;
一讯号接口,接收所述读取指令;
一地址生成电路,根据所述第一配置参数及所述读取指令产生多个第一地址讯号至所述存储器;
一数据处理单元,接收所述存储器响应所述多个第一地址讯号所输出的数据,并根据所述读取指令及所述第一配置参数对接收自存储器的数据进行数据截取处理;以及
一数据接口,将所述数据处理单元处理过的数据输出至所述处理器;
其中,所述多个第一地址讯号中包含多个不连续的地址讯号,使据以自存储器读出的数据经所述数据处理单元处理后对应一n维数据块,n为大于1的正整数。
8.根据权利要求7所述的智能处理装置,其特征在于,所述第一配置参数包含一数据传输长度及一地址跳转长度。
9.根据权利要求7所述的智能处理装置,其特征在于,所述配置单元根据一第二操作模式提供一第二配置参数;而所述地址生成电路根据所述第二配置参数产生多个第二地址讯号至所述存储器,其中,所述多个第二地址讯号为连续地址讯号。
10.一种存储访问方法,应用于一智能处理装置,所述智能处理装置包括一处理器,其特征在于,包括:
接收来自所述处理器的一读取指令,用以自一存储器读取数据;
根据一第一操作模式提供一第一配置参数;
根据所述第一配置参数及所述读取指令产生多个第一地址讯号至所述存储器;以及
接收所述存储器响应所述多个第一地址讯号所输出的数据,并根据所述读取指令及所述第一配置参数对接收自存储器的数据进行数据截取处理,以输出至所述处理器;
其中,所述多个第一地址讯号中包含多个不连续的地址讯号,使据以自存储器读出的数据经所述数据处理单元处理后对应一n维数据块,n为大于1的正整数。
11.根据权利要求10所述的存储访问方法,其特征在于,所述第一配置参数包含一数据传输长度及一地址跳转长度。
12.根据权利要求10所述的存储访问方法,其特征在于,更包括:
根据一第二操作模式提供一第二配置参数;
根据所述第二配置参数产生多个第二地址讯号至所述存储器,其中,所述多个第二地址讯号为连续地址讯号。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210589387.3A CN114816263A (zh) | 2020-09-18 | 2020-09-18 | 存储访问方法及智能处理装置 |
CN202010990240.6A CN112199040B (zh) | 2020-09-18 | 2020-09-18 | 存储访问方法及智能处理装置 |
US17/393,444 US20220091780A1 (en) | 2020-09-18 | 2021-08-04 | Memory access method and intelligent processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010990240.6A CN112199040B (zh) | 2020-09-18 | 2020-09-18 | 存储访问方法及智能处理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210589387.3A Division CN114816263A (zh) | 2020-09-18 | 2020-09-18 | 存储访问方法及智能处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199040A true CN112199040A (zh) | 2021-01-08 |
CN112199040B CN112199040B (zh) | 2022-10-14 |
Family
ID=74015583
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010990240.6A Active CN112199040B (zh) | 2020-09-18 | 2020-09-18 | 存储访问方法及智能处理装置 |
CN202210589387.3A Pending CN114816263A (zh) | 2020-09-18 | 2020-09-18 | 存储访问方法及智能处理装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210589387.3A Pending CN114816263A (zh) | 2020-09-18 | 2020-09-18 | 存储访问方法及智能处理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220091780A1 (zh) |
CN (2) | CN112199040B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835842A (zh) * | 2021-03-05 | 2021-05-25 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
CN113986788A (zh) * | 2021-10-28 | 2022-01-28 | 昆仑芯(北京)科技有限公司 | 数据处理方法和装置、芯片、电子设备及介质 |
CN115599729A (zh) * | 2022-12-13 | 2023-01-13 | 南京芯驰半导体科技有限公司(Cn) | 一种中央处理器基于PCIe读写数据系统及方法 |
WO2024066256A1 (zh) * | 2022-09-28 | 2024-04-04 | 深圳市中兴微电子技术有限公司 | 存储器访问方法及系统、电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018536A (ja) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | メモリ装置、メモリ制御方法並びに情報処理装置 |
US20060236000A1 (en) * | 2005-04-15 | 2006-10-19 | Falkowski John T | Method and system of split-streaming direct memory access |
CN102567258A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | 多维dma传输装置与方法 |
CN105608013A (zh) * | 2015-07-10 | 2016-05-25 | 上海磁宇信息科技有限公司 | 一种集成mram的存储卡控制芯片及存储卡 |
CN109933283A (zh) * | 2017-12-19 | 2019-06-25 | 西部数据技术公司 | 直接主机访问存储装置存储空间 |
CN110297660A (zh) * | 2019-06-25 | 2019-10-01 | 江苏沁恒股份有限公司 | 加速soc内核读取指令的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180107591A1 (en) * | 2011-04-06 | 2018-04-19 | P4tents1, LLC | System, method and computer program product for fetching data between an execution of a plurality of threads |
US9870325B2 (en) * | 2015-05-19 | 2018-01-16 | Intel Corporation | Common die implementation for memory devices with independent interface paths |
US11334358B2 (en) * | 2019-12-09 | 2022-05-17 | Amazon Technologies, Inc. | Hardware accelerator having reconfigurable instruction set and reconfigurable decoder |
-
2020
- 2020-09-18 CN CN202010990240.6A patent/CN112199040B/zh active Active
- 2020-09-18 CN CN202210589387.3A patent/CN114816263A/zh active Pending
-
2021
- 2021-08-04 US US17/393,444 patent/US20220091780A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018536A (ja) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | メモリ装置、メモリ制御方法並びに情報処理装置 |
US20060236000A1 (en) * | 2005-04-15 | 2006-10-19 | Falkowski John T | Method and system of split-streaming direct memory access |
CN102567258A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | 多维dma传输装置与方法 |
CN105608013A (zh) * | 2015-07-10 | 2016-05-25 | 上海磁宇信息科技有限公司 | 一种集成mram的存储卡控制芯片及存储卡 |
CN109933283A (zh) * | 2017-12-19 | 2019-06-25 | 西部数据技术公司 | 直接主机访问存储装置存储空间 |
CN110297660A (zh) * | 2019-06-25 | 2019-10-01 | 江苏沁恒股份有限公司 | 加速soc内核读取指令的方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835842A (zh) * | 2021-03-05 | 2021-05-25 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
CN112835842B (zh) * | 2021-03-05 | 2024-04-30 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
CN113986788A (zh) * | 2021-10-28 | 2022-01-28 | 昆仑芯(北京)科技有限公司 | 数据处理方法和装置、芯片、电子设备及介质 |
WO2024066256A1 (zh) * | 2022-09-28 | 2024-04-04 | 深圳市中兴微电子技术有限公司 | 存储器访问方法及系统、电子设备和计算机可读存储介质 |
CN115599729A (zh) * | 2022-12-13 | 2023-01-13 | 南京芯驰半导体科技有限公司(Cn) | 一种中央处理器基于PCIe读写数据系统及方法 |
CN115599729B (zh) * | 2022-12-13 | 2023-04-25 | 南京芯驰半导体科技有限公司 | 一种中央处理器基于PCIe读写数据系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220091780A1 (en) | 2022-03-24 |
CN114816263A (zh) | 2022-07-29 |
CN112199040B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
JP4901285B2 (ja) | 読み出し性能を向上させることができるメモリカード | |
CN110059020B (zh) | 扩展内存的访问方法、设备以及系统 | |
US11294675B2 (en) | Writing prefetched data into intra-core caches of cores identified by prefetching instructions | |
US7299323B2 (en) | Memory controller having a read-modify-write function | |
CN113254368B (zh) | 从axi总线到opb总线的数据写入方法及读取方法 | |
CN113868039A (zh) | 一种测试方法、装置及相关设备 | |
US20100153622A1 (en) | Data Access Controller and Data Accessing Method | |
JPH0724029B2 (ja) | エミュレーション装置 | |
CN108959105B (zh) | 一种实现地址映射的方法及装置 | |
CN107783909B (zh) | 一种内存地址总线扩展方法及装置 | |
CN116149554B (zh) | 一种基于risc-v及其扩展指令的数据存储处理系统及其方法 | |
CN112000589A (zh) | 一种数据写入方法、数据读取方法、装置及电子设备 | |
TWI764311B (zh) | 記憶體存取方法及智慧處理裝置 | |
US20040186949A1 (en) | XIP system and method for serial memory | |
US7395399B2 (en) | Control circuit to enable high data rate access to a DRAM with a plurality of areas | |
US11120851B1 (en) | Memory apparatus and burst read and burst write method thereof | |
JPS6323581B2 (zh) | ||
US4295192A (en) | Row address memory map overlap | |
KR100243185B1 (ko) | 공유 메모리를 통한 프로세서간의 데이터 통신 장치 및 방법 | |
CN117785518A (zh) | 读写顺序错误的解决方法及相关装置 | |
CN115357526A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN117076533A (zh) | 交易数据序列化方法、装置、电子设备及存储介质 | |
JP3251237B2 (ja) | Sdramにおける再プログラミング方法 | |
CN115525586A (zh) | 一种ddr扩展装置及控制方法、装置、介质 |
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 | ||
CB02 | Change of applicant information |
Address after: 361005 1501, zone a, innovation building, software park, torch hi tech Zone, Xiamen City, Fujian Province Applicant after: Xingchen Technology Co.,Ltd. Address before: 361005 1501, zone a, innovation building, software park, torch hi tech Zone, Xiamen City, Fujian Province Applicant before: Xiamen Xingchen Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |