如果没有指令集会怎样?
理论上可以没有指令集吧?在网上看到一句话
对电脑下达的每一个命令都需要CPU根据预先设定好的某一条指令来完成。 这些预先设定好的指令是预存在CPU中的。CPU依靠外来指令“激活”自己内存的指令,来计算和操控电脑。
上面说的预先存在cpu里的就是指令集,他这句话的意思说难道没有指令集内存的指令就是摆设?
我理解的指令集是优化和指导cpu运算
。 才疏学浅,见笑了。{:10_262:} 本帖最后由 兰陵月 于 2017-3-15 15:47 编辑
不要过于纠结指令、指令集之类的概念。
要理解的话,指令集就是指令的集合。
当然这个指令不是指什么汇编语言、C语言、Python语言等编程时的语法语言。
而是指直接操作CPU的二进制语言,即机器指令。
机器指令告诉CPU该做什么,做哪里,结果放到哪里。
比如下面这个改进版本的自动加法器
16位计数器(振荡器)不断产生振荡频率,
这个频率传到上面的存储器里,读取出来的就是指令,传到下面的存储器里,读取出来的就是数据。
指令就是告诉CPU要做什么的,本CPU的指令是针对本CPU来设计的,只有这个CPU才能按设计者的意图执行。
别的CPU就算能执行这个指令,但执行的结果肯定也不是设计者原有的意图。
因此CPU肯定是需要指令的,也是需要指令集的。没有所谓的绝对通用的指令集。
书本上还有如下的解释:
因此,如果没有指令集,汇编程序就不知道怎么把高级语言汇编成目的机器语言,自然也就不存在机器执行的问题。
当然,你自己直接编写你自己专属的机器语言用在你自己设计的专属的CPU上,这种极端情况当然也是可以的,但我想你并不会这么去做,对吗?! 兰陵月 发表于 2017-3-15 15:29
不要过于纠结指令、指令集之类的概念。
要理解的话,指令集就是指令的集合。
你并没有解释清楚我问的东西,你给我解释了一串代码什么时候算指令什么时候算数据,然后你又给我解释了编译器是根据指令集来翻译汇编指令的,还有中间你给我解释了不同cpu的译码器翻译出来的操作不一样。。。解释的是很对,但好像跟我问的关系不大?我问这个东西并不是纠结,这点想通了,很多地方都就通了
页:
[1]