feat: 生成測資
This commit is contained in:
parent
7eff1a23bf
commit
a1b1d292d4
54
data.py
Normal file
54
data.py
Normal file
@ -0,0 +1,54 @@
|
||||
from math import log2
|
||||
from random import randint
|
||||
|
||||
DATANUM = 10000
|
||||
|
||||
setNum = 2
|
||||
offsetBits = 7
|
||||
tagBits = 21
|
||||
|
||||
# setNum = int(input("Set: "))
|
||||
# offsetBits = int(input("offset bits: "))
|
||||
# tagBits = int(input("tag bits: "))
|
||||
|
||||
print("-machine(in bits) 32")
|
||||
print("-total_cache_size(in KB) 1")
|
||||
print("-num_cache_way 1")
|
||||
print("-block_size(in bytes) 512")
|
||||
print("")
|
||||
|
||||
|
||||
for i in range(DATANUM):
|
||||
ans = []
|
||||
|
||||
tagTouchBits = 4
|
||||
for i in range(tagBits-tagTouchBits):
|
||||
ans.append(0)
|
||||
for i in range(tagTouchBits):
|
||||
ans.append(randint(0, 1))
|
||||
|
||||
setBits = int(log2(setNum))
|
||||
for i in range(setBits):
|
||||
ans.append(randint(0, 1))
|
||||
|
||||
for i in range(offsetBits):
|
||||
ans.append(randint(0, 1))
|
||||
|
||||
# print(ans)
|
||||
|
||||
charStr = ""
|
||||
index = 0
|
||||
output = ""
|
||||
for i in ans:
|
||||
charStr += str(i)
|
||||
index += 1
|
||||
if index == 4:
|
||||
# print(charStr)
|
||||
base2 = int(charStr, 2)
|
||||
# print("base 2:", base2)
|
||||
output += hex(base2)[-1]
|
||||
charStr = ""
|
||||
index = 0
|
||||
|
||||
typeNum = randint(0, 1)
|
||||
print("{} 0x{}".format("R" if typeNum else "W", output))
|
||||
Loading…
Reference in New Issue
Block a user