指令和数据在形式上没有差别,且都存在于存储器中,计算机如何区分它们?
指令和数据在计算器内部都是用二进制表示的,形式一致。
如果是指令,CPU会把指令操作码送到指令译码器进行译码,而把指令的地址码送到相应的地方进行处理;
如果是数据,则送到寄存器或运算器;
CPU如何区分?
CPU是在读出之前就知道要读的信息是数据还是指令。
执行指令的过程分为取指令、指令译码、取操作数、运算、送结果等。
所以在取指令阶段,根据程序计数器(PC)的值取指令,所以此时取来的一定是指令;去操作数阶段取来的一定是数据。
综上,CPU区分从存储器取出的是指令还是数据的依据是:
指令和数据的访问阶段不同