CN112181865B - 地址编码方法、装置、解码方法、装置及计算机存储介质 - Google Patents
地址编码方法、装置、解码方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112181865B CN112181865B CN202010943834.1A CN202010943834A CN112181865B CN 112181865 B CN112181865 B CN 112181865B CN 202010943834 A CN202010943834 A CN 202010943834A CN 112181865 B CN112181865 B CN 112181865B
- Authority
- CN
- China
- Prior art keywords
- address
- addresses
- configuration information
- bit width
- data bit
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 229910002056 binary alloy Inorganic materials 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 101150044251 OGT gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- 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/0629—Configuration or reconfiguration of 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种地址编码方法、装置、解码方法、装置及计算机存储介质,属于地址编码领域。该地址编码在将配置地址写入到待配置设备前,先根据待配置设备所对应的数据位宽,对配置信息所包括的待配置的寄存器的地址进行处理,从而可以得到地址所占用的数据位数少于原始地址的编码地址,相应的,根据编码后的地址得到的配置信息所占用的数据位减少,因此,可以将地址编码后的配置信息写入待配置设备,从而可以减少配置信息在待配置设备中所占用的内存。
Description
技术领域
本申请属于地址编码领域,具体涉及一种地址编码方法、装置、解码方法、装置及计算机存储介质。
背景技术
对于要执行一定功能的功能模块而言,需要向该功能模块的各个寄存器内写入可配置信息,使得该功能模块的寄存器在保存了配置信息后,功能模块可以执行与配置信息对应的功能。在配置信息中,保存有寄存器的地址以及对应的数据,用于表征需要在该地址所对应的寄存器内写入对应的内容,即向功能模块的各个寄存器内分别写入对应的数据。
传统方案中,直接将配置信息保存在功能模块内,占用了较大的存储空间。
发明内容
有鉴于此,本申请的目的在于提供一种地址编码方法、装置、解码方法、装置及计算机存储介质,以节省配置信息所占用的存储空间。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供一种地址编码方法,所述方法包括:获取配置信息,所述配置信息包括多个地址;获取待配置设备的数据总线所占用的数据位宽;根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址。经过上述处理,可以得到地址所占用的数据位数少于原始地址的编码地址,相应的,根据编码后的地址得到的配置信息所占用的数据位减少,因此,可以将地址编码后的配置信息写入待配置设备,从而可以减少配置信息在待配置设备中所占用的内存。
结合第一方面实施例,在一种可能的实施方式中,所述根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址,包括:将每个所述地址除以所述数据位宽后得到的内容确定为所述对应的编码地址。
结合第一方面实施例,在一种可能的实施方式中,在所述根据所述数据位宽对每个所述地址进行处理之前,所述方法还包括:获取所述待配置设备的基地址;
相应的,所述根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址,包括:将每个所述地址除以所述数据位宽,得到处理后的地址;将所述处理后的地址中顺序相邻的两个地址中的后一个地址减去前一个地址,且将所述处理后的地址中的第一个地址减去所述基地址,得到与所述处理后的地址中每个地址对应的差值;将所述对应的差值确定为所述对应的编码地址。
结合第一方面实施例,在一种可能的实施方式中,在所述将所述对应的差值确定为所述对应的编码地址之前,所述方法还包括:
确定在所有的所述对应的差值中存在大于阈值的差值时,将每个所述大于阈值的差值按照其所表征的数值拆分为数字零与一个其他数字,且满足公式:大于阈值的差值=拆分出的数字零的个数×数据位宽+其他数字所表征的数值。
第二方面,本申请实施例提供一种地址解码方法,所述方法包括:获取配置信息,所述配置信息包括多个编码地址;根据自身的数据位宽对每个所述编码地址进行处理,得到与待配置的寄存器对应的原始地址。
第三方面,本申请实施例提供一种地址编码装置,所述装置包括:获取模块以及处理模块。获取模块,用于获取配置信息,所述配置信息包括多个地址;所述获取模块,还用于获取待配置设备的数据总线所占用的数据位宽;处理模块,用于根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址。
结合第三方面实施例,在一种可能的实施方式中,所述处理模块,用于将每个所述地址除以所述数据位宽后得到的内容确定为所述对应的编码地址。
结合第三方面实施例,在一种可能的实施方式中,所述获取模块,还用于获取所述待配置设备的基地址;所述处理模块,用于将每个所述地址除以所述数据位宽,得到处理后的地址;将所述处理后的地址中顺序相邻的两个地址中的后一个地址减去前一个地址,且将所述处理后的地址中的第一个地址减去所述基地址,得到与所述处理后的地址中每个地址对应的差值;将所述对应的差值确定为所述对应的编码地址。
结合第二方面实施例,在一种可能的实施方式中,所述装置还包括拆分模块,用于确定在所有的所述对应的差值中存在大于阈值的差值时,将每个所述大于阈值的差值按照其所表征的数值拆分为数字零与一个其他数字,且满足公式:大于阈值的差值=拆分出的数字零的个数×数据位宽+其他数字所表征的数值。
第四方面,本申请实施例提供一种地址解码装置,所述装置包括:获取模块以及处理模块。获取模块,用于获取配置信息,所述配置信息包括多个编码地址;处理模块,用于根据自身的数据位宽对每个所述编码地址进行处理,得到与待配置的寄存器对应的原始地址。
第五方面,本申请实施例还提供一种电子设备包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第五方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出本申请实施例提供的一种地址编码方法的流程图。
图2示出本申请实施例提供的一种寄存器的地址示意图。
图3示出本申请实施例提供的一种地址解码方法的流程图。
图4示出本申请实施例提供的一种地址编码装置的结构框图。
图5示出本申请实施例提供的一种地址解码装置的结构框图。
图6示出本申请实施例提供的一种电子设备的示意图。
图标:100-电子设备;110-处理器;120-存储器;400-编码装置;410-获取模块;420-处理模块;500-解码装置;510-获取模块;520-处理模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
此外,针对现有技术中的直接将配置信息保存在待配置功能模块的方式所存在的缺陷(占用待配置功能模块的较大存储空间)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该被认定为申请人对本申请做出的贡献。
为了解决上述问题,本申请实施例提供一种地址编码方法、装置、解码方法、装置及计算机存储介质,对配置信息进行处理后再保存在对应的待配置功能模块,可以节省配置信息所占用的存储空间。
该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
下面将针对本申请所提供的地址编码方法进行介绍。
请参阅图1,本申请实施例提供一种应用于电子设备的地址编码方法。在配置信息被写入待配置设备之前,区别于待配置设备的电子设备对配置信息进行处理,以便后续将处理后的配置信息写入到待配置设备,减少配置信息对待配置设备的内存占用。
其中,对配置信息进行处理,主要是针对配置信息所包括的寄存器地址进行处理。下面将结合图1来介绍对地址进行处理的过程。
步骤S110:获取配置信息,所述配置信息包括多个地址。
在待配置设备中包括多个寄存器。
其中,每个寄存器在待配置设备中存在对应的物理地址,通过向对应的物理地址进行指令,才能操作与该物理地址对应的寄存器。
此外,根据类型的不同,寄存器可以分为控制寄存器以及状态寄存器。在对待配置设备进行配置时,一般是向控制寄存器中写入对应的数据。
值得指出的是,在对待配置设备的寄存器进行配置时,也可以针对部分控制寄存器进行配置,即配置过程并不要求对待配置设备的所有控制寄存器进行配置。
请参看图2,假设待配置设备所包括的部分寄存器与地址之间的关系如图2所示。在图2中,有斜线的寄存器表征不需要进行配置的寄存器(可能包括状态寄存器和/或控制寄存器),没有斜线的寄存器表征需要进行配置的寄存器。
在确定出需要配置的寄存器后,配置人员可以确定出针对待配置设备的配置信息。
相应的,为了向指定的寄存器写入对应的数据,配置信息包括地址以及与地址对应的数据,用于表征向待配置设备中具备该地址的寄存器写入与该地址对应的数据。
对应于图2中所确定出的需要进行配置的寄存器,现存在与之对应的配置信息:
32’h0→32’h data0;
32’h8→32’h data1;
32’hc→32’h data2;
32’h18→32’h data3;
32’h1c→32’h data4。
其中,32表征待配置设备具备32位数据总线,箭头前的信息表征寄存器的地址,箭头后的信息表征与该地址对应的寄存器需要被配置的数据,h表征十六进制。
步骤S120:获取待配置设备的数据总线所占用的数据位宽。
其中,待配置设备的数据总线所占用的数据位宽由待配置设备的物理特性所确定。其中,数据位宽=数据总线的位数/8。
在图2对应的待配置设备中,数据总线为32bits,数据位宽为4。在其他实施方式中,当数据总线为64bits时,数据位宽为8;当数据总线为16bits时,数据位宽为2。
步骤S130:根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址。
在获取到配置信息以及数据位宽后,电子设备可以将配置信息中的每个地址进行处理,即对每个地址进行重新编码。
在一种可选的实施方式中,电子设备可以直接将每个原始地址除以数据位宽,然后将得到的结果确定为与原始地址对应的编码地址。
例如针对与图2对应的配置信息,将每个原始地址除以数据位宽(其值为4)之后,得到的配置信息为:
7’h0→32’h data0;
7’h2→32’h data1;
7’h3→32’h data2;
7’h6→32’h data3;
7’h7→32’h data4。
在地址经过编码后,得到的大部分编码地址相较于原始地址,所占用的数据位减少。
例如针对地址“h8”,在h8被编码前,用二进制表示h8为1000,即需要占用4bits才能表示出“h8”;在h8被编码后,对应的编码地址为h2,用二进制表示h2为10,即需要占用2bits就能表示出“h2”。
再例如针对地址“hc”,被编码前,用二进制表示c为1100,即需要占用4bits才能表示出“hc”;在hc被编码后,对应的编码地址为h3,用二进制表示h3为11,即需要占用2bits就能表示出“h3”。
由于一个待配置设备所需要配置的寄存器的个数有限,假设在本申请实施例中需要配置128个寄存器,且128个寄存器中最大的寄存器地址为“h1FC”(10进制中的508),经过上述处理,得到的最大的编码地址为h7F(10进制中的127),用二进制表示h7F为1111111,即需要占用7bits就能表示出“h7F”,因此,针对本次编码,为每个寄存器地址设置7bits即可以表示出所有的待配置地址。
由于经过编码后,原来的配置信息所占用的数据位减少,因此,可以将按照上述规则进行编码后的配置信息写入待配置设备,从而可以减少配置信息在待配置设备中所占用的内存。
相应的,当待配置设备获取到配置信息后,配置信息中的地址为编码地址。当待配置设备需要使用配置信息时,需要对配置信息所包括的编码地址进行解码,从而获取到对应的原始地址。
对应于本实施方式中的地址编码方式,待配置设备将获取到的配置信息所包括的每个编码地址乘以自身所对应的数据位宽,即可将编码地址还原为原始地址。
在另一种可选的实施方式中,电子设备在对原始地址进行编码前,还可以获取待配置设备的基地址。
对于待配置设备而言,其基地址具有唯一性,例如可以将待配置设备的所有寄存器地址中,地址最小的寄存器地址确定为该待配置设备的基地址base-addr。
在获取到待配置设备的基地址后,电子设备可以先将每个原始地址除以数据位宽,得到处理后的地址。在得到处理后的地址后,电子设备再将处理后的地址中顺序相邻的两个地址中的后一个地址(数值较大者)减去前一个地址(数值较小者),且将处理后的地址中的第一个地址减去基地址,得到与处理后的地址中每个地址(作为被减数的地址)对应的差值,然后将对应的差值确定为作为减数的地址所对应的编码地址。
依旧以与图2对应的配置信息为例,将每个原始地址除以数据位宽(其值为4)之后,得到对应的处理后的地址:
32’h0→7’h0;
32’h8→7’h2;
32’hc→7’h3;
32’h18→7’h6;
32’h1c→7’h7。
其中,32’h0、32’h2、32’h3、32’h6、32’h7分别为处理后的地址。
针对每个处理后的地址,再将相邻的两个地址中的后者减去前者,将第一个地址减去基地址,得到与每个处理后的地址一一对应的差值。
7’h0→2’h0;
7’h2→2’h 2;
7’h3→2’h1;
7’h6→2’h3;
7’h7→2’h1。
在得到差值后,电子设备将对应的差值确定为与对应的处理后的地址相对应的原始地址对应的编码地址。基于此,得到的配置信息为:
2’h0→32’h dat0;
2’h2→32’h dat1;
2’h1→32’h dat2;
2’h3→32’h dat3;
2’h1→32’h dat4。
在地址经过编码后,得到的大部分编码地址相较于原始地址,所占用的数据位减少。
例如针对地址“h8”,在h8被编码前,用二进制表示h8为1000,即需要占用4bits才能表示出“h8”;在h8被编码后,对应的编码地址为h2,用二进制表示h2为10,即需要占用2bits就能表示出“h2”。
再例如针对地址“hc”,被编码前,用二进制表示c为1100,即需要占用4bits才能表示出“hc”;在hc被编码后,对应的编码地址为h1,用二进制表示h1为1,即需要占用1bits就能表示出“h1”。
由于经过编码后,原来的配置信息所占用的数据位减少,因此,可以将按照上述规则进行编码后的配置信息写入待配置设备,从而可以减少配置信息在待配置设备中所占用的内存。
相应的,当待配置设备获取到配置信息后,配置信息中的地址为编码地址。当待配置设备需要使用配置信息时,需要对配置信息所包括的编码地址进行解码,从而获取到对应的原始地址。
对应于本实施方式中的地址编码方式,待配置设备将获取到的配置信息所包括的每个编码地址乘以自身所对应的数据位宽,然后再加上与自身相邻的前一个已经被解析出的原始地址,即可得将编码地址还原为原始地址。其中,值得指出的是,针对本实施方式中的配置信息所包括的第一个编码地址,当待配置设备对其还原为原始地址时,是将与之对应的编码地址乘以自身所对应的数据位宽后再加上自身的基地址。
针对上述将相邻两个处理后的地址进行做差得到差值的实施方式,上文所列举的例子较为理想。然而,在一些情况下,得到的差值可能普遍较小,然后突然出现一个较大的差值。
例如在原始地址除以数据位宽后得到的处理后的地址为:h0,h2,h3,h6,h7…h21,h28,h30,基于此,得到的与原始地址对应的差值为h0,h2,h1,h3,h1,…,h7,h2。基于上述规则,大部分的差值用2bits就能表示出,然而,针对h7则需要用3bits才能表示出(h7的二进制数为111)。由于最后在对地址进行编码时,为了保证数据的统一,是基于各个原始地址对应的编码地址中,所需要占用的最大宽位数来确定每个原始地址所对应的编码地址所需占用的位宽,例如在上文举例中,虽然大部分的编码地址可以用2bits就能表示出,然而由于h7需要用3bits才能表示出,因此,在最后得到的配置信息中,每个编码地址所占用的位宽为3bits。这无疑会使得其他不需要占用3bits的编码地址浪费较大的内存空间。
在一些实施方式中,针对上文的情况,还可以在确定在所有的与原始地址对应的差值中存在大于阈值(该阈值由用户根据实际情况进行调整)的差值,且该差值所对应的原始地址与基地址不同时,将每个大于阈值的差值按照其所表征的数值拆分为数字零与一个其他数字,且满足公式:大于阈值的差值=拆分出的数字零的个数×数据位宽+其他数字所表征的数值。例如,针对上述举例中的h7,经过拆分可以得到03,其中,h7=1(1个0)×4(数据位宽为4)+3。
经过上述处理,得到的差值为h0,h2,h1,h3,h1,…,h0,h3(h0与h3由h7拆分得到),h2。其中,针对不在首尾出现的0,是作为一个中继节点,不具备实际的含义,其后也不需要跟对应的数据。因此,经过上述处理,最后得到的配置信息为:
2’h0→32’h dat0;
2’h2→32’h dat1;
2’h1→32’h dat2;
2’h3→32’h dat3;
2’h1→32’h dat4;
2’h0→空;
2’h3→32’h dat5;
2’h2→32’h dat6。
相应的,当待配置设备获取到配置信息后,配置信息中的地址为编码地址。当待配置设备需要使用配置信息时,需要对配置信息所包括的编码地址进行解码,从而获取到对应的原始地址。
对应于本实施方式中的地址编码方式,待配置设备将获取到的配置信息所包括的每个编码地址乘以自身所对应的数据位宽,然后再加上与自身相邻的前一个已经被解析出的原始地址,即可得将编码地址还原为原始地址。其中,值得指出的是,针对本实施方式中的配置信息所包括的第一个编码地址,当待配置设备对其还原为原始地址时,是将与之对应的编码地址乘以自身所对应的数据位宽后再加上自身的基地址。此外,针对不是首位出现的0,需要将相邻出现的0以及紧跟0后的第一个非0数字进行还原,在进行还原后,再将还原后的数值乘以自身所对应的数据位宽后再加上自身的基地址。其中,还原的规则为:还原后的数值=相邻的数字零的个数×数据位宽+紧跟零后的第一个非零数字所表征的数值。
本申请实施例所提供的一种地址编码方法,在将配置地址写入到待配置设备前,先根据待配置设备所对应的数据位宽,对配置信息所包括的待配置的寄存器的地址进行处理,从而可以得到地址所占用的数据位数少于原始地址的编码地址,相应的,根据编码后的地址得到的配置信息所占用的数据位减少,因此,可以将地址编码后的配置信息写入待配置设备,从而可以减少配置信息在待配置设备中所占用的内存。
请参看图3,本申请实施例还提供一种应用于待配置设备的地址解码方法。该方法包括以下步骤。
步骤S210:获取配置信息,所述配置信息包括多个编码地址;
步骤S220:根据自身的数据位宽对每个所述编码地址进行处理,得到与待配置的寄存器对应的原始地址。
由于在图2所示的地址编码实施例中已经对相应的地址解码方式进行了阐述,为了避免重复,此处不再赘述。
如图4所示,本申请实施例还提供一种地址编码装置400,地址编码装置400可以包括:获取模块410以及处理模块420。
获取模块410,用于获取配置信息,所述配置信息包括多个地址;
所述获取模块410,还用于获取待配置设备的数据总线所占用的数据位宽;
处理模块420,用于根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址。
在一种可能的实施方式中,所述处理模块420,用于将每个所述地址除以所述数据位宽后得到的内容确定为所述对应的编码地址。
在一种可能的实施方式中,所述获取模块410,还用于获取所述待配置设备的基地址;所述处理模块420,用于将每个所述地址除以所述数据位宽,得到处理后的地址;将所述处理后的地址中顺序相邻的两个地址中的后一个地址减去前一个地址,且将所述处理后的地址中的第一个地址减去所述基地址,得到与所述处理后的地址中每个地址对应的差值;将所述对应的差值确定为所述对应的编码地址。
在一种可能的实施方式中,所述装置还包括拆分模块,用于确定在所有的所述对应的差值中存在大于阈值的差值时,将每个所述大于阈值的差值按照其所表征的数值拆分为数字零与一个其他数字,且满足公式:大于阈值的差值=拆分出的数字零的个数×数据位宽+其他数字所表征的数值。
本申请实施例所提供的地址编码装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图5所示,本申请实施例还提供一种地址解码装置500,应用于待配置设备,所述地址解码装置500可以包括:获取模块510以及处理模块520。
获取模块510,用于获取配置信息,所述配置信息包括多个编码地址;
处理模块520,用于根据自身的数据位宽对每个所述编码地址进行处理,得到与待配置的寄存器对应的原始地址。
本申请实施例所提供的地址解码装置500,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
此外,本申请实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的地址编码方法或者地址解码方法。
此外,请参看图6,本申请实施例还提供一种用于描述用于实现本申请实施例的地址编码方法、装置的电子设备100。
可选的,电子设备100,可以是,但不限于个人电脑(Personal computer,PC)、智能手机、平板电脑、移动上网设备(Mobile Internet Device,MID)、个人数字助理、服务器等设备。其中,电子设备100可以包括:处理器110、存储器120。
应当注意,图6所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。
处理器110、存储器120以及其他可能出现于电子设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器120用于存储程序,例如存储有前文出现的地址编码方法对应的程序或者前文出现的地址编码装置。可选的,当存储器120内存储有地址编码装置时,地址编码装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
可选的,地址编码装置所包括软件功能模块也可以固化在电子设备100的操作系统(operating system,OS)中。
处理器110用于执行存储器120中存储的可执行模块,例如地址编码装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:获取配置信息,所述配置信息包括多个地址;获取待配置设备的数据总线所占用的数据位宽;根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址。
当然,本申请任一实施例所揭示的地址编码方法都可以应用于处理器110中,或者由处理器110实现。
此外,图6所示的电子设备100还可以用于表征本申请实施例中的待配置设备,用于实现本申请实施例的地址解码方法、装置。
在这种实施方式下,电子设备100内可以包括多个寄存器。
存储器120用于存储前文出现的地址解码方法对应的程序或者前文出现的地址解码装置。当处理器110在接收到执行指令后,例如执行:获取配置信息,所述配置信息包括多个编码地址;根据自身的数据位宽对每个所述编码地址进行处理,得到与待配置的寄存器对应的原始地址。
综上所述,本发明实施例提出的地址编码方法、装置、解码方法、装置及计算机存储介质,在将配置地址写入到待配置设备前,先根据待配置设备所对应的数据位宽,对配置信息所包括的待配置的寄存器的地址进行处理,从而可以得到地址所占用的数据位数少于原始地址的编码地址,相应的,根据编码后的地址得到的配置信息所占用的数据位减少,因此,可以将地址编码后的配置信息写入待配置设备,从而可以减少配置信息在待配置设备中所占用的内存。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (9)
1.一种地址编码方法,其特征在于,所述方法包括:
获取配置信息,所述配置信息包括多个地址;
获取待配置设备的数据总线所占用的数据位宽;
根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址;
其中,在所述根据所述数据位宽对每个所述地址进行处理之前,所述方法还包括:
获取所述待配置设备的基地址;
所述根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址,包括:
将每个所述地址除以所述数据位宽,得到处理后的地址;
将所述处理后的地址中顺序相邻的两个地址中的后一个地址减去前一个地址,且将所述处理后的地址中的第一个地址减去所述基地址,得到与所述处理后的地址中每个地址对应的差值;
将所述对应的差值确定为所述对应的编码地址。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址,包括:
将每个所述地址除以所述数据位宽后得到的内容确定为所述对应的编码地址。
3.根据权利要求1所述的方法,其特征在于,在所述将所述对应的差值确定为所述对应的编码地址之前,所述方法还包括:
确定在所有的所述对应的差值中存在大于阈值的差值时,将每个所述大于阈值的差值按照其所表征的数值拆分为数字零与一个其他数字,且满足公式:大于阈值的差值=拆分出的数字零的个数×数据位宽+其他数字所表征的数值。
4.一种地址解码方法,其特征在于,所述方法包括:
获取配置信息,所述配置信息包括多个编码地址;
根据自身的数据位宽对每个所述编码地址进行处理,得到与待配置的寄存器对应的原始地址;
其中,所述编码地址的编码过程包括:
获取待配置设备的基地址、配置信息,所述配置信息包括多个地址,及获取待配置设备的数据总线所占用的数据位宽;
将每个所述地址除以所述数据位宽,得到处理后的地址;
将所述处理后的地址中顺序相邻的两个地址中的后一个地址减去前一个地址,且将所述处理后的地址中的第一个地址减去所述基地址,得到与所述处理后的地址中每个地址对应的差值;
将所述对应的差值确定为所述对应的编码地址。
5.一种地址编码装置,其特征在于,所述装置包括:
获取模块,用于获取配置信息,所述配置信息包括多个地址;
所述获取模块,还用于获取待配置设备的数据总线所占用的数据位宽;
处理模块,用于根据所述数据位宽对每个所述地址进行处理,得到与每个所述地址对应的编码地址;
其中,所述获取模块,还用于获取所述待配置设备的基地址;
所述处理模块,用于将每个所述地址除以所述数据位宽,得到处理后的地址;将所述处理后的地址中顺序相邻的两个地址中的后一个地址减去前一个地址,且将所述处理后的地址中的第一个地址减去所述基地址,得到与所述处理后的地址中每个地址对应的差值;将所述对应的差值确定为所述对应的编码地址。
6.根据权利要求5所述的装置,其特征在于,
所述处理模块,用于将每个所述地址除以所述数据位宽后得到的内容确定为所述对应的编码地址。
7.一种地址解码装置,其特征在于,所述装置包括:
获取模块,用于获取配置信息,所述配置信息包括多个编码地址;
处理模块,用于根据自身的数据位宽对每个所述编码地址进行处理,得到与待配置的寄存器对应的原始地址。
8.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器用于存储程序;
所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-4中任一项所述的方法。
9.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010943834.1A CN112181865B (zh) | 2020-09-09 | 2020-09-09 | 地址编码方法、装置、解码方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010943834.1A CN112181865B (zh) | 2020-09-09 | 2020-09-09 | 地址编码方法、装置、解码方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181865A CN112181865A (zh) | 2021-01-05 |
CN112181865B true CN112181865B (zh) | 2024-05-31 |
Family
ID=73920416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010943834.1A Active CN112181865B (zh) | 2020-09-09 | 2020-09-09 | 地址编码方法、装置、解码方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181865B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115422115B (zh) * | 2022-11-01 | 2023-02-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于总线的编码方法、系统、存储介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071410A (zh) * | 2006-05-09 | 2007-11-14 | 飞思卡尔半导体公司 | 微控制器单元 |
CN101174285A (zh) * | 2006-11-03 | 2008-05-07 | 北京航空航天大学 | 嵌入系统总线防火墙 |
CN103019972A (zh) * | 2012-11-23 | 2013-04-03 | 广东威创视讯科技股份有限公司 | 一种利用总线进行通讯的方法和装置 |
CN108139989A (zh) * | 2015-10-01 | 2018-06-08 | 优普梅姆公司 | 配备有存储器中的处理和窄访问端口的计算机设备 |
CN110738015A (zh) * | 2019-09-10 | 2020-01-31 | 广东高云半导体科技股份有限公司 | 片上系统及其fpga内核信息处理方法 |
CN111384969A (zh) * | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 编码方法、处理器、编码装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007329903A (ja) * | 2006-05-11 | 2007-12-20 | Matsushita Electric Ind Co Ltd | 可変長復号化装置、可変長復号化方法および撮像システム |
-
2020
- 2020-09-09 CN CN202010943834.1A patent/CN112181865B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071410A (zh) * | 2006-05-09 | 2007-11-14 | 飞思卡尔半导体公司 | 微控制器单元 |
CN101174285A (zh) * | 2006-11-03 | 2008-05-07 | 北京航空航天大学 | 嵌入系统总线防火墙 |
CN103019972A (zh) * | 2012-11-23 | 2013-04-03 | 广东威创视讯科技股份有限公司 | 一种利用总线进行通讯的方法和装置 |
CN108139989A (zh) * | 2015-10-01 | 2018-06-08 | 优普梅姆公司 | 配备有存储器中的处理和窄访问端口的计算机设备 |
CN111384969A (zh) * | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 编码方法、处理器、编码装置及存储介质 |
CN110738015A (zh) * | 2019-09-10 | 2020-01-31 | 广东高云半导体科技股份有限公司 | 片上系统及其fpga内核信息处理方法 |
Non-Patent Citations (1)
Title |
---|
改进的JPEG2000位平面编解码算法实现;陈坚, 黄全平, 周荣政, 洪志良;计算机辅助设计与图形学学报(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181865A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181865B (zh) | 地址编码方法、装置、解码方法、装置及计算机存储介质 | |
CN110990189A (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
CN110545106B (zh) | 时序数据的编码方法及装置 | |
CN104247378A (zh) | 提供基于规则的内容分析以管理web扩展的激活 | |
CN117112628A (zh) | 一种物流数据的更新方法及系统 | |
CN111241344A (zh) | 视频查重方法、系统、服务器及存储介质 | |
CN114579570A (zh) | 数据处理方法及装置 | |
CN105430115A (zh) | 一种优化ip库的方法、装置及计算设备 | |
US11429317B2 (en) | Method, apparatus and computer program product for storing data | |
CN106484753B (zh) | 数据处理方法 | |
CN108933599B (zh) | 一种霍夫曼编码实现方法、系统、设备及计算机存储介质 | |
CN115509608A (zh) | 指令优化方法、装置、电子设备及计算机可读存储介质 | |
CN111984182B (zh) | 一种组合键识别方法,装置,设备和可读存取介质 | |
CN114238250A (zh) | 程序文件压缩方法、装置及电子设备 | |
CN115048282A (zh) | 重复操作的提取方法及电子设备、存储介质 | |
CN114462381A (zh) | 数据处理方法、装置、设备及存储介质 | |
JP2018195956A (ja) | 符号化プログラム、符号化装置および符号化方法 | |
CN112685668A (zh) | 前端页面图片预加载方法、装置、计算机设备及存储介质 | |
CN108734149B (zh) | 一种文本数据扫描方法和装置 | |
CN115001628B (zh) | 数据编码的方法及装置、数据解码的方法及装置和数据结构 | |
CN110933444B (zh) | 位宽值存储方法和装置 | |
CN117313656B (zh) | 文本生成方法、训练方法、模型、装置、设备及存储介质 | |
CN112580297B (zh) | 一种编解码数据的方法、电子设备及存储介质 | |
CN103927345A (zh) | 一种jsp标签嵌套的方法及装置 | |
CN114115763B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |