cachelab fixed
This commit is contained in:
BIN
cachelab/Cache
BIN
cachelab/Cache
Binary file not shown.
@ -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) {
|
||||
|
||||
@ -9,7 +9,9 @@ LDFLAGS +=
|
||||
LDLIBS += -lzstd
|
||||
|
||||
|
||||
CPPFLAGS := -O3 -Wall -Wextra -Winline -Winit-self -Wno-sequence-point\
|
||||
CPPFLAGS := -Ofast -Wall -Wextra -Winit-self \
|
||||
-Wno-unused-function -fPIC -W -Wcast-qual -Wpointer-arith -Icbsl/include
|
||||
#CPPFLAGS := -O3 -Wall -Wextra -Winline -Winit-self -Wno-sequence-point\
|
||||
-Wno-unused-function -Wno-inline -fPIC -W -Wcast-qual -Wpointer-arith -Icbsl/include
|
||||
|
||||
#CPPFLAGS := -g
|
||||
@ -20,7 +22,7 @@ objects = Cache.o CacheHelper.o getopt.o cbsl/src/buffer.o cbsl/src/file.o cbsl/
|
||||
all: $(PROGRAMS)
|
||||
|
||||
Cache : $(objects)
|
||||
gcc $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
||||
icpx $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
||||
rm -f $(objects)
|
||||
|
||||
clean:
|
||||
|
||||
Reference in New Issue
Block a user