主页 > 微型计算 >

微机道理-8086编制组织材料

浏览1574 好评 0 点赞105

  微机原理-8086系统结构资料_中职中专_职业教育_教育专区。微机原理-8086系统结构资料

  第2章 8086微处理器 主要内容: 2-1 8086 CPU结构 2-2 8086 CPU的引脚及其功能 2-3 8086 存储器组织 2-4 8086 系统配置 2-5 8086 CPU时序 第二章 小结 学习目的 通过对本章的学习,您应该能够达到下列要求: ? 掌握8086的编程结构 ? 说明8086CPU的工作特点 ? 了解8086CPU的引线存储器的分段管理与分体结构 ? 分析8086CPU基本总线周期时序 重 点 ? 8086CPU的编程结构,总线接口单元和 执行单元的动作管理 ? 8086CPU的引线CPU基本总线周期各个T状态的作用 存储器与I/O接口的读写时序 难 点 ?8086的寄存器结构以及时序 ? 8086系统存储器分段、分体结构 单总线微型计算机结构 地址总线 最小 系统 存储器 I/O接口 I/O设备 控制总线CB 数据总线 CPU结构 概 述 8086内部寄存器,为16位。 1、8086有16位数据据线位数据线的内部结构 8086CPU内部结构分成两部分: ? 总线接口部件BIU: 总线接口单元BIU,负责控制存贮器和I/O接口读写。 ? 执行部件EU: 执行单元EU从指令队列中取出指令并执行。 ? 特点:两级流水线 取指部分和执行指令部分分开进行,提高了速度。 通用 寄存 器 AH BH CH DH AL BL CL DL SP BP SI DI 16位 地址 加法 器 ∑ 20位 CS DS SS ES IP 内部暂存器 16位 输入/输出 控制电路 外 部 总 线 ALU 标志寄存器 执行部分 控制电路 8位 12 3 4 5 6 指令队列缓冲器 执行部件 (EU) 总线接口部件 (BIU) 执行部件 通用寄存器 指针和变址寄存器 SP:堆栈指针,其内容与堆栈段寄存器SS的 内容一起,提供堆栈操作地址。 BP:基址指针:构成段内偏移地址的一部分. SI:(Source Index):SI含有源地址意思,产 生有效地址或实际地址的偏移量。 DI:(Destination Index):DI含有目的意思, 算术逻辑单元ALU: 产生有效地址或实际地址的偏移量。 总线接口部件 主要是加法器。大部分指令 的执行由加法器完成。 标志寄存器 : 16位字利用了9位。 标志分两类: 状态标志(6位):反映刚刚完成的操作结果情况。 控制标志(3位):在某些指令操作中起控制作用。 20位地址加法器 16 位的指令指针寄存器IP: 6 字节的指令队列 四个段寄存器:CS、DS、SS、ES IP 中的内容是下一条指令 指令队列共六字节,总线接 CS管理代码段 ;DS管理数据段 对现行代码段基地址的偏移量, 口部件BIU从内存取指令, SS管理堆栈段 ;ES管理附加段. 取来的总是放在指令队列中; 执行部件EU从指令队列取指 令,并执行。 1、总线接口部件BIU 功能:控制存储器或IO接口与CPU的信息传送,地址 形成、取指令、指令排队、读/写操作、总线位双向数据总线位地址总线,以及读写与总线 控制信号。 主要包括5个部分: (1)四个段寄存器:(CS.DS.SS.SS) CS:16位的代码段寄存器,代码段首地址高16位; DS:16位的数据段寄存器,数据段首地址高16位; ES:16位的扩展段寄存器,扩展段首地址高16位; SS:16位的堆栈段寄存器,堆栈段首地址高16位。 (2)16位的指令指针寄存器IP IP中的内容是下一条指令对现行代码段基地址的偏移 量,与段寄存器CS的内容一起形成取指令的物理地 址。 (3)20位物理地址加法器 将16位的逻辑地址变换成读/写存储器、外设所需要 的20位物理地址。 (4) 6字节的指令队列 预存6字节的指令代码,等待EU处理。 (5)总线控制逻辑 发出读/写控制信号以及总线控制信号。 指令队列 操作 ? 总线接口部件BIU根据当前的CS和IP的值,形成20位物理 地址,从其指定的存储单元取指令代码,放在指令队列中 ? 指令指针IP的值由BIU自动修改,始终等于下一条指令在 现行代码段的偏移地址; ? 执行部件EU从指令队列取指令码,进行指令译码和执行指 令,取指令与执行指令可同时进行; ? 当指令队列中有2个或2个字节以上空余时,BIU自动将指 令取到队列中。 ? 指令队列已满,BIU与EU又无总线请求时, 总线接口部件 进入空闲状态 ? 执行转移指令、调用指令、返回指令时,BIU自动清除指 令队 列,然后从新地址取指令,并立即送给EU,然后再 从新单元开 始,从新填满队列 2、执行部件EU(Excution Unit) (1)四个16位数据寄存器: AX、BX、CX、DX, 每个16位寄存器可作8位寄存器。 16位 AX BX CX DX → → → → 8位 AH BH CH DH 8位 AL BL CL DL 可进行16位数据运算——字运算;8位数 据运算——字节运算 (2) 指针和变址寄存器 二个指针寄存器 SP:堆栈指针,其内容与堆栈段寄存器SS的 内容相加,提供堆栈操作地址。 BP:基址指针:构成段内偏移地址的一部分. 二个变址寄存器: SI:(Source Index):SI含有源地址意思,产 生有效地址或实际地址的偏移量。 DI:(Destination Index):DI含有目的意思, 产生有效地址或实际地址的偏移量。 (3)算术逻辑单元ALU: 主要是加法器。大部分指令的执行由加法 器完成,8位字节运算和16位字运算。 (4) 标志寄存器:16位字利用了9位 标志分两类: 状态标志(6位):反映刚刚完成的操作 结果的特点。 控制标志(3位):在某些指令操作中起 控制CPU行为的作用。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF 标志位:反映指令执行结果的特征 进位标志CF: 本次运算结果的最高位向更高位有进位或 借位时,CF=1,否则CF=0; 最高位:16位运算(字运算)时指D15, 8位运算(字节)时指D7 辅助进位标志AF: 本次运算结果的最低4位向更高位有进位 或借位时, AF=1,否则AF=0; 不论是字运算还是字节运算,都是指D3位 向D4位的进位或借位; 标志位:反映指令执行结果的特征 奇偶校验标志PF: 本次运算结果的低8位有偶数个“1”时,PF=1 ,否则PF=0; 不论是字运算还是字节运算,PF都只与运算 结果的低8位有关,而与高8位无关; 全零标志ZF: 运算结果全为零时,ZF=1,否则CF=0; 符号标志SF: 与本次运算结果的最高位D15或D7相同; 标志位:反映指令执行结果的特征 溢出标志OF: 运算结果溢出时OF=1,否则OF=0; 最高位进位状态 次高位进位状态 异或运算 溢出 运算结果超出范围 无符号数:用CF判断,CF=1?超出范围; 有符号数:用OF判断,OF=1?超出范围; 加法运算的溢出 1. 运算溢出的定义:运算结果超出了结果寄存 器所能表示的带符号数范围。此时运算结果 不能代表正确运算结果,也就是说,结果是 错误的。 2. 溢出的判别:双高位判别法: ? 最高位有进位,CF=1;否则CF=1。 ? 数值部分最高位有进位,CP=1,否则 CP=0 加法运算的溢出判断 CF⊕CP=1 ,有溢出。 CF 1 0 0 1 CP 0 1 0 1 CF ⊕ CP 1 1 0 0 溢出 溢出 无溢出 无溢出 CF=CP:CF把CP的进位状态正确传送给更高位 CF≠CP:CF没有把CP的进位状态正确传送给更高位 八位补码运算:(-128 ~ +127) 0101 1010 +90 + 0110 0011 +99 1011 1101 -67 CF=0,CP=1, CF ⊕ CP=1,产生溢出, 结果出错。 1001 0010 -110 + 0010 0110 + 54 1100 1000 -56 CF=0,CP=0, CF⊕CP=0,没有溢出, 结果正确。 控制位:控制CPU的某些行为 跟踪标志TF: TF=0,CPU按正常方式执行指令。 TF=1,CPU按单步方式执行指令。 中断允许标志IF: IF=1,允许CPU响应可屏蔽中断; IF=0,禁止 CPU响应可屏蔽中断。 方向标志DF: DF=0,串指令的地址向增加方向变化; DF=1,串指令的地址向减小方向变化。 例1、CF、PF、AF、ZF、SF、OF各为何值? 0100 1100 0110 1101 + 0110 0101 1001 0110 1011 0010 0000 0011 次高位 低8位有 D3向 结果不 向 偶数个 D4进位 全为零 AF=1 ZF=0 最高位 “1” 有进位 PF=1 CP=1 CF≠CP: CF没有正确地把 OF = CF⊕CP = 1 CP的进位状态传送给更高位 最高位 向 更高位 无进位 CF=0 SF = 结果 的最 高位 SF=1 2-2 8086的引脚及其功能 8086 为DIP-40封装,包括20条地址线条数据/ 地址线条控 制或状态信号线。 两种工作模式: ? 最小模式:系统中只有8086一个微处理器,所 有的总线产生,系统中的总 线控制逻辑电路,减少到最少。(要求掌握) ? 最大模式:用于大型(中型)8086/8088系统 中。系统总是包含有两个或多个微处理器,其 中一个主处理器就是8086或8088,其它的处理 器称协处理器,协助主处理器工作。所有的总 线控制信号均由总线产生。 协处理器: ? 数值运算协处理器8087:由硬件实现高 精度整数浮点段运算。 ? 输入输出协处理器8089:相当两个DMA 通道的处理器。 增加协处理器,不再占用8086时间, 大大提高系统的运算速度效率。 地址总线AB 存储器 CPU I/O接口 控制总线CB 数据总线在最小模式中引线伏电源引出脚 GND:电源接地引出脚。 2. :最小/最大模式控制,输入 接+5V,最小模式;接地,最大模式。 MN/MX 3. AD15—AD0:地址/数据,双向,三态,分时复用 T1状态:AD15~AD0为地址信号; T2、T3、TW、T4状态:数据信号. 4. A19/S6—A16/S3:地址/状态,输出,三态,分时 复用 T1状态: A19~A16为地址的高四位, T2、T3、TW、T4状态:为状态信号。 S6=0,8086CPU连在总线:中断允许标志设置: S5=0,允许可屏蔽中断请求 S5=1,禁止可屏蔽中断请求 S4 0 0 1 1 S3 0 1 0 1 使用ES 使用SS 使用CS 使用DS 5、BHE/S7:高位数据有效/状态,输出,三态,分时 T1状态:BHE,表示D15—D8有效否, T2、T3、TW、T4:为S7信号,在8086中无意义 BHE和A0区分数据格式: BHE A0 操作 数据引脚 0 1 0 0 1 0 从偶地址读/写一个字 AD15~AD0 0 从偶地址读/写一个字节 A D7~AD0 1 从奇地址读/写一个字节 AD15~AD8 1 从奇地址读/写一个字, AD15~AD8 0 先用高8位,后用低8位 AD7~AD0 9. WR :写信号,输出,低电平有效 WR=0 ?CPU正在向内存或I/O设备写入数据。 10. RD :写信号,输出,低电平有效 RD=0 ?CPU正在从内存或I/O设备读取数据。 11、M/IO:存储器/IO端口控制,输出,三态 M/IO=1,CPU与存储器交换数据; M/IO=0, CPU与外设交换数据。 12、ALE:地址锁存信号,输出 在T1状态,ALE=1,表示分时复用的引脚 AD15—AD0以及A16/S3—A19/S6上送出的是地址信 息;在T2、T3、T4状态,ALE=0,表示引脚AD15— AD0上传送数据信息,A16/S3—A19/S6上送出的是状 态信息。 13、DEN:数据使能信号,输出,三态 当分时复用的引脚AD15—AD0 上要传输数据时, DEN=0。 14、DT/R:数据发送/接收,输出,三态 DT/R=1,CPU发送数据到外设或存储器; DT/R=0, CPU从外设或存储器接收数据。 15. NMI:非屏蔽中断请求,输入,上升沿有效, 不受中断允许标志IF的影响,不能用软件进行屏蔽。 16. INTR:可屏蔽中断请求,输入 若IF=1,CPU将响应该中断请求。 17. INTA :写信号,低电平有效 INTA=0 ?CPU正在响应INTR引脚的中断请求。 18. HOLD: 总线. HLDA: 总线. CLK时钟,输入 要求频率为:8086-2不超过8MHz,时间基准。 21、TEST:测试信号,输入 执行WAIT指令时,若TEST=1,则CPU处于空转等 待;当 TEST=0有效时,结束等待状态,继续执行 下一条指令 。 22、RESET:复位信号,输入 当RESET=1且保持4个时钟周期以上,CPU进入 复位状态,标志寄存器、IP、CS、ES、SS、DS和指 令队列清零,CS置为0FFFFH。 23、READY:准备好信号,输入 CPU在总线状态检测READY,若 READY=0,则插入Tw状态等待,直到READY=1, 才进入T4状态,完成数据传送。 二、8086在最大模式引脚定义 自己了解 三、8088与8086的不同之处 8088的外部数据总线位地址与数据复用,AD7—AD0, 高8位地址为专用引脚,A15—A8; 8088的该引脚定义为IO/M,电平属性与8086的 M/IO相反,为与8085CPU兼容; 8088只有8位数线,不需要BHE信号,改为SSo 2-3 8086 存储器组织 一、 存储器地址的分段管理 怎样用16位寄存器表示20位地址信息? 1. 存储器是以字节(BYTE)为单位存储信息,存储器 的通用单位为字节。 2. 由于8086访问内存要20位地址(1MB),而执行部件 EU中所有寄存器和内部数据总线KB。因此,把1MB存 储空间分为若干个“逻辑段”(Segment) ,每个段最 多可管理64KB空间。 3. 段与段之间可以是分开的、连续的、重叠的甚至重 合。任何一个存储单元都可以定义在一个段或多个 段中。 一个存储单元的实际地址y用它所在段的起始地址以 及相对于段起始地址的16位偏移量d表示,y=x+d。改 变偏移量可在段内64kB范围移动。改变起始地址x可 以使整个段在1MB空间浮动。 起始地址 偏移量d 段内偏移地址 实际地址y 物理地址 ? 段起始地址x是20位二进制数,规定它的最低4位 二进制数规定等于0,这样起始地址只有高16位二 进制数需要指定,将其存放在16位段寄存器中, 称为段基址。把段基址左移4个二进制位,相当于 乘以时进制数16,即得到段起始地址。 存储单元实际20位地址称物理地址。用段基址和 偏移地址表示的地址信息,称为逻辑地址,写为 段基址 : 偏移地址,编程时采用逻辑地址。 物理地址形成算法:段寄存器 × 16 + 偏移地址 段寄存器提 供高16位, 而低4位补0 ,二进制0, 得起始地址 16位段基址 0000 + 16位偏移地址 20位物理地址 地址加法 器实现, 无符号或 有符号? 给定逻辑地址,可惟一地确定一个物理地址;但给定 物理地址,存在无数个逻辑地址 段的分配: 存储器 CS SS DS ES 0150H 1CD0H 4200H B000H 64K代码 64K堆栈 64K数据 0150:0000H 0150:FFFFH 64K附加 例:逻辑地址1000H : 501AH对应的物 理地址 10000 + 501A 1501A 例2 、CS=2000H,最大寻址空间可达多少? CS左移四位:20000 0H IP的内容:0 0 0 0~FFFF H 20000 20000 + 0000 + FFFF 20000 2FFFF 物理地址:2 0 0 0 0 H~2 F F F F H 64K 3. 逻辑地址的来源 表2-7 逻辑地址来源 操作类型 取指令 堆栈操作 BP间接寻址 存取变量 源字符串 目标字符串 隐含段地址 CS SS SS DS DS ES 替换段地址 无 无 CS、DS、ES CS、ES、SS CS、ES、SS 无 偏移地址 IP SP 有效地址 有效地址 SI DI 二、8086存储器分体结构: 常用的存储器芯片是字节结构,只有8位数据线位数据线KB的存储体: 偶地址存储体:连接D7~D0,A0=0 时选通; 奇地址存储体:连接D15~D8,BHE=0时选通。 8086可以传送一个字节,也可以传送二个字节。 A19~A1 A0 BHE SEL A18~A0 奇存 储体 512k ?8 D7~D0 偶存储体 SEL A18~A0 512k ? 8 D7~D0 高8位 D15~D8 低8 位 D7~D0 8086与存储器连接 存储器分体结构注意要点: 1. BHE控制连接CPU高8位的存储体—— 奇存储体的片选信号 2. A0控制连接CPU低8位的存储体——偶 存储体的片选信号 3. CPU的地址线连接两个存储体 的地址信号A0~A18 存储器分体结构注意要点: ? 一个字数据包含地址相邻的两个字节 ,一个字节放在奇存储体中,另一个 字节放在偶存储体中 ? 字数据的地址定义为其低字节所在单 元的地址,可以是偶地址字数据(对 准存放),也可以是奇地址字数据 ? 8088 只有8位数据总线,不存在分体结 构 8086 总线操作列表 操作 从偶地址开始读 写一个字节 从奇地址开始读 写一个字节 BHE 1 0 A0 0 1 总线 从偶地址开始读 写一个字,一次 总线操作就完成 从奇地址开始读 写一个字,分两 次进行 0 0 AD15~AD0 0 1 1 0 AD15~AD8 AD7~AD0 2-4 8086 系统配置 一、最小模式系统 8086在最小模式下的典型配置: MN/MX 接+5V; 1、 2、一片8284作为时钟发生器; 3、三片8282或74LS373作地址锁存器; 4、二片8286/8287作总线,直通状态; STB=0,锁存状态. DO保持STB下降沿 时刻的DI值不变 8282锁存器与8086的连接 8286与8088的连接 OE T 0 0 1 0 1 X 传送 B? A A? B 高阻 ALE?STB 把地址信息A0~A19从复用 总线在最小模式 下的典型配置 思考题 ? 8086最小系统包含哪些新片? ? 8282的作用是什么?与CPU如何连接?8086 系统需要几片8282? ? 8286的作用是什么?与CPU如何连接?8086 系统需要几片8286? 2-5 8086的操作和时序 ? 主要操作 ①系统复位与启动 ②暂停 ③总线读/写操作 ④总线保持 ⑤中断操作 一、系统复位与启动 ? 通过RETSET引腿上的触发信号来执行。 标志寄存器 : 指令指针(IP): CS : DS、ES、SS : 指令队列 : 其它寄存器 : 清零 0000H FFFFH 0000H 空 0000H ? 复位后,第一条指令的地址:CS左移四位 为FFFF0H 物理地址为 FFFF0+0000H(IP中) =FFFF0H ? 一般在FFFFF0中,存放一条段交叉直接 JMP指令,转移到系统程序实际开始处。 二、最小模式下的总线操作 与时间有关的几个概念 时钟周期:CPU的CLK引脚所输入时钟信号的 周期长度,是计算机系统的最小时间单位,常 称为T状态; 总线周期:BIU完成一次总线操作,即访问一 次存储器或I/O端口所需要的时间,一个基本 总线个T状态; 指令周期:执行一条指令所需要的时间,不同 指令的指令周期长短一般是不同的,通常包含 若干个时钟周期; ? T3状态:AD0~AD15上出现数据。 ? TW状态:若存储器式外设的工作速度较 慢,不能满足基本时序要求,使用一个 产生READY的电路,以使在T3状态之后, 插入一个等待周期TW。 ? T4状态:结束一个总线、最小模式下的总线上是地址信息,出现ALE信号后,将地 址锁存到地址锁存器(8282)。 T2状态:地址信息消失,A19-A16从地址信息变为状态信 息S6-S3。 T3状态:AD0~AD15上出现数据。 WR信号有效,WR=0。 TW状态:若存储器或外设的工作速度较慢,不能满足基 本时序要求,使用一个产生READY的电路,以使在T3 状态之后,插入一个等待周期TW。 T4状态,CPU认为数据已写入存储器或IO端口,结束一个 总线周期。 最小模式下的总线写操作 ALE?STB 把地址信息A0~A19从复用 总线上提取出来加以保持 四、最小模式下的总线保持 ? 系统有多个总线主模块,CPU以外的其 他总线主模块为了获得对总线的控制, 需向CPU发出使用总线的请求; ? CPU如果同意让出总线,要向其他总线 主模块发出应答信号。 HOLD:总线保持请求信号 HLDA:总线保持回答信号 第二章 小结 一、8086CPU内部结构 (一)总线接口单元BIU: 功能:控制存储器与I/O端口与CPU交 换信息。 1.段寄存器: CS(代码段)控制程序区 DS(数据段)控制数据区 ES(附加段)控制数据区 SS(堆栈段)控制堆栈区 2. 16位指令指针寄存器IP IP:其中存放的是下一条指令的地址偏 移量。 将CS左移四位 + IP内容→指令代码的实际 物理地址。 (二)执行单元EU 16位数据寄存器 :AX、BX、CX、DX 16位堆栈指针寄存器 :SP(存放的是堆栈操作 地址偏移量) 16位基址寄存器BP:构成偏移地址的一部分. 16位变址寄存器:SI:担任源地址,目的地址 的偏移量. 16位变址寄存器:DI:担任目的地址,目的地 址 的偏移量. 算述逻辑单元ALU 状态标志寄存器 二、8086的引脚 最小模式 MN/MX为高电平,接VCC 最大模式 MN/MX接地 三、8086CPU的时序:总线读、写周期 四、复位 思考题: ? 1、画出8086最小系统的原理图。 ? 2、比较8086最小系统与某个单片机或 DSP芯片。 ? 3、说明8086系统存储器的“分段”与 “分体”概念。

本站文章于2019-11-22 17:52,互联网采集,如有侵权请发邮件联系我们,我们在第一时间删除。 转载请注明:微机道理-8086编制组织材料
已点赞:105 +1

上一篇:

下一篇:



关于我们

  • 关于我们
  • 品牌介绍
  • 诚聘英才
  • 联系我们

学生/家长

  • 帮我选学校
  • 帮我选专业
  • 投诉/建议

教育机构

  • 如何合作
  • 联系方式

其他

  • 投稿合作
  • 权利声明
  • 法律声明
  • 隐私条款
全国统一客服电话
4006-023-900
周一至周六 09:00-17:00 接听
IT培训联盟官方公众号
扫描访问手机版
家电维修|北京赛车pk10