汇编语言第二章IA-32平台 笔记

来源:互联网 发布:淘宝交易怎么做 编辑:程序博客网 时间:2024/05/17 21:47

了解可以使用什么元素来获得可能的最高执行速度。

奔腾处理器设计的硬件和指令码集合常被称为IA-32平台。

处理器包含控制计算机操作的硬件和指令码,使用3个单独的总线:控制总线,地址总线和数据总线,连接到系统内存和输入输出设备。

控制总线 用来 保持处理器和各个系统元素之间功能的同步;

数据总线 在处理器和外部系统元素之间传送数据;(比如 从内存位置读取数据:处理器读取内存地址放到地址总线,然后内存存储单元做出反应,把这个内存为孩子存储的值放到数据总线以便处理器进行访问。)


汇编语言可以访问和控制处理器各个组件。

其主要有:

1.控制单元(处理器的中心。控制处理器何时做神马动作)

基本功能

1)(指令计数器)从内存获取指令

2)(指令解码器)对指令进行解码以便进行操作;

3)从内存获得所需数据

4)如需要就存储结果;

2.执行单元(从控制单元提交):功能:执行指令。由一个或多个运算逻辑单元(ALU)构成(简单整数,复杂整数,浮点操作)

特性:

1)指令欲取和解码:(用【两级或者更多级】pipeline在处理器芯片中创建内存缓存,在处理指令和数据元素之前,进行缓存。)这样加快了程序逻辑的执行速度

2)分支预测(branch prediction):使用专门的算法试图预测接下来程序分支中需要哪些指令码【使用3种方法:1.深度分支预测,2.动态数据流分析,3.推理性执行】

3)乱序执行引擎:最多可有126条指令。【有3部分:1.分配器,2.寄存器命名(寄存器映射),3.微操作调度器】

退役,

3.寄存器

处理器采取的最慢操作是试图阅读内存中的数据或把数据存到内存中。而寄存器能存储要处理的数据元素而无需访问内存单元,但寄存器数量是有限的。

1)通用register:8个32位,临时性地存储正在处理(任何类型)数据;EAX累加器,EBX指向数据内存段中数据的指针,ECX字符串和循环操作中的计数器,EDX I/O指针,

EDI 字符串操作的目标的数据指针,ESI 字符串操作的源数据指针,ESP 堆栈指针,EBP 堆栈数据指针

2)段寄存器:引用内存位置。

flat内存模式:把全部系统内存表示为连续的地址空间。所有的指令、数据和堆栈都包含在相同的地址空间。称为线性地址。

段寄存器【16位】用于包含特定数据访问的段地址,指向内存特定段的起始位置的指针。

CS:代码段,

DS:数据段,内存中存储指令码的位置

SS:堆栈段,

ES,FS,GS:附加段指针;


4.标志

原创粉丝点击