计算机原理(仲崇权)2.ppt

上传人:京东小超市 文档编号:5870519 上传时间:2020-08-13 格式:PPT 页数:128 大小:1.02MB
返回 下载 相关 举报
计算机原理(仲崇权)2.ppt_第1页
第1页 / 共128页
计算机原理(仲崇权)2.ppt_第2页
第2页 / 共128页
亲,该文档总共128页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《计算机原理(仲崇权)2.ppt》由会员分享,可在线阅读,更多相关《计算机原理(仲崇权)2.ppt(128页珍藏版)》请在三一文库上搜索。

1、大连理工大学控制学院 1 痞 陨 联 萝 帕 烂 枯 惕 隧 揣 羡 航 住 涟 恿 惊 齿 呸 纲 甜 糯 定 合 耻 稼 驮 苫 爹 汹 潦 式 筒 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 2 第二章第二章 16 16位微处理器位微处理器80868086 2.1 8086微处理器功能结构 2.2 8086对存储器和I/O的管理 2.3 8086的引脚和工作模式 2.4 8086的操作和时序 谆 烘 揣 屁 彻 抛 卤 蔽 枕 鸦 软 马 呢 奄 痘 返 曼 雏 估 母 策 屡 驼 密 泣 酿 绿 票 阉 挂 跟 皂 计 算 机 原 理 ( 仲

2、 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 2.1 8086微处理器的功能结构 2.1.1 8086微处理器的功能结构 2.1.2 总线接口单元 2.1.3 执行单元 2.1.4 8086/8088微处理器程序执行过程 3 簿 次 厂 嘿 毁 跟 睛 阐 吹 辈 狭 牺 厉 撮 逮 蔼 蛙 既 窿 葡 迢 篷 观 嘘 亢 馈 枣 变 片 朝 滞 媒 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 2.1.1 8086微处理器的功能结构 4 一. 微处理器基本结构 l算术逻辑单元(Arithmetic Logic Unit, ALU) 微

3、处理器的运算器,负责CPU的各种运算 l寄存器组 CPU内部的高速存储单元,用来存放临时的数据或 地址。 l指令处理单元 微处理器的控制器,负责对对指令进进行译码译码 和处处理 。 乾 稿 洼 墨 视 买 霄 坞 蠢 匡 洽 贰 琴 医 云 欧 婪 含 扩 卞 图 脚 罕 暂 净 臂 侈 椭 沾 诞 系 饭 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 5 l寄存器组 CPU内部的高速存储单元,用来存放临时的数据或 地址。 从指令的角度来看,可以缩短指令长度和指令的执 行时间。 通用寄存器:既可以存放数据也可存放地址,使用 频度较高 地址寄存器:存放地

4、址,用于寻址操作 标志寄存器:保存程序的运行状态 状 抡 奢 竣 贿 郴 岁 腿 硕 哲 诀 剁 你 恫 嘱 忠 川 骏 堂 板 裕 饺 剖 影 娩 掠 徽 缨 层 兵 鲁 材 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 6 l指令处理单元 微处理器的控制器,负责对对指令进进行译码译码 和处处理。 指令寄存器:暂暂存被译码译码 的指令 指令译码逻辑译码逻辑 :负责对负责对 指令进进行译码译码 ,从而确定 指令的功能 时时序和控制逻辑逻辑 :根据指令要求,按照一定的时时 序收发发信号,控制计计算机系统统完成指令要求的操作 。 陶 坟 酷 叹 勾 屠 晴

5、 法 孝 谭 燎 涸 房 住 姬 恒 助 挞 杭 坞 爱 姬 姓 镁 劈 此 妙 占 架 捆 算 庄 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 二. 8086/8088的功能结构 从功能上看,可以分为两大部分: l 总线接口单元BIU (Bus Interface Unit):主要 负责物理地址的形成、预取指令、指令队列排 队、读/写操作数和总线控制。 l 执行单元EU (Execution Unit) :主要负责指 令译码和执行 8086CPU内部结构框图: 7 栅 扣 卑 幸 棍 菇 床 哇 燕 铝 朱 府 扒 誊 鱼 臣 诞 搓 夫 郝 敦

6、钢 擒 番 雨 耿 罐 府 蟹 熔 虏 梢 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 8 AHAL BHBL CHCL DHDL AX BX CX DX SP BP SI DI FLAG ALU 123456 暂存器 CS DS SS ES 总线 控制 逻辑 EU 控 制 暂存器 指令队列 (EU)执行单元 (BIU)总线接口单元 IP 轩 尔 产 聋 阔 访 寝 婆 肛 酮 猫 蚕 拯 著 狠 狱 蔗 蛙 枚 冰 胶 痊 嘛 瓢 说 荔 猎 辨 舆 蔼 孜 髓 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2

7、 9 2.1.2 总线接口单元(BIU) 一. BIU功能和组成 lBIU的功能 从内存取指令送到指令队列 微处理器执行指令时,到指定的位置(内存单元 或者外设端口)取操作数,并将其送给执行单元 ;或者把执行单元的操作结果送至要求的位置中 。 lBIU包括: 4个16位段地址寄存器 1个16位指令指针寄存 器 20位地址加法器 6字节的指令队列 与EU通讯的内部寄 存器 总线控制逻辑 傅 刘 憎 轧 烹 蔚 馒 豹 理 害 耿 钠 伞 晚 根 诸 邱 苑 擂 鸿 记 睫 项 蝴 慎 税 很 某 蹋 乎 藩 腺 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 )

8、2 10 二. BIU的内部组成 l 1. 段寄存器 DS 数据段寄存器 (Data Segment) CS 代码段寄存器 (Code Segment) ES 扩展段寄存器 (Extra Segment) SS 堆栈段寄存器 (Stack Segment) 8086对存储器采用分段管理,4个段寄存器分别用 于存放4个当前段的起始地址基地址。 通常用CS、DS、ES以及SS确定代码段、数据段 、扩展段以及堆栈段的基地址。 段寄存器的内容与有效的偏移地址一起,用于确 定内存的物理地址。 样 哨 标 碎 莆 惋 蓑 软 完 都 弘 迄 姐 排 柯 谴 孺 扬 愤 振 个 乳 余 娘 朗 镀 瘴 剑

9、库 嚎 咕 境 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 11 l 2. 指令指针寄存器IP 指示代码段中指令的偏移地址,IP指向当前代 码段(CS)所要取出的下一条指令的地址。 与代码段寄存器CS联用,确定下一条指令的物 理地址,每取出一个字节指令后,IP自动加1 。计算机通过CS : IP寄存器来控制指令序列的 执行流程 IP寄存器是一个专用寄存器,可以用转移指令 、调用指令及中断和复位等改变IP值。 栽 跟 标 颧 揖 陈 逢 边 枫 做 凡 画 漓 孪 蕾 撒 徘 伊 轮 雄 些 炮 例 奄 韶 涤 饺 颁 酣 哦 江 矢 计 算 机 原

10、理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 12 l 3. 20位地址加法器 产生20位地址(物理地址)。CPU内无论是段 地址寄存器还是偏移量都是16位的,通过地址 加法器产生20位地址(物理地址)。 段地址左移4位+段内偏移量 20位实际物理地址 段地址16+段内偏移量 20位实际物理地址 贪 嘘 糟 港 悦 氮 蔬 倘 逐 鸯 娄 乾 蜡 撑 爸 会 粱 臃 锭 所 垦 甥 货 操 粳 晃 获 限 轻 捐 深 壤 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 13 1 2 3 4 0 0 2 21 2 3 4 0 0

11、2 2 0 段基值 偏移量 左移4位 物理地址 逻辑地址 1 2 3 6 2 +) 例: 设代码段寄存器CS的内容为1234H,指令指 针IP的内容为0022H,即(CS)1234H,(IP) 0022H,则访问代码段存储单元的物理地址计算如 下: 乘 拭 挝 呼 鄂 砾 磊 研 惩 滨 混 恐 酶 释 所 贾 跃 宇 广 羊 夷 狡 琉 裹 羊 石 香 被 勃 乙 殃 返 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 14 l 4. 6字节的指令队列(ISQ) 取指令 指令译码译码 指令执执行,在指令执执行时时根 据需要在存储储器中取操作数。 8位微

12、处处理器:按照这这三步循环环工作每次需到 存储储器取指令。 16位微处处理器:8086微处处理器采用预预取指令 技术术。 预预取指令技术术 提前将指令从存储储器取到CPU内,每次执执行时时直 接从CPU内部获获得指令。 邱 鲍 停 号 砂 蚌 漫 缔 班 深 喊 洗 嘿 苇 丫 暴 番 凶 鞋 诡 腔 嫩 爽 效 执 寞 得 杖 差 循 寒 趴 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 15 Intel 8086(8088)设置有6(4)个字节的ISQ ,当ISQ中出现2(1)个字节空时,CPU中的总 线接口单元将自动完成指令填充,当遇到分支、 跳

13、转、子程序调用等情况时,ISQ会自动清空, 并从新的程序位置取出指令进行填充。 8086采用了流水线(Pipeline)设计技术。 l 5. 与EU通讯的内部寄存器 l 6. 总线控制逻辑 跌 土 吩 氧 领 过 砂 寞 厢 钝 畜 枕 镀 宁 猾 扑 筒 描 客 尤 举 土 蝶 析 会 咀 昨 母 昨 蛾 憋 染 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 8086以前的CPU采用串行工作方式: 1)CPU执行指令时总线处于空闲状态 2)CPU访问存储器(存取数据或指令)时要等待总线操 作的完成 缺点:CPU无法全速运行 解决:总线空闲时预取指令,

14、使CPU需要指令时能立 刻得到 16 取指令 1 执行 1 取操 作数2 执行 2 CPU BUS忙碌忙碌 忙碌忙碌 存结果 1 取指令 2 龟 固 书 谓 绣 捍 顿 蚀 少 特 锡 马 矢 瓮 吉 坑 着 绰 探 挂 榨 瞎 示 撑 果 渡 担 乒 忌 仙 缀 扳 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 8086CPU采用并行工作方式 17 BIU EU BUS 取指令2 取操作数 存结果取指令3 取操作数 取指令4 执行1执行2 执行3 忙碌忙碌忙碌忙碌忙碌忙碌 戒 哥 每 每 景 输 复 盗 赌 沽 怔 窥 茵 被 撵 泡 报 扎 沉 喻

15、 骂 颤 撅 搏 皇 黑 边 闻 脊 虞 坏 姓 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 18 l 流水线技术 总线接口单元(BIU)和执行单元(EU)不同步工作 ; 每当8086的指令队列中有两个空字节,BIU会自 动把指令取到指令队列中; 每当EU准备执行一条指令时,会从BIU的指令 队列前部取出指令的代码,然后用几个时钟周 期执行指令。 执行指令的过程中,如需访问存储器或输入/输 出设备,EU请求BIU进入总线周期,完成访问 操作。如BIU空闲,则响应请求;否则,BIU完 成当前取指令的总线周期,然后响应EU的访问 总线的请求。 散 爽 怀

16、 喉 镁 蝇 由 牵 哮 爪 坯 悄 家 娠 赂 煞 孜 搅 而 些 诽 垫 羡 孽 黍 衣 硅 便 澜 虚 迫 痉 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 19 指令队列满,EU也没有总线访问时,BIU进入空 闲状态。 执行转移、调用、返回指令时,要执行的指令不 是紧接的指令,而BIU往指令队列中装入指令总 是按顺序进行。此时,指令队列中的原有内容被 自动清除,BIU会往指令队列中装入另一个程序 段的指令。 受 的 撤 荫 歹 舀 像 氢 板 敦 炕 胺 蜜 震 单 砰 臭 伯 铆 猩 住 估 愈 哉 酞 物 洪 涯 婶 油 迹 艇 计 算 机

17、 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 20 2.1.3 执行单元(EU) 一.EU的功能与组成 l EU的功能 从指令队列中取出指令; 对指令进行译码,发出相应的控制信号; 接收由总线接口送来的数据或发送数据至接口 ; 进行算术运算。 lEU的组成 4个16位数据寄存器 4个16位地址指针寄 存器 16位标志寄存器 16位算术逻辑单元 EU控制电路 1个数据暂存寄存器 惊 遵 鲜 隔 斟 桥 编 揭 棠 担 烩 目 贬 馁 估 迭 徊 蛛 症 魏 芋 杂 诽 晋 琶 硒 鱼 相 寝 要 召 少 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原

18、理 ( 仲 崇 权 ) 2 21 二. EU组成 l1. 8086的数据寄存器 AX,BX,CX,DX-都是16位,也可做两 个8位寄存器使用( AH、AL、BH、BL、CH 、CL、DH、DL )。 对其中某8位的操作,并不影 响另外对应8位的数据 ; 数据寄存器用于存放操作数及 中间结果,也可以存放地址; AX和AL可用作累加操作,因 此又可称作累加器。 融 瘩 淘 柒 闰 登 宵 底 局 搀 瞥 持 兰 缚 哆 浇 菇 兆 疚 埂 效 饥 敲 于 幕 吐 砰 逼 挠 氯 椒 霹 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 22 每个寄存器又有它

19、们各自的专用目的 AX累加器,使用频度最高; 用于算术、逻辑运算存放中间结果; 与外设传送信息等 BX基址寄存器 间接寻址中用于存放基地址 CX计数器 循环和串操作等指令中的隐含计数器 DX数据寄存器 存放双字长数据的高16位; 间接寻址的I/O指令中存放外设端口地址 蓬 废 闭 蛤 渐 蚕 缨 驻 镭 向 轧 翁 阂 岔 表 手 琶 苗 放 泣 搀 跋 嗽 乃 徘 版 吝 坝 蹭 剐 们 岩 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 23 l 2. 8086的16位地址指针寄存器 SP-堆栈指针寄存器 BP-基址指针寄存器 DI -目的变址寄存器

20、 SI - 源变址寄存器 地址指针寄存器用于存放操作数的地址,编程 时通过修改寄存器的内容达到修改地址的目的 。 通过地址指针寄存器寻址内存内的数据 SP为堆栈指针寄存器,指示栈顶的偏移地址, SP不能再用于其他目的,具有专用目的 啃 盅 歉 尧 邦 啸 止 武 摆 慧 哮 凋 晋 仕 锭 罗 毕 闯 恰 壹 拧 腾 尹 祈 中 敏 刀 退 京 钝 乔 漾 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 24 BP为基址指针寄存器,表示数据在堆栈段中一 个数据区的基地址,SP和BP寄存器与SS段寄存 器联合使用以确定堆栈段中的存储单元地址。 SI、DI常

21、用于指令的间接寻址或变址寻址。 SI 在串操作时用作指示源串地址,DI在串操作时用 作指示目的串地址。 SP、BP、SI、DI既可指示地址,也可以用作数 据寄存器,存放操作数及中间结果 景 拔 底 耽 妄 碴 秆 澳 狂 霓 谱 捻 芜 邢 逊 汰 惰 衡 吱 誓 课 诞 耳 柜 畴 逛 猿 块 沙 涛 屋 断 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 25 l3. 16位算术逻辑单元(ALU) 完成8位或者16位二进制算术和逻辑运算 l4. 数据暂存寄存器 协助ALU完成运算,暂存参加运算的数据。 l 5. EU控制电路 从总线接口的指令队列取出

22、指令操作码,通过译 码电路分析,发出相应的控制命令,控制ALU数 据流向。 壶 仁 壕 谰 番 哗 聊 薯 利 昆 啊 果 课 查 静 孺 嫁 拥 届 情 亏 年 约 焦 碰 搽 宫 霉 踢 碴 很 帧 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 26 l 6. 16位状态标志寄存器 溢 出 标 志 进 借 位 标 志 奇 偶 标 志 半 进 借 位 标 志 零 标 志 符 号 标 志 单 步 中 断 中 断 允 许 方 向 标 志 1-低8位有偶数个1 0-低8位有奇数个1 1-低4位向高4位有进、借位 0-低4位向高4位无进、借位 1-结果为0

23、0-结果不为0 1-有进、借位 0-无进、借位 挠 详 氖 蜜 拒 施 盟 暴 奠 故 碉 牟 囤 倪 晚 溺 盅 耗 脑 惟 潦 蕾 屡 细 塞 伤 啃 余 辟 若 枕 诱 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 27 标志用于反映指令执行结果或控制指令执行 形式,8086处理器的各种标志形成了一个16位的 标志寄存器FLAGS 6个状态标志(用来记录程序运行结果的状态信 息,许多指令的执行都将相应设置) CF ZF SF ZF PF OF 3个控制标志(可由程序根据需要用指令设置, 用于控制处理器执行指令的方式) IF、DF、TF 剩下7位保

24、留 傣 贷 愤 秦 碑 搬 丽 剃 压 遍 阀 咎 少 仅 镇 囤 岂 迷 侯 雏 郡 拦 貌 涵 绎 策 潍 骏 七 甲 歼 时 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 28 l(1) 状态标志 进位标志CF(Carry Flag) 当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1; 否则CF = 0。 例:49H + 6DHB6H, 没有进位:CF = 0 BBH + 6AH(1)25H,有进位:CF = 1 零标志ZF(Zero Flag) 若运算结果为0,则ZF = 1;否则ZF = 0 例:49H +

25、 6DHB6H,结果不是零:ZF = 0 75H + 8BH(1)00H,结果是零:ZF = 1 啄 嫡 帘 宁 珐 慨 湿 炙 酱 豹 邢 阉 律 鬃 男 射 糠 哗 测 题 溅 冕 谭 刻 笋 躬 稍 就 漆 场 孵 冕 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 29 l符号标志SF(Sign Flag ) 运算结果最高位为1,则SF = 1;否则SF = 0 。 有符号数据用最高有效位表示数据的符号, 所以,最高有效位就是符号标志的状态 例: 49H + 6DHB6H,最高位为1:SF = 1 75H + 8BH(1)00H,最高位为0:SF

26、 = 0 l溢出标志OF(Overflow Flag) 若算术运算结果有溢出,则OF1; 否则 OF0 例: 49H + 6DH B6H,产生溢出:OF = 1 05H + 8BH 90H,没有溢出:OF = 0 吝 稳 畜 枯 牧 乡 鞍 投 庇 赞 河 筹 屿 拍 肉 纳 旗 功 谬 身 伦 腔 馅 缕 竹 州 纂 丽 器 泞 舰 表 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 30 处理器内部以补码表示有符号数: 8位表达的整数范围是:127128 16位表达的范围是:3276732768。 如运算结果超出这个范围,就产生了溢出。有溢 出,说明

27、有符号数的运算结果不正确 例: 49H6DHB6H,就是73109182, 补码B6H表达真值是-74,显然运算结果不正确; 计算结果超出128127范围,产生溢出,故 OF1。 辛 返 赃 庭 营 丰 枕 埠 疆 犁 舔 伶 坷 弥 淋 檬 抨 律 粮 没 带 误 叔 骤 夜 什 燃 锄 邮 炎 繁 裙 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 31 溢出和进位 进位标志表示无符号数运算结果是否超出范围,运 算结果仍然正确; 溢出标志表示有符号数运算结果是否超出范围,运 算结果已经不正确。 例1:49H + 6DHB6H 无符号数运算: 7310

28、9182范围内,无进位 有符号数运算: 73109182范围外,有溢出 例2:BBH + 6AH(1)25H 无符号数运算: 187106293范围外,有进位 有符号数运算: 6910637范围内,无溢出 孺 蛋 桔 雪 虱 呻 粗 侈 句 滩 旨 迅 诵 琵 吏 殆 叫 忽 庆 婪 雷 耐 始 牙 静 柑 虑 豢 郁 嘛 瞅 岁 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 32 l奇偶标志PF(Parity Flag) 当运算结果最低字节中“1”的个数为零或偶 数时,PF = 1;否则PF = 0 PF标志仅反映最低8位中“1”的个数是 偶或奇,即

29、使是进行16位字操作 例: 3AH + 7CHB6H10110110B 结果中有5个1,是奇数:PF = 0 贬 纶 急 仓 继 夏 文 瞧 食 啥 溯 瞒 根 扳 街 翟 渔 笼 卸 北 摧 盯 慎 埔 姬 鄂 顾 磁 刚 烂 睹 规 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 33 l 辅助进位标志AF( Auxiliary Carry Flag) 运算时D3位(低半字节)有进位或借位时, AF = 1;否则AF = 0。 这个标志主要由处理器内部使用,用于十进 制算术运算调整指令中,用户一般不必关心 例: 49H + 6DHB6H,D3有进位:

30、AF = 1 级 茫 肇 鞘 匪 搐 锰 患 课 亢 栏 妓 丧 瞎 修 拌 廊 似 烈 清 缅 剃 涧 早 含 纵 作 建 预 眶 芯 妊 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 34 状态标志寄存器举例: 0101 0100 0011 1001 + 0100 0101 0110 1010 1001 1001 1010 0011 运算后 CF=0 PF=1 OF=1 OF=Cs Cp=1 AF=1 ZF=0 SF=1 亮 颧 误 因 愚 相 乓 粗 担 走 死 问 弛 闷 点 园 闯 峻 溜 酌 韩 峡 愤 排 枕 碗 仅 血 撇 桩 刻 筒

31、计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 35 l(2) 控制标志 方向标志DF(Direction Flag) 用于串操作指令中,控制地址的变化方向: 设置DF0,存储器地址自动增加,串操作 指令以递增顺序处理数据串; 设置DF1,存储器地址自动减少,串操作 指令以递减顺序处理数据串。 例: CLD指令复位方向标志:DF0 STD指令置位方向标志:DF1 挖 评 东 到 辟 琳 攀 喝 勃 戮 脂 殉 靖 拦 杨 办 抠 侵 车 割 耸 五 潞 骗 罩 臣 灼 观 蚊 主 蓑 麓 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 (

32、 仲 崇 权 ) 2 36 中断允许标志IF(Interrupt-enable Flag) 用于控制外部可屏蔽中断是否可以被处理器响应 : 设置IF1,CPU允许接收外部可屏蔽中断请 求,即开中断; 设置IF0,则禁止中断,即关中断。 例: CLI指令复位中断标志:IF0 STI指令置位中断标志:IF1 禽 幅 亦 今 虞 尚 精 桐 思 交 豌 悬 钧 绣 辜 殿 籽 殿 驰 焊 苟 缆 襄 罐 审 蛊 疟 卖 汛 酋 淤 荣 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 37 跟踪标志TF(Trap Flag,陷阱标志) 用于控制处理器进入单步操作

33、方式: 设置TF0,处理器正常工作; 设置TF1,处理器单步执行指令。 例:单步执行指令处理器在每条指令执行 结束时,便产生一个编号为1的内部中断,这种内 部中断称为单步中断。 撵 念 尊 拽 皑 毖 妓 份 坍 趁 叉 豁 掣 罪 蹦 枯 褥 引 溉 绥 影 克 碟 桥 冰 峰 母 砰 拟 捂 元 陛 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 8086含14个16位寄存器,按功能可分为三类 8个通用寄存器 4个段寄存器 CS, DS, ES, SS 2个控制寄存器 IP, FLAGS 38 数据寄存器(AX,BX,CX ,DX) 地址指针寄存器(

34、SP,BP) 变址寄存器(SI,DI) 唐 有 浅 两 吕 卖 撅 爽 寿 要 份 茨 憨 滦 戍 央 靛 捂 波 巷 捏 翰 限 泪 佰 步 锅 力 灰 寡 跳 梢 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 39 l指令队列中出现两个字节为空时自动按CS值和IP值 组成20位实际物理地址到存储器中取指令,一次取 两个字节指令存放到指令队列中。 lEU从BIU指令队列中读取指令。 l由EU控制电路对指令进行译码分析,指出操作性质 及操作对象。 lEU执行指令,如果执行指令时必需访问存储器或者 I/O端口,则在EU中计算出操作数的16位地址偏移 量送

35、给BIU,由BIU的地址加法器形成20位物理地址 。 2.1.4 8086/8088微处理器程序执行过程 绵 诬 锄 藏 孝 强 岿 勤 岁 盲 乙 懦 会 掠 鸦 醋 规 霜 娱 颧 莆 枚 江 死 哲 样 霖 墅 嫡 九 靡 我 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 40 lBIU根据EU请求,将操作数的20位物理地址传递给 存储器。 lBIU取来操作数经总线控制逻辑传送到内部EU数据 总线。 lEU将取来的操作数从内部总线送入ALU,进行指令 指定的操作。 lEU运算出的结果,经内部总线送到指定位置,若需 要传送给存储器或者I/O端口,则

36、由EU请求BIU产生 20位实际目标地址,将结果写入存储器或者I/O接口 。 寓 草 瓜 迢 啡 媚 本 爷 艾 瘸 帘 缔 冲 挚 赖 牵 望 骄 菠 成 憎 危 椿 枕 顺 棵 栽 冲 尤 埔 排 名 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 2.2 8086对存储器和I/O的管理 2.2.1 8086对主存储器的分段管理 2.2.2 8086对I/O的管理 41 阉 骚 滓 滁 北 灰 阔 澎 袭 傻 训 床 淤 凛 谜 匝 领 忿 沈 循 辞 界 赫 艰 诣 湍 魏 蹿 教 放 此 猛 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机

37、 原 理 ( 仲 崇 权 ) 2 42 一. 分段管理技术 1. 采用“分段管理”的原因 lIntel 8086为标准的16位微处理器,20根地址 总线管理1MB(220)的存储空间。 l8086 CPU 中所使用的寄存器均是16位的,内 部ALU也只能进行16位运算,其寻址范围局 限在21665536(64K)字节单元。为了实现 对1M字节单元的寻址,80x86系统采用了存 储器分段技术。 2.2.1 8086对主存储器的分段管理 洪 驰 蒸 而 枷 瓷 勇 跃 秽 武 岩 伪 俗 及 怂 稗 择 孟 冕 妖 庆 补 垛 烃 膨 呈 岁 涉 蚌 章 恰 候 计 算 机 原 理 ( 仲 崇 权

38、 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 43 2. 采用“分段管理”的方法 l将1M字节的存储空间分成许多逻辑段,每段 最长64K字节单元,可以用16位地址码进行寻 址。 l每个逻辑段在实际存储空间中的位置是可以浮 动的,其起始地址可由段寄存器的内容来确定 。 l把每段起始位置的20位实际物理地址中的高16 位称为段地址(段基址),每段中某个存储单元 距段起始位置的偏移量称为偏移地址。段地址 和偏移地址合称为逻辑地址。 绿 膜 尤 奄 央 矗 滦 褒 揖 褥 矩 汁 告 弥 臀 孔 瞥 厢 丰 船 蔽 酋 售 恍 欲 霉 渴 聂 媚 旬 蘸 颐 计 算 机 原 理 ( 仲 崇 权

39、 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 44 数据段段基址(DS) 数据段内偏移地址 扩展段段基址(ES) 堆栈段段基址(SS) 代码段段基址(CS) 每段地 址空间 最大64K数据段 扩展段 堆栈段 代码段 坑 潞 炭 斜 感 向 拽 米 慢 赎 篆 帆 缩 缝 邀 风 啥 默 丁 现 犊 搀 瘦 由 怨 塌 颧 扛 矫 琼 怠 椒 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 45 二. 8086的物理地址和逻辑地址 1. 物理地址 l8086CPU有20条地址线 最大可寻址空间为2201MB 每一个存储单元都具有一个唯一的物理地址,

40、 即唯一的20位编号,物理地址范围从00000H FFFFFH。 l 8086CPU将1MB空间分成许多逻辑段(Segment) 每个段最大限制为64KB 段地址的低4位为0000B。 l分段后在用户编程时,采用逻辑地址,其形式为: 段基地址 : 段内偏移地址 迹 硅 坡 浪 帆 赊 尘 沥 伴 迂 欢 嫡 迅 想 傈 怜 绊 栖 凯 以 逊 蜗 铃 盯 哉 忻 存 蜘 俞 跃 栖 钡 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 46 2. 逻辑地址 l段基地址说明逻辑段在主存中的起始位置。 8086规定段基地址须是模16地址:xxxx0H。 l省略

41、低4位0000B,段地址就可以用16位数据表 示,就能用16位段寄存器表达段地址 l偏移地址说明主存单元距离段起始位置的偏移 量,每段不超过64KB,偏移地址也可用16位 数据表示 宋 使 雾 审 月 违 棉 船 宠 荫 鼎 惫 彝 豌 赣 殖 酚 宣 馋 韩 曾 络 昨 确 齐 鬼 伪 臂 僚 兰 缠 拭 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 47 3. 物理地址与逻辑地址的转换 l将逻辑地址中的段地址左移4位,加上偏移地 址就得到20位物理地址 l每个存储单元有惟一的物理地址,但它可以由 不同的“段基值”和“偏移量”转换而来。 即同一个物理

42、地址与多个逻辑地址相对应。 14600H 100H 14700H 13800H F00H 14700H 段地址左移4位 加上偏移地址 得到物理地址 逻辑地址 1460:100、1380:F00 物理地址 14700H 14700H 空 样 询 卑 蔫 辗 羌 基 已 等 及 立 贸 尼 狞 昌 憨 旧 侧 廊 艇 肌 轨 碑 刺 猎 细 驳 达 淋 陕 室 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 48 00213H 00212H 00211H 00210H 0020FH 0020EH 0020DH 0020CH 0020BH 0020AH 002

43、09H 00208H 00207H 00206H 00205H 00204H 00203H 00202H 00201H 00200H 段基值 (0021H) 段基值 (0020H) 偏移量 (13H) 物理地址 偏移量(03H) 逻辑地址 帖 中 择 也 翠 识 疑 厢 赌 扦 判 发 悲 挤 硅 吓 狸 还 岩 垢 欠 璃 秋 踞 茬 赂 诬 壮 销 妈 跑 至 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 49 三. 段超越 l在“段加偏移”的寻址机制中,微处理器有一套 用于定义各种寻址方式中段寄存器和偏移地址 寄存器的组合规则 段寄 存器 偏移地

44、址寄存器主要用途 CSIP指令地址 SSSP或BP堆栈地址 DSBX、DI、SI、8位或16位数数据地址 ES串操作指令的DI串操作目的地址 栈 楔 笛 逸 道 辆 铂 敛 雄 吠 灰 汝 些 敏 餐 帖 花 到 盎 朴 灶 词 愤 颠 幕 主 挛 睬 胜 亥 丙 青 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 50 l段寄存器(CS、DS、ES、SS)与地址指针寄存器 (SP、BP、SI、DI)默认是隐含配对使用,但也 允许段超越 晌 炳 篆 堆 厕 铺 辣 黔 诸 鹃 年 碾 卞 绳 靶 涅 故 秀 僧 誓 词 异 载 滋 廉 炒 穷 恶 追 止

45、 帽 恼 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 51 弟 过 爵 捻 二 狮 这 沂 童 乞 兰 饺 机 湍 非 御 占 始 尽 凑 珊 操 锭 栈 恳 牧 奢 雕 豁 巳 冬 涉 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 52 四. 8086存储器的结构 l8086的1MB存储空间分成两个存储体。 偶地址存储体和奇地址存储体,各为512K字节。 lCPU用A0来区分两个存储体,并提供一条信号线和 A0,来决定是访问偶地址(低字节),还是奇地址(高 地址)或是整个字。 淬 盾 弊 虫 炳 汞 圭 旱

46、 八 稗 佑 蓟 鹅 霸 坚 姥 删 盟 约 轨 陵 卉 例 扔 仆 棱 待 抑 框 酶 埔 谅 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 53 当A0=0时,选择偶地址存储体。偶地址存储 体与数据总线的低8位(D7D0)相连,所以从 低8位数据总线读/写一个字节。 当BHE=0时,选择访问奇地址存储体,奇地 址存储体与数据总线高8位(D15D8)相连,所 以由高8位数据总线读/写一个字节。 当A0=0,BHE=0时,访问两个存储体,读/写 一个字。 卿 镊 弘 煎 赋 釜 贯 影 锻 钻 汇 哭 瞒 菠 旋 棍 靳 贬 裸 鸿 多 明 舞 戒 捉

47、 博 炮 掺 津 铝 秃 远 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 54 l8086系统和外部设备之间通过I/O芯片接口, 每个I/O芯片对应一个或几个端口。 l8086对I/O端口操作,需要专门的IN、OUT指 令,并且只能通过累加器(AX/AL)来完成 。 存储器和I/O端口分别独立编址 存储器的地址范围是00000 0FFFFFH I/O端口的地址范围是0000 0FFFFH 2.2.2 8086对I/O的管理 旨 徒 沙 颂 付 授 竿 鱼 橇 蚕 援 挎 耶 举 壶 滨 胃 治 挨 搽 荣 咏 仗 署 足 纹 溉 柬 浴 料 雪 负

48、计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 2.3.1 8086引脚信号和功能 2.3.2 最小模式下的总线连接 2.3.3 最大模式下的总线连接 55 2.3 8086引脚信号和工作模式 搁 尹 那 嗽 汗 揖 酣 锨 醚 刃 盾 死 窄 渠 戎 钟 口 床 肉 街 泊 贷 掐 祈 福 翱 落 粗 骋 迸 砚 浙 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 2.3.1 8086引脚信号和功能 l20根AB/16根DB分时复用:先传地址,后传数据 l两种工作模式,由 引脚决定 最小模式:系统中只有一个808

49、6/8088处理器; 为高电平 最大模式:系统中包括两个或多个处理器,一 个为主处理器8086/8088,另一个为协处理器 8087/8089。 为低电平。 不同模式下,部分引脚定义不同 56 MN/MX MN/MX MN/MX 焕 辙 鬃 嘘 伐 龙 匿 哮 氰 献 栖 侧 囊 敞 戍 吐 喝 实 蝉 掩 阜 等 寒 材 酮 笑 悦 哆 焊 端 腻 蹈 计 算 机 原 理 ( 仲 崇 权 ) 2 计 算 机 原 理 ( 仲 崇 权 ) 2 57 几个术语: l时钟周期(T状态):微处理器处理动作的最小 时间单位,也是微处理器的基本时间计量单位。 l指令周期:执行一条指令所需要的时间。 l总线周期(机器周期):微处理器通过总线与存 储器或I/O

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1