《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》是“數(shù)字邏輯”“計算機組成原理”“計算機體系結(jié)構(gòu)”“微機接口”等課程的配套實驗教材,系統(tǒng)介紹了數(shù)字邏輯基礎(chǔ),計算機的組成原理、體系結(jié)構(gòu)及接口技術(shù)。全書分4章,共22個實驗。第1章是基礎(chǔ)的數(shù)字邏輯實驗,包括觸發(fā)器與寄存器、邏輯門與算術(shù)電路、組合邏輯電路、比較器和仲裁電路、時序邏輯電路;第2章是計算機組成原理實驗,從狀態(tài)機開始,依次論述了CPU主要組成部件(運算器、存儲器、微程序控制器和硬布線控制器)的設(shè)計與使用;第3章是計算機體系結(jié)構(gòu)實驗,介紹了3種主流的CPU架構(gòu)(微程序、硬布線、流水線),并且給出了堆棧及CPU嵌套中斷的硬件實現(xiàn)方法;后,第4章介紹了8種常用的微型計算機接口,并且分別與第3章中的微程序CPU一起,搭建一個完整的微型計算機小系統(tǒng)。
《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》內(nèi)容全面,方法新穎:《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》所有實驗只涉及基本的數(shù)字邏輯器件,不需要學習FPGA及EDA設(shè)計的知識;《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》所有實驗可以在虛擬仿真工具——Proteus上仿真進行,也適用于實驗箱教學模式;《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》所有實驗都是開放式設(shè)計,鼓勵學生自己動手設(shè)計CPU和計算機系統(tǒng)。
《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》可作為高等院校計算機、軟件及電子信息等專業(yè)本科生的實驗教材,也可供計算機硬件愛好者、創(chuàng)客及工程技術(shù)人員參考使用。
《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》主要為“數(shù)字邏輯”“計算機組成原理”“計算機體系結(jié)構(gòu)”“微機接口”等計算機系統(tǒng)類課程的實驗和課程設(shè)計提供一條不同以往“面板插線”和“可編程邏輯”的實驗教學路線——基于Proteus的“虛擬仿真”實驗教學。
傳統(tǒng)的“面板插線”實驗教學方式已經(jīng)推行了幾十年,積累了豐富的實驗資源。但是受限于動手能力和實驗條件,學生僅能通過在實驗箱面板上插線連接去驗證實驗箱的功能,不可能去改動實驗箱硬件,所以學生缺乏動手實踐的機會。而且實驗過程的插拔線操作煩瑣,實驗箱損壞率較高。學生耗費大量時間在線纜連接上,枯燥無味,實驗效果較差。
新晉的“可編程邏輯”實驗教學方式允許學生運用硬件描述語言在可編程邏輯芯片F(xiàn)PGA上進行數(shù)字邏輯實驗和CPU設(shè)計,靈活度很高,可以實現(xiàn)達到工業(yè)級應(yīng)用標準的復(fù)雜CPU架構(gòu)。但是,學生要有較好的EDA技術(shù)基礎(chǔ)和硬件描述語言編程實踐,才能很好地在FPGA上進行實驗,否則無法理解FPGA設(shè)計的相關(guān)細節(jié)。由于專業(yè)課程體系的安排,計算機或軟件專業(yè)的學生很難在“計算機組成原理”“計算機體系結(jié)構(gòu)”基礎(chǔ)課之前有足夠的時間和精力去深入掌握FPGA設(shè)計知識。而且,計算機或軟件專業(yè)亦缺乏對FPGA領(lǐng)域熟悉的老師,需要重新培訓(xùn)。
《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》力圖用簡單、直觀的方法,使枯燥的計算機系統(tǒng)硬件的基礎(chǔ)知識變得直觀、形象,讓學生方便、快捷地進行數(shù)字邏輯、計算機組成原理、計算機體系結(jié)構(gòu)實驗,而不是追求“高、深、難、炫”的設(shè)計技術(shù),以減輕學生和老師的負擔。學生應(yīng)在掌握了基礎(chǔ)的計算機硬件知識之后,在實際需要的時候再學習FPGA技術(shù)去指導(dǎo)研發(fā)工作,而不是本末倒置,為了做課程實驗而去學習FPGA技術(shù),耗費大量時間和精力在實驗工具上。
《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》論述的虛擬仿真實驗教學方法,首先繼承了傳統(tǒng)面板插線實驗教學的“低門檻”特點,即只要掌握基本的數(shù)字邏輯概念,不需要深入學習FPGA設(shè)計等專業(yè)知識,也能在虛擬環(huán)境中運用常見的中小邏輯器件“積木式”設(shè)計和搭建CPU ;其次,虛擬仿真實驗教學具有跟可編程邏輯實驗教學一樣的“高靈活性”特點,即在Proteus虛擬仿真環(huán)境中,學生可以從基本數(shù)字邏輯器件開始學習,進而驗證計算機的組成部件功能,甚至參照主流的CPU體系結(jié)構(gòu),設(shè)計相同指令集而不同硬件架構(gòu)的CPU。上述“低門檻”和“高靈活性”特點的結(jié)合,有利于提降低基礎(chǔ)課的實驗門檻,提高學生對計算機基礎(chǔ)課的學習興趣,增強學生的創(chuàng)新意識,培養(yǎng)動手實踐能力。
《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》設(shè)計和搭建的CPU架構(gòu)都是“透明”的:硬件可以看見每根導(dǎo)線和每個端口上的電平高低,編程直接采用最底層的機器語言,有利于同學們直觀了解CPU內(nèi)部運作機制,牢固掌握所學的知識。而且,《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》還挑選了常用的計算機I/O外設(shè)接口,與微程序CPU一起搭建一個完整且最小的微型計算機系統(tǒng)。學生還可以在本書實驗的基礎(chǔ)上,自己動手移植和搭建硬布線CPU或者流水線CPU的最小微機系統(tǒng)。
《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》的編寫得到了Proteus軟件中國區(qū)代理——廣州風標電子技術(shù)有限公司的大力支持,李垚圣、黃永燊、鄧毓峰等同學為《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》的編寫付出了辛勤的工作,華南理工大學計算機科學與技術(shù)專業(yè)2012級、2013級、2014級的同學們對《基于Proteus的計算機系統(tǒng)實驗教程——邏輯、組成原理、體系結(jié)構(gòu)、微機接口》提出了大量寶貴的意見,在此對他們表示最誠摯的感謝!
賴曉錚,華南理工大學計算機科學與工程學院副教授,碩士生導(dǎo)師,“計算機組成與體系結(jié)構(gòu)”課程負責人,編寫教材《計算機組成原理》。主要研究方向:嵌入式系統(tǒng)及物聯(lián)網(wǎng)技術(shù),承擔國家“863”項目,國家自然科學基金,廣東省科技計劃項目等多項課題。擅長虛擬仿真教學技術(shù),具有多年的計算機硬件類課程(計算機組成原理、體系結(jié)構(gòu)、嵌入式系統(tǒng))的實驗教學經(jīng)驗。
目 錄
出版說明
前言
第1章 數(shù)字邏輯實驗
1.1 觸發(fā)器與寄存器實驗
1.1.1 實驗概述
1.1.2 總線通路
1.1.3 觸發(fā)器
1.1.4 寄存器
1.1.5 實驗步驟
1.1.6 思考題
1.2 邏輯門與算術(shù)電路實驗
1.2.1 實驗概述
1.2.2 邏輯門
1.2.3 算術(shù)電路
1.2.4 串行進位加法器
1.2.5 并行進位加法器
1.2.6 實驗步驟
1.2.7 思考題
1.3 組合邏輯電路實驗
1.3.1 實驗概述
1.3.2 譯碼器
1.3.3 編碼器
1.3.4 數(shù)據(jù)選擇器
1.3.5 奇偶校驗電路
1.3.6 實驗步驟
1.3.7 思考題
1.4 數(shù)據(jù)比較器和仲裁器電路實驗
1.4.1 實驗概述
1.4.2 數(shù)據(jù)比較器
1.4.3 仲裁器
1.4.4 實驗步驟
1.4.5 思考題
1.5 時序邏輯電路實驗
1.5.1 實驗概述
1.5.2 計數(shù)器原理
1.5.3 異/同步計數(shù)器
1.5.4 加法/減法計數(shù)器
1.5.5 任意進制計數(shù)器
1.5.6 電子鐘
1.5.7 實驗步驟
1.5.8 思考題
第2章 計算機組成原理實驗
2.1 狀態(tài)機實驗
2.1.1 實驗概述
2.1.2 狀態(tài)機原理
2.1.3 環(huán)形計數(shù)器
2.1.4 扭環(huán)計數(shù)器
2.1.5 狀態(tài)機示例:交通燈
2.1.6 實驗步驟
2.1.7 思考題
2.2 運算器實驗
2.2.1 實驗概述
2.2.2 算術(shù)邏輯運算器74LS181
2.2.3 串行乘法運算
2.2.4 實驗步驟
2.2.5 思考題
2.3 存儲器實驗
2.3.1 實驗概述
2.3.2 存儲器電路
2.3.3 ROM批量導(dǎo)入數(shù)據(jù)的技巧
2.3.4 實驗步驟
2.3.5 思考題
2.4 微程序控制器實驗
2.4.1 實驗概述
2.4.2 數(shù)據(jù)通路
2.4.3 微程序原理
2.4.4 微程序控制器
2.4.5 時序發(fā)生器
2.4.6 實驗步驟
2.4.7 思考題
2.5 硬布線控制器實驗
2.5.1 實驗概述
2.5.2 單周期硬布線控制器
2.5.3 多周期硬布線控制器
2.5.4 實驗步驟
2.5.5 思考題
第3章 計算機體系結(jié)構(gòu)實驗
3.1 微程序CPU實驗
3.1.1 實驗概述
3.1.2 CPU指令集
3.1.3 微程序CPU架構(gòu)
3.1.4 時序電路(CLOCK)
3.1.5 微程序控制器(CONTROLLER)
3.1.6 取指及中斷處理過程
3.1.7 寄存器及I/O操作指令
3.1.8 存儲器及堆棧操作指令
3.1.9 跳轉(zhuǎn)系列指令
3.1.10 算術(shù)邏輯運算系列指令
3.1.11 實驗步驟
3.1.12 思考題
3.2 硬布線CPU實驗
3.2.1 實驗概述
3.2.2 硬布線CPU架構(gòu)
3.2.3 硬布線CPU的控制器
3.2.4 硬布線CPU的狀態(tài)機流程圖
3.2.5 實驗步驟
3.2.6 思考題
3.3 流水線CPU實驗
3.3.1 實驗概述
3.3.2 流水線CPU架構(gòu)
3.3.3 指令流水線及取指(F)階段
3.3.4 數(shù)據(jù)通路概述
3.3.5 譯碼(D)階段及“暫!睓C制
3.3.6 執(zhí)行(E)階段及“氣泡”機制
3.3.7 寫回(W)階段及“旁路”機制
3.3.8 中斷處理過程及“中斷延遲”機制
3.3.9 流水線相關(guān)問題
3.3.10 實驗步驟
3.3.11 思考題
3.4 嵌套中斷CPU實驗
3.4.1 實驗概述
3.4.2 硬布線堆棧電路
3.4.3 基于硬布線堆棧的嵌套中斷CPU
3.4.4 實驗步驟
3.4.5 思考題
第4章 微機接口實驗
4.1 I/O接口擴展實驗
4.1.1 實驗概述
4.1.2 8255A芯片的結(jié)構(gòu)
4.1.3 8255A芯片的工作方式
4.1.4 “CPU+8255A”微機系統(tǒng)
4.1.5 實驗步驟
4.1.6 思考題
4.2 定時器/計數(shù)器實驗
4.2.1 實驗概述
4.2.2 8253A芯片的結(jié)構(gòu)
4.2.3 8253A芯片的工作方式
4.2.4 “CPU+8253A”微機系統(tǒng)
4.2.5 實驗步驟
4.2.6 思考題
4.3 串口通信實驗
4.3.1 實驗概述
4.3.2 8251A芯片的結(jié)構(gòu)及功能
4.3.3 8251A芯片的工作方式
4.3.4 “CPU+8253A+8251A”微機系統(tǒng)
4.3.5 實驗步驟
4.3.6 思考題
4.4 模-數(shù)轉(zhuǎn)換實驗
4.4.1 實驗概述
4.4.2 ADC0809芯片的結(jié)構(gòu)及工作方式
4.4.3 “CPU+ADC0809”微機系統(tǒng)
4.4.4 實驗步驟
4.4.5 思考題
4.5 數(shù)-模轉(zhuǎn)換實驗
4.5.1 實驗概述
4.5.2 DAC0832芯片的結(jié)構(gòu)及工作方式
4.5.3 實驗步驟
4.5.4 思考題
4.6 液晶屏顯示實驗
4.6.1 實驗概述
4.6.2 LCD1602液晶芯片的結(jié)構(gòu)
4.6.3 8255芯片的工作方式
4.6.4 “CPU+LCD1602”微機系統(tǒng)
4.6.5 實驗步驟
4.6.6 思考題
4.7 中斷控制器實驗
4.7.1 實驗概述
4.7.2 8259芯片的結(jié)構(gòu)
4.7.3 8259A芯片的工作方式
4.7.4 8259A芯片的命令字
4.7.5 8259A