完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-20 09:14 编辑
在进行GMPY4指令的时候,该指令受到两个参数的影响,一个是多项式,另一个是galois field。我想问一下,在具体指令执行的时候哪一个优先级高?还是同时作用?,另外galois field的格式是什么?例子中给出了galois field为256时的情况,我想问一下在这种情况下对应的寄存器里面是什么情况? |
|
相关推荐
6个回答
|
|
galois field 不是一个参数
参数有两个,多项式和多项式的size,配置在GFPGFR寄存器 GMPY4的功能如下: typedef struct _INT32X4U [ uint8 lo1; uint8 lo2; uint8 hi1; uint8 hi2; ] int32x4u; union reg32 [ int32 x1; int32x4u x4u; ]; int32 _gmpy4(int32 a,int32 b) [ uint16 k,m,mask; int32 maxpower2; uint32 poly,c,ytmp[4]; union reg32 a32,b32,y32; a32.x1 = a; b32.x1 = b; m = (GFPGFR >> 24) + 1; poly = (GFPGFR & 0xFF) | 0x100; mask = 1; /* zero out the tmp array */ for(k=0;k<4;k++) ytmp[k] = 0; /* multiply the four sets of polynomials together */ for(k=0;k<8;k++) [ c = mask&a32.x4u.hi2; ytmp[3] ^= b32.x4u.hi2*c; c = mask&a32.x4u.hi1; ytmp[2] ^= b32.x4u.hi1*c; c = mask&a32.x4u.lo2; ytmp[1] ^= b32.x4u.lo2*c; c = mask&a32.x4u.lo1; ytmp[0] ^= b32.x4u.lo1*c; mask <<= 1; ] /* divide each result by the generator polynomial */ for(k=0;k<4;k++) [ maxpower2 = 30-_norm(ytmp[k]); while(maxpower2 >= m) [ c = poly << (maxpower2 - m); ytmp[k] ^= c; maxpower2 = 30-_norm(ytmp[k]); ] ] y32.x4u.hi2 = (uint8)ytmp[3]; y32.x4u.hi1 = (uint8)ytmp[2]; y32.x4u.lo2 = (uint8)ytmp[1]; y32.x4u.lo1 = (uint8)ytmp[0]; return(y32.x1); ] /* end of _gmpy4() function */ |
|
|
|
GMPY4指令涉及到三个参数和1和寄存器: 参数分别是src1,src2,dst 寄存器是GFPGFR 其功能是将src1和src2看做4个单独的8bit byte来执行。 执行 dst = (src1.byten * src2.byten)% GFPGFR.poly 备注:这里的乘和取余都是指伽罗华操作 |
|
|
|
看了这段代码我有几点疑问: 1._norm是什么? 2.指令集给出的例子中1个是只给了polynomial没给size,另一个是给了size 没给polynomial。我想问的是没给的值是什么? 3.a32.x4u是否就是将a划成4个8bit后的值。上述代码没有赋值就开始使用了 |
|
|
|
寄存器里还有size呢!! |
|
|
|
1. norm 对应的就是指令NORM
2. size和poly是GFPGFR寄存器的两个控制域。我理解两个例子的size和poly设置是相同的。即:GFPGFR的size设置成7,对应2^(7+1) = 256. GFPGFR的poly 域是0x1d,对应多项式0x11d. 3. 是的 |
|
|
|
听你喜欢的歌 发表于 2018-6-20 08:16 我在6416里面GFPGFR的size设置成5, GFPGFR的poly 域是0x43,计算得到的结果不对。而且改变GFPGFR的poly 域对结果没有影响。不知道是怎么回事 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
696 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
605 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1065 浏览 1 评论
760 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
530 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
171浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
133浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
130浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
126浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
64浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 20:46 , Processed in 0.999795 second(s), Total 90, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号