Week 1
Notes and experiences while learning CSAPP
计算机的发展历程#
此处省略一万字,一些绪论。
计算机系统的基本组成和功能#
四级存储结构(由快到慢)#
CPU寄存器 CPU缓存 内存 硬盘
数据存储#
- 程序
- 数据
- 存储部件
硬件组成#
(此处空缺图1.1)
简化的硬件组成#
(此处空缺一张图)
CPU结构#
执行部件
指令预取部件
指令译码部件
分页部件
eg.有 11 kb 数据 但是只能存 10 kb 所以就分页 让最后 1 kb 存到第一个 kb 里面
分段部件
对每个代码进行分段,防止程序之间发生非法的数据访问
总线接口部件
寄存器组(此处缺照片)
EAX EBX ECX EDX ESI EDI ESP EDP EIP EFLAGS CS SS DS ES FS GS
条件标志
- OF:溢出标志
- SF:符号标志
- ZF:零标志
- CF:进位标志
控制标志
- DF:方向标志
- IF:中断允许标志
- TF:陷阱标志
软件#
系统软件
软件开发和执行过程概述#
编译过程#
.c 预处理程序.i 编译程序.s 汇编程序.o 链接程序
源程序 文本文件,用户编写。
目标程序 二进制文件,机器可识别,但不能执行
可执行程序 二进制文件 机器可执行
编译器
链接器
程序中每条指令的执行#
机器指令的一般形式为 操作码 操作数
机器指令完成一个操作
每条指令的执行过程
- 从内存中读取该指令
- 对指令进行译码
- 若为内存操作数,从内存中取操作数
- 对操作数进行运算
- 保存运算结果。若为内存操作数,保存结果到内存中
STACK SEGMENT USE16 STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT USE16
SUM DW ;W = word, 2 bytes
CODE SEGMENT USE16
ASSUME CS:CODE, SS:STACK
DS:DATA. ES:DATA
START:MOV AX,DATA
MOV DS,AX
MOV VS,50
MOV AX,0
MOV BX,1
NEXT:ADD AX, BX
INC BX
INC BX
DEC CX
JNE NEXT ;JNE: Jump if Not E, when CX != 0, jump to NEX
MOVE SUM,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
asm