打印

哪种mcu指令结构处理以下情况最快?

[复制链接]
楼主: teddeng
手机看帖
扫描二维码
随时随地手机跟帖
41
顶13楼的

使用特权

评论回复
42
sinanjj| | 2012-4-11 17:30 | 只看该作者
特二高手啊。

使用特权

评论回复
43
dengm| | 2012-4-13 22:51 | 只看该作者
; 51 asm 最小代码

       InBuf  data 30h ; 30h..37h
       OutBuf data 38h ; 38h..3fh        

       mov r1, #OutBuf
       mov r2, #8
LP_R2:
         mov r0, #InBuf
         MOV A, #1  
LP_C:
           XCH A,  @R0
           RLC A
           XCH A, @R0
           RLC A
           INC R0
         JNC LP_C
         
         MOV @R1, A
         inc r1
        DJNZ R2, LP_R2

使用特权

评论回复
44
teddeng|  楼主 | 2012-4-17 01:37 | 只看该作者
楼上的51汇编总是这么犀利,佩服! 43# dengm

使用特权

评论回复
45
flexman| | 2012-4-17 08:54 | 只看该作者
ransposing a Bit Matrix
十九楼,好深奥啊!

使用特权

评论回复
46
optical85| | 2012-4-18 09:31 | 只看该作者
DMA最快,标志位置位后,DMA在后台按照设定的搬运方式自动搬运,搬运完产生中断或另一标志位置起。整个搬运过程CPU不用参与,可以做任何其他事情。

使用特权

评论回复
47
李冬发| | 2012-4-23 11:23 | 只看该作者
使用CPLD吧,硬件旋转很容易,很快。

使用特权

评论回复
48
icecut| | 2012-4-23 11:52 | 只看该作者
这个还是上cpld....

俺最近在研究cpu的一些东西.你这需求指令密度肯定浪费的很多...

某牛X书说的不适合reg少的单片机或者arm.占用太多寄存器.

使用特权

评论回复
49
inzaghian| | 2012-4-23 14:32 | 只看该作者
CPLD最快

使用特权

评论回复
50
bobo1957| | 2012-4-30 00:03 | 只看该作者
用DSP,专门有向量计算的协处理器

使用特权

评论回复
51
原野之狼| | 2012-5-6 13:27 | 只看该作者
MARK

使用特权

评论回复
52
yzhj| | 2012-5-6 14:42 | 只看该作者
本帖最后由 yzhj 于 2012-5-6 14:59 编辑

我在做微打控制板的时候遇到过类似的问题。当时是用纯位操作完成的,耗费了9个布尔字节。51单片机用c写的,速度还算满意。

使用特权

评论回复
53
bald| | 2012-5-11 10:36 | 只看该作者
Thumb2指令集的CM3,有两条指令BFI\BFX适合处理这类问题。
对于100Mhz的CM3 MCU,包括入栈、出栈、取数、送存操作不会超过1uS。
没查,如果BFI\BFX指令是16位指令,程序量不超过200字节。如果是32位指令也超不过400字节。
只是写程序要麻烦一些。要一个点一个点的点上去

使用特权

评论回复
54
huatong| | 2012-5-27 12:02 | 只看该作者
本帖最后由 huatong 于 2012-5-27 12:08 编辑

stm32这样行不?
char d1[8] __attribute__((at(0x20000000)));
int  d2[8][8] __attribute__((at(0x22000000)));

int i,j,tmp;

for(i=0;i<8;i++)
{
        for(j=i+1;j<8;j++)
        {
                tmp=d2[ i][j];
                d2[j]=d2[j][ i];
                d2[j][ i]=tmp;
        }
}

使用特权

评论回复
55
xcloud| | 2012-6-2 08:29 | 只看该作者

使用特权

评论回复
56
liudianlingliu| | 2012-6-8 15:45 | 只看该作者
eeeeeeeeeeeeee

使用特权

评论回复
57
110xia| | 2012-6-8 20:07 | 只看该作者
看懂了,
只要MCU 多一个XY转换寄存器可以解决.
软件的算法变为硬件完成, 达到提高软件效率.

使用特权

评论回复
58
pocker5200| | 2012-6-10 17:26 | 只看该作者
FPGA也算MCU的话,同频率下效率应该是最高的了。
以前做LED控制器的时候做过一个编解码IP,里面就有LZ所说的这种转码功能。
也是以8字节为单位,转换只需要8个时钟,不包含FIFO,总线等数据传输的时钟开销。

使用特权

评论回复
59
riddlecn| | 2012-6-11 12:23 | 只看该作者
学习学习

使用特权

评论回复
60
天马兰兰| | 2012-7-17 21:08 | 只看该作者
牛X帖子,真的集思广益啊。个人的想法,没有什么最好的,关键是你熟悉什么,用你熟悉的东西怎么样来满足要求,我觉得这才应该是解决问题的想法,当然作为一个问题在这儿讨论下也挺好,感觉看着挺开心的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则