轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
⚠️ 改了布局,结果不能变
👁️ 1 人浏览
💬 0 人评论
❤️ 添加收藏
把「错开地址」这个优化做完之后,验证两种布局
读到的数据完全一样
。
提交你的答案
请登录后提交答案。
去登录
← 把冲突也修掉
收官:出一份缓存优化报告 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
BLK = 4 LINES = 4 def sim(addrs, ways=1): sets = LINES // ways tags = [[None] * ways for _ in range(sets)] order = [[] for _ in range(sets)] hit = 0 miss = 0 for a in addrs: b = a // BLK s = b % sets if b in tags[s]: hit = hit + 1 order[s].remove(b) order[s].append(b) else: miss = miss + 1 if None in tags[s]: tags[s][tags[s].index(None)] = b else: old = order[s].pop(0) tags[s][tags[s].index(old)] = b order[s].append(b) return hit, miss DATA = list(range(100, 132)) bad = [0, 16] * 4 good = [0, 4] * 4 def read(addrs, remap): # TODO: 按 remap 把地址映射回原来的位置,再从 DATA 里取值 # TODO: 返回取到的值拼成的字符串 return "" x = read(bad, {0: 0, 16: 16}) y = read(good, {0: 0, 4: 16}) print(str(sim(bad)[1]) + "/" + str(sim(good)[1]) + "/" + x.split("/")[0] + "/" + ("一致" if x == y else "不一致"))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论