第 2章 微处理器第 2章 微处理器
2·1 微处理器
2·2 8086/8088微处理器
2·3 8086指令系统和汇编语言
2·4 飞速发展 CPU
第 2章 微处理器本章学习目标
8086/8088CPU的组成,引脚功能和工作模式 。
时序基本概念 。
微处理器的发展历程,主流 CPU及其最新技术 。
返回本章首页第 2章 微处理器
2.1 微处理器概述
2.1.1 CPU的基本概念和组成
2.1.2 CPU主要技术参数
2.1.3 CPU主流技术术语浅析返回本章首页第 2章 微处理器
2.1.1 CPU的基本概念和组成微处理器( Micro Processing Unit),即微型化的中央处理器。中央处理器 CPU的英文全称是
Central Processing Unit。 早期微处理器以 MPU
表示,以区别于大型主机的多芯片 CPU。 但现在已经不加区分,都用 CPU表示。
返回本节第 2章 微处理器
2.1.2 CPU主要技术参数
1,位,字节和字长
2,CPU外频
3.前端总线( FSB) 频率 4,CPU主频
4,CPU主频
5,L1和 L2 Cache的容量和速率返回本节第 2章 微处理器
2.1.3 CPU主流技术术语浅析
1,流水线技术
2.超流水线和超标量技术
3.乱序执行技术
4.分支预测和推测执行技术
5.指令特殊扩展技术返回本节第 2章 微处理器
2.2 8086/8088微处理器
2.2.1 8086的编程结构
2.2.2 8086的工作模式和引脚功能
2.2.3 8086的系统组成
2.2.4 8086的总线时序返回本章首页第 2章 微处理器
2.2.1 8086的编程结构
1,总线接口部件 (BIU)
2,执行部件 EU
3.“流水线”结构
4.通用寄存器的用法
5.标志寄存器第 2章 微处理器图 2-1 8086的编程结构图第 2章 微处理器
1.总线接口部件 (BIU)
总线接口部件由下列各部分组成:
( 1) 4个段地址寄存器;
CS—— 16位的代码段寄存器;
DS—— 16位的数据段寄存器;
ES—— 16位的扩展段寄存器;
SS—— 16位的堆栈段寄存器;
( 2) 16位的指令指针寄存器 IP;
( 3) 20位的地址加法器;
( 4) 6字节的指令队列缓冲器 。
第 2章 微处理器执行部件的功能就是负责从指令队列取指令并执行 。 从编程结构图可见,执行部件由下列几个部分组成:
( 1) 4个通用寄存器,即 AX,BX,CX,DX;
( 2) 4个专用寄存器:
( 3) 标志寄存器 FR;
( 4) 算术逻辑单元 ALU。
2.执行部件 EU
第 2章 微处理器
3.“流水线”结构总线接口部件 BIU和执行部件 EU并不是同步工作的,两者的动作管理遵循如下原则:
每当 8086的指令队列中有 2个空字节,BIU就会自动把指令取到指令队列中 。 而同时 EU从指令队列取出一条指令,并用几个时钟周期去分析,
执行指令 。 当指令队列已满,而且 EU对 BIU又无总线访问请求时,BIU便进入空闲状态 。 在执行转移,调用和返回指令时,指令队列中的原有内容被自动清除 。
第 2章 微处理器表 2-1 寄存器的隐含用法
4.通用寄存器的用法第 2章 微处理器图 2-2 标志寄存器结构图标志寄存器( Flag Register) 共有 16位,其中 7位未用。标志寄存器内容如图 2-2所示:
( 1) 条件标志
( 2) 控制标志
5.标志寄存器返回本节第 2章 微处理器
2.2.2 8086的工作模式和引脚功能
1.最小工作模式
2.最大工作模式
3,8086CPU的引脚信号第 2章 微处理器
1.最小工作模式由图 2-3可知,在 8086的最小模式中,硬件连接上有如下几个特点:
( 1) MN/ 引脚接 +5V,决定了 8086工作在最小模式 。
( 2) 有一片 8234A,作为时钟发生器 。
( 3) 有三片 8282或 74LS373,用来作为地址锁存器 。
( 4) 当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,这时,可选用两片 8286或 74LS245作为总线收发器 。
MX
第 2章 微处理器图 2-3 8086CPU最小模式下的典型配置第 2章 微处理器
2.最大工作模式由图 2-4可知,
最大模式配置和最小模式配置有一个主要的差别,最大模式下多了
8288总线控制器。
图 2-4 8086CPU最大工作模式下的典型配置第 2章 微处理器第 2章 微处理器
3,8086CPU的引脚信号
8086CPU采用双列直插式的封装形式,具有 40条引脚,见图 2-
5。 它采用分时复用的地址 /数据总线,
所以有一部分引脚具有双重功能,即在不同时钟周期内,引脚的作用不同 。 图 2-5 8086的引脚信号(括号中为最大模式下的名称) 返回本节第 2章 微处理器
2.2.3 8086的系统组成
1,8086的存储体结构
2,8086存储器的分段结构
3,8086存储器的逻辑地址与物理
4,8086存储器 20位物理地址的形成第 2章 微处理器
1,8086的存储体结构表 2-3 BHE和 A0的意义第 2章 微处理器图 2-6 8086系统的存储结构第 2章 微处理器
2,8086存储器的分段结构
8086 CPU中有四个段寄存器,CS,DS,SS和 ES,
这四个段寄存器存放了
CPU当前可以寻址的四个段的基值,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据 。
一旦这四个段寄存器的内容被设定,就规定了 CPU
当前可寻址的段,如图 2-
7所示 。 图 2-7 当前可寻址的存储器段(堆栈段和附加段重叠)
第 2章 微处理器
3,8086存储器的逻辑地址与物理
8086 CPU中的每个存储元在存储体中的位置都可以使用实际地址和逻辑地址来表示 。
CPU访问存储器时,要形成 20位的物理地址,
即先找到某段,再找到该段内的偏移量 。 换句话说,CPU是以物理地址访问存储器的,如图
2-8所示 。 图 2-8 逻辑地址与物理地址的关系第 2章 微处理器
4,8086存储器 20位物理地址的形成在存储段划分时,段内地址是连续的,段与段之间是相互独立的 。 每个段的起始地址称段的基址,
段基址必须是能被 16整除的那些地址,即 20位的段基址的低四位应当是 0000。 由于段起始地址的低四位为 0,所以可用 20位地址的高 16位表示段的基址,存放在段基址寄存器中 。 段基址寄存器共四个,CS,DS,ES,SS。
返回本节第 2章 微处理器
2.2.4 8086的总线时序
1.读周期的时序
2.写周期的时序第 2章 微处理器
1.读周期的时序(图 2-9)
图 2-9 8086读总线周期第 2章 微处理器一个基本的读周期一般包含如下几个状态:
T1状态:
T2状态:
T3状态:
Tw状态:
T4状态:
第 2章 微处理器
2.写周期的时序(图 2-10)
图 2-10 8086写总线周期 返回本节第 2章 微处理器
2.3 8086指令系统和汇编语言
2.3.1 寻址方式
2.3.2 8086的指令系统
2.3.3 汇编语言程序设计返回本章首页第 2章 微处理器
2.3.1 寻址方式
1.操作数的寻址方式
2,转移地址的寻址方式第 2章 微处理器
1.操作数的寻址方式
( 1)立即寻址
( 2)寄存器寻址
( 3)直接寻址
( 4)寄存器间接寻址
( 5)寄存器相对寻址方式
( 6)基址变址寻址方式
( 7)相对基址变址寻址方式第 2章 微处理器
( 1)立即寻址例如,MOV AX,1234H ; 十六进制数 1234H送入 AX。
如图 2-11所示 。
AH AL
操作码
1 2
3 4
·
·
·
·
·
AX
第 2章 微处理器
( 2)寄存器寻址操作数存放在指令规定的寄存器中,对于 16位操作数,
寄存器可以是 AX,BX,CX,DX,SI,DL,SP或 BP;
而对 8位操作数,寄存器可以是 AH,AL,BH,BL,CH,
CL,DH或 DL。
例如,MOV AX,BX ; 将寄存器 BX的内容送入 AX中 。
如图 2-12所示 。
X X X X
AX BX
第 2章 微处理器
( 3)直接寻址例 如,MOV AL,
DS:[2000H] ; 将逻辑地址为 DS:2000单元内的字节送入 AL。
若段基址 DS=4000H,则段起始物理地址为 4000H
左移 4位,即 40000H,此指令将数据段中物理地址为 42000H 单元的内容 56H
传至 AL寄存器 。
如图 2-13所示 。
4 0 0 0 H
5 6 H
AX
D S
4 0 0 0 0 H
+
2 0 0 0 H
操作码操作码
0 0 H
2 0 H
5 6 H
·
·
·
·
·
4 2 0 0 0 H
第 2章 微处理器
( 4)寄存器间接寻址例如,MOV AX,[BX] ; BX内容为有效地址 EA( 偏移量 ) 。 若 DS=4000H,BX=100H,此指令将物理地址
40100H 单元的内容传至 AL寄存器 ( 段基地址同样为
40000H) 。
如图 2-14所示 。
4 0 0 0 H
3 4 H 2 5 HAX
D S
4 0 0 0 0 H
+
0 1 0 0 H
2 5 H
·
·
·
·
4 0 1 0 0 H
3 4 H
0 1 0 0 H B X
数据段代码段
·
第 2章 微处理器
( 5)寄存器相对寻址方式例 如,MOV AL,
[BX+5]; 若 DS=6000H,
BX=2000H,BX 的内 容加上 8位位移量 05H作为操作数的有效地址 。 传送数据段中的一个字节到 AL中 。 如果使用 BP,
则隐含地表示操作数存放在堆栈段中 。 如图 2-15
所示 。
6 0 0 0 H
9 A HAX
D S
操作码操作码
0 5 H
·
·
·
·
9 A H
2 0 0 0 H B X
数据段代码段
·
E A =2 0 0 0 H + 0 5 H = 2 0 0 5 H
6 2 0 0 5
6 0 0 0 0
第 2章 微处理器
( 6)基址变址寻址方式例如,MOV AX,
[BX+SI]; BX 的内容与 SI的内容之和作为操作数的有效地址 。 传送数据段中的一个字 。 如图 2-16
所示 。
5 0 0 0 H
A B H 7 8 HAX
D S
操作码操作码
·
7 8 H
·
·
·
·
A B H
2 0 0 0 H B X
数据段代码段
·
E A =2 0 0 0 H + 0 6 H = 2 0 0 6 H
5 2 0 0 6 H
5 0 0 0 0 H
E A
0 0 0 6 H SI
+
第 2章 微处理器
( 7)相对基址变址寻址方式例如,MOV AH,
[BX+DI+1234H] ;
BX的内容加上 DI的内容再加上位移量
1234H作为操作数的有效地址 。 如图
2-17所示 。
4 0 0 0 H
5 0 H ALAX
D S
3 4 H
1 2 H
·
5 0 H
·
·
·
·
0 2 0 0 H B X
数据段代码段
·
E A =0 2 0 0 H + 0 0 1 0 +
1 2 3 4 H = 1 4 4 4 H
4 1 4 4 4 H
4 0 0 0 0 H
E A
0 0 1 0 H DI
+
操作码操作码第 2章 微处理器
2.转移地址的寻址方式
( 1)段内直接寻址
( 2)段内间接方式
( 3)段间直接寻址
( 4)段间间接方式第 2章 微处理器
( 1)段内直接寻址段内直接寻址方式也称为相对寻址方式,转移的目标地址是当前 IP内容和一个 8位或 16位的位移量之和,这个位移量才是指令代码的一部分,所以叫相对寻址。如图 2-18所示位移量当前I P 值操作码指令
+
E A (有效转移地址)
第 2章 微处理器
( 2)段内间接方式这种方式也是在段内,其转移的目标地址是寄存器或存储单元的内容,即以寄存器或存储器单元内容来更新 IP
的内容,所以是绝对偏移量,注意和段内直接方式的相对偏移量的区别 。 若目标地址为存储单元内容,则该存储单元本身可由上述与存储器操作数有关的任何寻址方式寻址,只是它里面的内容为新的 IP值 。 如图 2-19所示 。
寻址方式指令 EA
EA
寄存器存储器或第 2章 微处理器
( 3)段间直接寻址这种方式用于段间转移,目标地址的段基值
( CS) 和偏移地址 ( IP) 都是指令码的组成部分,用来更新当前 CS和 IP。 如图 2-20所示 。
偏移量指令段值
C S
I P
第 2章 微处理器
( 4)段间间接方式这种方式同样用于段间转移,只不过当前 CS和 IP由存储器中连续的两个字更新,低位地址的字更新 IP,高位地址的字更新 CS,存放新 IP和 CS的存储单元地址由前述存储器操作数的寻址方式决定 。 见图 2-21所示 。
例如,JMP DWORD PTR [INTER+BX] ; 取 DS段中偏移为 [INTER+BX]处的双字作为新的 CS和 IP。
返回本节第 2章 微处理器
2.3.2 8086的指令系统
1,数据传送类
2,算术运算类
3,逻辑运算与移位指令
4,字符串处理
5,控制转移指令
6,处理器控制指令第 2章 微处理器
1.数据传送类
( 1) 通用数据传送指令这种指令共 5条,如表 2-4所示。
( 2) 输入 /输出指令
( 3) 目标地指传送指令这组指令包括三条指令,如表 2-5所示 。
( 4) 标志位传送指令第 2章 微处理器表 2-4 通用数据传送指令格式第 2章 微处理器表 2-5 目标地址传送指令格式第 2章 微处理器
2.算术运算类
( 1)加法指令
( 2)减法指令
( 3)乘法指令
( 4)除法指令第 2章 微处理器
3.逻辑运算与移位指令
( 1)逻辑运算指令
( 2)移位与循环移位指令表 2-6 逻辑运算指令格式第 2章 微处理器
4.字符串处理
8086/8088指令系统为文本处理提供了一组强有力的指令 ( 字符串处理指令 ),对一系列含有字母数字代码的字节 ( 也称字符串 ) 进行处理,例如传送,比较,查找,插入,删除等,字符串指令为这些处理提供了很大方便 。 字符串指令的寻址方式只用隐含寻址,源串固定使用 SI,目的串固定使用 DI。
第 2章 微处理器
5.控制转移指令
( 1) 转移指令,分为无条件转移指令和条件转移指令;
( 2) 循环指令;
( 3) 过程调用与返回指令;
( 4) 中断与返回指令 。
第 2章 微处理器
6.处理器控制指令主要包括标志处理指令 7条和其他处理器控制指令 5条 。 详细内容同样参见指令一览表 。
返回本节第 2章 微处理器
2.3.3 汇编语言程序设计
1,汇编语言指令
2.汇编语言基本语法
3.汇编语言程序结构
4,标准汇编语言程序框架第 2章 微处理器
1.汇编语言指令
8086汇编语言中,有多种伪指令,包括:
数据定义伪指令;
结构定义伪指令;
记录定义伪指令;
段定义伪指令;
程序终结伪指令;
过程定义伪指令;
访问外部标识符伪指令;
宏操作伪指令。
第 2章 微处理器
2.汇编语言基本语法
( 1) ASM-86的字符集
( 2)关键字
( 3)语句
( 4)表达式
( 5)指令性语句中的操作数第 2章 微处理器
3.汇编语言程序结构汇编语言源程序是由语句序列组成的,语句序列应包括:
数据 ( 程序要处理的对象 ) ;
处理数据的实体;
承上启下的记录 。
8086/8088 微处理器系统的存储结构是分段式访问结构,这种结构是程序运行的基础,因此,
8086/8088 汇编语言程序必须具备:
代码段(处理数据的对象)
数据段(定义加工处理对象)
堆栈段第 2章 微处理器
4.标准汇编语言程序框架通常,一个源程序都有大体相同的结构或框架,下面给出一个源程序的框架结构,该程序是在 PC-DOS环境下运行的 。;定义堆栈段
STACK_SEG SEGMENT PARA STACK 'STACK'
··· ;定义堆栈深度与堆栈段变量
STACK_SEG ENDS;定义数据段
DATA_SEG SEGMENT PARA PUBLIC 'DATA'
··· ;定义变量
DATA_SEG ENDS
第 2章 微处理器;定义代码段
CODE_SEG SEGMENT PARA PUBLIC 'CODE'
MAIN PROC FAR
ASSUME CS:CODE_SEG,DS:DATA_SEG
ASSUME SS:STACK_SEG
START,PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA_SEG
MOV DS,AX
第 2章 微处理器
··· ;主过程内容
RET
MAIN ENDP
PROC_A PROC NEAR
··· ;子过程 A内容,A为主过程调用
PROC_A ENDP
··· ;其他过程内容
CODE_SEG ENDS
END START
第 2章 微处理器图 2-22 DOS下内存的分配示意图返回本节第 2章 微处理器
2.4 飞速发展的 CPU
2.4.1 辉煌的历程
2.4.2 潮流和未来返回本章首页第 2章 微处理器
2.4.1 辉煌的历程
1,Pentium前时代
2,Pentium时代
3,Pentium后时代返回本节第 2章 微处理器
2.4.2 潮流和未来
1.奔腾 4的时代
2,走近 64位 CPU
第 2章 微处理器
1.奔腾 4的时代
2000年下半年,Intel推出了代号 Willamette的处理器,它是英特尔 IA-32 CPU家族中最新的成员,也是英特尔 P6
系列的终结者。这就是 Pentium IV( P4)。 P4 CPU基于新的 32位微结构,在许多方面超过了奔腾 Ⅱ /Ⅲ 等上两代的 IA-32 CPU。
NetBurst微架构是 Pentinum 4处理器的基石。这里解释一下处理器的架构与微架构:处理机的架构指的是指令集、
寄存器和程序员公用的内存驻留的数据结构,它们在处理器的发展进程中得到继承和增强。处理机的微架构指的是处理机架构在硅片上的实现。
第 2章 微处理器
NetBurst微架构特点细节:
超流水线技术:
执行追踪 Cache:
快速执行引擎 REE:
400MHz 系统总线:
先进的动态执行:
流式 SIMD扩充 2( SSE2):
第 2章 微处理器图 2-23 Pentium IV 处理器及搭配的 RDRAM内存条第 2章 微处理器
2.走近 64位 CPU
64位处理器针对的主要对象是目前对 32位系统感觉受限制的用户。一些用来设计汽车、卫星以及一些其他的非常复杂的产品的 MCAD软件(机械计算机辅助设计软件)将通过 64位系统得到不少的性能提升。另外,超大规模的数据库软件也由于 64位的大内存寻址区域而获得不少优势。可见其企业级应用是相当广泛的。
Intel的 64位结构叫做 IA-64。 目前,Intel同时推出了 Pentium 4以及 Intel第一个从 IA-32到 IA-64架构转换的产品 Itanium。
第 2章 微处理器图 2-24 Intel的 64位 CPU- Itanium
第 2章 微处理器
( 1) IA-64架构的特点
1) 更改现有工业标准体系,建立 IA-64架构后将采用并行运算方式的体系;
2) 单指令简化,即每条指令执行的功能减少,
但执行效率变高;
3) 由于运行指令并行化,并且采用了程序控制指令,使分支预测更加准确,提高运算的利用效率;
4) 增加程序运行时的并行运算预测能力,使内存中需要的数据更容易在 Cache中命中;
第 2章 微处理器
5) 增加内存的总容量,扩展到 2的 64次方,由原先的
4GB内存扩展到惊人的 180亿 GB容量,并支持 64位浮点数和 32位浮点数,高精度的数字计算,提供高达 82位的数据宽度 。
6) 利用 GR Stack来降低 save/restore需要的调用,减少寄存器使用数量,使用的是 Register Stacker Engine
( RSE),使用全新的寄存器,总共 128个 64位寄存器,
其中 32个是静态的,96个是动态的 。
7) 现有流水线采用的是顺序结构,一条运行结束后进行下一条,IA-64采用并行流水线结构,提高了工作效率 。
8) 高速运算功能,在平行运算时,提供了 2倍于运算频率的运算速度 。
第 2章 微处理器
( 1) IA-64架构的特点
1) 64位实地址模式;
2) 通过寄存器前缀 ( REX) 来达到寄存器扩展;
3) 增加 8个新的通用寄存器 ( GPRs),代号为 R8到 R15;
4) 扩展通用寄存器的宽度到 64位;
5) 增加 8个 128位的 SSE寄存器,标号为 XMM8到
XMM15;
6) 新的 RIP关联数据地址模式;
7) 单一字节寄存器地址 。
第 2章 微处理器表 2-7显示的就是 x86-64架构中的模式结构图,并标示了适用情况 。
返回本节第 2章 微处理器
THANK YOU VERY MUCH !
本章到此结束,
谢谢您的光临!
返回本章首页结束放映
2·1 微处理器
2·2 8086/8088微处理器
2·3 8086指令系统和汇编语言
2·4 飞速发展 CPU
第 2章 微处理器本章学习目标
8086/8088CPU的组成,引脚功能和工作模式 。
时序基本概念 。
微处理器的发展历程,主流 CPU及其最新技术 。
返回本章首页第 2章 微处理器
2.1 微处理器概述
2.1.1 CPU的基本概念和组成
2.1.2 CPU主要技术参数
2.1.3 CPU主流技术术语浅析返回本章首页第 2章 微处理器
2.1.1 CPU的基本概念和组成微处理器( Micro Processing Unit),即微型化的中央处理器。中央处理器 CPU的英文全称是
Central Processing Unit。 早期微处理器以 MPU
表示,以区别于大型主机的多芯片 CPU。 但现在已经不加区分,都用 CPU表示。
返回本节第 2章 微处理器
2.1.2 CPU主要技术参数
1,位,字节和字长
2,CPU外频
3.前端总线( FSB) 频率 4,CPU主频
4,CPU主频
5,L1和 L2 Cache的容量和速率返回本节第 2章 微处理器
2.1.3 CPU主流技术术语浅析
1,流水线技术
2.超流水线和超标量技术
3.乱序执行技术
4.分支预测和推测执行技术
5.指令特殊扩展技术返回本节第 2章 微处理器
2.2 8086/8088微处理器
2.2.1 8086的编程结构
2.2.2 8086的工作模式和引脚功能
2.2.3 8086的系统组成
2.2.4 8086的总线时序返回本章首页第 2章 微处理器
2.2.1 8086的编程结构
1,总线接口部件 (BIU)
2,执行部件 EU
3.“流水线”结构
4.通用寄存器的用法
5.标志寄存器第 2章 微处理器图 2-1 8086的编程结构图第 2章 微处理器
1.总线接口部件 (BIU)
总线接口部件由下列各部分组成:
( 1) 4个段地址寄存器;
CS—— 16位的代码段寄存器;
DS—— 16位的数据段寄存器;
ES—— 16位的扩展段寄存器;
SS—— 16位的堆栈段寄存器;
( 2) 16位的指令指针寄存器 IP;
( 3) 20位的地址加法器;
( 4) 6字节的指令队列缓冲器 。
第 2章 微处理器执行部件的功能就是负责从指令队列取指令并执行 。 从编程结构图可见,执行部件由下列几个部分组成:
( 1) 4个通用寄存器,即 AX,BX,CX,DX;
( 2) 4个专用寄存器:
( 3) 标志寄存器 FR;
( 4) 算术逻辑单元 ALU。
2.执行部件 EU
第 2章 微处理器
3.“流水线”结构总线接口部件 BIU和执行部件 EU并不是同步工作的,两者的动作管理遵循如下原则:
每当 8086的指令队列中有 2个空字节,BIU就会自动把指令取到指令队列中 。 而同时 EU从指令队列取出一条指令,并用几个时钟周期去分析,
执行指令 。 当指令队列已满,而且 EU对 BIU又无总线访问请求时,BIU便进入空闲状态 。 在执行转移,调用和返回指令时,指令队列中的原有内容被自动清除 。
第 2章 微处理器表 2-1 寄存器的隐含用法
4.通用寄存器的用法第 2章 微处理器图 2-2 标志寄存器结构图标志寄存器( Flag Register) 共有 16位,其中 7位未用。标志寄存器内容如图 2-2所示:
( 1) 条件标志
( 2) 控制标志
5.标志寄存器返回本节第 2章 微处理器
2.2.2 8086的工作模式和引脚功能
1.最小工作模式
2.最大工作模式
3,8086CPU的引脚信号第 2章 微处理器
1.最小工作模式由图 2-3可知,在 8086的最小模式中,硬件连接上有如下几个特点:
( 1) MN/ 引脚接 +5V,决定了 8086工作在最小模式 。
( 2) 有一片 8234A,作为时钟发生器 。
( 3) 有三片 8282或 74LS373,用来作为地址锁存器 。
( 4) 当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,这时,可选用两片 8286或 74LS245作为总线收发器 。
MX
第 2章 微处理器图 2-3 8086CPU最小模式下的典型配置第 2章 微处理器
2.最大工作模式由图 2-4可知,
最大模式配置和最小模式配置有一个主要的差别,最大模式下多了
8288总线控制器。
图 2-4 8086CPU最大工作模式下的典型配置第 2章 微处理器第 2章 微处理器
3,8086CPU的引脚信号
8086CPU采用双列直插式的封装形式,具有 40条引脚,见图 2-
5。 它采用分时复用的地址 /数据总线,
所以有一部分引脚具有双重功能,即在不同时钟周期内,引脚的作用不同 。 图 2-5 8086的引脚信号(括号中为最大模式下的名称) 返回本节第 2章 微处理器
2.2.3 8086的系统组成
1,8086的存储体结构
2,8086存储器的分段结构
3,8086存储器的逻辑地址与物理
4,8086存储器 20位物理地址的形成第 2章 微处理器
1,8086的存储体结构表 2-3 BHE和 A0的意义第 2章 微处理器图 2-6 8086系统的存储结构第 2章 微处理器
2,8086存储器的分段结构
8086 CPU中有四个段寄存器,CS,DS,SS和 ES,
这四个段寄存器存放了
CPU当前可以寻址的四个段的基值,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据 。
一旦这四个段寄存器的内容被设定,就规定了 CPU
当前可寻址的段,如图 2-
7所示 。 图 2-7 当前可寻址的存储器段(堆栈段和附加段重叠)
第 2章 微处理器
3,8086存储器的逻辑地址与物理
8086 CPU中的每个存储元在存储体中的位置都可以使用实际地址和逻辑地址来表示 。
CPU访问存储器时,要形成 20位的物理地址,
即先找到某段,再找到该段内的偏移量 。 换句话说,CPU是以物理地址访问存储器的,如图
2-8所示 。 图 2-8 逻辑地址与物理地址的关系第 2章 微处理器
4,8086存储器 20位物理地址的形成在存储段划分时,段内地址是连续的,段与段之间是相互独立的 。 每个段的起始地址称段的基址,
段基址必须是能被 16整除的那些地址,即 20位的段基址的低四位应当是 0000。 由于段起始地址的低四位为 0,所以可用 20位地址的高 16位表示段的基址,存放在段基址寄存器中 。 段基址寄存器共四个,CS,DS,ES,SS。
返回本节第 2章 微处理器
2.2.4 8086的总线时序
1.读周期的时序
2.写周期的时序第 2章 微处理器
1.读周期的时序(图 2-9)
图 2-9 8086读总线周期第 2章 微处理器一个基本的读周期一般包含如下几个状态:
T1状态:
T2状态:
T3状态:
Tw状态:
T4状态:
第 2章 微处理器
2.写周期的时序(图 2-10)
图 2-10 8086写总线周期 返回本节第 2章 微处理器
2.3 8086指令系统和汇编语言
2.3.1 寻址方式
2.3.2 8086的指令系统
2.3.3 汇编语言程序设计返回本章首页第 2章 微处理器
2.3.1 寻址方式
1.操作数的寻址方式
2,转移地址的寻址方式第 2章 微处理器
1.操作数的寻址方式
( 1)立即寻址
( 2)寄存器寻址
( 3)直接寻址
( 4)寄存器间接寻址
( 5)寄存器相对寻址方式
( 6)基址变址寻址方式
( 7)相对基址变址寻址方式第 2章 微处理器
( 1)立即寻址例如,MOV AX,1234H ; 十六进制数 1234H送入 AX。
如图 2-11所示 。
AH AL
操作码
1 2
3 4
·
·
·
·
·
AX
第 2章 微处理器
( 2)寄存器寻址操作数存放在指令规定的寄存器中,对于 16位操作数,
寄存器可以是 AX,BX,CX,DX,SI,DL,SP或 BP;
而对 8位操作数,寄存器可以是 AH,AL,BH,BL,CH,
CL,DH或 DL。
例如,MOV AX,BX ; 将寄存器 BX的内容送入 AX中 。
如图 2-12所示 。
X X X X
AX BX
第 2章 微处理器
( 3)直接寻址例 如,MOV AL,
DS:[2000H] ; 将逻辑地址为 DS:2000单元内的字节送入 AL。
若段基址 DS=4000H,则段起始物理地址为 4000H
左移 4位,即 40000H,此指令将数据段中物理地址为 42000H 单元的内容 56H
传至 AL寄存器 。
如图 2-13所示 。
4 0 0 0 H
5 6 H
AX
D S
4 0 0 0 0 H
+
2 0 0 0 H
操作码操作码
0 0 H
2 0 H
5 6 H
·
·
·
·
·
4 2 0 0 0 H
第 2章 微处理器
( 4)寄存器间接寻址例如,MOV AX,[BX] ; BX内容为有效地址 EA( 偏移量 ) 。 若 DS=4000H,BX=100H,此指令将物理地址
40100H 单元的内容传至 AL寄存器 ( 段基地址同样为
40000H) 。
如图 2-14所示 。
4 0 0 0 H
3 4 H 2 5 HAX
D S
4 0 0 0 0 H
+
0 1 0 0 H
2 5 H
·
·
·
·
4 0 1 0 0 H
3 4 H
0 1 0 0 H B X
数据段代码段
·
第 2章 微处理器
( 5)寄存器相对寻址方式例 如,MOV AL,
[BX+5]; 若 DS=6000H,
BX=2000H,BX 的内 容加上 8位位移量 05H作为操作数的有效地址 。 传送数据段中的一个字节到 AL中 。 如果使用 BP,
则隐含地表示操作数存放在堆栈段中 。 如图 2-15
所示 。
6 0 0 0 H
9 A HAX
D S
操作码操作码
0 5 H
·
·
·
·
9 A H
2 0 0 0 H B X
数据段代码段
·
E A =2 0 0 0 H + 0 5 H = 2 0 0 5 H
6 2 0 0 5
6 0 0 0 0
第 2章 微处理器
( 6)基址变址寻址方式例如,MOV AX,
[BX+SI]; BX 的内容与 SI的内容之和作为操作数的有效地址 。 传送数据段中的一个字 。 如图 2-16
所示 。
5 0 0 0 H
A B H 7 8 HAX
D S
操作码操作码
·
7 8 H
·
·
·
·
A B H
2 0 0 0 H B X
数据段代码段
·
E A =2 0 0 0 H + 0 6 H = 2 0 0 6 H
5 2 0 0 6 H
5 0 0 0 0 H
E A
0 0 0 6 H SI
+
第 2章 微处理器
( 7)相对基址变址寻址方式例如,MOV AH,
[BX+DI+1234H] ;
BX的内容加上 DI的内容再加上位移量
1234H作为操作数的有效地址 。 如图
2-17所示 。
4 0 0 0 H
5 0 H ALAX
D S
3 4 H
1 2 H
·
5 0 H
·
·
·
·
0 2 0 0 H B X
数据段代码段
·
E A =0 2 0 0 H + 0 0 1 0 +
1 2 3 4 H = 1 4 4 4 H
4 1 4 4 4 H
4 0 0 0 0 H
E A
0 0 1 0 H DI
+
操作码操作码第 2章 微处理器
2.转移地址的寻址方式
( 1)段内直接寻址
( 2)段内间接方式
( 3)段间直接寻址
( 4)段间间接方式第 2章 微处理器
( 1)段内直接寻址段内直接寻址方式也称为相对寻址方式,转移的目标地址是当前 IP内容和一个 8位或 16位的位移量之和,这个位移量才是指令代码的一部分,所以叫相对寻址。如图 2-18所示位移量当前I P 值操作码指令
+
E A (有效转移地址)
第 2章 微处理器
( 2)段内间接方式这种方式也是在段内,其转移的目标地址是寄存器或存储单元的内容,即以寄存器或存储器单元内容来更新 IP
的内容,所以是绝对偏移量,注意和段内直接方式的相对偏移量的区别 。 若目标地址为存储单元内容,则该存储单元本身可由上述与存储器操作数有关的任何寻址方式寻址,只是它里面的内容为新的 IP值 。 如图 2-19所示 。
寻址方式指令 EA
EA
寄存器存储器或第 2章 微处理器
( 3)段间直接寻址这种方式用于段间转移,目标地址的段基值
( CS) 和偏移地址 ( IP) 都是指令码的组成部分,用来更新当前 CS和 IP。 如图 2-20所示 。
偏移量指令段值
C S
I P
第 2章 微处理器
( 4)段间间接方式这种方式同样用于段间转移,只不过当前 CS和 IP由存储器中连续的两个字更新,低位地址的字更新 IP,高位地址的字更新 CS,存放新 IP和 CS的存储单元地址由前述存储器操作数的寻址方式决定 。 见图 2-21所示 。
例如,JMP DWORD PTR [INTER+BX] ; 取 DS段中偏移为 [INTER+BX]处的双字作为新的 CS和 IP。
返回本节第 2章 微处理器
2.3.2 8086的指令系统
1,数据传送类
2,算术运算类
3,逻辑运算与移位指令
4,字符串处理
5,控制转移指令
6,处理器控制指令第 2章 微处理器
1.数据传送类
( 1) 通用数据传送指令这种指令共 5条,如表 2-4所示。
( 2) 输入 /输出指令
( 3) 目标地指传送指令这组指令包括三条指令,如表 2-5所示 。
( 4) 标志位传送指令第 2章 微处理器表 2-4 通用数据传送指令格式第 2章 微处理器表 2-5 目标地址传送指令格式第 2章 微处理器
2.算术运算类
( 1)加法指令
( 2)减法指令
( 3)乘法指令
( 4)除法指令第 2章 微处理器
3.逻辑运算与移位指令
( 1)逻辑运算指令
( 2)移位与循环移位指令表 2-6 逻辑运算指令格式第 2章 微处理器
4.字符串处理
8086/8088指令系统为文本处理提供了一组强有力的指令 ( 字符串处理指令 ),对一系列含有字母数字代码的字节 ( 也称字符串 ) 进行处理,例如传送,比较,查找,插入,删除等,字符串指令为这些处理提供了很大方便 。 字符串指令的寻址方式只用隐含寻址,源串固定使用 SI,目的串固定使用 DI。
第 2章 微处理器
5.控制转移指令
( 1) 转移指令,分为无条件转移指令和条件转移指令;
( 2) 循环指令;
( 3) 过程调用与返回指令;
( 4) 中断与返回指令 。
第 2章 微处理器
6.处理器控制指令主要包括标志处理指令 7条和其他处理器控制指令 5条 。 详细内容同样参见指令一览表 。
返回本节第 2章 微处理器
2.3.3 汇编语言程序设计
1,汇编语言指令
2.汇编语言基本语法
3.汇编语言程序结构
4,标准汇编语言程序框架第 2章 微处理器
1.汇编语言指令
8086汇编语言中,有多种伪指令,包括:
数据定义伪指令;
结构定义伪指令;
记录定义伪指令;
段定义伪指令;
程序终结伪指令;
过程定义伪指令;
访问外部标识符伪指令;
宏操作伪指令。
第 2章 微处理器
2.汇编语言基本语法
( 1) ASM-86的字符集
( 2)关键字
( 3)语句
( 4)表达式
( 5)指令性语句中的操作数第 2章 微处理器
3.汇编语言程序结构汇编语言源程序是由语句序列组成的,语句序列应包括:
数据 ( 程序要处理的对象 ) ;
处理数据的实体;
承上启下的记录 。
8086/8088 微处理器系统的存储结构是分段式访问结构,这种结构是程序运行的基础,因此,
8086/8088 汇编语言程序必须具备:
代码段(处理数据的对象)
数据段(定义加工处理对象)
堆栈段第 2章 微处理器
4.标准汇编语言程序框架通常,一个源程序都有大体相同的结构或框架,下面给出一个源程序的框架结构,该程序是在 PC-DOS环境下运行的 。;定义堆栈段
STACK_SEG SEGMENT PARA STACK 'STACK'
··· ;定义堆栈深度与堆栈段变量
STACK_SEG ENDS;定义数据段
DATA_SEG SEGMENT PARA PUBLIC 'DATA'
··· ;定义变量
DATA_SEG ENDS
第 2章 微处理器;定义代码段
CODE_SEG SEGMENT PARA PUBLIC 'CODE'
MAIN PROC FAR
ASSUME CS:CODE_SEG,DS:DATA_SEG
ASSUME SS:STACK_SEG
START,PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA_SEG
MOV DS,AX
第 2章 微处理器
··· ;主过程内容
RET
MAIN ENDP
PROC_A PROC NEAR
··· ;子过程 A内容,A为主过程调用
PROC_A ENDP
··· ;其他过程内容
CODE_SEG ENDS
END START
第 2章 微处理器图 2-22 DOS下内存的分配示意图返回本节第 2章 微处理器
2.4 飞速发展的 CPU
2.4.1 辉煌的历程
2.4.2 潮流和未来返回本章首页第 2章 微处理器
2.4.1 辉煌的历程
1,Pentium前时代
2,Pentium时代
3,Pentium后时代返回本节第 2章 微处理器
2.4.2 潮流和未来
1.奔腾 4的时代
2,走近 64位 CPU
第 2章 微处理器
1.奔腾 4的时代
2000年下半年,Intel推出了代号 Willamette的处理器,它是英特尔 IA-32 CPU家族中最新的成员,也是英特尔 P6
系列的终结者。这就是 Pentium IV( P4)。 P4 CPU基于新的 32位微结构,在许多方面超过了奔腾 Ⅱ /Ⅲ 等上两代的 IA-32 CPU。
NetBurst微架构是 Pentinum 4处理器的基石。这里解释一下处理器的架构与微架构:处理机的架构指的是指令集、
寄存器和程序员公用的内存驻留的数据结构,它们在处理器的发展进程中得到继承和增强。处理机的微架构指的是处理机架构在硅片上的实现。
第 2章 微处理器
NetBurst微架构特点细节:
超流水线技术:
执行追踪 Cache:
快速执行引擎 REE:
400MHz 系统总线:
先进的动态执行:
流式 SIMD扩充 2( SSE2):
第 2章 微处理器图 2-23 Pentium IV 处理器及搭配的 RDRAM内存条第 2章 微处理器
2.走近 64位 CPU
64位处理器针对的主要对象是目前对 32位系统感觉受限制的用户。一些用来设计汽车、卫星以及一些其他的非常复杂的产品的 MCAD软件(机械计算机辅助设计软件)将通过 64位系统得到不少的性能提升。另外,超大规模的数据库软件也由于 64位的大内存寻址区域而获得不少优势。可见其企业级应用是相当广泛的。
Intel的 64位结构叫做 IA-64。 目前,Intel同时推出了 Pentium 4以及 Intel第一个从 IA-32到 IA-64架构转换的产品 Itanium。
第 2章 微处理器图 2-24 Intel的 64位 CPU- Itanium
第 2章 微处理器
( 1) IA-64架构的特点
1) 更改现有工业标准体系,建立 IA-64架构后将采用并行运算方式的体系;
2) 单指令简化,即每条指令执行的功能减少,
但执行效率变高;
3) 由于运行指令并行化,并且采用了程序控制指令,使分支预测更加准确,提高运算的利用效率;
4) 增加程序运行时的并行运算预测能力,使内存中需要的数据更容易在 Cache中命中;
第 2章 微处理器
5) 增加内存的总容量,扩展到 2的 64次方,由原先的
4GB内存扩展到惊人的 180亿 GB容量,并支持 64位浮点数和 32位浮点数,高精度的数字计算,提供高达 82位的数据宽度 。
6) 利用 GR Stack来降低 save/restore需要的调用,减少寄存器使用数量,使用的是 Register Stacker Engine
( RSE),使用全新的寄存器,总共 128个 64位寄存器,
其中 32个是静态的,96个是动态的 。
7) 现有流水线采用的是顺序结构,一条运行结束后进行下一条,IA-64采用并行流水线结构,提高了工作效率 。
8) 高速运算功能,在平行运算时,提供了 2倍于运算频率的运算速度 。
第 2章 微处理器
( 1) IA-64架构的特点
1) 64位实地址模式;
2) 通过寄存器前缀 ( REX) 来达到寄存器扩展;
3) 增加 8个新的通用寄存器 ( GPRs),代号为 R8到 R15;
4) 扩展通用寄存器的宽度到 64位;
5) 增加 8个 128位的 SSE寄存器,标号为 XMM8到
XMM15;
6) 新的 RIP关联数据地址模式;
7) 单一字节寄存器地址 。
第 2章 微处理器表 2-7显示的就是 x86-64架构中的模式结构图,并标示了适用情况 。
返回本节第 2章 微处理器
THANK YOU VERY MUCH !
本章到此结束,
谢谢您的光临!
返回本章首页结束放映