打印

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

[复制链接]
2228|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,只要供给电源 就可以独立运行了。

使用特权

评论回复
5
jxmzzr| | 2012-5-27 22:48 | 只看该作者
很新颖的构思,不错的推演,CPU很有前景哦。呵呵

使用特权

评论回复
6
tianli1980| | 2012-6-1 22:52 | 只看该作者
喜欢这种逆向思维,推演的很有道理。顶一个

使用特权

评论回复
7
hhxb| | 2012-6-1 23:24 | 只看该作者
不知所云,lz设计过芯片吗?

使用特权

评论回复
8
lgnativs| | 2012-6-2 10:01 | 只看该作者
呃,这不是三星的S3C2440吗....
ARM的体系跟pc很类似啊

使用特权

评论回复
9
拿起书本|  楼主 | 2012-6-2 17:00 | 只看该作者
7# hhxb
本人没有设计过芯片,只是推演。
总之,boot loader该做什么事情和CPU与硬件架构有关。

使用特权

评论回复
10
hhxb| | 2012-6-11 19:43 | 只看该作者
你标题应该写boot loader
正文讲的都是外围的东西。存在即合理,比如苹果为了节省面积定制的CPU把好几种功能的芯片封装在一起;

CPU重要的是内核,指令结构;

使用特权

评论回复
11
txcy| | 2012-6-11 20:33 | 只看该作者
楼主很有思想,值得学习

使用特权

评论回复
12
火箭球迷| | 2012-6-11 22:17 | 只看该作者
推演的很有调理,思路清晰

使用特权

评论回复
13
baidudz| | 2012-6-11 22:24 | 只看该作者
这种推演可以加深对一些知识的理解,很不错的学习方法

使用特权

评论回复
14
adce| | 2012-6-11 23:41 | 只看该作者
没写需求的设计有什么意义呢...

使用特权

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

本版积分规则

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

519

主题

4194

帖子

31

粉丝