微机原理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。
微机原理与接口技术: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。
微机原理与接口技术:8088与8086的功能结构
![微机原理与接口技术:8088与8086的功能结构](https://img.taocdn.com/s3/m/4d91ff0787c24028915fc354.png)
1.8088与8086的主要区别8088与8086同属于第三代16位的微处理器。
这两款CPU的硬件结构没有太大的区别,二者的主要区别是在数据总线宽度,8086的数据总线宽度为16位,而8088的数据总线宽度为8位。
在内部结构上,两款微处理器都有指令队列,8086的指令队列长度为6字节,而8088的指令队列长度为4字节。
2.8088的功能结构8088微处理器包含两大功能部件,即执行单元(Execution Unit,EU)和总线接口单元(Bus Interface Unit,BIU)。
执行单元的主要功能是译码分析指令,执行指令,暂存中间运算结果并保留结果特征。
执行单元包括EU控制器、算术逻辑运算单元ALU、通用寄存器组AX、BX、CX、DX、SP、BP、DI、SI,专用寄存器、状态标志寄存器等部件,这些部件的宽度都是16位。
执行单元通过EU控制电路从指令队列中取出指令代码,并对指令进行译码形成各种操作控制信号,控制ALU完成算术或逻辑运算,并将运算结果的特征保存在标志寄存器FLAGS中;控制其它各部件完成指令所规定的操作。
如果指令队列为空,EU就等待。
总线接口单元包括指令队列、地址加法器、段寄存器、指令指针寄存器和总线控制逻辑。
总线接口单元负责CPU与内存或输入/输出接口的信息传送,包括取指令、取操作数、保存运算结果。
当EU 从指令队列中取走指令,指令队列出现两个或两个以上的字节空间,且EU未向BIU申请读/写存储器操作数时,BIU就顺序地预取后续指令的代码,并填入指令队列中。
在EU执行指令过程中,BIU 负责从指定的内存单元或外设读取EU需要的数据,并负责将EU运算结果存储到存储器。
当EU执行跳转指令时,BIU就使指令队列复位,并立即从新地址取出指令传送给EU去执行,然后再读取后续的指令序列填满指令队列。
3.指令流水线在8086/8088CPU中,EU和BIU两部分按流水线方式工作。
EU从BIU的指令队列中取指令并执行指令。
微机原理第二章练习题
![微机原理第二章练习题](https://img.taocdn.com/s3/m/ffa762e081c758f5f61f6779.png)
第二章1、Intel 8086微处理器是( B )位处理器A.8B.16C.32D.462、设DS=2000H,DI=1000H,指令“MOV AX,[DI+2000H]”源操作数有效地址和物理地址分别为( C )A.1000H和21000HB.2000H和12000HC. 3000H和23000HD.4000H和14000H3、当8086CPU的BHE和A0都为0时,CPU正在进行的读写操作为()A.从偶地址读写一个字节B.从偶地址读写一个字C.从奇地址读写一个字节D.从奇地址读写一个字4、在总线周期的四个T状态中,ALE信号的有效周期是()A.T1B.T2C.T3D.T45、标志寄存器中的ZF、CF和SF分别是()A.符号标志、进位标志和奇偶标志B.零标志、进位标志和符号标志C.溢出标志、符号标志和零标志D.符号标志、零标志和溢出标志6、8086/8088系统工作于最大模式,可以()A. 构成多处理器系统B.扩大输入输出空间C. 扩展存储容量D.提高CPU主频7、CPU中的ALU主要完成( )。
A.各种时序信号的生成B.中断管理C.指令地址指针的变换D.算术、逻辑运算及移位操作8、8086CPU的最大工作模式和最小工作模式的区别是()A.能否构成一个独立的微机系统B.能否和输入输出设备交换数据C.能否构成一个多处理器系统D.能否进行复杂的浮点数运算9、8086/8088 CPU 的内部结构由()组成A.ALU、EU和指令队列B.ALU、BLU和地址加法器C.通用寄存器组和运算器D.执行部件和总线接口部件10、8086/8088的第25脚ALE是()A.最小模式下地址锁存允许信号输出端B.高8位数据总线允许输出端C.最小模式下数据允许信号输出端D.最小模式下的中断响应信号输出端11、标志寄存器的SF、CF和PF分别是()A.符号标志、进位标志和奇偶标志B.零标志、进位标志和符号标志C.溢出标志、符号标志和零标志D.符号标志、零标志和溢出标志12、下列表述中,()是错误的A.8086和8088 CPU 的结构完全相同,只是运行速度不同。
微机原理_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)。
令
令
和
寄
译
控制
控制总线
存
码
逻辑
1. 算术逻辑单元(运算器)
寄存器组 2.
通用 寄存器组
地址 寄存器组
地址 总线 控制
地址总线
3. 指令内处部数理据总单线 元(控数制据器)
总线
数据总线
控制
暂存器
累加器
标志寄存器
ALU
2
8088/8086的功能结构
16位微处理器也具有以上结构中的基本单元, 但更为复杂。
15
符号标志SF(Sign Flag)
运算结果最高位为1,则SF=1;否则SF=0。 例如:
3AH + 7CH=B6H
最高位D7=1:SF=1
(1)
86H + 7AH=00H
最高位D7=0:SF=0
有符号数利用最高有效位(MSB)来表示它 的符号。所以,运算结果的MSB与符号标志SF相 一致。
16
7
②指针和变址寄存器 共BP、SP、SI、DI四个
BP:基址指针寄存器Base Pointer ,默认表示 堆栈段基地址;
SP:堆栈指针寄存器Stack Pointer,指示栈顶 SI:源变址寄存器Source Index
DI:目的变址寄存器Destination Index
8
2、标志寄存器
标志寄存器(FR)是一个十六位的 寄存器,但只利用了其中的9位:六个条 件标志和三个控制标志。
第二部分 8086/8088微处理器
一、8086/8088CPU的内部结构 二、8086/8088的内部寄存器 三、8086/8088的存储器组织 四、微处理器的指令系统 五、8086/8088的引脚及工作摸式 六、时序与总线周期
一、 8086/8088CPU的内部结构
8位微处理器的内部结构
指
指
时序
奇偶标志PF(Parity Flag)
当运算结果最低字节中“1”的个数为零或 偶数时,PF=1;否则PF=0(奇校验)。
例如:
3AH + 7CH=B6H=10110110B, 结果中有5个1,是奇数,则 PF=0 注意:PF标志仅反映最低8位中“1”的个数 是偶或奇,即使是进行16位字操作。
17
FR的格式
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF AF PF
CF
进位
校验
辅助进位
零标志 符号标志 陷阱标志 中断标志 g)
当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1; 否则 CF=0。
有符号数运算: 58+124=182 范围外,有溢出
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位
有符号数运算: -86+124=28 范围内,无溢出
13
➢ 处理器对两个操作数进行运算时,按照无符 号数求得结果,并相应设置进位标志CF;同 时,根据是否超出有符号数的范围设置溢出 标志OF
例如(以8位运算为例,8088中为16位):
3AH + 7CH=B6H
没有进位:CF=0
AAH + 7CH=(1)26H
有进位:CF=1
10
溢出标志OF(Overflow Flag)
若算术运算的结果有溢出,则OF=1;否则 OF=0。
问题:
什么是溢出? 溢出和进位有什么区别? 处理器怎么处理,程序员如何运用? 如何判断是否溢出?
P30找答案
11
什么是溢出
处理器内部以补码表示有符号数 8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
12
溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位
① 数据寄存器 共AX、BX、CX、DX四个,每个寄存器即可作 为16位寄存器,又可拆分为两个8位寄存器,此时记 为AH、AL、BH、BL等。
AX(AH、AL):累加器accumulator BX(BH、BL):基址寄存器base CX(CH、CL):计数寄存器counter DX(DH、DL):数据寄存器data
执行单元EU (Execution Unit)——负责指令的译码、执行和 数据的运算
两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和执行的流水线
操作
5
并行操作的意义
➢ EU执行指令的同时,BIU可以继续读取后续指令, 并存入指令队列(first in first out)。这叫做“指令预 取”。
数据总线
AX BX CX DX
16 位
暂存寄存 器
地址加法器
20 位
CS
DS
SS
ES
指令指针
IP
内部通信寄存器
16 位
总线 控制 逻辑
外部总线
AB
DB
CB
ALU 标志寄存器
执行 控制
电路
指令队列
12 34
执行单元 (EU)
总线接口单元(BIU)
8088的编程结构从功能分成两个单元
总线接口单元BIU (Bus Interface Unit)——管理8088与系 统总线的接口,负责CPU对存储器和外设进行访问
➢ 8位的CPU没有指令预取功能,执行指令前必须等 待“取指”操作完成。
➢ 取指操作是CPU最频繁的操作。 ➢ 这种操作方式节省了CPU大量的取指等待时间。 ➢ “指令流水线”。
6
二、 8088寄存器结构
8088共有8个的通用寄存器,1个标志寄存器, 4个段寄存器和1个指令指针寄存器。
1、通用寄存器
以8088为例讲解16位微处理器的功能结构。 8088是8086的简化版本。 两个芯片都是16位微处理器,内部运算器和
寄存器都是16位的,同样具有20位地址线; 8088的外部数据总线为8位,而8086为16 位
3
段寄存器 通 用 寄存 器
AH AL BH BL CH CL DH DL
SP BP DI SI
辅助进位标志AF(Auxiliary Carry Flag) 运算时D3位(低半字节)有进位或借位时,
➢ 应该利用哪个标志,则由程序员来决定。也 就是说,如果将参加运算的操作数认为是无 符号数,就应该关心进位;认为是有符号数, 则要注意是否溢出。
14
全零标志ZF(Zero Flag)
若运算结果为全0,则ZF=1,否则ZF=0。 例如:
3AH + 7CH=B6H 结果不是零:ZF=0 86H + 7CH=00H 结果是全零:ZF=1