成功加入购物车

去购物车结算 X
鑫誠書苑
  • 深入理解计算机系统(原书第3版) 软硬件技术 (美)兰德尔·e.布莱恩特(randal e.bryant) 等 著;龚奕利,贺莲 译
  • 深入理解计算机系统(原书第3版) 软硬件技术 (美)兰德尔·e.布莱恩特(randal e.bryant) 等 著;龚奕利,贺莲 译
  • 深入理解计算机系统(原书第3版) 软硬件技术 (美)兰德尔·e.布莱恩特(randal e.bryant) 等 著;龚奕利,贺莲 译
  • 深入理解计算机系统(原书第3版) 软硬件技术 (美)兰德尔·e.布莱恩特(randal e.bryant) 等 著;龚奕利,贺莲 译

深入理解计算机系统(原书第3版) 软硬件技术 (美)兰德尔·e.布莱恩特(randal e.bryant) 等 著;龚奕利,贺莲 译

举报
  • 作者: 
  • 出版社:    机械工业出版社
  • ISBN:    9787111544937
  • 出版时间: 
  • 版次:    1
  • 装帧:    平装
  • 开本:    16开
  • 页数:    737页
  • 作者: 
  • 出版社:  机械工业出版社
  • ISBN:  9787111544937
  • 出版时间: 
  • 版次:  1
  • 装帧:  平装
  • 开本:  16开
  • 页数:  737页

售价 68.10 4.9折

定价 ¥139.00 

品相 全新品相描述

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2024-03-09

    数量
    库存37
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 商品分类:
      计算机与互联网
      货号:
      712_9787111544937
      品相描述:全新
      正版特价新书
      商品描述:
      目录:

      出版者的话
      中文版序一
      中文版序二
      译者序
      前言
      关于作者
      章计算机系统漫游1
      1.1信息是位+上下文1
      1.2程序被其他程序翻译成不同的格式3
      1.3了解编译系统如何工作是大有益处的4
      1.4处理器读并解释储存在内存中的指令5
      1.4.1系统的硬件组成5
      1.4.2运行hello程序7
      1.5高速缓存至关重要9
      1.6存储设备形成层次结构9
      1.7作系统管理硬件10
      1.7.1进程11
      1.7.2线程12
      1.7.3虚拟内存12
      1.7.4文件14
      1.8系统之间利用网络通信14
      1.9重要主题16
      1.9.1amdahl定律16
      1.9.2并发和并行17
      1.9.3计算机系统中抽象的重要19
      1.10小结20
      参文献说明20
      练题20
      部分
      程序结构和执行
      第2章信息的表示和处理22
      2.1信息存储24
      2.1.1十六进制表示25
      2.1.2字数据大小27
      2.1.3寻址和字节顺序29
      2.1.4表示字符串34
      2.1.5表示代码34
      2.1.6布尔代数简介35
      2.1.7c语言中的位级运算37
      2.1.8c语言中的逻辑运算39
      2.1.9c语言中的移位运算40
      2.2整数表示41
      2.2.1整型数据类型42
      2.2.2无符号数的编码43
      2.2.3补码编码44
      2.2.4有符号数和无符号数之间的转换49
      2.2.5c语言中的有符号数与无符号数52
      2.2.6扩展一个数字的位表示54
      2.2.7截断数字56
      2.2.8关于有符号数与无符号数的建议58
      2.3整数运算60
      2.3.1无符号加60
      2.3.2补码加62
      2.3.3补码的非66
      2.3.4无符号乘67
      2.3.5补码乘67
      2.3.6乘以常数70
      2.3.7除以2的幂71
      2.3.8关于整数运算的后思74
      2.4浮点数75
      2.4.1二进制小数76
      2.4.2ieee浮点表示78
      2.4.3数字示例79
      2.4.4舍入83
      2.4.5浮点运算85
      2.4.6c语言中的浮点数86
      2.5小结87
      参文献说明88
      家庭作业88
      练题97
      第3章程序的机器级表示109
      3.1历史观点110
      3.2程序编码113
      3.2.1机器级代码113
      3.2.2代码示例114
      3.2.3关于格式的注解117
      3.3数据格式119
      3.4访问信息119
      3.4.1作数指示符121
      3.4.2数据传送指令122
      3.4.3数据传送示例125
      3.4.4压入和弹出栈数据127
      3.5算术和逻辑作128
      3.5.1加载有效地址129
      3.5.2一元和二元作130
      3.5.3移位作131
      3.5.4讨论131
      3.5.5特殊的算术作133
      3.6控制135
      3.6.1条件码135
      3.6.2访问条件码136
      3.6.3跳转指令138
      3.6.4跳转指令的编码139
      3.6.5用条件控制来实现条件分支
      3.6.6用条件传送来实现条件分支
      3.6.7循环149
      3.6.8switch语句159
      3.7过程164
      3.7.1运行时栈164
      3.7.2转移控制165
      3.7.3数据传送168
      3.7.4栈上的局部存储170
      3.7.5寄存器中的局部存储空间172
      3.7.6递归过程174
      3.8数组分配和访问176
      3.8.1基本原则176
      3.8.2指针运算177
      3.8.3嵌套的数组178
      3.8.4定长数组179
      3.8.5变长数组181
      3.9异质的数据结构183
      3.9.1结构183
      3.9.2联合186
      3.9.3数据对齐189
      3.10在机器级程序中将控制与数据结合起来192
      3.10.1理解指针192
      3.10.2应用:使用gdb调试器193
      3.10.3内存越界引用和缓冲区溢出194
      3.10.4对抗缓冲区溢出攻击198
      3.10.5支持变长栈帧201
      3.11浮点代码204
      3.11.1浮点传送和转换作205
      3.11.2过程中的浮点代码209
      3.11.3浮点运算作210
      3.11.4定义和使用浮点常数212
      3.11.5在浮点代码中使用位级作212
      3.11.6浮点比较作213
      3.11.7对浮点代码的观察结论215
      3.12小结216
      参文献说明216
      家庭作业216
      练题226
      第4章处理器体系结构243
      4.1y86—64指令集体系结构245
      4.1.1程序员可见的状态245
      4.1.2y86—64指令245
      4.1.3指令编码246
      4.1.4y86—64异常250
      4.1.5y86—64程序251
      4.1.6一些y86—64指令的详情255
      4.2逻辑设计和硬件控制语言hcl256
      4.2.1逻辑门257
      4.2.2组合电路和hcl布尔表达式257
      4.2.3字级的组合电路和hcl整数表达式258
      4.2.4集合关系261
      4.2.5存储器和时钟262
      4.3y86—64的顺序实现264
      4.3.1将处理组织成阶段264
      4.3.2seq硬件结构272
      4.3.3seq的时序274
      4.3.4seq阶段的实现277
      4.4流水线的通用282
      4.4.1计算流水线282
      4.4.2流水线作的详细说明284
      4.4.3流水线的局限284
      4.4.4带反馈的流水线系统287
      4.5y86—64的流水线实现288
      4.5.1seq+:重新安排计算阶段288
      4.5.2插入流水线寄存器289
      4.5.3对信号进行重新排列和标号292
      4.5.4预测下一个pc293
      4.5.5流水线冒险295
      4.5.6异常处理306
      4.5.7pipe各阶段的实现308
      4.5.8流水线控制逻辑314
      4.5.9能分析322
      4.5.10未完成的工作323
      4.6小结325
      参文献说明326
      家庭作业327
      练题331
      第5章优化程序能341
      5.1优化编译器的能力和局限342
      5.2表示程序能345
      5.3程序示例347
      5.4消除循环的低效率350
      5.5减少过程调用353
      5.6消除不必要的内存引用354
      5.7理解现代处理器357
      5.7.1整体作357
      5.7.2功能单元的能361
      5.7.3处理器作的抽象模型362
      5.8循环展开366
      5.9提高并行369
      5.9.1多个累积变量370
      5.9.2重新结合变换373
      5.10优化合并代码的结果小结377
      5.11一些因素378
      5.11.1寄存器溢出378
      5.11.2分支预测和预测错误处罚379
      5.12理解内存能382
      5.12.1加载的能382
      5.12.2存储的能383
      5.13应用:能提高技术387
      5.14确认和消除能瓶颈388
      5.14.1程序剖析388
      5.14.2使用剖析程序来指导优化390
      5.15小结392
      参文献说明393
      家庭作业393
      练题395
      第6章存储器层次结构399
      6.1存储技术399
      6.1.1访问存储器400
      6.1.2磁盘存储406
      6.1.3固态硬盘414
      6.1.4存储技术趋势415
      6.2局部418
      6.2.1对程序数据引用的局部418
      6.2.2取指令的局部419
      6.2.3局部小结420
      6.3存储器层次结构421
      6.3.1存储器层次结构中的缓存422
      6.3.2存储器层次结构概念小结424
      6.4高速缓存存储器425
      6.4.1通用的高速缓存存储器组织结构425
      6.4.2直接映高速缓存427
      6.4.3组相联高速缓存433
      6.4.4全相联高速缓存434
      6.4.5有关写的问题437
      6.4.6一个真实的高速缓存层次结构的解剖438
      6.4.7高速缓存参数的能影响439
      6.5编写高速缓存友好的代码440
      6.6综合:高速缓存对程序能的影响444
      6.6.1存储器山444
      6.6.2重新排列循环以提高空间局部447
      6.6.3在程序中利用局部450
      6.7小结450
      参文献说明451
      家庭作业451
      练题459
      第二部分
      在系统上运行程序
      第7章464
      7.1编译器驱动程序465
      7.2静态466
      7.3目标文件466
      7.4可重定位目标文件467
      7.5符号和符号表468
      7.6符号解析470
      7.6.1器如何解析多重定义的全局符号471
      7.6.2与静态库475
      7.6.3器如何使用静态库来解析引用477
      7.7重定位478
      7.7.1重定位条目479
      7.7.2重定位符号引用479
      7.8可执行目标文件483
      7.9加载可执行目标文件484
      7.10动态共享库485
      7.11从应用程序中加载和共享库487
      7.12位置无关代码489
      7.13库打桩机制492
      7.13.1编译时打桩492
      7.13.2时打桩492
      7.13.3运行时打桩494
      7.14处理目标文件的工具496
      7.15小结496
      参文献说明497
      家庭作业497
      练题499
      第8章异常控制流501
      8.1异常502
      8.1.1异常处理503
      8.1.2异常的类别504
      8.1.3linux/x86—64系统中的异常505
      8.2进程508
      8.2.1逻辑控制流508
      8.2.2并发流509
      8.2.3私有地址空间509
      8.2.4用户模式和内核模式510
      8.2.5上下文切换511
      8.3系统调用错误处理512
      8.4进程控制513
      8.4.1获取进程id513
      8.4.2创建和终止进程513
      8.4.3回收子进程516
      8.4.4让进程休眠521
      8.4.5加载并运行程序521
      8.4.6利用fork和execve运行程序524
      8.5信号526
      8.5.1信号术语527
      8.5.2发送信号528
      8.5.3接收信号531
      8.5.4阻塞和解除阻塞信号532
      8.5.5编写信号处理程序533
      8.5.6同步流以避讨厌的并发错误540
      8.5.7显式地等待信号543
      8.6非本地跳转546
      8.7作进程的工具550
      8.8小结550
      参文献说明550
      家庭作业550
      练题556
      第9章虚拟内存559
      9.1物理和虚拟寻址560
      9.2地址空间560
      9.3虚拟内存作为缓存的工具561
      9.3.1dram缓存的组织结构562
      9.3.2页表562
      9.3.3页命中563
      9.3.4缺页564
      9.3.5分配页面565
      9.3.6又是局部救了我们565
      9.4虚拟内存作为内存管理的工具565
      9.5虚拟内存作为内存保护的工具567
      9.6地址翻译567
      9.6.1结合高速缓存和虚拟内存570
      9.6.2利用tlb加速地址翻译570
      9.6.3多级页表571
      9.6.4综合:端到端的地址翻译573
      9.7案例研究:intelcorei7/linux内存系统576
      9.7.1corei7地址翻译576
      9.7.2linux虚拟内存系统580
      9.8内存映582
      9.8.1再看共享对象583
      9.8.2再看fork函数584
      9.8.3再看execve函数584
      9.8.4使用mmap函数的用户级内存映585
      9.9动态内存分配587
      9.9.1malloc和free函数587
      9.9.2为什么要使用动态内存分配589
      9.9.3分配器的要求和目标590
      9.9.4碎片591
      9.9.5实现问题592
      9.9.6隐式空闲链表592
      9.9.7放置已分配的块593
      9.9.8分割空闲块594
      9.9.9获取额外的堆内存594
      9.9.10合并空闲块594
      9.9.11带边界标记的合并595
      9.9.12综合:实现一个简单的分配器597
      9.9.13显式空闲链表603
      9.9.14分离的空闲链表604
      9.10垃圾收集605
      9.10.1垃圾收集器的基本知识606
      9.10.2mark&sweep垃圾收集器607
      9.10.3c程序的保守mark&sweep608
      9.11c程序中常见的与内存有关的错误609
      9.11.1间接引用坏指针609
      9.11.2读未初始化的内存609
      9.11.3允许栈缓冲区溢出610
      9.11.4设指针和它们指向的对象是相同大小的610
      9.11.5造成错位错误
      9.11.6引用指针,而不是它所指向的对象
      9.11.7误解指针运算
      9.11.8引用不存在的变量612
      9.11.9引用空闲堆块中的数据612
      9.11.10引起内存泄漏613
      9.12小结613
      参文献说明613
      家庭作业614
      练题617
      第三部分
      程序间的交互和通信
      0章系统级i/o62210.1uni/o622
      10.2文件623
      10.3打开和关闭文件624
      10.4读和写文件625
      10.5用rio包健壮地读写626
      10.5.1rio的无缓冲的输入输出函数627
      10.5.2rio的带缓冲的输入函数627
      10.6读取文件元数据632
      10.7读取目录内容633
      10.8共享文件634
      10.9i/o重定向637
      10.10标准i/o638
      10.11综合:我该使用哪些i/o函数?638
      10.12小结640
      参文献说明640
      家庭作业640
      练题641
      1章网络编程642
      11.1客户端服务器编程模型642
      11.2网络643
      11.3全球ip因特网646
      11.3.1ip地址647
      11.3.2因特网域名649
      11.3.3因特网连接651
      11.4套接字接652
      11.4.1套接字地址结构653
      11.4.2socket函数654
      11.4.3connect函数654
      11.4.4bind函数654
      11.4.5listen函数655
      11.4.6accept函数655
      11.4.7主机和服务的转换656
      11.4.8套接字接的辅助函数660
      11.4.9echo客户端和服务器的示例662
      11.5web服务器665
      11.5.1web基础665
      11.5.2web内容666
      11.5.3事务667
      11.5.4服务动态内容669
      11.6综合:tinyweb服务器671
      11.7小结678
      参文献说明678
      家庭作业678
      练题679
      2章并发编程681
      12.1基于进程的并发编程682
      12.1.1基于进程的并发服务器683
      12.1.2进程的优劣684
      12.2基于i/o多路复用的并发编程684
      12.2.1基于i/o多路复用的并发事件驱动服务器686
      12.2.2i/o多路复用技术的优劣690
      12.3基于线程的并发编程691
      12.3.1线程执行模型691
      12.3.2ix线程691
      12.3.3创建线程692
      12.3.4终止线程693
      12.3.5回收已终止线程的资源693
      12.3.6分离线程694
      12.3.7初始化线程694
      12.3.8基于线程的并发服务器694
      12.4多线程程序中的共享变量696
      12.4.1线程内存模型696
      12.4.2将变量映到内存697
      12.4.3共享变量698
      12.5用信号量同步线程698
      12.5.1进度图701
      12.5.2信号量702
      12.5.3使用信号量来实现互斥703
      12.5.4利用信号量来调度共享资源704
      12.5.5综合:基于预线程化的并发服务器708
      12.6使用线程提高并行710
      12.7其他并发问题716
      12.7.1线程安全716
      12.7.2可重入717
      12.7.3在线程化的程序中使用已存在的库函数718
      12.7.4竞争719
      12.7.5死锁721
      12.8小结722
      参文献说明723
      家庭作业723
      练题726
      附录a错误处理729
      参文献733

      内容简介:

      本书是将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。

      作者简介:

      关于作者randale.bryant1973年于密歇根大学获得学士,随即读于麻省理工学院院,并在1981年获计算机科学博士。他在加州理工学院做了三年助教,从1984年至今一直是卡内基梅隆大学的教师。这其中有五年的时间,他是计算机科学系主任,有十年的时间是计算机科学学院院长。他现在是计算机科学学院的院长、教授。他同时还受邀任职于电子与计算机工程系。他教授本科生和计算机系统方面的课程近40年。在讲授计算机体系结构课程多年后,他开始把关注点从如何设计计算机转移到程序员如何在更好地了解系统的情况下编写出更有效和更可靠的程序。他和ohallaron教授一起在卡内基梅隆大学开设了15213课程“计算机系统导论”,那便是此书的基础。他还教授一些有关算、编程、计算机网络、分布式系统和vlsi(超大规模集成电路)设计方面的课程。bryant教授的主要研究内容是设计软件工具来帮助软件和硬件设计者验证其系统正确。其中,包括几种类型的模拟器,以及用数学方来证明设计正确的形式化验证工具。他发表了150多篇技术。包括intel、ibm、fujitsu和microsoft在内的主要计算机制造商都使用着他的研究成果。他还因他的研究获得过数项大奖。其中包括semiconductorresearchcorporation颁发的两个发明荣誉奖和一个技术成奖,acm颁发的kanellakis理论与实践奖,还有ieee颁发的w.r.g.baker奖、emmanuelpiore奖和philkaufman奖。他还是acm院士、ieee院士、美国工程院院士和美国人文与科学研究院院士。davidr.ohallaron卡内基梅隆大学计算机科学和电子与计算机工程系教授。在弗吉尼亚大学获得计算机科学博士,2007~2010年为intel匹兹堡实验室主任。20年来,他教授本科生和计算机系统方面的课程,例如计算机体系结构、计算机系统导论、并行处理器设计和inter服务。他和bryant教授一起在卡内基梅隆大学开设了作为本书基础的“计算机系统导

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看