1.01k likes | 1.27k Views
第 2 章 微型计算机基础. 主要内容:. 微型机的构成及工作原理 8088 / 8086 CPU 的结构及工作原理 系统总线. §2.1 微型机的基本结构. 掌握 : 微机系统的基本组成 微型机的工作原理 微机 8088 的存储器组织. 一、 微型计算机 系统组成. 微型计算机系统的三个层次 微处理器 ( Microprocessor ) 微型计算机 ( Microcomputer) 微型计算机系统 ( Microcomputer System). ALU 寄存器 控制器. 微处理器 CPU 存储器 I/O 接口 总线. 微 型
E N D
主要内容: • 微型机的构成及工作原理 • 8088/8086 CPU的结构及工作原理 • 系统总线
§2.1 微型机的基本结构 掌握: • 微机系统的基本组成 • 微型机的工作原理 • 微机8088的存储器组织
一、微型计算机系统组成 微型计算机系统的三个层次 微处理器(Microprocessor) 微型计算机(Microcomputer) 微型计算机系统(MicrocomputerSystem)
ALU 寄存器 控制器 微处理器CPU 存储器 I/O接口 总线 微 型 计算机 (主机) 硬件系统 软件系统 键盘、鼠标 显示器 软驱、硬盘、光驱 打印机、扫描仪 微 型 计算机 系 统 外 设 系统软件 应用软件 微型计算机系统的三个层次
核心级——微处理器 • 微处理器简称CPU,是计算机的核心,主要包括: 运算器ALU 控制器CU 寄存器组Registers(简称Regs或R) • CPU实现了运算功能和控制功能
硬件系统级——微型计算机 • 以微处理器为核心,配上只读存储器(ROM)、读写存储器(RAM)、输入/输出(I/O)接口电路及系统总线等部件,就构成了微型计算机。 • 将CPU、存储器、I/O接口、总线等集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。
系统级 • 以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。 • 微型计算机如果不配有软件,通常称为裸机 • 软件分为系统软件和应用软件两大类。
一、微型计算机的基本结构 1. 微型计算机的硬件系统 微处理器(CPU) 存储器(M) 输入/输出接口(I/O接口) 总线(BUS)
微型计算机的概念结构 C P U 地址总线 AB I/O 接 口 输 出 设 备 I/O 接 口 I/O 接 口 存 储 器 输 入 设 备 数据总线 DB 控制总线 CB AB: Address Bus DB: Data Bus CB: Control Bus
(一) 主机硬件系统——CPU • 作用: 计算机的控制中心,提供运算、判断能力 • 构成: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 内存单 元地址 . . . 内存单 元内容 1 0 1 1 0 1 1 0 38F04H *内存单元有时又称为地址单元 . . .
(2)内存容量 • 即内存单元的个数,以字节Byte为单位。 • 注意:内存空间与内存容量的区别 内存容量:实际配置的内存大小。例:某微机配置2条 128MB的SDRAM内存条,其内存容量为256MB 内存空间:又称存储空间、寻址范围,是指微机的最大 的寻址能力,与CPU的地址总线宽度有关。
(3)内存操作 • 读:将内存单元的内容取入CPU,原单元内容不改变; • 写: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 前端总线/CPU总线 外设 北桥 Cache CRT AGP 接口卡 RAM PCI KBD,Mouse 串行/并行接口 HDD/CDROM(IDE) FDD USB 南桥 BIOS 总线扩展槽 ISA
主板的主要硬件构成 • 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字节) • 数据和程序均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式 • 由控制器控制整个程序和数据的存取以及程序的执行 指令驱动
存储程序计算机的工作原理 • 控制器按预先存放在计算机存储器中的程序的流程自动地连续取出指令并执行之。 控制器 运算器 输入设备 输出设备 指令流 控制命令 存储器 数据流
程序的执行过程 程序 操作码 操作数 执行 PC 指令1 取指令 指令2 指令译码 指令3 指令周期 取操作数 指令4 执行 执行指令 … … 存结果 指令n 1. CPU如何知道从哪里取出程序的第一条指令?——操作系统OS 2. CPU如何按程序控制流执行指令? ——程序计数器PC 3. CPU如何知道从哪里取操作数? ——地址、寻址方式
例:计算5+8(p35) 汇编语言程序 对应的机器语言指令 对应的操作 ------------------ --------------------- --------------------------------------------- MOV AL, 5 10110000将立即数1传送到累加寄存器AL中 00000101 ADD AL, 8 00000100计算两个数的和,结果存放到AL中 00001000 HLT11110100停机 注意:指令在内存中存放形式见P36图2-8 指令执行过程见P36-39图2-9~2-12
② ① ③ 输出指令地址 置初值 +1 ⑧ 指令译码 ⑦ 锁存指令 ② ④ 输出地址 锁存地址 锁存数据 ⑥ ⑤ 读写命令CB 指令执行过程(取指/译码/执行) 时序控制信号(控制命令) 时序逻辑电路 加法器 指令译码器ID 输出 程序计数器PC 累加器A 指令寄存器IR 锁存 内部总线 地址 存储器 地址寄存器AR 地 址 译 码 器 1011 0000 数据寄存器DR MOV A, 5 ADD A, 8 HLT 0 1 2 3 4 0000 0101 1011 0000 0000 0100 CPU 0000 1000 地址总线AB 1111 0100 数字总线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步合称为取指) 读取操作数 执行指令 存放结果 (最后3步统称指令执行)
串行工作方式: • 8088以前的CPU采用串行工作方式: 1) CPU访问存储器(存取数据或指令)时要等待总线操作的完成 2) CPU执行指令时总线处于空闲状态 缺点:CPU无法全速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻得到 CPU 取指令 2 取操 作数2 取指令 1 存结果 1 执行 1 执行 2 忙碌 忙碌 BUS 忙碌 忙碌
取指1 取指2 取指5 执行5 执行1 执行2 执行4 CPU 取指3 执行3 取指4 t 总线BUS 忙 忙 忙 忙 忙 t 取指令和执行指令示意图(1) • 8位CPU(如8080)
取指1 取指2 取指5 执行5 执行1 执行2 执行4 CPU 取指3 执行3 取指4 t 总线BUS 忙 忙 忙 忙 忙 t ··· ··· 执行1 执行2 执行3 执行4 执行5 t ··· ··· 取指1 取指2 取指3 取指4 取指5 CPU t ··· ··· 总线BUS 忙 忙 忙 忙 忙 t 取指令和执行指令示意图(2) • 8位CPU(如8080) 16位CPU(8086/8088)
并行工作方式: • 8088CPU采用并行工作方式 CPU 执行1 执行2 EU 执行3 取指令2 取操作数 存结果 取指令3 取操作数 取指令4 BIU BUS 忙碌 忙碌 忙碌 忙碌 忙碌 忙碌
8088的流水线操作 • 8088 CPU包括两大部分:EU和BIU • BIU不断地从存储器取指令送入IPQ,EU不断地从IPQ取出指令执行 • EU和BIU构成了一个简单的2工位流水线 • 指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带) • 新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令 • 例如,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有效时,结束等待状态。 可屏蔽中断请求 复位信号
主要引线(最小模式下) • 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当前正在进行读存储器操作。