我的cpuinfo文件顯示我的處理器的地址大小爲39位物理地址,48位虛擬地址。這讓我陷入了一些困惑。英特爾i5中的地址尺寸
礦是64位機器。據我所知,這是我的機器的字大小。也就是說,它將以8字節的塊形式從內存中獲取數據。另外,64位機器意味着CPU可以尋址2^64字節的可尋址位置,這是很多的。所以,製造商削減了這些線路中的一部分。
這裏有幾個問題:
如果CPU只生成邏輯地址,那麼,什麼是需要具有39位物理地址大小。
當我們說CPU可以訪問2^64字節時,我們是指物理內存還是虛擬內存?
我在某處讀到64位機器的寄存器大小爲64位,而32位機器有32位寄存器。是這樣嗎?
我想我很困惑自己,需要一些幫助。任何其他信息,將不勝感激。謝謝!
不,所有這些都是過於簡單化。首先,你的CPU每次從內存中獲取數據** **字節**(整個緩存行)。內核可以從緩存16或32字節讀取/寫入數據(SSE或AVX向量128b或256b)。理論上「字大小」不錯,但真正的CPU有不同的寬度。 –