发布网友 发布时间:2022-04-29 19:01
共1个回答
热心网友 时间:2022-06-20 04:23
计算机在读取指令时,无需知道操作码到底有多少位。就好比我们读一本书,无需事先知道这本书有多少页多少字一样。它有读取的固定格式,比如8位、16位、32位、64位等格式。早期的计算机是从4位开始的。比如一条指令是39位,那么4位的计算机就读9+1次就完成了。9次是满位的(4X9=36),加1次(3余1位)。现在的家用计算机已经升级到64位了,只要读1次(39余25位)。而想知道指令到底有多少位,只要看它的满位次数余额或满位加余额就知道指令是多少位了。追问很感谢你的回答,不过我的问题不是计算机如何判断取出一条指令有多少位,这个我知道,而是一条指令由操作码和地址码组成,那取出了一条指令后,通过OP(IR)送至CU,cpu是如何准确的获得操作码的,因为只有获得操作码,cpu才能分析指令然后执行,是在取址之前就已经通过某种方式告诉CPU操作码有多少位了吗?追答这是肯定的,取址之前需要将取址指令转换成二进制码,然后由CPU的逻辑运算后,就能准确得出多少位,而多少位或者说什么逻辑结果,对应的是什么执行机构或数据总线,通过“寄存器”的输出即可显示或输出执行指令。