ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:55.19KB ,
资源ID:28611752      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28611752.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理及应用第二章体系结构.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理及应用第二章体系结构.docx

1、微机原理及应用第二章体系结构第二章8086微处理器及其体系结构 本章主要内容 8086CPU的内部结构 8086CPU的引脚特点 微机电路结构及工作时序 8086CPU对存储器的组织 2-1 CPU性能描述 一: 字长 CPU数据线条数1: 表数精度2: 相对运行速度3: 典型CPU字长 A: 8088 8bit B: 8086 16bit C: 80386 32bit 二: 指令数1: 基本指令133条 2: 扩展指令数千条(不同寻址方式和寄存器的组合) 三: 指令执行时间1: 提高主频2: 减少指令执行所需时钟周期数3: 增加数据线条数4: 取指令和执行指令时间重叠 四: 访问内存储器空间

2、 由CPU地址总线数确定1: Z80CPU AB = 16 访存空间 216 = 64K2: 8086CPU AB = 20 访存空间 220 = 1M3: 80286CPU AB = 24 访存空间 224 = 16M4: PCPU AB = 32 访存空间 232 = 4G 2-2 8086CPU内部结构由两部分组成 执行部件 EU 接口部件 BIU 一: 执行部件EU 8086CPU的核心1: 16位运算器ALU A: 算术及逻辑运算(同8位机) B: 16位偏移地址运算(8086特点)2: 8位控制单元 A: 从BIU的指令队列中取指令 B: 对指令进行译码 C: 产生不同的控制信号3

3、: 16位寄存器组 A: 16位通用数据寄存器AX, BX, CX, DX B: 16位通用地址寄存器BP, SP, SI, DI C: 16位标志寄存器F 二: 接口部件BIU 8086CPU的特点1: 指令队列缓冲器 A: Z80CPU取指, 执指图取指执指取指执指 1) 取指 总线忙2) 执指 总线闲B: 8086CPU取指, 执指图取指1执指1取指2执指2取指3执指31) 指令队列缓冲器先从指令存储区取数条指令2) EU从队列中取指, 而非直接从指令存储区取指3) EU执行指令的同时队列继续从指令存储区取指4) 取指和执指重叠5) 总线一直忙, 从而提高速度C: 特点1) 指令队列缓冲

4、器为移位寄存器, 满足先进先出原则2) 8086队列为6字节, 8088队列为4字节3) 执行转移指令时清队列2: 16位指令指针寄存器 IPA: 8位机(Z80CPU) 中的程序指针寄存器PC1) 地址总线AB = 16bit2) 程序指针寄存器PC= 16bit3) PC指向存储器单元的实际地址B: 16位机(8086CPU) 中的指令指针寄存器IP1) 地址总线AB = 20bit2) 指令指针寄存器IP= 16bit3) IP指向存储器单元的偏移地址(有效地址)C: IP的使用1) 程序设计中, 不能直接改变IP的值2) 程序运行中, IP值根据指令功能而自动改变3: 16位段寄存器C

5、S, DS, ES, SS8086CPU的AB = 20bit, REG = 16bit, 问题: 怎样用16位寄存器表示20位存储器实际地址A: 将存储器1M空间分为多段, 每段长为64KB: 将段首地址值的高16位值放入段寄存器, 称段地址C: 20位实际地址由段地址和段内偏移地址(有效地址)构成4: 地址产生器 A: 输入 1) 段寄存器中的段首地址(16位) 2) 从EU来的段内偏移地址(16位)B: 输出 实际地址(20位)C: 公式 实际地址 = 段首地址 * 16 + 段内偏移地址 实际地址 = 段首地址 4 + 段内偏移地址 注: 段首地址左移4位等于段首地址乘与16例某存储器

6、单元的段地址为2F86H, 偏移地址为2A36H, 问: 该存储器单元的实际地址为多少PA = 段地址 4 + 偏移地址 = 2F86H 4 + 2A36H = 2F860H + 2A36H = 32296HD: 存储器单元地址表示法1) 20位地址表示法 32296H2) 32位地址表示法 2F86H : 2A36H5: 总线控制器 A: 8086CPU的数据线/地址线复用技术(40页)B: 数据线, 地址线的分离过程(44页)2-3 8086CPU的寄存器结构 一: 使用特点1: 指令助记符中, 寄存器用名定义2: 程序设计中, 寄存器用名访问 二: 分类特点1: 通用数据寄存器 A: 1

7、6位通用数据寄存器(4个) AX BX CX DX B: 8位通用数据寄存器(8个) AH AL BH BL CH CL DH DLC: 常用功能 AX 累加器 BX 基数寄存器 CX 计数器 DX 数据寄存器2: 通用地址寄存器 SP, BP, SI, DI A: 仅有16位使用 B: 用于存放偏移地址 C: 常用功能 SP, BP 用于堆栈段操作 SI, DI 用于数据段, 附加段操作3: 段寄存器 CS, DS, ES, SS A: 仅有16位使用 B: 用于存放段地址 CS 存放代码段段首地址 SS 存放堆栈段段首地址 DS 存放数据段段首地址 ES 存放附加段段首地址 C: 段寄存器

8、与通用寄存器之间的使用特点 1): CS IP CS:IP 构成代码段20位指令存放地址 2): SS SP SS:SP 构成堆栈段栈顶地址 3): DS SI DS:SI 构成源数据串地址 4): ES DI ES:DI 构成目的数据串地址 5): DS BX DS:BX 构成数据段基数地址 6): SS SP SS:SP 构成堆栈段基数地址注: 有关应用在寻址方式及串操作指令中祥细讲解4: 指令指针寄存器 IPA: 仅有16位使用B: 用于存放代码段内的偏移地址(有效地址)C: 与CS寄存器构成指令存放的实际地址5: 标志寄存器 F A: 16位标志寄存器中仅用9位作标志位用 B: 状态标

9、志位名称 CF OF AF ZF SF PF C: 控制标志位名称 IF DF TF注: 关于标志位的作用及使用方法非常重要, 在后面章节中讲解2-4 8086CPU的引脚特性 一: 数据/地址复用线 1: 减少了8086CPU的引脚线 2: 需解决数据/地址的分离 二: 控制线功能各异 不同控制线具有不同的作用, 方向确定 仅为单向, 输入, 输出确定电平触发 不同控制线具有不同的电平触发方式 1: /BHE 存储器R/W传数方式选择 与地址线A0构成8位, 16位数据传送选择 注: 2-9节祥讲 2: /RD 存储器读数据有效控制线, 输出, 低有效/WR 存储器写数据有效控制线, 输出,

10、 低有效注: 用于存储器, I/O操作, 后面章节常用3: READY CPU, MEM 间R/W等待控制线, 输入, 高有效4: RESET 8086CPU复位有效控制线, 输入, 高有效5: ALE 地址/数据复用线分离控制线, 输出A: ALE = H 地址线锁存B: ALE = L 地址线保持6: /DEN 数据传送有效控制线, 输出, 低有效7: DT/R 数据传送方向控制线, 输出A: DT/R = H CPU向存储器写数据有效B: DT/R = L CPU从存储器读数据有效8: M/IO 存储器, I/O端口操作选择, 输出A: M/IO = H CPU与存储器间读写操作B: M

11、/IO = L CPU与I/O端口间输入, 输出操作9: MN/MX 8086CPU工作方式选择, 输入A: MN/MX = H 8086CPU工作于最小工作方式B: MN/MX = L 8086CPU工作于最大工作方式10: NMI, INTR, /INTA 与中断有关的控制线11: HDLD, HLDA 与DMA有关的控制线 三: 8086CPU复位后寄存器的初始值(41页) 1: CS = FFFFH IP = 0000H2: 其余寄存器 = 0000H3: 指令队列清空2-5 8086CPU与8088CPU的比较 一: 数据线比较 1: 8088CPU数据线为8条, 故称8088CPU

12、为8位机 2: 8086CPU数据线为16条, 故称8088CPU为16位机注: 又称8088CPU为准(伪)16位机, 因为8088CPU片内数据线为16条, 片外数据线为8条 二: 地址线比较8088CPU和8086CPU的地址线均为20条 三: 控制线比较 1: MEM, I/O 选择A: 8088CPU /M/IOB: 8086CPU M/IO 2: 8位, 16位数据传送A: 8088CPU仅有8条数据线, 不能传送16位数据B: 8086CPU有16条数据线, 一次可传8位或16位, 由控制线/BHE控制2-6 8086CPU的时钟及总线周期 一: 专用时钟信号发生器芯片8284A

13、介绍 1: 输入A: 晶振B: 外部复位信号 /RES = LC: 外部等待信号RDY = H 2: 输出(送8086CPU)A: 时钟周期输出 CLK = XB: 复位信号输出 RESET = HC: 等待信号输出 READY = H 二: 总线周期 (44页图2-9)CPU与MEM间R/W所需时钟周期数称总线周期 1: 基本总线周期 由四个时钟周期构成, 分别称为 T1 T2 T3 T4 2: 扩展总线周期A: 等待周期Tw 由控制线READY = H控制, 插入T3, T4之间, 数量不限B: 空闲周期Tt 由控制线 /TEST = L控制, 插入T4之后, 数量不限 3: 读周期A:

14、T1 8086CPU数据/地址复用线发地址信息经地址总线AB给存储器B: T2 缓冲C: T3, T4 数据/地址复用线为数据线有效, 8086CPU 经数据总线DB从存储器单元中读数据4: 写周期A: T1 8086CPU数据/地址复用线发地址信息经地址总线AB给存储器B: T2, T3, T4 数据/地址复用线为数据线有效, 8086CPU 经数据总线DB向存储器单元中写数据 注: 从理论上讲R/W周期仅需要两个时钟周期, 从可靠性考虑, 8086CPU用了四个时钟周期, 读周期中T2缓冲是由于地址线信息输出而数据线信息输入, 而写周期不需缓冲是由于地址线信息, 数据线信息均为输出2-7

15、8086CPU的最小/最大工作方式条件 控制线MN/MX = L, 8086CPU工作于最小工作方式(45页) 控制线MN/MX = H, 8086CPU工作于最大工作方式(48页)特点 最小工作方式, 控制线由8086CPU直接给出(45页) 最大工作方式, 控制线由专用芯片8288给出(48页)应用 最小工作方式, 硬件系统简单,多用于专用机, 要求掌握最大工作方式, 硬件系统复杂, 多用于系统机, 要求了解 一: 最小工作方式下的硬件电路 1: 数据/地址复用线的地址线分离A: 分离时间 T1B: 分离控制线 ALE = HC: 分离器件 锁存器 2: 数据/地址复用线的数据线分离A:

16、分离时间 T2, T3, T4 B: 分离控制线 /DEN = LC: 分离器件 缓冲器 3: 锁存器 A: 作用 在T1时刻, 将CPU发出的地址信号进行锁存 B: 原理 应用D触发器1): 电路 IN OUT ALE 注: IN 地址/数据复用线(CPU) OUT 地址总线AB(存储器, I/O) ALE 地址锁存允许控制线(D触发器)2): 真值表ALEINOUT H H H H L L L H Qn L H Qn若: ALE = H, 则 OUT = IN若:ALE = L, 则 OUT保持不变3): 工作过程 T1时, ALE = H, CPU发地址 锁存器 存储器 T2,T3,T4

17、时, ALE = L, 锁存器锁存 存储器 C: 锁存器芯片1): 专用, 8282, 82832): 通用, 74LS373, 74HC573 4: 缓冲器(收发器)A: 作用 在T2 T4间,从地址/数据复用线中获得数据信息B: 原理 应用三态门 1): 电路 IN OUT /DEN 注: IN 地址/数据复用线(CPU) OUT 数据总线DB(存储器, I/O) /DEN 数据有效控制线(三态门)2): 真值表/DENINOUT L L L L H H H L Z H H Z若:/DEN = L,则 OUT = IN若:/DEN = H,则 OUT为高阻 3): 工作过程 T1时, /D

18、EN = H, 缓冲器输出为高阻态 T2,T3,T4时,/DEN = L, 缓冲器为直通态 C: 缓冲器芯片1): 专用, 8286, 82872): 通用, 74LS244, 74LS2455: 双向缓冲器在控制线/DEN, DT/R作用下, 完成数据读写(收发)A: 电路 注: AB/DB 地址/数据复用线(CPU) DB 数据总线(MEM, I/O)B: 分析 1): 若G1 = H, G2 = L 完成 MEM DB CPU读(收) 2): 若G1 = L, G2 = H 完成 MEM DB CPU写(发) 3): 若G1 = L, G2 = L 缓冲器为高阻态 4): 若G1 = H

19、, G2 = H 此种情况绝不能发生B: 真值表/DENDT/RG1G2 L L H L L H L H H L L L H H L L读写高阻高阻二: 最小工作方式下的工作时序 1: 复位时序(52页)A: 当RESET = H持续4个时钟周期, 8086CPU复位B: 复位后, CS : IP = FFFH : 0000HC: 8086CPU从实际地址FFFF0H处开始执行JMP指令 2: 读时序(53页)A: 分离地址线T1时, ALE =H, 锁存器片选有效, 地址锁存 T2, T3, T4时, ALE = L, 锁存器片选无效, 地址保持B: T2时, 缓冲C: 分离数据线 T1时,

20、 /DEN = H, 缓冲器片选无效T2,T3,T4时, /DEN = L, 缓冲器片选有效D: 读数据 T3, T4时, /DEN = L, DT/R = L, /RD = L, /WR = H 若M/IO = H, CPU经数据总线DB从存储器单元中读数据 若M/IO = L, CPU经数据总线DB从I/O端口中读数据 3: 写时序(55页)A: 分离地址线T1时, ALE =H, 锁存器片选有效, 地址锁存T2, T3, T4时, ALE = L, 锁存器片选无效, 地址保持B: 分离数据线 T1时, /DEN = H, 缓冲器片选无效T2,T3,T4时, /DEN = L, 缓冲器片选

21、有效C: 写数据 T3, T4时, /DEN = L, DT/R =H, /RD =H, /WR = L 若M/IO = H, CPU经数据总线DB向存储器单元中写数据 若M/IO = L, CPU经数据总线DB向I/O端口中写数据2-9 8086CPU对存储器的组织 一: 存储器的组织 1: 存储器的组织方式 按字节组织, 每一个存储单元仅存放8位二进制数, 若需一次R/W 16位数据, 则应从相邻两存储单元中分别取8位数据构成16位数据 2: 存储器的存数原则A: 按字节存放时, 从低地址单元到高地址单元顺序存放B: 按字存放时, 相邻地址单元中, 低地址单元存放低字节, 高地址单元存放高

22、字节 3: 存储器的地图表示数据35H4AH地址2000H2001H 4: 存储器的规则存放与非规则存放用于字(16bit), 双字(32bit) 存放时, 对字节(8bit) 存放无效A: 规则存放, 从偶数地址单元开始存放字或者双字, 即要求A0 = 0B: 非规则存放, 从奇数地址单元开始存放字或者双字, 即要求A0 = 1 5: 控制线 /BHE, 地址线A0对数据传送的作用A: 关于存储器的奇偶库 为解决存储器单元按8位数据组织, 面8086CPU可一次读写16位数据的矛盾, 采用了存储器的奇偶库方式B: 存储器奇偶库的控制1): 偶库存储器的片选控制 地址线A0 = L奇库存储器的

23、片选控制 控制线 /BHE = L2): 偶库存储器与8086CPU的数据线 D0 D7 奇库存储器与8086CPU的数据线 D8 D15C: /BHE, A0 的作用(62页)/ / /BHEA0读写数据的位数 01 0奇库, 偶库片选有效, 16位数据传送01 1奇库有效, 偶库无效, D8 D15数据传送 1 0奇库无效, 偶库有效, D0 D7数据传送 1 1奇库, 偶库片选无效, 无数据传送二: 存储器的分段解决20位实际地址与16位寄存器之间的矛盾 1: 分段方式 连续分, 分离分, 重叠分 2: 段内容量 64KB 3: 段基地址 段首地址 4: 偏移地址 段内偏移地址 三: 实

24、际地址与逻辑地址 1: 实际地址 20位物理地址 2: 逻辑地址 16位段基地址及16位偏移地址 四: 堆栈 1: 堆栈的作用A: 将需要放入堆栈的数据入栈, 将需要调出堆栈的数据出栈B: 在调用过程及中断服务程序时保护现场相应数据入栈 在返回过程及中断服务程序时恢复现场相应数据出栈 2: 堆栈使用原则先进后出原则 注: 指令队列是先进先出原则 3: 堆栈段, 堆栈底, 堆栈顶A: 栈段 堆栈段段首地址在段寄存器SS中B: 栈底 定义堆栈长度时确定C: 栈顶 由寄存器SP中的值确定, 栈顶的物理地址为SS:SP 注: 当定义堆栈后还未使用相关堆栈操作指令时, 栈顶等于栈底, 汇编程序设计中,

25、若不定义堆栈, 系统将自动生成一定长度的堆栈存储区 4: 栈顶指针寄存器SP中值的自动变化特点A: 对8位机 1) 入栈 (SP) 1 (SP) 2) 出栈 (SP) + 1 (SP)B: 对16位机(8086CPU) 1) 入栈 (SP) 2 (SP) 2) 出栈 (SP) + 2 (SP)例(65页图2-32)1 定义堆栈栈段 (SS) = 1050H, 栈长 = 14H, 栈底 = 0012H或者为1050H : 0012H定义时栈顶等于栈底, (SP) = 0012H2 当前栈顶经一些操作后, 图示当前栈顶 (SP) = 0008H3 执行入栈指令 PUSH AXA: (SP) 2 (

26、SP) = 0006HB: (AX) = 1234H 0006H4 执行出栈指令 POP BXA: 0006H (BX) = 1234HB: (SP) + 2 (SP) = 0008H5 执行出栈指令 POP AXA: 0008H (AX) = BBAAHB: (SP) + 2 (SP) = 000AH注: 入栈时工作步骤, 先(SP)2 (SP), 后将数据入栈 出栈时工作步骤, 先将数据出栈, 后(SP) + 2 (SP)五: 8086CPU对存储器的分配1: 中断向量表存储区 00000H 003FFH 1KB2: 系统复位后指令存储区 FFFF0H FFFFFH 16字节3: 显示缓存

27、存储区 A: 单显 B0000H B0FFFH 4KB 字符显示 B: CGA B8000H BBFFFH 16KB 图形显示 C: VGA A0000H 图象显示4: 其余为工作存储区2-10 I/O端口组织 一: 统一编址方式 MOTOROLA方式MEM, I/O 共用寻址空间1: 优点 不需要存储器, I/O端口选择控制线, 专用指令2: 缺点 存储器, I/O端口占用共同的寻址空间 二: 分别编址方式 INTEL方式MEM, I/O分别有寻址空间 1: 优点 存储器, I/O端口分别寻址, 扩展了寻址空间2: 缺点 需要专用控制线及专用指令 例 8086CPU控制线M/IO = H存储器寻址, M/IO = L I/O端口寻址 存储器操作指令为MOV, I/O端口操作指令为IN及OUT 作业: 2.3, 2.6, 2.11, 2.12, 2.13, 2.15, 2.18

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1