计算机硬件基础-4-中央处理器(对应教材第3章).ppt

上传人:max****ui 文档编号:15346119 上传时间:2020-08-08 格式:PPT 页数:44 大小:1.03MB
返回 下载 相关 举报
计算机硬件基础-4-中央处理器(对应教材第3章).ppt_第1页
第1页 / 共44页
计算机硬件基础-4-中央处理器(对应教材第3章).ppt_第2页
第2页 / 共44页
计算机硬件基础-4-中央处理器(对应教材第3章).ppt_第3页
第3页 / 共44页
点击查看更多>>
资源描述
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,堆栈及堆栈段的使用,堆栈:内存中一个特殊区域,用于存放需要保护的数据。 堆栈按后进先出方式工作 堆栈通过SS(段地址)和SP(偏移地址)来访问堆栈指针 堆栈的数据压入方向是从高地址到低地址,弹出方向则相反 (堆栈指针的变化举例) 常用于 响应中断 子程序调用 参数传递,43,例3:,若已知(SS)=1000H (SP)=2000H 则堆栈段的段起始地址= ? 栈顶地址=? 若该段最后一个单元地址为10100H 则栈底单元的偏移地址=?,段起始,栈底,栈顶,堆 栈 段, ,44,作业:,教材:3.1-3.11,谢谢大家!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!