計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告6085950359_第1頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告6085950359_第2頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告6085950359_第3頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告6085950359_第4頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告6085950359_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21、程的控制,具體跳轉(zhuǎn)對(duì)應(yīng)關(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)第二步進(jìn)入到對(duì)于指令低四位的設(shè)計(jì)階段,通過(guò)前面對(duì)于寄存器譯碼電路的分析可以得知:指令的低四位決定寄存器的操作(包括輸入與輸出),通過(guò)對(duì)于三個(gè)片選端的設(shè)置與指令低四位(i3-i0)的選擇,可是實(shí)現(xiàn)多種的寄存器的操作,具體實(shí)現(xiàn)見(jiàn)于如下表:表2-4寄存器操作對(duì)照表指令名稱涉及的寄存器操作 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 無(wú) x x x x jmp addr 無(wú) x x x x stp 無(wú) x x x x 綜上所述,可以得出每條指令完整的機(jī)器指令,如下表所示: 表2-5 機(jī)器指令對(duì)照表助記符機(jī)器指令碼 功能說(shuō)明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 詳細(xì)設(shè)計(jì)3.1控制臺(tái)指令通過(guò)控制臺(tái)開(kāi)始進(jìn)行機(jī)器指令的讀寫和執(zhí)行,此處將00的后繼地址設(shè)為20(即010000)。此時(shí)只有p(4)有效,即p(4)=0,p(1)=p(2)=p(3)=1。圖3.1 控制臺(tái)設(shè)計(jì)強(qiáng)置改變有一個(gè)特點(diǎn),當(dāng)sei為1時(shí)無(wú)效,不能改變;只有sei為0時(shí),才能對(duì)該位上的數(shù)進(jìn)行

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

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

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

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

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

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

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

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

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

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

35、111011011000001002000000001100000001001000030000000011100000000001000400000000101100000000010105000000011010001000000110061001010110011010000000010700000001101101000001110110000000000001000000000001110000000110010010000000011200000001111011011000001113000000011010001000000111140000000111101101100101

36、011500000001111011011001100116000000011110110110011100170000000110000000000011112000000001111011011001001021000000011110110110010100220000000010100000000101112300000001100000000000000124000000000010000000011000250000000011100000000101102600000010100000100000000127000001110000101000010000300000011010

37、0010100001000131000000001110000000011010320000000010100000000110113300000111000010100000000134000000001101000110000001351011100110011010000000015 設(shè)計(jì)測(cè)試表5-1 測(cè)試程序表地址內(nèi)容助記符說(shuō)明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 實(shí)驗(yàn)心得體會(huì)通過(guò)這一次的課程設(shè)計(jì),我的動(dòng)手能力和實(shí)踐經(jīng)驗(yàn)有了一定程度的提高。在調(diào)試的過(guò)程中,通過(guò)排除故障,自己找尋出錯(cuò)原因,不僅學(xué)會(huì)了如何判斷問(wèn)題的所在原因,也讓我更加喜歡

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

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

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

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論