免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
11 [报告]
发表于 2008-12-24 15:59 |只看该作者
我想对于初学者来说,这样说来可能理解不了,还不如用具体的应用例子来说明是最好的。

论坛徽章:
0
12 [报告]
发表于 2008-12-24 19:09 |只看该作者
原帖由 fineamy 于 2008-12-24 14:25 发表
高级语言抽象度太高。
如果换成汇编语言就好理解了。比如软件CPU吃汇编语言相对于硬件CPU吃二进制序列。之间的区别很小。
要说不同,可能就是软件CPU的汇编指令为字符序列,读取靠状态机(即词语法分析器)识 ...

楼主基本概念有问题。软件CPU不吃汇编语言,吃汇编代码的不叫软件CPU。你说的可能是交叉汇编器吧?我给你搞糊涂了。

论坛徽章:
0
13 [报告]
发表于 2008-12-24 19:32 |只看该作者
所谓软件CPU,是在某种机器上,用某种语言编写的一个软件,在这个软件上,可以“运行”某CPU的代码。
现在,我们看见得最多的,是在PC机上用C编写的单片机Intel 8051的纯软件仿真器。各种单片机差不多都有各种仿真器。其中的一个核心模块就是软件CPU。
软件CPU有很大的局限性。譬如,它不能仿真指令的时间特征。

论坛徽章:
0
14 [报告]
发表于 2008-12-24 21:00 |只看该作者

恩,

所谓软件CPU,是在某种机器上,用某种语言编写的一个软件,在这个软件上,可以“运行”某CPU的代码。
现在,我们看见得最多的,是在PC机上用C编写的单片机Intel 8051的纯软件仿真器。各种单片机差不多都有各种仿真器。其中的一个核心模块就是软件CPU。
软件CPU有很大的局限性。譬如,它不能仿真指令的时间特征。

说的不错,就是这个类似的东西。

论坛徽章:
0
15 [报告]
发表于 2008-12-25 01:10 |只看该作者

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
16 [报告]
发表于 2008-12-25 09:08 |只看该作者
原帖由 fineamy 于 2008-12-24 14:25 发表
高级语言抽象度太高。
如果换成汇编语言就好理解了。比如软件CPU吃汇编语言相对于硬件CPU吃二进制序列。之间的区别很小。
要说不同,可能就是软件CPU的汇编指令为字符序列,读取靠状态机(即词语法分析器)识 ...

这里的识别比起编译器对语法和词法的识别,根本不是同一档次

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
17 [报告]
发表于 2008-12-25 09:08 |只看该作者
再者,为了效率,软CPU"吃"的也是"机器语言",而非汇编

论坛徽章:
0
18 [报告]
发表于 2008-12-25 12:07 |只看该作者
讨论的不错,关注一下.

论坛徽章:
0
19 [报告]
发表于 2008-12-25 17:10 |只看该作者
mark

论坛徽章:
0
20 [报告]
发表于 2008-12-25 17:50 |只看该作者

效率未必

再者,为了效率,软CPU"吃"的也是"机器语言",而非汇编

诸如ls各位提供的软件CPU的例子基本都是模拟硬件CPU的。
这种情况下还是最好跟它模拟的硬件CPU一样吃二进制序列。这是由它的应用决定的。倒不是效率问题。
但是说到效率却未必就比直接吃汇编源代码高。软件吃二进制序列进去扫描或者译码时可想而知将涉及到很多位段操作,
比如一个32位指令
MOV R MEM
中MOV ,R,MEM都是位段,不足8位。
与其按二进制序列处理还不如用字符序列处理来的方便。
况且这些仿真器吃进的还是*.hex,*.bin,*.elf文件,还得扒一层呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP