![]() The resulting address is called the channel address and is of the format: The correct home agent is selected for a address based on CBo SAD interleave rules that show it is in a DRAM address range, and the bits of the address that are used to interleave the address to the home agent are removed from the address when sent and would have been within the column part of the address the home agent then uses the address to select the correct logical channel using TAD interleaving rules ( TAD_DRAM_RULE_0 – 7 for 8 separate ranges that can be configured, which selects a logical channel in the corresponding TAD_INTERLEAVE_LIST_0) the logical channel is then converted to the correct physical channel using the CHM logical to physical one-to-one mapping register ( MC_CHANNEL_MAPPER), and finally the address is converted to a channel address on that physical channel using the corresponding SAG rule ( MC_SAG_CH0_0), which simply removes the bits used to interleave to the channel in the TAD DRAM rule, which would have been part of the column part of the address. A coherent 'system' address on modern Intel CPUs is sent to the correct home agent (memory controller) by the CBo LLC slice controller to which that address is originally interleaved to.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |