我想这只是this的扩展。
现在,编译器将数据类型定义为整数,有符号和无符号以及浮点数,以便处理器可以正确使用它们。
但是说,处理器有一个地址。现在,RTN中的一个非常基本的添加指令就像是
ADD R1, R2
即R1 <- R1 + R2
。现在说寄存器R1
刚刚加载了一个包含32位浮点的内存地址,R2
有一个整数。
我想知道,处理器是如何以及何时准确知道的,程序(以指令格式?)告诉了R1
是一个浮点,R2
是整数?
还有一个,比如说,我随机发出一个我可以访问的内存地址,并要求处理器取出它的内容。现在,如果该位置具有浮点或整数,处理器如何知道。那么,它如何处理内容?
答案 0 :(得分:3)
它知道,因为你告诉它。在ia32处理器上,ADD
指令会添加整数。 FADD
添加浮点数(请参阅instruction reference)。要将float添加到整数,必须将float转换为整数,或将整数转换为float。
答案 1 :(得分:1)
没有。处理器只是对指定的寄存器或存储器地址执行指令。
答案 2 :(得分:0)
这是一个非常简单的问题。答案可以在任何计算机系统组织的书籍中找到。
看看下面的参考文献:
此外,搜索Little Endian / Big Endian格式。
这些有助于理解MSB / LSB中寄存器中二进制数据的组织方式。
其中一本好书是William Stallings的计算机系统架构。
希望它有所帮助。