昨天,当我在思考Why can’t OS use entire 64-bits for addressing?时,我发现了另一个有趣的事情。让我们以英特尔酷睿2双核处理器为例。
来自Intel Core 2 Duo Processor E8000 and E7000 Series - Datasheet的“4.2字母信号参考”我发现它有36条地址线& 64条数据线。数据表将地址行称为A [35:3],将数据行称为D [63:0]。
这究竟是什么意思?这是我从上面的理解(几个未解答的问题):
答案 0 :(得分:2)
芯片的字节使能(BE)引脚指定8字节块中的哪些位实际相关。
要访问地址0x1,你将所有零置于A [35:3]并设置BE [1](我可能有BE的引脚号和极性有点错误,但这个想法仍然正确)。
要访问字节0x3:0x0,将所有零置于A [35:3]并设置BE [3:0]。
这应该回答问题1,2和3。
关于问题4,实际上PAE允许您使用36位地址。在以后的处理器中,使用64位模式分页可以实现相同的效果。
无法帮助5 ...
答案 1 :(得分:0)
大约5: Core i7架构使用3个(片上)内存控制器(每个通道一个控制器),每个通道的宽度为64位。
但当然你不能使用3 * 64位,因为SSE单元用128位线连接到L1缓存(当然是两个64位Chache线)
这三个频道仅适用于同时快速预取不同的地址。
但是在GPR上,你只能使用64位(因为它是64位架构)。
地址空间也应该是36位,因为如果你永远无法连接这么多内存,那么你还需要其它位。