8086--8088微型计算机系统 体系结构和软硬件设计思维导图
- 格式:xmin
- 大小:6.02 KB
- 文档页数:1
《微机原理与接口技术》第2 章80x86微处理器及其体系结构教案作者:李芷2003.5.10第2章80x86微处理器及其体系结构2.1 8086/8088微处理器2.280x86高档微处理器2.380x86中断系统2.1 8086/8088微处理器2.1.18086/8088微处理器结构8086/8088微机系统结构2.1.28086/8088最小模式系统组成2.1.38086/8088最大模式系统组成2.1.1 8086/8088微处理器1.8086/8088的编程结构8086/8088由两个独立的工作部件:执行部件EU (Execution Unit)和总线接口部件BIU(Bus Interface Unit)构成。
(编程结构示意图)EU=ALU+执行CU+R阵列负责指令的译码和执行BIU=指令队列+地址∑+R阵列+总线CU 负责与存储器或者I/O接口传送信息BIU和EU采用“流水线式”的非同步工作模式,使得总线控制逻辑和指令执行逻辑之间既互相独立又互相配合。
8086/8088编程结构示意图状态标志寄存器ALU暂存寄存器16执行部件(EU )EU 控制器ALU 数据总线8AH AL BH BL CH CL DH DL SP BP DI SI AX BX CX DX 外部总线总线接口部件(BIU )16总线控制逻辑指令队列地址加法器20CS DS ES SS IP 内部通信寄存器2.1.1 8086/8088微处理器2.8086/8088的总线周期◆8086/8088通过BIU 完成的一次总线操作,称作一个总线周期。
一个总线周期由若干个时钟周期(T )组成。
◆8086/8088的基本总线周期是由T 1,T 2,T 3,T 4表示的4个时钟周期组成。
总线读/写操作的基本总线周期时序是:在T 1状态,输出读/写对象的地址,在T 2~T 3状态,数据总线传送数据,在T 4状态,表示读/写结束。
◆T W 状态:当不能用基本总线周期完成读/写操作时,系统中的“Ready”电路会产生READY 信号。
8086微处理器指令系统数据传送数据传送指令可完成寄存器与寄存器之间、寄存器与存储器之间以及寄存器与I/O 端口之间的字节或字传送,它们共同的特点是不影响标志寄存器的内容通用数据传送指令MOV 传送指令格式: MOV 目标,源指令功能:将源操作数(一个字节或一个字)传送到目标操作数。
源操作数可以是8/16位通用寄存器、段寄存器、存储器中的某个字节/字或者是8/16 位的立即数。
堆栈操作指令后进先出的规则存取信息堆栈指针信息存入堆栈时,堆栈指针将自动减量,并将信息存入堆栈指针所指出的存储单元当需要从堆栈中取出信息时,也将从堆栈指针所指出的存储单元读出信息,并自动将堆栈指针增量堆栈指针始终指向堆栈中最后存入信息的那个单元栈顶不断移动、动端堆栈区的另一端则是固定不变的栈底PUSH 入栈指令格式: PUSH 源指令功能:将源操作数压入堆栈。
源操作数可以是16 位通用寄存器、段寄存器或者是存储器中的数据字。
P38 例 2.12POP 出栈指令格式: POP 目标指令功能:将堆栈中当前栈顶和次栈顶中的数据字弹出送到目标操作数。
目标操作数可以是16 位通用寄存器、段寄存器或者是存储单元。
P39 例 2.13XCHG 交换指令1格式: XCHG 目标,源指令功能:将源操作数与目标操作数(一个字节或一个字)相互交换位置。
源操作数可以是通用寄存器或存储单元。
目标操作数只允许是通用寄存器。
P39 例 2. 14XLAT 换码指令2目标地址传送指令这是一类专用于传送地址码的指令,可用来传送操作数的段地址或偏移地址LEA 有效地址送寄存器指令格式: LEA 目标,源指令功能:将源操作数的有效地址EA 传送到目标操作数。
源操作数必须是存储器操作数。
目标操作数必须是16位通用寄存器。
LDS 指针送寄存器和DS指令格式: LDS 目标,源指令功能:从源操作数所指定的存储单元中取出某变扯的地址指针(共4 个字节),将其前两个字节(即变量的偏移地址)传送到目标操作数,后两个字节(即变量的段地址)传送到DS 段寄存器中。
第2章8088/8086系统硬件结构2.18088CPU的功能结构2.2 8088与8086微处理器的差别2.1 8088CPU的功能结构2.1.18088CPU的内部寄存器8088CPU内部共有14个16位的寄存器,其中包括4个16位的数据寄存器AX、BX、CX、DX;2个16位的指针寄存器SP、BP;2个16位的变址寄存器SI、DI;2个16位的控制寄存器IP、F及4个16位的段寄存器CS、DS、ES、SS,如图2.1所示。
1.通用寄存器组通用寄存器组包括4个数据寄存器AX、BX、CX、DX;2个指针寄存器SP、BP及2个变址寄存器SI、DI。
4个数据寄存器用来存放16位数据,也可以将每个数据寄存器分为2个8位的寄存器,用于存放8位数据。
此时,AX可分为AH及AL;BX可分为BH及BL;CX分为CH及CL;DX分为DH及DL,它们可作为8位寄存器单独使用。
这样既可以进行16位的算术运算和逻辑运算,也可以进行8位的算术运算和逻辑运算,这是8088指令系统的一个特点。
两个指针寄存器中的SP是堆栈指针寄存器,它和堆栈段寄存器一起就可以确定堆栈在内存中的位置。
BP是基数指针寄存器,通常用来存放基地址,使得8088的寻址更加灵活。
两个变址寄存器:SI是源变址寄存器,DI是目的变址寄存器,均用于指令的变址寻址。
SI通常指向源操作数,而DI通常指向目的操作数。
不仅4个数据寄存器可以任意参加算术运算和逻辑运算,而且BP,SP,SI,DI也可以任意参加算术运算和逻辑运算,因而称以上寄存器为通用寄存器。
为了充分地利用这些通用寄存器,在某些指令中又对其中的寄存器作了特殊的约定,使这些寄存器在通用的基础上附加了一点特殊性。
这些特殊的约定虽然增加了掌握指令的难度,但是当学完指令系统后会发现,这点难度是不大的,是容易克服的。
例如,虽然通用寄存器都可作为累加器使用,但在某些算术运算中(如乘法运算、除法运算、十进制调整等),还是指定了以AX作为累加器,这就使AX与其它的通用寄存器有所区别,因而在8088中,把AX称为累加器。