“计算机组成原理”是计算机科学和计算机工程专业的必修课,是继续深入学习计算机其他知识的基础课程。计算机系统设计的综合性和复杂性决定了本课程内容的广泛性和复杂性。
本书主要讲述计算机系统的内部工作机制和组成原理,并介绍了各个部件之间的有机联系。旨在使读者掌握计算机中各功能部件的工作原理、逻辑实现和设计方法,了解计算机组成原理的发展方向,为今后参加计算机系统的分析、设计和开发等工作打下坚实的基础。
本书首先对计算机的体系结构做了一个整体的描述。然后对各个部件逐一介绍,让读者了解各个部件的工作原理和逻辑实现。最后阐述各个部件在CPU的指挥下如何协同完成各种指令,使计算机正常工作。这种合分合的方式可以让读者在了解各个部件的工作原理时不至于割舍与其他部件的联系,而这种联系却正体现了计算机设计的综合性和复杂性。在组成原理的实验方面目前比较重视VHDL的实现,在本书中对VHDL的基础进行了加强。
全书共分为10章。第1章介绍了计算机的发展简史、计算机的层次结构、冯·诺伊曼型计算机的体系结构和计算机的性能评价方法。第2章介绍了计算机组成的运算基础,包括各种运算的工作原理,如布思算法等。第3章介绍了逻辑基础,包括构成计算机的各种基本逻辑元件和集成设计方法,并详细介绍了VHDL的基础。第4章介绍了系统总线,介绍了总线的仲裁、总线的同步和总线的通信控制等,并以现在比较流行的几种总线(如PCI Express总线)来加深对这些原理的理解。第5章介绍了计算机的存储系统,主要介绍了主存储器、外部存储器、Cache和虚拟存储器的工作原理,并简要介绍了SSD固态硬盘技术。第6章介绍了输入输出系统,重点介绍了中断机制。第79章介绍了计算机的最重要的部件——中央处理器,同时特别介绍了其中的控制器部分。并行处理是现代计算机体系发展的一个重要方向,在第10章介绍了并行处理的基本原理和一些具体实现。每章后都有习题,可以加深对每章中原理的理解和掌握。附录中附有实践项目,通过实践可以更深入地掌握计算机的各种原理。
本课程建议授课学时为48学时,实验学时为16学时。
本书的第1章、第610章和附录由黄颖编写,第2章和第3章由王进编写,第5章由尚凤军编写,第4章由许可编写,最后由黄颖统一定稿。薛峙、程克非、周丽芳和王矿生等为本书提供了部分资料,李伟生为本书提出了宝贵的意见并担任主审。在此向一切为本书的出版付出劳动的老师们表示感谢,感谢重庆邮电大学校级教材建设项目(JC2011—08)、重庆市教委教育教学改革项目(1203035)、重庆邮电大学校级教育教学改革研究项目(XJG1102、XJG1118)的资助,同时也要感谢重庆邮电大学计算机学院和教务处的领导和老师给予的大力支持和帮助。最后要感谢清华大学出版社的大力支持和责任编辑的辛勤工作。
书中存在不妥之处,欢迎读者批评指正。
编者
2013年春
