今天读了下intel CPU的developer's manual的CPU结构部分. 整个个手册共四大部分,分别介绍了指intelCPU结构、指令用法、系统编程和优化代码等。intel的官方网站上有下载:http://developer.intel.com/products/processor/manuals/index.htm。这是一个非常不错的学习资源,对于想知道怎么优化代码的C/C++程序员来说更是必备了:)
总结了一下intel CPU的发展历史,手册上做了简单介绍,这里给出我的小结:
1.16位处理器,8086/8088---1978
16位数据总线,20位地址总线,寻址范围1M。
2.80286---1982
引入保护模式,用段寄存器保存描述表的指针。
虚拟内存管理机制:
段限制检查
只读和只执行的段选项
四个优先级
3.80386----1985
intel家族中第一个32位处理器
32位的地址总线支持高达4GB的物理地址空间
提供分段内存模式和平坦内存模式
分页,一固定4KB大小的页面来管理虚拟内存
支持并行流水线(parallel stages).
4.80486---1989
在80386的基础上增加到5级流水线(five pipelined stages)来增强并行处理 能力
内置一个8KB的一级高速缓存
一个集成的X87 FPU
节能和系统管理能力
5.奔腾---1993
增加一条指令流水线,两条流水线叫做u,v,一个时钟周期能执行两条指令
一级高速缓冲加倍。8KB当做指令缓存,另外8KB用作数据高速缓冲。
增加了分支预测技术来增强循环结构的性能
6.接下来的intel CPU:
增加了MMX指令。MMX技术运用一个单指令多数据(SIMD)的执行单元来增强并行计算能力
PS:手册上没说后来CPU上采用的更先进指令系统如SSE,SSE2等等,可能那些都是旁支,以上这些这才是枝干吧,个人见解:)