实名认证领苏宁支付券立即领取 >
¥
提前抢
SUPER会员专享
由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
欢迎光临本店铺
点我可查看更多商品哦~
100%刮中券,最高50元无敌券,券有效期7天
亲,今日还有0次刮奖机会
我的云钻:0
您的云钻暂时不足,攒足云钻再来刮
恭喜获得1张券!
今天的机会已经全部用完了,请明天再来
恭喜刮出两张券,请选择一张领取
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
音像计算机系统基础袁春风,余子濠 编著
¥ ×1
商品
服务
物流
丛书序言序言前言部系统概述和可执行目标文件的生成章计算机系统概述21.1计算机基本工作原理21.1.1冯·诺依曼结构基本思想21.1.2冯·诺依曼机基本结构31.1.3程序和指令的执行过程41.2程序的开发与运行71.2.1程序设计语言和翻译程序71.2.2从源程序到可执行文件91..可执行文件的启动和执行101.3计算机系统的层次结构121.3.1计算机系统抽象层的转换121.3.2计算机系统核心层之间的关联141.3.3计算机系统的不同用户161.4计算机系统能评181.4.1计算机能的定义191.4.2计算机能的测试191.4.3用指令执行速度进行能评估211.4.4用基准程序进行能评估221.4.5Amdahl定律1.5本书的主要内容和组织结构241.6小结27习题27第2章数据的机器级表示与处理302.1数制和编码302.1.1信息的二进制编码302.1.2进位制322.1.3定点与浮点表示362.1.4定点数的编码表示362.2整数的表示412.2.1无符号整数和带符号整数的表示412.2.2C语言中的整数及其相互转换42.浮点数的表示44..1浮点数的表示范围44..2浮点数的规格化45..IEEE 754浮点数标准45..4C语言中的浮点数类型492.4十进制数的表示512.4.1用ASCII码字符表示512.4.2用BCD码表示512.5非数值数据的编码表示522.5.1逻辑值522.5.2西文字符522.5.3汉字字符532.6数据的宽度和存储552.6.1数据的宽度和单位552.6.2数据的存储和排列顺序572.7数据的基本运算612.7.1按位运算和逻辑运算612.7.2左移运算和右移运算612.7.3位扩展运算和位截断运算632.7.4整数加减运算642.7.5整数乘除运算682.7.6常量的乘除运算712.7.7浮点数运算722.8小结78习题79第3章程序的转换及机器级表示873.1程序转换概述873.1.1机器指令及汇编指令883.1.2指令集体系结构893.1.3生成机器代码的过程893.2IA-32指令系统概述943.2.1数据类型及其格式953.2.2寄存器组织和寻址方式963..机器指令格式1013.3IA-32常用指令类型及其操作1033.3.1传送指令1033.3.2定点算术运算指令1063.3.3按位运算指令1093.3.4控制转移指令1103.3.5x87浮点处理指令1153.3.6MMX/SSE指令集1163.4C语言程序的机器级表示1183.4.1过程调用的机器级表示1183.4.2选择语句的机器级表示1323.4.3循环结构的机器级表示1363.5复杂数据类型的分配和访问1393.5.1数组的分配和访问1393.5.2结构体数据的分配和访问1443.5.3联合体数据的分配和访问1463.5.4数据的对齐1483.6越界访问和缓冲区溢出1513.6.1缓冲区溢出1513.6.2缓冲区溢出攻击1533.6.3缓冲区溢出攻击的防范1553.7兼容IA-32的64位系统1583.7.1x86-64的发展简史1583.7.2x86-64的基本特点1593.7.3x86-64的基本指令和对齐1593.7.4x86-64的过程调用1613.7.5x86-64的浮点操作与SM指令1653.8小结166习题167第4章程序的链接1824.1编译、汇编和静态链接1824.1.1编译和汇编1824.1.2可执行目标文件的生成1844.2目标文件格式1864.2.1ELF目标文件格式1864.2.2可重定位目标文件格式1874..可执行目标文件格式1904.2.4可执行文件的存储器映像1924.3符号表和符号解析1934.3.1符号和符号表1934.3.2符号解析1964.3.3与静态库的链接1994.4重定位2014.4.1重定位信息2024.4.2重定位过程2024.5动态链接2064.5.1动态链接的特2074.5.2程序加载时的动态链接2074.5.3程序运行时的动态链接2094.5.4位置无关代码2104.6小结214习题215第二部分可执行目标文件的运行第5章程序的执行2225.1程序执行概述2225.1.1程序及指令的执行过程2225.1.2CPU的基本功能和组成2245.1.3打断程序正常执行的事件2265.2数据通路基本结构和工作原理2275.2.1数据通路基本结构2275.2.2数据通路的时序控制2295..总线式数据通路05.2.4单周期数据通路55.3流水线方式下指令的执行……
袁春风,南京大学计算机科学与技术系教授。主要研究领域为Web信息检索与文本挖掘技术、多媒体文档处理等。在相关领域承担科研项目近30I页,发表50多篇,获江苏省科技进步二等奖2次,省很好软件一等奖1次。编写计算机组成原理和有关多媒体处理方面的教材4本,获很好教材二等奖1次。从事“计算机组成原理”和“计算机组成与系统结构”课程的教学工作20年。“计算机组成原理”获一微软精品课程、远程教育精课程,并作为主要课程之一获江苏省很好课程群。“计算机组成与系统结构”获江苏省精品课程,其课程在2009年江苏省高等学校很好多媒体教学课件遴选中获特等奖。
PREFACE前 言后PC时代的到来,使得原先基于PC而建立起来的专业教学内容已经远远不能反映现代社会对计算机专业人才的培养要求,原先计算机专业人才培养强调“程序”设计也变为更强调“系统”设计。这需要我们重新规划教学课程体系,调整教学理念和教学内容,加强学生系统能力培养,使学生能够深刻理解计算机系统整体概念,更好地掌握软/硬件协同设计和程序设计技术,从而更多地培养出满足业界需求的各类计算机专业人才。不管培养计算机系统哪个层面的计算机技术人才,计算机专业教育都要重视学生“系统观”的培养。 本书的主要目的就是为加强计算机专业学生的“系统观”而提供一本关于“计算机系统基础”课程教学的教材。 1.本书的写作思路和内容组织本书从程序员视角出发,重点介绍应用程序员如何利用计算机系统相关知识来编写更有效的程序。本书以高级语言程序的开发和运行过程为主线,将该过程中每个环节所涉及的硬件和软件的基本概念关联起来,试图使读者建立一个完整的计算机系统层次结构框架,了解计算机系统的全貌和相关知识体系,初步理解计算机系统中的每一个抽象层及其相互转换关系,建立高级语言程序、ISA、OS、编译器、链接器等之间的相互关联;对指令在硬件上的执行过程和指令的底层硬件执行机制有一定的认识和理解,从而读者在程序的调试、能优化、移植和健壮保等方面的能力,并为后续的“计算机组成与设计”“操作系统”“编译技术”“计算机体系结构”等课程打下坚实基础。 本书的具体内容包括:程序中处理的数据在机器中的表示和运算、程序中各类控制语句对应的机器级代码的结构、可执行目标代码的链接生成、可执行目标代码中的指令序列在机器上的执行过程、存储访问过程、打断程序正常执行的机制以及程序中的I/O操作功能如何通过请求操作系统核提的系统调用服务来完成等。 不管构建一个计算机系统的各类硬件和软件多么千差万别,计算机系统的构建原理以及在计算机系统上的程序转换和执行机理是相通的,因而,本书仅介绍一种特定计算机系统平台下的相关内容。本书所用的平台为IA-32/x86-64+Linux+GCC+C语言。 本书共有8章,分两个部分。部主要是系统概要并介绍可执行目标文件的生成,包含~4章;第二部分主要介绍可执行目标文件的运行,包含第5~8章。章是计算机系统概述;第2章和第3章分别介绍高级语言程序中的数据和语句所对应的底层机器级表示,展示的是高级语言程序到机器级语言程序的对应转换关系;第4章主要介绍如何将不同的程序模块链接起来构成可执行目标文件,展示的是程序的链接环节;第5章和第6章着重介绍程序的运行环节,包括与程序运行密切相关的硬件部分——CPU及存储器的组织;第7章介绍打断程序正常运行的事件机制——异常控制流;第8章主要介绍程序中I/O操作的实现机制。此外,附录A中还补充了数字逻辑电路的基础内容,为那些没有数字逻辑电路基础知识的读者阅读本书提供方便。 2.读者所需的背景知识本书定读者对C语言程序设计有一定的基础,已经掌握了C语言的语法和各类控制语句、数据类型及其运算、各类表达式、函数调用和C语言的标准库函数等相关知识。 此外,本书对于程序中指令的执行过程进行了介绍,这涉及布尔代数、逻辑运算电路、存储部件等内容,因而,本书正文内容定读者具有数字逻辑电路基础知识。不过,如果读者不具备这些背景知识的话,可以参看本书附录A。 本书所用的平台为IA-32/x86-64+Linux+GCC+C语言。书中大多数C语言程序对应的机器级表示都是基于IA-32+Linu台用GCC编译器生成的,本书会在介绍程序的机器级表示之前,先简要介绍IA-32的指令集体系结构,包括其机器语言和汇编语言的介绍,因而,读者无须任何机器语言和汇编语言的背景知识。 XII3.使用本书作为教材的课程及教学建议目前国内大学计算机专业课程设置,大多是按计算机系统层次结构进行横向切分,自下而上分解成数字逻辑电路、计算机组成原理、汇编程序设计、操作系统、编译原理、程序设计等课程,而且,每门课程都仅局限在本抽象层,相互之间几乎没有关联,因而学生对整个计算机系统的认识过程就像“瞎子摸象”一样,很难形成一个对完整计算机系统的全面认识。虽然国内有些高校也有计算机系统概论、计算机系统入门或导论之类的课程,但通常内容较广且结构较松散,基本上是计算机课程概论,因而很难使学生真正形成计算机系统层次结构整体框架。 笔者对美国几所很好大学近年来相关课程体系进行了跟踪调查,发现他们都注重计算机系统能力的培养,都在讲完高层的编程语言及程序设计课程后开设一门关于计算机系统的基础课程,如MIT的6.004、UC-Berkeley的CS 61C、CMU的CS 213、斯坦福大学的CS 107等。这些课程在内容上特别注重计算机系统各抽象层的纵向关联,将高级语言程序、汇编语言程序、机器代码及其执行串联起来,为学生进一步学习后续相关课程打下坚实的基础。 本书在借鉴国外相关课程教学内容和相关教材的基础上编写,适合于在完成程序设计基础课程后进行学习。本书内容贯穿计算机系
抢购价:¥ 38.00
易购价:¥ 38.00
注:参加抢购将不再享受其他优惠活动
亲,很抱歉,您购买的宝贝销售异常火爆,让小苏措手不及,请稍后再试~
验证码错误
看不清楚?换一张
确定关闭
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
查看我的收藏夹
非常抱歉,您前期未参加预订活动,无法支付尾款哦!
关闭
抱歉,您暂无任性付资格
继续等待
0小时0分
立即开通
SUPER会员