计算机硬件基础中央处理器对应教材.ppt_第1页
计算机硬件基础中央处理器对应教材.ppt_第2页
计算机硬件基础中央处理器对应教材.ppt_第3页
计算机硬件基础中央处理器对应教材.ppt_第4页
计算机硬件基础中央处理器对应教材.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1,4 中央处理器,2,主要内容,微处理器的一般结构 8086微处理器的组成、引脚功能 8086的内部寄存器和标志位 8086的存储器组织,3,4.1 微处理器的一般结构,运算器 算术逻辑运算,由加法器和 (ALU) 一些辅助逻辑电路组成 指令流控制 控制器 时序控制,产生节拍定时信号 指令译码和操作控制 寄存器组 存放临时数据、运算的中 间结果、运算特征、操作数地址,性能:8位16位 32位 64位,主要部件,4,4.2 8086微处理器,主要内容: 8086外部引线及功能; 8086的内部结构和特点; 8086的工作时序。,5,6,8086的硬件特性,16位微处理器,CMOS型,40引脚DIP封装 16位数据总线,20位地址总线 功耗:5V,360mA(低功耗型80C86仅需10mA) 输入特性:输入电流0.01mA 逻辑0:0.8V 逻辑1:2.0V 输出特性: 逻辑0:0.45V,最大2.0mA 逻辑1:2.4V,最大-0.4mA 输出引脚负载能力: 74HC、74ALS、74AS、74F负载10个 74LS负载5个 74、74S负载1个,7,一、指令流水线,取指令,指令译码,取操作数,执行指令,存放结果,CPU执行一条指令的过程类似于工厂生产流水线,被分 解为多个小的步骤,称为指令流水线。,原料,调度分配,生产线,成品,仓库,出厂,数据和程序指令,控制器的调度分配,ALU等 功能部件,处理后的数据,存储器,输出,8,指令流水线,指令流水线有两种运作方式: 串行方式: 取指令和执行指令在不同的时刻按顺序执行。 并行方式: 取指令和执行指令可同时执行,需要有能并行工作的硬件的支持。,9,串行工作方式,8086以前的CPU采用串行工作方式,取指令1,执行1,取指令2,执行2,CPU,BUS,忙 碌,忙 碌,取指令3,执行3,忙 碌,空闲,空闲,空闲,t1,t0,t2,t3,t4,t5,6个周期执行了3条指令,10,并行工作方式,8086CPU采用并行工作方式,取指令1,取指令2,取指令3,取指令4,执行1,执行2,执行3,BUS,执行4,CPU,t1,t0,t2,t3,t4,t5,取指令5,执行5,6个周期执行了5条指令,11,并行操作的前提,取指令部件和指令执行部件要能够并行工作; 各部件执行时间基本相同,否则需再细分; 取指令部件取出的指令要能暂存在CPU内部某个地方; 指令执行部件在需要时总能立即获得暂存的指令; 需要解决转移指令问题。,12,8086 CPU的特点,采用并行流水线工作方式: 通过设置指令预取队列(IPQ)实现 对内存空间实行分段管理: 将内存分段并设置地址段寄存器,以实现对1MB空间的寻址。 支持多处理器系统:8087 FPU (Floating Point Unit),执行部件,取指部件,13,二、8086CPU的引线及功能,引脚定义的方法可大致分为: 每个引脚只传送一种信息(如RD) 电平的高低代表不同的含义(如M/IO) 在不同模式下有不同的名称和定义(如WR/LOCK) 分时复用引脚(如AD15AD0) 引脚的输入、输出分别传送不同的信息(如RQ/GT0),14,主要引线,地址总线、数据总线: AD15AD0:三态 (高、低、高阻) 地址/数据复用引脚。ALE=1时作为地址线A16A0,ALE=0时作为数据线D16D0。 传送地址时为输出,传送数据时为双向。 A19-A16/S6-S3:输出,三态 地址/状态复用引脚。ALE=1时作为地址线A19A16,ALE=0时作为控制信号。,15,主要引线,控制信号: WR:输出,三态 写选通信号,表示CPU正在写数据到MEM或I/O设备。 RD:输出,三态 读信号,表示CPU正在从总线上读来自于MEM或I/O设备的数据。 M/IO:输出,三态 区分是读写存储器还是读写I/O端口(即地址总线上的地址是存储器地址还是I/O端口地址)。,16,主要引线,DEN:输出,三态 数据总线允许信号。用来打开外部数据总线缓冲器。 DT/R:输出,三态 表明CPU正在传送还是接收数据,用来作为外部数据总线缓冲器的方向控制; ALE:输出 地址锁存允许信号,表示地址/数据总线上传输的是地址信号。,以上三个信号的用法见下页图,17,主要引线,RESET:输入 复位信号,保持4个以上时钟周期的高电平时将引起CPU进入复位过程(中断允许标志位(IF)清0,并从存储单元FFFF0H开始执行指令); BHE/S7:输出 高8位数据总线允许。在读/写操作期间允许高8位数据总线D16D8有效(即读/写数据的高8位)。 READY:输入 准备就绪。用于与存储器或I/O接口的同步。 =0时CPU进入等待状态(插入1个或多个等待周期)。,18,三、8086 CPU的内部结构,8086内部由两部分组成: 执行单元(EU) 总线接口单元(BIU),19,执行单元,功能:执行指令,具体操作如下 从IPQ中取指令代码 译码 完成指定的操作 结果保存到目的操作数 运算特征保存在标志寄存器FLAGS(仅对影响标志的指令),20,总线接口单元,功能: 从内存中取指令到指令预取队列IPQ; 负责与内存或I/O接口之间的数据传送; 在执行转移指令时,BIU将清除IPQ,然后从转移的目的地址处开始取指令并重新填充IPQ。,21,8086结构特点小结,有EU和BIU两个独立的、同时运行的部件 二者通过IPQ构成一个两工位流水线 指令被EU和BIU按流水线方式处理: 提高了CPU的运行速度; 提高了CPU的执行效率; 降低了对存储器存取速度的要求。,22,四、8086的工作时序,工作时序分为很多小的时间片: 时钟周期 一个时钟脉冲所持续的时间。时钟周期越短,CPU执行速度越快。 总线周期 通过总线对存储器或I/O接口进行一次访问所需要的时间。一般包括4个时钟周期。,23,总线周期中各时钟周期的操作,T1周期 CPU向存储器或I/O发送地址 CPU向地址/数据分离器(地址锁存器)发送ALE信号 T2周期 给存储器或I/O发送写入的数据 测试READY引脚状态,以决定是否插入等待周期 发出RD或WR信号 T3周期 等待存储器或I/O存取数据完成 使数据在CPU与存储器或I/O之间传输 T4周期 写入数据,读/写总线周期的信号波形见下页图。,24,数据写入存储器时的总线操作 写总线周期,由ALE信号将地址锁存到地址锁存器,DEN=0并且DT/R=1时打开总线缓冲器,将其放到系统数据总线上,此信号与M/IO信号共同构成存储器写控制信号,将数据写入存储器,25,数据从存储器读出的总线操作 读总线周期,DEN=0并且DT/R=0时打开总线缓冲器,将其放到CPU总线上,供CPU读入,较完整的读总线周期,此信号与M/IO信号共同构成存储器读控制信号,由ALE信号将地址锁存到地址锁存器,26,4.3 8086内部寄存器组,8086寄存器组又称为8086的程序设计模型 它是程序设计中惟一可见的CPU部件 它是系统程序设计员的操作对象 含14个16位寄存器,按功能可分为三类: 通用寄存器,8个 段寄存器,4个 控制寄存器,2个,27,8086寄存器概貌,SP,IP,FLAGS,AH,AL,BH,BL,CH,CL,DH,DL,AX BX CX DX,BP,SI,DI,CS,DS,ES,SS,通用寄存器,控制寄存器,段寄存器,28,一、通用寄存器,数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI),29,数据寄存器,用途:存放临时数据和存放运算操作数。(例) 每个均为16位,但又可分为2个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL,例如:若(AX)1234H, 则(AH)12H, (AL)34H,30,数据寄存器特有的习惯用法,AX:累加器 所有I/O指令都通过AX(AL)与接口传送信息; 中间运算结果也多放于AX(AL)中; 乘除法指令的一个操作数必须在AX(AL)中。 BX:基址寄存器 在间接寻址中用于存放操作数的基地址。 CX:计数寄存器 用于在循环指令或串操作指令中存放计数值。 DX:数据寄存器 在间接寻址的I/O指令中存放I/O端口地址; 在32位乘除法运算时,存放高16位数。,31,地址指针寄存器,SP:堆栈指针寄存器 其内容为堆栈栈顶的偏移地址; 任何堆栈操作后,SP都会自动增/减量。 BP:基址指针寄存器 在间接寻址中用于存放操作数的基地址; 常用于访问存放在堆栈中的数据。,32,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,默认情况下: 用BX作为指针所访问的数据在数据段(DS段); 用BP作为指针所访问的数据在堆栈段(SS段)。,注:间接寻址时 仅BX、BP、SI、DI可用于存储器寻址; 仅DX可用于I/O寻址。,33,变址寄存器,SI:源变址寄存器,用于访问源操作数 DI:目标变址寄存器,用于访问目的操作数 常用于操作数的间接寻址或变址寻址。 在串操作指令中,SI存放源操作数的偏移地址,而DI存放目标操作数的偏移地址。,34,二、段寄存器,用于存放逻辑段的段基地址(简称段地址) CS:代码段寄存器。代码段存放指令代码 DS:数据段寄存器 ES:附加段寄存器 SS:堆栈段寄存器:指示堆栈区域的位置,这两个段存放操作数,堆栈段,SS,数据段,DS/ES,代码段,CS,35,三、控制寄存器,IP:指令指针寄存器 其内容为下一条要执行的指令的偏移地址。 FLAGS:标志寄存器 存放指令执行结果的特征: 有些指令(如算术指令)要改变FLAGS的内容(影响FLAGS); 有些指令对FLAGS无影响。 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF),P71例,O,D,I,T,S,Z,A,P,C,15,0,2,4,6,7,8,9,10,11,FLAGS,36,4.4 8086的存储器组织,8086可访问1MB的存储空间(为什么?) 哪个寄存器能够放得下20位的地址? 用分段的方法解决。 段是存储器中的一块区域 段起始于存储器内16字节整倍数的边界处。 段首地址的最低4位一定为0 用段和偏移的组合访问存储单元 每个段最大为64KB,最小为16B(为什么?) 所有存储单元的地址都由段地址加偏移地址组成 段地址被装入段寄存器中以供寻址使用 偏移地址用于在64KB存储器段内选择任一单元,37,段和偏移,设段起始地址=60000H 段地址 偏移地址 0FFFFH,6A000H,12H,60000H,6 0 0 0,段寄存器,偏移地址A000H, ,38,物理地址和逻辑地址,物理地址: 存储单元的硬件地址 物理地址=段地址16 (或段地址左移4位)+偏移地址 逻辑地址: 段和偏移形式的地址 逻辑地址用于汇编语言程序设计 以下地址都是逻辑地址的例子: 2500H:0100H 段地址A000H 偏移地址0001H,39,例1:,已知CS=1055H,DS=250AH ES=2EF0H,SS=8FF0H 数据段中某操作数偏移地址=0204H 各段首地址=? 画出各段在内存中的分布 该操作数的物理地址=? 这个例子说明: 段与段可以不连续 段之间可以重叠,10550H,250A0H,2EF00H,8FF00H,DS段,ES段,SS段,CS段,40,默认段和偏移寄存器,8086规定了访问存储器段的规则: 此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表:,41,例2:,设当前执行的程序中某条指令的物理地址为5A1F6H,则程序所在的段的段地址=?当前CS的内容为多少? 解:(有多个解,求出任意一个即可) 5A1F6H=5A10H10H+00F6H 所以,段地址=5A10H,CS的内容为5A10H 想一想,还有哪些解?,思考题:设当前数据段位于存储器的A8000H到B7FFFH的地址空间, 问DS的内容应是什么才能访问该数据段的所有存储单元?,42,

温馨提示

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

评论

0/150

提交评论