当前位置:文档之家› 第二章 8086计算机组织

第二章 8086计算机组织

第二章 8086计算机组织
第二章 8086计算机组织

第二章 8086计算机组织

1.课前思考

(1)微计算机系统一般包括哪两部分?

(2) 8086微处理器主要由哪几部分组成?它们的功能是什么?

(3)一个字节和一个字分别由几个二进制位组成?

(4)在Intel系列微型机中是如何编址的?

(5)一个字节和一个字在存储器中是如何存储的?

(6)字单元的地址是偶数或是奇数时,访问存储器有什么不同?

(7) 8086微型机可以访问的最大存储空间是多少?应用几位地址来表示?

(8)在8086微机中,如何提供20位的地址?如何形成物理地址?

(9) 8086微机中,存储器空间可分为几种逻辑段?每段的可寻址空间是多大?段地址存放在哪些寄存器中?

(10) CPU中有哪几类寄存器,它们各自的专门用途是什么?

(11)条件码标志和控制标志各包含几位?它们每位所表示的意义是什么?

(12)什么是DOS和BIOS功能调用?

2.学习目标

了解计算机系统的主要组成部分;掌握存储器地址分段的方法以及存储单元物理地址的形成方法;熟悉8086各类寄存器的用途;熟悉标志寄存器各标志位的意义。

3.学习指南

本章内容是汇编语言程序设计所需要了解的硬件知识,已熟悉计算机基本原理的学员可直接学习后面的章节。

4.难重点

存储器分段;存储器单元物理地址的形成;各寄存器的用途。

5.知识点

2.1 80x86微处理器系列概况

2.2 基于8086的微计算机系统

● 8086微处理器的基本组成

● 微计算机的软件系统

2.3 8086寄存器组

● 通用寄存器

● 专用寄存器

● 段寄存器

2.4 8086微处理器的存储器管理

● 存储单元的地址和内容

● 存储器分段管理

2.5 外部设备

● I/O端口

● DOS和BIOS功能调用

第二章 8086计算机组织

2.1 80x86微处理器系列概况

80X86微处理器系列是美国Intel公司从20世纪70年代开始研制的微处理器的总称。我们先简单介绍80X86微处理器的发展概况,然后简要说明基于微处理器8086的计算机系统构成,最后将根据汇编语言编程的需要分节介绍8086微处理器的基本组成、8086寄存器组、存储器和外部设备。

1.从8080/8085到8086

8086是1978年Intel公司推出的16位微处理器。与其前一代8位微处理器8080/8085相比,8086有如下几点进步:

(1)8086有16位数据总线,处理器与外部传送数据时,一次可传送16位二进制数,而8080/8085一次只能传送8位。

(2)8086的寻址空间从8080/8085的64K字节提高到1M字节。

(3)8086采用了流水线技术,而8080/8085是非流水线结构。在一个具有流水线结构处理器的系统中,可以实现处理器的内部操作与存储器或I/O接口之间的数据传送操作重叠进行,从而提高了处理器的性能。

2.从8086到8088

8086的内部寄存器、功能部件、数据通路以及对外的数据总线均为16位宽度,它的出现是计算机技术上一个很大的进步。但是,当时已有的微处理器外围配套芯片的数据总线都是8位的,为了使用这些8位的外围芯片组成系统,Intel公司又推出了8088微处理器。8088的内部结构与8086基本相同,也提供16位的处理能力,但对外的数据总线设计成8位。

1981年IBM公司选择8088微处理器作为核心来设计IBM PC微计算机系统,推向市场后获得了巨大的成功,为后来的80x86系列微处理器成为主流微计算机的处理核心打下了基础。

3.80286、80386到Pentium微处理器

由于用户对PC机性能的要求迅速提高,Intel公司在1982年推出了80286微处理器,它仍然是16位结构。80286的内部及外部数据总线都是16位的,但它的地址线是24位的,可寻址16M字节的存储空间。80286有两种工作方式,即实模式和保护模式。实模式与8086工作方式相同,但速度比8086快。保护模式除了仍具有16M字节的存储器物理地址空间外,她还能为每个任务提供1G(230)字节的虚拟存储器地址空间。保护方式把操作系统及各任务所分配到的地址空间隔离开,避免程序之间的相互干扰,保证系统在多任务环境下正常工作。

80386是1985年研制出的一个32位微处理器,内部及外部数据总线均为32位,地址线也为32

位,因此它可处理4G(232)字节的物理存储空间。80386为每个任务提供的虚拟存储空间增加到64T (246)字节。

1989年Intel公司又研制出新一代的微处理器80486,80486芯片内除了有一个与80386相同结构的主处理器外,还集成了一个浮点处理部件FPU以及一个8K字节的高速缓冲存储器(cache),使80486的计算速度和总体性能比80386有了明显的提高。

1993年Intel公司又推出了Pentium微处理器,此后几乎每两年就推出一个新型号,至今市场上的Intel微处理器已是PentiumⅣ。由此可见,微处理器芯片的发展速度是非常快的。在微处理器的发展过程中,芯片主频越来越快,寻址空间越来越大,数据和地址总线也越来越宽,加之许多体系结构方面的改进措施,如流水线结构、存储器层次结构等,使微计算机的性能大大提高,其应用领域也更加广泛。

第二章 8086计算机组织

2.2 基于8086的微计算机系统

计算机系统包括硬件和软件两部分。微计算机的硬件有包括中央处理器(CPU)的微处理器芯片、存储器(MEMORY)、输入/输出(I/O)接口三部分组成。软件是各种程序的总和,包括系统软件和应用软件。

2.2.1 8086微处理器的基本组成

Intel 8086微处理器是一个16位结构,从图2.1中可以看出,整个微处理器分成两大功能部件,即执行部件(Execution Unit,EU)与总线接口部件(Bus Interface Unit,BIU)。EU与BIU通过内部总线连接,它们既可协同工作,又可独立工作。当EU与BIU各自独立工作时,就体现出8086内部操作具有并行性的特征。

1. 执行部件(EU)

执行部件EU是执行程序的的核心部件,完成指令译码、运算及其它操作的执行。执行部件由ALU (算术逻辑运算部件)、通用寄存器组、状态标志寄存器以及控制电路组成。

2. 总线接口部件(BIU)

总线接口部件BIU负责与存储器、I/O接口电路连接,并形成20位的地址码和16位的数据,通过总线进行数据传送。BIU由一些专用寄存器、指令队列缓冲器、地址加法器等功能部件组成。(图2.1 8086微处理器的结构)

第二章 8086计算机组织

2.3 8086寄存器组

在8086的EU和BIU两部分中包含有一些工作寄存器,这些寄存器用来存放计算过程中的各种信息,如操作数地址、操作数及运算的中间结果等。微处理器从寄存器中存取数据比从存储器中存取数据要快的多,因此,在计算过程中,合理利用寄存器保存操作数、中间结果或其它信息,能提高程序的运行效率。根据这些寄存器所起的作用,8086寄存器组可以分为通用寄存器、专用寄存器和段寄存器三类,如图2.3所示。下面分别介绍这些寄存器。

图2.3 8086寄存器组

1.通用寄存器

通用寄存器包括了8个16位的寄存器:AX、BX、CX、DX、SP、BP、DI及SI。其中AX、BX、CX、DX在一般情况下作为通用的数据寄存器,用来暂时存放计算过程中所用到的操作数、结果或其他信息。它们还可分为两个独立的8位寄存器使用,命名为AL、AH、BL、BH、CL、CH、DL和DH。这4个通用数据寄存器除通用功能外,还有如下专门用途:

AX作为累加器用,所以它是算术运算的主要寄存器。在乘除指令中指定用来存放操作数。另外,所有的I/O指令都使用AX或AL与外部设备传送信息。

BX在计算存储器地址时,可作为基址寄存器使用。

CX常用来保存计数值,如在移位指令、循环指令和串处理指令中用作隐含的计数器。

DX在作双字长运算时,可把DX和AX组合在一起存放一个双字长数,DX用来存放高16位数据。此外,对某些I/O操作,DX可用来存放I/O的端口地址。

SP、BP、SI、DI四个16位寄存器可以象数据寄存器一样在运算过程中存放操作数,但它们只能

以字(16位)为单位使用。此外,它们更经常的用途是在存储器寻址时,提供偏移地址。因此,它们

可称为指针或变址寄存器。

SP称为堆栈指针寄存器,用来指出栈顶的偏移地址。

BP称为基址指针寄存器,在寻址时作为基地址寄存器使用,但它必须与堆栈段寄存器SS联用来

确定堆栈段中的存储单元地址。

SI为源变址寄存器,在串处理指令中,SI作为隐含的源变址寄存器与DS联用,以确定数据段中

的存储单元地址,并有自动增量和自动减量的变址功能。

DI为目的变址寄存器,在串处理指令中,DI和附加段寄存器ES联用,以达到在附加段中寻址的

目的,然后DI自动增量或减量。

第二章 8086计算机组织

2.4 8086微处理器的存储器管理

1.存储单元的地址和内容

计算机存储信息的基本单位是一个二进制位(bit)。一位可存储一个二进制数:0或1,每8位组成一个字节。

微机中常用的数据类型有:

·字节:存储器中存取信息的基本单位。我们常说某存储器容量是64MB,就是说该存储器有64M

(1M=220)个字节。其位编号如图2.5(1)所示。

·字:一个字16位,占用两个字节,8086的字长就是16位的。一个字的位编号如图2.5(2)所示。

·双字:一个双字32位,由4个字节组成。其位编号如图2.5(3)所示。

·四字:一个四字64位,由8个字节组成。其位编号如图2.5(4)所示。

图2.5 数据类型

在存储器里以字节为编址单位,也就是说给每个字节分配一个地址号,地址从0开始编号,依次递增1。地址在机器中用无符号二进制数表示,可简写为十六进制数的形式。一个存储单元中存放的信息称为该单元的内容。例如,2号单元中存放了一个数据8,则表示为:(2)=8。

对于字、双字、四字数据类型,其低地址中存放低位字节数据,高地址中存放高位字节数据。在读写数据时只需给出最低单元的地址号即可,然后依次存取后续字节。

例如,存储器现存有以下数据(后缀H表示是十六进制数):

地址:9 8 7 6 5 4 3 2 1 0 内容:0EH 0DH 0CH 0BH 0AH 89H 67H 45H 23H 01H

对于不同的数据类型,取地址为2的数据分别是:

(2)字节=45H

(2)字=6745H

(2)双字=0A896745H

(2)4字=0E0D0C0B0A896745H

可以看出,同一个地址既可看作字节单元的地址,又可看作字单元、双字单元或4字单元的地址,这要根据使用时的情况来确定。而且多字节数据在存储器中是"逆序存放"的。

字单元的地址可以是偶数,也可以是奇数。但是,在8086中,访问存储器(要求取数或存数)都是以字为单位进行的,也就是说,机器是以偶地址访问存储器的。这样,对于奇地址的字单元,要取一个字需要访问二次存储器,这就需要花费较多的时间。

如上所述,如果用X表示某存储单元的地址,则X单元的内容可以表示为(X);假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=((X))来表示Y单元的内容。

第二章 8086计算机组织

2.5 外部设备

计算机运行时的程序和数据以及所产生的的结果都要通过输入/输出设备与人交互,或者保存在

大容量的外存储器中,因此输入/输出设备(或简称外部设备)是计算机必不可少的组成部分,对外

设进行有效的管理和信息传输是汇编语言的重要应用领域之一。

从图2.1可见,外部设备与主机(微处理器和存储器)的通信是通过外设接口进行的。每个接口包括一组寄存器。一般说来,这些寄存器有三种不同的用途:

1. 数据寄存器:用来存放要在外设和主机间传送的数据,这种寄存器实际上起缓冲器的作用。

2. 状态寄存器:用来保存外部设备或接口的状态信息,以便微处理器在必要时测试外设状态,了解外设的工作情况。

3. 命令寄存器:CPU给外设或接口的控制命令通过此寄存器送给外部设备。例如,CPU要启动磁盘工作,必须发出启动命令等。

各种外部设备都有以上三种类型的寄存器,只是每个接口所配备的寄存器数量是根据设备的需要确定的。

为了便于主机访问外设,外设中的每个寄存器给予一个端口地址(又称端口号),由这些端口地址组成了一个独立于内存储器的I/O地址空间。80x86的I/O地址空间可达64KB,所以端口地址的范围是0000~FFFFH,用16位二进制代码来表示。端口可以是8位或16位。

在80x86系列机中,由于I/O地址空间是独立编址的,所以系统提供了访问外设的输入/输出指

令IN和OUT。

为了便于用户使用外设,8086提供了两种类型的例行程序供用户调用。一种是BIOS(Basic Input/Output System),另一种是DOS(Disk Operating System)功能调用。它们都是系统编制的子程序,通过中断方式转入所需要的子程序去执行。用户通过调用DOS或BIOS例行程序来实现对外

设的访问,降低了程序设计的复杂程度,缩短了开发周期。

第二章 8086计算机组织【本章小结】

1.计算机系统

计算机系统包括硬件和软件两部分。硬件结构包括80X86微处理器、存储器和I/O子系统,这三个主要部分由系统总线连接在一起。软件分为系统软件和应用软件。操作系统是系统软件的核心,主

要对系统的硬、软件资源进行管理,其中汇编程序是将汇编语言程序翻译成机器语言程序的一种系统程序。

2.存储器

存储器以字节为单位存储信息,一个字节单元对应一个地址编码,地址码用无符号整数来表示。8086微型机既能处理8位数据(字节),也能处理16位数据(字),字数据存储在连续的两个字节

单元中。

存储空间在逻辑上分为代码段、数据段、附加段和堆栈段,每个段可寻址64KB,段的起始地址分别由段寄存器CS、DS、ES、SS给出,段内地址称为偏移地址。

存储器单元的物理地址(20位)的计算:物理地址=段地址×24+偏移地址。

存储器的分段是很灵活的,各段之间可以相互独立,也可以互相重叠。

3.8086寄存器组

8086寄存器按功能可分为:①通用数据寄存器(AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL)②指针及变址寄存器(SP、BP、SI、DI)③段寄存器(CS、DS、ES、SS)④专用寄存器(IP、FLAGS)

4.外部设备

外设接口负责微处理器对I/O设备的控制和信息的传送,每个接口包括一组寄存器,分别存放控

制信息、状态信息和数据信息。

外设中的寄存器都分配一个端口地址,CPU与外设交换信息用两条专门的输入输出指令IN和OUT 来完成。

BIOS和DOS功能调用是系统提供给用户的例行程序,这些例行程序给程序员提供了易于使用的直接对硬件操作的子功能,程序员编程时可直接中断调用这些功能,而不必了解硬件操作的具体细节。

【课后习题】

1 在8086微机的输入/输出指令中,I/O端口号通常是由DX寄存器提供的,但有时也可以

在指令中直接指定00~FFH的端口号。试问可直接由指令指定的I/O端口数。

2 有两个16位字1EE5H和2A3CH分别存放在8086微机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。

3 8086微机的存储器中存放信息如下图所示。试读出30022H和30024H字节单元的内容,以及30021H和30022H字单元的内容。

4 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?

5 如果在一个程序开始执行以前(CS)=0A7F0H(如十六进制数的最高位为字母,则应在其前加一个0),(IP)=2B40H,试问该程序的第一个字的物理地址是多少?

6 在实模式下,存储器中每一段最多可有10000H个字节。如果用调试程序Debug的r命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF、SF、ZF、CF的值。

C>debug

-r

AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC

7 下列操作可使用哪些寄存器?

(1) 加法和减法

(2) 循环计数

(3) 乘法和除法

(4) 保存及使用段地址

(5) 表示运算结果为0

(6) 将要执行的指令地址

8 那些寄存器可以用来指示存储器地址?

9 下面几种说法中唯一正确的是哪一种?

A、单独用16位地址线提供的地址可以访问1M字节存储器空间。

B、数据段段首址可以是00000 ~ FFFFF中任意一个地址。

C、用WS、EDIT等编辑软件可以编写汇编程序。

D、堆栈段段首地址可以是FFFE0H。

8086 CPU内部结构

课题:8086微处理结构一、8086 CPU的内部结构:

图解分析: 1、8086 CPU从功能上可分为:总线接口部件BIU(Bus Interface Unit) 执行部件EU(Execution Unit) 2、BIU:负责与存储器、外部设备之间进行信息交换。 功能: ①负责从内存指定单元取出指令,并送到6字节的指令队列中排列; ②同时负责从内存指定单元取出指令所需的操作数并送EU; ③EU运算结果也由BIU负责写入内存指定单元。 组成:20位的地址加法器 段寄存器(CS、DS、ES、SS) 指令指针(IP) 指令队列缓存器 总线控制电路 各组件功能: ①地址加法器:计算并形成CPU要访问的内存单元的20位物理地址; ②段寄存器:用于存放对应段的段基址; ③指令指针寄存器:用于存放下一条要执行的指令的偏移地址; ④指令队列:是6字节的“先进先出”的RAM存储器,用于顺序存放CPU 要执行的指令,并送EU去执行; ⑤总线控制电路:产生总线控制信号,如存储器读/写、I/O读写控制信号。 3、EU:负责指令的执行。 功能: ①负责从BIU的指令队列中取得指令、分析指令、执行指令,并将结果存

入通用寄存器或由BIU写入内存单元; ②同时负责计算操作数所在内存单元的偏移地址。 组成:算术逻辑单元(ALU) 标志寄存器 通用寄存器:数据寄存器:AX、BX、CX、DX 指针和变址寄存器:SP、BP、SI、DI EU控制电路 各组件的功能: ①算术逻辑单元(ALU):对操作数进行算术和逻辑运算,也可按指令的寻 址方式计算出CPU要访问的内存单元的16位偏移地址; ②标志寄存器:用于反映算术和逻辑运算结果的状态; ③数据寄存器:用于保存操作数或运算结果等信息; ④指针和变址寄存器:用于存放操作数所处存储单元的偏移地址; ⑤EU控制电路:接收从BIU指令队列中取得的指令,分析、译码,以便形 成各种实时控制信号,对各个部件实现特定的控制操作。

第二章_8086体系结构与8086CPU

第二章8086体系结构与8086CPU 1.8086CPU由哪两部分构成?它们的主要功能是什么? 答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU) 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU 控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里? 答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。 8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 3.8086CPU中有哪些寄存器?各有什么用途? 答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。 标志寄存器FR用于存放运算结果特征和控制CPU操作。 BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。 指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢? 答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址

第二章 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.试述最小模式下读/写总线周期的主要区别。 2.CPU响应中断时,为什么要执行两个连续的中断响应周期? 3.当8086微处理器响应总线请求发出HLDA信号后,有哪些引脚信号处于高 阻? 4.8086/8088微处理器响应总线请求发出HLDA信号后,执行部件EU会立即 停止操作吗?为什么? 5.在8086系统中,地址/数据复用信号是如何区分的? 6.总线周期的含义是什么? 8086/8088的基本总线周期由几个时钟组成?如 果一个CPU的时钟频率为4.77MHz,那么它的一个时钟周期为多少?一个基本总线周期为多少?若主频为l5MHz呢? 7.在最小模式总线写周期的T1、T2、T3、T4状态,8086CPU分别执行什么动 作? 思考题 1.在8086系统的最大模式下为什么一定要用总线控制器?试述总线控制器 8288的主要功能,并说明它有哪些输入和输出信号?试述8086系统中时钟发生器8284A的主要作用以及可提供的几种时钟信号。

8086体系结构与8086CPU 简答题

1.8086CPU由哪两部分构成?它们的主要功能是什么? 答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU) 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU 控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里? 答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。 8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 3.8086CPU中有哪些寄存器?各有什么用途? 答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。 标志寄存器FR用于存放运算结果特征和控制CPU操作。 BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。 指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢? 答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址

习题2-8086cpu

习题二 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位),反映刚刚完成的操作结果情况。控制标志(3位),在8086特定指令操作中起控制作用。 (2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。例如利用控制标志可以控制程序的单步调试。 (3)状态标志包括:包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF、辅助进位标志AF、溢出标志OF。控制标志包括:单步运行标志TF、方向标志DF与中断允许标志IF。 2.7 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么 优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化? 【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。 (2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。

相关主题
文本预览
相关文档 最新文档