本書針對(duì)沒有獨(dú)立開設(shè)模擬電路、數(shù)字電路、計(jì)算機(jī)組成原理、微機(jī)原理和匯編語(yǔ)言等偏硬件類課程的軟件工程、人工智能和物聯(lián)網(wǎng)工程等專業(yè),根據(jù)專業(yè)課程建設(shè)及知識(shí)結(jié)構(gòu)的要求,從計(jì)算機(jī)的視角,抽取模擬電路、數(shù)字電路、計(jì)算機(jī)組成原理、微機(jī)原理和匯編語(yǔ)言等課程中最基礎(chǔ)的知識(shí)進(jìn)行梳理歸納,圍繞計(jì)算機(jī)這個(gè)對(duì)象,有機(jī)地形成一個(gè)體系,構(gòu)成這些專業(yè)所必需的計(jì)算機(jī)硬件基礎(chǔ),目標(biāo)是使得軟件工程、人工智能和物聯(lián)網(wǎng)工程等專業(yè)的學(xué)生能夠基本理解軟件如何通過硬件起作用,軟件如何干預(yù)硬件,以充實(shí)學(xué)生的知識(shí)結(jié)構(gòu),滿足工程認(rèn)證的基本要求,為學(xué)生軟件開發(fā)能力的培養(yǎng)提供硬件支撐! ”緯鴥(nèi)容涵蓋概述、電子元器件基礎(chǔ)、放大電路基礎(chǔ)、數(shù)字電路基礎(chǔ)、組合邏輯電路、時(shí)序邏輯電路、指令系統(tǒng)與匯編語(yǔ)言基本語(yǔ)法、輸入輸出系統(tǒng)、存儲(chǔ)器、中央處理器等,同時(shí)給出了軟硬件協(xié)同模式的計(jì)算機(jī)硬件基礎(chǔ)實(shí)驗(yàn)指導(dǎo)! ”緯勺鳛楦叩葘W(xué)校軟件工程、人工智能和物聯(lián)網(wǎng)工程等專業(yè)的教材或參考書,也可供工程開發(fā)人員參考。
在軟件定義硬件的時(shí)代,理解計(jì)算機(jī)底層運(yùn)作機(jī)制已成為軟件工程、人工智能與物聯(lián)網(wǎng)工程等專業(yè)學(xué)生的核心能力需求。《計(jì)算機(jī)硬件基礎(chǔ)基于RISC-V架構(gòu)》一書正是為解決這一痛點(diǎn)而生的創(chuàng)新教材,其特色體現(xiàn)在以下四個(gè)方面度:1. 跨學(xué)科知識(shí)重構(gòu)本書突破傳統(tǒng)硬件課程分立式教學(xué)的局限,以"計(jì)算機(jī)視角"重構(gòu)知識(shí)體系。通過提煉模擬電路、數(shù)字電路、計(jì)算機(jī)組成原理等課程的核心內(nèi)容,將馮·諾依曼結(jié)構(gòu)、三總線機(jī)制、指令執(zhí)行流程等抽象概念轉(zhuǎn)化為可觸摸的知識(shí)網(wǎng)絡(luò),幫助非硬件專業(yè)學(xué)生建立"軟件如何干預(yù)硬件"的完整認(rèn)知框架。2. RISC-V架構(gòu)的工程實(shí)踐導(dǎo)向本書采用開源RISC-V指令集架構(gòu)作為教學(xué)載體,結(jié)合CH573微控制器實(shí)驗(yàn)套件,構(gòu)建了從半導(dǎo)體器件到CPU設(shè)計(jì)的全鏈條實(shí)踐體系。書中GPIO構(gòu)件、中斷系統(tǒng)、UART通信等案例,均源自真實(shí)工程場(chǎng)景,配合數(shù)字資源中的源程序與實(shí)驗(yàn)指導(dǎo),實(shí)現(xiàn)"理論-仿真-實(shí)操"的無(wú)縫銜接。3. 工程認(rèn)證的精準(zhǔn)對(duì)標(biāo)嚴(yán)格遵循工程教育認(rèn)證標(biāo)準(zhǔn),突出知識(shí)結(jié)構(gòu)的應(yīng)用性。通過存儲(chǔ)器層次結(jié)構(gòu)、指令流水線沖突處理、高速緩存替換算法等內(nèi)容,強(qiáng)化學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)性能優(yōu)化的理解;而ASCII碼、浮點(diǎn)數(shù)表示等基礎(chǔ)知識(shí)的嵌入,則夯實(shí)軟件開發(fā)所需的底層數(shù)據(jù)認(rèn)知。4. 豐富配套資源本書附贈(zèng)了精心設(shè)計(jì)的、與書中內(nèi)容緊密結(jié)合的實(shí)驗(yàn)套件,可用于完成附錄中的實(shí)驗(yàn)。配套實(shí)驗(yàn)套件突破傳統(tǒng)硬件實(shí)驗(yàn)的場(chǎng)地限制,顯著降低學(xué)習(xí)門檻。本書提供了數(shù)字資源,內(nèi)含軟硬件資料、實(shí)驗(yàn)源程序等。數(shù)字資源中提供的教材專欄、微信社群等立體化支持,更構(gòu)建了"書-課-賽"三位一體的教學(xué)生態(tài)。
沒有獨(dú)立開設(shè)模擬電路、數(shù)字電路、計(jì)算機(jī)組成原理、微機(jī)原理和匯編語(yǔ)言等偏硬件類課程的軟件工程專業(yè),或沒有獨(dú)立開設(shè)此類課程的人工智能、物聯(lián)網(wǎng)工程等專業(yè),計(jì)算機(jī)硬件基礎(chǔ)要不要上?如何上?這成為教學(xué)改革的焦點(diǎn)之一。關(guān)于要不要上這門課,不是本書討論的范疇,本書關(guān)注的是,在有限的課時(shí)內(nèi),如何篩選與組織內(nèi)容上好這門課。從工程認(rèn)證、知識(shí)結(jié)構(gòu)等要求來(lái)看,計(jì)算機(jī)硬件基礎(chǔ)是軟件工程等專業(yè)學(xué)生的基礎(chǔ)之一,沒有計(jì)算機(jī)硬件,就不可能有軟件存在。顧名思義,軟件工程就是要用與做工程類似的方法做軟件,日益復(fù)雜的軟件難以開發(fā)與維護(hù),因而產(chǎn)生的軟件危機(jī)使得人們意識(shí)到要像做工程一樣來(lái)做軟件。若完全沒有計(jì)算機(jī)硬件基礎(chǔ),則難以理解軟件的基本運(yùn)行過程,因此,計(jì)算機(jī)硬件基礎(chǔ)是軟件工程等專業(yè)學(xué)生的重要基礎(chǔ)之一。既然是基礎(chǔ),則說明其重要性。接下來(lái)就是如何上的問題。因課時(shí)限制,不可能與計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)一樣來(lái)設(shè)置模擬電路、數(shù)字電路、計(jì)算機(jī)組成原理、微機(jī)原理和匯編語(yǔ)言等獨(dú)立課程,但是這幾門課最基本的東西應(yīng)該提煉出來(lái)形成軟件工程等專業(yè)的計(jì)算機(jī)硬件基礎(chǔ),由此必須進(jìn)行教材建設(shè),本書就是在這樣的背景下形成的。它不是這幾門課程的簡(jiǎn)單拼湊,而是基于軟件工程等專業(yè)的知識(shí)結(jié)構(gòu),根據(jù)工程認(rèn)證的基本要求,提煉這幾門課程中最核心的基礎(chǔ)知識(shí),進(jìn)行梳理歸納和整合,形成一個(gè)有機(jī)的知識(shí)體系,構(gòu)成軟件工程等專業(yè)所必需的計(jì)算機(jī)硬件基礎(chǔ)課程。課程目標(biāo)是使得軟件工程等專業(yè)的學(xué)生在有限的課時(shí)內(nèi),能夠基本理解軟件如何通過硬件起作用,軟件如何干預(yù)硬件,以充實(shí)軟件工程等專業(yè)學(xué)生的知識(shí)結(jié)構(gòu),滿足工程認(rèn)證的基本要求,為培養(yǎng)學(xué)生的軟件開發(fā)能力提供基本的硬件支撐。本書內(nèi)容涵蓋概述、電子元器件基礎(chǔ)、放大電路基礎(chǔ)、數(shù)字電路基礎(chǔ)、組合邏輯電路、時(shí)序邏輯電路、指令系統(tǒng)與匯編語(yǔ)言基本語(yǔ)法、輸入輸出系統(tǒng)、存儲(chǔ)器、中央處理器等。若相關(guān)內(nèi)容已經(jīng)獨(dú)立開設(shè)課程,則可以在教學(xué)過程中靈活調(diào)整,不影響本書的整體性。計(jì)算機(jī)硬件基礎(chǔ)的教學(xué)離不開實(shí)驗(yàn),為了更好地進(jìn)行計(jì)算機(jī)硬件基礎(chǔ)的教學(xué),本書采用軟硬件協(xié)同模式,專門開發(fā)了可攜帶的計(jì)算機(jī)硬件基礎(chǔ)實(shí)驗(yàn)套件。該套件以RISC-V架構(gòu)CH573微控制器構(gòu)建的GEC為核心,針對(duì)各個(gè)實(shí)驗(yàn)設(shè)計(jì)了對(duì)應(yīng)的軟硬件體系,使得計(jì)算機(jī)硬件基礎(chǔ)的實(shí)驗(yàn)教學(xué)更加清晰簡(jiǎn)捷、易于理解。本書可作為高等學(xué)校軟件工程、人工智能和物聯(lián)網(wǎng)工程等專業(yè)的教材或參考書。本書由王宜懷、劉曉升擔(dān)任主編,田宏偉、蔣建武、焦金濤任副主編,蘇州大學(xué)嵌入式人工智能與物聯(lián)網(wǎng)方向的研究生參與了書中實(shí)驗(yàn)體系的設(shè)計(jì),特此表示感謝。本書在講義階段經(jīng)過兩次試用,逐步修改成稿,是軟件工程、人工智能和物聯(lián)網(wǎng)工程等專業(yè)計(jì)算機(jī)硬件基礎(chǔ)課程教學(xué)改革的一次嘗試,希望使用本書的老師和同學(xué)們提出寶貴意見和建議,以便修改提高。歡迎對(duì)學(xué)習(xí)和開發(fā)感興趣的老師和同學(xué)們與我探討交流(微信號(hào):wyhwyh011),我和團(tuán)隊(duì)愿在這個(gè)關(guān)鍵技術(shù)領(lǐng)域?yàn)榇蠹业膶W(xué)習(xí)和進(jìn)階助力。編者
王宜懷,男,博士,蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院教授、博士生導(dǎo)師;蘇州大學(xué)嵌入式系統(tǒng)與物聯(lián)網(wǎng)研究所所長(zhǎng);蘇州大學(xué)-沁恒RISC-V協(xié)同創(chuàng)新中心主任,江蘇省計(jì)算機(jī)學(xué)會(huì)嵌入式系統(tǒng)與物聯(lián)網(wǎng)專業(yè)委員會(huì)主任。曾獲福建省八五期間電子信息應(yīng)用先進(jìn)個(gè)人、全國(guó)高等學(xué)校計(jì)算機(jī)教學(xué)成果獎(jiǎng)一等獎(jiǎng)、國(guó)家級(jí)一流本科課程、江蘇省高等教育教學(xué)成果一等獎(jiǎng)、蘇州大學(xué)五四青年特別感謝獎(jiǎng)、蘇州大學(xué)高尚師德獎(jiǎng)、福建省南平市政協(xié)優(yōu)秀委員、江蘇省蘇州市政協(xié)優(yōu)秀委員等。致力于嵌入式系統(tǒng)、物聯(lián)網(wǎng)、嵌入式人工智能、嵌入式軟件工程等方向研究與教學(xué)工作,撰寫嵌入式技術(shù)基礎(chǔ)與實(shí)踐(1~6版)、窄帶物聯(lián)網(wǎng)NB-IoT應(yīng)用開發(fā)共性技術(shù)、汽車電子S32K系列微控制器、嵌入式實(shí)時(shí)操作系統(tǒng)等著作十余部,獲得發(fā)明專利三十余項(xiàng)。
第1章概述11.1從計(jì)算機(jī)的出現(xiàn)到無(wú)處不在的微型計(jì)算機(jī)11.2計(jì)算機(jī)硬件支撐軟件運(yùn)行31.3文字在計(jì)算機(jī)中的存儲(chǔ)方式字符編碼71.4計(jì)算機(jī)硬件基礎(chǔ)知識(shí)9習(xí)題10第2章電子元器件基礎(chǔ)112.1基本電子元器件112.2電路模型和電路定律182.3半導(dǎo)體基礎(chǔ)知識(shí)192.4二極管242.5晶體管302.6場(chǎng)效應(yīng)晶體管342.7常用電子器件的原理與應(yīng)用39習(xí)題43第3章放大電路基礎(chǔ)443.1常用傳感器簡(jiǎn)介443.2基本放大電路463.3集成運(yùn)算放大電路503.4微型計(jì)算機(jī)中的常用放大電路54習(xí)題58第4章數(shù)字電路基礎(chǔ)594.1數(shù)制及數(shù)制之間的轉(zhuǎn)換方法594.2計(jì)算機(jī)中信息的基本表示方式634.3邏輯代數(shù)基礎(chǔ)694.4邏輯函數(shù)的表示和化簡(jiǎn)73習(xí)題81第5章組合邏輯電路835.1組合邏輯電路分析和設(shè)計(jì)方法835.2三態(tài)門、編碼器和譯碼器865.3數(shù)據(jù)選擇器、數(shù)據(jù)分配器和數(shù)值比較器91習(xí)題95第6章時(shí)序邏輯電路966.1觸發(fā)器的概念、特點(diǎn)和分類966.2基本RS觸發(fā)器976.3時(shí)鐘脈沖控制功能觸發(fā)器1006.4時(shí)序邏輯電路分析和設(shè)計(jì)方法1046.5常用的時(shí)序邏輯模塊108習(xí)題114第7章指令系統(tǒng)與匯編語(yǔ)言基本語(yǔ)法1167.1RISC-V架構(gòu)概述1167.2寄存器和尋址方式1187.3RISC-V基本指令分類解析1247.4匯編語(yǔ)言的基本語(yǔ)法1277.5匯編語(yǔ)言工程舉例:控制小燈閃爍1317.6理解匯編工程中的GPI構(gòu)件134習(xí)題138第8章輸入輸出系統(tǒng)1418.1中斷系統(tǒng)和定時(shí)器1418.2串行通信接口1488.3ADC模塊1558.4PWM模塊161習(xí)題166第9章存儲(chǔ)器1699.1存儲(chǔ)器概述1699.2RAM的存儲(chǔ)單元1729.2.3DRAM的存儲(chǔ)單元1749.3存儲(chǔ)器芯片的擴(kuò)展1759.4高速緩沖存儲(chǔ)器1789.5虛擬存儲(chǔ)器1849.6Flash存儲(chǔ)器187習(xí)題189第10章中央處理器19410.1中央處理器概述19410.2運(yùn)算器19710.3控制器20910.4硬布線控制器21410.5微程序控制器21810.6指令流水線工作原理224習(xí)題226附錄A計(jì)算機(jī)硬件基礎(chǔ)實(shí)驗(yàn)指導(dǎo)229A.1AHL-CH573-EXP計(jì)算機(jī)硬件基礎(chǔ)實(shí)驗(yàn)套件簡(jiǎn)介229A.2共性操作232A.3實(shí)驗(yàn)一二極管實(shí)驗(yàn)236A.4實(shí)驗(yàn)二放大電路實(shí)驗(yàn)238A.5實(shí)驗(yàn)三組合電路實(shí)驗(yàn)241A.6實(shí)驗(yàn)四時(shí)序電路實(shí)驗(yàn)244A.7實(shí)驗(yàn)五基于串行通信構(gòu)件的匯編程序設(shè)計(jì)247A.8實(shí)驗(yàn)六功能綜合實(shí)驗(yàn)248附錄BAHL-CH573用戶手冊(cè)249B.1AHL-CH573簡(jiǎn)介249B.2AHL-CH573的引腳250B.3AHL-CH573的基本操作251B.4 AHL-CH573的常見問題及解決辦法254參考文獻(xiàn)256