深入理解计算机系统 Y86 模拟器 讨论
最近解触CS:APP,读下来一发不可收拾。 是一本很不错的书。说说我 在读书过程中遇到的几个问题, 想必各位读过或正在读的兄弟也碰到了这些问题:
1、课后的提高习题(章节尾) 有一部分没有答案, 不知道有没有谁能弄到,或者设个定点的地方探讨探讨?
2、这本书的官网http://www.csapp.cs.cmu.edu/,其上提供了不少有用的资源,但部分资源需要申请帐号才能下载,本人正在申请,不知道能能成功。
哪位兄弟有的话,能否关注一下,看能不能找到习题答案,以及实习的资料?
3、关于第 4 章作者仿真的Y86处理器本人很感兴趣,编译通过了,但是始终加不进TCL,看不了图形的直观界面,有人能和我一起探讨吗?
4、对Y86的代码我会在今后仔细研究,希望能有收获跟大家分享。
-------------------------------------------------------------------- LZ再看看量化方法比较好,现在是第四版,影印的有了。 体系结构,楼主和prolj 能否介绍些经典的书。偶还没入门,呵呵!不过正准备大啃! 原帖由 run_xiao2000 于 2008-5-10 12:12 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
体系结构,楼主和prolj 能否介绍些经典的书。偶还没入门,呵呵!不过正准备大啃!
推荐2楼说的计算机系统结构-量化研究
http://product.dangdang.com/product.aspx?product_id=20013293
以前看过一部分,印象不是很深刻。很经典的一本书。
回复 #4 以泪洗面 的帖子
这个中文的评价不是很好,英文的也不太难,影印的也不贵:mrgreen: 原帖由 run_xiao2000 于 2008-5-10 12:12 发表 http://linux.chinaunix.net/bbs/images/common/back.gif体系结构,楼主和prolj 能否介绍些经典的书。偶还没入门,呵呵!不过正准备大啃!
推荐两本书,都是Hennessy和Patterson写的。
一本是CODSHI(Computer Organization and Design: The Hardware/Software Interface, 3rd Edition ),另一本就是CAAQA(Computer Architecture - A Quantitative Approach 4th Edition)。
前一本比较基础,着重讲CPU基本结构,后一本比较深,讲各种提高throughport的方法,主要是各种并行。 "3、关于第 4 章作者仿真的Y86处理器本人很感兴趣,编译通过了,但是始终加不进TCL,看不了图形的直观界面,有人能和我一起探讨吗? "
我已经编过,并成功启动GUI界面,第一安装TCL/TK开发包,第二修改sim目录下的Makefile,打开其中的GUIMODE=-DHAS_GUI项,并在TKINC=-isystem /usr/include 后面添加上 -I /usr/include/tcl8.4,再make clean; make, 编译完成随便挑一个模拟器,比如pipe/psim,>>psim ../y86-code/asum.yo,即可看到图形界面了! 好久没有弄这个了,停滞了很长时间了。一直有其他的东西要做。哎!我也是看到第四章。
但是我不理解的是,它是用多线程的方式模拟流水线CPU吗?因为本人比较好求根问底。模拟器里面的很多代码想搞明白,不想简单地按书上来做。可能这样的方式不对,毕竟本末倒置了,本来是学习设计CPU的,结果先研究编译原理,研究那个汇编器是怎么做出来的耗费不少时间。 gcc -Wall -O2 -c isa.c
gcc -Wall -O2 yis.o isa.o -o yis
gcc -Wall -O2 -c yas.c
gcc -O2 -c yas-grammar.c
gcc -Wall -O2 yas-grammar.o yas.o isa.o -lfl -o yas
bison -d hcl.y
flex hcl.lex
gcc -O2 node.c lex.yy.c hcl.tab.c outgen.c -o hcl2c
make: Leaving directory `/root/Desktop/sim/misc'
(cd pipe; make all GUIMODE=-DHAS_GUI TKLIBS="-L/usr/lib -ltk -ltcl" TKINC="-isystem /usr/include -I /usr/lib/tcl8.4")
make: Entering directory `/root/Desktop/sim/pipe'
# Building the pipe-std.hcl version of PIPE
../misc/hcl2c -n pipe-std.hcl < pipe-std.hcl > pipe-std.c
gcc -Wall -O2 -isystem /usr/include -I /usr/lib/tcl8.4 -I../misc -DHAS_GUI -o psim psim.c pipe-std.c \
../misc/isa.c -L/usr/lib -ltk -ltcl -lm
/tmp/ccrZ9Ts3.o: In function `sim_main':
psim.c:(.text+0x2baf): undefined reference to `Tk_Main'
collect2: ld 返回 1
make: *** 错误 1
make: Leaving directory `/root/Desktop/sim/pipe'
make: *** 错误 2
按照网的教程搞了一天。出现这样的错误,那位帮忙看一下谢谢了。 gcc -Wall -O2 -c isa.c
gcc -Wall -O2 yis.o isa.o -o yis
gcc -Wall -O2 -c yas.c
gcc -O2 -c yas-gra ...
清凉散人 发表于 2011-09-19 22:42 http://bbs.chinaunix.net/images/common/back.gif
出现这样的错误,自己去看代码然后修改啊,别人帮你不也只能这么干吗?
页:
[1]
2