跳到主要内容
SUN / 笔记
← 全部文章

介绍

乐学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

相关文章

lab说明 →Chapter 2 程序结构和执行 →CSAPP实验3:Attack →