图书前言

前言

一台完整计算机(系统)包含硬件和软件,硬件是功能实现的根基,软件指示硬件的工作任务,用于扩展硬件功能。近几十年,由于计算机技术的迅猛发展及其应用领域的不断延伸,以单台计算机为基础,衍生出计算机科学与技术、软件工程、网络工程、信息安全、物联网工程、数字媒体技术、智能科学与技术、空间信息与数字技术、数据科学与大数据技术等专业,由此形成一个计算机类专业群。可见,底层(硬件)的结构原理与运行机制及其设计实现技术是计算机设计实现及其应用能力建构的必备知识,并已渗透到许多领域,也必将渗透到人类社会活动的方方面面。所以“计算机组成原理”是计算机类各专业的一门专业核心课,在计算机硬件课程体系中具有承上启下的作用,“承”先导课程有“数字逻辑电路”和“汇编语言程序设计”,“启”后继课程有“计算机体系结构”“微型计算机及其接口技术”“嵌入式系统及其应用开发”“单片机及其应用开发”等。依据地方本科高校应用型人才培养的目标要求及其学生的特点,编写知识体系适宜、层次结构清晰、文字探究可读性强、适用于自主研究性学习的“计算机组成原理”课程教材是极其必要的。

1. 编写的基本思想

“计算机组成原理”课程的教学内容不仅繁多复杂、差异性大、理论性强,而且知识具有难、远、长的特点。“难”是知识难以掌握,“远”是理论与实际相距甚远,“长”是知识关系链长。根据地方本科高校应用型人才培养的目标要求和“计算机组成原理”课程知识内容的特点,借鉴吸收优秀经典“计算机组成原理”课程教材的优点,在总结分析自己长期从事“计算机组成原理”及硬件系列课程教学的基础上,本书编写的基本思想为: ①在内容范围上,选择定位本义性“计算机组成原理”,围绕经典计算机硬件结构框架,讨论组成部件的设计实现; ②在内容组织上,按先软(设计实现基础)后硬(部件设计实现)的原则,对经典教材一般结构进行适当调整; ③在内容阐述上,以问题场景或知识关联为引导,不仅通俗具体地叙述知识,而且深化详细地析解知识,使得文字探究可读,适用于学生自主研究性学习。

组成实现是认知物理形态对象的基本途径,整体是由部分分层组成实现的。计算机(硬件)的组成可分为整机、部件、器件和元件四个层次,通过元件→器件、器件→部件、部件→整机三级来实现,且分别对应“数字逻辑电路”“计算机组成原理”和“计算机体系结构”三门课程,该三门课程是计算机硬件课程的核心体系,知识关系极为紧密。因此,虽然“计算机组成原理”课程教材众多,但从内容范围来看,一般可分为本义性和扩展性两种类型,扩展性“计算机组成原理”课程教材又分为带先导的和带后继的两种类型。本义性“计算机组成原理”课程教材是以经典计算机结构框架为基础,按计算机三级实现设置硬件课程来规划内容范围。带先导的扩展性“计算机组成原理”课程教材是考虑不单独设置先导课程“数字逻辑电路”,在本义性“计算机组成原理”课程教材的基础上,增加1或2章来阐述数字逻辑电路的基本知识。带后继的扩展性“计算机组成原理”课程教材是考虑不另外设置后继课程“计算机体系结构”,且“计算机组成原理”与“计算机体系结构”课程在知识内容上难以区分,在本义性“计算机组成原理”课程教材的有关章中,增加1或2节来介绍“计算机体系结构”课程的相应知识(该类型目前出版最多),如在“控制器及其设计实现”一章中介绍流水线处理技术,“主存储器及其组织实现”一章改为“存储系统及其组织实现”,主存储器仅作为存储层次的一部分等。同种类型“计算机组成原理”课程教材,其内容范围差异不大,但扩展性“计算机组成原理”课程教材体量较大,一般需要90~100课时来完成其所包含知识内容的教学,如此还不如单独设置两门课程。目前,计算机类专业通常单独设置三门或前两门课程来配置计算机硬件核心课程体系,极少把“数字逻辑电路”或“计算机体系结构”课程的知识内容包含于“计算机组成原理”课程之中。因此,本书内容范围选择定位于本义性“计算机组成原理”。

〖1〗计算机组成原理(第2版)前言[3]〖3〗本义性“计算机组成原理”课程教材内容范围的组织结构大同小异,一般分为计算机系统概论、数据信息表示与检验、指令系统、运算方法与运算器、主存储器及其组织、中央处理器、系统总线、输入输出系统(含接口)、输入输出设备9章。这样的组织结构使得各章之间所包含知识与篇幅差异较大,如指令系统和系统总线两章同运算方法与运算器和中央处理器两章相比,所包含知识与篇幅很少。对此,本书在组织结构上进行了三方面的调整: 一是由于数据信息表示与检验和指令系统两章的知识内容均是计算机结构及其功能部件设计实现的基础,便将它们合并为一章,称为“计算机组成设计实现基础”;二是由于性能不高的计算机均采用总线结构,则接口必须面向某一系统总线,即如系统总线一样是标准化的,便将I/O接口的知识内容调整到系统总线一章,称为“系统总线及其I/O接口”;三是输入输出设备是输入输出系统的组成部分,便将输入输出系统和输入输出设备合并为一章,称为“输入输出系统及其操作控制”。所以,本书分为7章,且按内容组织原则,顺序为: 计算机系统概论、计算机组成设计实现基础、系统总线及其I/O接口、运算器及其设计实现、主存储器及其组织实现、控制器及其设计实现、输入输出系统及其操作控制。

地方本科高校的学生普遍存在“重软轻硬”现象,由教材提供一定的文字阅读量、深化具体展开知识探究,是提高学生学习兴趣、促进学生自主研究性学习的途径之一。在知识叙述上,平铺直叙知识内容,没有关联通俗的比较,则文字的可阅读性和趣味性不强;如叙述“微指令格式”时,则同“指令格式”相比较,为什么前者需要配置“顺序控制域”,而后者却不需要。在知识析解上,“就事论事”地阐述“怎样做”,不深入解释“为什么这样做”,则知识可理解性、可探讨性不高;如解释“指令功能分类”时,则应从计算机的功能特性与工作原理出发,来解释为什么需要配置这些类型的指令。特别地,依据基于问题学习(PBL)教学理论,每一节都配置一段问题导学,通过关联场景,提出本节需要讨论的知识和解决的问题,有利于基于问题学习的实现和学生自主研究性学习。

2. 教材各章概述

本书共7章,可分为两部分。第一部分包括第1、2章。第1章回顾计算机发展的历史,展望计算机发展的未来,介绍计算机的功能特点与应用领域,讨论计算机的结构原理与组成实现,分析软硬件关系及其等效性、虚拟计算机等概念,阐述计算机的性能指标与分类和计算机系统的层次性。第2章介绍数据表示、数据校验和指令系统及其相关概念,讨论非数值数据的编码和数值数据的表示方法及其功效特征,分析数据校验编码的原理及其方法,阐述指令格式及其结构类型、指令功能分类、寻址方式和堆栈及其寻址实现。

第二部分包括第3~7章。第3章介绍总线及其分类、特性、事务等基本概念和常用系统总线与I/O接口标准的性能特点,阐述系统总线的数据交换过程、通信定时方式、分配仲裁方法、单处理机的总线结构,讨论I/O接口及其分类和功能结构。第4章在阐述基本二进制加法器及其进位逻辑的基础上,分析原码与补码加、减、乘、除运算的方法、规则及流程,讨论原码与补码加、减、乘、除运算的逻辑实现与速度提高的途径,介绍算术逻辑运算部件逻辑结构设计方法和运算器的组成结构及其组织形式。第5章介绍存储器的分类、性能指标、存储系统和地址译码等基本概念,分析MOS型半导体存储器芯片的结构原理与组成逻辑、特性与引脚,讨论主存储器容量扩展的组织实现技术。第6章在介绍中央处理器的功能模型与性能指标、控制器的功能结构与实现方法等的基础上,分析指令处理流程中的状态转换及其相应的数据通路、微操作、微命令和时序信号体系及其控制方式与实现结构原理,讨论微程序设计技术、组合逻辑控制器与存储逻辑控制器的组成结构,阐述控制信号序列发生器的设计方法。第7章介绍输入输出系统及其结构功能与特性类型,阐述中断及其实现的过程原理,讨论各种输入输出操作控制方式的实现原理,分析常用外围设备的结构原理与功能特性。

另外,每章附有大量的复习题和练习题。复习题即是复习要点,用于检查学生对基本知识掌握是否全面,以便学生查漏补缺。练习题用于检查学生对基本知识理解的状态,以便提高基本知识的应用能力。

3. 教材的特色

(1) 目的明确,定位实用。面向地方本科高校培养应用型人才,针对地方本科高校学生的特点,使学生通过该课程的学习,为计算机应用能力的建构奠定基础。围绕冯·诺依曼计算机的结构框架,内容范围定位于本义性“计算机组成原理”。

(2) 结构新颖,层次清晰。对经典教材一般结构进行适当调整,知识域的组织结构与现有经典教材有所不同。依据先软(设计实现基础)后硬(部件设计实现)的原则安排知识域的框架结构,使得学习具有由表及里、循序渐进的特性。

(3) 问题引导,可读可研。在知识内容关联比较的基础上叙述知识,可有效地增加文字阅读量,提高可阅读性。通过关联性问题场景来提出问题和通俗化地解释技术方法形成的原理或思维逻辑,可有效地提高可理解性和可探讨性,促进学生自主研究性学习。

本书在出版过程中,得到了清华大学出版社、江西师范大学计算机信息工程学院与教务处的大力支持与帮助。清华大学出版社的编辑付出了大量辛勤劳动,特别是龙启铭编辑提出了许多宝贵建议;在本书编写过程中,许多从事一线教学的同仁给出了不少建设性意见。本书还直接或间接引用了许多专家学者的文献著作(已通过参考文献部分列出),在此一并表示衷心感谢与敬意。

限于作者的知识经验与能力水平,书中一定存在许多错误与疏漏之处,敬请同行专家学者和广大读者批评指正。

    

 作者

2025年3月