第二章+微处理器-201509-_第1页
第二章+微处理器-201509-_第2页
第二章+微处理器-201509-_第3页
第二章+微处理器-201509-_第4页
第二章+微处理器-201509-_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章8086/8088微处理器及其结构内容:8086/8088微处理器的内部结构、外部特性存储器组织8086微处理器的工作时序Intel80x86微处理器简介(自学)8086/8088CPU的主要性能:字长:16位/准16位;时钟频率:8086/8088标准主频为5MHz;数据总线:16位/8位;地址总线:20位;地址、数据总线复用;内存容量:20位地址总线,可直接寻址1MB存储空间;端口地址:16位I/O地址总线,可直接寻址64KB个端口;中断功能:可处理内部软件中断和外部硬件中断,中断源可多达256个;两种工作模式:支持单片CPU或多片CPU系统工作。一、指令的流水线第一节8086/8088微处理器的内部结构指令的一般执行过程:从存储器取指令指令译码读取操作数从寄存器存入存储器执行指令存放结果存入寄存器

串行工作方式:8088以前的CPU采用串行工作方式:

1)CPU访问存储器(存取数据或指令)时要等待总线操作的完成2)CPU执行指令时总线处于空闲状态

缺点:CPU无法全速运行

解决:总线空闲时预取指令,使CPU需要指令时能立刻得到取指令1执行1取操作数2执行2CPUBUS忙碌忙碌忙碌忙碌存结果1取指令216位CPU(8086/8088)t忙忙忙忙忙总线BUSt取指1取指4取指3取指2取指5BIU执行1执行2执行5执行3执行4··················tEUCPU并行工作方式执行部件EU的作用:负责执行指令、形成有效地址EA。EU包括4部分:运算器用于算术逻辑运算和形成有效地址标志寄存器用来存放反映ALU运算结果的状态和一些控制标志。通用寄存器包括AX,BX,CX,DX,SI,DI,BP,SP控制单元用于译码,形成控制信号。二、8086微处理器的内部结构总线接口部件BIU的作用:预取指令、形成实际地址PA、输入输出数据。BIU主要由5部分组成:指令队列缓冲器:暂存指令。采用“先进先出”的原则顺序存放。指令指针寄存器IP:存放下一条将要取的指令的有效地址。总线控制逻辑:根据指令控制总线的分时使用。段寄存器:用来存放每种段的首基址,有CS、ES、DS、SS四种。地址产生器:用来形成20位的实际地址PA。PA=段寄存器左移4位+有效地址EA。即:注意:“左移4位”中这个位是指二进制位,而非十六进制位。左移4位二进制数相当于左移1位十六进制数。有效地址EA段寄存器实际地址PA00000150190150例:(CS)=2000H,(IP)=2344H

则PA=(CS)左移4位+(IP)

=20000H+2344H

=22344H

注意:1.总线接口部件BIU和执行部件EU并不是同步工作的;2.在执行转移、调用和返回指令时,指令队列中的原有内容被自动清除。

8088的指令执行过程三、8086/8088的内部寄存器含14个16位寄存器,按功能可分为三类8个通用寄存器4个段寄存器2个控制寄存器专用寄存器标志寄存器16位寄存器,其中有7位未用。D0D15OFDFIFTFSFZFAFPFCF进借位标志奇偶标志半进借位标志零标志符号标志单步中断中断允许方向标志溢出标志1-有进、借位0-无进、借位1-低4位向高4位有进、借位0-低4位向高4位无进、借位1-低8位有偶数个10-低8位有奇数个11-结果为00-结果不为0标志寄存器中的状态标志的状态表示符号标志OFDFIFSFZFAFPFCFOVDNEINGZRACPECYNVUPDIPLNZNAPONC为1的符号为0的符号例:说明运算结果对标志位的影响设变量x=11101111B,y=11001000B,X=0101101000001010B,Y=0100110010100011B,请问分别执行x+y和X+Y操作后标志寄存器中各状态位的状态如何?11101111+)1100100010110111 1自动丢失010110100000101001001100101000111010011010101101CF=0CF=1段寄存器存储器分段原因:16位地址寄存器与20位地址总线之间的矛盾。段的起始地址特征:实际地址的低4位(二进制)为零。实际地址的高16位称为段基址。段内偏移地址(有效地址)。段基址*16=段起始地址。段的最大长度:64K。(与16位寄存器相对应)段的分类:分四大功能段:数据段、代码段、堆栈段和附加段。段寄存器存放当前段的段基址。CS:代码段寄存器,代码段用于存放指令代码DS:数据段寄存器

ES:附加段寄存器数据段和附加段用来存放操作数SS:堆栈段寄存器

堆栈段用于存放返回地址,保存寄存器内容,传递参数程序设计级模型AXBXCXDXSIDIBPSPFRDSCSSSESIP14个16位的寄存器8086的工作模式最大模式:有多个微处理器最小模式:仅有8086一个微处理器第二节8086/8088CPU的外部特性基本概念●有效电平——指引脚起作用时的电平。●三态——是指引脚除了能正常的输入或输出高、低电平之外,还能输出高阻状态。8086CPU引脚及功能40根引脚分时复用1.AD0~AD15:T1—A(三态输出);T2~T4—D(三态双向)2.A16/S3~A19/S6:T1—A;T2~T4—状态3.VCC,GND,GND4.控制总线:17根S3、S4表示用何段寄存器S4S3段寄存器00ES01SS10CS(I/O、INT)11DSS5=IF,S6=0地址锁存器存储器I/O芯片VCC时钟发生器数据收发器MN/MXRDCLKWRREADYM/IORESETALETESTBHE

A16~A19AD0~AD15HLDA.HOLD.8086INTA.INTRDENNMIDT/RBHE最小模式最大模式8088与8086的区别:指令预取队列:8088为4字节,8086为6字节数据总线引脚:8088有8根,8086有16根控制线引脚:8088为IO//M,而8086为M//IO 8088为SS0,而8086的/BHE。8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送第三节存储器管理一、存储器分段(解决地址总线问题)物理地址8086:20根地址线,可寻址220=1MB个存储单元CPU送到AB上的20位的地址称为物理地址物理地址物理地址..60000H60001H60002H60003H60004H...12HF0H1BH08H存储器的操作完全基于物理地址。问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段存储器分段高地址低地址段基址段基址段基址段基址最大64KB最小16B段i-1段i段i+1段基址:段的起始地址的高16位。段基址*16=段起始地址。段的起始地址特征:段的起始地址的低4位(二进制)为零或能被16整除。0000段基地址(16位)段首地址××ו••×××逻辑地址段基地址和段内偏移组成了逻辑地址段地址

偏移地址(偏移量)格式为:段地址:偏移地址物理地址=段基址×16+偏移地址60002H00H12H60000H偏移地址=0002H偏移地址(有效地址):相对于段首地址的偏移量。BIU中的地址加法器用来实现逻辑地址到物理地址的变换8086可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址段基址段内偏移物理地址+16位20位0000默认段和偏移寄存器8086规定了访问存储器段的规则:此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表:段地址默认偏移地址用于访问CSIP指令SSSP、BP堆栈中的数据DSBX、DI、SI、8位或16位数数据段中的数据ES串指令的DI目标串操作数[例]:已知(CS)=1055H,(DS)=250AH,(ES)=2EF0H,(SS)=8FF0H,数据段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布2)指出各段首地址3)该操作数的物理地址=?10550H250A0H2EF00H8FF00H代码堆栈

数据扩展解:各段分布及段首址见右图所示。这个例子说明:段与段可以不连续段之间可以重叠操作数的物理地址为:250AH×10H+0204H=252A4H①字节存储:一个字节存放一个单元。如单元00100H中的内容为34H,表示为(00100H)=34H。②字存储:一个字存于相邻两个单元,且低位字节在低地址,高位字节在高地址,字单元的地址以低位地址表示。如:(00100H)=1234H表示高字节12H存于00101H单元,低字节34H存于00100H单元。③一个字可以从偶地址开始存放,也可以从奇地址开始存放。如:(00103H)=0152H在讲解下一问题前,先介绍几个概念:二、8086存储器的分体结构(解决8086与存储器数据总线不一致问题)1.分体结构概念两个存储体:偶地址存储体+奇地址存储体,各为512KByte,共1MByte.A1~A19SELA0~A18高位(奇数)库512K*8D0~D7SELA0~A18低位(偶数)库512K*8D0~D7A0BHED8~D15D0~D7①若字单元地址从偶地址开始,只需访问一次存储器②若字单元地址从奇地址开始,要访问两次存储器所以,前者称规则字,后者称非规则字。8088的外部数据总线是8根,与存储器的一致,故8088系统中存储器不需要分体,存储器与总线连接为:时序的概念:CPU各引脚信号在时间上的关系。时序图:描述某一操作过程中,芯片/总线上有关引脚信号随时间发生变化的关系图.指令周期:CPU完成一条指令所需的时间。一个指令周期由若干个总线周期组成。总线周期:CPU完成一次访问内存(或接口)操作所需要的时间。一个总线周期至少包括4个时钟周期。时钟周期:由时钟发生器产生。是计算机内部最小的时间单位,用Ti表示。晶振周期:晶体振荡器输出的周期。它一般分频后变为时钟周期,再作为内部工作单位。第四节总线时序(难点,了解)典型的总线周期示意读周期——总线读操作(对存储单元或I/O端口)写周期——总线写操作(对存储单元或I/O端口)中断响应周期——中断响应操作空闲周期——总线空操作最小模式下存储器或I/O的读周期时序单CPU系统8086读操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论