计算机系统 Notebook系列 从HelloWorld讲起 信息 编译 处理器执行指令 高速缓存 存储层次 操作系统 IPC(进程间通信) 信息的表示和处理 信息存储 整数 整数运算 浮点数 字符编码 Reference Unicode 11.0 Character Code Charts 程序的表示 程序编码 数据格式 存取指令 运算指令 条件控制指令 过程调用 数组 数据结构 指针与溢出 浮点数 Reference Stack allocation, padding, and alignment Difference between movq and movabsq in x86-64 Linux中的各种栈:进程栈,线程栈,内核栈,中断栈 处理器体系结构 Y86-64 : 介绍一个简单的64位架构 Y86-64 用以连接处理器体系结构 逻辑电路 : 介绍逻辑电路和硬件控制语言 HCL Y86-64 SEQ : Y86-64 CPU的顺序实现 流水线 : 流水线设计 Y86-64 流水线 : Y86-64 CPU 流水线设计 存储器层次结构 存储器技术 存储器层次 高速缓存 Reference 每个程序员都应该了解的内存知识 每个程序员都应该了解的CPU高速缓存 Memory part 1 Memory part 2: CPU caches 虚拟存储器 虚拟内存 地址翻译 内存映射与分配 虚拟内存相关的其他知识 : 垃圾回收与内存错误 Reference 每个程序员都应该了解的“虚拟内存”知识 Linux虚拟内存空间分布 Linux虚拟地址空间布局以及进程栈和线程栈总结 64位Windows内核虚拟地址空间布局 Kernel Virtual Address Layout 优化程序性能 高效的循环 减少内存引用 循环展开 提高并行 链接 静态链接 : 介绍ELF头,如何将目标文件重定向为一个可执行目标文件 动态链接共享库 : 介绍运行时链接机制 异常控制流 异常分类 进程 信号