新書推薦:
《
敢为天下先:三年建成港科大
》
售價:NT$
352.0
《
长高食谱 让孩子长高个的饮食方案 0-15周岁儿童调理脾胃食谱书籍宝宝辅食书 让孩子爱吃饭 6-9-12岁儿童营养健康食谱书大全 助力孩子身体棒胃口好长得高
》
售價:NT$
214.0
《
身体自愈力:解决内在病因的身体智慧指南
》
售價:NT$
449.0
《
非言语沟通经典入门:影响人际交往的重要力量(第7版)
》
售價:NT$
561.0
《
山西寺观艺术壁画精编卷
》
售價:NT$
7650.0
《
中国摄影 中式摄影的独特魅力
》
售價:NT$
4998.0
《
山西寺观艺术彩塑精编卷
》
售價:NT$
7650.0
《
积极心理学
》
售價:NT$
254.0
|
編輯推薦: |
? 零起点,不要求过多的数字逻辑铺垫。? 概念清晰、严谨,注重本质层面讨论。? 面向系统能力培养,贴近应用,贴近业界,贴近现代。? 贯穿知识建构、启发思维的教学理念。? 结构简洁、清晰,容易复习、梳理。
|
內容簡介: |
本书是一本面向应用型专业的计算机组成原理教材,全书共分7章。第1章帮助读者快速、轻松并深刻地建立计算机系统的整体概念并了解现代计算机硬件的测试技术与工具;第2章介绍计算机的存储体系,并着重介绍DRAM的内部操作对性能参数的影响;第3章介绍计算机总线系统和主板的有关知识;第4章介绍计算机的输入输出及其控制技术;第5章介绍计算机核心部件控制器的工作原理和基本设计方法;第6章从架构层面介绍处理器中的并行技术;第7章介绍人们在非冯诺依曼体系结构和非硅晶体元器件两个方面的探索。 本书概念清晰,深入浅出,取材新颖,从知识建构、启发思维和适合教学的角度组织学习内容,同时不过多依赖先修课程。本书经过6次修订,更贴近实际,更适合教学,可供应用型院校本科计算机科学与技术专业、软件工程专业、信息安全专业、网络工程专业、信息管理和信息系统专业和其他相关专业使用,也可以供有关工程技术人员和自学者使用。
|
關於作者: |
张基温,研究和教学领域涉及计算机科学与技术、信息管理、信息经济学、电子政务与电子商务、服务科学、新媒体。先后担任名古屋大学访问学者,山西财经大学、江南大学、华东政法大学、常熟理工学院、福建工程学院、广西职业技术学院、晋城学院等多所大学的专职、客座或兼职教授,北京大学博雅方略城市发展与信息化研究中心研究员,南京大学出版社总编顾问,太原高新技术区IT研究院实验室主任,山西省紧缺人才专家委员会副主任,中国信息经济学会常务理事,全国高等院校计算机基础教育研究会常务理事兼课程建设委员会副主任,中国计算机学会教育专业委员会委员,国家NIT考试委员会委员,江苏省计算机基础教学指导委员会委员,山西省新世纪专家学者协会副会长。为清华大学出版社、电子工业出版社、中国水利水电出版社、南京大学出版社、中国铁道出版社等主编了信息管理与信息系统专业、计算机实验与实践、大学生信息素养等多个系列教材。已发表学术论文百余篇,出版著作百余种
|
目錄:
|
目录第1章计算机系统概述11.1计算工具的进步轨迹11.1.1神奇的算盘和算筹软件与硬件的起源11.1.2提花机的启示与巴贝奇分析机内程序计算机的最早实践51.1.3帕斯卡加法器内动力计算机的尝试71.1.4从八卦图到布尔代数电子数字计算机的理论基础111.1.5诺依曼电子数字计算机体系的确立191.1.6操作系统计算机的自我管理221.1.7现代计算机系统结构251.1.8自动计算机理论的再讨论271.20、1编码271.2.1数字系统中的信息单位与量级271.2.2十进制数与二进制数的转换281.2.3八进制、十六进制和BCD码301.2.4原码、反码、补码和移码311.2.5浮点数与定点数341.2.6声音的0、1编码361.2.7图形图像的0、1编码371.2.8文字的0、1编码391.2.9指令的0、1编码与计算机程序设计语言431.2.10数据传输中的差错检验441.3电子数字计算机的基本原理481.3.1电子数字计算机的运算器481.3.2计算机存储器501.3.3计算机控制器541.3.4总线561.3.5计算机中的时序控制571.4冯诺依曼计算机体系的改进591.4.1冯诺依曼瓶颈591.4.2并行与共享601.4.3哈佛结构631.4.4拟态计算机641.5计算机性能评测641.5.1计算机的主要性能指标641.5.2计算机性能测试工具691.5.3天梯图71习题74
第2章存储系统772.1主存储器概述772.1.1ROM元件772.1.2RAM元件与存储结构792.1.3DRAM元件与基本存储结构822.2主存储体组织852.2.1内存条结构852.2.2存储体的基本扩展方式872.2.3Bank892.2.4并行存储器902.2.5并行处理机的主存储器932.3DRAM内部操作与性能参数942.3.1SDRAM的主要引脚942.3.2SDRAM的读写时序952.3.3突发传输972.3.4数据掩码982.3.5DRAM的动态刷新992.3.6芯片初始化与预充电1022.3.7存储器控制器1042.3.8RAM的一般性能参数1042.3.9DDR SDRAM与RDRAM1072.4磁盘存储器1092.4.1磁表面存储原理1092.4.2硬磁盘存储器的存储结构1112.4.3磁盘格式化1122.4.4硬磁盘存储器与主机的连接1152.4.5硬磁盘存储器的技术参数1182.4.6磁盘阵列1202.5光盘存储器1232.5.1光盘的技术特点与类型1232.5.2可擦写型光盘读写原理1242.5.3光盘规格1242.6闪速存储器1272.6.1闪存原理1282.6.2固态硬盘1282.7存储体系1312.7.1多级存储体系的建立1312.7.2多级存储体系的性能参数1322.7.3Cache主存机制1332.7.4虚拟存储器1382.8未来记忆元件1412.8.1磁随机存取存储器1412.8.2铁电随机存取存储器1422.8.3相变随机存取存储器1432.8.4阻变随机存取存储器144习题145
第3章总线与主板1483.1总线的概念1483.1.1总线及其规范1483.1.2总线分类1493.1.3总线的性能指标1523.1.4标准总线1533.2总线工作原理1543.2.1总线的组成与基本传输过程1543.2.2总线的争用与仲裁1553.2.3总线通信中主从之间的时序控制1573.3几种标准系统总线分析1613.3.1ISA总线1613.3.2PCI总线1633.3.3AGP总线1663.3.4PCIExpress总线 1683.4几种标准IO总线分析1693.4.1ATA与SATA总线 1693.4.2SCSI与SAS总线1713.4.3USB总线1743.4.4光纤总线1783.4.5AMR和CNR1783.5微型计算机主板1793.5.1主板的概念1793.5.2主板的组成1803.5.3主板架构及其进展1853.5.4主板选择参数1883.5.5主板整合技术1913.5.6智慧型主板技术191习题193
第4章输入输出系统1954.1外围设备1954.1.1外部设备及其发展1954.1.2键盘1984.1.3鼠标2014.1.4打印设备2024.1.5显示器2104.1.6触摸屏2204.1.7虚拟现实设备2234.2IO过程的程序直接控制2254.2.1IO过程的程序无条件传送控制方式2254.2.2IO过程的程序查询传送方式2254.3IO过程的程序中断控制2274.3.1程序中断控制的核心概念2274.3.2中断关键技术2304.3.3中断接口2344.3.4多重中断2354.4IO数据传送的DMA控制2364.4.1DMA的基本概念2364.4.2DMA与CPU共享存储器冲突的解决方案2374.4.3DMA控制器2394.4.4DMA传送过程2404.4.5DMA与中断方式比较2414.5IO过程的通道控制2424.5.1通道控制及其特点2424.5.2通道控制原理2444.5.3通道类型2464.6IO接口2474.6.1影响IO设备与计算机连接的主要因素2484.6.2IO接口的功能与类型2494.6.3IO接口结构2504.6.4缓冲2514.6.5IO端口2524.7IO设备适配器2534.7.1显卡2544.7.2声卡2564.7.3网卡2594.8IO管理2614.8.1设备驱动程序2614.8.2ROM BIOS262习题265
第5章控制器逻辑2685.1处理器的外特性指令系统2685.1.1指令系统与汇编语言概述2685.1.2寻址方式2715.1.3Intel 8086指令简介2765.1.4CISC与RISC2835.1.5指令系统的设计内容2875.2组合逻辑控制器2875.2.1指令的微操作分析2885.2.2指令的时序控制与时序部件2905.2.3组合逻辑控制器设计举例2925.3微程序控制器2955.3.1概述2955.3.2微程序操作控制部件的组成2955.3.3微程序操作控制部件设计举例296习题299
第6章处理器架构3026.1流水线技术3026.1.1指令流水线3026.1.2运算流水线3046.1.3流水线中的相关冲突3056.1.4流水线中的多发射技术3076.1.5Pentium CPU3096.1.6流水线向量处理机3126.2多处理器系统3166.2.1多计算机系统与多处理器系统3166.2.2SMP架构3176.2.3多处理器操作系统3196.3多线程处理器3206.3.1多线程处理器架构的提出3206.3.2同时多线程技术3226.3.3超线程处理器3246.4多核处理器3276.4.1多核处理器及其特点3276.4.2多核多线程CMT技术3296.5关于处理器并行性开发的讨论3296.5.1并行性及其级别3296.5.2基于并行性的处理器体系Flynn分类3316.5.3处理器并行性开发的思路与途径333习题334
第7章未来计算机展望3377.1非冯诺依曼体系计算机的探索3377.1.1数据流计算机3377.1.2归约机3397.1.3智能计算机3417.1.4神经网络计算机3437.2未来计算机元器件展望3497.2.1摩尔定律及其影响3497.2.2突破传统微电子工艺的努力3517.2.3纳米电子器件3537.2.4量子计算机3567.2.5光学计算机3587.2.6超导技术3597.2.7生物计算机360习题363
附录A国内外常用二进制逻辑元件图形符号对照图364
参考文献366
|
內容試閱:
|
第7版前言(一)计算机技术是人类倾注了心血并还在投入更大心血的一个领域,也使它成为竞争最为激烈的领域之一,呈现出日新月异的特征。作为这个领域的一门教材,不应当胶柱鼓瑟,而必须与时俱进,这是笔者在每一版修订时都思考的一个重要方面。本书从第4版开始增加了未来计算机展望一章,在第6版的第2章中增加了DRAM内部操作与性能参数一节,本次修订中对第7章的内容进行了部分更新等,都是基于这一考虑的。目前,国内已经有一些计算机组成原理的教材,但是多数是面向计算机设计的。本书则想写成一本面向应用的教材,目的是让读者能从应用的角度来了解计算机的组成及其工作原理。为此,本书从第5版起增加了对计算机性能有重要影响的总线与主板一章,在本次修订中则在第1章增加了计算机性能测试工具和天梯图的内容。(二)计算机作为人类历史上最伟大的工具之一,是全人类智慧的结晶,其中包含了中华民族历史上和现代的巨大贡献。让读者了解这些事实,不仅是为了还原历史的真实,还在于这些事实折射出来的逻辑思维精华有启迪思维、激励创新、增强自信之效能。这是我写这本书时一直坚持的一个原则。本书作为一本教材,希望能做到好教又好学。为此,本次修订除在文字上进行了一些修改外,还从结构上进行了一些调整。(三)计算机俗称电脑,顾名思义,它就是一种模拟人脑的机器。模拟可以从两个方面进行: 结构模拟和功能模拟。现在要用计算机从结构的角度模拟人脑还有许多问题没有解决,只能从功能模拟的角度进行,即由一些功能部件来模拟人脑的功能。因此,计算机组成原理作为计算机科学与技术及其相关专业的一门必修核心课程,对于它的学习应当从建立计算机的组成部件与人的大脑功能之间的联系开始,然后再对这两者的工作过程加以区别。这是我要与初学者共享的一点心得。(四)在本次修订中,作者参考了其他一些著作和网络作品。尽管本人尽力将它们对本书的贡献通过参考文献来表明,但由于有些内容(特别是网站内容)出处不明或作者难以查考,因而疏漏之处在所难免。在此,谨向为本书提供了帮助的各位深表谢意,并向由于上述原因未能列入参考文献的文章作者表示歉意。同时,还要感谢在本次修订中参加了部分写作工作的赵忠孝、姚威、张展为、史林娟、戴璐、张友明、张秋菊、陈觉、董兆军。本书的修订仍不会画上句号。本人诚恳地希望阅读过本书的专家、老师和学生能无保留地提出批评意见和建议,帮助本人把这本书修订得更好。
张基温2017年4月
第5章控制器逻辑中央处理器(Central Processing Unit,CPU)是计算机的中枢,是计算机系统的运算核心和控制核心,主要由运算器(Arithmetic Logic Unit,ALU)、控制器(Control Unit,CU)、一组寄存器以及相关总线组成。了解计算机的工作原理的关键是搞清CPU的工作原理。关于ALU的简单原理已经在1.3.1节中介绍,本章主要对CU进行逻辑分析。CU的核心功能是分析指令,设计依据是指令系统。5.1处理器的外特性指令系统〖45〗5.1.1指令系统与汇编语言概述〖2〗1. 指令及其基本格式在计算机中,指令(instruction)是要求计算机完成某个基本操作的命令。计算机程序就是由一组指令组成的代码序列。这里所说的基本是针对具体的CPU而言的,不同的CPU所指的基本二字的意义不同,所能执行的基本操作的数量和种类也不相同。但是,任何CPU都必须满足最小完备性原则,即它所能执行的基本操作必须能组成该CPU所承担的全部功能。也就是说,有的CPU的基本操作多一些、复杂一些,有的CPU的基本操作少一些、简单一些,但它们的组合效果应当相同。例如,有的CPU将乘法作为基本操作之一;有的没有乘法操作,但可以使用加法和移位操作组成乘法操作。在1.2.9节中已经介绍过,一条指令由操作码和地址码两大部分组成,并且可以按照地址的数量把指令分为如下4种类型: 3地址指令。 2地址指令。 1地址指令。 0地址指令。一条指令的长度由操作码和各地址码的长度决定。指令地址码的长度由指令的寻址空间存储器的容量决定。如,一个10b的地址码的寻址空间为210。一个1GB的内存,需要的地址码长度为30b,对于3地址指令,指令的长度就需要100b左右。这样的指令就太长了。但是多地址指令比少地址指令编写出来的程序长度小,并且执行速度快。为了解决短地址码访问大容量存储器的问题,人们研究出了多种寻址方式。具体内容将在后面介绍。操作码的长度由操作的种类决定,一个包含n位的操作码最多能表示2n种操作。不同的计算机中,可以采用定长操作码操作码占有固定长度的位数,也可以采用变长操作码操作码的长度不固定。变长操作码可以用扩展窗口将部分地址作为操作码使用,以增加指令条数。例5.1某计算机字长为16b,操作码占4b,有3个4b的地址码,试说明如何扩展该机器的指令系统。解: 在定长操作码系统中,操作码的长度与地址码是冲突的。即地址码越长,操作码就越短。而操作码短了,指令系统中的指令数就少了。例如在本例中,操作码只有4位,指令系统中最多只能有16条指令,这常常是不够的。为了解决这个矛盾,可以采用变长操作码。即减少地址数,扩展操作码。在进行操作码扩展时,要特别注意一点: 长码中不可出现短码。因为编译器会首先从短码开始区分不同的指令类型。因此,短码至少要留出一位用于连接扩展位,称为扩展窗口位。图5.1指令的一般格式
指令的一般格式如图5.1所示。计算不同地址数指令的步骤如下:1 原始OP占有4b,用0000~1110定义15条三地址指令,留下1111作为扩展窗口,与A3一起组成扩展字段。2 由于长码中不可出现短码,所以只能用1111 0000~1111 1110定义二地址指令,共15条。留下1111 1111作为一地址指令的扩展窗口,与A2组成扩展操作码。3 同理,用1111 1111 0000~1111 1111 1110定义15条一地址指令。4 最后,用1111 1111 1111 0000~1111 1111 1111 1111 定义16条零地址指令。2. 指令系统一个CPU所能承担的全部基本操作由一组对应的指令描述。这组完整地描述该CPU操作的指令就称为该CPU的指令系统(command system,instruction system,command set,instruction set),也称该CPU的机器语言。指令系统决定了CPU的外特性。一方面,因为指令系统表明了CPU能执行哪些基本操作,因此,指令系统是(系统)程序员在该CPU上进行程序设计的依据。另一方面,功能模拟和结构模拟是研究、制造任何一种计算机的两个最重要的途径。20世纪60年代,人们从程序员的角度观察计算机的属性,开始用计算机体系结构来统一功能和结构这两个方面。但是由于功能和结构两者仍然存在差别,通常把计算机的功能方面叫作外(宏)体系结构,把计算机的实现方面叫作内(微)体系结构。由于CPU的功能是取指令分析指令执行指令,所以一个CPU设计所依据的功能也来自指令系统,即指令系统是CPU设计的基本依据。要设计一个CPU,要先为它设计指令系统。3. 指令系统的描述语言机器语言与汇编语言一个CPU的指令系统就是与该CPU进行交互的工具,用其可以让该CPU完成特定的操作。所以一个CPU的指令系统就可以看成该CPU的机器语言。显然,不同的CPU具有不同的机器语言。在表现形式上,机器语言就是用0、1码描述的指令系统。用它编写程序,难读,难记,难查错,给程序设计和计算机的推广、应用、发展造成极大困难。面对这一不足,人们最先是采用一些符号来代替0、1码指令,如用ADD代替加操作码等。这种语言称为符号语言。下面是几条符号指令与其对应的机器指令代码的例子: MOVAH,01H; 机器指令代码:B401HXORAH,AH; 机器指令代码:34E2HMOVAL,\[SI 0078H\]; 机器指令代码:8A847800HMOVBP,\[0072H\]; 机器指令代码:8B2E7200HDECDX; 机器指令代码:4AHINAL,DX ; 机器指令代码:ECH符号语言方便了编程,用它编写程序时效率高,写出的程序易读性好,提高了程序的可靠性。但是,符号语言是不能直接执行的,必须将之转换为机器语言才能执行。符号语言程序转换为机器语言程序的方法是查表。这是非常简单的工作。为了将这种查表工作自动化,除了正常的指令外,还需要添加一些对查表进行说明的指示指令伪指令。这种查表工作称为汇编。为了进行自动查表,还需要一些指示性指令。用符号语言描述并增加了指示性指令的指令系统称为汇编语言。汇编语言为程序员提供了极大的方便,也提高了程序的可靠性。通常在介绍指令系统时,采用的都是汇编语言。汇编语言指令的一般形式如下:标号: 操作码地址码(操作数); 注释下面是一段用Intel 8086汇编语言描述的计算A=2 3的程序。ORGC0H; C0H 为程序起始地址START: MOV AX,2 ; 2AX,AX为累加器,START为标号ADDAX,3; 3 AXAXHALT; 停ENDSTART; 结束汇编由于汇编语言比机器语言有更好的易读性,又与机器语言一一对应,所以机器指令都可按汇编语言符号形式给出。4. 汇编语言的基本语法下面以Intel 8086汇编语言为例,介绍汇编语言中的几个基本语法。1) 数据类型Intel 8086汇编语言中允许使用如下形式的数值数据: 二进制数据,后缀B,如10101011B。 十进制数据,后缀D,如235D。 八进制数据,后缀Q(本应是O,为避免与数字0相混,用Q代替),如235Q。 十六进制数据,加后缀H,如BAC3H。加后缀的目的是为便于区分。较多的是采用十六进制。有时也允许用名字来表示数据,如用PI代表3.141593等。用引号作为起止界符的一串字符称为字符串常量,如''A''(等价于41H),''B''(等价于42H),''AB''(等价于4142H)等。2) 运算符汇编语言中使用以下几种运算符: 算术运算符:,-,,。 关系运算符: EQ等于,NE 不等于,LT 小于,GT 大于,LE 小于等于,GE 大于等于。 逻辑运算符: AND与,OR或,NOT非。3) 操作码操作码可以用算术运算符,也可以用英文单词。如用SUB表示减去,用ADD表示相加等。4) 地址码指令中的地址码可以用十六进制、十进制表示,也可以用寄存器名或存储器地址名表示。5) 标号与注释汇编语言还允许使用标号及注释,以增加可读性。这部分与机器语言没有对应关系,仅为了使人阅读程序时容易理解。5.1.2寻址方式在设计一个CPU时,往往要根据用户需求、技术条件和成本的折中来确定字长以及指令格式。指令格式一经确定,指令中各个字段的布局就基本确定了,地址字段的长度也就基本确定了。一般说来,指令中地址字段的长度是非常有限的。指令设计的一个重要任务就是使用非常有限的地址字段在尽可能大的范围内寻找操作数。于是,就变化出许多寻址方式来。
|
|