微机原理2-1:8088CPU内部结构、寄存器组、存储器组织
微机原理的答案
![微机原理的答案](https://img.taocdn.com/s3/m/f466d17f0975f46526d3e182.png)
第二章8086/808816位微处理器习题解答1.试说明8086/8088CPU中有哪些寄存器?各有哪些用途?答:寄存器组有(1)数据寄存器,含AX、BX、CX、DX四个通用寄存器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。
(2)指针及变址寄存器,含SP、BP、SI、DI四个十六位寄存器,它们可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。
还用来在段内寻址时提供偏移地址。
(3)段寄存器,含CS、DS、SS、ES,用来专门存放段地址。
(4)控制寄存器,包括IP和PSW两个16为寄存器。
IP是指令指针寄存器,用来存放代码段中的偏移地址。
PSW为程序状态字寄存器,由条件码标志和控制标志构成。
条件码标志用来纪录程序运行结果的状态信息。
包括OF、SF、ZF、CF、AF、PF。
控制标志位有三个寄存器DF、IF、TF组成。
2.是说明8086/8088CPU中标志位寄存器中各标志位的意义?答:OF溢出标志,在运算过程中,如操作数超出了机器能表示的范围则置1,否则置0。
SF符号标志,运算结果为负时置1,否则置0。
ZF零标志,运算结果为0置1,否则置0 。
CF进位标志,记录运算是最高有效位产生的进位。
AF辅助进位标志,记录第三位的进位情况。
PF奇偶标志位,用来为机器中传送信息时可能产生的出错情况提供检验条件,当结果操作数中的1的个数为偶时置1。
DF方向标志位,在串处理指令中控制处理信息的方向。
当DF=1时,每次操作后变址寄存器减量,这样就使串处理从高地址向低地址方向处理。
IF中断标志,当IF=1时,允许中断,否则间断中断。
TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。
当TF为0时,CPU正常工作不产生陷阱。
3.哪些操作只能隐含使用某个段寄存器,而不能用其它段寄存器代替?哪些操作出隐含使用某个段寄存器外,还可以使用其它段寄存器?答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DS。
微机原理课件第二章 8086系统结构
![微机原理课件第二章 8086系统结构](https://img.taocdn.com/s3/m/e6604224195f312b3069a56a.png)
但指令周期不一定都大于总线周期,如MOV AX,BX
操作都在CPU内部的寄存器,只要内部总线即可完成,不 需要通过系统总线访问存储器和I/O接口。
2021/8/17
17
• 8086CPU的典型总线时序,充分体现了总 线是严格地按分时复用的原则进行工作的。 即:在一个总线周期内,首先利用总线传 送地址信息,然后再利用同一总线传送数 据信息。这样减少了CPU芯片的引脚和外 部总线的数目。
• 执行部件(EU)
• 功能:负责译码和执行指令。
2021/8/17
5
• 联系BIU和EU的纽带为流水指令队列
• 队列是一种数据结构,工作方式为先进先出。写入的指令 只能存放在队列尾,读出的指令是队列头存放的指令。
2021/8/17
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。
微机原理
![微机原理](https://img.taocdn.com/s3/m/45f4ec26bcd126fff7050b7a.png)
第一章ENIAC 的不足:运算速度慢、存储容量小、全部指令没有存放在存储器中、机器操作复杂、稳定性差 。
冯·诺依曼(Johe V on Neumman )提出了“存储程序”的计算机设计方案。
特点是: 1、采用二进制数形式表示数据和计算机指令。
2、指令和数据存储在计算机内部存储器中,能自动依次执行指令。
由控制器、运算器、存储器、输入设备、输出设备5大部分组成计算机硬件。
工作原理的核心是“存储程序”和“程序控制”。
一型计算机的分类字长:有4位、8位、16位、32位、64位微型计算机等 工艺:可分成MOS 工艺、双极型TTL 工艺的微处理器 结构类型:有单片机、单板机、位片机、微机系统等 用途:个人计算机、工作站/务器、网络计算机 体积大小:台式机、携机。
二.微型计算机的性能指标介绍位:这是计算机中所表示的最基本、最小的数据单元。
字长:是计算机在交换、加工和存放信息时的最基本的长度。
字节(Byte ):是计算机中通用的基本单元,由8个二进制位组成。
字:是计算机内部进行数据处理的基本单位。
主频:也称时钟频率,是指计算机中时钟脉冲发生器所产生的频率。
访存空间:是该微处理器构成的系统所能访问的存储单元数。
指令数:构成微型计算机的操作命令数。
基本指令执行时间:计算机执行程序所花的时间。
可靠性:指计算机在规定时间和条件下正常工作不发生故障的概率。
兼容性:指计算机硬件设备和软件程序可用于其他多种系统的性能。
性能价格比:是衡量计算机产品优劣的综合性指标。
微型计算机是以微处理器为核心,再配上存储器、接口电路等芯片构成的微型计算机系统由硬件系统和软件系统两大部分组成 :1.中央处理单元CPU (Control Processing Unit )是微型计算机的核心部件,是包含有运算器、控制器、寄存器组以及总线接口等部件的一块大规模集成电路芯片,俗称微处理器。
微处理器是微型计算机的核心,它的性能决定了整个微型机的各项关键指标。
微机原理与接口技术:8088CPU的存储器组织
![微机原理与接口技术:8088CPU的存储器组织](https://img.taocdn.com/s3/m/ce2e94ff4028915f804dc254.png)
1.8088CPU的存储器组织
8088有20根地址线,可寻址的最大内存空间为220=1MB,地址范围为00000H~FFFFFH。
每个存储单元对应一个20位的地址,这个地址称为存储单元的物理地址。
每个存储单元都有唯一的一个物理地址。
8088将可直接寻址的1MB的内存空间划分成一些连续的区域,称为段。
每段的长度最大为64KB,并要求段的起始地址必须能被16整除,形式如XXXX0H。
8088将XXXXH称为段基址,存储在段寄存器CS、DS、SS、ES中。
段基址决定了该段在1MB内存空间中的位置。
段内各存储单元地址相对于该段起始单元地址的位移量称为段内偏移量。
段内偏移量从0开始,取值范围0000H~FFFFH。
分段管理要求每个段都由连续的存储单元构成,并且能够独立寻址,而且段和段之间允许重叠。
根据8088CPU分段的原则,1MB的存储空间中有216=64K个地址符合要求,这使得理论上程序可以位于存储空间的任何位置。
程序中使用的存储器地址是由段基址和段内偏移地址组成,这种在程序中使用的地址称为逻辑地址。
逻辑地址通常写成XXXXH:YYYYH的形式,其中XXXXH为段基址,YYYYH为段内偏移地址。
段基址和偏移地址与物理地址之间的关系如下:
物理地址=段基址×10H+段内偏移
段基址乘以10H相当于把16位的段基址左移4位,然后再与段内偏移地址相加就得到物理地址。
例如,逻辑地址A562H:9236H对应的物理地址是AE856H。
A562H×10H=A5620H
A5620H+9236H=AE856H。
(完整版)微机原理课后单元习题-单元2-8086cpu
![(完整版)微机原理课后单元习题-单元2-8086cpu](https://img.taocdn.com/s3/m/1d7130e7011ca300a6c390d7.png)
习题二 8086微处理器答案主要内容:主要介绍8086/8088CPU内部结构。
了解80X86CPU的特点。
2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?【答】8086的内部结构分成两部分。
总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。
执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。
2.2 8086的总线接口部件有那几部分组成? 其功能是什么?【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。
2.3 8086的执行单元(部件)由那几部分组成?有什么功能?【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。
(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。
(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。
(3)标志寄存器,使用9位,标志分两类。
其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。
(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。
2.4 8086内部有哪些通用寄存器?【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。
这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。
2.5 8086内部有哪些段寄存器?各有什么用途?【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。
2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态标志和控制标志分别有哪些?【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。
微机原理与接口技术复习资料(概念背诵)
![微机原理与接口技术复习资料(概念背诵)](https://img.taocdn.com/s3/m/fe4bb6ab8662caaedd3383c4bb4cf7ec4afeb6a0.png)
1、微处理器(CPU)由运算器、控制器、寄存器组三部分组成。
2、运算器由算术逻辑单元ALU、通用或专用寄存器组及内部总线三部分组成。
3、控制器的功能有指令控制、时序控制、操作控制,控制器内部由程序计数器PC、指令寄存器IR、指令译码器ID、时序控制部件以及微操作控制部件(核心)组成。
4、8088与存储器和I/O接口进行数据传输的外部数据总线宽度为8位,而8086的数据总线空度为16位。
除此之外,两者几乎没有任何差别。
5、在程序执行过程中,CPU总是有规律的执行以下步骤:a从存储器中取出下一条指令b指令译码c如果指令需要,从存储器中读取操作数d执行指令e如果需要,将结果写入存储器。
6、8088/8086将上述步骤分配给了两个独立的部件:执行单元EU、总线接口单元BIU。
EU作用:负责分析指令(指令译码)和执行指令、暂存中间运算结果并保留结果的特征,它由算数逻辑单元(运算器)ALU、通用寄存器、标志寄存器、EU控制电路组成。
BIU作用:负责取指令、取操作、写结果,它由段寄存器、指令指针寄存器、指令队列、地址加法器、总线控制逻辑组成。
7、8088/8086CPU的内部结构都是16位的,即内部寄存器只能存放16位二进制码,内部总线也只能传送16位二进制码。
8、为了尽可能地提高系统管理(寻址)内存的能力,8088/8086采用了分段管理的方法,将内存地址空间分为了多个逻辑段,每个逻辑段最大为64K个单元,段内每个单元的地址长度为16位。
9、8088/8086系统中,内存每个单元的地址都有两部分组成,即段地址和段内偏移地址。
10、8088/8086CPU都是具有40条引出线的集成电路芯片,采用双列直插式封装,当MN/MX=1时,8088/8086工作在最小模式,当MN/MX=0时,8088/8086工作在最大模式。
11、8088/8086 CPU内部共有14个16位寄存器。
按其功能可分为三大类,即通用寄存器(8个)、段寄存器(4个)、控制寄存器(2个)。
微机原理28088
![微机原理28088](https://img.taocdn.com/s3/m/87d31d6c33687e21af45a9cd.png)
• 差别:
– 指令队列:8088为4字节,8086为6字节 – 数据总线:8088有8根,8086有16根
• 8088为准16位CPU:与当时已有的8位外设接口
芯片兼容
• 本课程主要介绍8088(IBM PC采用)
2.2 8088的内部结构
执行单元( Execute Unit ) 总线接口单元 ( Bus Interface Unit )
60002H
00H 12H
段地址(16位) 物理地址=段地址×16+偏移地址 物理地址=段地址×10H+偏移地址
逻 辑 段地址: 2000H 地 址 段内偏移地址: 5F62H
20000H
......
25F60H 25F61H
25F62H
25F63H
2FFFFH
逻辑地址与物理地址
段寄存器:专门存放段地址
地址 加法 器
工作原理:
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP
取指令, 执行指令
地 址 加 法 器
地址总线 AB
地
、、、 指令1 指令2 指令3 指令4 、、、 数据1
数据暂存器 指 令 队 列 指令译码器 总线 接口 控制 电路
8088的内部结构 BIU 组成 功能:负责与 M、 AH AL I/O 端口传送数据 。 BH BL
通用 4从内存取指令送到指 个段寄存器 寄存器 SP 令队列; 1个指令指针寄存器 (IP) BP SI CPU 执行指令时,要 20位地址加法器( ) DI 配合执行部件从指定 16位 4字节指令队列 的内存单元或者端口 BIU部分控制电路 中取数据,将数据传 执行部分 控制电路 ALU 送给EU;
微机原理第02章1
![微机原理第02章1](https://img.taocdn.com/s3/m/42821205581b6bd97f19ea70.png)
第2章: 溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位 有符号数运算: -86+124=28 范围内,无溢出
常用来存放双字长数据的高16位,或存放外设端口地址
第2章:(2)变址寄存器
16位变址寄存器SI和DI 常用于存储器变址寻址方式时提供地址
SI是源地址寄存器(Source Index) DI是目的地址寄存器(Destination Index)
在串操作类指令中, SI 、 DI 还有较特殊的 用法 现在不必完全理解,以后会详细展开
第2章:溢出和进位的应用场合
处理器对两个操作数进行运算时,按照无 符号数求得结果,并相应设置进位标志 CF; 同时,根据是否超出有符号数的范围设置 溢出标志OF 应该利用哪个标志,则由程序员来决定。 也就是说,如果将参加运算的操作数认为 是无符号数,就应该关心进位;认为是有 符号数,则要注意是否溢出
第2章:符号标志SF(Sign Flag)
运算结果最高位为1,则SF=1; 否则SF=0
有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态
3AH+7CH=B6H,最高位D7=1:SF=1
84H+7CH=(1)00H,最高位D7=0:SF=0
第2章:奇偶标志PF(Parity Flag)
第2章:辅助进位标志AF(Auxiliary Carry Flag)
运算时D3位(低半字节)有进位或
借位时,AF=1;否则AF=0
这个标志主要由处理器内部使用, 用于十进制算术运算调整指令中, 用户一般不必关心 3AH+7CH=B6H,D3有进位:AF=1
微机原理第二章8086微处理器
![微机原理第二章8086微处理器](https://img.taocdn.com/s3/m/fabe650c81c758f5f71f6754.png)
▪ 这些引脚就是微处理器级总线。微处理器通过微处理器 级总线沟通与外部部件和设备之间的联系。这些总线及 其信号必须完成以下功能:
▪ (1)和存储器之间交换信息; ▪ (2)和I/O设备之间交换信息; ▪ (3)为了系统工作而接收和输出必要的信号,如输入
▪ 时钟信号输入端。19 CLK(输入) ▪ 8086和8088为5MHz。 ▪ 8086/8088的CLK信号必须由8284A时钟发生器产生。 ▪ 微处理器是在统一的时钟信号CLK控制下,按节拍进行
工作的。
2021/6/12
16
8086/8088微处理器——微处理器的引脚功能
▪ 工作方式控制线 33
指令执行示例
2021/6/12
1
第二章:8086/8088微处理器
1. 微处理器ห้องสมุดไป่ตู้结构 2. 微处理器的内部寄存器 3. 微处理器的引脚功能 4. 微处理器的存储器组织 5. 最大模式和最小模式 6. 微处理器的时序
2021/6/12
2
2021/6/12
▪ 存储器分段
▪ 由于CPU内部的寄存器都是16位的,为了
2021/6/12
7
第二章:8086/8088微处理器
1. 微处理器的结构 2. 微处理器的内部寄存器 3. 微处理器的引脚功能 4. 微处理器的存储器组织 5. 最大模式和最小模式 6. 微处理器的时序
2021/6/12
8
8086/8088微处理器——微处理器的引脚功能
▪ 一、微处理器的外部结构
时钟脉冲、复位信号、电源和接地等。
(完整版)微机原理答案1
![(完整版)微机原理答案1](https://img.taocdn.com/s3/m/6e8ea848aa00b52acfc7cad5.png)
第 1 章微型计算机系统概述习题参考答案1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由CPU、存储器、输入/输出接口及系统总线组成。
CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。
暂存少量数据。
对指令译码并执行指令所规定的操作。
与存储器和外设进行数据交换的能力。
提供整个系统所需要的定时和控制信号。
响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU和外设之间起适配作用。
1-2.CPU 执行指令的工作过程。
答:指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。
(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。
存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。
(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。
(4)修改程序计数器的内容。
1-3.果微处理器的地址总线为20 位,它的最大寻址空间为多少?答:220=1048576=1MB1-4.处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核心部件。
微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。
以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。
1-5.下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制:80H65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH1024,二进制:10000000000B,八进制:2000O,十六进制:400H1-6.下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:1011.1010B,十进制:11.625,十六进制:B.AH111101.11B,十进制:125.75,十六进制:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111 B1-8.设字长为8 位,请写出下列数的原码、反码、补码和移码:15,-20,-27/32 答:[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111 [-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100 [-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100,[-27/32]移=0.0010100第 2 章微型计算机系统的微处理器习题参考答案2-1.086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit),执行部件EU (Execution Unit)。
8086-8088CPU系统结构
![8086-8088CPU系统结构](https://img.taocdn.com/s3/m/349d75bbe518964bce847c70.png)
1.2 8086/8088寄存器结构及用途
1.1.3 指针寄存器和变址寄存器
▲指针寄存器:
♣ SP:堆栈指针寄存器 ♣ BP:基址指针寄存器
▲变址寄存器:
♣ SI:源变址寄存器 ♣ DI:目的变址寄存器
汇编语言程序设计
8086/8088CPU系统结构
• 1.1 Intel8086/8088微处理器的结构 • 1.2 8086/8088寄存器结构及其用途 • 1.3 8086的存储器组织
• 1.4 堆栈
1.1 Intel8086/8088微处理器的结构
• 1.1.1 8086微处理器的结构
8086微处理器由两大部分组成: ♣ 执行部件EU ♣ 总线接口部件BIU 其内部结构如图(P20 图1.1)
1.3 8086的存储器组织
• 1.3.2 存储器的分段结构
◆8086CPU的寻址能力为:220=1MB; ◆8086CPU的内部寄存器为16位,直接 寻址:216=64KB; ◆在8086系统中引入逻辑段的概念:把 的地址空间划分为任意个逻辑段,长度 为64KB。
1.3 8086的存储器组织
• 1.3.3 物理地址和逻辑地址
▲是CPU与外部存储器、I/O设备的接口;
▲BIU由以下几部分组成: ♣16位指令指针寄存器IP; ♣指令队列; ♣4个16位段寄存器CS、DS、ES、
SS; ♣20位地址加法器; ♣总线控制部件。
1.1.1 8086微处理器的结构
• 3. BIU和EU的管理
▲二者处于并行的工作状态和重叠的工 作方式; ▲相互配合,协调工作; ▲充分利用总线实现最大限度的信息传 输,提高了程序的执行速度。
微机原理第4章 8088总线
![微机原理第4章 8088总线](https://img.taocdn.com/s3/m/7e0a0b7df46527d3240ce0eb.png)
第4章 8086/8088的总线与时序4.1 8086/8088的引线及功能8086是16位微处理器;8088是准16位微处理器,它对外的数据线是8位的。
它们的地址线是20位的。
8086/8088均为40条引线、双列直插式封装。
它们的40条引线排列如图4-1所示。
为了能在有限的40条引线范围内进行工作,CPU内部设置了若干个多路开关,使某些引线具有多种功能,这些多功能引线的功能转换分两种情况:一种是分时复用,在总线周期的不同时钟周期内引线的功能不同;另一种是按组态来定义引线的功能.用8088微处理器构成系统时,根据系统所连接的存储器和外设的规模,8088可以有两种不同的组态。
在不同组态时有些引线的名称及功能不同。
最小组态:当用8088微处理器构成一个较小的系统时,所连的存储器容量不大,I/O端口也不多,若把MN/MX 引线接电源(+5V),则8088处于最小组态;最大组态:若构成的系统较大,要求有较强的驱动能力,要通过一个总线控制器来产生各种控制信号。
把引线MN/MX接地,则8088处于最大组态。
所有的微处理器都有以下几类引线用来输出或接收各种信号:●地址线、●数据线、●控制线和状态线、●电源和定时线。
8086/8088的40条引线包括以上4种信号,下面介绍各条引线的功能。
4.1.1的地址和数据线●A D7~AD0:低8位地址/数据线(输入/输出,三态)。
8088数据线是8位的,地址线是20位的,为减少引线的数量于是在8088 内部采用一些多路开关,把低8位地址线和8位数据线分时使用这些引线。
通常当CPU访问存储器或外设时,先要送出所访问单元或外设端口的地址,然后才是读写所需的数据,地址和数据在时间上是可区分的。
只要在外部电路中用一个地址锁存器,把在这些线上先出现的地址锁存下来就可以了。
●A15~A8:地址线(输出,三态)。
这8条地址线是在8088内部锁存的,在访问存储器或外设时输出8位地址。
●A19~A16/S6~S3:地址/状态线(输出,三态)。
微机原理 第2章_8086系统结构
![微机原理 第2章_8086系统结构](https://img.taocdn.com/s3/m/f05c29e74afe04a1b071de19.png)
8086 CPU的引脚及其功能
8086 CPU的两种工作模式
最小模式:用于单机系统,系统所需要的控 制信号由8086直接提供,MN/MX=1,CPU 工作于最小模式 最大模式:用于多处理机系统,系统所需的 控制信号由总线控制器8288提供, MN/MX=0,CPU工作于最大模式
8086 CPU在最小模式下的引脚定义 8088与8086的区别
通 用 寄 存 器
AX BX CX DX SP BP SI DI
8086 CPU结构框图
20位地址总线
Σ
数据 总线 16位
ALU数据总线 (16位) 暂存器
队列 总线 (8位)
CS DS SS ES IP 内部寄存器 指令队列
总线 控制 电路 8086 总线
ALU
标志寄存器
EU 控制器
1 3 4 5 6
PSW
存放状态标志、控制标志和系统标 志
PSW格式:
15 11 10
OF DF
9 IF
8
7
6
4 AF
2 PF
0 CF
TF SF ZF
状态标志
状态标志用来记录程序中运行结果的状态信息,它们根据有关指 令的运行结果由CPU自动设置,这些状态信息往往作为后续条件 转移指令的转移控制条件,包括6位: OF:溢出标志,在运算过程中,如操作数超出了机器数的表示范 围,称为溢出,OF=1,否则OF=0 SF:符号标志,记录结果的符号,结果为负SF=1,否则SF=0 ZF:零标志,运算结果为0,ZF=1,否则ZF=0 CF:进位标志,进行加法运算时从最高位产生进位,或减法运算 从最高位产生借位CF=1,否则CF=0 AF:辅助进位标志:本次运算结果,低4位向高4位产生进位或借 位,AF=1,否则AF=0 PF:奇偶标志,用来为机器中传送信息时可能产生的代码出错情 况提供检验条件,当结果操作数中低8位中1的个数为偶数时PF=1, 否则PF=0
微机原理2-1:8088CPU内部结构、寄存器组、存储器组织
![微机原理2-1:8088CPU内部结构、寄存器组、存储器组织](https://img.taocdn.com/s3/m/73d894f9f8c75fbfc77db2d9.png)
栈段和附加段。
段寄存器即是存放各个逻辑段段首地址的寄 存器。
23
存储器的分段管理
8088有20条地址线, 20=1MB, 最大可寻址空间为 2 可寻址的地址范围为 00000H~FFFFFH 该地址称物理地址 硬件用 20位的物理地址来对存储单元进行寻 址
24
存储器的分段管理
由于 8088 中的地址寄存器都是 16 位的,用 户不能直接使用20位的物理地址,编程时需 要使用逻辑地址来寻址存储单元。 物理地址 14700H 逻辑地址由两个16位数构成,其形式为: 逻辑地址 1460H:100H 段的起始地址 : 段内的偏移地址 (16位段地址) :( 16位偏移量)
分隔符
7
②指针和变址寄存器 共BP、SP、SI、DI四个 BP:基址指针寄存器Base Pointer ,默认表示
堆栈段基地址;
SP:堆栈指针寄存器Stack Pointer,指示栈顶 SI:源变址寄存器Source Index DI:目的变址寄存器Destination Index
8
2、标志寄存器 标志寄存器( FR )是 一个 十六位的 寄存器,但只利用了其中的9位:六个条 件标志和三个控制标志。
CLI 指令复位中断标志:IF=0
STI 指令置位中断标志:IF=1
20
陷阱标志TF(Trap Flag)
用于控制处理器是否进入单步执行方式: 设置TF=0,处理器正常工作; 设置 TF=1,处理器每执行一条指令就中断一次, 中断编号为 1 (称单步中断), TF 也被称为单 步标志。 单步执行和单步调试
注意: PF 标志仅反映最低 8 位中“ 1 ”的个数
微机原理及应用课件第2章
![微机原理及应用课件第2章](https://img.taocdn.com/s3/m/8814bab5240c844769eaeedd.png)
四、内部寄存器
内部寄存器的类型
含14个16位寄存器,按功能可分为三类
8个通用寄存器 4个段寄存器 2个控制寄存器
深入理解:每个寄存器中数据的含义
28
1. 通用寄存器
数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI)
29
数据寄存器
8088/8086含4个16位数据寄存器,它们又可分为8个 8位寄存器,即:
DX:
数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;在 32位乘除法运算时,存放高16位数。
地址指针寄存器
SP:堆栈指针寄存器,其内容为栈顶的偏移地址; BP:基址指针寄存器,常用于在访问内存时存放内存单
元的偏移地址。
BP与BX的区别:
作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,用BX表示所寻找的数据在数据段;用
┇
操作数
35
状态标志位(1)
CF(Carry Flag)
进位标志位。加(减)法运算时,若最高位有进(借)位则CF=1
OF(Overflow Flag)
溢出标志位。当算术运算的结果超出了有符号数的可表达范 围时,OF=l
ZF(Zero Flag)
零标志位。当运算结果为零时ZF=1
SF(Sign Flag)
欲实现对1MB内存空间的正确访问,每个内
存单元在整个内存空间中必须具备20位字长
的惟一地址
物理地址
XXXXXH
12H
00H
内存地址变换:
…
如何将直接产生的16位编码变换
…
为20位物理地址?
┇
内存单元的编址(1)
内存每个单元的地址在逻辑上都由两部分组成:
合工大微机原理周国祥第二章思考题答案
![合工大微机原理周国祥第二章思考题答案](https://img.taocdn.com/s3/m/5ec4cb290c22590103029daa.png)
1.8086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的?解:8086的内部结构由两部分组成:总线接口部件BIU,负责与存储器、I/O端口传送数据执行部件EU, 负责指令的执行。
协调工作过程:总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理:①每当 8086 的指令队列中有两个空字节,或者 8088 的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中。
②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。
在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。
但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。
③当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲状态。
④在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不再是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。
遇到这种情况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一个程序段中的指令。
2.8086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位?解答:标志寄存器F的标志位:①控制标志:OF、DF、IF、TF;②状态标志:SF、ZF、AF、PF、CF。
标志寄存器F的各标志位置位情况:· CF:进位标志位。
做加法时出现进位或做减法时出现借位,该标志位置1;否则清0。
微机原理知识点
![微机原理知识点](https://img.taocdn.com/s3/m/d932fd0f4a7302768e9939c2.png)
1.1 CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能?答:1.CPU在内部结构上由以下几部分组成:①算术逻辑部件(ALU);②累加器和通用寄存器组;③程序计数器(指令指针)、指令寄存器和译码器;④时序和控制部件。
2.CPU应具备以下主要功能:①可以进行算术和逻辑运算;②可保存少量数据;③能对指令进行译码并执行规定的动作;④能和存储器、外设交换数据;⑤提供整个系统所需要的定时和控制;可以响应其他部件发来的中断请求。
1.2 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么,要靠什么来区分地址或数据?答:1.数据总线是双向三态;地址总线是单向输出三态。
2 数据和地址复用时,必须有一个地址选通信号来区分该总线上输出的是地址还是数据2.1 状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些?答:1.不同之处在于:状态标志由前面指令执行操作的结果对状态标志产生影响,即前面指令执行操作的结果决定状态标志的值。
控制标志是人为设置的。
2.利用状态标志可进行计算和判断等操作。
利用控制标志可对某一种特定功能(如单步操作、可屏蔽中断、串操作指令运行的方向)起控制作用。
3.8086的状态标志有:SF、ZF、PF、CF、AF和OF计6个。
8086的控制标志有:DF、IF、TF计3个。
2.2 总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz呢?答:1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。
2.8086/8088的基本总线周期由4个时钟周期组成。
3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。
4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。
微机第二部分2012
![微机第二部分2012](https://img.taocdn.com/s3/m/f6b8808bd4d8d15abe234ec0.png)
FE0000H
FFFFFFH
I/O空间的分配
系 统 板 000-01F DMA控制器1 020-03F 中断控制器1 040-05F 定时计数器 060-07F 并行接口电路 080-09F DMA页面寄存器 0A0-0BF 中断控制器2 0C0-0DF DMA控制器2 80x86访问外设时,只使用低16位A0~ 0E0-0FF 协处理器
特殊寄存器组
指令对列缓冲器
总线 控制 逻辑
8086 总线
ALU
状态标志寄存器
123456
BIU
点击该处
1.运算器 —— 执行部件(EU)
点击该行
算术逻辑单元(ALU)—— 进行算术、逻辑、移位等运算。 通用寄存器组 —— 存储数据,包括运算的原始数据、中间结 果、最终结果,以及偏移地址数据。 暂存寄存器 —— 临时存放参加运算的数或结果。 状态标志寄存器——存放运算后的状态标志与控制标志。 EU控制单元——产生执行部件(EU)所需要的控制信号。
点击该行 2. 控制器 —— 总线接口部件(BIU) 地址产生器 —— 形成段地址与偏移地址产生存储器实际物理 地址的加法器。 特殊寄存器组——包括段寄存器、指令指针与内部通信寄存 器等。 指令对列缓冲器——临时存放并顺序输出将要执行的指令。 总线控制逻辑——与处理器外部地址总线、数据总线以及控 制总线接口的电路。
二.8086微处理器的寄存器结构 1.数据寄存器组 AX AH AL AX(AH+AL)—— 累加器 BX BH BL BX(BH+BL)—— 基址计数器 CX CH CL DX CX(CH+CL)—— 计数器 DH DL SP DX(DH+DL)—— I/O间址寄存器 BP 以上四个寄存器可以作为十六位(高 SI 八位与低八位)寄存器使用,也可以分 DI 为两个八位寄存器使用。 2.指示器和变址寄存器组 SP(堆栈指针/指示器): 存放堆栈的栈顶的偏移地址。 BP(基数指针/指示器):存放需要改变数据的基值。 SI(源变址寄存器):存放需要改变的源地址的偏移地址。 DI(目的变址寄存器):存放需要改变的目的地址的偏移地址。 通常情况下,可以不严格区分“源”或“目的”,当在执行 “串操作指令”时,必须严格区分“源”与“目的”。 以上八个寄存器均在执行部件(EU)中
微机原理_8088(8086)工作原理
![微机原理_8088(8086)工作原理](https://img.taocdn.com/s3/m/f232d78c6529647d2728523a.png)
8088/8086寄存器结构 8088/8086寄存器结构
15 AH BH CH DH 8 7 AX AL BX BL CX CL DX DL SP BP DI SI IP FLAGS CS DS ES SS 0 累加器 基址变址 计数 数据 堆栈指针 基址指针 目的变址 源变址 指令指针 标志 代码 数据
AX(Accumulator BX(Base
CX(Count DX(Data
指针寄存器
堆栈指针SP(Stack Pointer): 堆栈指针SP(Stack Pointer):用于实现内存中的堆栈
存储方式(FILO),指示栈顶的偏移地址; ),指示栈顶的偏移地址 存储方式(FILO),指示栈顶的偏移地址;
总线接口部件 (Bus Interface Unit)
执行部件 用来存放计算的中间结果, 用来存放计算的中间结果, (Execution Unit) CPU从寄存器中存取数据比从 CPU从寄存器中存取数据比从
负责指令的译码、 负责指令的译码、 存储器中存取数据要快得多。 存储器中存取数据要快得多。 与微处理器外部总线连接, 与微处理器外部总线连接,负责 执行等。 BIU 执行等。 大量使用寄存器能提高计算机 与存储器、I/O接口进行数据交换 接口进行数据交换, 与存储器、I/O接口进行数据交换, 运行速度, 运行速度,但也提高了成本 存取指令、操作数等。 存取指令、操作数等。
指令指针IP(Instruction Pointer): 指令指针IP(Instruction Pointer):计算机之所以
能自动地一条一条地取出并执行指令,是因为CPU中 能自动地一条一条地取出并执行指令,是因为CPU中 有一个跟踪指令地址的电路,其核心就是指令指针IP, 有一个跟踪指令地址的电路,其核心就是指令指针IP, 它用于指明当前应该调用内存中哪个地址位置的指令 CPU中来运行 中来运行, 到CPU中来运行,从而实现计算机自动运行程序员事 先安排好的软件。 先安排好的软件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
逻辑地址
地址加法器
将16位的逻辑地址转换为20位的物 理地址,具体操作过程为:先将段寄存 器提供的16位段地址左移四位,低位补0,
恢复为20位地址,然后与由各种寻址方
式提供的16位偏移地址相加,即得到20 位的物理地址。
26
逻辑地址
• 物理地址: • 逻辑地址: 20 位 段基址 (段寄存器的内容)16位 偏移地址(字节距离)16位
控制 累加器 标志寄存器
暂存器
ALU
2
8088/8086的功能结构
16位微处理器也具有以上结构中的基本单元, 但更为复杂。 以8088为例讲解16位微处理器的功能结构。 8088是8086的简化版本。
3
地址加法器
AH AL BL CL DL SP B P DI SI 数据总线 暂存寄存 器
用于串操作指令中,控制地址的变化方向:
设置DF=0,串操作后存储器地址自动增量(增址) ; 设置DF=1,串操作后存储器地址自动减量(减址) 。 串:存储器中一序列字或字节单元
串操作——对序列字或字节单元中的内容进行某种操作 , 比如:将一个字符串从源区传送到目的区 。
MOVS——串传送指令 CMPS——串比较指令 SCAS— —串扫描指令 LODS——装入串指令 STOS——存储 串指令
外存主要指用来长久保存数据的外部存储介质, 常见的有硬盘、光盘、磁带、U盘等。外存的数据 只能通过主存间接地与CPU交换数据
3AH + 7CH=B6H AAH + 7CH=(1)26H 没有进位:CF=0 有进位:CF=1
例如(以8位运算为例,8088中为16位):
10
溢出标志OF(Overflow Flag)
若算术运算的结果有溢出,则OF=1;否则 OF=0。例如:
问题:
什么是溢出? 溢出和进位有什么区别? 处理器怎么处理,程序员如何运用? 如何判断是否溢出?
总线接口单元BIU (Bus Interface Unit)——管理8088与系 统总线的接口,负责CPU对存储器和外设进行访问 执行单元EU (Execution Unit)——负责指令的译码、执行和 数据的运算
两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和执行的流水线 操作
段 基 址 16 位
00 0 0
偏 移 地 址 16 位
+
物 理 地 址 20 位
27
存储器的分段管理
逻辑地址的表示——段地址:偏移地址
段尾
某 逻 辑 段 某寻址单元 地址偏移量(xxxxH) 段首(xxxx0H)
低址
28
存储器的分段管理
段地址说明逻辑段在存储器中的起始位置, 为模16地址:xxxx0H,省略低4位后,可 用1个16位数来表示,该地址可被存放在不 同的段寄存器CS/SS/DS/ES中。 偏移地址说明寻址单元距离段首的偏移量, 因每段长度不超过64KB,所以偏移地址也 可用1个16位数来表示。
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位 有符号数运算: -86+124=28 范围内,无溢出
13
处理器对两个操作数进行运算时,按照无符 号数求得结果,并相应设置进位标志CF;同 时,根据是否超出有符号数的范围设置溢出 标志OF
应该利用哪个标志,则由程序员来决定。也 就是说,如果将参加运算的操作数认为是无 符号数,就应该关心进位;认为是有符号数, 则要注意是否溢出。
一、 8086/8088CPU的内部结构
8 位 微 处 理 器 的 内 部 结 构
指 令 寄 存 指 令 译 码 时序 和 控制 逻辑 控制总线
1.
2.
3.
算术逻辑单元(运算器) 地址 通用 地址 地址总线 总线 寄存器组寄存器组 寄存器组 控制 数据 指令处理单元(控制器)数据总线 内部数据总线 总线
19
中断允许标志IF(Interrupt-enable Flag)
用于控制外部可屏蔽中断是否可以被处理器 响应:
设置IF=1,则允许中断; 设置IF=0,则禁止中断。
CLI 指令复位中断标志:IF=0
STI 指令置位中断标志:IF=1
20
陷阱标志TF(Trap Flag)
用于控制处理器是否进入单步执行方式: 设置TF=0,处理器正常工作; 设置 TF=1,处理器每执行一条指令就中断一次, 中断编号为 1 (称单步中断), TF 也被称为单 步标志。 单步执行和单步调试
FR的格式
15
14 13 12
11
10
9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF 溢 出 标 志 9
AF 辅 助 进 位
PF 校 验
CF
方 向 标 志
中 断 标 志
陷 阱 标 志
符 零 号 标 标 志 志
进 位
进位标志CF(Carry Flag)
当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1; 否则 CF=0。
32
段超越的例子
没有段超越的指令实例:
MOV AX, [2000H] ;AX←DS:[2000H], ;从默认的DS数据段取出数据
采用段超越前缀的指令实例:
MOV AX, ES:[2000H] ;AX←ES:[2000H], ;从指定的ES附加段取出数据
33
4、指令指针寄存器(IP )
IP(Instruction Pointer)中 存放即将要执行的指令的有效地址, IP具有自增量功能。在每取出一条 指令后,IP自增一,指令指针指向 下一条指令。
注意: PF标志仅反映最低8位中“1”的个数
是偶或奇,即使是进行16位字操作。
17
辅助进位标志AF(Auxiliary Carry Flag)
运算时D3 位(低半字节)有进位或借位时, AF=1;否则AF=0。
这个标志主要由处理器内部使用,用于 十进制算术运算的调整,用户一般不必关心 。
18
方向标志DF(Direction Flag)
(1)
有符号数利用最高有效位(MSB)来表示它 的符号。所以,运算结果的MSB与符号标志SF相 一致。
16
奇偶标志PF(Parity Flag)
当运算结果最低字节中“1”的个数为零或 偶数时,PF=1;否则PF=0(奇校验)。
例如:
3AH + 7CH=B6H=10110110B,
结果中有5个1,是奇数,则 PF=0
利用单步中断可对程序进行逐条指令的调试。
这种逐条指令调试程序的方法就是单步调试。
21
15
12
11
10
9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF
AF
PF
CFLeabharlann 控制反映结果状态反应运算过程
22
3、段寄存器(CS、DS、SS、ES) 在8088可寻址的1MB内存空间中,可以存 在四种分工不同的逻辑段:代码段、数据段、堆
5
并行操作的意义
EU执行指令的同时,BIU可以继续读取后续指令, 并存入指令队列 (first in first out) 。这叫做“指令预 取”。 8位的CPU没有指令预取功能,执行指令前必须等 待“取指”操作完成。 取指操作是CPU最频繁的操作。 这种操作方式节省了CPU大量的取指等待时间。 “指令流水线”。
29
存储器的分段管理
一个存储单元可以拥有多个逻辑地址,但只 可能拥有一个唯一的物理地址。
逻辑地址 1460:100、1380:F00 物理地址 14700H 14700H
30
如何分配各个逻辑段
程序的指令序列必须安排在代码段; 程序使用的堆栈一定在堆栈段; 程序中的数据默认是安排在数据段,也经常 安排在附加段,尤其是串操作的目的区必须 是附加段。 数据的存放比较灵活,实际上可以存放在任 何一种逻辑段中。
由于8088中的地址寄存器都是16位的,用 户不能直接使用20位的物理地址,编程时需 要使用逻辑地址来寻址存储单元。 物理地址 14700H 逻辑地址由两个16位数构成,其形式为: 逻辑地址 1460H:100H 段的起始地址 : 段内的偏移地址 (16位段地址) :( 16位偏移量)
分隔符
25
14
全零标志ZF(Zero Flag)
若运算结果为全0,则ZF=1,否则ZF=0。 例如:
3AH + 7CH=B6H 86H + 7CH=00H 结果不是零:ZF=0
结果是全零:ZF=1
15
符号标志SF(Sign Flag)
运算结果最高位为1,则SF=1;否则SF=0。
例如:
3AH + 7CH=B6H 86H + 7CH=00H 最高位D7=1:SF=1 最高位D7=0:SF=0
P30找答案
11
什么是溢出
处理器内部以补码表示有符号数
8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
12
溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出