本书针对没有独立开设模拟电路、数字电路、计算机组成原理、微机原理和汇编语言等偏硬件类课程的软件工程、人工智能和物联网工程等专业,根据专业课程建设及知识结构的要求,从计算机的视角,抽取模拟电路、数字电路、计算机组成原理、微机原理和汇编语言等课程中最基础的知识进行梳理归纳,围绕计算机这个对象,有机地形成一个体系,构成这些专业所必需的计算机硬件基础,目标是使得软件工程、人工智能和物联网工程等专业的学生能够基本理解软件如何通过硬件起作用,软件如何干预硬件,以充实学生的知识结构,满足工程认证的基本要求,为学生软件开发能力的培养提供硬件支撑。 本书内容涵盖概述、电子元器件基础、放大电路基础、数字电路基础、组合逻辑电路、时序逻辑电路、指令系统与汇编语言基本语法、输入输出系统、存储器、中央处理器等,同时给出了软硬件协同模式的计算机硬件基础实验指导。 本书可作为高等学校软件工程、人工智能和物联网工程等专业的教材或参考书,也可供工程开发人员参考。
在软件定义硬件的时代,理解计算机底层运作机制已成为软件工程、人工智能与物联网工程等专业学生的核心能力需求。《计算机硬件基础基于RISC-V架构》一书正是为解决这一痛点而生的创新教材,其特色体现在以下四个方面度:1. 跨学科知识重构本书突破传统硬件课程分立式教学的局限,以"计算机视角"重构知识体系。通过提炼模拟电路、数字电路、计算机组成原理等课程的核心内容,将冯·诺依曼结构、三总线机制、指令执行流程等抽象概念转化为可触摸的知识网络,帮助非硬件专业学生建立"软件如何干预硬件"的完整认知框架。2. RISC-V架构的工程实践导向本书采用开源RISC-V指令集架构作为教学载体,结合CH573微控制器实验套件,构建了从半导体器件到CPU设计的全链条实践体系。书中GPIO构件、中断系统、UART通信等案例,均源自真实工程场景,配合数字资源中的源程序与实验指导,实现"理论-仿真-实操"的无缝衔接。3. 工程认证的精准对标严格遵循工程教育认证标准,突出知识结构的应用性。通过存储器层次结构、指令流水线冲突处理、高速缓存替换算法等内容,强化学生对计算机系统性能优化的理解;而ASCII码、浮点数表示等基础知识的嵌入,则夯实软件开发所需的底层数据认知。4. 丰富配套资源本书附赠了精心设计的、与书中内容紧密结合的实验套件,可用于完成附录中的实验。配套实验套件突破传统硬件实验的场地限制,显著降低学习门槛。本书提供了数字资源,内含软硬件资料、实验源程序等。数字资源中提供的教材专栏、微信社群等立体化支持,更构建了"书-课-赛"三位一体的教学生态。
没有独立开设模拟电路、数字电路、计算机组成原理、微机原理和汇编语言等偏硬件类课程的软件工程专业,或没有独立开设此类课程的人工智能、物联网工程等专业,计算机硬件基础要不要上?如何上?这成为教学改革的焦点之一。关于要不要上这门课,不是本书讨论的范畴,本书关注的是,在有限的课时内,如何筛选与组织内容上好这门课。从工程认证、知识结构等要求来看,计算机硬件基础是软件工程等专业学生的基础之一,没有计算机硬件,就不可能有软件存在。顾名思义,软件工程就是要用与做工程类似的方法做软件,日益复杂的软件难以开发与维护,因而产生的软件危机使得人们意识到要像做工程一样来做软件。若完全没有计算机硬件基础,则难以理解软件的基本运行过程,因此,计算机硬件基础是软件工程等专业学生的重要基础之一。既然是基础,则说明其重要性。接下来就是如何上的问题。因课时限制,不可能与计算机科学与技术专业一样来设置模拟电路、数字电路、计算机组成原理、微机原理和汇编语言等独立课程,但是这几门课最基本的东西应该提炼出来形成软件工程等专业的计算机硬件基础,由此必须进行教材建设,本书就是在这样的背景下形成的。它不是这几门课程的简单拼凑,而是基于软件工程等专业的知识结构,根据工程认证的基本要求,提炼这几门课程中最核心的基础知识,进行梳理归纳和整合,形成一个有机的知识体系,构成软件工程等专业所必需的计算机硬件基础课程。课程目标是使得软件工程等专业的学生在有限的课时内,能够基本理解软件如何通过硬件起作用,软件如何干预硬件,以充实软件工程等专业学生的知识结构,满足工程认证的基本要求,为培养学生的软件开发能力提供基本的硬件支撑。本书内容涵盖概述、电子元器件基础、放大电路基础、数字电路基础、组合逻辑电路、时序逻辑电路、指令系统与汇编语言基本语法、输入输出系统、存储器、中央处理器等。若相关内容已经独立开设课程,则可以在教学过程中灵活调整,不影响本书的整体性。计算机硬件基础的教学离不开实验,为了更好地进行计算机硬件基础的教学,本书采用软硬件协同模式,专门开发了可携带的计算机硬件基础实验套件。该套件以RISC-V架构CH573微控制器构建的GEC为核心,针对各个实验设计了对应的软硬件体系,使得计算机硬件基础的实验教学更加清晰简捷、易于理解。本书可作为高等学校软件工程、人工智能和物联网工程等专业的教材或参考书。本书由王宜怀、刘晓升担任主编,田宏伟、蒋建武、焦金涛任副主编,苏州大学嵌入式人工智能与物联网方向的研究生参与了书中实验体系的设计,特此表示感谢。本书在讲义阶段经过两次试用,逐步修改成稿,是软件工程、人工智能和物联网工程等专业计算机硬件基础课程教学改革的一次尝试,希望使用本书的老师和同学们提出宝贵意见和建议,以便修改提高。欢迎对学习和开发感兴趣的老师和同学们与我探讨交流(微信号:wyhwyh011),我和团队愿在这个关键技术领域为大家的学习和进阶助力。编者
王宜怀,男,博士,苏州大学计算机科学与技术学院教授、博士生导师;苏州大学嵌入式系统与物联网研究所所长;苏州大学-沁恒RISC-V协同创新中心主任,江苏省计算机学会嵌入式系统与物联网专业委员会主任。曾获福建省八五期间电子信息应用先进个人、全国高等学校计算机教学成果奖一等奖、国家级一流本科课程、江苏省高等教育教学成果一等奖、苏州大学五四青年特别感谢奖、苏州大学高尚师德奖、福建省南平市政协优秀委员、江苏省苏州市政协优秀委员等。致力于嵌入式系统、物联网、嵌入式人工智能、嵌入式软件工程等方向研究与教学工作,撰写嵌入式技术基础与实践(1~6版)、窄带物联网NB-IoT应用开发共性技术、汽车电子S32K系列微控制器、嵌入式实时操作系统等著作十余部,获得发明专利三十余项。
第1章概述11.1从计算机的出现到无处不在的微型计算机11.2计算机硬件支撑软件运行31.3文字在计算机中的存储方式字符编码71.4计算机硬件基础知识9习题10第2章电子元器件基础112.1基本电子元器件112.2电路模型和电路定律182.3半导体基础知识192.4二极管242.5晶体管302.6场效应晶体管342.7常用电子器件的原理与应用39习题43第3章放大电路基础443.1常用传感器简介443.2基本放大电路463.3集成运算放大电路503.4微型计算机中的常用放大电路54习题58第4章数字电路基础594.1数制及数制之间的转换方法594.2计算机中信息的基本表示方式634.3逻辑代数基础694.4逻辑函数的表示和化简73习题81第5章组合逻辑电路835.1组合逻辑电路分析和设计方法835.2三态门、编码器和译码器865.3数据选择器、数据分配器和数值比较器91习题95第6章时序逻辑电路966.1触发器的概念、特点和分类966.2基本RS触发器976.3时钟脉冲控制功能触发器1006.4时序逻辑电路分析和设计方法1046.5常用的时序逻辑模块108习题114第7章指令系统与汇编语言基本语法1167.1RISC-V架构概述1167.2寄存器和寻址方式1187.3RISC-V基本指令分类解析1247.4汇编语言的基本语法1277.5汇编语言工程举例:控制小灯闪烁1317.6理解汇编工程中的GPI构件134习题138第8章输入输出系统1418.1中断系统和定时器1418.2串行通信接口1488.3ADC模块1558.4PWM模块161习题166第9章存储器1699.1存储器概述1699.2RAM的存储单元1729.2.3DRAM的存储单元1749.3存储器芯片的扩展1759.4高速缓冲存储器1789.5虚拟存储器1849.6Flash存储器187习题189第10章中央处理器19410.1中央处理器概述19410.2运算器19710.3控制器20910.4硬布线控制器21410.5微程序控制器21810.6指令流水线工作原理224习题226附录A计算机硬件基础实验指导229A.1AHL-CH573-EXP计算机硬件基础实验套件简介229A.2共性操作232A.3实验一二极管实验236A.4实验二放大电路实验238A.5实验三组合电路实验241A.6实验四时序电路实验244A.7实验五基于串行通信构件的汇编程序设计247A.8实验六功能综合实验248附录BAHL-CH573用户手册249B.1AHL-CH573简介249B.2AHL-CH573的引脚250B.3AHL-CH573的基本操作251B.4 AHL-CH573的常见问题及解决办法254参考文献256