两种访问模式,TLB 差多少

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

运行下面这段程序,填写它打印出来的结果。

PAGE = 16
PT = {0: 3, 1: 0, 2: 5}

def split(va):
    return va // PAGE, va % PAGE

def translate(va):
    vp, off = split(va)
    if vp not in PT:
        return -1
    return PT[vp] * PAGE + off
ENTRIES = 4

def tlb_run(vas):
    tags = [-1] * ENTRIES
    hit = 0
    miss = 0
    for va in vas:
        vp = va // PAGE
        line = vp % ENTRIES
        if tags[line] == vp:
            hit = hit + 1
        else:
            miss = miss + 1
            tags[line] = vp
    return hit, miss

same = tlb_run(list(range(8)))
jump = tlb_run([i * PAGE for i in range(8)])
print(str(same[0]) + "-" + str(same[1]) + "/"
      + str(jump[0]) + "-" + str(jump[1]))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论