tlb

    1熱度

    1回答

    我目前正在學習虛擬內存,並且遇到了關於TLB未命中和頁面錯誤的幾個問題。我的理解是: 當你有TLB未命中時,你去PT。如果PT有一個命中,那麼很好,你將PT條目從內存複製到TLB。 當你有一個TLB未命中,而你也錯過了當你去PT時,然後你去到磁盤,並將頁面複製到PT。 此時,您已將頁面複製到PT,但是您是否更新了TLB?例如,您是否也將該頁面複製到TLB?或者你只更新PT? 謝謝!

    3熱度

    1回答

    假設TLB命中率爲90%,物理內存訪問時間爲100ns,TLB訪問時間爲20 ns,計算使用兩個級別頁表的處理器的有效訪問時間以及並行TLB和頁表索引。 這是我的公式: (H)(TLB access time + mem access time) + (1-H)(TLB access + PT access + mem access) 這是我的計算: EAT = [(.90) * (100ns

    0熱度

    2回答

    典型的有20%的存儲器指令。假設有5%的數據TLB未命中,每個需要100個週期來處理。假設每個指令需要1個週期來執行,每個存儲器操作在高速緩存1週期中,10%的數據訪問是高速緩存未命中,每個高速緩存未命中是15個週期,因此執行1000條指令需要多長時間。 我不知道答案,但我與TLB和緩存的混淆相混淆,我的印象是緩存和TLB是相同的東西?

    1熱度

    1回答

    這個問題是與此相關的一個: While "fork"ing a process, why does Linux kernel copy the content of kernel page table for every newly created process? 我發現,Linux內核試圖避免更新TTBR通過交換技術的頁表的內容複製到在功能上每個新創建的頁表用戶空間和內核土地之間切換時pgd_

    1熱度

    1回答

    我知道如何通過TLB &緩存幫助cpu訪問數據。 但我很困惑,無論是數據緩存& TLB共享相同的CPU緩存或MMU硬件有單獨的緩存TLB。在發生上下文切換時,誰將刷新TLB和數據緩存的內容?

    2熱度

    1回答

    應用程序使用虛擬內存。這是一個很好的概念,我們可以把它看作一個連續的塊,不需要關心它是否在物理RAM中是連續的,或者它是否在硬盤上。 據我所知,虛擬地址和物理地址之間的映射直接由CPU(或至少在硬件中)使用翻譯後備緩衝區完成。 我假設內核以某種方式維持TLB的內容,但這裏的地方,我有點卡住,所以我有3個疑問: 什麼是查詢,閱讀和具體的彙編指令編寫TLB的內容?我不是很幸運的搜索與本主題相關的操作碼

    1熱度

    1回答

    有誰知道計算有效地址轉換時間的公式嗎? 例如,如何解決以下問題: 給定一個信息,如下: 的TLB可以容納1024個條目,並且可以在1個時鐘週期被訪問(1納秒) 。 頁表條目可以在100個時鐘週期或100納秒中找到。 平均頁面更換時間爲6毫秒。 如果頁面引用由99%的時間由TLB處理,只有0.01%導致頁面錯誤,那麼有效的地址轉換時間是多少? 那麼它是1納秒+(0.01%x 100納秒)?

    1熱度

    1回答

    在Intel頁表結構中,存在「頁全局」位,表示 頁表項是全局使用的。 根據我的理解,在覆蓋CR3引起的TLB刷新期間,此全局條目不會被刷新爲 。 我的問題是,我們可以假設全球PTE條目一旦設置就永遠不會被TLB刷新?

    0熱度

    3回答

    在arm平臺上,u-boot會在開始時使TLB,icache和BP數組無效,但是原因是什麼?有必要嗎? cpu_init_crit: /* * Invalidate L1 I/D */ mov r0, #0 @ set up for MCR mcr p15, 0, r0, c8, c7, 0 @ invalidate TLBs mcr p15, 0, r0, c7, c5, 0 @

    2熱度

    1回答

    我想了解關於緩存的整個結構和概念。當我們使用TLB將虛擬地址快速映射到物理地址時,如果我們使用虛擬索引的物理標記的L1高速緩存,可以將虛擬地址轉換與L1高速緩存訪​​問重疊嗎?