乐学11.3-11.7
本次作业作为第4章处理器体系结构的配套实验,以Y86-64顺序和流水线处理器仿真器为基础,
对Y86-64处理器进行性能优化。具体优化内容包括以下几个方面:
第一部分(Part A):编写Y86-64简单程序,熟悉Y86-64工具。
第二部分(Part B):扩展SEQ模拟器支持新的指令
第三部分(Part C):在前两部分的基础上,优化Y86-64基准测试程序和流水线处理器设计
将主要实验步骤说明和截图记录进实验报告,提交实验报告文件格式:学号姓名-Y86-64处理器实验.pdf
同时按照实验指导中要求提交相关文件,例如hcl,ys等文件。
附件: simguid-cn.pdf---Y86-64处理器模拟器使用指南 archlab-cn.pdf---Y86-64流水线性能优化实验指导 sim.tar --- Y86-64处理器模拟器源代码和测试程序 注意: 实验材料中附带archlab-cn.pdf,按照文档一步步操作。make时,可能会提示缺少相关依赖,安装如下软件即可:
sudo apt install tcl tcl-dev tk tk-dev
sudo apt install flex
sudo apt install bison
在PartB部分实验时,编译ssim的时候出现了很多问题:
>make VERSION=full
报错。提示不存在tk.h这个头文件,这是由于实验文件太老。把Makefile修改一下。第 20 行改为
TKINC=-isystem /usr/include/tcl8.6
第 26 行改为
CFLAGS=-Wall -O2 -DUSE_INTERP_RESULT
接下来还会报错
/usr/bin/ld: /tmp/ccKTMI04.o:(.data.rel+0x0): undefined reference to `matherr'
collect2: error: ld returned 1 exit status
make: *** [Makefile:44: ssim] Error 1
这是因为较新版本的glibc弃用了这部分内容
解决办法是注释掉/sim/pipe/psim.c 806、807 line和/sim/seq/ssim.c 844、845 line。即:有源代码中有matherr的一行和它的下一行
然后就能编译成功,忽略 Warning信息。
在PartC部分,编译psim时按照PartB部分同样修改即可通过make。
另外,在原杂项(misc)目录下Make文件中以下两行:
CFLAGS=-Wall -O1 -g
LCFLAGS=-O1
更新为以下两行:
CFLAGS=-Wall -O1 -g -fcommon
LCFLAGS=-O1 -fcommon