cachelab fixed

This commit is contained in:
2025-04-25 08:29:08 +08:00
parent 44051e5098
commit 421a8ac1a4
3 changed files with 9 additions and 10 deletions

View File

@@ -595,8 +595,7 @@ UINT8 AccessDataCache(UINT64 Address, UINT8 Operation, UINT8 DataSize,
UINT8 MissFlag = 'M';
UINT64 ReadValue = 0;
// 仅用于处理函数实现,实际不使用结果
char _unused_L2Result;
char L2Result;
// 检查命中
for (int i = 0; i < DCACHE_LINE_PER_SET; i++) {
@@ -735,7 +734,7 @@ UINT8 AccessDataCache(UINT64 Address, UINT8 Operation, UINT8 DataSize,
}
// 先从L2加载新行到L1
_unused_L2Result = LoadDataFromL2ToL1(Address, Set, replace_Line);
L2Result = LoadDataFromL2ToL1(Address, Set, replace_Line);
DCache[Set].Line[replace_Line].Valid = 1;
DCache[Set].Line[replace_Line].Tag = Tag;
@@ -796,7 +795,7 @@ UINT8 AccessDataCache(UINT64 Address, UINT8 Operation, UINT8 DataSize,
}
// 先从L2加载新行到L1
_unused_L2Result = LoadDataFromL2ToL1(Address, Set, replace_Line);
L2Result = LoadDataFromL2ToL1(Address, Set, replace_Line);
DCache[Set].Line[replace_Line].Valid = 1;
DCache[Set].Line[replace_Line].Tag = Tag;
@@ -874,9 +873,7 @@ UINT8 AccessInstCache(UINT64 Address, UINT8 Operation, UINT8 InstSize,
UINT8 HitLine;
UINT8 MissFlag = 'M';
UINT64 ReadValue = 0;
// 仅用于处理函数实现,实际不使用结果
char _unused_L2Result;
UINT32 L2Result;
*InstResult = 0;
@@ -941,7 +938,7 @@ UINT8 AccessInstCache(UINT64 Address, UINT8 Operation, UINT8 InstSize,
UINT8 replace_line = GetReplaceLineInst(set);
// 从L2加载数据到I-Cache
_unused_L2Result = LoadInstFromL2ToICache(Address, set, replace_line);
L2Result = LoadInstFromL2ToICache(Address, set, replace_line);
// 重新读取指令
switch (InstSize) {