CN113836050A - 访存控制方法、装置、设备及可读存储介质 - Google Patents
访存控制方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113836050A CN113836050A CN202111166930.0A CN202111166930A CN113836050A CN 113836050 A CN113836050 A CN 113836050A CN 202111166930 A CN202111166930 A CN 202111166930A CN 113836050 A CN113836050 A CN 113836050A
- Authority
- CN
- China
- Prior art keywords
- memory
- target
- content
- memory information
- written
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 230000002441 reversible effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 41
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 239000008187 granular material Substances 0.000 description 3
- 239000002245 particle Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供了一种访存控制方法、装置、设备以及存储介质,所述方法应用于内存控制器,所述方法包括:确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;将所述对齐的内存信息写入所述目标地址对应的内存位置。本发明实施例可以在实现低功耗的基础上保证内存写入的正确性。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种访存控制方法、一种访存控制装置、一种计算设备以及一种可读存储介质。
背景技术
双倍速率同步动态随机存储器(DDR SDRAM,Double Data Rate SynchronousDynamic Random Access Memory),通常简称为DDR。DDR4是新一代的DDR内存规格。DDR4增加了数据总线反转(DBI,Data Bus Inversion)功能,当一个字节里0的位数大于1的位数时,可以将0和1反转,以降低功耗。
在SDRAM中执行读写操作时,为了屏蔽不需要的数据,可以采用数据掩码(DM,DataMask)技术,通过DM可以控制输入/输出(I/O,Input/Output,)端口屏蔽其中对应的字节位。
但是,由于DDR4的协议要求,DM功能与DBI不能同时使用。在使能DBI功能的情况下,DM功能将被关闭,此时,如果写入内存的数据中包含需要屏蔽的字节位,将导致写入发生错误。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种访存控制方法、装置、设备及可读存储介质。
为了解决上述问题,本发明实施例公开了一种访存控制方法,应用于内存控制器,所述方法包括:
确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;
从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;
将所述对齐的内存信息写入所述目标地址对应的内存位置。
本发明实施例还公开了一种内存访问的装置,应用于内存控制器,所述装置包括:
内容确定模块,用于确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;
内容修改模块,用于从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;
内容写入模块,用于将所述对齐的内存信息写入所述目标地址对应的内存位置。
本发明实施例还公开了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行本发明一个或多个实施例所述的访存控制方法的步骤。
本发明实施例还公开了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时能够实现本发明实施例中一个或多个所述的访存控制方法。
本发明实施例包括以下优点:
本发明实施例在内存已使能DBI功能的情况下,对处理器访问控制内存的方法进行改进,在处理器需要向内存中写入目标内容时,通过内存控制器先将目标内容待写入内存的目标地址对应的内存信息整体读取出来,并根据所述目标内容对读取的内存信息中的目标位进行修改。其中,目标位指的是需要修改的位置,本发明实施例仅对需要修改的位置进行修改,使得不需要修改的位置仍然保持不变,由此可以得到对齐的内存信息,最后将所述对齐的内存信息整体写入所述目标地址对应的内存位置。通过本发明实施例,在正常使用DBI功能以实现低功耗的基础上,使得写入内存的过程不再依赖DM信号进行判断,以保证在内存读写过程中不需要改动的内容的正确性,由此可以在实现低功耗的基础上保证内存写入的正确性,增加了内存的稳定性。
附图说明
图1是本发明的一种访存控制方法实施例的步骤流程图;
图2是本发明的一种访存控制方法适用的系统结构框图;
图3是本发明的一种访存控制装置实施例的结构框图;
图4示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
方法实施例
参照图1,示出了本发明的一种访存控制方法实施例的步骤流程图,所述方法可应用于内存控制器,所述方法具体可以包括如下步骤:
步骤101、确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;
步骤102、从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;
步骤103、将所述对齐的内存信息写入所述目标地址对应的内存位置。
参照图2,示出了本发明实施例提供的访存控制方法适用的系统结构框图,图2所示的系统结构包括处理器201、内存控制器202和内存203。处理器201是运算和控制核心,用于解释指令和处理数据。在处理器的运行过程中,通过对内存203进行访问获取相关的数据资源,处理器201通过内存控制器202访问内存203,并不直接访问内存。
处理器202可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、ASIC(Application Specific Integrated Circuit,应用专用集成电路)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、和/或一个或多个集成电路,本发明实施例对处理器202的具体实现形式不做限定。
内存控制器202用于响应来自处理器201的访问请求,并通过互联通道与内存203进行通信。其中,互联通道可以为总线或其他连接方式。本发明实施例对内存控制器202与内存203的连接方式不做限定,例如,二者还可以通过无线连接。
内存203可以支持多种存储协议,例如DDR4协议和附加协议等,本发明实施例对内存203支持的存储协议不做限定。本发明实施例中主要以DDR4内存为例进行说明。
在具体实现过程中,处理器、内存控制器、内存可以处于同一块板卡上,或者,处理器、内存控制器、内存还可以集成在一个片上系统(SOC,System-on-a-Chip)中,本发明实施例对此不做限定。
一个示例中,所述板卡可以为龙芯板卡,所述龙芯板卡包括龙芯处理器和龙芯桥片平台或者包括龙芯处理器和非龙芯的桥片平台。
在处理器访问DDR4内存的情况下,为了降低系统功耗,可以对内存使能DBI功能,通过DBI功能可以翻转高低电位,使内存使用过程中至少存在半数以上电位为高,以达到降低功耗目的。
然而,处理器在使用内存的过程中,会根据需求向内存控制器发送需要写入内存的位置及需要写入的内容,内存控制器将需要保持原值不变的位置通过DM信号标识出来,内存端在接收到DM信号后,根据DM信号屏蔽其中对应的内存位,随后将剩余位也即需要修改位的内容发至对应位,从而达到修改内存内容的目的,并且保证内存其他位在本次写入中不会被修改。
使用DM信号的前提是DDR4内存使能了DM功能,然而,由于DDR4的协议要求,DM功能与DBI不能同时使用。在使能DBI功能的情况下,DM功能将被关闭,因此当DDR4内存连接DBI接线并使能DBI功能时,DM功能将被关闭,但内存控制器仍然发出DM信号,而此时DDR4内存端将不再解析DM信号,对于读写内存均依赖于DM信号来实现读写字节不对齐内存的系统,可能导致写入内存时发生错误。
在实际应用中,处理器不是以字节访问内存,而是以固定字节为单位的数据块进行访问,这个数据块称为一个缓存行(cacheline)。cacheline是处理器和内存之间数据传输的最小单位,大小一般为32B~256B之间,例如,一个cacheline通常为64字节。访问内存可以从任意地址的任意偏移开始。当某次访问是对内存整个cacheline上的数据刷新时,称这次访问是读写字节对齐内存的(也称为对齐访问)。当某次访问是对内存整个cacheline上的部分数据刷新时,称这次访问是读写字节不对齐内存的(也称为非对齐访问)。在实际应用中,几乎所有系统都存在非对齐访问的情况,在非对齐访问时,将会出现使能DBI功能时可能导致读写内存发生错误的情况发生。
例如,某次访问需要将某段地址存储的原数据0x00000000修改为0x88880000,仅修改该数据的前4位,因此,本次访问为非对齐访问。在解析DM信号的情况下,可以根据DM信号控制修改前4位而保持后4位不变。而在使能DBI功能的情况下,DM功能将被关闭,系统不再解析DM信号,此时可能导致修改后的数据为0x8888ffff,后4位可能会被修改为随机数。
为解决该问题,本发明实施例在内存使能DBI功能的基础上,对处理器访问内存的方法进行改进,使得写入内存的过程不再依赖DM信号进行判断,以保证内存读写过程中,对于不需要改动的内容,不被DBI功能改写。具体地,本发明实施例在对内存进行写入操作之前,增加字节对齐预读的过程,并且对读取的内容进行修改得到对齐的内容,再将对齐的内容整体写入。在降低使用内存时的功耗的同时,增加了内存的稳定性和使用便利性。
进一步地,在所述步骤101确定待写入内存的目标内容和所述目标内容待写入内存的目标地址之前,所述方法还包括:
接收处理器的写指令,所述写指令用于指示待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述目标内容包括待写入的指令或数据。
在实际应用中,处理器会频繁地与内存之间进行交互,交互的目标内容可以包括指令或者数据,以及保存部分运算结果、记录当前工作状态等。目标内存的具体位置由处理器内核决定,如内核将A行B列到C行D列的内存地址分配给某个软件,那么这一软件运行过程中需要保存的内容均会保存到所分配的内存位置。所述目标内容可以由软件决定,所述目标内容包括但不限于如运算初值、运行状态、需要保存的某个寄存器状态等等。
在本发明实施例中,内存控制器接收到处理器发送的需要写入内存的目标内容以及所述目标内容待写入内存的目标地址之后,从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改。本发明实施例在将目标内容写入内存之前,先将目标内容待写入内存的目标地址对应的内存信息整体读取出来,并根据所述目标内容对读取的内存信息中的目标位进行修改。其中,目标位指的是需要修改的位,本发明实施例仅对需要修改的位进行修改,以保证不需要修改的位仍然保持不变,由此可以得到对齐的内存信息,最后将所述对齐的内存信息整体写入所述目标地址对应的内存位置。其中,对齐的内存信息指以缓存行(cacheline)为单位的内存信息。
一个示例中,待写入内存的目标内容为8位,其中4位为有效位,这8位的目标内容待写入内存中的目标地址为p1。本发明实施例在将这8位的目标内容写入内存的p1位置之前,先从p1位置读取的一个缓存行cacheline大小的内存信息,例如一个缓存行为64字节,则从p1位置读取64字节的内存信息,并根据目标内容对读取的该缓存行中的目标位进行修改,也即对目标内容中4个有效位在该缓存行中对应的位置进行修改,可以得到对齐的内存信息。最后将修改后得到的对齐的内存信息写入所述目标地址p1对应的起始地址,也即,将修改后的该缓存行cacheline整体写入内存中目标地址p1对应的起始地址。
例如,该示例需要将目标地址p1存储的0x00000000修改为0x88880000。首先,从p1位置读取一个缓存行cacheline大小的内存信息,为0x00000000。然后仅对读取的该缓存行大小的内存信息0x00000000中的前4位进行修改,得到0x88880000,最后再写入内存中目标地址p1对应的起始地址,可以保证数据读写正确。
可以理解的是,在具体应用中,待写入的目标内容的大小可能小于或等于一个缓存行cacheline的大小,也可能大于一个缓存行cacheline的大小。在目标内容的大小大于一个缓存行cacheline的大小的情况下,可以将目标内容按照cacheline大小为单位进行拆分后,再以cacheline大小为单位分别进行预读以及写入。
通过本发明实施例,在写入内存之前,对待写入位置的内存信息按照cacheline为单位进行预读,并且仅修改读取的内存信息中的目标位,最后按照cacheline为单位整体进行写入,可以避免在DM信号失效的情况下,需要屏蔽的数据位被写错的情况发生。
在本发明的一种可选实施例中,上述步骤102从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息,具体可以包括:
步骤S11、以所述目标地址为起始地址,读取以缓存行大小为单位的内存信息;
步骤S12、将读取的内存信息存入寄存器中;
步骤S13、确定所述目标内容中的有效位;
步骤S14、根据所述目标内容中的有效位确定所述寄存器中内存信息待修改的目标位;
步骤S15、修改所述寄存器中内存信息的目标位,并保持所述寄存器中所述内存信息的其余位不变,得到对齐的内存信息;
上述步骤103将所述对齐的内存信息写入所述目标地址对应的内存位置,具体可以包括:将所述寄存器中所述对齐的内存信息写入以所述目标地址为起始地址的对应内存位置。
在内存读写过程中,内存控制器接收到处理器发送的需要写入内存的目标内容以及所述目标内容待写入内存的目标地址之后,在将目标内容写入内存之前,首先以所述目标地址为起始地址,读取以缓存行大小为单位的内存信息,并将读取的内存信息存入寄存器中。
然后修改所述寄存器中内存信息的目标位,并保持所述寄存器中所述内存信息的其余位不变。具体地,可以确定所述目标内容中的有效位,进而可以根据所述目标内容中的有效位确定所述寄存器中内存信息待修改的目标位,并且根据所述目标内容中的有效位修改所述寄存器中内存信息的目标位,并保持所述寄存器中内存信息的其余位不变,可以得到对齐的内存信息。
以64位寄存器为例,待写入内存的目标内容为8位,其中4位为有效位,则根据这4位有效位在目标内容中的位置,确定寄存器中内存信息与这4位有效位相应的位置为目标位。进而可以根据这4位有效位对寄存器中内存信息的4位目标位进行修改,而保持寄存器中内存信息的其余60位非目标位不变,修改后的寄存器中的内存信息即为对齐的内存信息。
通过本发明实施例,在处理器需要执行写入内存的操作之前,内存控制器将内存中待写入目标内容位置的内存信息以缓存行cacheline为单位整体读出,并存入寄存器中,随后将目标内容中需要修改的位存入寄存器中的对应位置,可以得到一个cacheline对齐的内存信息。再按照正常读写方法将这个cacheline的对齐的内存信息写入DDR内存端,可以有效解决写入内存不够对齐的问题。
在本发明的一种可选实施例中,所述确定待写入内存的目标内容和目标地址之前,所述方法还包括:
在基本输入输出系统BIOS启动阶段,通过对所述内存的内存寄存器MR进行参数设置,使能所述内存的数据总线反转DBI功能。
本发明实施例在BIOS启动阶段对内存的MRS端进行编程写入,以使能DBI功能,并且在内存使用DBI接线的基础上,修改内存读写的方式,以此达到在低功耗的基础上正确进行内存读写的目的。
其中,MR(Memory Register,内存寄存器)是DDR内存颗粒中自带的部分寄存器,该寄存器可以通过标准MR COMMEND(内存寄存器命令)进行访问和读写。MRS指多个MR,通常每个独立的内存颗粒可以包括从MR0到MR6这几个寄存器。
在本发明的一种可选实施例中,所述内存可以为DDR4内存,所述通过对所述内存的内存寄存器MR进行参数设置,使能所述内存的数据总线反转DBI功能,可以包括:
将所述DDR4内存中模式寄存器的指定位设置为指定值,以使能所述DDR4内存的数据总线反转DBI功能。
在本发明实施例中,所述内存可以为DDR4内存。当然,在实际应用中,本发明实施例对所述内存的具体类型不做限制,所述内存可以包括使用DM信号的任意内存,如DDR3类型的内存颗粒等。本发明实施例中主要以DDR4内存颗粒为例。
根据DDR4的规范,模式寄存器MR1的指定位A11位为0并且模式寄存器MR5的指定位A10位为0时,表示此时的DDR4内存颗粒使用了DBI功能,因此,本发明实施例在BIOS启动过程中,通过DDR4规范设计的MR COMMEND指令,将MR1寄存器的A11位和MR5寄存器的A10位置为0,即可使能DDR4内存的DBI功能。当然,在使能DBI功能之后,DDR4的MRS端将不再解析内存控制器发出的DM信号,在这种情况下,通过本发明实施例的内存访问控制方法,可以实现对内存的正确写入。
综上,本发明实施例在内存已使能DBI功能的情况下,对处理器访问控制内存的方法进行改进,在处理器需要向内存中写入目标内容时,通过内存控制器先将目标内容待写入内存的目标地址对应的内存信息整体读取出来,并根据所述目标内容对读取的内存信息中的目标位进行修改。其中,目标位指的是需要修改的位置,本发明实施例仅对需要修改的位置进行修改,使得不需要修改的位置仍然保持不变,由此可以得到对齐的内存信息,最后将所述对齐的内存信息整体写入所述目标地址对应的内存位置。通过本发明实施例,在正常使用DBI功能以实现低功耗的基础上,使得写入内存的过程不再依赖DM信号进行判断,以保证在内存读写过程中不需要改动的内容的正确性,由此可以在实现低功耗的基础上保证内存写入的正确性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图3,示出了本发明的一种访存控制装置实施例的结构框图,所述装置应用于内存控制器,所述装置具体可以包括如下模块:
内容确定模块301,用于确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;
内容修改模块302,用于从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;
内容写入模块303,用于将所述对齐的内存信息写入所述目标地址对应的内存位置。
可选地,所述内容修改模块,包括:
内容读取子模块,用于以所述目标地址为起始地址,读取以缓存行大小为单位的内存信息;
内容暂存子模块,用于将读取的内存信息存入寄存器中;
有效位确定子模块,用于确定所述目标内容中的有效位;
目标位确定子模块,用于根据所述目标内容中的有效位确定所述寄存器中内存信息待修改的目标位;
内容修改子模块,用于修改所述寄存器中内存信息的目标位,并保持所述寄存器中所述内存信息的其余位不变,得到对齐的内存信息;
所述内容写入模块,具体用于将所述寄存器中所述对齐的内存信息写入以所述目标地址为起始地址的对应内存位置。
可选地,所述装置还包括:
指令接收模块,用于接收处理器的写指令,所述写指令中包括待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述目标内容包括待写入的指令或数据。
可选地,所述装置还包括:
功能使能模块,用于在基本输入输出系统BIOS启动阶段,通过对所述内存的内存寄存器MR进行参数设置,使能所述内存的数据总线反转DBI功能。
可选地,所述内存为DDR4内存,所述功能使能模块,具体用于将所述DDR4内存中模式寄存器的指定位设置为指定值,以使能所述DDR4内存的数据总线反转DBI功能。
本发明实施例在内存已使能DBI功能的情况下,对处理器访问控制内存的方法进行改进,在处理器需要向内存中写入目标内容时,通过内存控制器先将目标内容待写入内存的目标地址对应的内存信息整体读取出来,并根据所述目标内容对读取的内存信息中的目标位进行修改。其中,目标位指的是需要修改的位置,本发明实施例仅对需要修改的位置进行修改,使得不需要修改的位置仍然保持不变,由此可以得到对齐的内存信息,最后将所述对齐的内存信息整体写入所述目标地址对应的内存位置。通过本发明实施例,在正常使用DBI功能以实现低功耗的基础上,使得写入内存的过程不再依赖DM信号进行判断,以保证在内存读写过程中不需要改动的内容的正确性,由此可以在实现低功耗的基础上保证内存写入的正确性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图4,是本发明实施例提供的计算设备的结构示意图。如图4所示,所述计算设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行前述实施例的访存控制方法的步骤。
本发明实施例提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的程序或处理器执行时,使得终端能够执行一种访存控制方法,所述方法包括:确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;将所述对齐的内存信息写入所述目标地址对应的内存位置。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可采用完全硬件实施、完全软件实施、或结合软件和硬件方面实施的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种访存控制方法和装置、一种计算设备以及一种可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种访存控制方法,其特征在于,应用于内存控制器,所述方法包括:
确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;
从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;
将所述对齐的内存信息写入所述目标地址对应的内存位置。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息,包括:
以所述目标地址为起始地址,读取以缓存行大小为单位的内存信息;
将读取的内存信息存入寄存器中;
确定所述目标内容中的有效位;
根据所述目标内容中的有效位确定所述寄存器中内存信息待修改的目标位;
修改所述寄存器中内存信息的目标位,并保持所述寄存器中所述内存信息的其余位不变,得到对齐的内存信息;
所述将所述对齐的内存信息写入所述目标地址对应的内存位置,包括:
将所述寄存器中所述对齐的内存信息写入以所述目标地址为起始地址的对应内存位置。
3.根据权利要求1所述的方法,其特征在于,所述确定待写入内存的目标内容和所述目标内容待写入内存的目标地址之前,所述方法还包括:
接收处理器的写指令,所述写指令中包括待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述目标内容包括待写入的指令或数据。
4.根据权利要求1所述的方法,其特征在于,所述确定待写入内存的目标内容和目标地址之前,所述方法还包括:
在基本输入输出系统BIOS启动阶段,通过对所述内存的内存寄存器MR进行参数设置,使能所述内存的数据总线反转DBI功能。
5.根据权利要求4所述的方法,其特征在于,所述内存为DDR4内存,所述通过对所述内存的内存寄存器MR进行参数设置,使能所述内存的数据总线反转DBI功能,包括:
将所述DDR4内存中模式寄存器的指定位设置为指定值,以使能所述DDR4内存的数据总线反转DBI功能。
6.一种访存控制装置,其特征在于,所述装置应用于内存控制器,所述装置包括:
内容确定模块,用于确定待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述内存已使能数据总线反转DBI功能;
内容修改模块,用于从所述目标地址读取以缓存行大小为单位的内存信息,并根据所述目标内容对读取的内存信息中的目标位进行修改,得到对齐的内存信息;
内容写入模块,用于将所述对齐的内存信息写入所述目标地址对应的内存位置。
7.根据权利要求6所述的装置,其特征在于,所述内容修改模块,包括:
内容读取子模块,用于以所述目标地址为起始地址,读取以缓存行大小为单位的内存信息;
内容暂存子模块,用于将读取的内存信息存入寄存器中;
有效位确定子模块,用于确定所述目标内容中的有效位;
目标位确定子模块,用于根据所述目标内容中的有效位确定所述寄存器中内存信息待修改的目标位;
内容修改子模块,用于修改所述寄存器中内存信息的目标位,并保持所述寄存器中所述内存信息的其余位不变,得到对齐的内存信息;
所述内容写入模块,具体用于将所述寄存器中所述对齐的内存信息写入以所述目标地址为起始地址的对应内存位置。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
指令接收模块,用于接收处理器的写指令,所述写指令中包括待写入内存的目标内容和所述目标内容待写入内存的目标地址,所述目标内容包括待写入的指令或数据。
9.一种计算设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至5中任一项所述的访存控制方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至5任一项所述的访存控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111166930.0A CN113836050A (zh) | 2021-09-30 | 2021-09-30 | 访存控制方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111166930.0A CN113836050A (zh) | 2021-09-30 | 2021-09-30 | 访存控制方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836050A true CN113836050A (zh) | 2021-12-24 |
Family
ID=78968154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111166930.0A Pending CN113836050A (zh) | 2021-09-30 | 2021-09-30 | 访存控制方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836050A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168680A (zh) * | 2016-03-07 | 2017-09-15 | 卡雷公司 | 具有局限于中间高速缓存级别的局部范围的原子指令 |
CN109992203A (zh) * | 2017-12-28 | 2019-07-09 | 英特尔公司 | 能够进行细粒度读取和/或写入操作的海量存储装置 |
US20210255977A1 (en) * | 2020-02-19 | 2021-08-19 | Hitachi, Ltd. | Data transfer system |
-
2021
- 2021-09-30 CN CN202111166930.0A patent/CN113836050A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168680A (zh) * | 2016-03-07 | 2017-09-15 | 卡雷公司 | 具有局限于中间高速缓存级别的局部范围的原子指令 |
CN109992203A (zh) * | 2017-12-28 | 2019-07-09 | 英特尔公司 | 能够进行细粒度读取和/或写入操作的海量存储装置 |
US20210255977A1 (en) * | 2020-02-19 | 2021-08-19 | Hitachi, Ltd. | Data transfer system |
Non-Patent Citations (1)
Title |
---|
凡夫之路: "DDR4之DM,DBI and TDQS", vol. 1, pages 288 - 2, Retrieved from the Internet <URL:https://blog.csdn.net/yikexiaocao_abc/article/details/104176732> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836415B2 (en) | Buffer device, method and apparatus for controlling access to internal memory | |
US10810144B2 (en) | System and method for operating a DRR-compatible asynchronous memory module | |
JP2005528712A (ja) | トランスペアレントeccメモリシステム | |
US10372338B2 (en) | Memory controller and data processing circuit with improved system efficiency | |
JPH1091572A (ja) | データ転送方法及びその方法を用いたデータ転送装置 | |
US11003606B2 (en) | DMA-scatter and gather operations for non-contiguous memory | |
KR20220107617A (ko) | 인메모리 프로세싱을 수행하는 병렬 처리 시스템 | |
CN108139989B (zh) | 配备有存储器中的处理和窄访问端口的计算机设备 | |
US8397005B2 (en) | Masked register write method and apparatus | |
US8732415B2 (en) | Write data mask method and system | |
US20240329887A1 (en) | Addressing in memory with a read identification (rid) number | |
US20140195765A1 (en) | Implementing user mode foreign device attachment to memory channel | |
US9218861B2 (en) | Apparatuses and methods including selectively providing a single or separate chip select signals | |
WO2019000456A1 (zh) | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 | |
CN114490449B (zh) | 一种内存访问方法、装置及处理器 | |
CN111177027A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
US6888777B2 (en) | Address decode | |
CN113836050A (zh) | 访存控制方法、装置、设备及可读存储介质 | |
US20020188771A1 (en) | Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof | |
US8521951B2 (en) | Content addressable memory augmented memory | |
US7395399B2 (en) | Control circuit to enable high data rate access to a DRAM with a plurality of areas | |
JPH11102328A (ja) | メモリ診断システム | |
JP2793474B2 (ja) | 部分書込み制御回路 | |
CN118445244A (zh) | 跨总线域的对宿主机空间访问方法、系统、终端及介质 | |
JPH04245346A (ja) | マイクロコンピュータシステム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211224 |
|
RJ01 | Rejection of invention patent application after publication |