第二章 8086
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章8086/8088微处理器及其系统结构
内容提要:
1.8086微处理器结构:
CPU内部结构:总线接口部件BIU,执行部件EU;
CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;
CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。
2.8086微机系统存储器结构:
存储器地址空间与数据存储格式;
存储器组成;
存储器分段。
3.8086微机系统I/O结构
4.8086最小/最大模式系统总线的形成
5.8086CPU时序
6.最小模式系统中8086CPU的读/写总线周期
7.微处理器的发展
学习目标
1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;
2.理解存储器读/写时序;
3.了解微处理器的发展。
难点:
1.引脚功能,最小/最大模式系统形成;
2.存储器读/写时序。
学时:8
问题:为什么选择8088/8086?
•简单、容易理解掌握
•与目前流行的P3、P4向下兼容,形成x86体系
•16位CPU目前仍在大量应用
思考题
1、比较8086CPU与8086CPU的异同之处。
2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?
3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU?
起什么作用?
4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情
况下置位?
5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用?
6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物
理地址是多少?
思考题
1.从时序的观点分析8088完成一次存储器读操作的过程?
2.什么是8088的最大、最小模式?
3.在最小模式中,8088如何产生其三总线?
4.在最大模式中,为什么要使用总线控制器?
思考题
1.试述最小模式下读/写总线周期的主要区别。
2.CPU响应中断时,为什么要执行两个连续的中断响应周期?
3.当8086微处理器响应总线请求发出HLDA信号后,有哪些引脚信号处于高
阻?
4.8086/8088微处理器响应总线请求发出HLDA信号后,执行部件EU会立即
停止操作吗?为什么?
5.在8086系统中,地址/数据复用信号是如何区分的?
6.总线周期的含义是什么? 8086/8088的基本总线周期由几个时钟组成?如
果一个CPU的时钟频率为4.77MHz,那么它的一个时钟周期为多少?一个基本总线周期为多少?若主频为l5MHz呢?
7.在最小模式总线写周期的T1、T2、T3、T4状态,8086CPU分别执行什么动
作?
思考题
1.在8086系统的最大模式下为什么一定要用总线控制器?试述总线控制器
8288的主要功能,并说明它有哪些输入和输出信号?试述8086系统中时钟发生器8284A的主要作用以及可提供的几种时钟信号。
作业:
一、问答题:
1、8088微处理器的逻辑地址是由哪几部分组成的?怎样将逻辑地址转换为物理地址?
2、如何设置用户堆栈,在压栈和退栈操作时,堆栈指针SP的内容如何变化?
3、如果一个程序在执行前(CS)=0A7F0H,(IP)=2B40H,该程序的起始地址是多少?
4、如果一个堆栈是从地址1250:0100开始,(SP)=0052H,试回答以下问题:
(1)SS段的段地址是多少?
(2)栈顶的物理地址是多少?
(3)栈底的物理地址是多少?
存入字数据后,SP的内容是什么?
5、有两个16位字1234H和5678H分别存放在02000H为首地址的存储单元中,试用图表示存储数据的情况。
二、填空题
1、8088CPU内部结构按功能分为两部分,即和。
一、8086/8088CPU的结构
1. 8086/8088 CPU的内部结构
1)指令执行部件
指令执行部件EU主要由算术逻辑运算单元ALU、标志寄存器FR、通用寄存器组和EU 控制器等四个部件组成。其主要功能是执行命令。一般情况下指令顺序执行,EU可不断地从BIU指令队列缓冲器中取得执行的指令,连续执行指令,而省去了访问存储器取指令所需的时间。如果指令执行过程中需要访问存储器存取数据时,只需将要访问的地址送给BIU,等待操作数到来后再继续执行。遇到转移类指令时则将指令队列中的后续指令作废,等待BIU重新从存储器中取出新的指令代码进入指令队列缓冲器后,EU才能继续执行指令。这种情况下,EU和BIU的并行操作回受到一定的影响,但只要转移类指令出现的频率不是很
高,两者的并行操作仍然能取得较好的效果。
EU中的算术逻辑运算部件ALU可完成16位或8位二进制数的运算,运算结果一方面通过内部总线送到通用寄存器组或BIU的内部寄存器中以等待写到存储器;另一方面影响状态标志寄存器FR的状态标志位。16位暂存器用于暂时存放参加运算的操作数。
EU控制器则负责从BIU的指令队列缓冲器中取指令、分析指令(即对指令译码),然后根据译码结果向EU内部各部件发出控制命令以完成指令的功能。
2)总线接口部件BIU
总线接口部件BIU主要有地址加法器、专用寄存器组、指令队列缓冲器以及总线控制电路等四个部件组成。其主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。BIU中地址加法器将来自于段寄存器的16位地址段首地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加(通常将“段首地址:偏移地址”称为逻辑地址),形成一个20位的实际地址(又称为物理地址),以对1MB的存储空间进行寻址。具体讲:当CPU执行指令时,BIU根据指令的寻址方式通过地址加法器形成指令在存储器中的物理地址,然后访问该物理地址所对应的存储单元,从中取出指令代码送到指令队列缓冲器中等待执行。指令队列一共6个字节(8088的指令队列为4个字节),一旦指令队列中空出2个(8086中)或一个(8088中)字节,BIU将自动进入读指令操作以填满指令队列;遇到转移类指令时,BIU将指令队列中的已有指令作废,重新从新的目标地址中取指令送到指令队列中;当EU 需要读写数据时,BIU将根据EU送来的操作数地址形成操作数的物理地址,从中读取操作数或者将指令的执行结果传送到该物理地址所指定的内存单元或外设端口中。
BIU的总线控制电路将CPU的内部总线与外部总线相连,是CPU与外部交换数据的通路。对于8086而言,BIU的总线控制电路包括16条数据总线、20条地址总线和若干条控制总线;而8088的总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与通用寄存器组之间的数据总线宽度也是8位,而EU内部总线仍是16位,这也是将8088称为准16位的微处理器的原因。
3)8086/8088 CPU寄存器阵列(寄存器组)
8086/8088 CPU中有14个16位的寄存器,按用途分为四类:
①通用寄存器:8个,分为两组:
数据寄存器:累加器AX、基址寄存器BX、计数寄存器CX、数据寄存器DX,每个数据寄存器可存放16位操作数,也可拆成两个8位寄存器,用来存放8位操作数,AX、BX、