POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 5008|回复: 18
打印 上一主题 下一主题

为什么intel不重启8051市场,骚扰一下ARM?

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-23 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   既然ARM要抢intel的传统市场,intel也应该祭出8051来敲打一下ARM啊。
  ARM7和cortex太费内存了,你不在芯片里集成10多K的SRAM,你都不好意思说你是32位SOC。成本很难降到50美分了,人家8051的,成本可以降到1.00RMB
2#
发表于 2012-5-23 15:22 | 只看该作者
8051那么多厂在做,罗教授不会以为没得卖了吧。
回复 支持 反对

使用道具 举报

3#
发表于 2012-5-23 16:02 | 只看该作者
acqwer 发表于 2012-5-23 15:22
8051那么多厂在做,罗教授不会以为没得卖了吧。

Intel早就战略性抛弃单片机市场了。8051的生产已经不会给Intel带来任何利润了。
回复 支持 反对

使用道具 举报

4#
发表于 2012-5-23 16:35 | 只看该作者
几毛钱一个,这种小钱。。。。。
卖一亿个的利润还不够给几个工程师发工资的。
回复 支持 反对

使用道具 举报

5#
发表于 2012-5-24 09:11 | 只看该作者
8051运算能太低了

intel出atom对付arm
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2012-5-24 14:22 | 只看该作者
Prescott 发表于 2012-5-23 16:35
几毛钱一个,这种小钱。。。。。
卖一亿个的利润还不够给几个工程师发工资的。[sweatingbullets>

合理的市场才是关键,人可以4年不买新电脑,不买新手机,但是不能不坐公交,不能不交水电费。如果8051芯片的损耗速度提高,比如做身份卡的,一个月换一次key,芯片拿去报废填海,利润是源源不断的
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-5-24 14:24 | 只看该作者
acqwer 发表于 2012-5-23 15:22
8051那么多厂在做,罗教授不会以为没得卖了吧。

应该扩展到32位,传统的8051几十年没有改进了,当初设计的是256字节的RAM和64K的ROM上限。导致性能过低。
回复 支持 反对

使用道具 举报

8#
发表于 2012-5-24 14:58 | 只看该作者
8051做嵌入式 现在也有点过时了
回复 支持 反对

使用道具 举报

9#
发表于 2012-5-24 15:02 | 只看该作者
单片机市场和arm的主要市场也不在一个位置吧。虽然arm有自己的嵌入式cpu,但现在吸引眼球,发展最快的不是这个。
回复 支持 反对

使用道具 举报

10#
发表于 2012-5-24 15:27 | 只看该作者
罗菜鸟 发表于 2012-5-24 14:22
合理的市场才是关键,人可以4年不买新电脑,不买新手机,但是不能不坐公交,不能不交水电费。如果8051芯片 ...

那有怎么样,总市场大小在这里放着,一年就那么多个,何况你的那些例子,哪个是拿51加外围芯片做的。都是单芯片,每个都不一样。这根本不是Intel的菜。
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2012-5-25 16:35 | 只看该作者
Prescott 发表于 2012-5-24 15:27
那有怎么样,总市场大小在这里放着,一年就那么多个,何况你的那些例子,哪个是拿51加外围芯片做的。都是 ...

ARM的cortex M已经开始蚕食这个市场了,atmel已经退出帮苹果做触摸屏了。TI的MSP430规模太小,microchip的PIC已经老化。未来物联网技术普及,高性能单片机才是王道,ARM的解决方案都是针对这个的。
物联网时代的地球就好比一个有生命的物体,一个生物一生中摄入的营养,多少是用于脑细胞,多少又是用于体细胞?
回复 支持 反对

使用道具 举报

12#
发表于 2012-5-28 10:28 | 只看该作者
罗菜鸟 发表于 2012-5-24 14:24
应该扩展到32位,传统的8051几十年没有改进了,当初设计的是256字节的RAM和64K的ROM上限。导致性能过低。

256字节的8051,罗叫兽莫非以为8051是8位所以只能放256字节?叫兽还是老老实实的当文员这种有前途的职业吧。
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2012-6-4 09:06 | 只看该作者
acqwer 发表于 2012-5-28 10:28
256字节的8051,罗叫兽莫非以为8051是8位所以只能放256字节?叫兽还是老老实实的当文员这种有前途的职业吧 ...

data是256字节,xdata只支持间接寻址,两条mov和一条movx指令,movx指令都在3~4个周期。
要命的是堆栈寄存器是8位的,超过8位的堆栈要通过一个函数来模拟16位堆栈。看看8051在进入一个函数前,是怎么保存堆栈的吧

?FUNC_ENTER_XDATA:
0006E5  25 18           ADD   A,XSP(L)
0006E7  C5 82           XCH   A,DPL
0006E9  C0 E0           PUSH  A
0006EB  E5 19           MOV   A,XSP(H)
0006ED  34 FF           ADDC  A,#0xFF
0006EF  C5 83           XCH   A,DPH
0006F1  C0 E0           PUSH  A
0006F3  E5 18           MOV   A,XSP(L)
0006F5  C3              CLR   C
0006F6  95 82           SUBB  A,DPL
0006F8  24 F9           ADD   A,#0xF9
0006FA  F8              MOV   R0,A
0006FB  E4              CLR   A
0006FC  C5 A8           XCH   A,IE
0006FE  85 83 19        MOV   XSP(H),DPH
000701  85 82 18        MOV   XSP(L),DPL
000704  C5 A8           XCH   A,IE
000706  E8              MOV   A,R0
000707  CE              XCH   A,R6
000708  F0              MOVX  @DPTR,A
000709  A3              INC   DPTR
00070A  E5 20           MOV   A,VB
00070C  F0              MOVX  @DPTR,A
00070D  A3              INC   DPTR
00070E  78 10           MOV   R0,#0x10
000710  E6              MOV   A,@R0
000711  08              INC   R0
000712  F0              MOVX  @DPTR,A
000713  A3              INC   DPTR
000714  DE FA           DJNZ  R6,0x0710
000716  EF              MOV   A,R7
000717  F0              MOVX  @DPTR,A
000718  A3              INC   DPTR
000719  E5 81           MOV   A,SP
00071B  24 FB           ADD   A,#0xFB
00071D  F8              MOV   R0,A
00071E  E6              MOV   A,@R0
00071F  08              INC   R0
000720  F0              MOVX  @DPTR,A
000721  A3              INC   DPTR
000722  E6              MOV   A,@R0
000723  08              INC   R0
000724  F0              MOVX  @DPTR,A
000725  A3              INC   DPTR
000726  08              INC   R0
000727  08              INC   R0
000728  E6              MOV   A,@R0
000729  08              INC   R0
00072A  F0              MOVX  @DPTR,A
00072B  A3              INC   DPTR
00072C  E6              MOV   A,@R0
00072D  08              INC   R0
00072E  F0              MOVX  @DPTR,A
00072F  A3              INC   DPTR
000730  15 81           DEC   SP
000732  15 81           DEC   SP
000734  D0 E0           POP   A
000736  FE              MOV   R6,A
000737  D0 E0           POP   A
000739  F8              MOV   R0,A
00073A  15 81           DEC   SP
00073C  15 81           DEC   SP
00073E  E8              MOV   A,R0
00073F  C0 E0           PUSH  A
000741  EE              MOV   A,R6
000742  C0 E0           PUSH  A
000744  22              RET
回复 支持 反对

使用道具 举报

14#
发表于 2012-6-4 10:02 | 只看该作者
本帖最后由 acqwer 于 2012-6-4 10:05 编辑
罗菜鸟 发表于 2012-6-4 09:06
data是256字节,xdata只支持间接寻址,两条mov和一条movx指令,movx指令都在3~4个周期。
要命的是堆栈寄 ...

叫兽说的是这个?想充内行好歹吧那些保留的寄存器去掉说个128字节吧。
回复 支持 反对

使用道具 举报

15#
发表于 2012-6-4 14:54 | 只看该作者
51单片机已经没多少搞头了,虽然很多关键设备都在用,但是一上来如果都是什么智能系统,安全性、稳定性出了问题就死了,比你一个PC 挂了惨的多。而且比较智能的设备,都是用arm的,不会用51.
回复 支持 反对

使用道具 举报

16#
 楼主| 发表于 2012-6-5 10:01 | 只看该作者
acqwer 发表于 2012-6-4 10:02
叫兽说的是这个?想充内行好歹吧那些保留的寄存器去掉说个128字节吧。

128个字节的直接寻址128个字节的间接寻址,外部寄存器也可以分配到Xdata上,比如DMA,RF,USB
回复 支持 反对

使用道具 举报

17#
发表于 2012-6-5 10:48 来自手机 | 只看该作者
这只是个笑话吧?
回复 支持 反对

使用道具 举报

18#
发表于 2012-6-5 11:13 | 只看该作者
罗菜鸟 发表于 2012-6-5 10:01
128个字节的直接寻址128个字节的间接寻址,外部寄存器也可以分配到Xdata上,比如DMA,RF,USB

叫兽为什么总喜欢拿些教科书上面的基本内容出来装B呢,莫非觉得这些东西很难?

即使这样还能经常出错。
回复 支持 反对

使用道具 举报

19#
 楼主| 发表于 2012-6-6 20:29 | 只看该作者
acqwer 发表于 2012-6-5 11:13
叫兽为什么总喜欢拿些教科书上面的基本内容出来装B呢,莫非觉得这些东西很难?

即使这样还能经常出错。 ...

这些都是老子的经验。
根据我自己总结的经验,8051编程,中断函数务必要做到几点。
1,中断函数不能有bank切换,必须用__near_bank申明。
2,中断函数不能使用局部变量,要使用全局变量,不然编译器在进入中断的时候会让CPU去压Xdata的堆栈。
3,中断要调度的全局变量,必须放在data中
综上所述,8051不适合运行操作系统,不适合多任务。cortex M就是一款专门为RTOS优化的操作系统,现在很多RTOS内存消耗很小,内核只有几百个字节,而且还免费。不知道这里有玩航模的没有,天地飞8通是一款经典的产品,futaba的那个带CE的万一死机,成了航模玩家的热门话题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-18 01:32

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表