《微型计算机基础》PPT课件.ppt

上传人:sh****n 文档编号:7428696 上传时间:2020-03-21 格式:PPT 页数:110 大小:2.71MB
返回 下载 相关 举报
《微型计算机基础》PPT课件.ppt_第1页
第1页 / 共110页
《微型计算机基础》PPT课件.ppt_第2页
第2页 / 共110页
《微型计算机基础》PPT课件.ppt_第3页
第3页 / 共110页
点击查看更多>>
资源描述
微机原理及应用 ThePrincipleandApplicationofMicrocomputer 主讲 刘勇 教师联系方式 任课教师 刘勇办公室 工程楼教师办公室联系电话 13563123255E mail rzliuyong 主要参考书1 杨素行等编著 微型计算机系统原理及应用 北京 清华大学出版社 2009年第3版 考核方式平时作业15 实验15 期末考试70 课程目标 1 了解一个微处理器 8086 8088 的基本结构 工作原理及组成一个简单的计算机的方法 2 熟悉一门汇编语言 8086 8088 学会编写和调试简单的汇编语言程序 3 掌握几种常用可编程输入 输出接口芯片的工作原理 与CPU系统的连接方法及编程使用方法 为什么学习微机原理及应用 专业水平的试金石各种专业考试 研究生入学考试 等级考试 三级PC技术 后续主干课程的重要基础计算机接口技术 单片机技术 DSP技术 以后工作的基础控制硬件设计 单片机开发 DSP开发 教学大纲第一章微型计算机基础第二章微型机指令系统第三章汇编语言程序设计第四章半导体存储器第五章输入输出系统 第一章微型计算机基础 1 1概述1 2计算机中的数制和编码1 2 1无符号数的表示及运算1 2 2带符号数的表示及运算1 2 3二进制编码1 2 4计算机中数的定点表示和浮点表示1 3微型计算机系统的组成 分类和配置1 4微处理器 1 1概述 世界上第一台现代意义的电子计算机是1946年美国宾夕法尼亚大学设计制造的ENIAC电子计算机的发展电子管计算机 1946年 晶体管计算机 1958年 集成规模电路计算机 1965年 微处理器芯片上集成晶体管数3000 30000个 超大规模集成电路计算机 1970年 微处理器芯片上集成晶体管数100000 100000000个 第一台电子计算机 ENIAC 第一台电子计算机 通用可编程序 18800电子管30吨150平方米150kw5000次 秒 微型计算机的发展 微型计算机的发展是以微处理器的发展来表征的微处理器的集成度每隔18个月就会翻一番 芯片的性能也随之提高一倍 摩尔定律微处理器 MicroProcessingUnit 即微型化的中央处理器 中央处理器CPU的英文全称是CentralProcessingUnit 它是将计算机中的运算器和控制器集成在一片硅片上集成的集成电路 摩尔定律 微处理器的集成度每隔18个月就会翻一番 芯片的性能也随之提高一倍 Intel微处理器的发展 微型计算机的常用术语 1 位和字节位 bit 是计算机所能表示的最小最基本的数据单位 它指的是取值只能为0或1的一个二进制数值位 位作为单位时记作b 字节 byte 由8个二进制位组成 通常用作计算存储容量的单位 字节作为单位时记作B KB是kilobyte 千字节 的缩写 1KB 1024B 2 10BMB是megabyte 兆字节 的缩写 1MB 1024KB 2 20BGB是Gigabyte 十亿字节 的缩写 1GB 1024MB 2 30BTB是Terabyte 太字节 的缩写 1TB 1024GB 2 40B 2 字长字长是微处理器一次可以直接处理的二进制数码的位数 它通常取决于微处理器数据总线的宽度 微处理器的字长有4位 8位 16位和32位等等 8086为16位微处理器 8088称为准16位微处理器 3 主频主频也叫做时钟频率 用来表示微处理器的运行速度 主频越高表明微处理器运行越快 主频的单位是MHz 4 微处理器的集成度指微处理器芯片上集成的晶体管的密度 最早Intel4004的集成度为2250个晶体管 PentiumIII的集成度已经达到950万个晶体管以上 集成度提高了3000多倍 SSI 小规模集成电路 晶体管数100个以下MSI 中规模集成电路 晶体管数100 3000个LSI 大规模集成电路 晶体管数3000 30000个VLSI 超大规模集成电路 晶体管数100000 100000000个ULSI 甚大规模集成电路 晶体管数100000000以上 5 微处理器的运算速度运算速度是计算机完成任务的时间指标 用计算机每秒所能执行指令条数来表示 MIPS指标 MIPS是MillionsofInstructionPerSecond的缩写 用来表示微处理器的性能 意思是每秒钟能执行多少百万条指令 1 2计算机中的数制和编码 1 2 1无符号数的表示及运算1 2 2带符号数的表示及运算1 2 3二进制编码 1 1 2 1无符号数的表示及运算1 无符号数的表示方法 1 计算机本身采用二进制为什么选用二进制 关键是由电路状态决定的 在计算机中 a 的二进制是01100001 2 计算机程序和资料中普遍采用十进制和十六进制虽然二进制在计算机底层使用 但对于人来说记忆使用太繁琐 所以在计算机程序中经常使用十进制 八进制和十六进制 进位计数制 按进位的原则进行计数 逢N进1 常用进位计数制有 十进制数 有10个不同的数学符号 即0 9二进制数 有2个不同的数学符号 即0和1十六进制 有16个不同的数学符号 即 0 1 2 9 A B C D E F八进制数 有8个不同的数学符号 即 0 1 2 7 2 数制转换 1 任意进制数转换为十进制数 转换规则 将各位数字与位权相乘求和 所得和数即为转换结果 2 十进制整数转为任意进制 R 数 转换规则 除R取余法 即用十进制数反复地除以R 记下每次得的余数 直至商为0 将所得余数按最后一个余数到第一个余数的顺序依次排列起来即为转换结果 若要转换成二进制数 则用 除二取余法 3 十进制小数转换成任意进制 R 小数 转换规则 乘R取整法 即用十进制小数乘以R 得到一个乘积 将乘积的整数部分取出来 将乘积的小数部分再乘以R 重复以上过程 直至乘积的小数部分为0或满足转换精度要求为止 最后将每次取得的整数依次从左到右排列即为转换结果 若要转换成二进制小数 则采用 乘2取整法 4 一个十进制数既有整数部分 又包括小数部分 要将其转换成R进制数 转换规则 将该十进制数的整数部分和小数部分分别进行转换 然后将两个转换结果拼接起来即可 例如 将13 8125D转换成二进制 因为13D 1101B0 8125D 0 1101B所以13 8125D 1101 1101B 总结 以上介绍了十进制数与R进制数 在此主要是指二进制 八进制及十六进制数 的相互转换方法 为便于记忆 可简单归纳为 R至十 位权展开求和 十至R用连除连乘法 并特别注意转换结果的排列规则 除R取余法是 先余为低 后余为高 乘R取整法是 先整为高 后整为低 5 二进制数与八进制 十六进制数之间的转换 因为2 3 8 所以每一位八进制数可以用一个3位二进制数表示 因为2 4 16 所以每一位十六进制数可以用一个4位二进制数表示 二进制数与八进制 十六进制数之间的转换规则 3 二进制数的运算 1 算术运算 2 逻辑运算 练习把 1101101110 11 2和 4EB7 16转换为十进制数 把255 786转换为二进制 1 2 2带符号数的表示及运算 日常生活中遇到的数 除上述的无符号数外 还有大量的带符号数 数的符号在计算机中也用二进制数表示 通常用二进制的最高位表示数的符号 把一个数及其符号在机器中的表示加以数值化 这样的数称为机器数 而机器数所代表的数称为该机器数的真值 机器数可以用不同方法表示 常用的有原码 反码和补码表示法 1 带符号数的表示法 原码 反码和补码 原码 以数值的符号加上数值的二进制表示组成的编码 1 原 00000001 1 原 10000001负数反码 原码的符号位不变 数值位取反 0变1 1变0 1 反 00000001 1 反 11111110负数补码 反码加1 1 补 00000001 1 补 11111111正数的原码 反码和补码的表示相同的 那计算机中为什么要引入反码和补码呢 直接用1位0 1码表示正 负 而数值部分不变 在运算时带来一些新的问题 1 两个正数相加时 符号位可以同时相加 0 0 0 即其和仍然为正数 没有影响运算的正确性 2 一个正数与一个负数相加 和的符号位不是两符号位直接运算的值 0 1 1 而由两数的数值大小决定 即其和的符号位是由两数中绝对值大的一个数所决定的 3 两个负数相加时 由于1 1 10 因此其和的符号也不是由两符号位直接运算的结果所决定的 简单地说 用原码形式进行加运算时 负数的符号位不能与其数值部分一道参加运算 而必须利用单独的电路确定和的符号位 这样使计算机的结构变得复杂化了 为了解决机器内负数的符号位参加运算的问题 引入了反码和补码两种机器数形式 1 原码 结论 原码为符号位加数的绝对值 符号位用 0 表示正 用 1 表示负 原码零有两个编码 0 和 0 的编码不同的 原码难以用于加减运算 n位原码表示数的范围是真值和其原码表示之间的对应关系简单 容易理解 2 反码 结论 反码为符号位 0 正 1 负 数值位取反 反码零有两个编码 0 和 0 的编码不同的 n位反码表示数的范围是 3 补码 结论 补码的最高位表示符号位 0 正 1 负 补码零有唯一的编码 0 和 0 的编码相同的 n位补码表示数的范围是 2 真值与补码之间的转换 1 真值转换为补码按照补码的定义可直接由真值求得有符号数的补码 2 补码转换为真值正数的补码 真值负数的补码如何转换为真值 根据求补运算 是将一个二进制数按位求反 包括符号位 再加1的运算 其中 X是带符号数 正负皆可 验证求补运算 1 设X 1 则 X 1 2 设X 1 则 X 1 例1 1求下列数的补码 1 设X 127D 求 X 补 2 设X 127D 求 X 补例1 2求以下补码的真值 1 设 X 补 01111110 求X 2 设 X 补 10000010 求X 3 补码的运算 1 补码的加法 X Y 补 X 补 Y 补 在数值的加减运算中 由最高位向更高位的进位由于机器字长的限制而自动丢失 不会影响运算结果的正确性 2 补码的减法 X Y 补 X 补 Y 补 由上述分析 可以看出 计算机中的带符号数用补码表示时 有许多优点 第一 负数的补码与对应正数的补码之间的转换可以用同一方法 求补运算实现 因而可简化硬件 第二 可以将减法变为加法运算 从而省去了减法器 第三 无符号数及带符号数的加法运算可用同一电路完成 结果都是正确的 例如 两个内存单元的内容分别为11110001及00001100 无论它们代表无符号数还是带符号数 运算结果都是正确的 溢出概念 例如 120 补 10 补01111000 0000101010000010 如果运算结果超出了所能表示的数值范围 则产生溢出 运算结果不正确 1 2 3二进制编码 计算机处理的信息并不全是数 有时需要处理字符或字符串 例如从键盘输入或打印输出的信息都是以字符方式输入输出的 字符包括 大小写英文字母 数字 运算符 标点符号等 这些字符在机器里必须用二进制数来表示 目前微机中最常用的是ASCII码 AmericanStandardCodeforInformationInterchange 美国信息交换标准代码 另外 尽管计算机采用的二进制数的表示方法及运算规则简单 但是其书写冗长 不直观且易出错 因此计算机的输入 输出时仍采用人们习惯的十进制数 当然 十进制数在计算机中也需要用二进制编码表示 计算机通常用8421BCD码来表示十进制数 二进制编码的十进制数是指用等值的4位二进制数来表示1位十进制数 压缩的BCD码 压缩的BCD码的每一位十进制数用4位二进制表示 一个字节表示两位十进制数 例如 10010110B表示十进制数据96 非压缩的BCD码 非压缩的BCD码用1个字节表示一位十进制 高4位总是0000 低4位的0000 1001表示0 9 例如 00001000B表示十进制8 1 二进制编码的十进制数 BCD码 BCD码的用途 1 在以二进制工作的机器内 数从十进制到二进制或从二进制到十进制转换时 BCD码用作中间表示 提高数据转换的效率 2 使用BCD码为了压缩数据 一个手机号通常是11位数字 如果不用BCD码表示就会占用11Byte 但是经过BCD编码后只占用6Byte 几乎节省了一半的空间 这不论对于信息的携带还是海量信息的存储都有巨大作用 2 字母与符号的编码 ASCII码 在计算机中 各种字符也必须用二进制代码来编码 如26个英文字母 10个阿拉伯数字 运算符号 标点符号以及一些特殊的控制符 如换行 换页 回车等 ASCII码 AmericanStandardCodeforInformationInterchange 即美国信息交换标准代码 ASCII码用8位二进制对字符进行编码 数字0 9的ASCII码为30 39H 大写英语字母A Z的ASCII码为41H 5AH 小写英文字母a z的ASCII码为61H 7AH 50 IBMPCASCII码字符表 P362 附录1 10H 1FH 十六进制 0AH 1 3微型计算机系统的组成 分类和配置 微型计算机系统的组成 1 微处理器 CPU CPU是微型计算机的核心芯片 它包含运算器 控制器和寄存器三个主要部分 运算器 也称为算术逻辑单元ALU ArithmeticandLogicUnit 完成数据的算术和逻辑运算 控制器 一般由指令寄存器 指令译码器和控制电路组成 控制器根据指令的要求 对微型计算机各部件发出相应的控制信息 使它们协调工作 从而完成对整个计算机系统的控制 寄存器 用来存放经常使用的数据 2 存储器存储器 Memory 又称为主存 是微型计算机的存储和记忆装置 用以存放数据和程序 微型机通过各个内存单元规定不同地址来管理内存 这样 CPU便能识别不同的内存单元 内存单元的地址和内容 内存单元的地址和内存单元的内容是两个完全不同的概念 图1 6 第6号内存单元的地址是00006H 而其内容是11001111B 即CFH 内存的操作 读或写操作 读操作是CPU将内存单元的内容读入CPU内部 而写操作是CPU将其内部信息送到内存单元保存起来 显然 写操作的结果改变了被写内存单元的内容 是破坏性的 而读操作是非破坏性的 即 该内存单元的内容在信息被读 走 之后仍保持原信息 内存的分类 RAM和ROM 随机存储器RAM RandomAccessMemory 和只读存储器ROM ReadOnlyMemory RAM可以被CPU随机地读写 故又称为读写存储器 这种存储器用于存放用户装入的程序 数据及部分系统信息 当机器断电时 所存信息消失 ROM中的信息只能被CPU读取 而不能由CPU任意写入 故称为只读存储器 机器断电 信息仍保留 这种存储器用于存放固定的程序 如 基本的I O程序 BASIC解释程序以及用户编写的专用程序 ROM中的内容只能用专用设备写入 3 输入 输出 I O 设备和输入 输出接口 I OInterface I O设备是微型机系统的重要组成部分 程序 数据及现场信息要通过输入设备输入给微型机 CPU计算的结果通过输出设备输出到外部 常用的外部设备有键盘 鼠标等 常用的输出设备有显示器 打印机等 外设处理的信息是数字量 模拟量 开关量等 而微型计算机只能处理数字量 外设的速度慢 而微型计算机的速度快 外设有时是串行数据 而微型计算机处理的是并行数据 鉴于以上原因 微型计算机与外设间的连接及信息交换不能直接进行 而须设计一个 接口电路 作为微型计算机之间的桥梁 微型计算机的外部结构框图 综上所述 微型计算机硬件主要由CPU 内存 I O接口和I O设备组成 微型计算机各部件之间是用系统总线连接的 系统总线就是传送信息的公共导线 一般有三组总线 地址总线AB AddressBus 传送CPU发出的地址信息 是单向总线 数据总线DB DataBus 传送数据信息 是双向总线 CPU既可通过DB从内存或输入设备接口电路读入数据 又可通过DB将CPU内部数据送至内存或输出设备接口电路 控制总线CB ControlBus 传送控制信息 其中 有的是CPU向内存及外设发出的信息 有的是外设等发送给CPU的信息 因此 CB中每一根线的传送方向是一定的 微型计算机的系统结构图如上所示 图中CB作为一个整体 用双向表示 微型计算机的工作过程就是执行程序的过程 而程序由指令序列组成 因此 执行程序的过程 就是执行指令序列的过程 即逐条地从存储器中取出指令并完成指令所指定的操作 由于执行每一条指令 都包括取指 译码和执行三个基本步骤 所以 微型计算机的工作过程 也就是不断地取指 译码和执行的过程 直到遇到停机指令时才结束机器的运行 微型计算机的工作过程 1 4微处理器 1 4 18086 8088的功能结构1 4 28086 8088的引脚信号1 4 38086 8088的工作方式1 4 48086 8088的存储器管理 1 4 18086 8088的功能结构 8086 是Intel系列16位处理器 其集成度29000个管 片 数据总线 16位地址总线 20位 可直接寻址的地址空间1M 2 20 字节8088 准16位机 CPU内部数据总线16位 外部8位 20位地址总线 推出8088的目的是为了向下兼容以前的8位微型机 在编程结构下 按功能分可将8086分为两个部分 总线接口部件BIU BusInterfaceUnit 和执行部件EU ExecutionUnit 总线接口部件 BIU 的功能和组成 功能 总线接口部件负责CPU与存储器 输入 输出设备之间的数据传送 包括对存储器读写数据操作 对I O接口的读写操作以及取指令操作 执行部件 EU 的功能和组成 功能 负责指令的执行的部件 Intel8088的功能结构 BIU和EU协调工作的管理原则 1 当8086指令队列中有2个字节 8088有1个字节 为空时 BIU自动将指令取到指令队列中 2 当EU执行一条指令时 它先从指令队列的队首取出指令代码 再用几个时钟周期去执行指令 在指令执行的过程中 如果必须访问存储器或I O设备 则EU请求BIU进入总线周期去完成访问内存或I O端口的操作 如果BIU此时正好空闲 则立即响应总线请求 如果此时BIU正在取指令 需完成当前取指令周期 然后去响应EU的总线请求 3 当指令队列已满 而且EU对BIU无总线请求 BIU进入空闲状态 4 当执行转移 调用和返回指令时 指令队列清零 BIU再向指令队列中装入另一个程序段的指令 原因是下面要执行的指令不是指令队列中的下一条指令了 指令队列的存在使8086 8088的EU和BIU并行工作 从而减少了CPU为取指令而等待时间 提高了CPU的利用率 加快了整机的运行速度 在整个程序运行期间 BIU总是忙碌的 效率很高 执行部件 EU 的组成 组成 通用寄存器组 算术逻辑运算单元 ALU 标志寄存器 FLAGS 和内部控制逻辑EU五部分组成 1 数据寄存器一般用于存放参与运算的数据或运算的结果 4个数据寄存器AX BX CX DX既可以作为16位寄存器使用 也可以作为8位寄存器使用 用作8位寄存器时分别记为AH AL BH BL CH CL DH DL AX AH AL 累加器 有些指令约定AX 或AL 寄存器为累加器 如乘法 除法 输入 输出等指令 累加器 既向ALU提供操作数 又接收存放ALU的运算结果 MULBL BL AL AXBX BH BL 基址寄存器 可用作基址寻址的基址寄存器 在计算内存地址时 常用来存放基址 MOVAX BX CX CH CL 计数寄存器 循环和串操作中用作计数器 DX DH DL 数据寄存器 除用作通用寄存器外 在I O指令中用作端口地址寄存器 乘除指令中用作辅助累加器 INAL DXMULBX BX AX DX AX 2 指针寄存器堆栈指针寄存器SP StackPointer 基址指针寄存器BP BasePointer BP SP常用来指示堆栈段中相对于段起始地址的偏移量 BP一般用于访问堆栈段任意单元 SP用于访问堆栈段栈顶单元 MOVAX BP 3 变址寄存器源变址寄存器SI SourceIndex 目的变址寄存器DI DestinationIndex SI DI常用于变址寻址方式 访问数据段任意单元 MOVAX SI MOVAX DI 3 标志寄存器 FLAGS FLAGS共16位 其中7位未用 0 7位与Intel的8位微型机相同 状态标志 CF CarryFlag 进位标志 如果加法操作使最高位产生进位 或减法操作从最高位有借位时 CF为1 否则CF为0 PF ParityFlag 奇 偶标志 如果运算结果中所含的1的个数为偶数 则PF为1 否则为0 AF AuxiliaryCarryFlag 辅助进位标志 字节运算时 低半个字节向高半个字节有进位或有借位时 AF 1 否则AF 0 字运算时 低字节向高字节有进位或有借位时 AF 1 否则AF 0 状态标志 ZF ZeroFlag 零标志 如果当前运算的结果为零 则ZF为1 否则为0 SF SignFlag 符号标志位 当运算结果的最高位为1时SF 1 否则SF 0 指出当前运算执行后的结果是正还是负 OF OverflowFlag 溢出标志 在运算过程中 如果操作结果超过了带符号数的范围则称为溢出 OF被置为1 否则OF置为0 如果8位带符号数的范围是 128 127 16位带符号数的范围是 32768 32767 控制标志 DF DirectionFlag 方向标志 控制串操作命令方向的标志 如果DF为0 串操作过程中地址自增 DF为1 串操作过程中地址自减 IF InterruptFlag 中断标志 控制可屏蔽中断的标志 如果IF为0 CPU不能对可屏蔽中断做出响应 IF为1则可以接受可屏蔽中断请求 TF TrapFlag 跟踪标志 如果TF为1 则CPU处于单步执行指令的工作方式 这种方式便于进行程序调试 每执行一条指令后 自动产生一次内部中断 从而使用户能逐条指令地检查程序 运算结果的标志位如下 CF 1 PF 1 AF 1 ZF 0 SF 0 OF 0 可以看出如作为无符号数运算 则相当于完成十进制数202 120 结果322 显然超出了8位二进制数所能表示的最大无符号数255 运算结果溢出 CF 1 当看为有符号数运算时 相当于十进制数 54 120 结果 66 不溢出 OF 0 判断溢出的方法 两个同号数相加 运算结果的符号如果与加数 被加数的符号不同 则产生溢出 运算结果的标志位如下 CF 0 PF 1 AF 1 ZF 0 SF 1 OF 1 可以看出如作为无符号数运算 则相当于完成十进制数20682 28018 结果48700 显然没有超出了16位二进制数所能表示的最大无符号数65535 运算结果没有溢出 CF 0 当看为有符号数运算时 结果48700已经超出了16位有符号数表示的范围 32768 32767 结果溢出 OF 1 例1 执行两个数的加法 分析对标志位的影响 例2 执行两个数的加法 分析对标志位的影响 总线接口部件 BIU 的组成 组成 段寄存器 CS DS SS ES 指令指针寄存器 IP 地址加法器 内部暂存器 指令队列缓冲器及I O控制逻辑等部分组成 1 段寄存器CS 代码段寄存器DS 数据段寄存器SS 堆栈段寄存器ES 扩展段寄存器采用段寄存器的优点为 解决了16位寄存器如何访问大于64KB的内存空间的问题 可以实现程序重定位 即一个小于64KB的程序可通过改变段寄存器的内容放到1MB空间中的任意段位置 从而为同时运行多道程序提供了方便 IBMPC机对段的起始地址有限制 即段不能从任意地址开始 必须从任一小段 paragraph 的首地址开始 从0地址开始每16字节为一小段 对于16位地址总线 段内存储器小段地址如下 2 地址加法器用于产生20位物理地址 物理地址的获得方法是 将段寄存器的内容左移4位 与偏移地址 即对段首的偏移量 在地址加法器内相加 产生20位物理地址 根据寻址方式的不同 偏移地址可以来自程序计数器 IP 或其他寄存器 假设CS 8200H IP 1234H 则物理地址为83234H 3 指令队列缓冲器8086有6字节缓冲器 8088有4字节缓冲器 在执行部件执行指令的同时 可以从内存中取出下一条或下几条指令放到缓冲器 一条指令执行完成后 可立即译码执行下一条指令 从而解决了以往CPU取指令期间 运算器的等待问题 由于取指令和执行指令并行进行 从而提高了CPU的效率 4 输入 输出控制电路 总线控制逻辑 输入 输出控制电路控制CPU与外部电路数据交换 8086有20条地址线 16条数据线 由输入 输出控制电路控制分时复用CPU芯片的16条引脚 5 内部暂存器用于内部数据的暂存 该部分对用户透明 用户无权访问 6 指令指针寄存器 IP 又称指令计数器 存放预取指令的偏移地址 自动加1 3 1 4 28086 8088的引脚信号 40根线 一线多用 引脚可以分为如下五类 1 只传送一种信息 如32脚只传送CPU发出的读信号RD 2 每个引脚电平的高低代表不同的信号 如28脚的IO M 3 8086 8088的两种不同工作方式 最小模式和最大模式下有不同的名称和定义 例如 29脚为WR LOCK 4 每个引脚可以传送两种信息 这两种信息在时间上是可以分开的 因此可以用一个引脚在不同时刻传送不同的信息 一般称这类引脚为分时复用线 如AD7 AD0是地址和数据的分时复用线 当CPU访问内存或I O设备时 在AD7 AD0上首先出现的是被访问的内存单元或I O设备的低8位地址 然后 在这些线上出现CPU进行读写的8位数据 5 输入输出时分别传送不同的信息 如RQ GT0 输入时传送总线请求信号RQ 输出时传送总线请求允许信号GT0 GND Vcc 引脚1 20 40 第1 20引脚为地 第40引脚为电源 AD0 AD7 低8位地址 数据复用端 双向工作 A15 A8 高8位地址输出端 A19 S6 A16 S3 引脚35 38 地址 状态复用引脚 输出在总线周期的T1状态输出要访问的存储器或I O端口的地址 T2 T4状态 用来输出CPU的状态信息 其中 S6 总为0 表示当前8086 8088与总线是相连的S5 中断允许标志的当前设置 IF 1表示允许可屏蔽中断请求S4 S3 合起来表示当前正在使用哪个段寄存器 NMI Non MaskableInterrupt 引脚17 不可屏蔽的中断输入引脚上升沿触发 不受IF影响 INTR InterruptRequest 引脚18 可屏蔽的中断请求信号输入引脚高电平有效 受IF影响 CLK Clock 引脚19 时钟 输入RESET Reset 引脚21 复位信号 输入高电平有效 复位信号要求至少维持4个时钟周期 CPU将结束当前操作 并将FLAG IP DS ES SS及指令队列清零 CS置为FFFFH 当复位信号变低电平时 CPU从FFFF0H开始执行程序 READY Ready 引脚22 准备好 信号 输入高电平有效 是由CPU要访问的存储器或者I O设备发来的响应信号 当其有效时 表示存储器或者I O设备已准备好 CPU可以进行数据传送 若还未准备好 则使READY信号为低电平 CPU采集到低电平的READY信号后 自动插入TW 直到READY变为高电平后 CPU才脱离等待状态 完成数据传送过程 TEST Test 引脚23 测试信号 输入低电平有效 结束等待状态 和WAIT指令结合使用 用于CPU与外部硬件同步 CPU执行WAIT指令时 处于等待状态 当TEST信号有效时 结束等待状态 CPU继续执行被暂停的指令 RD Read 引脚32 读信号 输出读信号是一个低电平有效的输出信号 当RD为低电平时 表明CPU正在对内存或外设进行读操作 MN MX Minimum Maximum 引脚33 最大和最小模式控制信号 输入 接 5V电压 则CPU处于最小模式 接地 则处于最大模式 第24 31引脚信号功能与8088的工作模式有关 在相应工作模式中介绍 1 4 38086 8088的工作方式 8086 8088可以在两种模式下工作 最大模式和最小模式 1 最小模式 整个微型计算机系统只有一个CPU 所有的总线控制信号都直接由这个CPU产生 因此 系统的总线控制电路被减到最小 2 最大模式 包括两个以上的CPU 其中一个为主处理器8086 8088 其他的称为协处理器 协助主处理器进行工作 如 8087 数字运算协处理器 3 实现 8086 8088第33引脚 MN MX 接地为最大模式 接 5v电压为最小模式 8087协处理器 浮点数据处理的微处理器 使一般的算术运算及常用的函数都由硬件直接完成 运算速度提高10 100倍甚至更高 例如 当系统时钟为5MHz时 8087进行平方根运算只用36us 若用8086 8088指令编程完成该运算则需要19600us 最小模式下的系统配置 配置组成 1 一片8284A时钟发生器 产生系统所需要的时钟信号CLK 同时对外部READY信号和系统复位信号RESET进行同步 它的输出送向8086相应引脚 2 三片8282地址锁存器 用于20位地址信号锁存 使得整个总线读写周期地址信号始终有效 以支持8088CPU地址 数据总线分时复用的工作方式 3 两片8286总线驱动器又称总线收发器 当系统所含存储器和外设较多时 为了提高数据总线的驱动能力 可以接入8286芯片 8282与8088的连接 8286与8088的连接 最小工作模式下第24 31引脚信号功能INTA InterruptAcknowledge 引脚24 中断响应信号 输出 是对中断请求设备的响应 INTA 信号实际上是位于连续周期中的两个负脉冲 第一个负脉冲通知外部设备的接口 它发出的中断请求已经得到允许 外设接口收到第二个负脉冲后 往数据总线上放中断类型码 ALE AddressLatchEnable 引脚25 地址锁存允许信号 输出 高电平有效 ALE是8086 8088提供给地址锁存器8282的控制信号 在总线周期的T1状态 ALE输出高电平 表示当前地址 数据复用总线上输出的是地址信息 8282将地址进行锁存 对地址进行备份 DEN DataEnable 引脚26 数据允许信号 输出 低电平有效 提供控制信号 通知收发器 CPU准备接收或发送一个数据 在读周期 DEN从T2状态的中间开始变为低电平 一直保持到T4的中间 在写周期时 DEN在T2的一开始就变为低电平 一直保持到T4的中间 DT R DataTransmit Receive 引脚27 数据收发信号 输出 数据收发方向的控制信号 通知总线收发器是接受还是发送数据 为高电平 则进行的数据发送 否则是接收数据 IO M Memory InputandOutput 引脚28 输入输出 存储器控制信号 输出 用来区分CPU访问存储器还是I O端口 高电平 CPU与I O端口传送数据 低电平 CPU与存储器传送数据 WR Write 引脚29 写信号 输出 低电平有效 WR有效时 表示CPU当前正在进行对存储器或I O之间的写操作 有效电平保持在T2 T3 TW状态 HOLD HoldRequest 引脚31 总线保持请求信号 输入 高电平有效 当系统中其他部件需要占用总线时 通过该引脚向CPU发出的总线请求信号 比如DMA控制器就是通过这种方式申请总线占用的 HLDA HoldRequestAcknowledge 引脚30 总线保持响应信号 输出 为高电平有效 当CPU查询到HOLD信号时 如果CPU允许其他部件占用总线 则在当前总线周期结束时 于T4状态从HLDA引脚发出高电平响应信号 同时 CPU的所有三态总线进入浮置状态 申请部件接到HLDA后接管总线 直到操作完成 撤销HOLD信号 CPU才接管总线 最大模式下的系统配置 8288与8086的连接 与最小模式系统相比 最大模式的配置中增加了总线控制器芯片8288 所有总线控制信号均由S2 S1 S0 信号经8288译码处理后产生的 采用8288可以实现多处理器配置 8288用于协调各处理器间的工作 即使不配多处理器 增加8288之后也可增强控制总线的驱动能力 8282地址锁存器和8286总线缓冲器的接法和最小模式下的接法相似 只是其控制信号不是来自CPU 而是来自总线控制器8288 即8282的地址锁存信号STB来自8288 8286输出使能信号OE 由8288数据输出使能信号DEN反相后获得 而传输方向控制信号T由8288DT R 信号产生 最大工作模式下第24 31引脚信号功能QS1 QS0 InstructionQueueStatus 引脚24 25 指令队列状态信号 输出 组合提供了前一个时钟周期的指令队列的状态 S2 S1 S0 BusCycleStatus 引脚26 27 28 总线周期状态信号 输出组合指出了当前总线周期中所进行的数据传输过程的类型 用来产生对存储器和I O接口的控制信号 低电平代表1 LOCK Lock 引脚29 总线封锁信号 输出 为低电平时 系统中其他的总线主设备不能获得系统总线的控制权而占有总线 LOCK 信号由前缀指令LOCK产生 LOCK指令后面的一条指令执行完后 LOCK 信号失效 另外 在DMA期间 LOCK 浮空 RQ GT1 RQ GT0 Request Grant 引脚30 31 总线请求信号输入 总线请求允许信号输出 双向 这两个信号端可供8086 8088以外的两个总线主设备向8086 8088发送使用总线的请求信号RQ 相当于最小模式时的HOLD信号 而8086 8088在现行总线周期结束后让出总线 发出总线请求允许信号GT 相当于最小模式时的HLDA信号 此时 外部的总线主设备便获得了总线的控制权 1 4 48086 8088的存储器管理 8086 8088CPU有20条地址线 存储器地址的编址范围是00000H FFFFFH 共1M字节的存储空间 但8086 8088内部的寄存器都是16位的 显然无法直接对1M的内存空间进行寻址 因而引入了分段的概念 引入分段后 一个存储单元的地址就可以用段地址和偏移量两部分来表示 段地址由段寄存器 CS DS SS ES 提供 偏移量由IP SP BP SI DI BX等寄存器提供 不同的指令有不同的组合方式 计算一个存储单元的物理地址时 先将其段寄存器的内容左移四位 相当于乘十进制数16 得到一个20位的值 然后加上16位的偏移量 同一物理地址可以由不同的段地址和偏移量表示 例如 CS 3000H IP 2000H 物理地址 32000HCS 3100H IP 1000H 物理地址 32000HCS 3200H IP 0000H 物理地址 32000H段地址的引入 为程序在内存中浮动创造了条件 因为一般用户程序只涉及偏移地址 段地址在程序装入内存时由操作系统分配 所以一个程序可在内存中任何一个逻辑段 64KB 中运行 归纳段寄存器和其他寄存器组合指向存储单元示意图如下 联系实验 13181100606孔红英老师
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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