8086微处理器的结构

合集下载

第2章-8086微处理器part2

第2章-8086微处理器part2

8086 CPU在最小模式中引脚定义
M/#IO:Memory/Input & Output,三态输出
存储器或I/O端口访问信号 。指示8086的访问对象,发 给MEM或I/O接口。 M/# IO为高电平时,表示 当前CPU正在访问存储器;
M/# IO 为低电平时,表 示当前CPU正在访问I/O端 口
数据驱动器数据流向控制信 号,输出,三态。
在8086系统中,通常采用 74LS245、8286或8287作 为数据总线的驱动器,用 DT/#R信号来控制数据驱动 器的数据传送方向。 当DT/#R=1时,进行数据 发送; 当DT/#R=0时,进行数据 接收。
8086 CPU在最小模式中引脚定义
READY:准备就绪信号 由外部输入,高电平有效 ,表示CPU访问的存储器 或I/O端口己准备好传送 数据。 当READY无效时,要求 CPU插入一个或多个等待 周期Tw,直到READY信 号有效为止。
S3 0 1 0 1
当前正在使用的段寄存器 ES SS CS或未使用任何段寄存器 DS
8086 CPU在最小模式中引脚定义
#BHE/S7:高8位总线允许(Bus High Enable)
T1:指示高8位数据总线上的数据 是否有效 (#BHE:AD0)配合:00时读写字 ,01时读写奇地址字节,10时读写 偶地址字节 其他T周期:输出状态信号S7(S7 始终为逻辑1,未定义) DMA方式下,该引脚为高阻态。
最大模式引脚信号(续)
LOCK# :总线封锁(优先权锁定) 三态输出,低电平有效。 LOCK有效时表示CPU不允许其它总线主控者占用 总线。 ห้องสมุดไป่ตู้ 这个信号由软件设置。 • 当在指令前加上LOCK前缀时,则在执行这条 指令期间LOCK保持有效,即在此指令执行期 间,CPU封锁其它主控者使用总线。 在保持响应期间,LOCK#为高阻态。

8086结构组成

8086结构组成

8086结构组成8086是一款16位微处理器,它的结构组成非常复杂。

本文将从以下几个方面来详细介绍8086的结构组成。

一、总体结构8086由三个主要部分组成:执行单元(EU)、总线接口单元(BIU)和寄存器组。

1.执行单元:负责执行指令并进行算术和逻辑运算。

2.总线接口单元:负责与外部设备通信并控制数据传输。

3.寄存器组:包括通用寄存器、段寄存器和指令指针寄存器等。

二、执行单元1.指令队列指令队列是执行单元中的一个重要部分,它可以存储多条指令,以便快速地进行取指令操作。

当EU需要执行一条新的指令时,它会从队列中取出下一条指令并开始执行。

2.算术逻辑单元算术逻辑单元(ALU)是执行单元中的核心部分,它可以进行各种算术和逻辑运算,如加、减、乘、除、与、或等操作。

ALU还可以处理条件跳转和无条件跳转等控制操作。

3.状态标志寄存器状态标志寄存器(FLAGS)用于记录ALU运算的结果,以便EU进行下一步操作。

FLAGS寄存器包括零标志位、进位标志位、溢出标志位等。

三、总线接口单元1.地址加法器地址加法器(AFA)是BIU的核心部分,它可以将内部地址转换为外部地址,并控制数据传输。

2.指令缓存器指令缓存器(IC)用于存储从内存中读取的指令。

当EU需要执行一条新的指令时,BIU会从IC中取出相应的指令并传输给EU。

3.数据缓存器数据缓存器(DC)用于暂时存储从内存中读取或写入的数据。

当EU 需要访问内存时,BIU会将相应的数据传输到DC中,EU再从DC中读取或写入数据。

四、寄存器组1.通用寄存器8086有8个16位通用寄存器,分别命名为AX、BX、CX、DX、SI、DI、BP和SP。

这些寄存器可以用于保存临时数据和计算结果等。

2.段寄存器8086有4个16位段寄存器,分别命名为CS、DS、ES和SS。

这些寄存器用于保存程序和数据在内存中的位置信息。

3.指令指针寄存器指令指针寄存器(IP)用于保存下一条指令在内存中的地址。

【教学课件】第2章 8086微处理器

【教学课件】第2章  8086微处理器

控制 电路
局部总线 接口
SYSB/RESB
1
20
2
19
3
18
4
17
5
8289 16
6
15
7
14
8
13
9
12
10
11
INIT
BCLK BREQ BPRN BPRO BUSY CBRQ
总线仲裁 信号
AEN
V CC S1 S0 CLK
LOCK
CRQLCK ANYRQST
AEN CBRQ BUSY
2021/8/17
DEN CEN
INTA IORC AIOWC IOWC
2021/8/17
23
2.总线仲裁控制器8289
仲裁电路
状态
S2
信号
S1
S0
状态 译码器
多路总线 接口
控制 输入
LOCK CLK
CRQLCK
RESB ANYRQST
IOB
S2 IOB
RESB BCLK INIT BREQ BPRO BPRN
GND
数据总线
2021/8/17
S0
S1
S2
INTR R Q / G T0
R Q / G T1
8288 总线控制器
IN T A
8259A 及有关电路
控制总线 中 断 请 求
22
1.总线控制器8288
状态
S2
信号
S1
S0
状态 译码器
控制 输入
CLK
AEN CEN IOB
控制 电路
命令 信号 发生器
控制信号 发生器
2.3.1 最小模式和最大模式的概念

微机原理课件第二章 8086系统结构

微机原理课件第二章 8086系统结构

但指令周期不一定都大于总线周期,如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。

第二章 8086微处理器

第二章 8086微处理器

第二章8086/8088微处理器及其系统结构内容提要:1.8086微处理器结构:CPU内部结构:总线接口部件BIU,执行部件EU;CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。

2.8086微机系统存储器结构:存储器地址空间与数据存储格式;存储器组成;存储器分段。

3.8086微机系统I/O结构4.8086最小/最大模式系统总线的形成5.8086CPU时序6.最小模式系统中8086CPU的读/写总线周期7.微处理器的发展学习目标1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;2.理解存储器读/写时序;3.了解微处理器的发展。

难点:1.引脚功能,最小/最大模式系统形成;2.存储器读/写时序。

学时:8问题:为什么选择8088/8086?•简单、容易理解掌握•与目前流行的P3、P4向下兼容,形成x86体系•16位CPU目前仍在大量应用思考题1、比较8086CPU与8086CPU的异同之处。

2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU?起什么作用?4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情况下置位?5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用?6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物理地址是多少?思考题1.从时序的观点分析8088完成一次存储器读操作的过程?2.什么是8088的最大、最小模式?3.在最小模式中,8088如何产生其三总线?4.在最大模式中,为什么要使用总线控制器?思考题1.试述最小模式下读/写总线周期的主要区别。

第二章-8086微处理器

第二章-8086微处理器

答案:A
思考题
8086/8088的状态标志有 A)3 B)4 C)5 答案:D 个。 D)6
思考题
8086/8088的控制标志有 A)3 B)4 C)5 答案:A 个。 D)6
三、引脚信号和功能(图2-5 )
8086总线周期的概念: 为了取得指令或传送数据,就需要CPU的总线接 口单元(BIU)执行一个总线周期。 一个最基本的总线周期由4个时钟周期组成。 习惯上将4个时钟周期分别称为4个状态,即T1状 态、T2状态、T3状态和T4状态。 图2-17
2.方向标志DF(Direction Flag) 用于串操作指令中的地址增量修改(DF =0)还是减量修改(DF=1)。 STD使DF=1 CLD使DF=0
(三)标志寄存器-控制标志(续)
3.跟踪标志TF(Trap Flag) 若TF=1,则CPU按跟踪方式(单步方式) 执行程序,否则将正常执行程序。
思考题
指令队列的作用是 A)暂存操作数地址 。 B)暂存操作数
C)暂存指令地址
D)暂存预取指令 答案:D
思考题
8086的指令队列的长度是 A)4个 B)5个 C)6个 D)8个 字节。
答案: C
思考题
8088的指令队列的长度是 A)4个 B)5个 C)6个 D)8个 字节。
答案:A
思考题
第二章 8086/8088微处理器
8086/8088微处理器的结构 8086/8088典型时序分析

简 介
8086:16位微处理器 数据总线宽度16位:可以处理8位或16位数据 地址总线宽度20位:可直接寻址1MB存储单元和 64KB的I/O端口 8088:准16位处理器 内部寄存器及内部操作均为16位,外部数据总线8位 8088与8086指令系统完全相同,芯片内部逻辑结构、芯片引 脚有个别差异。 设计8088的目的主要是为了与Intel原有的8位外围接口芯片 直接兼容

微机原理第三章:8086微处理器结构

微机原理第三章:8086微处理器结构

4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
代码段寄存器 CS 标 志 寄 存 器
数据段寄存器 DS
堆栈段寄存器 SS
附加段寄存器 ES
由于8086/8088 CPU 可直接寻址的存储器空间是1M字节,直接寻址需要 20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能寻址 64K字节,为此需要采取分段技术来解决这个问题。
表3.1
通用寄存器的隐含使用
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
三、标志寄存器 FR

8086-8088CPU系统结构

8086-8088CPU系统结构
♣ CS:代码段寄存器 ♣ DS:数据段寄存器 ♣ ES:附加数据段寄存器 ♣ SS:堆栈段寄存器
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的管理
▲二者处于并行的工作状态和重叠的工 作方式; ▲相互配合,协调工作; ▲充分利用总线实现最大限度的信息传 输,提高了程序的执行速度。

第二章 8086 8088微处理器

第二章  8086 8088微处理器
(一)、 总线接口单元BIU
1、指令队列缓冲器 2、地址加法器和段寄存器
3、 16位的指令指针寄存器IP
IP中存放的是BIU要取的下一条指令(字 节)的偏移地址,BIU取过后,IP自动加1。 与IP相配的段寄存器是代码段寄存器CS。
扬州大学信息工程学院
第一节 8086/8088 微处理器的结构 一、8086/8088的内部结构
扬州大学信息工程学院
(一)最小工作模式
在最小工作模式,8086/8088 第24~31引脚的含义: 5、M/IO存储器/输入,输出控 制信号,输出。 为1时与存储器数椐传送; 为0时输入,输出接口进 行数据传送。T1~T4有效
6、WR写信号,输出。 在总线周期的T2~T4状态 输出低电平。 7、HOLD总线保持请求信号, 输入。其它主模块要求占用总线 时通过HOLD向CPU发高电平请 求。若“允许”,CPU在T4状态 从HLDA发出高电平后,就得到 总线控制权。
扬州大学信息工程学院
第二章 8086/8088微处理器
第一节 8086/8088 微处理器的结构 一、8086/8088的内部结构
从功能上,8086分为两部分:
1、 总线接口单元BIU (Bus Interface Unit)。 2、执行单元EU (Execution Unit)。 说明:这两个单元在CPU内部担负着不同的任务。 两个单元并行地工作,能使大部分取指令操作与执 行指令操作重叠的进行 (即所谓“流水线”结构)。
扬州大学信息工程学院
第一节8086/8088的微处理器结构
三、8086/8088的引脚信号和功能 (一)地址/数椐总线
AD15~AD0(复用的)
总线周期的状态 T1:输出地址; T2:浮置成高阻; T3:输入/输出数椐;

2-1 8086微处理器的内部结构

2-1 8086微处理器的内部结构

地址总线(20位) AH BH CH DH SP BP SI DI AL BL CL DL 地址加法器 Σ
数据总线
通用寄存器
8086 暂存寄存器
ALU数据总线 (16位)
CS DS SS ES IP 内部通信 寄存器
(16位)
总线 控制 逻辑
8086 总线
ALU
EU 控制 系统
Q总线 16位
指令队列
则物理地址计算如下 4 2 3 2 0 +) 6 6
66H
段地址 42320H
4 2 3 8 6
...
64K
42386H
64K 16 (2 )
段终址
5231FH
...
例:假设 (DS)=2234H ,EA=22H
15
0
2 2 3 4
15 2 2 3 4 +) 0 0 2 2 2 3 6 0 2 2 物理地址 0 0 2 2 0
每个逻辑段的容量≤64K字节
允许它们在整个存储空间中浮动 各个逻辑段之间可以紧密相连,也可以相互重叠
完全重叠或部分重叠
各逻辑段的起始地址(物理地址)必须是能被16整除的地址
例:A1820H,1010 0001 1000 0010 0000B,即低4位二进制码必须是0
段的起始地址的高16位被称为该段的段地址
无符号的16位二进制数
物理地址由逻辑地址变换得来
一个存储单元对应一个20位的物理地址
物理地址(PA) = 段地址 × 10H + 偏移地址(EA)
15 0 3 2 1 0
由总线接口部 件BIU中地址 加法器完成的
段地址
15 0
偏移地址
地址加法器
19 0

微机原理 第2章_8086系统结构

微机原理 第2章_8086系统结构

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

3现代微机结构-8086及80286

3现代微机结构-8086及80286

理 器
器 存储器 存储器 I/O
AD15~AD0 双向
DT/R DEN
数据 锁存 器
第二节 Intel 80286
与8086的显著区别:
1. 地址线和数据线不再分时复用, 简化了硬件设计;
2. 增加了地址线的宽度, 物理地址空间增加到16M 3. 增加了新的指令, 以增强其控制能力。 4. 引入存储管理中的虚存管理机制。通过“虚地址”
结论:
采用地址流水线后, 由于地址信号的提前建立, 与非地址的流水线相比, 可以尽量减少插入Tw 等待周期。因而加快了访存速度。 (但并没有提高存储器的速度)。
四、80286的工作模式
(一) 实地址模式
系统开机复位时,自动进入实地址模式, A23~A20自 动置为0, 以 A19~A0寻址1M的存储空间。
实地址模式下的寻址过程:
段基地址
段基地址 0000
+ 20位物理地址 内存单元
偏移量
为实施“虚地址保护”所希望的寻址过
程:
应用设计 者给出的 虚地址
• 实施保护 • 实现虚地址到
物理地址
内存单元
实地址的转换
“虚地址保护” 实施的中间平台
“ 中 间 平 台 ” 的 核 心 部描述子 (Descriptor) 分描:述子的作用:
(物理地址)
左移4位
偏移量 基地址

15
0 15
0ห้องสมุดไป่ตู้
段寄存器
偏移量
19
0
一 个
16位基地址 0000

+
20位的物理地址
外部地址总线
三、8086的中断系统
(一) 中断源
1、外部中断

第三章 8086微处理器(结构)

第三章 8086微处理器(结构)

CLK S2-S0 A19-16 S3-S7 BHE AD15-0 ALE MRDC (IORC) DT/R DEN
最大方式写时序
地址 CS 数据 T1 T2 S2-S0 A19-16 A15-0 BHE 数据输出 T3 S2-S0 无效 S3-S7 D15-D0 T4
CLK S2-S0 A19-16 S3-S7 BHE AD15-0 ALE AMWC (AIOWC) MWIC(IOWC) DEN
INTEL 8086
8086引脚信号
8088引脚信号
INTEL 8088
8086最小方式系统结构
8284 CLK READY RESET
等待状态发生器
M/IO INTR INTA WR RD STB BHE
ALE BHE AD19-16 AD15-0
8082x3
地址总线 A19-0
数据总线 DEN DT/R MN/MX 8086 CPU 8286x2 OE RAM HOLD HLDA OE WR OE
IOB BHEຫໍສະໝຸດ 8286X2 OE RD MN/MX 8086 CPU T OE RAM
数据总线 (D15-0)
RD
ROM
I/O
WR RD
S2-S0代码组合和操作
S2 S1 S0 代码组合和对应操作 S1 S0 对 应 操 作 0 0 发中断响应信号 0 1 读 I/O 端口 1 0 写 I/O 端口 1 1 暂停 0 0 取指令 0 1 读内存 1 0 写内存 1 1 无源状态(CPU无作用) QS1 QS0 代码组合和对应操作 对应操作 无操作 从指令队列的第1个字节中取走代码 队列为空 除第1字节外,还取走了后续字节中的代码
低为IO读,

计算机原理_2 8086微处理器

计算机原理_2 8086微处理器

READY RDY1 AEN1 RDY2 AEN 2
3 复位信号产生 输入RES经过斯密特触发器分频以后,在时钟同频下产生RESET信号 送给CPU的RESET引脚,进行复位。 通常有以下两种情况会产生硬件复位信号: a 电源开关打开 b 按下机箱上的Reset按钮 电路如下所示:
例:CS的内容是89ABH,IP 的内容是0201H,则生成的地
址是89AB0H+0201H=89CB1H


20位的地址加法器 段地址左移4位+偏移量 → 20位的实际物理地址 段地址*16+偏移量 → 20位的实际物理地址 6个字节的指令队列

执行部件(EU)

16位的算术逻辑单元ALU 4个16位的通用寄存器 AX,BX,CX,DX,它们又可以分成8个8位的寄存器使用 AH,AL,BH,BL,CH,CL,DH,DL AL AH 4个16位的专用寄存器 SP——堆栈指针寄存器 BP——基址指针寄存器 SI ——源变址寄存器 DI ——目的变址寄存器
(二)时钟发生电路8284A 1 产生时钟信号 OSC 内部时钟同频信号 CLK 内部时钟三分频信号,占空比1/3 PCLK 内部时钟六分频信号,占空比1/2 CSYNC 外部时钟的同频信号 X1、X2 外接晶体,供内部振荡器产生震荡频率 EFI 外接时钟入端 F/C 时钟输入选择 PC机中14.31818MHz的外接晶体 CLK=4.77MHz 2 准备就绪信号 ASYNC为低电平时,表示READY输出时插入一个时钟周期延时。
三、常用的数据管理方式


LIFO FIFOቤተ መጻሕፍቲ ባይዱ
1
2
堆栈:按照后进先出(LIFO)的原则组织的存储器空间(栈)。

微机原理课后习题答案

微机原理课后习题答案

微机原理课后习题答案2.1 8086 CPU 在内部结构上由哪几部分组成?其功能是什么?【答】8086 的内部结构-成两部分:总线接口部件BIU,负责控制存储器读写。

执行部件EU,EU 从指令队列中取出指令并执行。

8086 是16 位微处理器,有16 根数据线、20 根地址线,内部寄存器、运算部件以及内部操作都是按16 位设计的。

2.2 8086 的总线接口部件有那几部分组成?【答】8086 的总线接口部件主要由下面几部分组成:4 个段寄存器CS/DS/ES/SS, 一个16 位的指令指针寄存器IP, 一个20 位地址加法器, 6 字节的指令队列,内部暂存器以及输入输出电路组成.2.3 8086 的执行部件有什么功能?由那几部分组成?【答】8086 的执行部件主要由下面几部分组成:(1)四个16 位通用寄存器AX、BX、CX、DX, 通用四个16 位专用寄存器,包括二个指针寄存器SP、BP, 二个变址寄存器SI、DI, 算术逻辑单元ALU,标志寄存器。

2.4 8086CPU 状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086 的状态标志和控制标志分别有哪些?【答】标志分两类:状态标志(6 位):反映刚刚完成的操作结果情况。

控制标志(3 位):在某些指令操作中起控制作用。

2.5 8086/8088 和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU 执行转移指令时,指令队列寄存器内容如何变化?【答】传统的计算机一般按照取指令、指令译码/执行指令的步骤工作。

在8086/8088 中,指令的提取与执行分别由总线接口部件BIU 与执行部件EU 完成,8086/8088 可以在取指令同时又可以执行指令,这种并行工作方式有力的提高了CPU 的工作效率。

2.6 将两数相加,即0100 1100 加0110 0101,CF、PF、AF、ZF、SF、OF 各为何值?【答】0100 1100+0110 0101=10110001CF=0,PF=1,AF=1,ZF=0,SF=1,OF=12.7 存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有20 位地址线的CPU,其最大物理地址为多少?【答】存储器的逻辑地址由段地址与段内偏移地址组成。

8086CPU结构

8086CPU结构
21
零标志ZF (Zero Flag) ---反映运算结果是否为零, 若是,则该位置“1”,否则置“0”。 符号标志SF (Sign Flag) ---反映运算结果最高位的 状态,并与运算结果最高位状态相同。表明了本次运 算的结果是正还是负。 溢出标志OF (Overflow Flag) --- 反映带符号数进行 算术运算后是否有溢出,有则为“1”,无则为“0”。
3
指令和程序
机器指令 操作码 + 操作数
若干条指令构成程序
MOV B8H AX, 1234H 34H 12H
4
指令解释方式
CPU解释一条指令的步骤为如下两个阶段: 取指:从内存中取出指令,明确指令规定的功能; 执行:分析指令要求实现的功能,读取所需要的操作 数,执行指令规定的操作,并保存执行结果。
执行部件EU
功能:执行指令并暂时存储运算结果 结构: (1)16位算术逻辑单元ALU; (2)16位标志寄存器F; (3)数据暂存寄存器(与编程无关,不对用户开放) (4)通用寄存器组: AX、BX、CX、DX---数据寄存器 SP、BP---指针寄存器 SI、DI---变址寄存器 (5)EU控制电路:内部电路,不对用户开放
时 间
顺序解释
取指1
执行1
取指2
执行2
取指3
执行3
取指4
执行4
取指5
执行5
执行1
执行2
执行3
执行4
执行5
重叠解释
取指1 取指2 取指3 取指4 取指5
指令和程序的解释过程
5
8086微处理器的内部结构
地址总线 AH BH 通用 寄存 器 CH DH SP BP SI DI ALU数据总线 (16位) 暂存寄存器 总线控制 8086 逻辑 总线 ALU EU 控制系统 标志寄存器 执行部件(EU) 图2-2 8086 CPU内部结构 总线接口部件(BIU) 6 队列 总线 (8位) 指令队列缓冲器 1 2 3 4 5 6 段寄 存器 AL BL CL DL AX BX CX DX CS DS ES SS IP 内部通信 寄存器 指令指 针 地址 形成器 (20位) 数据 总线 (16位)

第2讲 Intel 8086_8088的结构

第2讲 Intel 8086_8088的结构
习惯:AX累加器(Accumulator)/ BX基址R/ CX(Count)计数R,循环-串操作/ DX数据R (Data),I/O port, 双字除(H16) SP,BP:堆栈指针 R, 基址指针 R,用作16 位地址指针。 SI,DI 变址R(Source Index R, Destination Index R)--指针作用
2、 微型计算机内部结构
内部——内部为了减少连线所占面积,采用单总线,即: 内部所有单元电路都挂在内部总线上,分时使用总线。
通常微处理机内部结构及外部连接方法如下图所示。
内部数据总线
DB7~DB0
数据总线缓冲器/锁存器
累加器 (8位)
锁存器 (8)
暂存寄存 器(8)
标志寄存 器
算术逻辑单 元
ALU

(物理) 地址
16进制

0000 0000 0000 0000 0000B =

0000 0000 0000 0000 0001B =
能 力 、 寻 址
寻 址 范 围
0000 0000 0000 0000 0010B =
...
...



1111 1111 1111 1111 1111B =
00……00~11……11B=00000H~FFFFFH
8086的外部数据总线16位,8088 是8位数据总线。 Intel 8086,16位机. Intel 8088(简称8088)是一种准16位微处理器, 在Intel 8080与8085的基础上发展起来的。
(一) 8086/8088微处理器功能结构
8086/8088微处理器功能结构
分两部分: 1、总线接口单元 BIU(Bus Interface Unit) 2、执行部件 EU (Execution Unit)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二节 8086微处理器的存储器组织
• 存储器是计算机存储信息的地方。掌握数 据存储格式,以及存储器的分段管理对以 后的汇编程序设计非常重要 • 你能区别寄存器、存储器(主存)、外存(包 括硬盘、光盘、磁带等存储介质)吗?
答案
寄存器、存储器和外存的区别
• 寄存器是微处理器(CPU)内部暂存数据的存储单 元,以名称表示,例如:AX,BX..….等 • 存储器也就是平时所说的主存,也叫内存,可直 接与CPU进行数据交换。主存利用地址区别 • 外存主要指用来长久保存数据的外部存储介质, 常见的有硬盘、光盘、磁带、U盘等。外存的数据 只能通过主存间接地与CPU交换数据 • 程序及其数据可以长久存放在外存,在运行需要 时才进入主存
第2章 8086/8088微处理器的结构 本章主要教学内容
• • • • 8086的内部结构 8086的寄存器结构 8086的存储器组织 8086的工作模式及总线时序
教学目的:掌握 8086 微处理器的编程结构和 存储器的使用。 教学重点: 8086微处理器的编程结构和存储 器的使用 教学难点:存储器的使用
2. 8086寄存器结构 8086微处理器内部有14个16位寄存器。
2.1 通用寄存器
通用寄存器组分为:数据寄存器和指针、变址寄存器。 1.数据寄存器包括: AX累加器(Accumulator):用做算术、逻辑运算等 BX基址寄存器(Base Address Register):用来存放 存储单元的地址 CX计数器(Counter):在循环(存放循环次数)和串 处理指令中用作隐含的计数器 DX数据寄存器(Data register):常用来存放双字长 数据的高16位,或存放外设端口地址 这4个寄存器也可作为8个8位的寄存器使用
3.变址寄存器
常用于存储器变址寻址方式时提供地址 SI是源地址寄存器(Source Index) DI是目的地址寄存器(Destination Index) 在串操作类指令中,SI、DI还有较特殊的用法
现在不必完全理解,以后会放段首址,因而可把8086 的1MB存储空间分成若干个逻辑段。 CS:代码段存放程序的代码; DS:数据段存放程序当前使用的数据; SS:堆栈段为入栈、出栈的数据提供存放 空间; ES:附加段通常也是存放数据,典型用法 是存放处理后的结果数据。
3AH+7CH=B6H,就是58+124=182, 已经超出-128~+127范围,产生溢出,故OF=1; 补码B6H表达真值是多少呢?
◆ 溢出和进位的区别 • 溢出标志OF和进位标志CF是两个意义 不同的标志 • 进位标志表示无符号数运算结果是否 超出范围,运算结果仍然正确 • 溢出标志表示有符号数运算结果是否 超出范围,运算结果已经不正确
SF=1、ZF=0、PF=1、CF=0、AF=1、OF=1
• 若算术运算的结果有溢出,则OF=1; 否则 OF=0
3AH + 7CH=B6H,产生溢出:OF=1 AAH + 7CH=(1)26H,没有溢出:OF=0
◆ 什么是溢出
• • • • • 处理器内部以补码表示有符号数 8位表达的整数范围是:-128 ~ +127 16位表达的范围是: -32768 ~ +32767 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
复习题 1. 已知机器字长为8位,若x= -1,y= -127,则 [x]补=___________, [x+y]补=______________。 2. 十进制数128.375表示成十六进制____________。 3. 当运算结果的最高位产生一个进位时,标志位 ________置1,而运算结果的最高位为1时,____ 标志位为1。 4. 已知[X]补=00010100B,求[-2X]补= ________。 5.8086/8088CPU内部共有 个 位寄存器。 6.从功能上,8086CPU可分为 和 两部分。
◆ 溢出和进位的对比
◆ 溢出和进位的应用场合 • 处理器对两个操作数进行运算时,按照无 符号数求得结果,并相应设置进位标志CF; 同时,根据是否超出有符号数的范围设置 溢出标志OF • 应该利用哪个标志,则由程序员来决定。 也就是说,如果将参加运算的操作数认为 是无符号数,就应该关心进位;认为是有 符号数,则要注意是否溢出
1.1 执行单元(EU) 执行单元EU主要由算术逻辑运算单元ALU、 标志寄存器FR、通用寄存器组和EU控制 器等四个部件组成。其主要功能是执行 命令。
1.2 总线接口单元(BIU) 总线接口单元BIU主要有地址加法器、段 寄存器、指令指针、指令队列缓冲器以及 总线控制电路等四个部件组成。其主要功 能是负责完成CPU与存储器或I/O设备之间 的数据传送。
例:计算机在进行2345H+3219H运算后,试求状 态标志SF、ZF、PF、CF、AF、OF的值。
0010 0011 0100 0101 0011 0010 0001 1001
0101 0101 0101 1110 SF=0、ZF=0、PF=0、CF=0、AF=0、OF=0 思考:在进行5439H+456AH运算后,试求状态标 志SF、ZF、PF、CF、AF、OF的值。
逻辑地址 1460:0100H、1380:0F00H 物理地址 14700H 14700H
段地址左移4位 加上偏移地址 得到物理地址
14600H + 100H 14700H
13800H + F00H 14700H
[例]:
• 已知CS=1055H,DS=250AH,ES=2EF0H, SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 10550H 3)该操作数的物理地址=?
250A0H
解: 各段分布及段首址见右图所示。 操作数的物理地址为:
CS DS ES
2EF00H
250AH×10H+0204H = 252A4H
8FF00H
SS
注意:
一个程序可以有代码段、数据段、附加段和堆栈段,它们的 段基址分别存放在CS、DS、ES和SS中。段寄存器为16位, 在计算物理地址时要乘16,比如DS的内容为1000H,对应物 理地址为10000H,相当于在二进制数尾部补了4个0,也就是 说,段的起始地址只能从物理地址能够整除16的(二进制数 尾部为4个0)那些地址开始。 例如,如下第一列的物理地址可以作为段首地址,存入 段寄存器时只存前16位二进制数,其他列不可以作为段首地 址。 00000H 00010H 00020H 00030H 00001H 00011H 00021H 00031H 00002H 00012H 00022H 00032H 00003H 00013H 00023H 00033H 0000FH 0001FH 0002FH 0003FH
2.1 存储器的逻辑结构
• 每个存储单元都有一个编号;被称为存 储器地址 • 每个存储单元存放一个字节的内容 00002H单元存放有一个数据34H 表达为 (00002H)=34H
A0 A1 A2
… 34H 6DH …

00000H 00001H 00002H 00003H 00004H
A18
A19
逻辑地址和物理地址区别
15 偏移地址 15 段基址 加法器 19 物理地址 0 0 0000 段首地址 0 偏移地址
乘以16
物理地址:20位绝对地址 逻辑地址:段基址:段内偏移量 物理地址 = 段基址 16 + 偏移地址
物理地址的形成: • 将逻辑地址中的段基址左移4位,加上 偏移地址就得到20位物理地址 物理地址=段基址*10H+偏移量 • 一个物理地址可以有多个逻辑地址
在存储器中,任何连续存 放的两个字节都可以称为一 个字。将偶地址的字称为规 则字,奇地址的字称为非规 则字。
例:字2301的地址为0000H,为规则字; 字8967的地址为0003H,为非规则字。
8086的存储 器结构
例:有一双字87653421H在内存中的地址为 30101H,画出其在8086系统内存中存放的 情况。
溢出的判断方法
• 方法1:
–同号相减或异号相加——不会溢出。 –同号相加或异号相减——可能溢出:
• 两种情况: 同号相加时,结果符号与加数符号相反——溢出; 异号相减时,结果符号与减数符号相同——溢出。
• 方法2:
–两个带符号二进制数相加或相减时,若 C7C6=1,则结果产生溢出; C7C6=0,则结果产生不溢出。(都为1或都为0) C7为最高位的进(借)位;C6为次高位的进(借)位。
2.2 存储器的分段
为什么要分段?
• 8086CPU有20条地址线
–最大可寻址空间为220=1MB –物理地址范围从00000H~FFFFFH 分段方法:
• 8086CPU将1MB空间分成许多逻辑段 (Segment)
分段两个规则:
–每个段最大限制为64KB –段地址的低4位为0000B
• 8086CPU存储系统中,对应每个物理存储 单元都有一个唯一的20位编号,就是物理 地址,从00000H~FFFFFH • 分段后在用户编程时,采用逻辑地址, 形式为 段基址 : 段内偏移地址
2.3 控制寄存器
1.标志寄存器(FLAG)
15 14 13 12 11 10 4 3 2 1 0 CF OF DF IF TF SF ZF AF PF 9 8 7 6 5
(1)状态标志位 ① 进位标志CF(Carry Flag) ② 辅助进位标志AF(Auxiliary Carry Flag) ③ 溢出标志OF(Overflow Flag) ④ 零标志ZF(Zero Flag) ⑤ 符号标志SF(Sign Flag) ⑥ 奇偶标志PF(Parity Flag)
2.指针寄存器 • 指针寄存器用于寻址内存堆栈内的数据 –SP为堆栈指针寄存器(Stack Pointer),指示 堆栈( Stack )是主存中一个特殊的 堆栈段栈顶的位置(偏移地址) 区域,采用“先进后出”或“后进先出” – BP为基址指针寄存器(Base Pointer),表示 存取操作方式、而不是随机存取方式。 数据在堆栈段中的基地址 用 8088/8086 形成的微机系统中,堆 • SP和BP寄存器与SS段寄存器联合使用以确定堆栈 栈区域被称为堆栈段 段中的存储单元地址
相关文档
最新文档