汇编架构
X86 :intel的32位架构
AMD64 :AMD的64位架构
ARM :Acorn的32位架构(由于功耗小,多用于手机与平板)
MIPS :衡量计算机速度的指标(一般用于嵌入式路由器)
IA64 :intel的64位架构
X86-64CPU :简称为X64,兼容64位和32位
risv :精简指令集
cisv :复杂指令集
基础知识
1 byte = 8 bit
1 word = 2 byte
1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
总线
- 计算机各种功能部件之间通信的线
- 分为地址总线、数据总线、控制总线
- 传输只能是单向的
- 也分为串行和并发
编译型语言与解释型语言
编译型语言:C++、C、C#、go、rust
解释型语言:Python、java、php、javascript
编译过程
预编译:C语言如展开宏
编译:编译成汇编语言
汇编:编译成机器语言
链接:动态链接(从动态库查找,出来的程序较小)和 静态链接(直接编译,出来的程序较大)
gcc 的部分指令
# 预编译后停下来,生成后缀为 .i 的预编译文件
-E
# 编译后停下来,生成后缀为 .o 的目标文件
-c
# 汇编后停下来,生成后缀为 .s 的汇编源文件
-S
## PS:编译整体指令顺序可记为 ESC(键盘左上角的键)
## PS:编译整体后缀顺序可记为 ciso(思科的简称)
# 确定输出文件的名称为 output_filename
-o output_filename
# 强制使用静态链接库
-static
# 产生符号调试工具(GNU的 gdb)所必要的符号信息
-g
# 使用它能够使 gcc 产生尽可能多的警告信息
-Wall
# 链接时装载名为 libname.a 的函数库(如 -lm 表示链接名为 libm.a 的数学函数库)
-lm
CPU
CPU 对存储器的读写
若一段二进制信息 1000100111O11000
它在地址总线上就是 89D8H
它在控制总线上就是 MOV AX,BX
小结
存储器芯片
从读写属性上看分为两类:
- 随机存储器(RAM),如主存
- 只读存储器(ROM)
X86的内存地址空间
上图是 X86的内存地址空间,以后学习汇编也以 X86为案例去学习