![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/3b325823-9484-401f-9a2b-97beb3f20a5d/3b325823-9484-401f-9a2b-97beb3f20a5dpic.jpg)
![計(jì)算機(jī)組成原理課程設(shè)計(jì)--簡(jiǎn)單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/3b325823-9484-401f-9a2b-97beb3f20a5d/3b325823-9484-401f-9a2b-97beb3f20a5d1.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 題 目:基于微程序控制器的簡(jiǎn)單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 班 級(jí):</p><p> 學(xué) 號(hào):</p><p> 姓 名:</p>
2、;<p> 電 話:</p><p> 郵 件:</p><p> 實(shí) 驗(yàn) 臺(tái):</p><p> 完成日期:2012-03-04 周日下午</p><p> 指導(dǎo)教師:</p><p><b> 目 錄</b></p><p> 1 課程
3、設(shè)計(jì)概述7</p><p> 1.1 課設(shè)目的7</p><p> 1.2 設(shè)計(jì)任務(wù)7</p><p> 1.3 設(shè)計(jì)要求8</p><p> 2 實(shí)驗(yàn)原理與環(huán)境9</p><p> 2.1 實(shí)驗(yàn)原理9</p><p> 2.2 實(shí)驗(yàn)環(huán)境9</p><
4、;p> 3 總體方案設(shè)計(jì)10</p><p> 3.1 需求分析10</p><p> 3.2 硬件設(shè)計(jì)10</p><p> 3.3 軟件設(shè)計(jì)16</p><p> 4 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)18</p><p> 4.1 選用芯片18</p><p> 4.2 硬件實(shí)
5、現(xiàn)24</p><p> 4.3 軟件實(shí)現(xiàn)30</p><p> 5 實(shí)驗(yàn)過(guò)程與調(diào)試48</p><p> 5.1 仿真XXX48</p><p> 5.2 主要故障與調(diào)試49</p><p> 5.3 功能測(cè)試51</p><p> 5.4 實(shí)驗(yàn)流程圖53</p
6、><p> 6 設(shè)計(jì)總結(jié)與心得55</p><p> 6.1 課設(shè)總結(jié)55</p><p> 6.2 課設(shè)心得57</p><p><b> 參考文獻(xiàn)59</b></p><p><b> 1、課程設(shè)計(jì)概述</b></p><p><
7、;b> 1.1課設(shè)目的</b></p><p> 計(jì)算機(jī)組成原理是計(jì)算機(jī)專業(yè)的核心專業(yè)基礎(chǔ)課,也是作為計(jì)算機(jī)專業(yè)的學(xué)生應(yīng)該要好好掌握的重要學(xué)科。課程設(shè)計(jì)屬于設(shè)計(jì)型實(shí)驗(yàn),不僅鍛煉學(xué)生簡(jiǎn)單計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)能力,考驗(yàn)同學(xué)的創(chuàng)新思維,而且通過(guò)進(jìn)行設(shè)計(jì)及實(shí)現(xiàn),進(jìn)一步提高分析和解決問(wèn)題的能力。再者,組成原理課設(shè)也是對(duì)學(xué)生們一個(gè)學(xué)期的學(xué)習(xí)成果的檢驗(yàn)和鞏固,也是同學(xué)們提高分析、定位、排錯(cuò)能力的一次機(jī)會(huì)。&l
8、t;/p><p><b> 1.2設(shè)計(jì)任務(wù)</b></p><p> 計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的總體目標(biāo)是設(shè)計(jì)模型機(jī)系統(tǒng)的總體結(jié)構(gòu)、指令系統(tǒng)和時(shí)序信號(hào)。在對(duì)該模型機(jī)系統(tǒng)中的部件功能利用EDA軟件的仿真功能進(jìn)行仿真分析和功能驗(yàn)證的基礎(chǔ)上,將部分電路下載到FPGA,并與適當(dāng)?shù)耐鈬骷?包括部分芯片、輸入/輸出開(kāi)關(guān)、LED顯示等)相配合,實(shí)現(xiàn)模型機(jī)的主機(jī)系統(tǒng)。</p>
9、<p> 要求所設(shè)計(jì)的主機(jī)系統(tǒng)能支持自動(dòng)和單步運(yùn)行方式,能正確地執(zhí)行存放在主存中程序的功能,對(duì)主要的數(shù)據(jù)流和控制流通過(guò)LED適時(shí)顯示信息。</p><p><b> 具體如下:</b></p><p> 設(shè)計(jì)微程序控制器或硬布線控制器或基于微程序和硬布線相結(jié)合方式的CPU控制器;</p><p> 利用所設(shè)計(jì)的CPU組成一臺(tái)功
10、能完整的模型機(jī)并基于實(shí)驗(yàn)平臺(tái)實(shí)現(xiàn).要求部分功能利用FPGA實(shí)現(xiàn),部分功能用芯片連接實(shí)現(xiàn);</p><p> 所設(shè)計(jì)的模型機(jī)支持加法減運(yùn)算等基本的算術(shù)運(yùn)算指令、支持邏輯運(yùn)算類指令、支持存儲(chǔ)器讀寫指令、支持寄存器間數(shù)據(jù)傳送等幾類指令、支持定點(diǎn)數(shù)的溢出判斷;</p><p> 支持立即數(shù)尋址、直接尋址、隱含尋址、間接尋址(寄存器尋址)等幾種基本的尋址方式;</p><p&
11、gt; 能支持10條以上的指令;</p><p> 能運(yùn)行由自己設(shè)計(jì)的CPU所支持的指令系統(tǒng)構(gòu)成的一段程序,程序執(zhí)行功能正確;</p><p> 根據(jù)課程設(shè)計(jì)指導(dǎo)書和本次課程設(shè)計(jì)的具體要求,制定出設(shè)計(jì)方案。確定CPU 的基本結(jié)構(gòu)是采用總線方式還是采用專用通路方式;</p><p> 畫出自己所設(shè)計(jì)計(jì)算機(jī)系統(tǒng)的原理框圖和器件連接圖,分析器件連接圖中各器件不同引
12、腳的功能,哪些可以固定連接,哪些需要通過(guò)微程序來(lái)控制,以及這些控制信號(hào)的有效形式;</p><p> 畫出各指令的指令周期流程圖和所需要的控制信號(hào);</p><p> 布線、調(diào)試、驗(yàn)收; </p><p> 鼓勵(lì)完成上述基本功能的基礎(chǔ)上進(jìn)行適當(dāng)擴(kuò)展,比如支持流水線、支持其他尋址方式等。</p><p><b> 1.3設(shè)計(jì)要
13、求</b></p><p> 根據(jù)理論課程所學(xué)的至少,設(shè)計(jì)出簡(jiǎn)單計(jì)算機(jī)系統(tǒng)的總體方案,結(jié)合各單元實(shí)驗(yàn)積累和課堂上所學(xué)知識(shí),選擇適當(dāng)芯片,設(shè)計(jì)簡(jiǎn)單的計(jì)算機(jī)系統(tǒng),具體要求如下:</p><p> 利用各單元實(shí)驗(yàn)和課堂上所學(xué)知識(shí),選擇適當(dāng)?shù)男酒?,設(shè)計(jì)簡(jiǎn)單的計(jì)算機(jī)系統(tǒng);</p><p> 在完成數(shù)據(jù)通路設(shè)計(jì)并驗(yàn)證數(shù)據(jù)通路功能的基礎(chǔ)上增加指令和微指令控制的功
14、能;</p><p> 以手動(dòng)方式產(chǎn)生各指令執(zhí)行過(guò)程中所需要的微命令,控制指令的執(zhí)行;</p><p> 以自己所設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)為硬件環(huán)境,設(shè)計(jì)出完成指定功能的各指令周期流程圖,并設(shè)計(jì)出相應(yīng)的微命令;</p><p> 設(shè)計(jì)時(shí)序列電路,產(chǎn)生滿足指令周期和指令執(zhí)行所需要的多級(jí)時(shí)序信號(hào);</p><p> 設(shè)計(jì)控存,將各指令的微程序存放
15、在CM中,經(jīng)過(guò)適當(dāng)?shù)臅r(shí)序控制,通過(guò)微程序自動(dòng)控制指令的執(zhí)行(當(dāng)采用微程序控制器時(shí))。</p><p><b> 2、實(shí)驗(yàn)原理與環(huán)境</b></p><p><b> 2.1實(shí)驗(yàn)原理</b></p><p> 計(jì)算機(jī)組成原理,數(shù)字邏輯, FPGA(Field Programmable Gate Array)現(xiàn)場(chǎng)可編程門
16、陣列 、QUARTUS仿真等</p><p><b> 2.2實(shí)驗(yàn)環(huán)境</b></p><p> JZYL—II型計(jì)算機(jī)組成原理試驗(yàn)臺(tái),windows xp系統(tǒng),512M內(nèi)存電腦電腦一臺(tái),Quartus II 6.0版軟件,導(dǎo)線若干。</p><p><b> 3、總體方案設(shè)計(jì)</b></p><
17、p><b> 3.1需求分析</b></p><p> 在這次計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中,我們需要根據(jù)計(jì)算機(jī)的各個(gè)部件先畫出總的框圖,然后在框圖的基礎(chǔ)上選擇適當(dāng)?shù)男酒瑢?shí)現(xiàn)各自的功能,主要先實(shí)現(xiàn)運(yùn)算器部分,保證運(yùn)算的正確性,然后設(shè)計(jì)存儲(chǔ)部分,選擇主存和控存是合并還是分開(kāi),然后設(shè)計(jì)對(duì)應(yīng)的微指令,用手動(dòng)操作檢驗(yàn)后,進(jìn)行設(shè)計(jì)時(shí)序電路,轉(zhuǎn)成自動(dòng)執(zhí)行。</p><p><b
18、> 3.2硬件設(shè)計(jì)</b></p><p><b> 3.2.1總體設(shè)計(jì)</b></p><p> 本次我們采用的方案是微程序控制,且主、控存分開(kāi)的方案,即采用微程序控制方式,實(shí)現(xiàn)主存儲(chǔ)器(MM)和微程序控制存儲(chǔ)器(CM)不共用一個(gè)存儲(chǔ)器的方式完成方案的設(shè)計(jì)。同時(shí)在實(shí)施的過(guò)程中,采用部分電路用FPGA方式下載、部分電路用硬件搭建的方式完成,,其
19、中運(yùn)算器和存儲(chǔ)器部分由硬件搭線完成,主存使用6116芯片實(shí)現(xiàn),控存與主存分開(kāi),使用2816芯片實(shí)現(xiàn),然后時(shí)序控制部分選擇用FPGA方式下載,最后匯總在一起,形成實(shí)現(xiàn)所有功能的整體計(jì)算機(jī)系統(tǒng)。</p><p> 總體結(jié)構(gòu)圖如圖 3.1所示。</p><p> 圖 3.1 總體結(jié)構(gòu)圖</p><p><b> 3.2.2運(yùn)算通路</b>&l
20、t;/p><p> 由181作運(yùn)算,373鎖存組合成的電路,其中包括了AC,DR1,DR2等設(shè)計(jì)</p><p> 如圖3.2所示幾點(diǎn)說(shuō)明(包括選擇芯片的理由及引腳連接情況):</p><p> 圖 3.2 運(yùn)算器圖</p><p> 3.2.3存儲(chǔ)通路 :由6116作主存。2816作控存的主控存分開(kāi)方式</p><
21、p><b> 如圖3.3所示</b></p><p> 圖 3.3 存儲(chǔ)器圖</p><p> 3.2.4選擇電路 </p><p><b> 如圖3.4所示</b></p><p> 為方便置數(shù),直接讓指令的數(shù)據(jù)部分與161的輸入相連</p><p>
22、 圖 3.4 選擇通路圖</p><p> 3.2.5時(shí)序控制:通過(guò)各種控制點(diǎn)設(shè)計(jì)而出</p><p><b> 如圖3.5所示</b></p><p> 圖 3.5 時(shí)序控制圖</p><p><b> 3.3軟件設(shè)計(jì)</b></p><p> 3.3.1機(jī)器指
23、令系統(tǒng)設(shè)計(jì)</p><p> 本次指令設(shè)計(jì)格式遵循常見(jiàn)指令格式設(shè)計(jì)原則,機(jī)器指令共占8位,其中高四位為操作碼OP,低四位為操作數(shù)地址ADDR,見(jiàn)下表描述:</p><p><b> 指令尋址方式設(shè)計(jì)</b></p><p> 順序?qū)ぶ罚焊鶕?jù)PC(74LS161)計(jì)數(shù)器自動(dòng)增1,順序讀取下一條指令;</p><p>
24、 跳躍尋址:根據(jù)PC(74LS161)的PC-SET功能,依照跳躍指令內(nèi)容往計(jì) 數(shù)器中預(yù)置打入數(shù)據(jù),從而跳轉(zhuǎn)到相應(yīng)地址。</p><p><b> 操作數(shù)尋址方式設(shè)計(jì)</b></p><p> 寄存器尋址:利用AC(74LS373)寄存器進(jìn)行尋址;</p><p> 直接尋址:根據(jù)指令中的ADDR所指向的地址得到主存相應(yīng)數(shù)據(jù);<
25、;/p><p> 隱含尋址:利用AC(74LS373)寄存器,對(duì)于需要雙操作數(shù)的機(jī)器指令只提供一個(gè)操作數(shù),另一操作數(shù)隱含在AC中。</p><p> 3.3.2微指令設(shè)計(jì)</p><p> 微指令設(shè)計(jì)思想:此次設(shè)計(jì)共決定選取12條指令,分別是取址公操作、store存儲(chǔ)指令、load導(dǎo)入指令、jump跳轉(zhuǎn)指令、加、減、與、或、非、地址非、異或等運(yùn)算指令,以及最后的停
26、機(jī)指令。指令采用雙周期、自動(dòng)執(zhí)行。</p><p> 微指令設(shè)計(jì)方案:根據(jù)具體的電路原理決定采取16個(gè)微程序控制點(diǎn),然后通過(guò)對(duì)各個(gè)控制點(diǎn)的值來(lái)實(shí)現(xiàn)對(duì)微指令的編碼(即各個(gè)控制點(diǎn)的值取0或1),不同的指令所對(duì)應(yīng)的各個(gè)控制點(diǎn)的編碼會(huì)有不同。</p><p> 微指令設(shè)計(jì)流程:因?yàn)槭孪缺仨毚_定好電路才能得出各個(gè)控制點(diǎn),因此根據(jù)完整的電路的各個(gè)可控信號(hào)確定了16個(gè)控制點(diǎn),在這個(gè)過(guò)程中,實(shí)際有的控
27、制點(diǎn)不止16個(gè),因此我們采取了一些措施,部分控制點(diǎn)合并,另外一些改成了直接采用節(jié)拍控制,最終將控制點(diǎn)的數(shù)目控制在了16個(gè),然后設(shè)計(jì)了取址公操作部分各個(gè)控制點(diǎn)的值,形成了取址公操作的編碼,然后在此基礎(chǔ)上修改各個(gè)控制點(diǎn)的值,形成了一個(gè)大概的指令編碼表,然后在實(shí)踐中檢驗(yàn)、糾錯(cuò)、修改,最后得到完整的微指令設(shè)計(jì)表。</p><p><b> 微程序設(shè)計(jì)</b></p><p>
28、; 對(duì)于每條指令都設(shè)計(jì)了相應(yīng)的匯編程序來(lái)進(jìn)行檢驗(yàn),將匯編程序設(shè)計(jì)好,然后改寫成計(jì)算機(jī)所能識(shí)別的二進(jìn)制形式,事先將二進(jìn)制程序存入內(nèi)存的芯片中,然后開(kāi)始執(zhí)行檢驗(yàn)即可。</p><p> 對(duì)于各條指令的微程序要考慮到指令的控制點(diǎn)編碼,以及控制它的地址,還有內(nèi)存中的存儲(chǔ)數(shù)據(jù)的部分。將微程序分為兩段,一段是所執(zhí)行的操作,另一段是操作數(shù)。</p><p> 而每一行代碼又可分為3部分,比如我們?cè)O(shè)
29、計(jì)的微程序地址四位,數(shù)據(jù)八位,指令八位,因此我們的程序中,前四位二進(jìn)制數(shù)字表示程序執(zhí)行的地址,即PC計(jì)數(shù)器的內(nèi)容,后八位是指令,指令的前四位對(duì)應(yīng)的是操作碼,需送入控存譯碼,進(jìn)而得到具體操作,后四位是數(shù)據(jù)地址,返送回內(nèi)存讀取數(shù)據(jù)。</p><p> 各個(gè)指令所對(duì)應(yīng)的微程序具體還是不同的,在后面會(huì)有詳細(xì)說(shuō)明。</p><p><b> 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</b></
30、p><p><b> 4.1 所選用芯片</b></p><p><b> 74LS181</b></p><p> 系統(tǒng)使用了2片181芯片作為ALU,用于8位的運(yùn)算器,負(fù)責(zé)執(zhí)行階段的各種運(yùn)算。181芯片引腳圖及引腳說(shuō)明如表 4.1.</p><p> 表4.1 74181芯片引腳及其引腳說(shuō)明
31、</p><p><b> 2、74LS157</b></p><p><b> 如圖4.2所示</b></p><p> 表4.2 74167芯片引腳及其引腳說(shuō)明</p><p><b> 3、74LS161</b></p><p><b
32、> 如圖4.3所示</b></p><p> 表4.3 74161芯片引腳及其引腳說(shuō)明</p><p><b> 4、74LS395</b></p><p><b> 如圖4.4所示</b></p><p> 表4.4 74181芯片引腳及其引腳說(shuō)明</p>
33、<p><b> 5、6116</b></p><p><b> 如圖4.5所示</b></p><p> 表4.5 6116芯片引腳及其引腳說(shuō)明</p><p><b> 6、2816</b></p><p><b> 如圖4.6所示</
34、b></p><p> 表4.6 2816芯片引腳及其引腳說(shuō)明</p><p><b> 7、74LS244</b></p><p><b> 如圖4.7所示</b></p><p> 表4.7 74LS244芯片引腳及其引腳說(shuō)明</p><p><b&g
35、t; 8、74LS373</b></p><p><b> 如圖4.8所示</b></p><p> 表4.8 74181芯片引腳及其引腳說(shuō)明</p><p><b> 4.2硬件實(shí)現(xiàn)</b></p><p> 4.2.1硬件原理圖</p><p>
36、本次我們采用的方案是微程序控制,且主、控存分開(kāi)的方案,即采用微程序控制方式,實(shí)現(xiàn)主存儲(chǔ)器(MM)和微程序控制存儲(chǔ)器(CM)不共用一個(gè)存儲(chǔ)器的方式完成方案的設(shè)計(jì)。同時(shí)在實(shí)施的過(guò)程中,采用部分電路用FPGA方式下載、部分電路用硬件搭建的方式完成,,其中運(yùn)算器和存儲(chǔ)器部分由硬件搭線完成,主存使用6116芯片實(shí)現(xiàn),控存與主存分開(kāi),使用2816芯片實(shí)現(xiàn),然后時(shí)序控制部分選擇用FPGA方式下載,最后匯總在一起,形成實(shí)現(xiàn)所有功能的整體計(jì)算機(jī)系統(tǒng)。具體
37、的電路設(shè)計(jì)圖如圖4.9所示:</p><p> 圖4.9 系統(tǒng)總框架引腳圖</p><p> 4.2.2運(yùn)算通路實(shí)現(xiàn)</p><p> 運(yùn)算器部分電路是采用硬件連線實(shí)現(xiàn)的,但是原價(jià)努力圖還是用Quartus設(shè)計(jì)的,并且為了檢驗(yàn)其正確性,也進(jìn)行了仿真.設(shè)計(jì)圖如4.10所示:</p><p> 圖4.10 運(yùn)算器電路的圖</p&g
38、t;<p> 4.2.3存儲(chǔ)器部分實(shí)現(xiàn)</p><p> 此部分通路中,主要為一片6116做主存,其IO輸出數(shù)據(jù)通過(guò)一片373緩沖然后經(jīng)過(guò)一片157選擇高四位送給作為寄存器的395芯片,然后送入作為控存的2816芯片中,低四位作為數(shù)據(jù)地址傳回內(nèi)存,讀取操作數(shù)。如圖4.11所示</p><p> 圖4.11 存儲(chǔ)器電路引腳圖</p><p> 4
39、.2.4選擇電路的實(shí)現(xiàn)</p><p> 采用了157芯片作為選擇控制,從161芯片或者是作為IR的373芯片的兩個(gè)輸出中選擇一個(gè)作為其輸出。如圖4.12所示</p><p> 圖4.12 選擇通路電路引腳圖</p><p> 4.2.5時(shí)序電路的實(shí)現(xiàn)</p><p> 根據(jù)具體的控制信號(hào)得出的時(shí)序電路圖,用16個(gè)控制點(diǎn)與節(jié)拍信號(hào)作為
40、輸入,通過(guò)各種邏輯門實(shí)現(xiàn)邏輯運(yùn)算,最后將其輸出作為控制開(kāi)關(guān)的信號(hào)來(lái)實(shí)現(xiàn)各條指令。如圖4.13所示</p><p> 圖 4.13 時(shí)序電路圖</p><p><b> 4.3軟件實(shí)現(xiàn)</b></p><p> 4.3.1機(jī)器指令系統(tǒng)實(shí)現(xiàn)</p><p> 本次指令設(shè)計(jì)格式遵循常見(jiàn)指令格式設(shè)計(jì)原則,機(jī)器指令共占8
41、位,其中高四位為操作碼OP,低四位為操作數(shù)地址ADDR</p><p><b> 指令尋址方式設(shè)計(jì)</b></p><p> 順序?qū)ぶ罚焊鶕?jù)PC(74LS161)計(jì)數(shù)器自動(dòng)增1,順序讀取下一條指令;</p><p> 跳躍尋址:根據(jù)PC(74LS161)的PC-SET功能,依照跳躍指令內(nèi)容往計(jì) 數(shù)器中預(yù)置打入數(shù)據(jù),從而跳轉(zhuǎn)到相應(yīng)地址。
42、</p><p><b> 操作數(shù)尋址方式設(shè)計(jì)</b></p><p> 寄存器尋址:利用AC(74LS373)寄存器進(jìn)行尋址;</p><p> 直接尋址:根據(jù)指令中的ADDR所指向的地址得到主存相應(yīng)數(shù)據(jù);</p><p> 隱含尋址:利用AC(74LS373)寄存器,對(duì)于需要雙操作數(shù)的機(jī)器指令只提供一個(gè)操作數(shù)
43、,另一操作數(shù)隱含在AC中。</p><p><b> 1指令格式</b></p><p> 本次指令設(shè)計(jì)格式遵循常見(jiàn)指令格式設(shè)計(jì)原則,機(jī)器指令共占8位,其中高四位為操作碼OP,低四位為操作數(shù)地址ADDR,見(jiàn)表4.14描述:</p><p> 表 4.14 系統(tǒng)指令格式</p><p> 指令格式編碼及其格式說(shuō)明如
44、表4.15所示:</p><p> 表4.15 指令格式說(shuō)明表</p><p> 2、指令周期流程圖如下圖4.16所恨死</p><p> 圖 4.16 指令流程圖</p><p><b> 具體的指令流程</b></p><p> LOAD指令,如圖4.17所示</p>
45、<p> 4.17 LOAD指令流程圖</p><p> STORE指令,如圖4.18所示</p><p> 圖4.18 STORE指令流程圖</p><p> JMP指令如圖4.19所示</p><p> 圖4.19 JMP指令流程圖</p><p> 4、END指令如圖4.20所示</p
46、><p> 圖4.20 END 指令流程圖</p><p> 5、ADD指令如圖4.21所示</p><p> 注:所有的雙操作數(shù)運(yùn)算指令均和ADD相同</p><p> 圖4.21 ADD 指令流程圖</p><p> 6、NOT (A)指令如圖4.22所示</p><p> 注:所
47、有單操作數(shù)指令均同此,如A加A</p><p> 圖4.22 NOT(A) 指令流程圖</p><p> 4.3.2微指令實(shí)現(xiàn)</p><p><b> 控制信號(hào)選擇</b></p><p> 運(yùn)算器部分:如表4.23所示</p><p> 表4.23 運(yùn)算器部分控制點(diǎn)選擇</p
48、><p> 主、控存部分:如表4.24所示</p><p> 表4.24 主控存部分控制點(diǎn)選擇</p><p> 默認(rèn)部分:如表4.25所示</p><p> 表4.25 默認(rèn)部分控點(diǎn)H/L控制</p><p> 時(shí)序部分: STOP ,控制時(shí)序停止</p><p><b>
49、指令周期設(shè)計(jì)</b></p><p> 每條指令包含兩個(gè)機(jī)器周期,其中第一個(gè)用于取指令,用M1標(biāo)識(shí),第二個(gè)用于執(zhí)行指令,用M2標(biāo)識(shí);每個(gè)機(jī)器周期包含4個(gè)T周期,分別為T1、T2、T3、T4,對(duì)于所有的指令,設(shè)計(jì)了取指公操作,則其第一個(gè)機(jī)器周期都一樣,即進(jìn)行取指公操作,第二個(gè)機(jī)器周期則執(zhí)行對(duì)應(yīng)的指令功能。</p><p><b> 3、時(shí)序產(chǎn)生設(shè)計(jì)</b>
50、;</p><p> 選擇JZYL—Ⅱ型計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)左半邊的時(shí)序電路部分,通過(guò)其中的T1、T2、T3、T4來(lái)作為時(shí)序控制中的T1——T4,同時(shí)通過(guò)一片正沿 雙D觸發(fā)器74LS74和一片反相器74LS04作為產(chǎn)生時(shí)序控制中所需的M1與M2(其中 =M2);其時(shí)序部分的接線如下:</p><p> T1、T2、T3、T4:接邏輯控制電路的輸入;</p><p&g
51、t; START:接脈沖P1;</p><p> STOP:接微指令設(shè)計(jì)中的第一位C0;</p><p> CLK:接某一頻率控點(diǎn);</p><p> SEL:接地,持續(xù)產(chǎn)生T1、T2、T3、T4;</p><p> M1、M2:接邏輯控制電路的輸入。如圖4.26所示</p><p> 圖4.26 雙周期
52、實(shí)現(xiàn)</p><p><b> 微指令流程設(shè)計(jì)</b></p><p> ?。喝≈腹僮鳎禾幱贛1內(nèi)(其中表內(nèi)L為低,H為高);如表4.27</p><p> 表4.27 取指公操作設(shè)計(jì)流程</p><p> ?。篖OAD指令(M1同取指公操作,只列出M2的設(shè)計(jì)):如表4.28</p><p>
53、; 表4.28 LOAD指令設(shè)計(jì)流程</p><p> ?。篠TORE指令(M1同取指公操作,只列出M2的設(shè)計(jì)):如表4.29</p><p> 表4.29 STORE指令設(shè)計(jì)流程</p><p> ?。篔MP指令(M1同取指公操作,只列出M2的設(shè)計(jì)):如表4.30</p><p> 表4.30 JMP指令設(shè)計(jì)流程</p>
54、<p> ?。篈DD指令(M1同取指公操作,只列出M2的設(shè)計(jì)):如表4.31</p><p> 注:所有雙操作數(shù)指令(SUB,AND,F(xiàn)ab,NOT D,⊙等)流程均同ADD,區(qū)別只是(S3,S2,S1,S0,M,)序列值不同而已,此處不再贅述,類比即可。</p><p> 表4.31 ADD指令設(shè)計(jì)流</p><p> ?。篘OT(A)指令(M1同
55、取指公操作,只列出M2的設(shè)計(jì)):如表4.32</p><p> 注:所有單操作數(shù)指令(乘2等)流程均同該指令,區(qū)別只是(S3,S2,S1,S0,M,)序列值不同而已,此處不再贅述,類比即可。</p><p> 表4.32 NOT(A)指令設(shè)計(jì)流</p><p> ?。篍ND指令(M1同取指公操作,只列出M2的設(shè)計(jì)):如表4.33</p><p
56、> 表4.33 END指令設(shè)計(jì)流</p><p><b> 邏輯表達(dá)式</b></p><p> 因?yàn)楹芏喾?hào)無(wú)法直接打出(如作為非的上劃線等),在這里直接用紙質(zhì)上的截圖來(lái)作為參考:</p><p> 4.3.3微程序的設(shè)計(jì)</p><p> ?。何⒅噶罡袷剑喝绫?.34</p><p&
57、gt; 微指令共設(shè)計(jì)了16位,并且全部投入使用,共有16位微指令控制信號(hào),微地址為4位,可以存放16位微指令,滿足使用需求,具體設(shè)計(jì)如下:</p><p> 表4.34 微指令格式設(shè)計(jì)</p><p> ?。嚎刂拼鎯?chǔ)器內(nèi)容:如表4.35</p><p> 指令存入主存和控存中,如下所示</p><p> 表4.35 存儲(chǔ)的指令表&
58、lt;/p><p><b> 4.3.4測(cè)試程序</b></p><p> 1、檢測(cè)邏輯運(yùn)算(1+2-2)&3</p><p> Load 1 0000 0001 0101</p><p> 加 2 0001 0100 0110</p><p> 減 2
59、 0010 0101 0111</p><p> AND 3 0011 0110 1000</p><p> END 0100 1100 1111</p><p> 操作數(shù)A =1 0101 0000 0001</p><p> 操作數(shù)B =2 0110 0000 0010</p><
60、p> 操作數(shù)C =2 0111 0000 0010</p><p> 操作數(shù)D =3 1000 0000 0011</p><p><b> 最后結(jié)果為1</b></p><p> 檢測(cè)store/Jump</p><p> Load 0000 0001 1100</p><p&
61、gt; Store 0001 0010 1111</p><p> Jump 0010 0011 0111</p><p><b> … </b></p><p> Store 0111 0010 1110</p><p> End 1000 1100 1111</p><p>
62、 地址原來(lái)存的數(shù) 1100 1010 1010</p><p> 1110 0000 0000</p><p> 1111 0000 0000</p><p> 指令執(zhí)行完后 地址存的新數(shù)據(jù):</p><p> 1100 1010 1010</p><p> 1110 1010 1010</p>
63、;<p> 1111 1010 1010</p><p> 并且成功看到PC數(shù)值的變化,即完成了跳轉(zhuǎn)!</p><p><b> 5、實(shí)驗(yàn)過(guò)程與調(diào)試</b></p><p><b> 5.1仿真</b></p><p> 實(shí)驗(yàn)中的時(shí)序電路部分采用了波形仿真,主要用于檢驗(yàn)電路能
64、否實(shí)現(xiàn)預(yù)期的效果,出現(xiàn)問(wèn)題也主要是根據(jù)波形仿真去發(fā)現(xiàn)錯(cuò)誤然后改正,對(duì)于時(shí)序電路的仿真圖5.1所示:</p><p> 圖 5.1 時(shí)序仿真圖</p><p> 5.2主要故障與調(diào)試</p><p> 5.2.1故障1——雙周期運(yùn)行不正常</p><p> 解決:當(dāng)初在時(shí)序設(shè)計(jì)中,我們決定采用的是雙周期來(lái)實(shí)現(xiàn)指令,并且在波形仿真時(shí)得到了
65、完全正確的結(jié)果,但是在下載后具體連線檢驗(yàn)時(shí),發(fā)現(xiàn)了問(wèn)題,雙周期的運(yùn)行并不對(duì),M1周期比M2周期長(zhǎng)很多,準(zhǔn)確是M2很短,然后我們仔細(xì)對(duì)比后,發(fā)現(xiàn)是M2沒(méi)有實(shí)現(xiàn)完整的4個(gè)節(jié)拍,經(jīng)過(guò)一系列排錯(cuò),發(fā)現(xiàn)是時(shí)序電路的信號(hào)有問(wèn)題,T0節(jié)拍并不靈敏,單獨(dú)用燈檢測(cè)是發(fā)現(xiàn)T0節(jié)拍的燈并不是藍(lán)紅交錯(cuò)的閃爍,而是藍(lán)一下,然后暗了,后來(lái)?yè)Q了一個(gè)節(jié)拍,發(fā)現(xiàn)雙周期待運(yùn)行正常了!</p><p> 5.2.2故障2 ——AC累加器顯示燈有信號(hào)
66、沖突</p><p> 當(dāng)我們連接完整個(gè)運(yùn)算器部分,然后檢測(cè)電路的正確性時(shí),發(fā)現(xiàn)了AC的接出燈的紅燈很暗,而藍(lán)燈很正常,因此認(rèn)為產(chǎn)生了信號(hào)沖突,于是開(kāi)始對(duì)整個(gè)電路進(jìn)行檢查,發(fā)現(xiàn)電路連接正常,并且373的使能端和244的高阻端控制也很正確,但是信號(hào)沖突一直存在著,即使是換過(guò)一些數(shù)據(jù)結(jié)果也會(huì)出現(xiàn)相應(yīng)的情況,最后檢測(cè)芯片時(shí),發(fā)現(xiàn)時(shí)181芯片的輸入端有信號(hào)輸出,于原來(lái)的輸入產(chǎn)生了沖突,最后問(wèn)老師才知道181芯片在通電時(shí)
67、偶爾會(huì)出現(xiàn)這樣的情況,換了181芯片后問(wèn)題終于得到了解決!</p><p> 5.2.3故障3—— load指令導(dǎo)致其他指令運(yùn)行不正確</p><p> 我們?cè)O(shè)計(jì)指令時(shí),因?yàn)榈玫降目刂泣c(diǎn)數(shù)目超過(guò)了16,所以有一些控制點(diǎn)選擇了接到節(jié)拍信號(hào)上,所以隨著節(jié)拍信號(hào),一些開(kāi)關(guān)也是隨之每條指令都會(huì)打開(kāi),我們的load指令的微程序控制便是因?yàn)檫B接的節(jié)拍,導(dǎo)致了一些運(yùn)算指令因?yàn)?73的使能和244的高
68、阻打開(kāi)的不是時(shí)候而出現(xiàn)了一系列問(wèn)題,最后重新合并了一些控制結(jié)點(diǎn),將load單獨(dú)做了一個(gè)控制位才使問(wèn)題解決!</p><p> 5.2.4故障4——Quartus無(wú)法編譯原理圖</p><p> 在設(shè)計(jì)完原理圖,用Quartus編譯時(shí),發(fā)現(xiàn)有錯(cuò)誤,發(fā)現(xiàn)是因?yàn)橐呀?jīng)過(guò)了使用期限,因此無(wú)法正常使用,最后發(fā)現(xiàn)了兩個(gè)辦法解決問(wèn)題:第一、使用教程中的破解方法生成一個(gè)license。dat文件進(jìn)行破解
69、,具體操作見(jiàn)教程;第二種方法較簡(jiǎn)單,就是直接修改計(jì)算機(jī)的時(shí)間,向前調(diào)一段很長(zhǎng)的時(shí)間,這樣軟件可以正常進(jìn)行編譯了。</p><p> 5.2.5故障5——FPGA下載出問(wèn)題</p><p> 在設(shè)計(jì)完時(shí)序電路后用FPGA進(jìn)行下載,但是出現(xiàn)了一些問(wèn)題,修改過(guò)原理圖后還是無(wú)法將其下載進(jìn)去,實(shí)際運(yùn)行的還是原來(lái)的原理圖,這讓我們百思不得其解,老師對(duì)這個(gè)也不是很拿手,最后細(xì)心的同學(xué)提示是quart
70、us中下載要修改一些文件,比如q6.0&dsp&mega這個(gè)文件,就要將文件中的序列號(hào)改成我們主機(jī)中quartus的序列號(hào),這樣才能正常下載。</p><p> 5.2.6 故障6——執(zhí)行store指令時(shí),數(shù)據(jù)無(wú)法正常寫入</p><p> 在依次檢查各條指令的執(zhí)行情況時(shí),發(fā)現(xiàn)有兩條指令的執(zhí)行有問(wèn)題,其中之一就是store指令,發(fā)現(xiàn)數(shù)據(jù)無(wú)法正常寫入,例如本來(lái)想向0000
71、地址寫入數(shù)據(jù)10001001,但是在檢查時(shí)發(fā)現(xiàn)0000地址存的并不是100001001,而是11111111,而后發(fā)現(xiàn)無(wú)論往該地址存什么數(shù)據(jù),結(jié)果都是11111111不變,于是我們覺(jué)得是數(shù)據(jù)并沒(méi)有寫入,于是檢查了指令的執(zhí)行過(guò)程,最后發(fā)現(xiàn)在微程序的控制上有問(wèn)題,當(dāng)6116在寫時(shí),373置成了高祖狀態(tài),因此才會(huì)寫入的是11111111,最后修改了微程序的執(zhí)行節(jié)拍,將其分開(kāi),然后發(fā)現(xiàn)結(jié)果正確!</p><p> 5.
72、2.6 故障7——執(zhí)行JUMP指令時(shí),并沒(méi)有跳轉(zhuǎn)</p><p> 我們?cè)O(shè)計(jì)的指令中有兩條出了問(wèn)題,另外一條便是JUMP指令了,無(wú)法跳轉(zhuǎn),從仿真圖上來(lái)看,應(yīng)該是可以正常跳轉(zhuǎn)的,但是結(jié)果就是不對(duì),這讓我和搭檔非常郁悶,單獨(dú)將芯片接出來(lái)檢測(cè),發(fā)現(xiàn)手動(dòng)控制可以實(shí)現(xiàn)直數(shù)功能,即芯片本身并沒(méi)有問(wèn)題,但自動(dòng)執(zhí)行的時(shí)候會(huì)出錯(cuò),仔細(xì)研究了161芯片后,我們發(fā)現(xiàn)關(guān)于跳轉(zhuǎn)的實(shí)現(xiàn)是要兩個(gè)信號(hào)控制一個(gè)是cp脈沖,一個(gè)控制開(kāi)關(guān),于是我們
73、討論是不是上升沿給的不是時(shí)候,于是將CP信號(hào)由本來(lái)的一個(gè)節(jié)拍延長(zhǎng)到兩個(gè)節(jié)拍,讓其可以完全覆蓋到整個(gè)控制開(kāi)關(guān)的變化,最后結(jié)果正確了</p><p><b> 5.3功能測(cè)試</b></p><p> 在本次課程設(shè)計(jì)中,我們能夠根據(jù)具體的運(yùn)算式寫出系統(tǒng)運(yùn)行的程序,一般要求所設(shè)計(jì)的機(jī)器指令中包含了運(yùn)算式的所有運(yùn)算要求,倘若沒(méi)有包含的話(如異或運(yùn)算等等),需要重新寫控存C
74、M,操作比較麻煩,但是其實(shí)現(xiàn)思路非常簡(jiǎn)單,只需通過(guò)兩個(gè)74LS244直接操作對(duì)2816進(jìn)行寫入即可,寫完再調(diào)整2816為讀狀態(tài),便可實(shí)現(xiàn)后續(xù)功能。經(jīng)過(guò)測(cè)試,完全能夠?qū)崿F(xiàn)此項(xiàng)操作。</p><p> 下面就以本次課程設(shè)計(jì)中檢查時(shí)老師給我出的測(cè)試題目為例,分析程序設(shè)計(jì)的過(guò)程和方法。其余程序均可按照下述方法和步驟進(jìn)行設(shè)計(jì),不在贅述。</p><p> 題目:[(8+7非)加8] + 9異或6
75、乘2與6減7</p><p> 程序流程為:如表5.2所示</p><p><b> 表5.2</b></p><p> 內(nèi)存內(nèi)容為:如表5.3所示</p><p><b> 表5.3</b></p><p><b> 程序運(yùn)行結(jié)果</b>&l
76、t;/p><p> 運(yùn)行完成后,最后在AC里面的結(jié)果為 :1111 1111</p><p><b> 5.4實(shí)驗(yàn)流程圖</b></p><p><b> 1、2月27周一:</b></p><p> 熟悉實(shí)驗(yàn)要求,并閱讀相關(guān)資料開(kāi)始準(zhǔn)備。</p><p><b&g
77、t; 2、2月28周二:</b></p><p> 設(shè)計(jì)實(shí)驗(yàn)圖,并完成運(yùn)算器和存儲(chǔ)器部分的設(shè)計(jì)</p><p><b> 3、2月29周三:</b></p><p> 開(kāi)始連線,完成了運(yùn)算器部分的連線,并檢驗(yàn)正確</p><p><b> 4、3月1 周四</b></p&
78、gt;<p> 開(kāi)始設(shè)計(jì)控存和微指令</p><p><b> 5、3月2 周五</b></p><p><b> 對(duì)微指令進(jìn)行修改</b></p><p> 6、3月3~4 周六周日</p><p> 開(kāi)始設(shè)計(jì)時(shí)序電路部分</p><p><b
79、> 7、3月5 周一</b></p><p> 通過(guò)波形仿真對(duì)時(shí)序檢驗(yàn),并進(jìn)行修改</p><p> 8、3月6~7 周二,周三</p><p> 將電路全部連接,進(jìn)行排錯(cuò)和優(yōu)化</p><p><b> 9、3月8日 周四</b></p><p><b>
80、 老師電路檢查</b></p><p><b> 6、設(shè)計(jì)總結(jié)與心得</b></p><p><b> 6.1課設(shè)總結(jié)</b></p><p> 基于對(duì)象的存儲(chǔ)是為了克服當(dāng)前基于塊的存儲(chǔ)存在的諸多難題,在存儲(chǔ)接口和結(jié)構(gòu)層次的重要發(fā)展??梢愿鶕?jù)應(yīng)用負(fù)載選擇優(yōu)化的存儲(chǔ)策略。作了如下幾點(diǎn)工作:</p>
81、;<p><b> 完成方案總結(jié):</b></p><p> 本次組成原理課程設(shè)計(jì)難度還是相對(duì)較大的,在老師的指導(dǎo)和幫助以及我們自己的努力下,最終成功的設(shè)計(jì)出了一臺(tái)基于微指令設(shè)計(jì)和FPGA的支持自有指令系統(tǒng)的簡(jiǎn)單計(jì)算機(jī)系統(tǒng)。我們所設(shè)計(jì)的系統(tǒng)能在基于EDA的實(shí)驗(yàn)平臺(tái)上運(yùn)行一段基于自有指令的程序,并能夠根據(jù)設(shè)計(jì)的程序計(jì)算出正確的結(jié)果,且在JZYL—Ⅱ型計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)的LE
82、D燈(或數(shù)碼管)上顯示出結(jié)果,此次設(shè)計(jì)的系統(tǒng)為全自動(dòng)執(zhí)行!完成了本次組成原理課程設(shè)計(jì)的基本任務(wù)與要求,雖然沒(méi)有剩余時(shí)間去進(jìn)行功能的擴(kuò)展,但至少所設(shè)計(jì)的系統(tǒng)的各項(xiàng)指標(biāo)均符合設(shè)計(jì)要求。 同時(shí),在這個(gè)過(guò)程中,我們也確實(shí)通過(guò)努力、學(xué)習(xí)與設(shè)計(jì),鍛煉了我們自身對(duì)于簡(jiǎn)單計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)、系統(tǒng)的故障分析與定位以及系統(tǒng)調(diào)式的能力,更進(jìn)一步提高了我們分析和解決問(wèn)題的能力。</p><p><b> 功能總結(jié):</b
83、></p><p> 在本次課程設(shè)計(jì)中,我們完成的設(shè)計(jì)工作和我們?cè)O(shè)計(jì)的系統(tǒng)具有的功能如下所示:</p><p> 具有準(zhǔn)確無(wú)誤的數(shù)據(jù)通路,且在其基礎(chǔ)上具有指令和微指令控制的功能;</p><p> 設(shè)計(jì)了完成指定功能的各指令相對(duì)應(yīng)的微命令;</p><p> 設(shè)計(jì)了時(shí)序列電路,能夠產(chǎn)生滿足指令周期和指令執(zhí)行所需要的兩級(jí)時(shí)序信號(hào);
84、</p><p> 可以手動(dòng)方式產(chǎn)生各指令執(zhí)行過(guò)程中所需要的微命令,控制指令的執(zhí)行;</p><p> 設(shè)計(jì)控存,將各指令的微程序存放在CM(用2816實(shí)現(xiàn))中,經(jīng)過(guò)適當(dāng)?shù)臅r(shí)序控制,通過(guò)微程序可以完成自動(dòng)控制指令的執(zhí)行功能;</p><p> 對(duì)該模型機(jī)系統(tǒng)中的運(yùn)算器模塊功能和微程序邏輯控制電路部分利用QuartusⅡ 6.0軟件仿真功能進(jìn)行仿真分析和功能驗(yàn)證
85、,且將該部分電路下載到FPGA,并與適當(dāng)?shù)耐鈬骷?包括部分芯片、輸入/輸出開(kāi)關(guān)、LED顯示等)相配合,實(shí)現(xiàn)模型機(jī)的主機(jī)系統(tǒng);</p><p> 所設(shè)計(jì)的主機(jī)系統(tǒng)能支持自動(dòng)和單步運(yùn)行方式,能正確地執(zhí)行存放在主存中程序的功能,對(duì)主要的數(shù)據(jù)流和控制流通過(guò)LED適時(shí)顯示結(jié)果;</p><p> 所設(shè)計(jì)的模型機(jī)支持加、減運(yùn)算等基本的算術(shù)運(yùn)算指令,支持與、或、非等邏輯運(yùn)算類指令,支持存儲(chǔ)器寫的回
86、存指令,支持寄存器間數(shù)據(jù)傳送的LOAD指令,支持跳轉(zhuǎn)指令等幾類指令;</p><p> 支持直接尋址、隱含尋址等幾種基本的尋址方式;</p><p> 能支持12條以上的指令;</p><p> 能運(yùn)行由自己設(shè)計(jì)的CPU所支持的指令系統(tǒng)構(gòu)成的一段程序,程序執(zhí)行功能正確且能夠穩(wěn)定輸出結(jié)果;</p><p> 所設(shè)計(jì)的主機(jī)系統(tǒng)在運(yùn)行期間和
87、修改程序期間不需要拆拔一根導(dǎo)線,完全可以通過(guò)開(kāi)關(guān)和脈沖或控制信號(hào)控制。</p><p> 其他需要總結(jié)的內(nèi)容:</p><p> 在本次課程設(shè)計(jì),我們采用的方案是微程序控制,且主、控存分開(kāi)的方案,即采用微程序控制方式,實(shí)現(xiàn)主存儲(chǔ)器(MM)和微程序控制存儲(chǔ)器(CM)不共用一個(gè)存儲(chǔ)器的方式完成方案的設(shè)計(jì);同時(shí)在實(shí)施的過(guò)程中,采用部分電路用FPGA方式下載、部分電路用硬件搭建的方式完成。在這
88、種微程序控制,且主、控存分開(kāi)的方式中,我們所設(shè)計(jì)的主存8位專門用來(lái)存放機(jī)器指令和操作數(shù),控存16位專門用來(lái)存放微指令,兩者分開(kāi)。此方案連線較多且復(fù)雜,同時(shí)要打入初試的數(shù)據(jù)比較麻煩,需要分別打入;但是在此方案中不論做什么操作,控制存儲(chǔ)器中的內(nèi)容永遠(yuǎn)不需要改變(因?yàn)椴捎肊2PROM存儲(chǔ)器2816,掉電不丟失數(shù)據(jù),同時(shí)默認(rèn)設(shè)計(jì)的程序中沒(méi)有涉及到微程序中不包括的微指令操作),同時(shí)一般不需要擴(kuò)展地址,內(nèi)存的地址單元是夠用的;在主存進(jìn)行地址選擇也比
89、較簡(jiǎn)單,做自動(dòng)時(shí)與時(shí)序的配合也相對(duì)容易,而且容易理解。</p><p><b> 6.2課設(shè)心得</b></p><p> 這次組成原理課程設(shè)計(jì)確確實(shí)實(shí)讓我學(xué)到了很多課堂上學(xué)不到的東西,不僅是課本上的知識(shí),同時(shí)也有很多自己動(dòng)手才會(huì)明白的東西。通過(guò)這次實(shí)驗(yàn)也確實(shí)加深了我對(duì)組成原理這門課的理解,對(duì)馮諾依曼體系結(jié)構(gòu)的計(jì)算機(jī)有了一定的認(rèn)識(shí),同時(shí)也學(xué)到了很多在組原課上沒(méi)有詳
90、細(xì)介紹過(guò)的知識(shí),如數(shù)據(jù)通路、時(shí)序電路等,通過(guò)我們自己設(shè)計(jì)了一個(gè)簡(jiǎn)單的計(jì)算機(jī)系統(tǒng),我們將這些知識(shí)完完整整的融匯在一起,應(yīng)用了一遍,讓我有深刻的感觸,同時(shí)這次也接觸到了FPGA的下載,了解了一些相關(guān)的注意事項(xiàng)和操作,再者也讓我學(xué)會(huì)了Quartus的使用方法,學(xué)會(huì)使用這么一款強(qiáng)大的軟件確實(shí)是獲益匪淺啊。最后,這是一次對(duì)自身各方面能力有很大提高的實(shí)驗(yàn),自身的初步計(jì)算機(jī)系統(tǒng)分析和設(shè)計(jì)能力、分析、定位和排除故障的能力等得到了鍛煉。</p>
91、;<p> 以下也是我對(duì)這次試驗(yàn)的一些小小的心得體會(huì),也是我的切身感受:</p><p> 在開(kāi)始實(shí)驗(yàn)前一定要好好檢查芯片,不能盲目的開(kāi)始,否則在電路連好后再去尋找問(wèn)題所在是件很麻煩的事,或許會(huì)浪費(fèi)比檢查芯片所需的更多的寶貴時(shí)間。</p><p> 同時(shí)要重新理解和回顧計(jì)算機(jī)組成原理實(shí)驗(yàn)的前3個(gè)實(shí)驗(yàn),即:運(yùn)算器組成實(shí)驗(yàn)、半導(dǎo)體存儲(chǔ)實(shí)驗(yàn)、數(shù)據(jù)通路實(shí)驗(yàn),如果要選擇用FPGA
92、的話也要學(xué)習(xí)實(shí)驗(yàn)指導(dǎo)書中“FPGA及EDA開(kāi)發(fā)環(huán)境介紹”部分的講解,只有好好復(fù)習(xí)了之前的知識(shí)才能最快的動(dòng)手!</p><p> 實(shí)驗(yàn)前要熟悉所有用到的芯片的功能和引腳職能,同時(shí)要熟悉該芯片的輸入輸出等具體內(nèi)容,免得每次都得查閱課本上的講解,詳細(xì)知道了用到的芯片的資料,這樣做起來(lái)會(huì)順利點(diǎn),指導(dǎo)書上的那些邏輯表是遠(yuǎn)遠(yuǎn)不夠的。</p><p> 在用PFGA下載之前一定要記得修改相關(guān)的設(shè)置,
93、并修改序列號(hào),否則會(huì)出現(xiàn)無(wú)法下載的情況!</p><p> 還有就是連線時(shí)候,最好不要兩個(gè)人同時(shí)在實(shí)驗(yàn)臺(tái)上連接,這樣出現(xiàn)問(wèn)題的幾率最大,因?yàn)閮蓚€(gè)人的思維和連線方式及習(xí)慣都不一樣,所以可以兩人一個(gè)負(fù)責(zé)連線,一個(gè)負(fù)責(zé)報(bào)引腳號(hào)!</p><p> 最后還有一點(diǎn)就是實(shí)驗(yàn)要保持冷靜,這個(gè)實(shí)驗(yàn)的工程量還是相對(duì)比較巨大的,因此不出現(xiàn)錯(cuò)誤應(yīng)該說(shuō)一般情況下是不可能的,我們也出現(xiàn)了很多錯(cuò)誤,關(guān)鍵還是不要驚
94、慌,按照自己的思路來(lái)搜尋錯(cuò)誤的根源,然后解決。</p><p> 總的來(lái)說(shuō),開(kāi)學(xué)一個(gè)月,這個(gè)課設(shè)的完成確實(shí)是讓我最有成就感的一件事,對(duì)于在一定的時(shí)間內(nèi)完成到這種程度,我也確實(shí)感到驚訝,也對(duì)自己的成長(zhǎng)感到自豪!雖然在這次實(shí)驗(yàn)中,我們并沒(méi)有什么太大的亮點(diǎn),也沒(méi)有做出來(lái)高級(jí)功能的擴(kuò)展,但是我們還是靠著自己的努力一步步實(shí)現(xiàn)了任務(wù)目標(biāo),靠自己的力量解決一系列難題,這也是一件很讓人愉快的事。同時(shí)也很感謝老師們一直陪伴我們,
95、給與我們指導(dǎo)與幫助,讓我們能更有效率的完成這個(gè)實(shí)驗(yàn)。</p><p> 最后也是對(duì)這次試驗(yàn)的一個(gè)感慨,這次試驗(yàn)確實(shí)讓我有了很大的提高,不只是知識(shí)層面,精神層面也有著飛躍,思考能力,發(fā)現(xiàn)錯(cuò)誤能力,排錯(cuò)糾錯(cuò)能力,這才是我覺(jué)得學(xué)到的最寶貴的東西,希望在以后的學(xué)習(xí)生活中還能再接觸到相關(guān)的有趣知識(shí),讓我能有更大的提高!</p><p><b> 參考文獻(xiàn)</b></p
96、><p> [1] 王曉蘭 周建國(guó) 秦磊華《計(jì)算機(jī)組成原理實(shí)驗(yàn)及課程設(shè)計(jì)指導(dǎo)書》華中科技大學(xué)出版社 湖北武漢 2008</p><p> [2] 番松 潘明《現(xiàn)代計(jì)算機(jī)組成原理》科學(xué)技術(shù)出版社 北京2007</p><p> [3] 易小琳 朱文軍 魯鵬程《計(jì)算機(jī)組成原理實(shí)踐教程(基于EDA平臺(tái))》北京航空航天大學(xué)出版社 北京2006</p><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡(jiǎn)單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--簡(jiǎn)單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告--簡(jiǎn)單計(jì)算機(jī)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--簡(jiǎn)單計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡(jiǎn)單計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--計(jì)算機(jī)組成原理算法實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)-- 模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)——模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--基本模型計(jì)算機(jī)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--模型計(jì)算機(jī)設(shè)計(jì)
- 《計(jì)算機(jī)組成原理》課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)-概念模型計(jì)算機(jī)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理-課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論