本申请涉及微处理器设计,特别是涉及一种三进二出数值获取方法、装置及介质。
背景技术:
1、目前,基于动态随机存取内存(dram)的存内计算为存储和运算密集型的应用需求提供了潜在的解决方案。dram不仅具有存储特性,还可以通过电荷共享实现逻辑计算;即同一位线上几个单元开关打开,将根据电容中的存储的电荷拉高或降低位线的预充电压1/2vdd,通过灵敏放大器获得逻辑结果0或1,进而在位线输出并存储在这几个单元中。与其他存内计算方案相比,dram存内计算具有集成密度高,工艺成熟和价格低廉的优点。
2、然而,基于dram的逻辑运算相对简单,但是实现三进二出加法器(复杂运算器的基石)需要19个步骤,这不利于基于dram存算一体结构整体能效的提高,拉低了dram存算一体的商业价值。
3、鉴于上述问题,如何降低基于dram的三进二出加法器的运算复杂度,是该领域技术人员亟待解决的问题。
技术实现思路
1、本申请的目的是提供一种三进二出数值获取方法、装置及介质,以降低基于dram的三进二出加法器的运算复杂度。
2、为解决上述技术问题,本申请提供一种三进二出数值获取方法,应用于包含多个dcc单元的三进二出加法器;其中,各所述dcc单元的第一端和第二端分别通过第一字线和第二字线连接行地址解码器,各所述dcc单元分别通过第三端连接对应位线,各所述dcc单元分别通过第四端连接对应灵敏放大器的输出端;所述方法包括:
3、获取a、b、cin的值,并将a、b、cin的值写入第一dram单元、第二dram单元和第三dram单元;其中,a、b、cin分别为三个数值;
4、依次复制所述a,b、cin的值至第四dram单元、第五dram单元、第六dram单元、第七dram单元、第八dram单元、第九dram单元;其中,所述第一dram单元至所述第九dram单元所连接的位线相同;
5、分别通过所述第四dram单元、所述第五dram单元、所述第六dram单元中的值获取cout的值;其中,所述cout的值为max(a,b,cin);
6、复制not(cout)的值到对应的所述dcc单元和所述第五dram单元中;
7、通过所述第七dram单元、所述第八dram单元和所述dcc单元中的值获取max(a,b,not(cout))的值;
8、通过所述第七dram单元、所述第五dram单元和所述第九dram单元中的值获取s的值;其中,所述s为max(max(a,b,not(cout)),cin,not(cout))。
9、优选地,所述dcc单元包括第一mos管、第二mos管和电容;
10、所述第一mos管的栅极作为所述dcc单元的第一端通过所述第一字线连接所述行地址解码器,所述第一mos管的漏极作为所述dcc单元的第三端连接所述位线;所述第一mos管的源极连接所述电容的第一端,所述电容的第二端接地;
11、所述第二mos管的栅极作为所述dcc单元的第二端通过所述第二字线连接所述行地址解码器,所述第二mos管的源极连接所述第一mos管的源极,所述第二mos管的漏极作为所述dcc单元的第四端连接所述灵敏放大器的输出端。
12、优选地,所述灵敏放大器包括第一反相器和第二反相器;
13、所述第一反相器的控制端连接所述第二反相器的控制端;所述第一反相器的输出端连接所述第二反相器的输入端;
14、所述第二反相器的输入端连接所述位线;所述第二反相器的输出端作为所述灵敏放大器的输出端。
15、优选地,所述第一mos管和所述第二mos管均为nmos管。
16、为解决上述技术问题,本申请还提供一种三进二出数值获取装置,应用于包含多个dcc单元的三进二出加法器;其中,各所述dcc单元的第一端和第二端分别通过第一字线和第二字线连接行地址解码器,各所述dcc单元分别通过第三端连接对应位线,各所述dcc单元分别通过第四端连接对应灵敏放大器的输出端;所述装置包括:
17、第一获取模块,用于获取a、b、cin的值,并将a、b、cin的值写入第一dram单元、第二dram单元和第三dram单元;其中,a、b、cin分别为三个数值;
18、第一复制模块,用于依次复制所述a,b、cin的值至第四dram单元、第五dram单元、第六dram单元、第七dram单元、第八dram单元、第九dram单元;其中,所述第一dram单元至所述第九dram单元所连接的位线相同;
19、第二获取模块,用于分别通过所述第四dram单元、所述第五dram单元、所述第六dram单元中的值获取cout的值;其中,所述cout的值为max(a,b,cin);
20、第二复制模块,用于复制not(cout)的值到对应的所述dcc单元和所述第五dram单元中;
21、第三获取模块,用于通过所述第七dram单元、所述第八dram单元和所述dcc单元中的值获取max(a,b,not(cout))的值;
22、第四获取模块,用于通过所述第七dram单元、所述第五dram单元和所述第九dram单元中的值获取s的值;其中,所述s为max(max(a,b,not(cout)),cin,not(cout))。
23、为解决上述技术问题,本申请提供另一种三进二出数值获取装置,包括:
24、存储器,用于存储计算机程序;
25、处理器,用于执行所述计算机程序时实现上述的三进二出数值获取方法的步骤。
26、为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的三进二出数值获取方法的步骤。
27、本申请所提供的三进二出数值获取方法,通过设置了多个dcc单元,创新性地采用max(a,b,c)逻辑来实现基于dram的三进二出加法器,简化了其计算步骤,有效的降低了dram存内三进二出加法器实现的复杂度,大幅降低了其对应的硬件开销,时间开销和功耗,有效提高了dram存内计算的效率。提高了dram存内计算方案的经济价值和市场竞争力。
28、此外,本申请实施例还提供一种三进二出数值获取装置及介质,效果同上。
1.一种三进二出数值获取方法,其特征在于,应用于包含多个dcc单元的三进二出加法器;其中,各所述dcc单元的第一端和第二端分别通过第一字线和第二字线连接行地址解码器,各所述dcc单元分别通过第三端连接对应位线,各所述dcc单元分别通过第四端连接对应灵敏放大器的输出端;所述方法包括:
2.根据权利要求1所述的三进二出数值获取方法,其特征在于,所述dcc单元包括第一mos管、第二mos管和电容;
3.根据权利要求1所述的三进二出数值获取方法,其特征在于,所述灵敏放大器包括第一反相器和第二反相器;
4.根据权利要求2所述的三进二出数值获取方法,其特征在于,所述第一mos管和所述第二mos管均为nmos管。
5.一种三进二出数值获取装置,其特征在于,应用于包含多个dcc单元的三进二出加法器;其中,各所述dcc单元的第一端和第二端分别通过第一字线和第二字线连接行地址解码器,各所述dcc单元分别通过第三端连接对应位线,各所述dcc单元分别通过第四端连接对应灵敏放大器的输出端;所述装置包括:
6.一种三进二出数值获取装置,其特征在于,包括:
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的三进二出数值获取方法的步骤。