阿摩線上測驗 登入

申論題資訊

試卷:104年 - 104 專技高考_電子工程技師:電子計算機原理#41860
科目:計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)
年份:104年
排序:0

題組內容

四、所有的多處理器系統均使用多層次快取記憶器(multilevel cache)架構,以提升系 統之性能。請回答下列問題:

申論題內容

⑵假設 L2 的區段大小(block size)為 L1 的四倍。說明當一個快取失誤(miss)造 成的 L1 與 L2 置換(replacement)時,可能導致多層次包含性質不成立的理由。 (10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

因此,當L2的區段大小是L1的四倍時,在進行L1和L2之間的置換操作時,數據對齊和同步更新的問題可能會導致多層次包含性質不成立。為了維持包含性質,需要額外的機制來保證在L2進行替換操作時,同步更新L1中的相關數據。

在多層次快取架構中,當L2的區段大小(block size)是L1的四倍時,可能會導致多層次包含性質(Multilevel Inclusion Property)不成立。這主要是由於快取失誤(cache miss)引起的置換(replacement)過程中,L1和L2之間的數據對齊和數據完整性問題。以下是詳細說明:

背景知識

多層次包含性質:在多層次快取系統中,較低層次(例如L1)中的所有數據必須存在於較高層次(例如L2)中。這意味著L1快取是L2快取的一個子集。

區段大小:L2的區段大小是L1的四倍,這意味著每當L1中需要填充一個區段時,需要從L2中讀取對應的更大區段。

情況分析

當L1快取發生失誤時,會從L2中取回數據並填充L1的快取區段。然而,由於L2的區段大小是L1的四倍,一次L1的填充會涉及到L2的一整個大區段。這可能導致以下情況:

  1. L1與L2對齊問題
    • 由於L2區段包含了多個L1區段,因此當L1中的某個區段需要替換時,可能只替換了L2區段的一部分。這會使得L1和L2之間的數據不再完全對齊。
  2. L2區段替換問題
    • 當L2中的一個區段被替換時,該區段包含的數據可能涉及到多個L1區段。如果L2進行替換時,沒有同步更新L1中的對應區段,則會導致L1中包含的數據在L2中不再存在,從而破壞多層次包含性質。

具體示例

假設L2的區段大小是64字節,而L1的區段大小是16字節。這意味著L2的一個區段會對應於L1的四個區段。

  • L1失誤情況: 當L1需要從地址0x00到0x0F的一個區段時,會從L2中取回地址0x00到0x3F的一整個區段。這樣,L1的四個區段(0x00-0x0F, 0x10-0x1F, 0x20-0x2F, 0x30-0x3F)都會在L2的同一個區段中存在。

  • L2失誤情況: 假設L2中的區段(0x00到0x3F)需要被替換,這時候該區段被新的數據覆蓋。然而,L1中包含這個區段的四個子區段(0x00-0x0F, 0x10-0x1F, 0x20-0x2F, 0x30-0x3F)依然存在。這違反了多層次包含性質,因為L1中依然有數據,但L2中已經不再包含這些數據。