计算机体系结构
2012-7
机械工业出版社
Ian McLoughlin
337
王沁,齐悦
无
《计算机体系结构(嵌入式方法)》由麦克洛克林所著,本书在传统计算机体系结构教科书的基础之上扩展了嵌入式系统的内容,并以新颖而完整的视角看待今天的计算机体系结构。前两章讲了计算机的发展和算术处理基础知识,.随乒分别介绍了CPU结构、功能单元、性能优化、外部接口、实际嵌入式处理和计算的未来。本书不仅通过大量的图表和例子来增强可读性,同时文中还穿插了许多注释框来拓宽读者的视野,其中包括一些额外的例子、有趣的信息摘要和附加的解释。书中除了包含嵌入式工程师所需的所有与典型计算机体系结构理论课程有关的主要内容外,还包括大量对目标读者有用的信息——甚至给读者提供建立和测试自定义软核处理器的机会,每一个主要的章节尾都配有思考题,在教学指南中有参考答案。
《计算机体系结构(嵌入式方法)》适合于选择了计算机体系结构相关课程的本科生,尤其是大三学生,也适合于那些在开始更深层次的课题之前需要了解计算机体系结构最新知识的研究生,还适合于行业工程师。
作者:麦克洛克林(Ian McLoughlin) 译者:王沁 齐悦 麦克洛克林(Ian McLoughlin),现任新加坡南洋理工大学计算机工程学院副教授,拥有英国伯明翰大学博士学位。过去的20年,他在三大洲的工业部门、政府部门和学术界都工作过。作为经验丰富的工程师,他设计和工作的系统涉及航空、电信、日常消费品等诸多领域。他经常主持面向电子行业的技术培训课程,并为嵌入式系统(尤其是与音频和无线技术相关)的开发项目提供咨询和顾问服务。由于其在农村电信解决方案方面的杰出工作,他与新西兰大吉电子有限公司( Tait Electronics Ltd)的团队成员在2005年荣获首届IEEI程创新奖。他是IET会员、IEEE高级会员、英国注册工程师和全欧工程师。
出版者的话
前言
致谢
第1章 引言
第2章 基础知识
第3章 CPU基础
第4章 处理器内部组成
第5章 提高CPU性能
第6章 外部总线
第7章 实用嵌入式CPU
第8章 CPU设计
第9章 未来
附录A 内存大小的标准表示方法
附录B 开放系统互连模型
附录C 探索cache大小和结构安排的权衡设计方法
附录D 嵌入式计算机上的无线技术
附录E 编译和仿真TinyCPU的工具
附录F TinyCPU编译和汇编代码的工具
索引
版权页: 插图: 3.1 什么是计算机 当人们说起一台计算机,他们的印象是一个米色的箱子,有显示器、键盘和鼠标。虽然他们印象中的这个箱子确实包含着一台计算机,但我们知道其实箱子里需要了解的东西还很多。 系统中的“计算机”部分包括CPU、存储子系统和连接它们的总线——实际上正是这几块构成了以存储程序来执行功能的数字计算机。它并不需要显卡、无线接口卡、硬盘和音响系统来计算或执行所存储的程序。 存储程序的数字计算机可以说是一个非常灵活但又相当基本的数据计算和传输的机器,通过编程来实现需要的功能。 如今,科技发达地区的人们常被十几台或上百台计算机包围。它们可能在微波炉中、烤炉中、手机中、MP3播放器中,甚至是电子门锁中。据估计,一辆豪华汽车含有超过100个处理器,甚至一个入门机型都可能包括不止40个单独的设备。最新一个令人惊讶的例子,一条双人电热毯已经发展到包含4个专用微处理器——在电热毯的两边各有一套独立控制,每套中一个工作、一个备用。随着这种规模的应用,容易想象得到“未来就是嵌入式的”。本章的内容适用于各种计算机,无论是房间大小的还是蚂蚁大小的。 3.2让计算机为你服务 正如我们所看到的,在最基本的层面,计算机只是一个能够传输数据和执行逻辑操作的单元。所有更高级别的计算功能都是由这些基本数据传输和逻辑运算构成的一个序列或组合。计算机内各种各样的单元模块用于执行不同的任务,而这些是非常标准的组成模块,被大多数计算机所采用。例如,一个算术逻辑单元( ALU)执行算术运算,而一个总线用来从一点到另一点传输数据。显然,需要一些方法来指导计算机执行——决定在何时何处使用这些基本模块传输数据,以及执行哪一个逻辑操作。计算机(包括其内部单元和总线)必须通过编程才能执行人们希望它完成的工作。 作为第一步,需要将要完成的工作拆分为一系列可行的操作。这样的一个序列称为程序,并且每个操作是通过指令加操作数来发布命令。计算机中能够支持的操作列表称为指令集。 3.2.1 程序存储 程序中的所有指令需要以一种可被计算机访问的方式储存。最初的电子计算机是通过将导线插入不同的插孔来编程的。后来,使用手动转换,随后又使用自动的打孔式读卡器,穿孔之后磁带被发明出来,但是不管是哪种存储格式,每一次上电之后的新编程都需要手工输入。 现代计算机将程序存储在磁盘、ROM、EEPROM、闪存或类似的媒体上。程序总是在执行前从存储设备读取到RAM中,这是出于性能的原因:RAM比大多数的大容量存储设备速度更快。 在内存中存储的条目需要有一个能够访问的位置。这个存储的位置也需要被标识,这样才能进行访问。早期的计算机设计者称存储的位置为地址,因为这让CPU可以选择和访问任何存放在独立地址中的指定的信息或程序代码。实现这件事最有效的方式就是由CPU通知存储设备它要访问的地址,然后等待该地址的内容,在一段时间后从设备接口读取这个内容值。 大家知道,CPU的编程用最低级的机器代码指令完成,这些指令或者是定长的(在大多数RISC机器中,如ARM、PIC或MIPS),或者是指令字长度可变的(在一些CISC机器中,如Motorola 68000)。程序是按特定序列排列的指令簇,用来指示计算机执行所要求的任务。 执行这些指令序列完成正确的工作,可能需要访问一些需要处理的数据。历史上曾经主张将程序存储空间和数据存储空间分离,特别是因为这两种类型的信息有不同的特点:程序通常是顺序且只读的,而数据可能需要读/写双向访问,而且对数据的访问可能是按顺序的也可能是随机方式。
《计算机体系结构:嵌入式方法》适合于选择了计算机体系结构相关课程的本科生,尤其是大三学生,也适合于那些在开始更深层次的课题之前需要了解计算机体系结构最新知识的研究生,还适合于行业工程师。《计算机体系结构:嵌入式方法》所采用的嵌入式系统相关的方法,使得书中的知识内容更加贴近工业界的需要,激励学生更投入地学习,并构建起该门课程与传统课程体系内其他相关课程(如电子学、计算机工程或计算机科学课程)的相互联系。《计算机体系结构:嵌入式方法》不是在传统计算机体系结构教材的基础上扩展了嵌入式系统的一章,而是以新颖的视角来看待今天的计算机体系结构——它以历史上巨大而古老的机器为基础,现在正朝着嵌入式系统高度集成化的方向不断发展。
无