《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版

Slides:



Advertisements
Similar presentations
第二章 80x86微处理器 §1 8086/8088的结构 8086/8088CPU是Intel公司于1978年推出的一种16位 微处理器,是最早投入市场的16位CPU产品之一。其 中8086CPU外部数据总线是16位的,而8088CPU外部 数据总线是8位的。 主要特点如下: 数据总线16位,能处理16位数据,也能处理8位数据。
Advertisements

2017年3月5日 单片机原理与应用 背景知识调查.
第2章 微处理器 2.1 概述 /8086微处理器 微处理器 X86/Pentium微处理器
第二章 微型处理器与单片机 第1节 CPU的内部逻辑结构 第2节 CPU的外部结构 第3节 8086支持的存储器结构
实验四 利用中规模芯片设计时序电路(二).
第三章 计算机核心部件及其 工作原理.
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第一章 计算机基础知识 第一节 计算机概述 一、计算机的基本组成和工作原理 二、有关术语 三、计算机发展简史 四、微型计算机概述
第五章 总线 及其形成 本节课之前,大家学习了:
第 2 章 8086 系 统 结 构 中国科学技术大学 何克东.
第2章 80x86/Pentium微处理器 x86/Pentium微处理器的内部结构 2.2 微处理器的主要引脚及功能
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
汇编语言与接口技术 教师:范新民.
第2章 微型计算机基础.
逆向工程-汇编语言
微机原理与接口技术 第3章 8086指令系统 朱华贵 2015年09月25日.
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
第四章 典型CPU及指令系统举例.
第2章 汇编语言与汇编程序 ——8086/8088指令系统 mov ax,12h call display Jmp 1234h.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第2章 16位和32位微处理器 位微处理器8086/ 位微处理器80386
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
总 复 习.
第2章 IA-32结构微处理器 退出 2.1 IA-32结构的概要历史 2.2 IA-32 PROCESSOR的功能结构
第 2 章 微处理器 的结构特点 CPU 寄存器组 外部引脚及功能
存储系统.
第3章 8086/8088指令系统 mov ax,12h call display Jmp 1234h.
微机原理及应用 主讲:郑海春.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
第五章 微处理器.
第2章 8086微处理器及其系统 微处理器简介 系统的存储器组织及I/O组织 系统的工作模式
1.3 微型计算机的结构和工作原理.
逆向工程-汇编语言
CPU结构和功能.
版权所有,引用请注明出处 第六章、中央控制器 原著 谭志虎 主讲(改编) 蒋文斌.
第二章 80x86计算机组织 § x86微处理器 § 2.2 基于微处理器的计算机系统构成 § 2.3 中央处理机
第二章 IBM-PC微机的功能结构 2.1 IBM-PC微机基本结构 一、 微机的一般构成 一般计算机应包括五大部件:
第二章 80x86计算机组织 x86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第九章 微处理器外部结构和总线操作时序.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第3章 指令系统和寻址方式 3.1指令系统概述 /8086CPU的寻址方式 3.3 指令的机器码表示方法(略)
第2章 80x86计算机组织  计算机系统  存储器  中央处理机  外部设备.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第十章 输入输出程序设计 10.1 输入输出指令 输入输出(I/O)是指CPU与输入设备和输出设备之间进行的信息传送。CPU与外部设备之间通过输入输出接口相连接。各个设备在输入输出接口中分配了相应的端口。访问不同的设备就是访问其对应的端口。在指令系统中提供了访问输入输出端口的指令。 一、I/O端口寻址方式.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
得技通电子 问题 三 判断题:.
第2章 16位和32位微处理器 16位微处理器8086/ 位微处理器
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第二章 8086系统结构 /8086的存储器组织 的系统配置及引脚功能 CPU时序
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
Presentation transcript:

《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版 吴宁 乔亚男 编著 清华大学出版社 出版 王良 宁德师范学院 学习交流群号:667979484 邮箱:332207289@qq.com

第2章 微处理器与总线

主要内容: 8088/8086微处理器 特点 主要引线功能和内部结构 内部寄存器 实地址模式下的存储器寻址 总线时序 总线

关注点: 8088 CPU能够实现指令并行流水工作的原因; 实地址模式下的存储器地址变换原理;

一、8088/8086 CPU的特点

1. 8088/8086 CPU的特点 采用并行流水线工作方式 _____通过设置指令预取队列实现 对内存空间实行分段管理 _____将内存分为4个段并设置地址段寄存器,以实现对1MB空间的寻址 支持多处理器系统 存储器寻址部分 工作模式

2. 8088CPU的两种工作模式 8088可工作于两种模式下 最小模式 最大模式 单处理器模式 多处理器模式 区别?

最小模式下的总线连接示意图 • • ALE 地址 地址总线 锁存 8088 时钟发 生 器 CPU 数据 数据总线 收发 控制总线 生 器 8088 CPU 数据 收发 数据总线 • 控制总线 • 控制信号较少,一般可不必接总线控制器

最大模式下的总线连接示意图  地址 地址总线 锁存 时钟发 生 器 8088 CPU 数据 数据总线 收发 总 线 控制总线 控制器 ALE  地址 锁存 地址总线 时钟发 生 器 8088 CPU 数据 收发 数据总线 总 线 控制器 控制总线 控制信号较多,需要通过总线控制器实现控制信号传输

两种工作模式的选择方式 8088是工作在最小还是最大模式由MN/MX引线的状态决 定。 MN/MX=0——工作于最大模式

二、8088/8086的引线及功能

微机读取一条指令的工作过程: ┇ +1 指令译码 PC 内存单元地址 1000FH B1H 内存储器 数据总线 地址 寄存器 1000FH 地址总线 B1H “读存储器”命令

微处理器读取一条指令的控制过程 发出读取数据所在的目标地址 内存储器单元地址 I/O接口地址 发出读控制信号 送出传输的数据 ┇ ┇ B1H ┇ 内存储器 A1H ┇ I/O接口 地址 CPU 数据 控制信号

CPU完成一次访问内存或I/O接口需要: 地址信号 数据信号 各种控制信号

主要引线——最小模式下的8088引线 地址线和数据线: AD0—AD7:低8位地址和低8位数据信号分时复用。在传送地址信号时为单向,传送数据信号时为双向。 A16--A19:高4位地址信号,与状态信号分时复用。 A8—A15 :8位地址信号 不同时,但共用

主要的控制和状态信号 WR: 写信号; RD: 读信号; IO/M:为“0”表示访问内存,为“1”表示访问接口; DEN: 低电平有效时,允许进行读/写操作; DT/R:数据收发器的传送方向控制; ALE:地址锁存信号; RESET:复位信号。

例: 如果有: #WR=1,#RD=0,IO/#M=0 表示: CPU当前正在进行读存储器操作

READY信号

CPU访问一次内存或接口的主要信号 CPU完成一次访问内存或I/O接口需要: 地址信号 数据信号 各种控制信号 内存地址,接口地址 8位数据线,与地址低8位分时复用 各种控制信号 读、写、读写允许、收发器方向控制,地址锁存,访存/访接口控制

中断请求和响应信号 INTR:可屏蔽中断请求输入端 NMI: 非屏蔽中断请求输入端 #INTA:中断响应输出端

总线保持信号 HOLD: HLDA: 总线保持请求信号输入端。当CPU以外的其他设备要求占用总线时,通过该引脚向CPU发出请求。 总线保持响应信号输出端。CPU对HOLD信号的响应信号。

三、8088/8086的内部结构

1. 组成 8088/8086内部由两部分组成: 执行单元(EU) 总线接口单元(BIU) 第43页图

2. 执行单元 运算器 8个通用寄存器 1个标志寄存器 EU部分控制电路

执行单元 功能 指令译码 指令执行 暂存中间运算结果 保存运算结果特征 指令的执行 在ALU中完成 在通用寄存器中 在标志寄存器FLAGS中

3. 总线接口单元 功能: 从内存中取指令到指令预取队列 负责与内存或输入/输出接口之间的数据传送 指令预取队列是并行流水线工作的基础 负责与内存或输入/输出接口之间的数据传送 在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。

结论 指令预取队列的存在使EU和BIU两个部分可同时进 行工作,即: 目的: 实现指令的并行执行 提高了CPU的效率; 降低了对存储器存取速度的要求

四、内部寄存器

内部寄存器的类型 含14个16位寄存器,按功能可分为三类 8个通用寄存器 4个段寄存器 2个控制寄存器 深入理解:每个寄存器中数据的含义

1. 通用寄存器 数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI)

数据寄存器 8088/8086含4个16位数据寄存器,它们又可分为8个8位寄 存器,即: AX BX CX AH,AL DX BH,BL CH,CL DH,DL

数据寄存器特有的习惯用法 AX: BX: CX: DX: 累加器。所有I/O指令都通过AX与接口传送信息,中间运算结果也多放于AX中; 基址寄存器。在间接寻址中用于存放基地址; CX: 计数寄存器。用于在循环或串操作指令中存放计数值; DX: 数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数。

地址指针寄存器 SP: BP: … ┇ 堆栈指针寄存器,其内容为栈顶的偏移地址; 基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。 00H 12H … ┇ SP BP可指向堆栈的任意位置 共同点: 1)默认指向堆栈区 2)多数情况用于存放地址

BX与BP在应用上的区别 作为通用寄存器,二者均可用于存放数据;

变址寄存器 SI: 源变址寄存器 DI: 目标变址寄存器 变址寄存器在指令中常用于存放数据在内存中的地 址。

通用寄存器小结 数据寄存器 AX,BX,CX,DX 通用寄存器 地址寄存器 SP,BP,SI,DI 可以分为两个8位寄存器 主要用于存放中间运算结果 数据寄存器 AX,BX,CX,DX 通用寄存器 地址寄存器 SP,BP,SI,DI 可以存放运算数据,也常用于存放数据的地址

2. 控制寄存器 IP FLAGS ┇ 指令指针寄存器,其内容为下一条要取的指令的偏移地址。 标志寄存器,存放运算结果的特征 指令1 指令2 内存中的程序 指令1 指令2 指令n ┇ 分析 获取操作数 执行 存放结果 程序计 数器PC (IP) 地址 CPU 取出 操作数 IP 指令指针寄存器,其内容为下一条要取的指令的偏移地址。 FLAGS 标志寄存器,存放运算结果的特征 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF)

状态标志位(1) CF(Carry Flag) OF(Overflow Flag) ZF(Zero Flag) SF(Sign Flag) 符号标志位。当运算结果的最高位为1时,SF=l

状态标志位(2) PF(Parity Flag) AF(Auxiliary Carry Flag) 奇偶标志位。运算结果的低8位中“1”的个数为偶数时PF=l AF(Auxiliary Carry Flag) 辅助进位标志位。加(减)操作中,若Bit3向Bit4有进位(借位),AF=1 仅针对低8位

状态标志位例 1 给出以下运算结果及运算后各状态标志位的状态: 10110110 11110100 CF= OF= AF= PF= 10110110+11110100 10110110 11110100 CF= OF= AF= PF= SF= ZF= 1 + 1 1 10101010 1

控制标志位 TF(Trap Flag) IF(Interrupt Enable Flag) DF(Direction Flag) 陷井标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式。 IF(Interrupt Enable Flag) 中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。 DF(Direction Flag) 方向标志位。在数据串操作时确定操作的方向。

3. 段寄存器 作用 用于存放相应逻辑段的段基地址 需要弄清楚的问题: 什么是逻辑段?为什么要分段? 每个段寄存器中存放的内容=?

五、存储器寻址

内存储器管理 8088 CPU是16位体系结构的微处理器 可以同时产生16位二进制码 8088 CPU需要管理1MB内存 … 可以直接产生64K个编码 8088 CPU需要管理1MB内存 需要能够产生1M个地址编码 0000H 00H 12H … ┇ 1 0000H 8088对内存采用分段管理方式

内存地址变换 欲实现对1MB内存空间的正确访问,每个 内存单元在整个内存空间中必须具备惟 一地址 物理地址 … 内存地址变换: ┇ 12H XXXXXH 内存地址变换: 如何将直接产生的16位编码变换为20位物理地址?

1. 内存单元的编址(1) 内存每个单元的地址在逻辑上都由两部分组成: 8088为16位结构,所以段地址和偏移地址均为16位 段(基)地址 指示存储单元在整个内存空间中处于哪个区域 段内地址(相对地址/偏移地址) 指示存储单元在段中的相对位置(与段中第1个单元的距离) 31 15 8088为16位结构,所以段地址和偏移地址均为16位 × × × • • • × × × × × × • • • × × × 段基地址(16位)

存储器的编址(2) 段基地址: 相对地址(偏移地址) 逻辑段的起始地址称为段首 由偏移地址的定义得段首的偏移地址= 决定存储单元在内存中的位置 相对地址(偏移地址) 该存储单元相对段内第一个单元的距离 逻辑段的起始地址称为段首 每个逻辑段内的第一个单元 00H 12H 第1个单元 由偏移地址的定义得段首的偏移地址=

存储器的编址(3) 内存单元地址: × × × • • • × × × × × × • • • × × × 段首的偏移地址: 0000H 31 15 × × × • • • × × × × × × • • • × × × 段基地址(16位) 段首地址(段首的物理地址) 段首的偏移地址: 0000H 19 4 × × × • • • × × × 0 0 0 0 段基地址(16位)

存储器的编址(4) 物理地址: 内存单元在整个内存空间中的惟一地址 例: 段基地址 =6000H 段首地址 偏移地址=0009H 物理地址 数据段 9 00H 60009H 12H

2. 实地址模式下的存储器地址变换 + 内存物理地址由段基地址和偏移地址组成 × × × • • • × × × 0 0 0 0 段首地址 由操作系统确定 19 4 物理地址 × × × • • • × × × 0 0 0 0 + × × × • • • × × × 偏移地址 由指令给出 物理地址=段基地址×16+偏移地址

3. 段寄存器 作用 用于存放相应逻辑段的段基地址 8086/8088内存中逻辑段的类型 代码段 数据段 附加段 堆栈段 存放指令代码 存放操作的数据 存放操作的数据 存放暂时不用但需保存的数据。

段寄存器 CS DS ES SS 段寄存器的值表明相应逻辑段在内存中的位置 代码段寄存器,存放代码段的段基地址 数据段寄存器 ,存放数据段的段基地址 ES 附加段寄存器,存放数据段的段基地址 SS 堆栈段寄存器, 存放堆栈段的段基地址 段寄存器的值表明相应逻辑段在内存中的位置

例: 设某操作数存放在数据段,DS=250AH,数据所在单元 的偏移地址=0204H。则该操作数所在单元的物理地址 为: 250AH ×16+0204H = 252A4H

4. 逻辑段与逻辑地址 ┅ 关于逻辑段: 例: 一个物理地址可以对应若干逻辑地址 大小、位置都可改变的“段” 每个内存单元的段地址和偏移地址都可变 例: 8088内存最多可有多少个段? 2500H:0000H ┅ 2500H: 00A0H 250AH:0000H 一个逻辑段的大小? 具有惟一物理地址: 250A0H

逻辑段与逻辑地址 内存的分段是逻辑分段,不是物理段。各个逻辑段在地址上可以不相 连、可以部分重合,也可以完全重合 每个内存单元具有惟一物理地址,但可能具有多个逻辑地址。 一个逻辑段的默认容量为65KB 16bit 计算机 一个内存单元可以同时处于两个不同类型的逻辑段 一个内存单元可以在不同的时刻属于相同(或不同)类型的段 不同类型段在内存中可以完全重合、部分重合、相邻、不相邻

例: 已知: CS=1055H, DS=250AH ES=2EF0H SS=8FF0H 画出各段在内存中的分布。

例: CS=1055H DS=250AH ES=2EF0H SS=8FF0H 段首地址=10550H 默认段尾地址= 10550H 代码段 2054FH 250A0H 数据段 2EF00H 附加段 8FF00H 堆栈段

逻辑段说明 同一程序模块装入主存时,不同类 型的段可以装入在相同/不同的物 理空间 两个逻辑段完全重合或部分重合 同一程序模块装入主存时,不同类 型的段可以装入在相同/不同的物 理空间 两个逻辑段完全重合或部分重合 两个不同程序模块装入主存时,同 一类型的逻辑段也可以装入相同或 不同的物理空间中 10550H 代码段1 代码段2 250A0H 数据段 2EF00H 附加段

5. 存储器的保护模式 保护模式: 保护模式下的内存访问 支持多任务的工作模式,提供了多任务保护机制; 内存段的访问受到限制,不能再随意存取数据段。 保护模式下的内存访问 不再直接从段寄存器中获得段基地址,段基地址存放在内存的段描述符表中,由段描述符寄存器给出段描述符表的基地址,段寄存器中仅存放段选择符。

保护模式下的存储器地址变换

6. 堆栈及堆栈段的使用 堆栈: 内存中一个特殊区域,用于存放暂时不用或需要保护的数据。 常用于响应中断或子程序调用。

例: 已知 则: 若该段最后一个单元地址为10200H, 则: SS=1000H,SP=0100H 堆栈段的段首地址= 栈顶(偏移)地址= 栈底偏移地址= 10000H 段首 0100H 堆栈区 栈顶 0200H 栈底

六、总线时序

时序 时序: 总线周期: CPU各引脚信号在时间上的关系 CPU完成一次访问内存(或接口)操作所需要的时间。 一个总线周期至少包括4个时钟周期。

七、8088系统总线

主要内容: 总线的基本概念和分类; 总线的工作方式; 常用系统总线标准。

1. 概述 总线: 是一组导线和相关的控制、驱动电路的集合。是计 算机系统各部件之间传输地址、数据和控制信息的 通道。 地址总线(AB) 数据总线(DB) 控制总线(CB)

2. 总线分类 片内总线 片外总线 按相对CPU的位置分 CPU总线 系统总线 外部总线 按层次结构分

3. 总线的基本功能 数据传送 仲裁控制 出错处理 总线驱动

4. 总线的主要性能指标 总线带宽(B/S): 总线位宽(bit): 总线的工作频率(MHz) 单位时间内总线上可传送的数据量 能同时传送的数据位数 总线的工作频率(MHz) 总线带宽=(位宽/8)(工作频率/每个存取周期的时钟数)

本章小结 微处理器的一般构成 8088CPU的主要引线及其功能 8088CPU的内部结构 内部寄存器功能 存储器寻址 堆栈 寄存器中数据的含义 8位寄存器中存放的均为运算的数据 存储器寻址 逻辑地址,段基地址,偏移地址,物理地址 堆栈 栈顶地址,栈底地址,堆栈段基地址