[TOC]
0. 引言
0.1 本书目标
自底层逐步向上,论述一个高层结构(CPU)在现实机器上的实现机制,如:
即以电路为起点,理解CPU的构造原理与性能评测和优化
- 多个相互关联的程序之间的链接
- 树结构
- 随机数的生成
- 高精度运算
- radix变换
- 数据封装
- 组合查找、递归
为保证最佳效率,一些基本算法(查找和排序)用机器语言编写,需要考虑的因素
- Cache、RAM大小
- 内存访问速度
- 流水
- 多发
- 多级缓存
- Cache块
- 及上述因素对程序性能的影响
0.2 Yale Patt前言
0.2.1 编书思想——自底向上
工程设计中采用自顶向下方法(已经了解底层构造)
学习过程采用自顶向上方法(便于理解)
0.2.2 全书脉络
从Mos管开始,依次介绍逻辑门、锁存器、各种逻辑结构(MUX、解码器、加法器、门控锁存器)。
通过逻辑电路的组合实现一个计算机部件(存储器)
介绍冯诺依曼模型
冯诺依曼机的实现——LC-3机简介
- 机器语言编程
- 汇编编程
- C语言
- 数据结构
0.2.3 章节内容
计算机底层机制
从底层基础知识,上升到操作系统和高级语言的接口层
第2章:bit的算数和逻辑运算,相关结构设计(加法器)
第3章:存储器设计。MOS管到存储器实现
第4章:冯诺依曼模型
第5章:LC-3机特性与组成
- 物理IO
- TRAP机制:调用操作系统服务
- 基于N、Z、P的条件码跳转
- 子程序调用和返回机制
- 基本操作指令集合(ADD,AND,NOT)
- 各种加载和寻址模式
第6章:编程方法与调试
第7章:汇编语言编程
第8章:物理设备的输入和输出
第9章:操作系统的陷入机制,子程序调用和返回机制
第10章:栈和数据转换的原理和机制
C语言
对C语言内部机制的学习,C语言能够清晰的表现软件和硬件的接口关系
将高层的C结构与底层的LC-3实现联系起来
第11章:高级语言编程概述
第12章:常量变量,运算符结合汇编联系底层机器
第13章:控制结构
第14章:源码调试
第15章:函数
第16章:递归技术
- 涉及子程序调用/返回时的栈变化(10章),被调用者和调用者的链接方法,运行时活动记录,参数传递,动态声明
第17章:指针和数组
- 对内存结构的理解
第18章:I/O函数
- 流、可变长参数、C语言的格式控制符
第19章:总结。
- 结构,动态分配内存,链表
0.2.4 作者经验
- 注重理解,不需要死记硬背特性,规则
- 自己动手
- 深入底层
- 涟漪效应:博学广思