鱼C论坛

 找回密码
 立即注册
查看: 3266|回复: 3

[已解决]如果没有指令集会怎样?

[复制链接]
发表于 2017-3-13 22:15:27 | 显示全部楼层 |阅读模式
20鱼币
理论上可以没有指令集吧?
在网上看到一句话
对电脑下达的每一个命令都需要CPU根据预先设定好的某一条指令来完成。  这些预先设定好的指令是预存在CPU中的。CPU依靠外来指令“激活”自己内存的指令,来计算和操控电脑。
上面说的预先存在cpu里的就是指令集,他这句话的意思说难道没有指令集内存的指令就是摆设?
我理解的指令集是优化和指导cpu运算
最佳答案
2017-3-13 22:15:28
才疏学浅,见笑了。

最佳答案

查看完整内容

才疏学浅,见笑了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-13 22:15:28 | 显示全部楼层    本楼为最佳答案   
才疏学浅,见笑了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-15 15:29:43 | 显示全部楼层
本帖最后由 兰陵月 于 2017-3-15 15:47 编辑

不要过于纠结指令、指令集之类的概念。

要理解的话,指令集就是指令的集合。

当然这个指令不是指什么汇编语言、C语言、Python语言等编程时的语法语言。

而是指直接操作CPU的二进制语言,即机器指令。

机器指令告诉CPU该做什么,做哪里,结果放到哪里。


比如下面这个改进版本的自动加法器
001.png

16位计数器(振荡器)不断产生振荡频率,

这个频率传到上面的存储器里,读取出来的就是指令,传到下面的存储器里,读取出来的就是数据。

指令就是告诉CPU要做什么的,本CPU的指令是针对本CPU来设计的,只有这个CPU才能按设计者的意图执行。

别的CPU就算能执行这个指令,但执行的结果肯定也不是设计者原有的意图。

因此CPU肯定是需要指令的,也是需要指令集的。没有所谓的绝对通用的指令集。


书本上还有如下的解释:
002.png

因此,如果没有指令集,汇编程序就不知道怎么把高级语言汇编成目的机器语言,自然也就不存在机器执行的问题。

当然,你自己直接编写你自己专属的机器语言用在你自己设计的专属的CPU上,这种极端情况当然也是可以的,但我想你并不会这么去做,对吗?!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-22 10:14:33 | 显示全部楼层
兰陵月 发表于 2017-3-15 15:29
不要过于纠结指令、指令集之类的概念。

要理解的话,指令集就是指令的集合。

你并没有解释清楚我问的东西,你给我解释了一串代码什么时候算指令什么时候算数据,然后你又给我解释了编译器是根据指令集来翻译汇编指令的,还有中间你给我解释了不同cpu的译码器翻译出来的操作不一样。。。解释的是很对,但好像跟我问的关系不大?  我问这个东西并不是纠结,这点想通了,很多地方都就通了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 12:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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