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程序。

這是內存分佈情況。

安裝部分到這裏就結束了,接下來進行具體的實驗部分。

實驗部分本來是準備認真做的,結果發現實驗指導手冊上面的實驗步驟不是很好,我覺得有能力把《深入理解計算機系統》課後的家庭作業做出來的話,能力提升更快,當然這是建立在你把第四章瞭解地很透徹的基礎上!

最後總結,把書上的原理搞通才是根本所在。。。

發佈了259 篇原創文章 · 獲贊 7 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章