計算機組成原理課程設計報告6085950359_第1頁
計算機組成原理課程設計報告6085950359_第2頁
計算機組成原理課程設計報告6085950359_第3頁
計算機組成原理課程設計報告6085950359_第4頁
計算機組成原理課程設計報告6085950359_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機組成原理課程設計罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂

2、蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃

3、芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇

4、莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈

5、膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)

6、芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅

7、莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅蒀螈羀芄薃羃袆莃蚅螆膅莂蒞羈肁莁蕆螄肇莀蠆肀羃荿螂袂芁荿蒁蚅膇莈薄袁肅莇蚆蚄罿蒆莆衿裊蒅蒈螞膄蒄蝕袇膀蒄螂螀肆蒃蒂羆羂蒂薄螈芀蒁蚇羄膆薀蝿螇肂蕿葿羂羈膆薁螅襖膅螃羈芃膄蒃袃腿膃薅聿肅膂蚈袂羈膁螀蚄艿膁蒀袀膅芀薂蚃肁艿蚄袈羇羋莄蟻羃芇薆羆節(jié)芆蚈蝿膈芅螁羅肄芅 計算機學院計算機科學與技術(shù)專業(yè) 計算機組成課程設計報告 (2010/2011學年 第一學期)學生姓名: 學生班級: 學生學號: 指導教師: 年 月 日目錄1

8、 課程設計需求分析31.1 課程設計目的與要求31.2 課程設計內(nèi)容31.3 實驗器材描述41.4 存儲器劃分41.5 指令譯碼電路分析51.6 寄存器譯碼電路分析61.7 時序分析81.8 微指令格式分析82 總體設計112.1 數(shù)據(jù)格式112.2 機器指令描述112.3 機器指令設計123 詳細設計133.1 控制臺指令133.2 單條指令的詳細設計163.3 微程序流程圖設計234 編碼實現(xiàn)245 設計測試256 實驗心得體會26附錄一:27附錄二:28參考文獻:291 課程設計需求分析1.1 課程設計目的與要求本課程設計是計算機科學與技術(shù)專業(yè)重要的實踐性教學環(huán)節(jié)之一,是在學生學習完計算

9、機組成原理課程后進行的一次全面的綜合設計。目的是通過一個完整的8位指令系統(tǒng)結(jié)構(gòu)(isa)的設計和實現(xiàn),加深對計算機組成原理課程內(nèi)容的理解,建立起整機系統(tǒng)的概念,掌握計算機設計的基本方法,培養(yǎng)學生科學的工作作風和分析、解決實際問題的工作能力。要求學生綜合運用計算機組成原理、數(shù)字邏輯和匯編語言等相關(guān)課程的知識,理解和熟悉計算機系統(tǒng)的組成原理,掌握計算機主要功能部件的工作原理和設計方法,掌握指令系統(tǒng)結(jié)構(gòu)設計的一般方法,掌握并運用微程序設計(microprogramming)思想,在設計過程中能夠發(fā)現(xiàn)、分析和解決各種問題,自行設計自己的指令系統(tǒng)結(jié)構(gòu)(isa)。1.2 課程設計內(nèi)容基于tdn-cm+計算

10、機組成原理實驗教學系統(tǒng),設計和實現(xiàn)一個8位指令系統(tǒng)結(jié)構(gòu)(isa),通過調(diào)試和運行,使設計的計算機系統(tǒng)能夠完成指定的功能。設計過程中要求考慮到以下各方面的問題:1、指令系統(tǒng)風格(寄存器-寄存器,寄存器-存儲器,存儲器-存儲器);2、數(shù)據(jù)類型(無符號數(shù),有符號數(shù),整型,浮點型);3、存儲器劃分(指令,數(shù)據(jù));4、尋址方式(立即數(shù)尋址,寄存器尋址,直接尋址等);5、指令格式(單字節(jié),雙字節(jié),多字節(jié));6、指令功能類別(算術(shù)邏輯運算,存儲器訪問,寄存器操作,程序流控制,輸入輸出);1.3 實驗器材描述硬件:tdncn+計算機組成原理實驗教學系統(tǒng), 具備支持開放式實驗教學方法的結(jié)構(gòu)特點。表1-1 tdn

11、cn+教學系統(tǒng)明細表電路名稱主要電路內(nèi)容運算器單元(alu unit)運算器、進位控制器、移位寄存器、寄存器堆、內(nèi)部總線計數(shù)器與地址寄存器單元(address unit)地址寄存器、程序地址計數(shù)器微控器單元(micro controller unit)指令寄存器、指令譯碼器、微指令控制寄存器及其編程器、邏輯譯碼單元、時序電路主存單元(main mem)sram6116輸入設備、輸出設備(input device& output device)開關(guān)、顯示燈、控制臺(讀寫、啟動、停機)cpld單元1片isp lsi1032 cpld芯片接口實驗板(系統(tǒng)附件)intel 8253、8255、8259

12、接口芯片各一片邏輯信號測量單元兩路邏輯信號pc 示波器單片機控制單元控制單片機、rs-232c串口等電源采用高效開關(guān)單元、輸出為5v/2a、12v/0.2a1.4 存儲器劃分存儲區(qū)大小為256個存儲單元,分配給代碼區(qū)27=128個存儲單元,數(shù)據(jù)區(qū)為27=128個存儲單元圖1.1存儲器劃分表1.5 指令譯碼電路分析圖1.2 指令譯碼電路根據(jù)指令譯碼電路以及寄存器譯碼電路,得出以下結(jié)論:p(1) p(4)為低電平有效,當選用時該信號為零;i7 i2表示機器指令前六位;se5 se1表示能夠強置改變?nèi)肟诘刂返暮笪逦?。由于在設計過程中選擇p(1)有效,因此對此表達式進行深入分析之后可以得知:雖然從圖中

13、可以看出輸入為i2-i7,可是i2與i3并沒有對結(jié)果se1se5造成影響,則影響指令跳轉(zhuǎn)的只有i4i7,即指令后四位。1.6 寄存器譯碼電路分析圖1.3 寄存器譯碼電路從以上的寄存器譯碼電路中可以直觀地看出:寄存器的輸入輸出不僅僅由幾個片選端決定,而且還受到i0i3(指令低四位)的影響。以下分寄存器輸入與寄存器輸出兩方面闡述:(1)寄存器輸入分析寄存器的輸入端為ldr0、ldr1與ldr2,分別對應寄存器r0、r1與r2,它們由三個輸入端ldri、i0與i1控制,并且這三個輸入端通過一個2-4進制譯碼器對寄存器的輸入進行選擇,具體輸入選擇可見于下表:表1-2 寄存器輸入選端表ldrii1i0選

14、端有效(0)00ldr0有效(0)01ldr1有效(0)10ldr2有效(0)11無效選端(2)寄存器輸出分析寄存器的輸出端為r0-b、r1-b與r2-b,分別對應于寄存器r0、r1與r2,從圖中可以看出rd-b、rs-b、ri-b、i0i3控制著寄存器的輸出操作的選擇,輸出操作也是通過2-4進制譯碼器來實現(xiàn)的,其中rd-b、rs-b與ri-b是片選端,通過i0i3的不同取值來控制寄存器的不同輸出,來實現(xiàn)寄存器在輸出方面的多樣性與靈活性。具體對應關(guān)系可以參見下表:表1-3 寄存器輸出選端表片選端選擇i1i0選端i3i2選端rd-b00r0-b00無效01r1-b01無效10r2-b10無效11

15、無效11無效rs-b00無效00r0-b01無效01r1-b10無效10r2-b11無效11無效ri-bxxr2-bxxr2-b1.7 時序分析圖1.4 時序圖t1、t2、t3、t4為節(jié)拍控制端,本設計用了t4節(jié)拍控制端,當指令通過譯碼器p(1)時,p(1)對操作碼進行測試,通過節(jié)拍脈沖t4的控制,以便識別所要求的操作。ts1時進行微程序控制器控制,ts2時進行微指令寄存器控制,ts時控制ldir、ldar,ts4時對p(1)、p(2)、p(3)、p(4)、ar、lopc、ldri、lddr1、lddr2進行控制。1.8 微指令格式分析微指令格式如下:表1-4 微指令格式表2423222120

16、19181716151413121110987654321s3s2s1s0mcnwea9a8abcua5ua4ua3ua2ua1ua0每個字段的詳細分析如下:(1) 字段2419控制運算器的控制端,通過改變s3cn來決定對數(shù)據(jù)進行何種算術(shù)或邏輯運算。本設計中全部為正邏輯運算。表1-5 算術(shù)/邏輯運算選端選端算術(shù)運算邏輯運算無進位有進位m001cn10x(2)字段18為控制對主存w/r的開關(guān)we稱之為寫線,當we=0時,對主存進行讀操作;當we=1時,對主存進行寫操作。另外:其寫時間與t3脈沖寬度一致。(3)a9、a8字段是通過一個2-4進制譯碼器控制著輸出,通過對a9與a8的不同選擇來實現(xiàn)對y

17、0、y1與y2的不同選擇,具體對應關(guān)系如下圖所示:表1-6 a9、a8字段選擇表a9a8選端操作選端說明00y0選中sw-binput unit的開關(guān)01y1選中cemain men 的控制片選開關(guān)10y2選中l(wèi)ed-boutput unit 的開關(guān)11無效選端無操作(4)字段157為a、b、c三個開關(guān)控制端。a字段表1-7 a字段選擇表151413控制開關(guān)功能說明001lddri控制寄存器ri的寫入010lddr1暫存器dr1的控制開關(guān)011lddr2暫存器dr2的控制開關(guān)100ldir指令寄存器ir的控制開關(guān)101load非自動輸入的數(shù)據(jù)裝載入pc計數(shù)器的控制開關(guān)110ldar地址寄存器a

18、r的控制開關(guān)000null空操作b字段表1-8 b字段選擇表121110控制開關(guān)功能說明000null空操作001rs-b寄存器r0、r1、r2的輸出開關(guān)010rd-b寄存器r0、r1、r2的輸出開關(guān)011ri-b寄存器r0、r1、r2的輸出開關(guān)100alu-b運算器alu的輸出開關(guān)101pc-bpc計數(shù)器的輸出開關(guān)110299-b74299片的控制端c字段表1-9 c字段選擇表987控制開關(guān)功能說明001p(1)指令譯碼器中的p(1)為低電平有效010p(2)指令譯碼器中的p(2)為低電平有效011p(3)指令譯碼器中的p(3)為低電平有效100p(4)指令譯碼器中的p(4)為低電平有效10

19、1ldpc將自動輸入的數(shù)據(jù)加1后輸入到pc計數(shù)器中的控制開關(guān)110ar本設計不涉及000null空操作(5)字段61為該條微程序的八位二進制后繼地址,其決定順序執(zhí)行哪條微程序。2 總體設計2.1 數(shù)據(jù)格式本設計中所有需要處理的數(shù)據(jù)全部采用定點無符號整數(shù)表示,8個bit位,格式如下:表2-1 數(shù)據(jù)格式表示76543210數(shù)值數(shù)據(jù)的范圍是028,即0255。2.2 機器指令描述 表2-2 指令助記符表指令助記符指令功能說明指令風格指令格式尋址方式in r0從input device輸入數(shù)據(jù)至r0單字節(jié) move r1,r0r0r1寄存器寄存器單字節(jié)寄存器尋址add r0r0+addrr0寄存器存儲

20、器雙字節(jié)寄存器、直接尋址and r1,r0r0r1r1寄存器寄存器單字節(jié)寄存器尋址sta addrr1addr雙字節(jié)寄存器尋址out addraddrled雙字節(jié)直接尋址jmp addraddrpc雙字節(jié)stp停止312.3 機器指令設計對于指令的設計可以分作兩部分完成,第一部分是指令的高四位,另外的則是指令的低四位部分。(1)通過前面對于指令譯碼電路的分析可以得知:指令的高四位(i7i4)控制指令的跳轉(zhuǎn),通過輸入一組i7i4的值,通過指令譯碼電路的處理可以得出一組se1se5的具體值,這五位是低電平有效,因此當sei為低電平時,就會對指令跳轉(zhuǎn)的下一跳的地址進行重新置位,從而實現(xiàn)對于指令跳轉(zhuǎn)流

21、程的控制,具體跳轉(zhuǎn)對應關(guān)系如下表所示: 表2-3指令跳轉(zhuǎn)表指令名稱跳轉(zhuǎn)起始i7 i6 i5 i4se4 se3 se2 se1跳轉(zhuǎn)位置in r010(001000) 0 0 0 0 1 1 1 110(001000)move r1,r010(001000) 0 0 0 1 1 1 1 011(001001)add r010(001000) 0 0 1 0 1 1 0 112(001010)and r1,r010(001000) 0 0 1 1 1 1 0 013(001011)sta addr10(001000) 0 1 0 0 1 0 1 114(001100)out addr10(0010

22、00) 0 1 0 1 1 0 1 015(001101)jmp addr10(001000) 0 1 1 0 1 0 0 116(001110)stp10(001000) 0 1 1 1 1 0 0 017(001111)(2)第二步進入到對于指令低四位的設計階段,通過前面對于寄存器譯碼電路的分析可以得知:指令的低四位決定寄存器的操作(包括輸入與輸出),通過對于三個片選端的設置與指令低四位(i3-i0)的選擇,可是實現(xiàn)多種的寄存器的操作,具體實現(xiàn)見于如下表:表2-4寄存器操作對照表指令名稱涉及的寄存器操作 i3 i2 i1 i0in r0 swr0 x x 0 0move r1,r0 r0r

23、1 0 0 0 1add r0 r0dr1;dr1+dr2r0 0 0 0 0and r1,r0r0dr1;r1dr2;(dr1) (dr2)r1 0 0 0 1 sta addr r1bus 0 1 x xout addr 無 x x x x jmp addr 無 x x x x stp 無 x x x x 綜上所述,可以得出每條指令完整的機器指令,如下表所示: 表2-5 機器指令對照表助記符機器指令碼 功能說明in r00 0 0 0 x x 0 0從input device中輸入數(shù)據(jù)至r0move r1,r00 0 0 1 0 0 0 1 r0r1add r00 0 1 0 0 0 0

24、0 r0+addrr0and r1,r00 0 1 1 0 0 0 1 r0r1r1sta addr0 1 0 0 0 1 x x r1addrout addr0 1 0 1 x x x x addrledjmp addr0 1 1 0 x x x x addrpcstp0 1 1 1 x x x x 3 詳細設計3.1控制臺指令通過控制臺開始進行機器指令的讀寫和執(zhí)行,此處將00的后繼地址設為20(即010000)。此時只有p(4)有效,即p(4)=0,p(1)=p(2)=p(3)=1。圖3.1 控制臺設計強置改變有一個特點,當sei為1時無效,不能改變;只有sei為0時,才能對該位上的數(shù)進行

25、改變;但只能由0變成1,而不能逆轉(zhuǎn)。1. 強置寫指令當進行機器指令寫入時,將swb,swa置成01狀態(tài),通過指令譯碼器的邏輯表達式即可算出入口地址。se5=1se4=1se3=1se2=1se1=0se5se2均無效,只有se1有效,即可得出010000改變?yōu)?10010,即強置寫的入口地址為21。2. 強制讀指令當進行機器指令寫入時,將swb,swa置成00狀態(tài),通過指令譯碼器的邏輯表達式即可算出入口地址。se5=1se4=1se3=1se2=1se1=1se5se1均無效,不能對 010000進行改變,即強置寫的入口地址為20。3. 程序執(zhí)行指令當進行機器指令寫入時,將swb,swa置成1

26、1狀態(tài),通過指令譯碼器的邏輯表達式即可算出入口地址。se5=1se4=1se3=1se2=0se1=0se5se3均無效,se2和se1有效,即可得出010000改變?yōu)?10011,即強置寫的入口地址為23。綜上所述,可以得到控制臺程序的執(zhí)行流程圖如下:控制臺p(4)rcarpc+1pcarpc+1dr1leddr1ramrambusbusdr1swbusbusdr1圖3.2 控制臺設計圖3.2 單條指令的詳細設計(1)公操作表3-1 公操作設計表000000011110110110xxxxxxalu作加1操作不讀寫ldar有效,pc-arpc-busldpc有效000000001100000

27、001alu作加1操作讀主存ldir有效,將指令寫入指令寄存器p(1)有效備注:此流程為公操作,每條指令執(zhí)行公操作可以將指令的操作碼取出,實現(xiàn)跳轉(zhuǎn)等等操作,在取操作碼過程中,首先將操作碼的地址從pc(程序計數(shù)器)中取出,從主存對應位置找到操作碼放到ir(指令寄存器)中,從而實現(xiàn)取指操作,并且令選擇字段為p(1)有效,實現(xiàn)之后的跳轉(zhuǎn)。(2)in指令表3-2 in指令設計表p(1)swr0備注:此流程為in操作,主要實現(xiàn)從input deice中輸入一個數(shù)據(jù),使得該數(shù)據(jù)進入寄存器r0中,在實現(xiàn)這個操作的過程中需要用到寄存器譯碼電路,由前面的電路分析可知,ldri控制所有寄存器的輸入,因此必須使得a

28、字段為ldri。000000000001000000xxxxxxalu作加1運算ce有效ldri有效無效選端無效選端(3)move指令表3-3move指令設計表p(1)r0busbusr1備注:此流程為move指令,主要實現(xiàn)兩個寄存器之間的數(shù)據(jù)傳送,在此條指令中實現(xiàn)的是從r0到r1的數(shù)據(jù)傳送,由寄存器譯碼電路可知需要打開r0的輸出門r0-b與r1的輸入門ldr1,由前面的寄存器譯碼電路對照表可得如下字段值。000000011001001000xxxxxxalu作加1操作不讀寫ldri有效rs-b有效無效選端(4)add指令表3-4add指令設計表p(1)pcarpc+1rambusbusarr

29、ambusbusdr2r0dr1(dr1)+(dr2) r0備注:此流程為add運算的指令過程,這條指令實現(xiàn)了兩個操作數(shù)的加法運算,此條指令時寄存器-存儲器風格,則兩個操作數(shù)一個來自主存,另外一個來自寄存器,取自主存的那個操作數(shù)需要給出一個地址,通過直接尋址來找到操作碼。000000011110110110xxxxxxalu作加1操作不讀寫ldar有效pc-b有效ldpc有效 000000001110000000xxxxxxalu作加1操作讀取主存ldar有效無效選端無效選端000000001011000000xxxxxxalu作加1操作讀取主存lddr2有效無效選端無效選端000000011

30、010001000xxxxxxalu作加1操作不讀寫lddr1有效rs-b有效無效選端100101011001101000xxxxxxalu進行與運算不讀寫ldri有效alu-b有效無效選端(5)and指令表3-5 and指令設計表p(1)r0dr1(dr1)(dr2) r0r1dr2備注:此流程為and指令執(zhí)行過程,目的是為了實現(xiàn)兩個操作數(shù)的與運算,此條指令是寄存器-寄存器風格,因此兩個操作數(shù)都來自寄存器,由前面的寄存器譯碼電路的分析可得到相應字段的值,另外從指令流程長短上可以看出寄存器-寄存器風格的指令比較精簡,執(zhí)行速度很快。000000011010001000xxxxxxalu作加1操作

31、不讀寫lddr1有效pc-b有效無效選端000000011011010000xxxxxxalu作加1操作不讀寫lddr2有效rd-b有效無效選端101110011001101000xxxxxxalu作加法運算不讀寫ldri有效alu-b有效無效選端(6)sta指令表3-6 sta指令設計表pcarrc+1p(1)r0busbusramrambusbusar備注:此流程為sta指令的執(zhí)行過程。主要實現(xiàn)將寄存器r1中的數(shù)保存在主存中的某個地址下,因此在使用中需要在指令之后加一個地址作為地址碼。000000011110110110xxxxxxalu作加1操作不讀寫ldar有效pc-b有效ldpc有效

32、000000001110000000xxxxxxalu作加1操作讀取主存ldar有效無效選端無效選端000000101000001000xxxxxxalu作加1操作寫入主存無效選端rs-b有效無效選端(7)out指令表3-7 out指令設計表p(1)pcarpc+1rambusbusarrambusbusdr1dr1led備注:此流程為out指令的執(zhí)行過程。主要實現(xiàn)將某個地址下的數(shù)據(jù)顯示在led燈上,和sta指令的使用方法一樣,out是一個雙字節(jié)指令,需要給一個主存地址作為地址碼。000000011110110110xxxxxxalu作加1操作不讀寫ldar有效pc-b有效ldpc有效0000

33、00001110000000xxxxxxalu作加1操作讀取主存ldar有效無效選端無效選端000000001010000000xxxxxxalu作加1操作讀取主存lddr1有效無效選端無效選端000001110000101000xxxxxx輸出到dr1led無效選端alu-b有效無效選端(8)jmp指令表3-8jmp指令設計表p(1)pcarpc+1rambusbuspc備注:此流程為jmp指令的執(zhí)行過程。主要實現(xiàn)程序的流程控制,原理是在pc中送入一個想要跳轉(zhuǎn)的地址,在取得pc中的地址之后就可以跳轉(zhuǎn)到該處實現(xiàn)跳轉(zhuǎn)。000000011110110110xxxxxxalu作加1操作不讀寫ldar

34、有效pc-b有效ldpc有效000000001101000110xxxxxxalu作加1操作讀取主存load有效無效選端ldpc有效(9)stop指令表3-9stop指令設計表p(1)備注:此流程為stop指令的執(zhí)行過程。主要實現(xiàn)程序的停止,原理是使程序的指令指向本條指令,所以程序停止運行。000000011000000000xxxxxxalu作加1操作不讀寫無效選端無效選端無效選端3.3微程序流程圖設計圖3.3 程序流程圖4 編碼實現(xiàn)表4-1 微指令代碼表微地址s3s0 m cnwe a9 a8 a b cua5ua000000000011000000100010000 0100000001

35、111011011000001002000000001100000001001000030000000011100000000001000400000000101100000000010105000000011010001000000110061001010110011010000000010700000001101101000001110110000000000001000000000001110000000110010010000000011200000001111011011000001113000000011010001000000111140000000111101101100101

36、011500000001111011011001100116000000011110110110011100170000000110000000000011112000000001111011011001001021000000011110110110010100220000000010100000000101112300000001100000000000000124000000000010000000011000250000000011100000000101102600000010100000100000000127000001110000101000010000300000011010

37、0010100001000131000000001110000000011010320000000010100000000110113300000111000010100000000134000000001101000110000001351011100110011010000000015 設計測試表5-1 測試程序表地址內(nèi)容助記符說明0000 00000000 0000in“iuput device”r00000 00010001 0001mover0r10000 00100010 0000addodhr0+odh r00000 00110000 11010000 01000011 0001

38、andr0r1r10000 01010100 0100staofhr1oeh0000 01100000 11100000 01110101 0000outofhoeh led0000 10000000 11100000 10010110 0000jmpoahobhpc0000 10100000 10110000 10110111 0000stop0000 11000000 11010000 0001自定0000 11106 實驗心得體會通過這一次的課程設計,我的動手能力和實踐經(jīng)驗有了一定程度的提高。在調(diào)試的過程中,通過排除故障,自己找尋出錯原因,不僅學會了如何判斷問題的所在原因,也讓我更加喜歡

39、自己解決問題。這次試驗使我學到了不少,增長了許多經(jīng)驗,而這些是書上學不到的。平常我們只是在頭腦中去抽象地記憶、理解那些課本上的理論知識。有的理論知識很好懂,甚至只是靠自己死記硬背,甚至只是靠自己的死記硬背。那樣的記憶很容易被人遺忘。這一次的課程設計給了我們一個在實踐中靈活運用知識的機會,我們也通過在實踐中發(fā)現(xiàn)問題,進而去找尋相關(guān)的知識去解決問題,從而鞏固了理論知識。而許多不清楚不理解的地方,在組長的耐心解說幫助下,終于解決。這次課程設計使我受益匪淺。附錄一:數(shù)據(jù)通路圖附錄二:實驗連線圖參考文獻:計算機組成原理: 實驗指導書. (太原科技大學) 薀袇肀莄蚃肅羆蒃螅袆芄蒂蒄肁膀蒁薇襖膆蒀蝿腿肂葿袁

40、羂莁蒈薁螅芇蒈蚃羈膃蕆螆螃聿薆蒅罿羅薅薈螂芄薄蝕羇芀薃袂螀膆薂薂肅肁薂蚄袈莀薁螇肄芆薀衿袇膂蠆蕿肂肈芆蟻裊羄芅螃肀莃芄薃袃艿芃蚅腿膅節(jié)螇羈肁芁袀螄荿芀蕿羀芅莀螞螃膁荿螄羈肇莈蒄螁肅莇蚆肆莂莆螈衿羋蒞袁肅膄莄薀袇肀莄蚃肅羆蒃螅袆芄蒂蒄肁膀蒁薇襖膆蒀蝿腿肂葿袁羂莁蒈薁螅芇蒈蚃羈膃蕆螆螃聿薆蒅罿羅薅薈螂芄薄蝕羇芀薃袂螀膆薂薂肅肁薂蚄袈莀薁螇肄芆薀衿袇膂蠆蕿肂肈芆蟻裊羄芅螃肀莃芄薃袃艿芃蚅腿膅節(jié)螇羈肁芁袀螄荿芀蕿羀芅莀螞螃膁荿螄羈肇莈蒄螁肅莇蚆肆莂莆螈衿羋蒞袁肅膄莄薀袇肀莄蚃肅羆蒃螅袆芄蒂蒄肁膀蒁薇襖膆蒀蝿腿肂葿袁羂莁蒈薁螅芇蒈蚃羈膃蕆螆螃聿薆蒅罿羅薅薈螂芄薄蝕羇芀薃袂螀膆薂薂肅肁薂蚄袈莀薁螇肄芆薀衿

41、袇膂蠆蕿肂肈芆蟻裊羄芅螃肀莃芄薃袃艿芃蚅腿膅節(jié)螇羈肁芁袀螄荿芀蕿羀芅莀螞螃膁荿螄羈肇莈蒄螁肅莇蚆肆莂莆螈衿羋蒞袁肅膄莄薀袇肀莄蚃肅羆蒃螅袆芄蒂蒄肁膀蒁薇襖膆蒀蝿腿肂葿袁羂莁蒈薁螅芇蒈蚃羈膃蕆螆螃聿薆蒅罿羅薅薈螂芄薄蝕羇芀薃袂螀膆薂薂肅肁薂蚄袈莀薁螇肄芆薀衿袇膂蠆蕿肂肈芆蟻裊羄芅螃肀莃芄薃袃艿芃蚅腿膅節(jié)螇羈肁芁袀螄荿芀蕿羀芅莀螞螃膁荿螄羈肇莈蒄螁肅莇蚆肆莂莆螈衿羋蒞袁肅膄莄薀袇肀莄蚃肅羆蒃螅袆芄蒂蒄肁膀蒁薇襖膆蒀蝿腿肂葿袁羂莁蒈薁螅芇蒈蚃羈膃蕆螆螃聿薆蒅罿羅薅薈螂芄薄蝕羇芀薃袂螀膆薂薂肅肁薂蚄袈莀薁螇肄芆薀衿袇膂蠆蕿肂肈芆蟻裊羄芅螃肀莃芄薃袃艿芃蚅腿膅節(jié)螇羈肁芁袀螄荿芀蕿羀芅莀螞螃膁荿螄羈肇莈蒄螁肅莇蚆肆莂莆螈衿羋蒞袁肅膄莄薀袇

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論