呵呵,推演一下设计CPU的“心路历程”

[复制链接]
3066|13
 楼主| 拿起书本 发表于 2012-5-26 17:01 | 显示全部楼层 |阅读模式
为了节省产品成本,选择了比较便宜的NAND Flash与SDRAM,同样的价格可以买到大得多的容量,但天下没有白吃的午餐,朋友们可以把NAND Flash想像成硬盘,程序无法像mask ROM或NOR Flash一样,利用指针,给个地址就能读取,而是必须通过命令才能读写,程序当然也不能在NAND Flash上执行,而SDRAM则是有耗电流高缺点。出于产品需求,与成本考虑,厂商会设计出这样的CPU 自有原因。
现在咱们来推演一下设计这个cpu时的“心路历程”
1:因为产品内的资料量很大,基于成本考虑,不可能使用NOR Flash或mask ROM;
2:市面上大容量且价格合理的内存只有NAND Flash,但NAND Flash无法直接寻址操作,所以要把程序搬一RAM去执行,而SRAM相对较贵,所以最好选用SDRAM;
3:既然程序和资料都存储在无法寻址的NAND Flash,所以必然要有一段小程序将NAND Flash里的程序加载到RAM里面去执行,刚刚已经说过产品设计者不希望增加成本多使用一个NAND Flash或NOR Flash,所以这段小程序只能放在CPU里。
4:CPU里的内存也不便宜,所以这段程序size不能太大,也无法有太多的弹性,所以只能从NAND Flash的第一个block读出程序到RAM,而这个放在NAND Flash里的程序的大小也是有限制的;
5:CPU在设计时根本无法知道客户要用什么样的SDRAM,所以将程序从NAND Flash加载SDRAM是不实际的,刚好这系列的CPU内部都有一块RAM,原本是当做video RAM用的,正好可以把NAND Flash内的boot loader程序加载到这块内部RAM.
6:被CPU加载的程序有大小的限制,所以它就只能是boot loader,配置执行环境,初始化SDRAM,然后负责将主程序从NAND Flash中加载SDRAM,并将控制权交给主程序,从而完成激活程序。
txcy 发表于 2012-5-26 23:25 | 显示全部楼层
推演的很有道理
无冕之王 发表于 2012-5-26 23:31 | 显示全部楼层
提倡多思考
huangfeng33 发表于 2012-5-27 15:30 | 显示全部楼层
推演的不错,现在的CPU整合了各式各样的有,有的甚至有ROM和RAM,只要供给电源 就可以独立运行了。
jxmzzr 发表于 2012-5-27 22:48 | 显示全部楼层
很新颖的构思,不错的推演,CPU很有前景哦。呵呵
tianli1980 发表于 2012-6-1 22:52 | 显示全部楼层
喜欢这种逆向思维,推演的很有道理。顶一个
hhxb 发表于 2012-6-1 23:24 | 显示全部楼层
不知所云,lz设计过芯片吗?
lgnativs 发表于 2012-6-2 10:01 | 显示全部楼层
呃,这不是三星的S3C2440吗....
ARM的体系跟pc很类似啊
 楼主| 拿起书本 发表于 2012-6-2 17:00 | 显示全部楼层
7# hhxb
本人没有设计过芯片,只是推演。
总之,boot loader该做什么事情和CPU与硬件架构有关。
hhxb 发表于 2012-6-11 19:43 | 显示全部楼层
你标题应该写boot loader
正文讲的都是外围的东西。存在即合理,比如苹果为了节省面积定制的CPU把好几种功能的芯片封装在一起;

CPU重要的是内核,指令结构;
txcy 发表于 2012-6-11 20:33 | 显示全部楼层
楼主很有思想,值得学习
火箭球迷 发表于 2012-6-11 22:17 | 显示全部楼层
推演的很有调理,思路清晰
baidudz 发表于 2012-6-11 22:24 | 显示全部楼层
这种推演可以加深对一些知识的理解,很不错的学习方法
adce 发表于 2012-6-11 23:41 | 显示全部楼层
没写需求的设计有什么意义呢...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4194

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部