Memory 确定特定计算机中有多少内存插槽可用?

Memory 确定特定计算机中有多少内存插槽可用?,memory,hex,32bit-64bit,ram,Memory,Hex,32bit 64bit,Ram,我用课本自学汇编语言,我有一个问题是关于计算机内存的。它说32位PC中可能的内存是4294967296,也就是4GB。这是因为最后一个内存位置是ffffffffffbase 16(那里有8个F)。它还说,2^10是1KB,2^30是1GB等等。它还针对64位机器,说64位模式可以在内部存储64位地址,“在本书编写时,处理器最多使用可能的64位中的48位”。它接着说,这个限制是不匹配的,因为它可以寻址多达2^48字节的物理内存(256TB),这是32位系统中最大容量的65536倍。最后还讨论了RA

我用课本自学汇编语言,我有一个问题是关于计算机内存的。它说32位PC中可能的内存是4294967296,也就是4GB。这是因为最后一个内存位置是ffffffffffbase 16(那里有8个F)。它还说,2^10是1KB,2^30是1GB等等。它还针对64位机器,说64位模式可以在内部存储64位地址,“在本书编写时,处理器最多使用可能的64位中的48位”。它接着说,这个限制是不匹配的,因为它可以寻址多达2^48字节的物理内存(256TB),这是32位系统中最大容量的65536倍。最后还讨论了RAM以及它如何基本上提供内存扩展。好吧,好吧,我只想告诉你们我的书一直在告诉我什么,所以它有一个问题:

假设您购买的是一台64位PC,内存为2GB。安装内存“最后”字节的16位十六进制数字是多少

我试图解决这个问题,说我们从boook知道2^30=1GB,我说2^x=2GB。然后我知道一个物理地址是一个字节,所以我将2GB转换为相应的字节数。然后我取了以2为底的日志,记录了x需要解多少字节。我最终得到了2^31,但这是一个很大的工作。然后我将其转换为十六进制,得到8000000个基数16。当时我被难住了。我看了一下书后面的答案,上面写着:

2*3^20=2^31=8000000基数16,因此最后一个地址是00000000 7FFFFFFF

这本书是怎么得到3^20的?这甚至不等于2^31,当你乘以2的时候。你如何解决这个问题

此外,RAM是如何和内存相对应的,它是物理内存的扩展吗?这本书实际上并没有这么说,只是说每次电脑关机时它都会从电脑上消失,等等。你能给我更多的见解吗

谢谢,
-丹你的书是什么?给我一个名字好吗?这样我就可以查看关于这个的原始内容了。现在我觉得这是本书的一个错误,是打字错误。2^31=2*2^30当然。这本书叫《80x86汇编语言和计算机体系结构导论》