搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
计算之道(卷Ⅰ计算机组成与高级语言)/架构师前沿实践丛书
0.00     定价 ¥ 129.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购15本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302682998
  • 作      者:
    编者:张仲文|责编:贾旭龙|总主编:黄俊
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2025.04
收藏
作者简介

黄俊

专注于研究Java语言

专注于研究Hotspot

专注于研究Linux内核

专注于研究C语言与汇编

专注于研究架构设计

专注于研究多线程并发处理

专注于研究高效学习方式

曾就职于美团、阿里

前新东方业务架构师


张仲文

资深技术专家,拥有九年互联网项目开发经验。自Java编程入门,深入探索操作系统原理与计算机科学精髓,深入阅读Linux源码,对计算机底层原理有着深厚的研究。致力于解构和探索计算机之道。


展开
内容介绍

本书是一本深入探讨计算机科学与技术的图书,旨在帮助读者更好地理解计算机内部的工作原理,并探索从内存到线程等核心知识。本书适用于对计算机科学和底层技术感兴趣的读者,无论是学习计算机基础知识还是进一步扩展技术视野,都能从本书中获益良多。在这本书中,作者以清晰、易懂的语言详细介绍计算机内存的结构和工作原理。读者将了解内存的层次结构、存储器管理、缓存和内存映射等关键概念,从而更好地理解计算机是如何存储和访问数据的。此外,本书还深入讨论了线程和并发编程。读者将学习多线程编程的基本概念和技术,并了解线程同步、互斥锁、信号量等并发控制机制。通过实例和案例研究,读者将能够编写高效、可靠的多线程应用程序。无论您是学生、工程师还是对计算机科学与技术感兴趣的读者,本书都将成为您不可或缺的参考资料。

展开
目录

第 1 章 计算机的组成 1

1.1 一颗计算机种子 1

1.2 百花齐放 2

1.2.1 冯·诺依曼架构 3

1.2.2 哈佛架构 4

1.3 e 进制 5

1.3.1 进制 5

1.3.2 二进制 6

1.3.3 三进制 6

1.3.4 e 进制 7

1.3.5 其他进制 8

1.4 逻辑门与运算单元 10

1.4.1 NMOS 与 PMOS 10

1.4.2 非门(NOT) 10

1.4.3 与门(AND) 11

1.4.4 与非门(NAND) 11

1.4.5 或门(OR) 11

1.4.6 解复用器(de-multiplexer,DEMUX) 12

1.4.7 复用器(multiplexer,MUX) 13

1.4.8 异或门(XOR) 14

1.4.9 多位组合电路 15

1.4.10 半加器(Half Adder) 17

1.4.11 全加器(Full Adder) 18

1.4.12 十六位负数判断(IsNeg) 18

1.4.13 十六位加法器(Adder16) 18

1.4.14 算术逻辑单元(ALU) 19

1.5 D 触发器与存储单元 20

1.5.1 RS 触发器 20

1.5.2 D 触发器 21

1.5.3 bit——一位存储器 22

1.5.4 十六位寄存器 22

1.5.5 高位寄存器内存组合 23

1.5.6 小结 24

1.6 振荡器与计时器 25

1.7 CPU 的组成 26

1.7.1 PC 计数器 26

1.7.2 寄存器 27

1.7.3 功能定义 27

1.7.4 CPU 实现 30

1.8 计算机的组成 32

1.8.1 内存 32

1.8.2 其他设备 33

1.8.3 计算机实现 34

1.9 网络服务的组成 35

1.9.1 单体网络服务 35

1.9.2 分布式服务 36

1.10 小结 37

第 2 章 汇编语言 39

2.1 指令集体系结构(ISA) 39

2.2 CISC 40

2.3 RISC 40

2.4 Intel 指令集 41

2.4.1 指令前缀 42

2.4.2 操作码 43

2.4.3 ModR/M与SIB 44

2.4.4 位移与立即数 45

2.5 通用汇编指令 45

2.5.1 MOV、ADD、SUB 45

2.5.2 MLU、DIV、SHL、SHR 45

2.5.3 PUSH、POP 46

2.5.4 JMP、JXX 47

2.6 汇编的内存结构 47

2.6.1 位宽 47

2.6.2 步长 47

2.7 汇编 器 48

2.7.1 简单汇编 48

2.7.2 汇编器 49

2.8 小结 54

第 3 章 如何设计一门语言 55

3.1 语言的目标 55

3.2 类型系统 55

3.3 抽象操作 56

3.3.1 汇编拓展 56

3.3.2 寄存器拓展 57

3.4 内存抽象 57

3.4.1 数组 58

3.4.2 结构体 58

3.5 进程内存结构 58

3.5.1 堆 59

3.5.2 栈 59

3.5.3 数据段 60

3.5.4 代码段 60

3.5.5 应用程序二进制接口 61

3.6 小结 61

第 4 章 编译器 63

4.1 编译原理 63

4.1.1 词法分析 64

4.1.2 语法分析 76

4.1.3 语义分析 115

4.2 GCC 编译器源码 131

4.3 其他编译器 152

4.4 小结 152

第 5 章 Intel 与汇编 154

5.1 Intel 历史 154

5.2 Intel 编码语法 156

5.3 基础寄存器 157

5.3.1 通用寄存器 157

5.3.2 段寄存器 159

5.3.3 状态寄存器 161

5.3.4 指令指针寄存器 161

5.4 Intel 内存分段 163

5.5 Intel 内存分页 168

5.6 保护模式 170

5.6.1 数据段的访问与检查 172

5.6.2 代码段的访问与检查 173

5.6.3 调用门 176

5.6.4 中断与异常 179

5.6.5 任务管理 187

5.7 其他 190

5.7.1 多核处理器 190

5.7.2 APIC 192

5.8 Intel 指令原理 193

5.8.1 PUSH 指令 193

5.8.2 MOV 指令 194

5.8.3 ADD、MUL、DIV、SUB 指令 195

5.8.4 LIDT/LGDT 196

5.9 小结 197

第 6 章 C 语言 198

6.1 C 标准历史(维基百科) 198

6.1.1 基于 B 语言的第一个 C 版本 199

6.1.2 结构体和 UNIX 内核重写 199

6.1.3 K&R C 199

6.1.4 ANSI C 和 ISO C 200

6.1.5 C99 201

6.1.6 C11 202

6.1.7 小结 202

6.2 宏定义 202

6.3 变量与常量 203

6.4 函数 206

6.5 数组与指针 209

6.6 结构体 214

6.6.1 位操作 216

6.6.2 其他 218

6.6.3 返回值 219

6.7 可变数组 222

6.8 其他特性 224

6.8.1 浮点型运算 224

6.8.2 联合体和枚举 225

6.8.3 标准库 227

6.8.4 extern/volatile 227

6.8.5 内联汇编 228

6.9 C 语言的编译 230

6.10 GAS 232

6.11 小结 234

第 7 章 ELF 与链接器 236

7.1 ELF 236

7.1.1 ELF 头结构 238

7.1.2 节的结构 239

7.1.3 字符串表 240

7.1.4 符号表 241

7.1.5 重定位表 242

7.1.6 程序加载 245

7.1.7 程序头结构 246

7.1.8 程序解释器 248

7.1.9 小结 257

7.2 动态链接器 257

7.2.1 Bash 执行流程 258

7.2.2 fork()原理 260

7.2.3 execve()原理 265

7.2.4 glibc 动态链接原理 281

7.3 库打桩 318

7.4 内存分配 319

7.4.1 glibc 320

7.4.2 内核 338

7.4.3 内核信号机制 360

7.5 小结 368


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证