清华大学出版社

您所在的位置:网站首页 计算机组成与设计risc-v版袁春风课后答案 清华大学出版社

清华大学出版社

2024-07-15 00:29| 来源: 网络整理| 查看: 265

《计算机组成与系统结构(第3版)》主要介绍计算机组成与系统结构涉及的相关概念、理论和技术,主要内容包括指令集体系结构、数据的表示和存储,以及实现指令集体系结构的计算机各部件的内部工作原理、组成结构及其相互连接。本书共分9章: 第1章对计算机系统及其性能评价进行概述性介绍;第2~3章主要介绍数据的机器级表示和运算,以及运算部件的结构与设计;第4~6章介绍指令系统、各种CPU设计技术及指令流水线;第7章主要介绍包含主存、外存、cache和虚拟存储器在内的存储器层次结构;第8章介绍总线互连及输入输出系统;第9章介绍并行处理计算系统的基本硬件结构和并行程序设计编程模型。 本书内容详尽,反映现实,概念清楚,通俗易懂,实例丰富,并提供大量典型习题供读者练习。本书可以作为高等学校计算机专业本科生“计算机组成原理”“计算机组成原理与系统结构”“计算机系统结构”课程的教材,也可以作为有关专业研究生或计算机技术人员的参考书。

more >

前言FOREWORD 计算机组成(computer organization)是指计算机主要功能部件的组成结构、逻辑设计及功能部件之间的相互连接关系。计算机系统结构 (computer architecture)的经典定义是指程序设计者(主要指低级语言程序员或系统软件设计者)所看到的计算机系统的属性,即计算机的功能特性和概念性结构,也称指令集体系结构(instruction set architecture,ISA)。指令集体系结构规定的内容主要包括: 指令操作类型、指令处理的数据类型、指令格式、寻址方式和可访问空间大小、通用寄存器个数和位数、控制和状态寄存器的定义、I/O空间的编址方式、异常和中断机制、机器工作状态的定义和切换、输入输出数据传送方式、存储保护方式等。 本书主要介绍计算机组成与系统结构涉及的相关内容。在计算机系统层次结构中,这些内容位于软件和硬件的结合处,不仅涉及计算机硬件设计和指令系统设计,还涉及操作系统、编译程序和程序设计等部分软件技术,是整个计算机系统中最核心的部分。 1. 本书的写作思路和内容组织 计算机组成与系统结构这两部分涉及的内容相互融合,密不可分。无论是国内还是国外,很多高校都逐渐把计算机组成原理和系统结构课程的内容有机结合起来;甚至国外一些经典教材还把与前两者密切相关的软件设计内容也融合在一起。这种方式可以加深读者对计算机软硬件系统的整体化理解,并有效地增强对学生的计算机系统设计能力的培养。 本书在总结和借鉴国外著名高校使用的教材、教案、教学理念和教学方法的基础上,力图以“培养学生现代计算机系统设计能力”为目标,贯彻“从程序设计视角出发,强调软硬件关联与协同,以CPU设计为核心”的组织思路,试图改变同类传统教材就硬件讲硬件、软硬件分离的内容组织方式,以系统化观点全面地介绍计算机组成与系统结构相关知识和技术。 为了体现以上思路和目标,本书在以下几方面进行重点考虑和内容组织。 (1) 首先基于“高级语言程序→汇编语言程序→机器指令序列→控制信号”的路线展现程序从编程设计、翻译转换,到最终在CPU上运行的整个过程。在此基础上,用计算机系统层次化的观点阐述“计算机组成原理”和“计算机组成与系统结构”课程在整个计算机系统中的位置、内容和作用,从而为清晰了解本课程的内容和作用、为全面建立计算机软硬件系统的整体概念打下基础。 (2) 将指令执行过程和异常、中断、存储访问、I/O访问等重要概念和技术结合起来进行介绍,力求清晰说明CPU执行指令过程中硬件与操作系统相互切换和协同工作的处理过程,使读者深刻理解软硬件系统之间的关系与协同工作过程。 (3) 讲述与程序设计有密切关系的体系结构内容(如数据表示、信息存放、操作数寻址、过程调用、程序访问局部性等)时,试图通过对硬件设计与程序设计之间关系的说明,使读者建立 “从程序员视角理解计算机硬件系统设计,从硬件设计的视角理解程序设计与执行”的思想,力图在提高读者硬件设计能力的同时,也增强其进行高效的和系统化的程序设计的能力。 前言计算机组成与系统结构(第3版)(4) 在“计算机组成原理”教材传统内容的基础上增加指令流水线设计相关的详细内容,依照“最简单的IAS计算机CPU→总线式CPU→单周期CPU→多周期CPU→基本流水线CPU→动态超标量超流水线CPU”的次序,循序渐进地介绍CPU设计技术及其发展过程,以MIPS处理器和Pentium 4处理器为蓝本,力图使读者全面深入地掌握现代计算机的CPU设计技术。 (5) 结合指令流水线技术介绍基于流水线的编译优化技术,使读者对编译技术与指令流水线实现技术之间的密切关系有一定的认识和理解。 (6) 在详细介绍单处理器计算机组成与系统结构原理的基础上,对并行处理系统进行简要介绍,为读者进一步学习高级体系结构打下必要的基础。 考虑到很多读者需要参考国外同类教材,为了使读者在阅读国外教材时不用对其中的门电路符号进行切换,以方便读者快速理解电路图,本书中的门电路符号未使用国标,而是采用了美标。 2. 各章节主要内容 本书共有9章,各章主要内容如下。 第1章(计算机系统概述)主要介绍冯瘙簚诺依曼结构的特点、计算机硬件的基本组成、计算机系统层次结构、程序开发与执行过程以及系统性能评价方法。 第2章(数据的机器级表示)主要介绍无符号数和有符号整数的表示、IEEE 754浮点数标准、西文字符和汉字的编码表示、数据的宽度和存储方式。 第3章(运算方法和运算部件)主要介绍核心运算部件ALU的功能和设计、各类定点数和浮点数的运算方法和相应的运算部件。 第4章(指令系统)主要介绍高级语言与低级语言的关系、指令格式、操作数类型、寻址方式、操作类型、异常和中断处理机制,并以MIPS架构为例介绍C语言程序的机器级表示。 第5章(中央处理器)主要介绍CPU的基本功能和内部结构、指令执行过程、数据通路的基本组成和定时、单周期和多周期数据通路、控制器的设计、带异常处理的处理器设计。 第6章(指令流水线)主要介绍指令流水线的基本原理、流水段寄存器的概念、流水线数据通路的设计、流水线的控制信号、结构冒险及其处理、数据冒险及其处理、转发技术、控制冒险及其处理、分支预测原理、超标量和动态流水线的概念和技术。 第7章(存储器层次结构)主要介绍存储器层次结构的概念、半导体存储器的组织、多模块存储器、磁盘和固态硬盘、存储器的数据校验、cache的基本原理和相应的实现技术、虚拟存储器的基本概念、进程的虚拟地址空间、虚拟存储器的实现和存储保护。 第8章(系统互连及输入输出组织)主要介绍常用输入输出设备的基本原理、外设与主机的互连、I/O接口的功能和结构、I/O端口编址方式、程序查询I/O方式、中断I/O方式、DMA方式以及内核I/O软件的基本概述等。 第9章(并行处理系统)主要介绍UMA多处理器、CCNUMA多处理器、多核处理器和硬件多线程技术、共享存储器的同步控制、集群、网格、CPU、向量处理机和SIMD等相关基本概念,以及并行处理编程模型简介。 3. 第3版修订内容 近几年来,计算机组成与系统结构领域发生了一些变革,一些技术有了新的发展。为了反映技术的进步,淘汰陈旧过时的内容,拓宽本领域知识的覆盖面,并更加合理地构建知识框架,特别是在进一步体现软硬件融合的教学理念方面,第3版进行了相应修订,主要包括以下几方面。 在第1章关于计算机系统性能评价一节中,简化了对计算机性能测试方面的介绍,同时增加了对Amdahl定律的介绍,并提供了相关例题。 对第2章进行了一些调整。因为目前通用计算机的用户程序几乎不会使用像BCD码等十进制数来表示数据,所以新版中删除了“十进制数的表示”一节。此外,由于各类存储器设计时都必须考虑数据校验码的问题,因而将“数据校验码”从第2章移到了介绍存储器层次结构的第7章。 第3章增加了对整数乘除运算溢出判断处理内容的介绍,从高级语言程序、编译器、指令系统和底层乘除运算电路等多个层面相互关联展开讨论,通过对溢出判断相关例子的分析,能让读者深刻理解计算机系统各层次之间的关联关系。此外,第3章删除了传统教材中的4位定点运算器这种中规模集成电路芯片的内容。 在第4章关于指令系统设计一节中,增加了异常/中断处理机制的介绍,改变了传统教材中将异常和中断相关内容放在输入输出部分重点介绍的做法,强调了异常/中断相关内容在指令系统设计中的重要性。在第4章的指令系统实例部分,将原来对IA32和ARM两种架构的简要介绍,改为对新型指令集架构RISCV的比较全面的介绍。 对于第5章,因为第2版教材对多周期处理器设计,特别是微程序控制器设计方面的内容讲解过于细化和具体,而引入多周期处理器的主要目的只是为了便于介绍带异常处理的处理器设计,因此,第3版中简化了不太重要的多周期处理器和微程序控制器方面的内容。 第7章的内容调整比较多。首先,将第2版中第7.2节~第7.5节合并为一节,并压缩调整了其中的一部分内容,使得内容更加简洁紧凑,逻辑性更强。其次,将第2版的8.3节“外部存储设备”作为存储器层次结构中的一层移到介绍存储器层次结构的第7章中,从逻辑上来说更加合理。再次,将第2章的“数据校验码”移到第7章,并增加了针对固态硬盘进行海明校验的基本方法介绍。最后,在“虚拟存储器”这一节,删除了第2版中关于进程上下文切换、分区和分页存储管理等内容的介绍,增加了存储管理总体结构介绍,将可执行文件、进程虚拟地址空间、链接器、程序的生成和加载、页表、地址转换等许多计算机系统核心概念贯穿起来,以引导并加深读者对计算机系统层次结构的理解。此外,还增加了对RISCV虚拟存储管理机制的介绍。 在第9章的“多处理器系统”一节,增加了“共享存储器的同步控制”相关内容,介绍了RISCV架构中针对事务处理和操作原子性需要而提供的屏障指令和原子操作指令集RV32A中的部分指令,通过实例介绍了如何利用这些指令实现共享存储器的同步控制。 4. 关于本书使用的一些建议 本书可作为“计算机组成原理”课程的教材,也可作为“计算机组成原理实验”和“计算机系统结构”等课程的教学参考书。特别是对于不专门开设“计算机系统结构”课程的院校,使用本书作为“计算机组成与系统结构”课程的教材是比较合适的。 对于本书的使用,具体建议如下。 (1) 课堂教学应以主干内容为主,力求完整给出知识框架体系,并着重讲清楚相关概念之间的联系。 (2) 标注为的内容是可以跳过而不影响阅读连贯性的部分,主要有3类: 简单易懂的基础性内容,具体实现方面比较细节的内容,在技术层面上更加深入的内容。这些内容对深入理解课程的整体核心内容是非常有帮助的。因此,在课时允许的情况下,可以选择其中的一部分进行课堂讲解;在课时不允许的情况下,也可安排学生进行课后阅读。 (3) 书中每个重要的知识点和概念后面都有一些例子(答案分析过程以#结束),可选择部分重要的、难懂的例子在课堂上讲解,而大部分可留给学生自学。 (4) 习题中列出的概念术语基本涵盖了相应章节的主要概念,可以让学生对照检查是否全部清楚其含义;习题中列出的简答问题是相应章节重要的基本问题,可以通过对照检查以判断学生对相应章节内容的掌握程度;对于综合运用题,如果与程序设计相关,则可用编程方式来求解或验证,这样做,对学生深刻理解课程内容有帮助。 (5) 本书在CPU设计方面提供了比较具体的实现方案,相关内容可以作为基于FPGA和硬件描述语言进行CPU设计实验的参考资料。 5. 致谢 在本书的编写过程中,得到了张福炎教授的悉心指导;黄宜华教授从书稿的篇章结构到内容各方面都提出了许多宝贵的意见,进行了修改,并对全书内容进行了全面细致的审核和校对;书中有关CPU设计的最初图稿和内容组织思路由陈贵海教授提供;此外,武港山教授以及俞建新、吴海军、张泽生、蔡晓燕等老师也对本书提出了许多宝贵的意见;杨晓亮、肖韬、翁基伟、刘长辉、宗恒、莫志刚、叶俊杰等研究生对相关章节的内容和习题分别进行了校对和试做,并提出了许多宝贵的意见和修改建议。在此对以上各位老师和研究生一并表示衷心的感谢。 本书是基于作者在南京大学从事“计算机组成原理”和“计算机组成与系统结构”课程教学20多年来所积累的讲稿内容编写而成的,感谢各位同仁和各届学生对讲稿内容所提出的宝贵意见,使得本教材的内容得以不断地改进和完善。 6. 结束语 本书广泛参考了国内外相关的经典教材和教案,在内容上力求做到取材先进,并反映技术发展现状;在内容的组织和描述上力求概念准确、语言通俗易懂、实例深入浅出,并尽量利用图示和实例来解释和说明问题。由于计算机组成与系统结构相关的基础理论和技术在不断发展,新的思想、概念、技术和方法不断涌现,加之作者水平有限,书中难免存在不当或遗漏之处,恳请广大读者对本书的不足之处给予指正,以便在后续的版本中予以改进。 作者2021年10月于南京

more > 课件下载 样章下载 暂无网络资源 扫描二维码 下载APP了解更多

版权图片链接



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3