新書推薦:
《
不挨饿快速瘦的减脂餐
》
售價:HK$
68.8
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
113.6
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
135.7
《
化妆品学原理
》
售價:HK$
57.3
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
48.3
《
爱你,是我做过最好的事
》
售價:HK$
57.3
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
57.3
《
量子网络的构建与应用
》
售價:HK$
112.7
|
內容簡介: |
本书以高级语言程序的开发和运行过程为主线,采用循序渐进、深入浅出的方法,介绍与计算机系统相关的核心概念,将程序执行每个环节所涉及的硬件和软件关联起来,帮助读者建立一个完整的计算机系统层次结构框架。 本书采用IA-32体系结构的计算机系统,通过反汇编工具,将高级语言、汇编语言、机器代码及其执行进行关联,实现对程序的跟踪和调试。本书共分7章,主要内容包括计算机系统概述、数据的机器级表示与处理、层次结构存储系统、指令系统和程序的机器级表示、CPU结构和程序执行、异常和中断及输入输出系统。 本书概念清楚、通俗易懂、实例丰富,与当代计算机技术相结合,可作为高等院校的计算机硬件技术计算机组成原理等课程的教材和参考书,也可以作为计算机及相关专业的计算机系统方面的基础教材或计算机技术人员的参考书。
|
關於作者: |
崔丽群,女,副教授。本科毕业于阜新矿业学院,机电专门化专业,硕士毕业于辽宁工程技术大学,计算机应用专业。学术或教育组织任职:中国计算机学会会员。教学及科研获奖:2013年荣获辽宁省教学成果一等奖。出版教材:《计算机硬件技术及应用》,浙江大学出版社,2008年,总印数5000册。相关获奖情况:2009年,校级精品课;2010年,校级立项课程建设;2010年,校级优秀课件,一等奖;2012年,辽宁省教育软件大赛,三等奖;2016年,校级精品资源共享课;2017年,校级精品开放课程,二等奖;2018年,辽宁省精品开放课程,三等奖。
|
目錄:
|
第1章 计算机系统概述 1
1.1 计算机的发展历程 1
1.2 计算机系统的基本组成 4
1.2.1 冯诺依曼计算机的基本结构 4
1.2.2 现代计算机的基本组成 5
1.2.3 计算机的工作过程 7
1.3 计算机系统的层次结构 9
1.4 计算机系统的性能评价指标 11
1.5 本章小结 14
习题1 15
第2章 数据的机器级表示与处理 16
2.1 数制和编码 16
2.1.1 进位计数制 16
2.1.2 计算机中的编码 19
2.1.3 无符号数和有符号数 21
2.1.4 定点数与浮点数 22
2.2 定点数的表示 23
2.2.1 定点数的编码表示 23
2.2.2 C语言中的整数 28
2.3 浮点数的表示 28
2.3.1 浮点数的基本概念 28
2.3.2 IEEE 754标准 30
2.3.3 C语言中的浮点数 31
2.4 数据的存储 32
2.5 定点数的基本运算 35
2.5.1 定点数加减法运算 35
2.5.2 定点数乘除法运算 37
?*2.6 浮点数的基本运算 42
2.6.1 浮点数加减法运算 42
2.6.2 浮点数乘除法运算 46
2.7 本章小结 47
习题2 47
第3章 层次结构存储系统 49
3.1 存储器技术 49
3.1.1 存储器概述 49
3.1.2 存储器的层次结构 50
3.1.3 存储器技术 53
3.2 主存储器 54
3.2.1 主存储器的结构和基本操作 54
3.2.2 主存储器的组成与控制 57
3.2.3 主存储器的读写操作 63
3.3 高速缓冲存储器(Cache) 64
3.3.1 程序访问的局部性 64
3.3.2 Cache的基本工作原理 66
3.3.3 Cache地址映射 69
3.3.4 Cache替换算法 76
3.3.5 Cache设计考虑因素 77
3.4 虚拟存储管理 79
3.4.1 虚拟存储器 79
3.4.2 存储管理 80
3.5 IA-32系统地址转换 84
3.5.1 逻辑地址向线性地址的转换 84
3.5.2 线性地址向物理地址的转换 87
3.6 本章小结 90
习题3 90
第4章 指令系统和程序的机器级表示 93
4.1 机器指令 93
4.1.1 机器指令与汇编指令的关系 93
4.1.2 指令的一般格式 93
4.2 寄存器组织 94
4.2.1 通用寄存器 95
4.2.2 专用寄存器 95
4.2.3 段寄存器 97
?*4.2.4 浮点寄存器栈和多媒体扩展寄存器组 97
4.3 存储器组织 98
4.3.1 存储模型 99
4.3.2 工作方式 99
4.3.3 逻辑地址 100
4.4 数据类型及格式 103
4.5 IA-32数据寻址方式 104
4.5.1 立即数寻址 105
4.5.2 寄存器寻址 105
4.5.3 存储器寻址 106
4.6 IA-32指令系统 109
4.6.1 指令格式 109
4.6.2 数据传送指令 110
4.6.3 算术运算指令 114
4.6.4 位操作指令 119
4.6.5 控制转移指令 121
4.7 程序的机器级表示 125
4.7.1 过程调用的机器级表示 125
?*4.7.2 选择结构的机器级表示 130
?*4.7.3 循环结构的机器级表示 133
4.8 本章小结 135
习题4 136
第5章 CPU结构和程序执行 139
5.1 程序执行概述 139
5.1.1 指令的执行过程 139
5.1.2 指令周期 141
5.2 CPU结构和工作原理 143
5.2.1 CPU的功能 143
5.2.2 CPU的主要寄存器 143
5.2.3 CPU的结构和工作原理 144
5.3 数据通路 146
5.3.1 数据通路的基本结构 146
5.3.2 单总线数据通路 148
5.3.3 多总线数据通路 149
5.4 指令流水线 151
5.4.1 指令流水线的基本原理 151
5.4.2 CISC指令集和RISC指令集 154
5.4.3 流水线冒险及其解决方法 156
?*5.4.4 流水线多发技术 160
5.5 本章小结 162
习题5 162
第6章 异常和中断 165
6.1 异常和中断概述 165
6.1.1 异常和中断的基本概念 165
6.1.2 异常和中断的分类 166
6.1.3 异常和中断的作用 169
6.2 异常和中断的响应 170
6.3 IA-32的CPU中断管理 173
6.3.1 中断向量表 173
6.3.2 IA-32的中断描述符表 175
?*6.4 8259A中断控制器 178
6.4.1 8259A的功能 178
6.4.2 8259A的内部结构 178
6.4.3 中断源识别与中断优先级 180
6.4.4 8259A的工作方式 183
6.4.5 8259A的工作过程 186
6.5 中断程序设计及响应过程举例 187
6.5.1 中断程序设计 187
6.5.2 中断响应过程举例 189
6.6 本章小结 190
习题6 191
第7章 输入输出系统 192
7.1 输入输出系统概述 192
7.2 输入输出硬件系统 193
7.2.1 输入输出接口功能 193
7.2.2 输入输出接口结构 195
7.2.3 输入输出设备的总线连接 197
7.2.4 输入输出接口的寻址方式 198
7.3 输入输出软件系统 201
7.3.1 输入输出软件系统任务与工作过程 202
7.3.2 内核空间输入输出软件 203
7.3.3 用户空间输入输出软件 206
7.4 CPU与外设的数据交换方式 210
7.4.1 程序查询方式 211
7.4.2 程序中断方式 212
7.4.3 DMA方式 214
7.5 本章小结 220
习题7 221
附录A OllDbg反汇编工具 222
主要参考文献 225
|
內容試閱:
|
为了满足计算机产业迅猛发展对专业人才的迫切需求,根据高等教育向应用型转型的要求,在充分调研计算机及相关专业的培养方案和课程体系,并重新规划教学课程体系和教学内容的基础上编写了本书,本书旨在培养学生的系统思维能力,使学生能从系统层面进行思考,深刻理解计算机系统的整体概念,并且具备软硬件协同设计和程序优化设计等能力。
目前,国内计算机硬件课程设置大多按计算机系统横向划分,可分为数字逻辑计算机组成原理汇编语言程序设计微机原理与接口技术等课程,总体课程学时较长。学生对整个计算机系统的认识过程就像盲人摸象,难以对计算机系统形成全面的认识。
本书内容整合计算机组成原理微机原理与接口技术汇编语言程序设计等课程的教学内容,以高级语言程序的开发和运行过程为主线,将该过程中每个环节所涉及的硬件和软件的基本概念关联起来,试图使读者建立一个完整的计算机系统层次结构、了解计算机系统的全貌和相关知识体系、初步理解计算机系统中的每个抽象层及其相互转换关系,以及对指令在硬件上的执行过程和指令的底层硬件执行机制有一定的认识和理解,从而提高读者在程序调试、性能优化、移植和健壮性保证等方面的能力,并为后续的课程打下坚实基础。
本书采用IA-32体系结构,从程序设计人员视角出发,分析高级语言执行中所需的数据和程序(介绍IA-32指令系统,但是在程序应用方面采用C语言编程,将高级语言程序、汇编语言程序、机器代码及其执行连接起来);在数据存储方面,分析如何构建层次化存储系统并改善应用程序性能;基于程序执行中出现的异常和中断,介绍如何实现控制和完成中断程序设计等内容;在完成输入输出操作方面,介绍如何构建输入输出硬件系统和利用输入输出软件系统。
本书共7章,各章节内容如下。
第1章 计算机系统概述
介绍计算机系统的基本组成、计算机系统的层次结构和性能评价指标,通过一条汇编指令了解计算机的工作过程。
第2章 数据的机器级表示与处理
介绍程序中处理的数据在机器中的表示与处理,包括计算机中的数据编码、定点数和浮点数,采用IEEE 754标准完成浮点数的加减运算,分析了C语言采用的整数和浮点数的数据类型,以及类型强制转换后数据的变化。
第3章 层次结构存储系统
介绍存储系统构建和存储的访问过程,引入当前计算机系统中存储系统的层次结构和存储器技术、CPU和主存储器的连接方式、高速缓冲存储器的工作原理和地址映射、虚拟存储管理方式、IA-32系统地址转换,分析了通过如何改善程序的时间局部性和空间局部性来提高应用程序的性能。
第4章 指令系统和程序的机器级表示
介绍IA-32数据寻址方式和指令系统,在程序设计中采用高级语言编程,从过程调用的机器级表示作为切入点,利用反汇编工具,将高级语言、汇编语言和机器代码相关联,进而扩展到选择结构和循环结构的程序的机器级表示。
第5章 CPU结构和程序执行
介绍可执行目标代码中的指令序列在机器上的执行过程;利用单总线数据通路和多总线数据通路分析不同指令的执行过程;分析指令流水线中的冒险及其解决办法,并介绍超标量、超流水线和超长指令字的技术。
第6章 异常和中断
介绍打断程序正常执行的机制和中断控制原理;IA-32体系结构中的CPU中断管理方式,通过8259A中断控制器的应用实例,全面了解中断的控制和实现过程;还引入中断的程序设计及响应过程实例。
第7章 输入输出系统
介绍输入输出硬件系统和输入输出软件系统、CPU与外设的数据交换方式。其中,输入输出软件系统包括内核空间输入输出软件和用户空间输入输出软件,本章基于C语言标准库函数scanf和printf实例,并通过反汇编工具进行了汇编语言功能分析。
本书所用平台为IA-32 Windows C语言 OllDbg,书中所用的C语言程序在Windows平台上编译后,利用OllDbg反汇编工具进行指令动态跟踪。本书在介绍程序的机器级表示前,先介绍存储系统和IA-32指令集体系结构(包括机器语言和汇编语言),读者不需要具备任何机器语言和汇编语言的基础知识,就可以理解CPU、存储器和程序的运行关系。
通过本书的学习,有助于读者利用计算机系统相关知识编写更有效的程序。对于某些偏向软件方面专业的学生,也不需要深入了解计算机底层硬件细节,只需要对高级语言和底层结构之间的互动机制有所了解,这样有助于学生理解解决问题的算法及更复杂的数据结构问题,还有助于学生联想硬件和上层语言之间的交互场景,从而理解底层设计的重点和动机。
本书各个章节间具有非常紧密的联系,因此建议采用整体性学习方法,通过第1章的学习先建立一个粗略的计算机系统整体框架,然后不断地通过后续章节的学习,将新的内容与前面内容关联起来,以逐步细化计算机系统框架内容,最终形成比较完整的、密切关联的计算机系统整体概念。
本书由刘丽编写第1、2章,于美娜编写第4章,姜彦吉编写第6、7章,崔丽群编写第3、5章并负责全书通稿。
本书参考了国内外的经典教材,在内容上力求做到反映技术发展现状;在内容组织上力求将基本概念及基本方法阐述清楚,尽量采用图示和实例进行解释和说明,使本书内容简明扼要,通俗易懂且重点突出。
由于计算机系统的不断发展和计算机技术的不断进步,加之作者水平有限,在编写中错误和不妥之处在所难免,恳请读者批评指正。
作 者
2020年3月?
|
|