CSAPP:处理器体系结构实验

本实验主要由《深入理解计算机系统》第四章课后家庭作业问题组装起来形成的一个实验。实验主要是模拟一下自己设计的处理器如何执行Y86指令。而实验仅仅是一个模拟过程,实验前,应该透彻地搞懂真正的原理理论。这样,才会有事半功倍的效果。

做此实验首先要有模拟环境。而实验的模拟器安装却是比较复杂的,下面把我成功安装的工程记录一下(仅供参考,每个人的机器不一样,一些设置也会不一样)

Y86模拟器安装
无图形TTY模式运行--------

1,首先下载资源,资源名称为archlab-handout.Tar(网上搜索可以搜到)。
2,解压tar xvf archlab-handout.tar,一般包含以下四个文件:README, Makefile, sim.tar,archlab.pdf,and simguide.pdf.
3,解压sim.Tar文件:tar xvf sim.tar
4,进入sim目录:cd sim
5, 修改Makefile文件(sim目录下):
注释掉:
#GUIMODE=-DHAS_GUI
#TKLIBS=-L/usr/lib -ltk -ltcl
#TKINC=-isystem /usr/include
6,make clean;
   make;

搞定!此时所有的模拟器都会生成可执行文件包括misc(yas、yis、hcl2c)、pipe(psim)、seq(ssim、ssim+)、y86-code(pptest)等。下面简单程序测试以下:
../misc/yas asum.ys
../misc/yis asum.yo
../seq/ssim -h
../seq/ssim -t < asum.yo
../pipe/psim -t -g asum.Yo

有图形GUI模式运行--------
(注:在无图形TTY模式安装好的情况下,再继续有图形)【可能没必要,但我第一次是这样运行成功的】

对Ubuntu而言:
1,由于ubuntu默认没有lex词法分析工具,在编译时需要先安装flex
sudo apt-get install flex
然后安装tcl/tk
sudo apt-get install tcl8.5-dev tk8.5-dev tcl8.5 tk8.5
2,进入sim/seq目录下,修改Makefile
VERSION=full
GUIMODE=-DHAS_GUI
TKLIBS=-L/usr/local/lib -ltk8.5 -ltcl8.5 -lpthread -ldl -lx11
TKINC=-I/usr/local/include -I/usr/include/tcl8.5

可以参考
http://blog.chinaunix.net/u1/42908/showart_1960009.html
http://techblog.iamzellux.com/2008/03/ics-lab4/
3,Makefile修改完成后,make以下
   make clean;
   make VERSION=full ssim

这里注意,我们经常会看到象make VERSION=full ssim这样的语句,其实根本不需要这样,因为在Makefile文件里面已经设定了VERSION(默认情况下为full),而后直接make clean;make即可!当然,make VERSION=full ssim更加的具体化而已。当然,仔细的话可以发现:出现了seq-full.c文件,而且可执行文件只有ssim,没有了ssim+。为什么?只是因为VERSION问题。如果你把VERSION设置为std,make后则会同时出现seq-std.c、seq+.std.c以及两个可执行文件ssim、ssim+。你也可以具体化make,比如make VERSION=std ssim、make VERSION=std ssim+。


搞定!查看seq目录下是否有ssim可执行文件,有的话说明安装成功!测试一下:
./ssim -t asum.yo
./ssim -g asum.yo
此时应该会出现图形化界面了。

因为此时我们设置的VERSION为full而非std(标准版),所以结果只会出来ssim,而没有ssim+。而且此时运行./ssim -g asum.yo后出现的模拟器标题为“Y86 Processor:seq-full.hcl”。

 

psim的gui安装同上,首先进入sim/pipe,然后修改Makefile

基本操作同ssim。
make clean
make 

此时出现psim,运行./psim -g asum.yo将会出现如下效果:

 

这个是自己实现模拟处理器!

这个是加载的Y86程序。

这是内存分布情况。

安装部分到这里就结束了,接下来进行具体的实验部分。

实验部分本来是准备认真做的,结果发现实验指导手册上面的实验步骤不是很好,我觉得有能力把《深入理解计算机系统》课后的家庭作业做出来的话,能力提升更快,当然这是建立在你把第四章了解地很透彻的基础上!

最后总结,把书上的原理搞通才是根本所在。。。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值