找出拐点在哪
从上一题那四个数里,找出涨幅最大的那一段,给出「从几到几 / 涨了几倍」。
开始练习 →
清不清场,量出来差多少
同一段访问,一次从空缓存开始、一次接着上一轮的缓存跑。把两次的未命中次数都打出来。
开始练习 →
把未命中换算成代价
按「命中算 4、未命中算 200」的口径,算出两种数据量下的总代价和倍数。
开始练习 →
多核之后多了什么麻烦
每个核各有自己的缓存。这带来的新麻烦是【0】。
开始练习 →
一个核改了数据,别人怎么办
一个核改了自己缓存里的某一块,别的核缓存里那一块【0】。
开始练习 →
一致性协议的代价落在哪
维护缓存一致性的代价,主要落在【0】。
开始练习 →
两个核轮流改同一块
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def traffic(seq): owner = -1 moves = 0 for core, addr in seq: b = addr
开始练习 →
改成各改各的块
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def traffic(seq): owner = {} moves = 0 for core, addr in seq: b = addr
开始练习 →
自己写:数一数块搬了几趟
每一块同一时刻只能归一个核。核一换,就记一趟搬运。
开始练习 →
同一块里改不同位置
两个核改的是同一块里的不同位置(地址 0 和地址 1)。数一数搬了几趟,再和「各改各块」比一比。
开始练习 →