主要内容 微型机的构成 ( 回顾 ) 总线 接口 8086 CPU 的结构及工作原理 8086 存储器 8086 系统配置 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 2

Similar documents
<4D F736F F F696E74202D20B5DA35D5C2CEA2B4A6C0EDC6F7B9A4D7F7D4ADC0ED2E707074>

Microsoft PowerPoint - Ch CPU总线及其形成.ppt [兼容模式]

untitled

Ps22Pdf

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

DPJJX1.DOC

幻灯片 1

第二章 8086体系结构与80X86CPU

1 CPU

PowerPoint Presentation

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

《计算机应用基础》学习材料(讲义)

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

微机系统与接口--第5章-2.ppt

一 汇编语言计算机基础 从事计算机科学方面的工作, 汇编语言是我们必不可少缺的基础 我们的工作平台 研究对象都是机器, 而汇编语言是人和计算机沟通的最直接方式, 它描述了机器最终所要执行的指令序列 学习汇编语言可以让你充分获得底层编程的体验, 深刻理解机器运行程序的机理 二 基础知识 1. 汇编语言

PCM-3386用户手册.doc

中文手册

Microsoft Word - em78 sub program.doc

Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式]

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

Microsoft PowerPoint - C15_LECTURE_NOTE_08.ppt

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2

数据库系统概论

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

数据库系统概论

4 / ( / / 5 / / ( / 6 ( / / / 3 ( 4 ( ( 2

lecture21

微机第02章1(指令寻址)

2

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

第七章 中断

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

例 如, 一 个 含 有 2000 个 记 录 的 文 件, 每 个 磁 盘 块 可 容 纳 250 个 记 录, 则 该 文 件 包 含 8 个 磁 盘 块 然 后 对 该 文 件 作 二 路 归 并 的 外 排 序, 每 次 往 内 存 读 入 两 个 磁 盘 块, 排 序 后 再 写 回 磁


目 录

本次习题课中提到的 课本, 均指机械工业出版社的 Intel 微处理器 ( 原书第八版 ) 中文版, 使用其他版本课本的同学需要自己对应

Microsoft Word - 專題封面.doc

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

2 微机原理与接口技术 ( 第二版 ) 图 1 1 第一台电子计算机 ENIAC 1944~1945 年间, 著名的美籍匈牙利数学家冯 诺依曼 (John Von Neumann)( 如图 1 2 (a) 所示 ) 应邀参加 ENIAC 计算机研制任务 在研制中, 他深刻认识到 ENIAC 不能存储

E170C2.PDF

AT89C2051中文资料.doc

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

一、填空题

3.3.2 算术运算指令 数据类型 : 无符号和有符号整数 无符号数又分成 : 无符号二进制数 ; 无符号压缩十进制 :1 字节表示 2 个十进制数 ; 无符号非压缩十进制 :1 字节表示 1 个十进制数 有符号数 : 有符号二进制数 用补码表示 2015 年 3 月 26 日星期四 11 时 3

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

untitled

<4D F736F F F696E74202D DB4E6B4A2C6F7C9E8BCC62E BBCE6C8DDC4A3CABD5D>

!"#!$ %!$"" %%$&&''!(!)!*+,,!%*& -./ *##)' * %$" ',!*+/!*+ / - 0,1 #$*#2 #$*#2'' *($#3 *($#3'' -. 45,67!&$#6)*$ , ' 189

Ps22Pdf

untitled

Microsoft Word - 封面.doc

KV-cache 1 KV-cache Fig.1 WorkflowofKV-cache 2.2 Key-value Key ; Key Mem-cache (FIFO) Value Value Key Mem-cache ( Value 256B 100 MB 20%

untitled

HighPoint产品的FAQ手册

四位微控制器ML64168_ _.doc

微机第02章1(指令寻址)

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

Microsoft PowerPoint - C15_LECTURE_NOTE_08.ppt

学年本科教学和思政工作情况汇报

Windows 98 / Windows Me! PC!"#$%& 3!"#$% PC! PC!"#$ PC!"!"#$%&'() 1!"#$ PC! 2!"#$%&'()*+ PC!"#$ PC =EPCMCIAF=!"!! PC!"#$%&'()*+,-. 2 =XXXXXXXX XXXXXXX

WJYL.s92

数据库系统概论

Microsoft Word - 正文.doc

General CNC PCU SINUMERIK OP TP SINUMERIK PCU PC USB PC SINUMERIK SINUMERIK PCU SINUMERIK PCU PC SINUMERIK OP SINUMERIK PCU SINUMERIK SINUMERIK PCU MP

TouchWin Human Machine Interface

51 C 51 isp 10 C PCB C C C C KEIL

第5章:汇编语言程序设计

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

2011国家司法考试试题(试卷一)

第六章 微型计算机的输入输出

<4D F736F F F696E74202D DB5DABEC5BDB22DCEA2B4A6C0EDC6F7B5C4D3B2BCFEBDE1B9B9A3A8D2BBA3A92E >

7688使用手冊V10.doc

投影片 1

2005.book

因 味 V 取 性 又 鸟 U 且 最 大 罗 海 惜 梅 理 春 并 贵 K a t h l ee n S c h w e r d t n er M f l e z S e b a s t i a n C A Fe rs e T 民 伊 ' 国 漳 尤 地 视 峰 州 至 周 期 甚 主 第 应

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

习 题 一

Microsoft PowerPoint - C15_LECTURE_NOTE_06

NORCO-740 CPU M/00M NORCO-740 NORCO-740E NORCO-740G NORCO-740GE Intel 845GL Intel 845G

数据库系统概论

《微机接口技术》总复习题.doc


Microsoft Word - Page0

IC芯片自主创新设计实验

Microsoft Word - 選擇_無解答2_.doc

Microsoft PowerPoint - os_4.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_06

高二立體幾何

CH559指令周期.doc

为 边 数 的 两 倍, 显 然 必 为 偶 数 而 ii 和 iii 则 不 一 定 正 确, 如 : 对 顶 点 数 N 1 无 向 完 全 图 不 存 在 一 个 顶 点 的 度 为 1, 并 且 边 数 与 顶 点 数 的 差 要 大 于 1 8. 考 查 m 阶 B- 树 的 定 义 A

Microsoft Word - 正文.doc

Microsoft Word - 1 page0.doc

PCI Express

P3V4X JumperFree TM

untitled

Transcription:

第 2 章 8086 CPU 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 1

主要内容 微型机的构成 ( 回顾 ) 总线 接口 8086 CPU 的结构及工作原理 8086 存储器 8086 系统配置 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 2

2.1 微型机的基本结构 掌握 微机系统的基本组成 微型机的工作原理 总线 接口 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 3

一 微型计算机系统组成 微型计算机系统的三个层次 微处理器 (Microprocessor) 微型计算机 (Microcomputer) 微型计算机系统 (Microcomputer System) 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 4

微型计算机系统的三个层次 硬件系统 微型计算机 ( 主机 ) 微处理器存储器 I/O 接口总线 ALU 寄存器控制器 微型计算机系统 软件系统 外设 系统软件应用软件 键盘 鼠标显示器软驱 硬盘 光驱打印机 扫描仪 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 5

核心级 微处理器 微处理器简称 CPU, 是计算机的核心, 主要包括 : 运算器 ALU 控制器 CU 寄存器组 Registers CPU 实现了运算功能和控制功能 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 6

硬件系统级 微型计算机 以微处理器为核心, 配上只读存储器 (ROM) 读写存储器 (RAM) 输入 / 输出 (I/O) 接口电路及系统总线等部件, 就构成了微型计算机 将 CPU 存储器 I/O 接口 总线等集成在一片超大规模集成电路芯片上, 称为单片微型计算机, 简称单片机 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 7

系统级 以微型计算机为中心, 配以相应的外围设备以及控制微型计算机工作的软件, 就构成了完整的微型计算机系统 微型计算机如果不配有软件, 通常称为裸机 软件分为系统软件和应用软件两大类 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 8

二 微型计算机的基本结构 1. 微型计算机的硬件系统 微处理器 (CPU ) 存储器输入 / 输出接口总线 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 9

微型计算机的概念结构 地址总线 AB C P U 存储器 I/O 接口 输入设备 I/O 接口 输出设备 I/O 接口 数据总线 DB AB: Address Bus DB: Data Bus CB: Control Bus 控制总线 CB 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 10

主机硬件系统 CPU 计算机的控制中心, 提供运算 判断能力 构成 :ALU CU Registers 例 :Intel 8088/8086 PIII P4 Celeron AMD K7(Athlon Duron) 酷睿 i7 CPU 的位数 :4 位 8 位 16 位 32 位 64 位是指一次能处理的数据的位数 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 11

主机硬件系统 存储器 存放程序和数据的记忆装置 用途 : 存放程序和要操作的各类信息 ( 数据 文字 图像 ) 内存 :ROM RAM 特点 : 随机存取, 速度快, 容量小 外存 : 磁盘 光盘 半导体盘 特点 : 顺序存取 / 块存取, 速度慢, 容量大 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 12

有关内存储器的几个概念 内存单元的地址和内容 内存容量 内存的操作 内存的分类 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 13

内存单元的地址和内容 内存包含有很多存储单元 ( 每个内存单元包含 8bit), 为区分不同的内存单元, 对计算机中的每个内存单元进行编号, 内存单元的编号就称为内存单元的地址 内存单元地址 Bit 7 6 5 4 3 2 1 0 0 1 0 1 1 0 0 0... 38F04H 1 0 1 1 0 1 1 0 内存单元内容 * 内存单元有时又称为地址单元... 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 14

内存容量 即内存单元的个数, 以字节为单位 注意 : 内存空间与内存容量的区别 内存容量 : 实际配置的内存大小 例 : 某微机配置 2 条 128MB 的 SDRAM 内存条, 其内存容量为 256MB 内存空间 : 又称为存储空间 寻址范围, 是指微机的寻址能力, 与 CPU 的地址总线宽度有关 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 15

内存操作 读 : 将内存单元的内容取入 CPU, 原单元内容不改变 ; 写 :CPU 将信息放入内存单元, 单元中原内容被覆盖 ; 刷新 : 对 CPU 透明, 仅动态存储器 (DRAM) 有此操作 内存的读写的步骤为 : CPU 把要读写的内存单元的地址放到 AB 上若是写操作, CPU 紧接着把要写入的数据放到 DB 上 CPU 发出读写命令数据被写入指定的单元或从指定的单元读出到 DB 若是读操作, CPU 紧接着从 DB 上取回数据 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 16

内存储器的分类 读写存储器 (RAM) 只读存储器 (ROM) 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 可读可写 易失性, 临时存放程序和数据 工作时只能读 非易失性, 永久或半永久性存放信息 通常称为程序存储器 17

主机硬件系统 输入 / 输出接口 简写为 I/O 接口, 是 CPU 与外部设备间联系的桥梁 CPU I/O 接口 外设 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 18

接口的功能 提供驱动外设的电压或电流 ; 匹配计算机与外设之间的信号电平 速度 信号类型 数据格式等 ; 缓存发给外设的数据 控制命令和外设提供的运行状态信息 ; DMA 控制和中断控制 ; 等 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 19

主要接口芯片 8259A: 可编程中断控制器 8253A: 可编程计数 / 定时器 8255A: 可编程并行接口芯片 8251A: 可编程串行接口芯片 8237A: 可编程 DMA 控制器 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 20

总线 总线定义 : 部件之间传送信息的公共通路 ( 信号线 ) 称为总线 符合总线规范的部件, 在功能扩展时, 可以加入到系统中 总线具有以下两个最主要的特点 : 共享性 : 总线是供所有部件进行通信所共享的, 任何两个部件之间的数据传输都是通过共享的公共总线进行的 独占性 : 一旦有一个部件占用总线与另一个部件进行数据通信, 其它部件就不能再使用总线, 也就是说, 一个部件对总线的使用是独占的 2015 年 3 月 9 日星期一 3 时 38 分 17 秒 21

总线 为什么不同厂家生产的部件或设备可以互连 互通? 遵循了同一个系统总线标准 1) 总线标准的特性 (1) 物理特性 : 指总线的物理连接方式, 包括总线信号线的条数, 总线的插头 插座的形状和物理尺寸, 引脚线的排列方式等 (2) 电气特性 : 定义每一条线上信号的传递方向及有效电平范围 (3) 功能特性 : 描述总线中每一条线的功能, 如定义地址线 数据线和各种控制及状态信号线 (4) 时间特性 : 即定义信号线之间的时序关系 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 22

总线 2) 总线分类 ( 续 ) (1) 元件级总线是把各种不同的芯片连接在一起构成特定功能模块 ( 如 CPU 模块 ) 的信息传输通路 又称片内总线 如在 CPU 内部, 寄存器之间和算术逻辑部件 ALU 与控制部件之间传输数据所用的总线称为片内总线 ( 即芯片内部的总线 ) 根据总线传送信息的类别, 可区分为地址总线 AB 数据总线 DB 控制总线 CB 三种 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 23

总线 地址总线 AB: 用来传送 CPU 输出的地址信号, 确定被访问的存储单元 I/O 端口 地址线的根数决定了 CPU 的寻址范围 CPU 的寻址范围 = 2 n, n- 地址线根数数据总线 DB: 在 CPU 与存储器 I/O 接口之间数据传送的公共通路 数据总线的条数决定 CPU 一次最多可以传送的数据宽度 控制总线 CB: 用来传送各种控制信号 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 24

总线 2) 总线分类 ( 续 ) (2) 系统总线 ( 内总线 ) 在现代计算机系统中,CPU 存储器和部分输入输出接口都设计在机器的主板上, 主板上还会设计一些 I/O 插槽 ( 又称为 I/O 通道 ) 用于接插一些 I/O 设备适配器, 通过这些适配器连接 I/O 设备 用于将 CPU 存储器和输入输出接口及 I/O 通道连接起来的一组信号线就称为系统总线 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 25

2) 总线分类 ( 续 ) (2) 系统总线 ( 内总线 ) 总线 系统总线是计算机系统最核心的一条总线, 它的设计通常需符合一定的标准或规范, 具有相同标准系统总线的机器通常在硬件上是兼容的 系统总线 :ISA EISA VESA STD VME PCMCIA MultiBus PCI PCI Express 等 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 26

总线 2) 总线分类 ( 续 ) (2) 系统总线 ISA(industrial standard architecture) 总线标准 : IBM 公司 1984 年为推出 PC/AT 机而建立的系统总线标准, 所以也叫 AT 总线 它是对 XT 总线的扩展, 以适应 8/16 位数据总线要求 它在 80286 至 80486 时代应用非常广泛, 奔腾机保留有 ISA 总线插槽 ISA 总线有 98 只引脚 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 27

总线 2) 总线分类 ( 续 ) (2) 系统总线 EISA 总线 : 1988 年由 Compaq 等 9 家公司联合推出的总线标准 它是在 ISA 总线的基础上使用双层插座, 在原来 ISA 总线的 98 条信号线上又增加了 98 条信号线, 也就是在两条 ISA 信号线之间添加一条 EISA 信号线 在实用中,EISA 总线完全兼容 ISA 总线信号 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 28

总线 2) 总线分类 ( 续 ) (2) 系统总线 VESA(video electronics standard association) 总线 : 1992 年由 60 家附件卡制造商联合推出的一种局部总线, 简称为 VL(VESA local bus) 总线 它的推出为微机系统总线体系结构的革新奠定了基础 该总线系统考虑到 CPU 与主存和 Cache 的直接相连, 通常把这部分总线称为 CPU 总线或主总线, 其他设备通过 VL 总线与 CPU 总线相连, 所以 VL 总线被称为局部总线 它定义了 32 位数据线, 且可通过扩展槽扩展到 64 位, 使用 33MHz 时钟频率, 最大传输率达 132MB/s, 可与 CPU 同步工作 是一种高速 高效的局部总线, 可支持 386SX 386DX 486SX 486DX 及奔腾微处理器 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 29

2) 总线分类 ( 续 ) (2) 系统总线 总线 PCI(peripheral component interconnect) 总线 : 当前最流行的总线之一, 它是由 Intel 公司推出的一种局部总线 定义了 32 位数据总线, 且可扩展为 64 位 PCI 总线主板插槽的体积比原 ISA 总线插槽还小, 其功能比 VESA ISA 有极大的改善, 支持突发读写操作, 最大传输速率可达 132MB/s, 可同时支持多组外围设备 PCI 局部总线不能兼容现有的 ISA EISA MCA(micro channel architecture) 总线, 但它不受制于处理器, 是基于奔腾等新一代微处理器而发展的总线 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 30

总线 2) 总线分类 ( 续 ) (3) 外部总线 ( 通信总线 ) 外部总线则是微机和外部设备之间的总线, 微机作为一种设备, 通过该总线和其他设备进行信息与数据交换, 它用于设备一级的互连 如 RS-232-C 总线 RS-485 总线 IEEE-488 总线 USB 总线 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 31

总线 2) 总线分类 ( 续 ) (3) 外部总线 ( 通信总线 ) RS-232-C 总线 RS-232-C 是美国电子工业协会 EIA(Electronic Industry Association) 制定的一种串行物理接口标准 RS 是英文 推荐标准 的缩写,232 为标识号,C 表示修改次数 RS-232-C 总线标准设有 25 条信号线, 包括一个主通道和一个辅助通道, 在多数情况下主要使用主通道, 对于一般双工通信, 仅需几条信号线就可实现, 如一条发送线 一条接收线及一条地线 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 32

2) 总线分类 ( 续 ) (3) 外部总线 ( 通信总线 ) 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 总线 RS-485 总线通信距离为几十到上千米时, 广泛采用 RS-485 串行总线标准 RS-485 采用平衡发送和差分接收, 具有抑制共模干扰的能力 加上总线收发器具有高灵敏度, 能检测低至 200mV 的电压, 故传输信号能在千米以外得到恢复 RS-485 采用半双工工作方式, 任何时候只能有一点处于发送状态, 因此, 发送电路须由使能信号加以控制 RS-485 用于多点互连时非常方便, 可以省掉许多信号线 应用 RS-485 可以联网构成分布式系统, 其允许最多并联 32 台驱动器和 32 台接收器 33

总线 2) 总线分类 ( 续 ) (3) 外部总线 ( 通信总线 ) IEEE-488 总线并行总线接口标准 它按照位并行 字节串行双向异步方式传输信号, 连接方式为总线方式, 仪器设备直接并联于总线上而不需中介单元, 但总线上最多可连接 15 台设备 最大传输距离为 20 米, 信号传输速度一般为 500KB/s, 最大传输速度为 1MB/s 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 34

总线 2) 总线分类 ( 续 ) (3) 外部总线 ( 通信总线 ) USB 总线通用串行总线 USB(universal serial bus) 是由 Intel Compaq Digital IBM Microsoft NEC Northern Telecom 等 7 家世界著名的计算机和通信公司共同推出的一种新型接口标准 它基于通用连接技术, 实现外设的简单快速连接, 达到方便用户 降低成本 扩展 PC 连接外设范围的目的 它可以为外设提供电源 另外, 快速是 USB 技术的突出特点之一,USB 的最高传输率可达 12Mbps 比串口快 100 倍, 比并口快近 10 倍, 而且 USB 还能支持多媒体 USB 3.0 高达 5Gbps 全双工 2015 年 3 月 9 日星期一 3 时 38 分 18 秒 35

总线 3) 总线结构 (1) 单总线结构单总线结构是指 CPU 存储器和各种设备接口之间通过单条总线相连,CPU 与存储器及各种设备接口之间的数据通信都是通过这单条总线进行 2015 年 3 月 9 日星期一 3 时 38 分 19 秒 36

总线 3) 总线结构 (2) 面向 CPU 的双总线结构一组总线是 CPU 与主存储器之间进行信息交换的公共通路, 称为存储总线 另一组是 CPU 与 I/O 设备之间进行信息交换的公共通路, 称为输入 / 输出总线 (I/O 总线 ) 2015 年 3 月 9 日星期一 3 时 38 分 19 秒 37

总线 3) 总线结构 (3) 面向主存储器的双总线结构面向主存储器的双总线结构保留了单总线结构的优点, 即所有设备和部件均可通过总线交换信息, 不同的是 CPU 与主存储器之间, 又设置了一组高速存储总线, 使 CPU 可以通过它直接与主存储器交换信息 2015 年 3 月 9 日星期一 3 时 38 分 19 秒 38

总线 3) 总线结构 (4) 局部总线结构 (5) 多总线结构 2015 年 3 月 9 日星期一 3 时 38 分 19 秒 39

2. 微型计算机的软件系统 软件 : 为运行 管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料 软件 系统软件 应用软件 操作系统编译系统网络系统工具软件 2015 年 3 月 9 日星期一 3 时 38 分 19 秒 40

3. 微型计算机的物理结构 前端总线 /CPU 总线 CPU 外设 CRT AGP 北桥 Cache RAM 接口卡 PCI KBD,Mouse 串行 / 并行接口 HDD/CDROM(IDE ) FDD USB ISA 南桥 BIOS 总线扩展槽 2015 年 3 月 9 日星期一 3 时 38 分 19 秒 41

2015 年 3 月 9 日星期一 3 时 38 分 19 秒 微型计算机的物理结构 42

INTEL 845GE 2015 年 3 月 9 日星期一 3 时 38 分 20 秒 43

主板的主要硬件构成 CPU 插座芯片组 ( 南北桥 /HUB) 内存插槽 高速缓存 ( 现已集成到 CPU 内部 ) 系统 BIOS, 硬件控制 CMOS, 存放硬件配置参数总线扩展槽,PCI ISA 串行 并行接口软 / 硬盘 光驱插座 2015 年 3 月 9 日星期一 3 时 38 分 21 秒 44

芯片组 CPU 的外围控制芯片, 通常为 2 片 两种架构 : 南北桥 HUB( 加速中心 ) 南北桥 HUB 北桥 提供 CPU/ 主存 / 高速缓存的连接 AGP 接口 PCI 桥接 南桥 提供 USB IDE(FDD/HDD) 串 / 并口及 ISA 桥接等例如 :Intel 440BX VIA694(KT133)+686B SiS 645 等 GMCH AGP 接口 存储器通道 ICH PCI 桥接 IDE 控制器 USB 串 / 并口 FWH 系统 BIOS 显示 BIOS 随机数发生器例如 :Intel 810 Intel 815 Intel845 等 2015 年 3 月 9 日星期一 3 时 38 分 22 秒 45

芯片组 图示为采用 Intel Z77 芯片组的主板 2015 年 3 月 9 日星期一 3 时 38 分 22 秒 46

三 计算机的工作过程 存储程序计算机 又称为冯 诺依曼型计算机 以运算器为核心 以存储程序原理为基础 将计算过程描述为由许多条指令按一定顺序组成的程序, 即程序是由多条有逻辑关系的指令组成, 指令的长度不等 ( 一般为 1~4 字节 ) 数据和程序均以二进制代码的形式不加区别地存放在存储器中, 存放位置由地址指定, 地址码也是二进制形式由控制器控制整个程序和数据的存取以及程序的执行 指令驱动 2015 年 3 月 9 日星期一 3 时 38 分 23 秒 47

存储程序计算机的工作原理 控制器按预先存放在计算机存储器中的程序的流程自动地连续取出指令并执行之 控制器 输入设备 运算器 输出设备 2015 年 3 月 9 日星期一 3 时 38 分 23 秒 存储器 指令流 控制命令 数据流 48

程序的执行过程 程序 操作码操作数执行 指令 1 指令 2 指令 3 指令 4 指令 n 取指令指令译码取操作数执行指令存结果 指令周期 1)CPU 如何知道从哪里取出程序的第一条指令? 操作系统 2)CPU 如何按程序控制流执行指令? 程序计数器 3)CPU 如何知道从哪里取操作数? 地址 寻址方式 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 49

例 : 计算 5+8 汇编语言程序 对应的机器指令对应的操作 ------------------ --------------------- --------------------------------------------- MOV AL, 5 10110000 将立即数 1 传送到累加寄存器 AL 中 00000101 ADD AL, 8 00000100 计算两个数的和, 结果存放到 AL 中 00001000 HLT 11110100 停机 指令执行过程见下页图 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 50

指令执行过程 1 置初值 2 输出指令地址 3 +1 程序计数器 PC 输出 累加器 A 加法器 时序控制信号 ( 控制命令 ) 时序逻辑电路指令译码器 ID 指令寄存器 IR 指令译码 8 锁存指令 7 锁存 2 锁存地址 输出地址 4 地址 存储器 内部总线 地址寄存器 AR 地址总线 地址译码器 0 1 2 3 4 1011 0000 0000 0101 0000 0100 0000 1000 1111 0100 数据寄存器 DR 1011 0000 锁存数据 6 MOV A, 5 ADD A, 8 HLT 5 读写命令 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 读写控制电路 51

1 取指令阶段 2 指令译码阶段 3 执行指令阶段 4 访存取数阶段 5 结果写回阶段 指令执行过程 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 52

2.2 8086CPU 结构 要点 : 8086CPU 内部结构 8086CPU 的总线接口部件和指令执行部件寄存器结构 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 53

2.2 8086CPU 的内部结构 一 8086CPU 的内部结构及工作过程 16 位微处理器结构的特点 : 1 引脚功能复用 如数据线双向, 通过 读 / 写 控制实现数据的 读 或 写 2 累加器结构 3 可控三态电路 微处理器的外部总线, 即微型计算机的片间三总线允许同时连接多个部件 ( 如存储器 I/O 接口等 ); 这些部件都以可控三态电路与三总线连接, 不工作时该三态电路处于高阻状态 4 总线分时复用 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 54

AX BX CX DX 通用寄存器 AH AL BH BL CH CL DH DL SP BP DI SI 暂存器 ALU 标志寄存器 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 8086CPU 内部结构 ALU 数据总线 (16 位 ) EU 控制器 执行部件 EU 队列总线 (8 位 ) 地址总线 (20 位 ) CS DS SS ES IP 内部寄存器 指令队列 1 2 3 4 8088 数据总线 (16 位 ) 5 6 总线接口部件 BIU 总线控制电路 8086 总线 (16 位数据总线 ) 55

BIU 的功能和组成 组成 : 段寄存器 16 位 CS DS SS ES 指令指针寄存器 16 位 IP 物理地址加法器指令队列 6 字节总线控制逻辑 功能 : 地址形成取指令指令排队读 / 写操作数总线控制 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 56

BIU 的工作过程 工作过程 : CS 和 IP 形成 20 位地址送地址总线 送出 MEM 读信号 取指令到指令队列待用 (6 字节 ); 当 EU 取走指令, 则自动调整指针并补充读入 ( 取走 2 字节或以上时 ) 如队列满, 则空闲 ; 如指令中需访问 MEM 或 IO 读取数据, 则 BIU 根据 EU 给出的逻辑地址形成 20 位物理地址,EU 执行指令后由 BIU 负责传送结果数据 ; BIU 自动修改 IP 寄存器, 指向下一条指令的偏移地址 如 CALL 指令, 则把当前指令的下一条指令的 IP 入栈, 并清队列, 根据新地址取 6 个字节待用,JMP 相类似 ; 总线控制电路发出总线控制信号, 完成 MEM 或 IO 的读写 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 57

EU 的功能和组成 组成 : 算术逻辑部件 ALU 标志寄存器 FR 16(9) 位 PSW( 程序状态字 ) 通用数据寄存器 16 位 AX BX CX DX 变址寄存器 16 位 SI DI SP BP EU 控制器, 取指控制及时序控制 功能 : 译码执行指令 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 58

EU 的工作过程 工作过程 : 从 BIU 指令队列输出端取得指令 ; 指令译码 ; 若需取得操作数 ( 存储器,I/O 端口 ), 则 EU 将操作数的偏移地址通过内部 16 位地址总线送 BIU; BIU 将相应的 16 位段地址与偏移地址在地址加法器中相加形成 20 位物理地址, 申请总线访问 ; 从目标地址取得操作数送 EU; EU 根据指令向内部部件发控制命令, 从而完成指令执行 2015 年 3 月 9 日星期一 3 时 38 分 24 秒 59

8086CPU 与一般 CPU 区别 一般 CPU 工作方式 取指执指取指执指取指执指 8086CPU 工作方式 取指 执指 取指 执指 取指 执指 可见 : BIU 和 EU 可并行工作, 即流水线技术 ; 仅当 CALL RET 及 JMP 等指令时, 要改变执行顺序时, 不能并行工作 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 60

EU 和 BIU 的操作原则 BIU 中的指令队列有 2 个或 2 个以上字节为空时,BIU 自动启动总线周期, 取指填充指令队列 直至队列满, 进入空闲状态 ; EU 每执行完成一条指令, 从指令队列的队首取指令 系统初始化后, 指令队列为空,EU 等待 BIU 从内存取指令, 填充指令队列 ; EU 取得指令, 译码并执行指令 若指令需要取操作数或存操作结果, 需访问存储器或 I/O,EU 向 BIU 发出访问总线请求 ; 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 61

EU 和 BIU 的操作原则 ( 续 ) 当 BIU 接到 EU 的总线请求, 若正忙 ( 正在执行取指总线周期 ), 则必须等待 BIU 执行完当前的总线周期, 方能响应 EU 请求 ; 若 BIU 空闲, 则立即执行 EU 申请总线的请求 ; EU 执行转移 调用和返回指令时, 若下一条指令不在指令队列中, 则队列被自动清除,BIU 根据本条指令执行情况重新取指令和填充指令队列 ; 当指令队列已满, 且 EU 没有向 BIU 申请读 / 写存储器操作数, 则 BIU 不执行任何指令周期, 处于空闲状态 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 62

二 8086CPU 内部寄存器 数据寄存器指针及变址寄存器段寄存器指令指针寄存器标志寄存器 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 63

1. 数据寄存器 数据寄存器 指令执行部件 (EU) 设有 4 个 16 位数据寄存器 15 8 7 0 AX AH AL 累加器 BX BH BL 基址寄存器 CX CH CL 计数寄存器 DX DH DL 数据寄存器 隐含定义 ( 隐含寻址 ) 8 位只能存放数据,16 位可存放数据或地址 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 64

1. 数据寄存器 AX(Accumulator Register) 累加器一般用来存放参加运算的数据和结果, 在乘 除法运算 I/O 操作 BCD 数运算中有不可替代的作用 BX(Base Register) 基址寄存器除可作数据寄存器外, 还可放内存的逻辑偏移地址, 而 AX,CX,DX 则不能 CX(Counter) 将它称作计数寄存器, 是因为它既可作数据寄存器, 又可在串指令和移位指令中作计数用 DX(Data Register) DX 除可作通用数据寄存器外, 还在乘 除法运算 带符号数的扩展指令中有特殊用途 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 65

2. 地址指针和变址寄存器 指针及变址寄存器 4 个 16 位寄存器 SI DI BP SP 15 0 SP 堆栈指针寄存器 BP 基址寄存器 BP SP 用于访问堆栈段的内存 SI 源变址寄存器 DI 目的变址寄存器 SI DI 用于访问数据 / 附加段的内存 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 66

2. 地址指针和变址寄存器 SP(Stack Pointer ) 堆栈指针用于存放栈顶的逻辑偏移地址, 隐含的逻辑段地址在 SS 寄存器中 BP(Base Pointer) 基址指针用于存放内存的逻辑偏移地址, 隐含的逻辑段地址在 SS 寄存器中 间接寻址基址指针 SI(Source Index) 源变址寄存器多用于存放内存的逻辑偏移地址, 隐含的逻辑段地址在 DS 寄存器中, 也可放数据 DI(Destination Index) 目标变址寄存器多用于存放内存的逻辑偏移地址, 隐含逻辑段地址在 DS 寄存器中, 也可放数据 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 67

寄存器的特殊用途和隐含性质 在指令中没有明显的标出, 而这些寄存器参加操作, 称之为 隐含寻址 具体地 : 在某类指令中, 某些通用寄存器有指定的特殊用法, 编程时需遵循这些规定, 将某些特殊数据放在特定的寄存器中, 这样才能正确执行这些指令 采用 隐含 的方式, 能有效地缩短指令代码的长度 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 68

寄存器名 特殊用途 隐含性质 AX, AL 在输入输出指令中作数据寄存器用不能隐含在乘法指令中存放被乘数或乘积, 在除法指令中存放被除数或商隐含 AH 在 LAHF 指令中, 作目标寄存器用 隐 含 AL 在十进制运算指令中作累加器用隐含在 XLAT 指令中作累加器用隐含 BX 在间接寻址中作基址寄存器用不能隐含在 XLAT 指令中作基址寄存器用隐含 CX 在串操作指令和 LOOP 指令中作计数器用 隐 含 CL 在移位 / 循环移位指令中作移位次数计数器用 不能隐含 DX 在字乘法 / 除法指令中存放乘积高位或被除数高位或余数隐含在间接寻址的输入输出指令中作端口地址寄存器用不能隐含 SI 在字符串运算指令中作源变址寄存器用隐含在间接寻址中作变址寄存器用不能隐含 DI 在字符串运算指令中作目标变址寄存器用隐含在间接寻址中作变址寄存器用不能隐含 BP 在间接寻址中作基址指针用 不能隐含 SP 在堆栈操作中作堆栈指针用 隐 含 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 69

3. 段寄存器 段寄存器 总线接口部件 BIU 设有 4 个 16 位段寄存器, 存放每一逻辑段的起始地址, 段基址 15 0 CS 代码段寄存器 DS 数据段寄存器 SS 堆栈段寄存器 ES 附加段寄存器 段寄存器设置的意义 8086/8088 可寻址空间为 1MB, 需要 20 位地址 ; 而指令中所采用的寄存器均为 16 位, 所以只能直接寻址 64KB; 采取逻辑分段的方式, 使得每段寻址 64KB, 从而能够通过多个逻辑分段寻址 1MB 存储空间 ; 即, 由段地址 (16 位 ) 左移 4 位和段内偏移地址 (16 位 ) 组合成 20 位的物理地址 2015 年 3 月 9 日星期一 3 时 38 分 25 秒 程序存放的区域, CS 16+IP 取指数据存放的区域, DS 16+SP,BP,SI 堆栈操作存放的区域, SS 16+SP 堆栈串操作数据存放的区域, ES 16+BP,DI 70

4. 指令指针 指令指针寄存器 IP 指令指针寄存器 IP, 存放下一条指令在代码段的段内偏移地址 程序运行中,CPU 自动修改 IP 的内容 15 0 IP 指令在代码段中的偏移量 CS:IP 下一条指令的逻辑地址逻辑地址物理地址如 CS:IP=8000H:023AH 则物理地址为 8023AH 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 71

5. 标志寄存器 标志寄存器 PSW, 存放运算结果的特征和控制标志 6 位状态标志位,3 位控制标志位 15 0 PSW 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 OF DF IF TF SF ZF AF PF CF 状态标志位 : Carry 进位 / 借位标志 : 加减运算时最高位进位 / 借位,CF=1 Parity 奇偶校验标志 : 运算结果低 8 位有偶数个 1 时,PF=1 Auxiliary 辅助进位标志 : 运算后低 4 位向高位有进位 / 借位,AF =1 Zero 零标志 : 运算后各位全 0,ZF=1 Sign 符号标志 : 运算后最高位为 1,SF=1 Overflow 溢出标志 : 加减运算后结果超出符号数表示范围,OF =1 ( 其判断前章已述 ) 72

状态标志 运算结果标志 CF PF AF ZF SF OF CF: 进位 / 借位标志 CF=1 CY 无符号数有进位 / 借位 CF=0 NC PF: 奇偶标志 PF=1 PE 结果低 8 位, 有偶数个 1 PF=0 PO AF: 辅助进位标志 AF=1 AC 有辅助进位 / 借位 AF=0 NA 常用于 BCD 码运算 ZF SF OF 零标志 ZF=1 ZR 运算结果为零 ZF=0 NZ 符号标志 SF=1 NG 运算结果为负 SF=0 PL 溢出标志 OF=1 OV 有符号数运算结果溢出 OF=0 NV 有符号数取值范围字节 : -128 ~ +127 10000000 ~ 01111111( 二进制 ) 字 : -32768 ~ +32767 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 73

举例 进位位 符号位 溢出和辅助进位标志 1. -128-1= - 129( 溢出 ) 1 0 0 0 0 0 0 0 (80H) 1 1 1 1 1 1 1 1 (0FFH) 1 0 1 1 1 1 1 1 1 (17FH) C S CF=1 SF=0 OF=1 AF=0 3. 110+18=128( 溢出 ) 0 1 1 0 1 1 1 0 (6EH) 0 0 0 1 0 0 1 0 (12H) 0 1 0 0 0 0 0 0 0 (080H) C S CF=0 SF=1 OF=1 AF=1 2. 45+30=75 0 0 1 0 1 1 0 1 (2DH) 0 0 0 1 1 1 1 0 (1EH) 0 0 1 0 0 1 0 1 1 (04BH) C S CF=0 SF=0 OF=0 AF=1 4. -85-1= - 86 1 0 1 0 1 0 1 1 (0ABH) 1 1 1 1 1 1 1 1 (0FFH) 1 1 0 1 0 1 0 1 0 (1AAH) C S CF=1 SF=1 OF=0 AF=1 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 74

举例 辅助进位位 设 AL=BCD 数 14,BL=BCD 数 9, 用减法指令求两数之差 0001 0100 BCD:14-0000 1001 BCD:9 0000 1011 低位 >9, 不正确,AF=1-0000 0110 减 6 调整 ( 用 DAS 指令 ) 0000 0101 结果为 5, 正确 低 4 位向高 4 位有借位,AF=1, 需用减法调整指令 DAS 进行 减 6 调整 BCD 数进行加法运算时, 用加法调整指令 DAA, 自动进行 加 6 调整运算 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 75

控制标志位 控制标志位 TF IF DF TF: 单步 ( 陷阱 ) 标志 TF=1 TF=0 使 CPU 每执行一步 ( 一条指令 ) 即产生一个内部中断 禁止跟踪 IF: 中断标志 IF=1 IF=0 允许 CPU 响应外部的可屏蔽中断 (STI) 禁止中断 (CLI) DF: 方向标志 DF=1 DF=0 串操作指令为自动减量 (STD) 串操作指令为自动增量 (CLD) 在指令 :LODSB [DS:SI] STOSB [ES:DI]...... 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 76

课堂作业 根据 CS:IP 组合, 指出下一条指令的存储器所在的实际地址 1 1000H:0200H 2 1234H:0A00H 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 77

2.3 8086CPU 的引脚及其功能 8086 是 16 位 CPU, 采用高性能的 N 沟道, 耗尽型负载的硅栅工艺 (HMOS) 制造 部分引脚采用分时复用方式,40 条引脚, 双列直插封装 (DIP) 可分为 4 部分 : 地址总线 数据总线 控制总线以及其它 ( 时钟与电源 ) 2015 年 3 月 9 日星期一 3 时 38 分 26 秒 78

8086 的两种工作方式 最小模式 : 系统中只有 8086 一个处理器, 所有的控制信号都是由 8086CPU 产生 (MN/MX=1) 最大模式 : 系统中可包含一个以上的处理器, 比如包含协处理器 8087 在系统规模比较大的情况下, 系统控制信号不是由 8086 直接产生, 而是通过与 8086 配套的总线控制器等形成 (MN/MX=0) 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 79

80 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 1.8086/8088CPU 在最小模式中引脚定义 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN(S0) ALE(QS0) INTA(QS1) TEST READY RESET GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 8086 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0/(HIGH) MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) IO/M(S2) DT/R(S1) DEN(S0) ALE(QS0) INTA(QS1) TEST READY RESET GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 8088

地址 数据总线 AD15 ~ AD0 地址 / 数据总线分时复用双向三态总线周期 : T1 输出地址 ( 锁存 ) T2 ~T4 传送数据 A19/S6 ~ A16/S3 地址 / 状态线复用单向 ( 输出 ) 三态总线周期 : T1 输出地址 ( 锁存 ) T2 ~T4 状态,S6-S3 输出状态 S 状态作用 S 状态作用 S6=0 8086 最小模式时恒为 0 S4 S3 当前正使用的段寄存器 S5: 中断允许标志的状态 0 0 ES S5=0 禁止一切可屏蔽中断 0 1 SS S5=1 允许可屏蔽中断请求 1 0 CS( 或不需要段寄存器的 I/O 端口 及中断向量寻址 ) 1 1 DS 8088 只需传送 8 位数据, 只有 AD7~AD0 为地址 / 数据线,A15~A8 上只传送地址信号 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 81

高八位数据允许 BHE/S7 高八位数据总线允许 / 状态复用单向 ( 输出 ) 三态,BHE 低有效总线周期 : T1 高八位数据的选通信号 ( 需锁存 )( 奇地址 ) T2 ~T4 状态,S7 输出状态信息 ( 在 8086 中未定义, 为 1) 注 : 低八位数据的选通信号用 AD0( 即偶地址 ) 模式选择 MIN/MX 最小 / 最大模式选择信号输入通常 : 接 +5V( 最小模式 ) 或接地 ( 最大模式 ) 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 82

存储器读 写和 I/O 控制 RD 读选通信号三态输出低电平有效在 T2 T3 Tw 时为低电平 WR 写选通信号三态输出低电平有效在 T2 T3 Tw 时为低电平 M/IO MEM 或 IO 端口控制信号三态输出高电平 : 访问 MEM 低电平: 访问 I/O 通常在前一总线周期的 T4 ~ 本周期的 T4 有效 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 83

地址锁存 数据允许和数据收发控制 ALE 地址锁存允许信号输出, 高电平有效用作地址锁存器 (8282/8283) 的控制信号 T1,ALE 有效, 下降沿锁存地址锁存是因为地址数据总线复用 DEN 数据允许信号三态输出, 低电平有效最小模式中用于总线驱动器的输出允许信号 DT/R 数据发送 / 接收控制信号三态输出通常用于总线双向驱动器的方向控制信号 DT/R=1,CPU 发送数据, 完成写操作 ; DT/R=0,CPU 接收外部数据, 完成读操作 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 84

准备就绪 READY 准备就绪信号输入高电平有效通常由存储器或 I/O 端口发送的 READY 信号, 表示数据已准备好, 可以传送 ; 在总线周期的 T3 状态,CPU 检测 READY 信号线, 如为低, 则插入 Tw 状态, 直到为高时进入 T4 状态, 完成数据传送 复位 RESET 复位信号输入高电平有效 CPU 接收复位信号后, 停止现行操作, 初始化寄存器 ; RESET 信号至少保持 4 个时钟周期以上高电平, 在变低时 CPU 重启 ; 复位时各寄存器的初值 : CS=0FFFFH 其余均为 0000H 指令队列为空 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 85

可屏蔽中断 INTR 可屏蔽中断请求信号输入电平触发 ( 或边沿触发 ) 高电平有效每个指令周期的最后一个时钟周期检测此信号, 如有效且 IF=1 ( 即允许中断 ) 则中断响应 ( 执行中断服务程序 ) 指令 CLI 可清 IF=0, 即中断屏蔽 中断响应 INTA 可屏蔽中断响应输出低电平有效中断响应周期将连续发出两个负脉冲, 外设将在收到第二个脉冲之后, 向数据总线发中断类型号 不可屏蔽中断 NMI 不可屏蔽中断请求信号输入上升沿触发正跳变有效在当前指令执行完后, 立即执行类型 2 中断处理程序 ( 中断处理程序可编程 ) 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 86

总线保持请求 HOLD 总线保持请求信号输入高电平有效在最小模式中, 如无 DMA 控制器, 应接地, 否则是其它设备请求使用总线 总线保持响应 HLDA 总线保持响应信号输出高电平有效 如有请求使用总线, 且 CPU 允许出让总线, 则在 T4 发出 HLDA 信号, 且使三总线为高阻态 总线请求部件使用结束后撤消 HOLD 信号,CPU 将 HLDA 变低, 则 CPU 重新获得总线使用权 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 87

测试 TEST 测试信号输入低电平有效在 CPU 执行 WAIT 指令期间, 每隔 5 个时钟周期测试 TEST 引脚, 如高电平则继续等待, 如低电平则结束等待, 进入 T4 状态 在 8088 作 CPU 的 PC/XT 机中, 与 8087 的 BUSY 相连 时钟 CLK 时钟信号输入由 8284 提供 8086 的 CLK 为 5MHz,8086-1 为 10MHz 电源 Vcc =+5V GND CPU 工作电源及接地 2015 年 3 月 9 日星期一 3 时 38 分 27 秒 88

2.8086/8088 在最大模式中引脚定义 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 89

S2 S1 S0 总线周期状态信号 ( 三态 输出 ) 表示 8086 外部总线周期的操作类型, 在最小方式下, S2 S1 S0 三引脚分别为 M/IO DT/R DEN 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 90

S 2 -S 0 的编码作用 S2 S1 S0 操作类型 (CPU 周期 ) 0 0 0 发中断响应 0 0 1 读 I/O 端口 0 1 0 写 I/O 端口 0 1 1 暂停 1 0 0 取指令 1 0 1 读存储器 ( 数据 ) 1 1 0 写存储器 1 1 1 无源状态 ( 无总线周期 ) 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 91

LOCK 总线优先权锁定信号 ( 输出 三态 ) 该信号用来封锁外部处理器的总线请求, 当 LOCK 输出低电平时, 外部处理器不能控制总线,LOCK 信号有效由指令前缀 LOCK 在程序中设置 另外, 在 CPU 发出 2 个 INTA 之间,LOCK 也变成有效 DMA 期间, 该信号置为高阻态 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 92

, RQ/GT0 RQ/GT1 请求 / 允许总线访问控制信号 ( 双向 ) 低电平有效 输入时, 表示其他主控向 CPU 请求总线, 输出时表示 CPU 对总线请求响应 两个引脚可同时与两个主控设备相连 前一个优先级高 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 93

QS 1,QS 0 指令队列状态信号 ( 输出 ) QS1 QS0 含义 0 0 无操作 0 1 从指令队列取走第一个字节 1 0 队列已空 1 1 从指令队列取走后续字节 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 94

3.8086 和 8088CPU 的不同之处 GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8088 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 8088CPU 引脚 Vcc A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0/(HIGH) MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) IO/M(S2) DT/R(S1) DEN(S0) ALE(QS0) INTA(QS1) TEST READY RESET 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 95

3.8086 和 8088CPU 的不同之处 8086 为 16 位 CPU 而 8088 为准 16 位 CPU 8086 8088 外部数据总线 16 位 8 位 指令队列 6 字节 4 字节 Memory 和 IO 空间选择 M/IO IO/M 由于 8088 是准 16 位 CPU, 其外部数据总线为 8 位, 所以 : 1 16 位数据的读写需二个读写周期才能完成 ; 2 地址总线中仅 AD0 ~ AD7 需分时使用 ; 3 不需要 BHE, 该引脚的功能改为 SS0, 与 DT/R 及 IO / M 组合使用 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 96

3.8086 和 8088CPU 的不同之处 8088 相应的引脚功能的组合关系 IO/M DT/R SS0 含义 0 0 0 取指令 0 0 1 读存储器 0 1 0 写存储器 0 1 1 无源状态 1 0 0 发出中断响应信号 1 0 1 读 I/O 端口 1 1 0 写 I/O 端口 1 1 1 暂停 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 97

2.4 8086 的存储器组织 8086/8088 只能工作于实模式, 仅能访问 2 20 = 1MB 存储器 80286 及以上 CPU 可工作于实模式和保护模式 在保护模式下, 寻址范围为 : 80286 : 寻址 2 24 =16MB 内存 80386: 寻址 2 32 = 4GB 内存 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 98

2.4.1 段地址和偏移地址 存储空间的分段 物理地址的形成 逻辑地址的来源 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 99

1. 存储空间的分段 存储器中以字节为单位存储信息每个存储单元有唯一的物理地址 CPU 访问存储器, 须先确定物理地址存放顺序 : 低字节存放在低地址 ; 高字节存放在高地址 20 位地址 地址线为 20 根, 寻址空间为 2 20 =1MB 16 位寄存器 寄存器为 16 位, 可寻址 2 16 =64K 提出逻辑段的概念 段首址可灵活定义 ( 必须是 16 的整倍数 ), 段内的最大空间为 64K 2015 年 3 月 9 日星期一 3 时 38 分 28 秒 100

存储空间的分段图示 如每个段都是 64K, 则最多可分 16 个段段与段可以交叉甚至重叠 00000 0FFFF 10000 1FFFF 0 段 64K 1 段 64K 00000... 第一段的起点 第一段的终点第二段的起点 逻辑段 1 <=64K 逻辑段 2. 2 3 段共享 第三段的终点 <=64K 逻辑段 3 <=64K 0F0000 0FFFFF 15 段 64K FFFFF. 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 101

2. 物理地址的形成 四个段寄存器 CS DS SS ES 逻辑地址由段寄存器和段内偏移地址寄存器组成 物理地址 = 段寄存器的值 16 + 段内偏移量寄存器的值 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 102

2. 物理地址的形成 物理地址 = 段寄存器的值 16 + 段内偏移量寄存器的值 15 0 段基址 0000 15 0 段内偏移量 不同的段基址和段内偏移量可得到相同的物理地址, 如 : 1234:0005 20 0 物理地址 1230:0045 1200:0345 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 103

3. 默认段寄存器和偏移地址寄存器 逻辑地址的来源 操作类型 隐含段地址 替换段地址 偏移地址 取指令 CS 无 IP 堆栈操作 SS 无 SP BP 间址 SS CS DS ES 有效地址 EA 存取变量 DS CS DS ES 有效地址 EA 源字符串 DS CS DS ES SI 目标字符串 ES 无 DI 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 104

3. 默认段寄存器和偏移地址寄存器 CS:IP 指向代码段 SS:SP 指向堆栈段 CS IP 代码段 DS:SI,DI(BX) 指向数据段 ES:DI( 串操作 ) 指向附加段 段寄存器与段内指针寄存器有缺省搭配 DS SI, DI(BX) SS SP 或 BP 数据段 堆栈段 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 105

4. 堆栈设置和操作 堆栈 (Stack) 也是一个存储区, 只是对它的访问方式为 先进后出 ; 主要使用场合为数据暂存 子程序调用返回 中断处理过程 ; 堆栈是一种数据结构 ; 同样采用逻辑分段表示 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 106

4. 堆栈设置和操作 堆栈位置和长度由 SS 和 SP 设定 4C000 SP 4C100 34(AL) 12(AH) 栈底 堆栈定义 : SS 指向堆栈段首址 SP 指向堆栈段当前的栈顶, 即长度如定义 : SS = 4C00H,SP = 100H 即 : 堆栈首址为 4C000H, 长度为 100H 个单元如当前 : AX = 1234H 执行 PUSH AX 指令后 SP =(SP)-2= 100H-2=0FEH 高地址中放高字节 (AH) 低地址中放低字节 (AL) 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 107

例 : 执行入栈和出栈的过程 1. MOV SP,0100H 2. PUSH AX 3. PUSH BX 4. POP AX 5. POP BX 00FAH 00FBH 00FCH 00FDH 00FEH 00FFH 0100H 1. 设栈底 (SP)=0100H 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 00H 00H 00H 78H 00H 56H 00H 34H 00H 12H 00H (AX)=1234H (AX)=5678H 出栈过程 入栈过程 3.(BH) 00FDH (BL) 00FCH (SP)-2 SP (SP)=00FCH 2.(AH) 00FFH (AL) 00FEH (SP)-2 SP (SP)=00FEH (BX)=5678H (BX)=1234H 4.(00FCH) AL (00FDH) AH (SP)+2 SP (SP)=00FEH 5. (00FEH) BL (00FFH) BH (SP)+2 SP (SP)=0100H 108

2.4.2 8086 存储器的分体结构 常用存储器芯片及其使用 线性逻辑空间及其物理存储体 相邻两个单元 ( 字 ) 的读写 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 109

1. 常用存储器芯片 EPROM 27512 RAM 6264 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O1 I/O2 I/O3 Vss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 27512 28 27 26 25 24 23 22 21 20 19 18 17 16 15 Vdd A14 A13 A8 A9 A11 OE A10 CS I/O8 I/O7 I/O6 I/O5 I/O4 NC A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O1 I/O2 I/O3 Vss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6264 28 27 26 25 24 23 22 21 20 19 18 17 16 15 Vdd WE CS1 A8 A9 A11 O E A10 CS2 I/O8 I/O7 I/O6 I/O5 I/O4 27512 2764 62256 27256 2732 6264 27128 2716 6216 2015 年 3 月 9 日星期一 3 时 38 分 29 秒 110

用于 8 位数据总线 以 RAM 6264 ( 8K x 8bit ) 为例 D7 ~ D0 CS CS A12 D7 D0 6264 WE OE A0 WR RD A12 ~ A0 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 111

用于 16 位数据总线 以 RAM 62256 ( 32K x 8bit ) 为例 D7 ~ D0 ( 低 8 位偶地址存储体 ) D15 ~ D8( 高 8 位奇地址存储体 ) CS 其中包括 BHE CS A14 D7 D0 62256 WE OE A0 D7 WE OE A14 62256 D0 A0 CS CS 其中包括 A0 A15 ~ A1 WR RD 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 112

2. 线性逻辑空间及其物理存储体 数据总线为 16 位时存储空间是分体的 00000 00001 00002 00003 00004 00005 FFFFF 7 0 存储空间为 1M Bytes 15 8 7 0 00001 00000 00003 00002 00005 00004 FFFFF 奇地址存储体 512K Bytes (A0=1) 偶地址存储体 512K Bytes(A0=0) FFFFE 逻辑上相邻的两个单元, 物理上分属两个存储体, 即两个存储芯片 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 113

3. 相邻两个单元 ( 字 ) 的读写 偶地址为低字节的字的读写 7 0 181C2 偶 ( 低 ) 字节 181C3 奇 ( 高 ) 字节 181C4 181C5 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 偶地址存储体可用 A0 参与片选 (CS) 奇地址存储体可用 BHE 参与片选 (CS) 与芯片连接的地址线中不包括 A0, 在一个读写周期即可完成一个字的存取此时,A19~A1 为 181C2H, 并同时使 A0=0,BHE=0 FFFFF 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 114

3. 相邻两个单元 ( 字 ) 的读写 奇地址为低字节的字的读写 7 0 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 181C2 181C3 奇 ( 低 ) 字节 181C4 偶 ( 高 ) 字节 181C5 FFFFF 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 偶地址存储体可用 A0 参与片选 (CS) 奇地址存储体可用 BHE 参与片选 (CS) 与芯片连接的地址线中不包括 A0, 但两个单元的地址中的 A1 和 A2 也不同, 所以在一个读写周期内不可能完成一个字的存取 必须在前一个读写周期使 A19~A1 为 181C2H, 并同时使 A0=1 BHE=0, 以读取 181C3H 在后一个读写周期使 A19~A1 为 181C4H, 并同时使 A0=0 BHE=1, 以读取 181C4H 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 115

3. 相邻两个单元 ( 字 ) 的读写 BHE A0 操作 总线使用情况 0 0 从偶地址开始读 / 写一个字 AD15-AD0 0 1 从奇地址单元读 / 写一个字节 AD15-AD8 1 0 从偶地址单元读 / 写一个字节 AD7-AD0 1 1 0 1 从奇地址开始读 / 写一个字 AD15-AD8 1 0 AD7-AD0 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 116

2.5 8086 工作模式和总线操作 最小模式系统 (MN/#MX=1) 单机系统 : 单处理器系统 总线无需共享 最大模式系统 (MN/#MX=0) 多机系统 : 多处理器系统 ( 包括数学协处理器 ) 总线共享, 所以具有总线争用 总线裁决功能 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 117

2.5.1 最小模式系统 基本组成 :CPU MEM I/O 地址锁存器 :8282 或 74LS373 双向数据收发器 :8286 或 74LS245 时针发生器 8284A 2015 年 3 月 9 日星期一 3 时 38 分 30 秒 118

最小模式系统配置 1 2015 年 3 月 9 日星期一 3 时 38 分 31 秒 119

地址锁存器 8282 或 74LS373 常用的是 74LS373 DI0 1 2 3 4 5 6 7 OE GND 1 2 3 4 5 6 7 8 9 10 8282 2015 年 3 月 9 日星期一 3 时 38 分 31 秒 20 19 18 17 16 15 14 13 12 11 Vcc DO0 1 2 3 4 5 6 7 STB DI7~DI0 8 位数据输入 8D~1D 8 位数据输入 DO7~DO0 8 位数据输出 8Q~1Q 8 位数据输出 STB 选通信号 (Strobe) Enable G 选通信号 (Strobe) OE 输出允许 OC 输出允许 通常 : Output Control 1Q 1D 2D 2Q 3Q 3D 4D 4Q GND ( 在最小模式且无 DMA) OE 接地, 常允许 OC 接地, 常允许 STB 接 ALE Enable G 接 ALE 1 2 3 4 5 6 7 8 9 10 373 20 19 18 17 16 15 14 13 12 11 Vcc 8Q 8D 7D 7Q 6Q 6D 5D 5Q Enable G 120

锁存电路 D7 ~ D0 D7 OC Q7 AD7 ~ AD0 74LS373 A7 ~ A0 D0 Q0 Enable G ALE 2015 年 3 月 9 日星期一 3 时 38 分 31 秒 121

数据总线缓冲器 8286 或 74LS245 常用的是 74LS245 A0 A1 A2 A3 A4 A5 A6 A7 OE GND 1 2 3 4 5 6 7 8 9 10 8286 A7~A0 8 位输入 / 输出数据线 A8~A1 8 位输入 / 输出数据线 B7~B0 8 位输出 / 输入数据线 B8~B1 8 位输出 / 输入数据线 T 数据传送方向 DIR 数据传送方向 OE 输出允许 Enable G 输出允许 8286 的 OE( 或 245 的 Enable G) 8286 的 T ( 或 245 的 DIR) 状态 0 0 A B 0 1 B A 1 1 高阻 1 0 高阻 2015 年 3 月 9 日星期一 3 时 38 分 31 秒 20 19 18 17 16 15 14 13 12 11 Vcc B0 B1 B2 B3 B4 B5 B6 B7 T DIR A1 A2 A3 A4 A5 A6 A7 A8 GND 1 2 3 4 5 6 7 8 9 10 245 20 19 18 17 16 15 14 13 12 11 Vcc G B1 B2 B3 B4 B5 B6 B7 B8 122

驱动电路 DEN D7 ~ D0 Enable G A1 B1 74LS245 D7 ~ D0 A8 B8 DIR DT/R 2015 年 3 月 9 日星期一 3 时 38 分 31 秒 123

时钟发生器 8284A CSYNC PCLK AEN1 RDY1 READY RDY2 AEN2 CLK GND 1 2 3 4 5 6 7 8 9 8284A 18 17 16 15 14 13 12 11 10 Vcc X1 X2 TANK EF1 F/C OSC RES RESET 2015 年 3 月 9 日星期一 3 时 38 分 31 秒 124

时钟发生器 8284A CSYNC PCLK AEN1 RDY1 READY RDY2 AEN2 CLK GND 1 2 3 4 5 6 7 8 9 8284A 18 17 16 15 14 13 12 11 10 2015 年 3 月 9 日星期一 3 时 38 分 32 秒 Vcc X1 X2 TANK EF1 F/C OSC RES RESET 引脚定义 : AEN1,AEN2 RDY1,RDY2 ASYNC READY X1,X2 F/C EFI CLK PCLK OSC RES RESET CSYNC VCC,GND 125

时钟发生器 8284A 主要功能 : 产生系统运行的所有时钟信号, 包括系统时钟 外设时钟 ; 提供复位信号生成电路 ; READY 控制电路 2015 年 3 月 9 日星期一 3 时 38 分 32 秒 126

时钟发生器 8284A 8284A 的时钟信号来源 : 如 F/#C 接低电平, 时钟信号源由晶体振荡器提供, 频率为 f = 14.31818MHz; 如 F/#C 接高电平, 用 EFI 端接入的外加振荡信号作时钟信号源 从 8284A 输出端可产生的信号 : CLK88- 频率 4.77MHz, 输入时钟 3 分频后得到, 可送给 8088 或 8288 作时钟脉冲 PCLK-CLK88 经 8284A 内部 2 分频产生的脉冲信号, 频率 2.385MHz OSC- 从 OSC 脚输出的脉冲信号, 频率为 14. 31818 MHz PCLK 和 OSC 信号输出到系统外部, 供外部电路 ( 如 8253A) 使用 2015 年 3 月 9 日星期一 3 时 38 分 33 秒 127

时钟发生器 8284A 8284A 的作用 : 系统加电, 电源准备好信号 PWR GOOD 送 8284A 复位端 RES, 经它同步后形成系统复位信号 RESET 当 CPU 与慢速存储器或外设交换数据时, 会向 8284A 的 RDY 1 #AEN 输入信号, 经它同步后使 READY 变低并送到 CPU 的 READY 端, 在 T 3 周期后插入 1~n 个等待周期 Tw, 直至外部数据准备就绪, 使 READY 变高才进入 T 4 周期, 完成数据传送 在 X 1 和 X 2 端接频率 15MHz 或 24MHz 晶振, 则经 8284A 做 3 分频, 在 CLK 端获得 5MHz 的 CLK86 或 8MHz 的 CLK86-2 信号, 供 8086 或 8086-2 作时钟脉冲信号 2015 年 3 月 9 日星期一 3 时 38 分 33 秒 128

最小模式系统工作过程 CPU 可从存储器或 I/O 接口中读出数据, 也可向它们写入数据 以读存储器操作为例说明最小模式工作过程 1)CPU 送出 M/ #IO 和 DT/ #R 信号 : M/#IO=1 选中存储器 ; DT/ #R 连到 74LS245 的 DIR, 控制传送方向 DT/ #R=0 使 DIR=0, 数据 A B,CPU 准备接收内存读出的数据 2)CPU 先送出地址和 #BHE 信号, 再送出地址锁存 ALE: A 19 /S 6 ~A 16 /S 3 AD 15 ~AD 0 #BHE 送 3 片 74LS373 输入 ; 这时, 地址 / 状态线和地址 / 数据线上传送地址信号 ; 当 ALE=1 时, 分离出的 A 19 ~A 0 和 #BHE 打入 74LS373; 当 ALE 由高变低时, 20 位地址和 #BHE 被锁存在 74LS373 中 2015 年 3 月 9 日星期一 3 时 38 分 33 秒 129

最小模式系统工作过程 3)74LS373 的输出允许端 #OE 恒接地锁存的 20 位地址和 #BHE 信号直接送到 PC 总线上, 也被送到存储器系统, 用来选择存储单元 4)CPU 使 #RD=0,#DEN=0 #RD=0,CPU 要从指定存储单元读数据 ;#DEN=0, 表示允许收发数据 #DEN 与 74LS245 的 G 相连, 允许 74LS245 传送数据 由于第 1) 步中已设置缓冲器数据传送方向 A B, 所以可从存储单元读出数据, 经数据总线 D 15 ~D 0, 从 74LS245 的 B 端传送到 A 端, 再从 CPU 的 AD 15 ~AD 0 总线送入 CPU 的寄存器 2015 年 3 月 9 日星期一 3 时 38 分 33 秒 130

最小模式下的配置 2 Vcc Vcc MN/MX RD 8284A RES CLK READY RESET WR IO/M INTA INTR 8086 CPU ALE A 16 -A 19 STB 8282*3 地址总线 20 位 AD 0 -AD 15 OE 存储器 I/O 接口 DT/R DEN T 8286 OE 数据总线 16 位 2015 年 3 月 9 日星期一 3 时 38 分 33 秒 131

2.5.2 最大模式系统 2015 年 3 月 9 日星期一 3 时 38 分 34 秒 132

8288 引脚定义总线状态信号 S2~S0 控制输入信号 CLK AEN CEN IOB 总线命令信号 INTA IORC IOWC MRDC MWTC,AMWC 总线控制信号 ALE DEN DT/R MCE/PDEN 2015 年 3 月 9 日星期一 3 时 38 分 34 秒 8288 总线控制器 8288 总线控制器的引脚及内部结构框图 133

8288 总线控制器 1. 总线状态输入信号 总线状态输入信号 #S2,#S1,#S0 由 CPU 输入 S2 S1 S0 操作类型 (CPU 周期 ) 8288 输出命令 0 0 0 发中断响应 INTA 0 0 1 读 I/O 端口 IORC 0 1 0 写 I/O 端口 IOWC AIOWC 0 1 1 暂停 无 1 0 0 取指令 MRDC 1 0 1 读存储器 ( 数据 ) MRDC 1 1 0 写存储器 MWTC AMWC 1 1 1 无源状态 ( 无总线周期 ) 无 2015 年 3 月 9 日星期一 3 时 38 分 34 秒 134

8288 总线控制器 2. 外部输入控制信号 CLK, 时钟输入 #AEN, 地址允许信号 CEN, 命令允许输入信号 IOB,IO 总线模式信号 : 接低电平, 则 8288 工作在系统总线方式 ; 接高电平, 则 8288 工作在 I/O 总线方式 2015 年 3 月 9 日星期一 3 时 38 分 34 秒 135

8288 总线控制器 3. 总线命令信号 INTA, 中断响应信号 IORC,I/O 读命令 IOWC AIOWC,I/O 写命令 I/O 超前写命令 MRDC, 存储器读命令 MWTC AMWC, 存储器写命令 存储器超前写命令 2015 年 3 月 9 日星期一 3 时 38 分 34 秒 136

8288 总线控制器 4. 总线控制信号 ALE, 地址信号锁存 DEN, 数据总线允许信号 DT/R, 数据发送 / 接收信号 MCE/PDEN, 主控级联允许 / 外设数据允许 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 137

2.5.3 总线操作时序 指令周期 : 总线周期 : 时钟周期 : 执行一条指令所需的时间, 通常以时钟为单位, 由于 指令不同, 所需的时间也不同, 通常一条指令由若干 总线周期组成 ; 完成一次 MEM 或 I/O 操作所需的时间, 通常一个总线 周期由几个 T( 至少四个 ) 组成 ; T1: 地址有效 ;T2 ~ T4: 传送数据, 也可能在 T3 后 插入几个 Tw ; 即 CLK 的倒数, 是 CPU 的时间基准 (T 周期 /T 状态 ) (8086 的主频为 5MHZ, 一个时钟周期为 200ns) T4 T1 T2 T3 Tw Tw T4 T1 T2 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 总线周期 138

一 系统的复位和启动 置成高阻状态的三态输出线包括 : AD15~AD0 A19/S6~A16/S3 BHE/S7 M/IO DT/R DEN WR RD INTA 另外有几条控制线在复位之后处于无效状态, 但不浮空, 它们是 ALE HLDA RQ/GT1 RQ/GT0 QS0 QS1 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 139

一 系统的复位和启动 复位时各内部寄存器的值 标志寄存器指令指针 IP CS 寄存器 DS 寄存器 ES 寄存器 SS 寄存器指令队列其他寄存器 清零 0000H FFFFH 0000H 0000H 0000H 变空 0000H CPU 复位后, 从内存 FFFF0H 处开始执行指令 ( 通常放一条转移指令 ) 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 140

8086 最小模式下的总线周期 一个总线周期 T 1 T 2 T 3 T 4 CLK A19/S6 ~ A16/S3 BHE/S7 AD15 ~ AD0 ALE 地址,BHE 输出 地址输出 地址锁存 状态输出 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 141

二 8086 最小模式下的读总线周期 CLK 一个总线周期 T 1 T 2 T 3 T 4 A19/S6 ~ A16/S3 BHE/S7 地址,BHE 输出 状态输出 AD15 ~ AD0 地址输出 高阻 数据输入 ALE M/IO 地址锁存 低为读 I/O, 高为读 MEMORY RD DT/R DEN 8086 读总线周期的时序 数据读入 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 142

二 8086 最小模式下的读总线周期 1)T 1 状态 2)T 2 状态 3)T 3 状态 4)T 4 状态 5)T W 状态 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 143

三 8086 最小模式下的写总线周期 CLK 一个总线周期 T 1 T 2 T 3 T 4 A19/S6 ~ A16/S3 BHE/S7 地址,BHE 输出 状态输出 AD15 ~ AD0 ALE 地址输出 地址锁存 数据输出 M/IO 低为写 I/O, 高为写 MEMORY WR DT/R DEN 8086 写总线周期的时序 数据写出 2015 年 3 月 9 日星期一 3 时 38 分 35 秒 144

二 8086 最小模式下的写总线周期 1)T 1 状态 2)T 2 状态 3)T 3 状态 4)T 4 状态 5)T W 状态 2015 年 3 月 9 日星期一 3 时 38 分 36 秒 145

四 8088 最小模式下的读总线周期 CLK 一个总线周期 T 1 T 2 T 3 T 4 A19/S6 ~ A16/S3 A19 ~ A16 S6 ~ S3 A15 ~ A8 地址输出 AD7 ~ AD0 ALE 地址输出 地址锁存 数据输出 IO/M 低为读 I/O, 高为读 MEMORY RD DT/R DEN 8088 最小模式下的读总线周期时序 数据读入 2015 年 3 月 9 日星期一 3 时 38 分 36 秒 146

五 8088 最小模式下的写总线周期 CLK 一个总线周期 T 1 T 2 T 3 T 4 A19/S6 ~ A16/S3 A19 ~ A16 S6 ~ S3 A15 ~ A8 地址输出 AD7 ~ AD0 地址输出 数据输出 ALE 地址锁存 IO/M 低为读 I/O, 高为读 MEMORY WR DT/R DEN 8088 最小模式下的写总线周期时序 数据写出 2015 年 3 月 9 日星期一 3 时 38 分 36 秒 147

六 8086 最大模式下的总线周期 8086 最大模式下的读总线周期时序 CLK 一个总线周期 T 1 T 2 T 3 T 4 S2-S0 A19/S6 ~ A16/S3 BHE/S7 S2~S0 BHE A19-A16 S7-S3 无源状态 AD15 ~ AD0 A15-A0 D15-D0 *ALE *MRDC 或 IORC *DT/R *DEN 2015 年 3 月 9 日星期一 3 时 38 分 36 秒 148

六 8086 最大模式下的总线周期 8086 最大模式下的写总线周期时序 CLK 一个总线周期 T 1 T 2 T 3 T 4 S2-S0 A19/S6 ~ A16/S3 BHE/S7 S2~S0 BHE A19-A16 S7-S3 AD15 ~ AD0 A15-A0 D15-D0 *ALE *AMWC 或 *AIOWC *MWTC 或 *IOWC *DEN *DT/R 2015 年 3 月 9 日星期一 3 时 38 分 36 秒 149

七 其他时序 中断类型号 可屏蔽中断响应周期时序 总线保持与响应时序 2015 年 3 月 9 日星期一 3 时 38 分 36 秒 150

七 其他时序 总线空操作 当 CPU 不执行总线周期时 ( 指令队列已满,EU 未申请访问存储器 ),BIU 不和总线打交道, 进入总线空闲周期 T i CPU 对总线进行空操作, 但 CPU 内部操作依然进行,EU 仍在工作 总线空操作是 BIU 对 EU 的等待 2015 年 3 月 9 日星期一 3 时 38 分 36 秒 151

本章结束 作业 pp46-47 4 5 7 10 11 12 13 16 17 2015 年 3 月 9 日星期一 3 时 38 分 37 秒 152