第2章 微型计算机基础
主要内容: 微型机的构成及工作原理 8088/8086 CPU的结构及工作原理 系统总线
§2.1 微型机的基本结构 掌握: 微机系统的基本组成 微型机的工作原理 微机8088的存储器组织
一、微型计算机系统组成 微型计算机系统的三个层次 微处理器(Microprocessor) 微型计算机(Microcomputer) 微型计算机系统(Microcomputer System)
微型计算机系统的三个层次 ALU 寄存器 微处理器CPU 控制器 存储器 I/O接口 总线 (主机) 硬件系统 键盘、鼠标 显示器 微 型 软件系统 微 型 计算机 系 统 (主机) 外 设 ALU 寄存器 控制器 键盘、鼠标 显示器 软驱、硬盘、光驱 打印机、扫描仪 系统软件 应用软件
核心级——微处理器 微处理器简称CPU,是计算机的核心,主要包括: 运算器ALU 控制器CU 寄存器组Registers(简称Regs或R)
硬件系统级——微型计算机 以微处理器为核心,配上只读存储器(ROM)、读写存储器(RAM)、输入/输出(I/O)接口电路及系统总线等部件,就构成了微型计算机。 将CPU、存储器、I/O接口、总线等集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。
系统级 以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。 微型计算机如果不配有软件,通常称为裸机 软件分为系统软件和应用软件两大类。
一、微型计算机的基本结构 1. 微型计算机的硬件系统 微处理器(CPU) 存储器(M) 输入/输出接口(I/O接口) 总线(BUS)
微型计算机的概念结构 C P U AB: Address Bus DB: Data Bus CB: Control Bus 存 储 器 I/O 接 口 I/O 接 口 输 出 设 备 I/O 接 口 输 入 设 备 数据总线 DB 控制总线 CB AB: Address Bus DB: Data Bus CB: Control Bus
(一) 主机硬件系统——CPU 作用: 计算机的控制中心,提供运算、判断能力 构成:ALU、CU、Regs(P29图2-3) 作用: 计算机的控制中心,提供运算、判断能力 构成:ALU、CU、Regs(P29图2-3) 例:Intel 8088/8086、PIII、P4、Celeron AMD K7(Athlon、Duron) CPU的位数(字长):4位、8位、16位、32位、64位 是指一次能处理的数据的位数
(二) 主机硬件系统——存储器M 功能: 存放程序和数据的记忆装置 用途:存放程序和要操作的各类信息(数据、文字、图像、。。。) 分类: 功能: 存放程序和数据的记忆装置 用途:存放程序和要操作的各类信息(数据、文字、图像、。。。) 分类: 内存:ROM、RAM 特点:随机存取,速度快,容量小 外存:磁盘(软/硬盘、光盘、半导体盘、U盘… 特点:顺序存取/块存取,速度慢,容量大
有关内存储器M的几个概念 (1) 内存单元的地址和内容 (2) 内存容量 (3) 内存的操作 (4) 内存的分类
(1)内存单元的地址和内容 内存包含有很多存储单元(每个内存单元包含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 *内存单元有时又称为地址单元 .
(2)内存容量 即内存单元的个数,以字节Byte为单位。 注意:内存空间与内存容量的区别 内存容量:实际配置的内存大小。例:某微机配置2条 128MB的SDRAM内存条,其内存容量为256MB 内存空间:又称存储空间、寻址范围,是指微机的最大 的寻址能力,与CPU的地址总线宽度有关。
(3) 内存操作 读:将内存单元的内容取入CPU,原单元内容不改变; 写:CPU将信息放入内存单元,单元中原内容被覆盖; 内存的读写的操作步骤为: CPU把要读写的内存单元的地址放到AB上 若是写操作, CPU紧接着把要写入的数据放到DB上 CPU通过CB发出读写命令 数据被写入指定的单元或从指定的单元读出到DB 若是读操作, CPU紧接着从DB上取回数据 参见P30图2-5
(4) 内存储器的分类 读写存储器或随机存取存储器(RAM) 只读存储器(ROM) 可读可写 易失性,临时存放程序和数据 工作时只能读 非易失性,永久或半永久性存放信息
(三)主机硬件系统—输入/输出接口 简写为I/O接口,是CPU与外部设备间的桥梁 I/O 接口 CPU 外设
接口的功能 提供驱动外设的电压或电流; 匹配计算机与外设之间的信号电平、速度、信号类型、数据格式等; 缓存CPU发给外设的数据、控制命令 和外设提供的运行状态信息; 提供两者间数据传递控制方式: DMA控制、中断控制(还有无条件、查询)。
(四) 主机硬件系统——总线BUS 连接多个功能部件的一组公共信号线 地址总线AB:用来传送CPU输出的地址信号,确定被访问的存储单元、I/O端口。 地址线的根数决定了CPU的寻址范围。 CPU的寻址范围 = 2n, n--地址线根数 数据总线DB:在CPU与存储器、I/O接口之间数据传送的公共通路。数据总线的条数(字长)决定CPU一次最多可以传送的数据宽度。 控制总线CB:用来传送各种控制信号,如读、写等
2. 微型计算机的软件系统 操作系统 编译系统 系统软件 网络系统 工具软件 软件 应用软件 软件定义:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料文档。 操作系统 编译系统 网络系统 工具软件 系统软件 软件 应用软件
3.微型计算机的物理结构 前端总线/CPU总线 PCI 总线扩展槽 ISA CPU 外设 Cache 北桥 CRT AGP 接口卡 RAM KBD,Mouse 串行/并行接口 HDD/CDROM(IDE) FDD USB 南桥 BIOS 总线扩展槽 ISA
微型计算机的物理结构
INTEL 845GE主板
主板的主要硬件构成 CPU插座 芯片组(南北桥/ 加速中心HUB) 内存插槽 高速缓存(现已集成到CPU内部) 系统BIOS,硬件控制 CMOS,存放硬件配置参数、 系统自检及引导程序 总线扩展槽,PCI、ISA 串行、USB、并行接口 软/硬盘、光驱插座
芯片组 CPU的外围控制芯片,通常为2片 两种架构:南北桥、HUB(加速中心) 北桥——提供CPU/主存/高速缓存的连接、AGP接口、PCI桥接 南桥——提供USB、IDE(FDD/HDD)、串/并口及ISA桥接等 例如:Intel 440BX、VIA694(KT133)+686B、SiS 645等 HUB GMCH——AGP接口、存储器通道 ICH——PCI桥接、IDE控制器、USB、串/并口 FWH——系统BIOS、显示BIOS、随机数发生器 例如:Intel 810、Intel 815、Intel845等
二、计算机的工作过程 存储程序计算机—又称为冯•诺依曼型计算机 以运算器为核心、以存储程序原理为基础 将计算过程描述为由许多条指令按一定顺序组成的程序,即程序是由多条有逻辑关系的指令组成,指令的长度不等(一般为1~4字节) 数据和程序均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式 由控制器控制整个程序和数据的存取以及程序的执行 指令驱动
存储程序计算机的工作原理 控制器按预先存放在计算机存储器中的程序的流程自动地连续取出指令并执行之。 运算器 控制器 输入设备 输出设备 指令流 存储器 控制命令 数据流
程序的执行过程 1. CPU如何知道从哪里取出程序的第一条指令?——操作系统OS 2. CPU如何按程序控制流执行指令? ——程序计数器PC 操作码 操作数 执行 PC 指令1 取指令 指令2 指令译码 指令3 取操作数 指令周期 指令4 执行 执行指令 … … 存结果 指令n 1. CPU如何知道从哪里取出程序的第一条指令?——操作系统OS 2. CPU如何按程序控制流执行指令? ——程序计数器PC 3. CPU如何知道从哪里取操作数? ——地址、寻址方式
例:计算5+8(p35) 注意: 指令在内存中存放形式见P36图2-8 指令执行过程见P36-39图2-9~2-12 汇编语言程序 对应的机器语言指令 对应的操作 ------------------ --------------------- --------------------------------------------- MOV AL, 5 10110000 将立即数1传送到累加寄存器AL中 00000101 ADD AL, 8 00000100 计算两个数的和,结果存放到AL中 00001000 HLT 11110100 停机 注意: 指令在内存中存放形式见P36图2-8 指令执行过程见P36-39图2-9~2-12
指令执行过程(取指/译码/执行) 注意: 本例子与I/O接口无关 CPU M 地址总线AB 数字总线DB 读写命令CB ② ① +1 ③ 时序控制信号(控制命令) ② 输出指令地址 锁存地址 置初值 ① +1 ③ 时序逻辑电路 加法器 指令译码器ID ⑧ 指令译码 输出 程序计数器PC 累加器A 指令寄存器IR ⑦ 锁存指令 锁存 内部总线 ④ 输出地址 地址 存储器 地址寄存器AR 地 址 译 码 器 1011 0000 数据寄存器DR 1 2 3 4 MOV A, 5 ADD A, 8 HLT 0000 0101 1011 0000 0000 0100 锁存数据 ⑥ CPU 0000 1000 地址总线AB 1111 0100 读写命令CB ⑤ 数字总线DB M 读写控制电路 注意: 本例子与I/O接口无关
主要内容: §2.2 8088/8086微处理器MP(也即CPU) 8088CPU外部引线及功能; 8088CPU的内部结构和特点; 各内部寄存器Regs的功能; 8088的工作时序。
一、概述 差别: 8088、8086基本类似 16位CPU、AB宽度20位 指令预取队列:8088为4字节,8086为6字节 数据总线引脚:8088有8根,8086有16根 控制线引脚: 8088为IO/M,而8086为M/IO 8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送 本课程主要介绍8088(IBM PC采用)
指令预取队列(IPQ) 指令的一般执行过程: 取指令 指令译码 (前2步合称为取指) 读取操作数 执行指令 存放结果 取指令 指令译码 (前2步合称为取指) 读取操作数 执行指令 存放结果 (最后3步统称指令执行)
串行工作方式: 8088以前的CPU采用串行工作方式: CPU BUS 1) CPU访问存储器(存取数据或指令)时要等待总线操作的完成 取指令 1 执行 1 存结果 1 取指令 2 取操 作数2 执行 2 BUS 忙碌 忙碌 忙碌 忙碌
取指令和执行指令示意图(1) 8位CPU(如8080) t 忙 总线BUS CPU 取指1 取指4 取指3 取指2 取指5 执行1 执行2 执行5 执行3 执行4
取指令和执行指令示意图(2) 8位CPU(如8080) 16位CPU(8086/8088) t 忙 总线BUS CPU t 忙 总线BUS 取指1 取指4 取指3 取指2 取指5 CPU 执行1 执行2 执行5 执行3 执行4 16位CPU(8086/8088) t 忙 总线BUS 取指1 取指4 取指3 取指2 取指5 CPU 执行1 执行2 执行5 执行3 执行4 ··· ···
并行工作方式: 8088CPU采用并行工作方式 BUS CPU EU 执行1 执行2 执行3 BIU 取指令2 取操作数 存结果 取指令3 取指令4 BUS 忙碌 忙碌 忙碌 忙碌 忙碌 忙碌
8088的流水线操作 8088 CPU包括两大部分:EU和BIU BIU不断地从存储器取指令送入IPQ,EU不断地从IPQ取出指令执行 例如,PIII为14个阶段,P4为20个阶段(超级流水线)
结论 指令预取队列IPQ的作用: 使EU和BIU两个部分可同时进行工作,从而带来了以下两个好处: 提高了CPU的效率 降低了对存储器存取速度的要求
8088/8086 CPU的特点 采用并行流水线工作方式 对内存空间实行分段管理: 每段大小为16B~64KB 用段地址和段内偏移实现对1MB空间的寻址 设置地址段寄存器指示段的首地址 支持多处理器系统(最大模式); 片内无浮点运算部件,浮点运算由数学协处理器8087支持(或用软件模拟) 注:80486DX以后的CPU已将数学协处理器作为标准部件集成到CPU内部
8088CPU的两种工作模式 8088可工作于两种模式: 最小模式和最大模式 最小模式为单处理机模式,控制信号较少,一般可不必外接总线控制器。 最大模式为多处理机模式,控制信号较多,CPU必须通过总线控制器与总线相连。
二、8088 CPU的引线及功能 40引脚定义方法可大致分为:: 每个引脚只传送一种信息(RD等); 引脚电平的高低不同的信号(IO/M等); CPU工作于不同方式有不同的名称和定义(WR/LOCK 等); 分时复用引脚(AD7 ~ AD0 等) ; 引脚的输入和输出分别传送不同的信息(RQ/GT等)。
8086CPU引脚功能 最小最大模式控制 MN/MX=1,最小模式 地址/状态线 MN/MX=0,最大模式 读信号 地址/数据线 总线保持请求信号 总线保持相应信号 存储器/IO控制信号 M/IO=1,选中存储器 M/IO=0,选中IO接口 写信号 数据发送/接收信号 DT/R=1,发送 DT/R=0,接收 数据允许信号 地址允许信号 非屏蔽中断 中断响应信号 准备好信号:表示内存 或I/O设备准备好, 可以进行数据传输。 测试信号:执行WAIT指令, CPU处于空转等待; TEST有效时,结束等待状态。 可屏蔽中断请求 复位信号
8086在最小模式下的典型配置
8086CPU两种组态: 8086CPU的最大模式典型配置
主要引线(最小模式下) 8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模式。 数据信号线(DB)与地址信号线(AB): AD7~AD0:三态,地址/数据复用线。ALE有效时为地 址的低8位。地址信号有效时为输出,传送 数据信号时为双向。 A19~A16:三态,输出。高4位地址信号,与状态信号 S6-S3分时复用。 A15~A8 :三态,输出。输出8位地址信号。
主要的控制(CB)和状态信号 WR: 三态,输出。写命令信号; RD: 三态,输出。读命令信号; IO/M:三态,输出。指出当前访问的是存储器还是I/O接 口。高:I/O接口,低:内存 DEN:三态,输出。低电平时,表示DB上的数据有效; RESET:输入,为高时,CPU执行复位; ALE: 三态,输出。高:AB地址有效; DT/ R:三态,输出。数据传送方向,高:CPU输出, 低:CPU输入
RESET复位时序 复位时,8086 CPU将使总线处于如下状态:地址线浮空(高阻态),直到8086 CPU脱离复位状态,开始从FFFF0H单元取指令;ALE、HLDA信号变为无效(低电平);其他控制信号线,先变高一段时间(相应于时钟脉冲低电平的宽度),然后浮空。另外,复位时CPU内寄存器状态为:标志寄存器、指令指针(IP)、DS、SS、ES清零;CS置FFFFH;指令队列变空。
[例]: 当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作。
基本控制信号的组合方法
READY信号(输入): 用于协调CPU与存储器、I/O接口之间的速度差异 READY信号由存储器或I/O接口发出。 READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。
中断请求和响应信号 INTR:输入,可屏蔽中断请求输入端。 高电平:有INTR中断请求 NMI:输入,非屏蔽中断请求输入端。 INTA:输出,对INTR信号的响应。
总线保持信号 HOLD:总线保持请求信号输入端。当CPU 以外的其他设备(如DMA)要求占用 总线时,通过该引脚向CPU发出请 求。 HLDA:输出,对HOLD信号的响应。为高 电平时,表示CPU已放弃总线控制 权,所有三态信号线均变为高阻状 态。
三、8088CPU的内部结构 8088内部由两部分组成: 执行单元(EU)总线接口单元(BIU)
执行单元EU 功能: 执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果 的特征保存在标志寄存器FLAGS中。
执行单元EU包括 算术逻辑单元(运算器ALU) 8个通用寄存器(通用Regs) 1个标志寄存器(Flags) EU部分控制电路(部分CU)
总线接口单元BIU 功能: 从内存中取指令送入指令预取队列IPQ 负责与内存或输入/输出接口之间的数据传送
8088的内部寄存器 含14个16位寄存器,按功能可分为三类 8个通用寄存器(通用Regs) 4个段寄存器 (Seg Regs) 2个控制寄存器(Con Regs) 专用Regs
通用寄存器(通用Regs) 数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI)
数据寄存器 8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL 作用: 常用来存放参与运算的操作数或运算结果
数据寄存器特有的习惯用法 AX:累加器。多用于存放中间运算结果; 所有I/O指令必须都通过AX 与接口传送信息. BX:基址寄存器。在间接寻址中用于存放基地址; CX:计数寄存器。用于在循环或串操作指令中存放 循环次数或重复次数. DX:数据寄存器。在32位乘除法运算时存放高16位数; 在间接寻址的I/O指令中存放I/O端口地址。
地址指针寄存器 SP:堆栈指针寄存器. 其内容为栈顶的偏移地址; BP:基址指针寄存器. 常用于在访问内存时存放内存单元的偏移地址。
BX与BP在应用上的区别 相同点: 作为通用寄存器, 二者均可用于存放数据; 不同点: 作为基址寄存器, BX通常用于寻址数据段; BX一般与DS或ES搭配使用; BP一般与SS拾配. 注:间接寻址时 仅BX、BP、SI、DI可用于存储器寻址; 仅DX可用于I/O寻址。
变址寄存器 SI:源变址寄存器 DI:目标变址寄存器 作用: 变址寄存器常用于指令的间接寻址或变址寻址。
段寄存器(专用Seg Regs ) 作用: 用于存放逻辑段的段基地址 (逻辑段的概念后面将要介绍) CS:代码段寄存器 作用: 用于存放逻辑段的段基地址 (逻辑段的概念后面将要介绍) CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数 CS DS/ES SS 代码段 数据段 堆栈段
控制寄存器(专用Con Regs ) IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址 FLAGS:标志寄存器 状态标志:存放运算结果的特征 6个状态标志位(CF,SF,AF,PF,OF,ZF) 控制标志:控制某些特殊操作 3个控制标志位(IF,TF,DF) 15 11 10 9 8 7 6 4 2 FLAGS O D I T S Z A P C
四、存储器M寻址 物理地址 8088:20根地址线,可寻址220=1MB个存储单元 CPU送到AB上的20位的地址称为物理地址
物理地址 存储器的操作完全基于物理地址。 问题: 8088的内部总线和内部寄存器均为16位,如何生成20位地址? 解决:存储器分段 物理地址 . 60000H 60001H 60002H 60003H 60004H F0H 存储器的操作完全基于物理地址。 问题: 8088的内部总线和内部寄存器均为16位,如何生成20位地址? 解决:存储器分段 12H 1BH 08H
存储器分段 低地址 段基址 段i-1 最大64KB,最小16B 段基址 段i 段基址 段i+1 段基址 高地址
逻辑地址 段基地址和段内偏移组成了逻辑地址 物理地址=段基地址×16+偏移地址 段地址 偏移地址(偏移量) 格式为:段地址:偏移地址 段地址 偏移地址(偏移量) 格式为:段地址:偏移地址 物理地址=段基地址×16+偏移地址 60000H 偏移地址=0002H 段首地址 60002H 00H 12H × × × • • • × × × 0 0 0 0 段基地址(16位)
+ BIU中的地址加法器用来实现逻辑地址到物理地址的变换 8088 可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址 16位 段基址 0000 + 段内偏移 物理地址 20位 BIU中的地址加法器用来实现逻辑地址到物理地址的变换 8088 可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址
默认段和偏移寄存器 8086规定了访问存储器段的规则: 此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表: 段地址 默认偏移地址 用于访问 CS IP 指令 SS SP、BP 堆栈中的数据 DS BX、DI、SI、8位或16位数 数据段中的数据 ES 串指令的DI 目标串操作数
[例]: 已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=? 10550H 250A0H 2EF00H 8FF00H CS SS DS ES 解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH×10H+0204H = 252A4H 这个例子说明:段与段可以不连续 段之间可以重叠
堆栈及堆栈段的使用 操作规则: 内存中一个按FILO方式(先进后出)操 作的特殊区域. 两种操作: 每次压栈和退栈均以WORD(16位)为 单位. 操作指示: SS存放堆栈段地址,SP存放段内偏 移,SS:SP构成了堆栈指针. 作用: 堆栈用于存放返回地址、过程参数或需要 保护的数据; 常用于响应中断或子程序调用.
堆栈操作示例 低 低 低 SS SS SS SP F0H SP F0H 12H SP 12H SP SP SP 高 高 高 高 压栈前 压栈后 退栈后
[例]: (1)若已知(SS)=1000H(SP)=2000H 则堆栈段的段首地址=?栈顶地址=? (3)若该段最后一个单元地址为12FFFH,则栈底地址=? 段首 堆 栈 段 12H 34H 栈顶 解:(1)段首地址=10000H, 栈顶地址=10000+2000=12000H (2)低8位数据34H在11FFFH地址中, 而高8位数据12H在11FFEH中 (3)栈底地址=13000H 栈底
五、时序 时序的概念:CPU各引脚信号在时间上的关系。 指令周期:CPU完成一条指令所需的时间。 一个指令周期由多个总线周期组成。 所需要的时间。 一个总线周期至少包括4个时钟周期。 在5MHz的工作频率时,一个标准总线周期为0.8μs。 时钟周期:由时钟发生器产生。是计算机内部最 小的时间单位,用Ti表示。 晶振周期:晶体振荡器输出的周期。它一般分频后 变为时钟周期,再作为内部工作单位。 (总线周期的时序参见教材p51-52)
§2.3 系统总线 主要内容: 总线的基本概念和分类; 总线的工作方式; 常用系统总线标准。
一、概述 总线: 是一组导线和相关的控制、驱动电路的集合。是计算机系统各部件之间传输地址、数据和控制信息的公共通道。 地址总线(AB) 数据总线(DB) 控制总线(CB)
总线结构的优点 简化系统设计(模块化) 提高兼容性 便于扩充升级 便于维修 减低生产成本
总线分类 片内总线 片外总线 CPU总线:CPU 其他部件 系统总线:主机I/O接口 外部总线:微机外设 按相对 CPU的位置 按层次 结构
总线结构 单总线结构 简单,但总线竞争严重 CPU M I/O
多总线结构 面向CPU的双总线结构 面向主存的双总线结构 双总线结构 多总线结构
多总线结构(续) 教材p55 图2-23:面向CPU的双总线结构 图2-24:面向主存的双总线结构 问题:外设到主存的数据传输必须通过CPU, 传输效率低,无法实现DMA传输 图2-24:面向主存的双总线结构 主存储器即与CPU直接连接,又与系统总线连接,较好地解决了上述问题
二、总线技术* 总线传输需要解决的问题: 传输同步——协调通信双方的传输操作 总线仲裁——消除多个设备同时使用总线造成的冲突现象 出错处理 同步、异步、半同步 总线仲裁——消除多个设备同时使用总线造成的冲突现象 Master查询,Slave独立请求 出错处理 信号驱动
同步方式 同步传输——用公共的时钟统一 各部件数据发送和接收的时机 异步传输——用控制和状态信号协调 各部件数据发送和接收的时机 半同步——用公共的时钟统一 控制和状态信号的产生时机(即控制和状态信号与时钟是同步的),但数据发送和接收的时机仍不固定
总线仲裁 用来决定某一时刻哪一个部件可以使用总线 集中控制——统一由总线控制器进行控制 分散控制——总线控制由各部件共同实现,所有部件均按统一的规则来访问总线
总线仲裁——集中控制 1)链式查询(p59图2-28)——基本原理是: 部件提出申请(BR) 总线控制器发出批准信号(BG) 提出申请的部件截获BG,并禁止BG信号进一步向后传播 提出申请的部件发出总线忙信号(BS),开始使用总线。总线忙信号将阻止其他部件使用总线,直到使用总线的设备释放总线 电路最简单,但优先级固定,不能改变
总线仲裁——集中控制 2)计数器查询——(p60图2-29)基本原理是: 需要使用总线的部件提出申请(BR) 总线控制器发出递增的设备地址 提出申请的设备检查设备地址,若与自己的地址匹配,就发出总线忙信号(BS),然后就可以使用总线 总线控制器根据检测到BS信号时的设备地址就知道当前哪个设备使用了总线 调整设备地址发出的顺序即可改变优先级别 仲裁过程较慢
总线仲裁——集中控制 3)独立请求——(p60图2-30)基本原理是: 每个设备都拥有独立的总线请求线和总线应答线 总线控制器对所有的总线请求进行优先级排队,并响应级别最高的请求 得到响应的设备将占用总线进行传输 最常用,响应速度最快 PC机中使用的8237 DMAC采用此种方式
三、常见的系统总线 ISA(8/16位) PCI(32/64位) AGP(加速图形端口,用于提高图形处 理能力) 自学: P61~P64
总线的主要性能指标 总线带宽(B/S):单位时间内总线上可传送 的数据量 总线位宽(bit):能同时传送的数据位数 总线的工作频率(MHz) 总线带宽= (位宽/8)(工作频率/每个存取周期的时钟数)
四、8088系统总线 最小模式——仅支持单处理器(p65图2-32) 最小模式下主要解决: 地址与数据的分离 地址锁存 电路实现方案 用3片8位的锁存器8282实现地址锁存。ALE为锁存控制信号,OE#≡0使锁存的地址直接输出; 用1片双向三态门8286用作数据总线驱动和隔离,DT/R#作为方向控制,DEN#作为开门信号; 其他控制信号由8088直接产生。
最小模式下的连接示意图 地址总线 8088 CPU 数据总线 控制总线 ALE • 3片8282 地址 锁存 时钟发 生 器 8286 数据 生 器 8286 数据 收发器 数据总线 DT/R# DEN# 控制总线 •
最大模式 最大模式——可支持多处理器(p66图2-33) 大多数控制信号是由总线控制器8288对S0#、S1#、S2#三个信号译码得到,如DT/R#、ALE、DEN#、IOR#、IOW#、MEMR#、MEMW#信号。DB和AB的构成基本同最小模式。 PC/XT机的总线采用了最大模式,但有三点区别: 地址总线驱动用2个74LS373和1个74LS244代替3个8282; 数据总线驱动用74LS245代替8286; 支持DMA传送。
最大模式下的连接示意图 地址总线 8088 CPU 数据总线 控制总线 ALE 地址 锁存 时钟发 生 器 数据 收发 总 线 控制器 生 器 8282 数据 收发 数据总线 8286 总 线 控制器 控制总线 S0# S1# S2# 8288
常用接口芯片介绍 8282 / 74LS373 —— 具有三态正相输出的锁存器 内部结构: p67图2-34,内部包含8个D触发器 引脚: DI0~DI7 输入 DO0~DO7 输出 STB 锁存信号 OE# 输出允许 功能: STB = 1 锁存数据 OE# = 0 将锁存的数据输出 功能类似的还有8283——但为反相输出
总线驱动器 8286 / 74LS245 —— 双向三态驱动器(p68图2-36) 引脚: 功能: 功能类似的还有8287——但为反相输出 A0~A7和B0~B7 双向数据线 OE# 输出允许 T 方向控制 功能: OE#=0时,门导通; 门导通时: T=0,B→A;T=1,A→B 功能类似的还有8287——但为反相输出
总线驱动器(续) 74LS244 —— 三态门驱动器(含8个门) 引脚: 功能: I1~I8和O1~O8 输入线和输出线 E1#,E2# 使能信号,各控制4个三态门 功能: E1#=0,E2#=0,门导通,否则输出为高阻态
作业:p91-92 2.1 2.10(1)(2) 2.12 2.15~2.20