程序只能访问程序内部的内存,访问之外的要出错。C语言是直接可以访问内存的。
为什么32位系统只有4G内存?
答:
32位系统里内存地址长度是32位的.
所以32位的地址范围就是从 0000 0000 0000 0000 0000 0000 0000 0000 到
1111 1111 1111 1111 1111 1111 1111 1111 (Ox00000000 ~ OxFFFFFFFF)
2^32 =4*1024(Mb)*1024(Kb)*1024(byte)=4G*8bit
1024=2^10
用户模式
应用程序都是运行在用户区域
内核区域
操作系统的内核,设备驱动程序,这些都是在内核模式下运行的
64位、32位操作系统的区别:
RISC与CISC CPU构架:
cpu的构架不一样的情况下,同样的一段代码,执行起来的结果可能是不一样的。处理寄存器、内存是不一样的。
RISC精简指令集
/ 精简指令集(精简指令cpu)(arm、手机、嵌入式、大型服务器unix、联发科)
CISC复杂指令集
/复杂指令集(复杂指令cpu)(x86构架的cpu都是复杂指令的、AMD、Intel、linux基于x86的操作系统)
精简指令集:把最常用的指令放进cpu当中,不常用的需要软件来提供实现功能。
复杂指令集cpu(pc机):同样单位的cpu晶体管,结构复杂、功率大、结构复杂、散热量大。
同样主频的cpu,精简指令的cpu速度快些,指令少,同一时间(时钟周期)做的事情就会多。相反,复杂指令的cpu稍微慢些,由于指令的复杂度,同一时钟周期内,做的事情就少。
20%的指令为常用指令,在一个程序执行的时候回条用比例达到80%(占程序指令)
但是80%的指令在一个程序执行的时候回条用比例达到20%
SPARC,X86与ARM:
sun公司有自己的cpu,是基于SPARC,其实就是一款RISC的cpu
汇编语言
I1386汇编简介
反汇编