免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: fineamy
打印 上一主题 下一主题

什么是软件CPU [复制链接]

论坛徽章:
0
51 [报告]
发表于 2009-01-02 11:25 |只看该作者
1)“一般会把芯片切到多大模块去跑”???这话一点儿也不懂。不知道那帖主说的是什么?
2)这就要说到现有软件仿真器的仿真程度了。软件无法仿真一个任意简单低级的CPU的指令系统。如果对现有软件仿真器的仿真程度打个分,都在1分以下。机器指令的时效性,是无法回避的CPU特征之一。如果再加上外围设备的时效性,就更复杂。指令的时效性仅仅是难题之一,其它问题还有很多。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
52 [报告]
发表于 2009-01-02 11:34 |只看该作者
......有限状态机可以完全模拟.......
除非我们对这个有限状态机构造不够清楚
对于一个CPU来说,这个有限状态机尽管很复杂,但也依然可以被全部勾画出来

论坛徽章:
0
53 [报告]
发表于 2009-01-02 12:01 |只看该作者
原帖由 cjaizss 于 2009-1-2 11:34 发表
......有限状态机可以完全模拟.......
除非我们对这个有限状态机构造不够清楚
对于一个CPU来说,这个有限状态机尽管很复杂,但也依然可以被全部勾画出来

你把两码事搅在一起了。
1)“有限状态机”是一个理论概念。“有限状态机可以完全模拟”,是说可以用硬件把“有限状态机”实现出来。
2)而所谓软件CPU,是用软件仿真一个硬件CPU。
前者的可行性,不能用来证明后者的可行性。

[ 本帖最后由 beepbug 于 2009-1-2 12:04 编辑 ]

论坛徽章:
0
54 [报告]
发表于 2009-01-02 12:25 |只看该作者

有点夸张

1)“一般会把芯片切到多大模块去跑”???这话一点儿也不懂。不知道那帖主说的是什么?
2)这就要说到现有软件仿真器的仿真程度了。软件无法仿真一个任意简单低级的CPU的指令系统。如果对现有软件仿真器的仿真程度打个分,都在1分以下。机器指令的时效性,是无法回避的CPU特征之一。如果再加上外围设备的时效性,就更复杂。指令的时效性仅仅是难题之一,其它问题还有很多。

说到仿真
软件和硬件不在同一个时空内。因此软件可以模拟几乎任何硬件时效性,只是“精度”问题。也因此,就不要在硬件的时空内,讲软件的失效性了。不过硬件仿真器关注这一点。
讲到软件,估计都是想到PC,也即数字计算机。
实质是数字技术去模拟另一个数字设备或模拟设备。
从这一点上,软件可以模拟几乎任何现实中你所能想到的行为或现象。只要你能够想到合适的数学模型去让它做。
对数字设备,如CPU,绝对可以完全模拟。
对模拟设备,绝对可以完全逼近。在你的精度要求下,几乎可以认为完全模拟。
这是原理上的。数字可以模拟模拟。这个数学上有一整套完整的理论垫基。
事实上,好像几乎能想到的硬件行为或现象软件都可以模拟的了吧?
再有,数字CPU的仿真在MODIESIM中是很简单的事情,即使是“时效性”,当然这个时效性要放在它的时空内来谈。
可以仿真到任何你想看到的数字时刻的任何信号的状态。包括时效性。
即使是包括所有CPU外设,即整个数字芯片系统,也依然可以办到完全仿真。
另外,即使你是模拟设备,用数字模拟混合仿真也可以完全模拟系统。比如PSpice的仿真。
软件几乎无所不能,当然难点也很多。通常,数学模型越接近现实,难度越大。
也正因为是难道大,才要仿真。看起来有点矛盾。
别忘了,电子计算机的诞生推动了数学的巨大发展,诞生了很多新的分支。好多以前不能解决的问题,现在借助计算机都可以很轻易的解决。
这方面例子太多了。
注:硬件仿真器是指用硬件实现的仿真器。

[ 本帖最后由 fineamy 于 2009-1-2 13:33 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
55 [报告]
发表于 2009-01-02 12:43 |只看该作者
当然,如果不优化,每个clock都把所有状态都计算一遍,那么仿真速度确实会慢的像蜗牛

论坛徽章:
0
56 [报告]
发表于 2009-01-02 12:59 |只看该作者

同意

1)“有限状态机”是一个理论概念。“有限状态机可以完全模拟”,是说可以用硬件把“有限状态机”实现出来。
2)而所谓软件CPU,是用软件仿真一个硬件CPU。
前者的可行性,不能用来证明后者的可行性。

用A做的C去证明B做的C,的确没有任何方法可以证明。
B是现实器件,具有随机性,非线性等
所以通常说,在一定的条件下,假设。
因此A,B大家都有一个理想参照。
这里仿真就是分析,硬件实现即实验,
企图用分析代替实验是永远不可能的。

[ 本帖最后由 fineamy 于 2009-1-2 13:03 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
57 [报告]
发表于 2009-01-02 13:09 |只看该作者
原帖由 cjaizss 于 2009-1-2 12:43 发表
当然,如果不优化,每个clock都把所有状态都计算一遍,那么仿真速度确实会慢的像蜗牛

所以才有功能上的仿真和时序上的仿真之分!
功能上的仿真所用的软状态机与实际的硬件状态机并非一致,而时序仿真则是一致的.

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
58 [报告]
发表于 2009-01-02 13:17 |只看该作者
原帖由 beepbug 于 2009-1-2 12:01 发表

你把两码事搅在一起了。
1)“有限状态机”是一个理论概念。“有限状态机可以完全模拟”,是说可以用硬件把“有限状态机”实现出来。
2)而所谓软件CPU,是用软件仿真一个硬件CPU。
前者的可行性,不能用来 ...

我在这里说的是时序仿真
modelsim的时序仿真是按每个clock来计算,描述相同的状态机,没有足够智能,速度其实比较慢
用软件仿真一个cpu,看是拿来干什么事,为什么要仿真.
比如我仿真它是拿来运行的,而不是为了测试性能的,那就是一个完全实打实的功能仿真,我们一点都不需要那边硬件的结构怎么样,我们只需要知道 硬件的接口怎么样就行了,因为他是拿来实际用的,只要接口一致就行,至于被仿真本身的X件的效率,越高则越好.
然而时序仿真是完全不同的意思

论坛徽章:
0
59 [报告]
发表于 2009-01-02 13:25 |只看该作者

回复 #57 cjaizss 的帖子

人们无法一时仿出所有关心的特性。难度问题。
于是分了很多来仿真验证不同的关注点。
比如分了行为仿,功能仿,FPGA仿等等,后面还有什么逻辑等效性。
还有很多比如工艺提供方,制造商等等一堆人所做的

论坛徽章:
0
60 [报告]
发表于 2009-01-02 13:30 |只看该作者

所以

要把大家关注点弄一致。
也即有假设条件
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP