微型计算机汇编语言设计 第2章微型计算机结构_第1页
微型计算机汇编语言设计 第2章微型计算机结构_第2页
微型计算机汇编语言设计 第2章微型计算机结构_第3页
微型计算机汇编语言设计 第2章微型计算机结构_第4页
微型计算机汇编语言设计 第2章微型计算机结构_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型计算机结构

第2章微型计算机结构

2.180x86微处理器概述

2.2基于微处理器的计算机系统构成

2.3微处理器

2・4存储器

习题2

,东第2章微型计算机结构

2.180x86微处理器概述

2.1.1微处理器发展简介

80x86是美国Intel公司生产的微处理器系列。该公司

成立于1968年,1969年就设计了4位的4004芯片,1973

年开发出8位的8080芯片,1978年正式推出16位的8086

微处理器芯片,由此开始了Intel公司的80x86微处理器

系列的生产和使用历史。

,东第2章微型计算机结构

计算机主要由运算器、控制器、存储器和输入/输

出设备构成。20世纪70年代初期,由于大规模集成电

路技术的发展,已经开始把运算器和控制器集成在一

个芯片上,构成中央处理机(CentralProcessingUnit,

简称CPU),80x86就是这样一组微处理器系列产品。

第2章微型计算机结构

很多计算机厂商把微处理器芯片作为中央处理机,

再配上存储器、输入/输出接口设备和系统软件等构成

微型计算机系统。例如,由80386微处理器芯片构成的

微机称为386微机;由80486微处理器芯片构成的微机

称为486微机等。

表2-1给出Intel公司生产的80x86微处理器系列的一

些主要技术数据。从表2-1中可以看出这一芯片系列的

发展概况。

第2章微型计算机结构

2.1.2与微处理器相关的概念

1.芯片集成度

集成电路芯片中所包含的晶体管数目称为芯片集成

度。集成度的高低表明微处理器集成规模的程度,如

小规模、大规模和超大规模集成电路。

2.微处理器主频

主频是指芯片的主时钟频率,它直接影响计算机的

运行速度。由于处理器体系结构的差别,同样的主频

可能产生不同的计算速度,但主频仍然是反映计算机

速度的一个重要

指标。

第2章微型计算机结构

表2-180x86微处理器概况

字长晶体管数

型号发布年份

/位/万个

80861978162.9

80881979162.9

8028619821613.4

8038619863227.5

80486198932120〜160

Pentium

199332310〜330

(586)

,东第2章微型计算机结构

地址总寻址

主频数据总线外部总线

线宽度空间高速缓存

/MHz宽度/位宽度/位

/位/B

4.771616201M无

4.77168201M无

6-2016162416M无

12.5—333232324G有

25~1003232324G8KB

8KB数据

60~1666464324G

8KB指令

,东第2章微型计算机结构

8KB数

Pent8KB指

ium令

199532550+1550150—20064643664G

Pro(256KB

P6)二级

高速缓

32KB

512KB

二级

Pent

高速缓

rumII199732750233〜33364643664G

有独立

封装和独立

总线

,东第2章微型计算机结构

3.系统总线

总线(简称Bus)是指微处理器外部连接各器件的一组

公共信息通道。一般分为三类:

(1)数据总线(DataBus,DB):负责计算机中数据在

各组成部分之间的传送。数据总线宽度是指在芯片内

部数据传送的二进制数位数,外部数据总线宽度则是

指芯片内和芯片外交换数据的宽度。

第2章微型计算机结构

(2)地址总线(AddressBus,AB):负责计算机中地

址数据在各组成部分之间的传送。地址总线宽度是指

专用于传送地址数据的位数,根据这一数值可确定处

理机可以访问的存储器的最大范围(寻址空间),如20位

地址总线可访问22。=1048576个存储单元。在计算机

中,为方便起见,在讨论存储器容量时,以21。=1024为

基本单位,称为1K,1024K就称为1M。所以20位地

址总线可访问1M个存储单元,24位地址总线可访问

16M个存储单元,1024M称为1G,32位地址总线可

访问4G个存储单元。

第2章微型计算机结构

在计算机里,8个二进制位组成一个字节(Byte),一般存

储器以字节为存储信息的基本单位,用符号B来表示。

这样,上述存储容量又可称为1MB、16MB和4GB等。

(3)控制总线(ControlBus,CB):负责计算机中控制

信息在各组成部分之间的传送和产生控制动作。

,东第2章微型计算机结构

4.程序存储及存储器组织

我们知道,要在计算机上计算一个题目,首先必

须用计算机语言把所要计算的题目编制成程序,然后

把这一程序(由指令序列组成)连同所要使用的数据一起

存入计算机的存储器中。在计算机算题时,要把程序

和所用的数据从存储器中取到运算器中进行计算。因

此,在计算过程中,为保证运算器能快速运行,存储

器也必须源源不断地提供计算所需的指令和数据,并

且有与其相应的足够快的速度。为适应这种速度要

求,建立了层次结构的存储器组织,其中间层次通常

称为主存储器;

第2章微型计算机结构

比其速度更高、但容量较小的一层称为高速缓冲存储

器(Cache);比其速度慢、但容量很大的一层称为外存

储器,如磁带、磁盘、光盘等。高速缓冲存储器(以下

简称高速缓存)对提高计算机的计算速度起很重要的作

用。高速缓存早期是做在芯片之外,随着半导体集成

电路技术的发展,从80386开始在芯片中已加入少量的

高速缓存,在80486的芯片中,集成了8KB高速缓存。

PentiumCPU中有8KB的指令高速缓存和8KB的数据

高速缓存;PentiumPro中除两个8KB的高速缓存外,

第2章微型计算机结构

还增加了256KB的二级高速缓存,晶体管中增加的1550

万个晶体管就是用于二级高速缓存的;PentiumIICPU

中有32KB的高速缓存,它的二级高速缓存容量为

512KB,且具有独立的封装和独立的总线,Pentium4

CPU中集成了容量更大的Cache。上述措施都是为了提

高计算机的速度。

,东第2章微型计算机结构

5.处理器运算速度

微处理器执行一条指令所花费的时间可用来衡量

微型机的运算速度。8086执行一条指令的时间约为400

ns,80286为250ns,80486为25ns,Pentium的速度为

80486的2倍,PentiumPro为80486的3倍,PentiumII比

PentiumPro快10%〜25%。提高计算机的工作速度可

以说是微处理器芯片发展的核心问题。从80486开始,

把协处理器集成到芯片中的目的也是为了提高浮点处

理速度。

第2章微型计算机结构

实际上,在微处理器发展过程中,有很多体系结

构方面的措施是无法从表2-1的简单描述中看得出来

的,但是从总体上已可看出微处理器芯片的发展速度

是非常快的。值得一提的是,从80286开始,在机器的

工作方式上,除8086提供的实模式外,还增加了保护

模式的工作方式。在保护模式下,机器可提供虚拟存

储的管理和多任务的管理机制。虚拟存储的实现,使

计算机可以运行程序空间大于主存储器空间的用户程

序。

百二第2章微型计算机结构_______________________

多任务管理的实现,允许多个用户可以同时在机器上工

作。从80386起,除支持实模式和保护模式外,又增加

了一种虚拟86的工作模式。在这种工作模式下,一台

机器可同时模拟多个8086处理器的工作。所有这些措

施都是为了提高微型计算机的可用性而开发的,使得

微型计算机的应用领域更加广泛,促进了微机技术本

身的飞速发展。

J

,东第2章微型计算机结构

2.2基于微处理器的计算机系统构成

微型计算机系统包括硬件和软件两部分。硬件是

由电子、机械、磁性材料、光电元件等元部件和设备

依照计算机系统结构的要求构成的有机的整体;软件

则是为了运行、管理和维护计算机而编制的各种程序

的集合。

第2章微型计算机结构

2.2.1硬件系统

微型计算机是以微处理器芯片为核心,配以存储

器、I/O接口、基本输入/输出设备以及相应的辅助电路

构成的,简称微型机或微机。从结构上讲,它以微处

理器为中心,通过系统总线把I/O设备、存储器和外部

设备等连接成一个整体。图2.1给出了微型计算机硬件

系统组成框图。

1)运算器

运算器是对数据信息进行加工处理的部件,它主

要由算术逻辑运算单元(ALU)组成,在控制器的指

挥下可以完成各种算术运算、逻辑运算和其他操作。

第2章微型计算机结构

存储器

接接输

口口出

主机

输入/输出芯片

图2.1微型计算机硬件系统组成

一即第2章微型计算机结构

2)控制器

控制器是指挥和控制计算机各部件协调工作的关

键部件,它从存储器中逐条地取出指令,分析指令,

并向各部件发出相应的控制信号,使它们一步步地执

行指令所规定的操作。另外,它又接收运算器、存储

器以及输入/输出设备的反馈信息,以确定程序的执行

顺序。

第2章微型计算机结构

3)存储器

存储器是存放程序和数据的部件,它是一个记忆

装置,是计算机实现存储程序工作原理的基础。存储

器分两类:一类是设置在主机内的半导体存储器,称

为主存,也称为内存;另一类是通过接口连接的磁盘

或光盘存储器,称为辅存,也称为外存。有关存储器

的操作,经常使用下面两个术语:

第2章微型计算机结构

(1)''读操作〃:是指CPU将存储器中存储的某一部

分信息取出来进行处理的操作。

(2)'、写操作〃:是指CPU用新的信息刷新存储器原

来存储的某一部分内容的操作。

存储器的读/写操作是以字节为单位按存储器存储

单元地址进行的。

第2章微型计算机结构

主存储器可由CPU直接访问,存取速度较快,但

容量不大,一般用来存放当前运行的程序和数据。

CPU和主存储器是信息加工处理的主要部件,通常把

这两个部分合称为主机。整个主存被划分成许多个存

储单元,每个存储单元编排一个惟一对应的编号,称

为存储单元地址,这类似于一个大楼内每个房间有一

个房间号。地址与存储单元一一对应。存储器所具有

的存储空间大小,即所包含的存储单元总数称为该主

存的存储容量。

第2章微型计算机结构

4)输入/输出设备

输入/输出设备又称外设,一般通过I/O接口与CPU

相连接,它是计算机与外部世界联系与交换信息的实体。

(1)输入设备用于把数字、字符、图形、图像和声

音等转换成计算机能识别和接受的信息表示方式,如电

信号、二进制编码等,然后把它们放入存储器中。典型

的输入设备有键盘、鼠标、扫描仪、光学字符识别设备

(OCR)、模/数转换装置(A/D)以及其他声像输入设

备等。

第2章微型计算机结构

(2)输出设备把计算机处理信息的结果转换成人们

习惯接受的形式(如字符、曲线、图像、表格和声音

等)送出,或变换成与其他设备相匹配的信号形式输

出。常见的输出设备有显示器、打印机、绘图仪和数/

模转换装置(D/A)等。

把运算器、控制器、主存储器和输入/输出接口称

为组成计算机硬件系统的五大部件。计算机硬件的五

大部件是通过总线连接起来的,构成了计算机的基本

硬件系统。

第2章微型计算机结构

系统总线把CPU、存储器和I/O设备连接起来,用

来传送各部分之间的信息。系统总线包括数据总线、

地址总线和控制总线三种。数据总线传送信息,地址

总线指出信息的来源和目的地,控制线则规定总线的

动作等。系统总线的工作由总线控制逻辑负责指挥。

第2章微型计算机结构

2.2.2软件系统

计算机软件是计算机系统的重要组成部分,它可

以分成系统软件和应用软件两大类。系统软件是由计

算机生产厂家提供给用户的一组程序,这些程序是用

户使用机器及产生、准备和执行用户程序所必需的。

应用软件则是为用户应用编制的各种程序。图2.2表示

了计算机软件的层次。

,东第2章微型计算机结构

,单用户操作系统

多用户操作系统

操作系统

网络操作系统

r汇编程序

语言处理程序<解释程序

1系统软件4〔编译程序

数据库管理系统

「诊断与维护程序

软件《调试程序

工具软件

编辑程序

(装配链接程序

应用软件{软件包

用户程序

图2.2软件系统的层次

第2章微型计算机结构

1.系统软件

系统软件是指管理、控制和维护计算机的各种资

源,以及扩大计算机功能和方便用户使用计算机的各

类程序与数据的集合。系统软件是构成计算机系统必

备的软件,通常又分为操作系统、语言处理程序、工

具软件和数据库管理系统四类。

,东第2章微型计算机结构

1)操作系统(OperatingSystem,OS)

系统软件的核心称为操作系统。操作系统是系统

程序的集合,它的主要作用是对系统的硬、软件资源

进行合理的管理,为用户创造方便、有效和可靠的计

算机工作环境。

操作系统的主要部分是常驻监督程序(Monitor),

只要一开机常驻监督程序就进入并保留在内存中,它

可以从用户接收命令,并使操作系统执行相应的动作。

第2章微型计算机结构

(1)装入程序(Loader):用来把程序从外存储器传

送到内存储器,以便机器执行。例如,计算机开机后

就需要立即启动装入程序把常驻监督程序装入存储

器,使机器运转起来。又如,用户程序经翻译和连接

后,由连接程序直接调用装入程序,把可执行的用户

程序装入内存以便执行。

,东第2章微型计算机结构

(2)I/O驱动程序(I/ODriver):用来对I/O设备进行

控制或管理的程序。当系统程序或用户程序需要使用

I/O设备时,就调用I/O驱动程序来对设备发出命令,完

成CPU和I/O设备之间的信息传送。

(3)文件管理程序(FileManagement):用来处理存

储在外存储器中大量信息的程序。它可以和外存储器

的设备驱动程序相连接,对存储在其中的信息以文件

(File)的形式进行存取、复制及其他管理操作。

第2章微型计算机结构

2)语言处理程序

(1)翻译程序(Translator):计算机是通过逐条地执

行组成程序的指令来完成人们所给予的任务的,所以

指令就是计算机所能识别并能直接加以执行的语名,

当然它是由二进制代码组成的。这种语言称为机器语

言,它对于人们显然是很不方便的。既然计算机能识

别的惟一语言是机器语言,而用这种语言编写程序又

很不方便,所以,在计算机语言的发展过程中就出现

了汇编语言和高级语言。

,东第2章微型计算机结构

汇编语言是一种符号语言,它和机器语言几乎一一对

应,但在书写时却使用由字符串组成的助记符。例

如,加法在汇编语言中一般是用助记符ADD表示的,

而机器语言则用二进制代码来表示。显然,相对于机

器语言来说,汇编语言是易于为人们所理解的,但计

算机却不能直接识别汇编语言。汇编程序就是用来把

由用户编制的汇编语言程序翻译成机器语言程序的一

种系统程序。微机的汇编程序有多种版本,如MASM、

TASM等。MASM为Micros。仕公司开发的汇编程序,

TASM(TurboAssembler)则为Borland公司开发的汇编程

序,它们都具有较强的功能和宏汇编能力。

第2章微型计算机结构

高级语言编程不同于机器指令编程,它使用人们

容易理解的形式来编写程序,当然高级语言程序也要

翻译成机器语言才能在机器上执行。高级语言的翻译

程序有两种方式:一种是先把高级语言程序翻译成机

器语言(或先翻译成汇编语言,然后由汇编程序再次翻

译成机器语言)程序,然后才能在机器上执行,这种翻

译程序称为编译程序(Compiler),多数高级语言如

PASCAL>FORTRAN等都采用这种方式;另一种是直

接把高级语言程序在机器上运行,一边解释一边执

行,这种翻译程序称为解释程序。nterpreter),如

BASIC就经常采用这种方式。

,东第2章微型计算机结构

系统程序中的翻译程序包括汇编程序、解释程序

和编译程序。

(2)连接程序(Linker):用来把要执行的程序与库文

件或其他已经翻译好的子程序(能完成一种独立功能的

程序模块)连接在一起,形成机器能执行的程序。

第2章微型计算机结构

3)工具软件

(1)文本编辑程序(TextEditor)o该程序用来建立、

输入或修改文本,并使文本存入内存储器或大容量存

储器中的程序。文本是指由字母、数字、符号等组成

的信息,它可以是一个用汇编语言或高级语言编写的

程序,也可以是一组数据或一份报告。

(2)调试程序(DEBUG)。它是系统提供给用户的能

监督和控制用户程序的一种工具,可以装入、修改、

显示或逐条执行一个程序。微机上的汇编语言程序可

以通过DEBUG来调试,完成建立、修改和执行等工作。

当然还有许多工具软件,此处不再赘述。

,东第2章微型计算机结构

4)数据库管理系统

计算机在信息处理、情报检索以及管理信息系统

(ManagementInformationSystem,MIS)等的应用中,需

要处理大量数据,要建立、检索、显示、保存和打印

各种表格,这些数据和表格是按照一定规律组织的,

管理这些数据格式和内容的系统软件就是数据库管理

系统(DataBaseManagementSystem,DBMS)。例如,

Foxpro>DB2等。

百二第2章微型计算机结构_______________________

2.应用软件

应用软件则是为了解决各种实际问题而设计的计

算机程序,通常由专门的软件公司开发,交付用户使

用。计算机用户也可自己开发。

J

,东第2章微型计算机结构

2.3微处理器

2.3.1微处理器的结构

1.微处理器的概念

微处理器(CPU)的任务是执行存放在存储器里

的指令序列。为此,除要完成算术逻辑操作外,还需

要担负CPU和存储器以及I/O之间的数据传送任务。早

期的CPU芯片只包括运算器和控制器两大部分。从

80386开始,为使存储器速度能更好地与运算器的速度

相匹配,已在芯片中引入高速缓冲存储器。

第2章微型计算机结构

其后生产的芯片随着半导体器件集成度的提高,

片内高速缓冲存储器的容量也逐步扩大,但这部分器

件就其功能而言还是属于存储器的。本节要说明的是

CPU芯片中除高速缓冲存储器之外的部件。它们主要

由以下三部分组成。

1)算术逻辑部件

算术逻辑部件(ArithmeticLogicUnit,ALU)用来进

行算术和逻辑运算及其相应操作。

第2章微型计算机结构

2)控制逻辑部件

控制逻辑部件负责对全机的控制工作,包括从存

储器取出指令,对指令进行译码分析,从存储器取得

操作数,发出执行指令的所有命令,把结果存入存储

器以及对总线及I/O的传送控制等。

3)工作寄存器

工作寄存器在计算机中起着重要的作用,每一个

寄存器相当于运算器中的一个存储单元,但它的存取

速度比存储器要快得多。它用来存放计算过程中所需

要的或所得到的各种信息,包括操作数地址、操作数

及运算的中间结果等。下面专门介绍这些寄存器。

,东第2章微型计算机结构

2.Intel8086/8088微处理器结构

8086CPU内部结构如图2.3所示。按功能可分为两

部分:总线接口单元BIU(BusInterfaceUnit)和执行单元

EU(ExecutionUnit)o

,东第2章微型计算机结构

AHAL

用BHBL

寄CHCL

器DHDL

组SI

IP

DI

CS

SP

DS

BP

SS

16位内部总线ES

内部暂存器

运算暂存器

123456

标志寄存器

执行单元总线接口单元

EUBIU

图2.38086CPU内部结构

,东第2章微型计算机结构

1)总线接口单元BIU

总线接口单元BIU是8086CPU在存储器和I/O设备

之间的接口部件,负责对全部引脚的操作,即8086对

存储器和I/O设备的所有操作都是由BIU完成的。所有

对外部总线的操作都必须有正确的地址和适当的控制

信号,BIU中的各部件主要是围绕这个目标设计的。它

提供了16位双向数据总线、20位地址总线和若干条控

制总线。

,东第2章微型计算机结构

其具体任务是:负责从内存单元中预取指令,并将它

们送到指令队列缓冲器暂存。CPU执行指令时,总线

接口单元要配合执行单元,从指定的内存单元或I/O端

口中取出数据传送给执行单元,或者把执行单元的处

理结果传送到指定的内存单元或I/O端口中。

总线接口单元BIU由20位地址加法器、4个段寄存

器、16位指令指针IP、指令队列缓冲器和总线控制逻

辑电路等组成。

第2章微型计算机结构

(1)地址加法器和段寄存器。8086CPU的20位地址

线,可直接寻址1MB存储器物理空间。但CPU内部寄

存器均为16位的寄存器。那么,16位的寄存器如何实

现20位地址寻址呢?CPU是将有关段寄存器内容左移4

位(段的起始地址)后由专门地址加法器,与16位偏

移地址相加,形成了20位的物理地址,以便找到存储

单元,对它的内容进行读写操作。例如,在取指令

时,由代码段寄存器(CS)的内容左移4位,在地址加

法器中和16位指令指针(IP)提供的有效地址(偏移

地址)内容相加,形成实际的20位物理地址,送到地

址总线上实现取指令的寻址。详见2.4节。

第2章微型计算机结构

(2)16位指令指针IP(InstructionPointer)o该指针用

来存放下一条要执行指令在代码段中的偏移地址。它

只有和CS相结合,才能形成指向指令存放单元的物理

地址。在程序运行中,IP的内容由BIU自动修改,使它

总是指向下一条要取的指令在现行代码段中的偏移地

址。程序中没有直接访问IP的指令,但通过某些指令

可以修改IP的内容。例如,转移指令可将转移目标的

偏移地址送入IP来实现程序的转移。

第2章微型计算机结构

(3)指令队列缓冲器。当EU正在执行指令中,且不

需占用总线时,BIU会自动地进行预取指令操作,将所

取得的指令按先后次序存入1〜6字节的指令队列寄存

器,该队列寄存器按''先进先出〃的方式工作,并按顺

序取到EU中执行。其操作遵循下列原则:

每当指令队列缓冲器中存满一条指令后,EU就立

即开始执行。

每当BIU发现队列中空了两个字节时,就会自动

地寻找空闲的总线周期进行预取指令操作,直到填满

为止。

第2章微型计算机结构

每当EU执行一条转移、调用或返回指令后,则要清

除指令队列缓冲器,并要求BIU从新的地址开始取指

令,新取的第一条指令将直接经指令队列缓冲器送到

EU去执行,并在新地址基础上再作预取指令操作,实

现程序段的转移。

由于BIU和EU是各自独立并行工作的,在EU执行指

令的同时,BIU可预取下面一条或几条指令。因此,在

一般情况下,CPU执行完一条指令后,就可立即执行存

放在指令队列中的下一条指令,而不需要像以往的8位

CPU那样,采取先取指令,后执行指令的串行操作方式。

这种并行操作方式大大提高了CPU的工作效率。

第2章微型计算机结构

(4)总线控制逻辑电路。该电路将8086CPU的内部

总线和外部总线相连,是8086CPU与内存单元或I/O端

口进行数据交换的必经之路。它包括16位数据总线、

20位地址总线和若干条控制总线,CPU通过这些总线

与外部取得联系,从而构成各种规模的8086微型计算

机系统。

第2章微型计算机结构

2)执行单元EU

执行单元EU中包含1个16位的运算器ALU、8个16位

的寄存器、1个16位标志寄存器FR、1个运算暂存器和执

行单元的控制电路。这个单元进行所有指令的解释和执

行,同时管理上述有关的寄存器。

(1)算术逻辑运算单元。该单元是1个16位的运算

器,可用于8位、16位二进制算术和逻辑运算,也可按

指令的寻址方式计算寻址存储器所需的16位地址偏移量。

,东第2章微型计算机结构

(2)标志寄存器。该寄存器是1个16位的寄存器,用

来反映CPU运算过程的状态特征和存放某些控制标志。

(3)运算暂存器。该寄存器协助ALU完成运算,暂存

参加运算的数据。

(4)通用寄存器组。该寄存器组包括4个16位的数据

寄存器AX、BX、CX、DX和4个16位指针与变址寄存器

SP、BP、SI和DI。

(5)EU控制电路。该电路负责从BIU的指令队列缓

冲器中取指令,并对指令译码,根据指令要求向EU内部

各部件发出控制命令,以完成各条指令规定的功能。

第2章微型计算机结构

执行单元中的各部件通过16位的ALU总线连接在

一起,在内部实现快速数据传输。值得注意的是,这

个内部总线与CPU外接的总线之间是隔离的,即这两

个总线可以同时工作而互不干扰。EU对指令的执行是

从取指令操作码开始的,它从总线接口单元的指令队

列缓冲器中每次取一个字节。如果指令队列缓冲器中

是空的,那么EU就要等待BIU通过外部总线从存储器

中取得指令并送到EU,通过译码电路分析,发出相应

控制命令,控制ALU数据总线中数据的流向。

第2章微型计算机结构

如果是运算操作,操作数据经过运算暂存器送入

ALU,运算结果经过ALU数据总线送到相应寄存器,

同时标志寄存器FR根据运算结果改变状态。在指令执

行过程中常会发生从存储器中读或写数据的事件,这

时就由EU单元提供寻址用的16位有效地址,在BIU单

元中经运算形成一个20位的物理地址,送到外部总线

进行寻址。

第2章微型计算机结构

3)8086与8088的主要区别

在此之前,我们所描述的都是8086。它的外部数

据总线和内部数据总线都是16位的,是真正的16位机。

8088的内部数据总线是16位的,而外部数据总线是8位

的,所以称为准16位机或超级8位机。两者有着相同的

内部寄存器和指令系统,在软件上是完全兼容的。它

们的主要区别表现在:

,东第2章微型计算机结构

(1)8086的指令预取队列为6个字节,而8088只有

4个字节。

(2)8086的AD15〜AD0为地址、数据双向分时复

用的;而8088只有AD7〜AD0为地址、数据双向分时复

用的,A15〜A&仅用于输出地址信号。在进行16位数据

操作时,8086只需一个总线周期就可完成,而8088则

需要两个总线周期来完成,因此8088的速度较8086要

慢些。

(3)8086上的BH聆号在8088上变为SSO。

,东第2章微型计算机结构

(4)8086的引脚28为M/10,即CPU访问内存时

该引脚输出高电平,访问接口时则输出低电平。对于

8088而言,该引脚的状态正好相反,变为IO/M。

8086/8088后继机型也包括准32位和标准32位机,

如80386的SX和DX类型。

第2章微型计算机结构

2.3.280x86寄存器组

寄存器可以分为程序可见的寄存器和程序不可见

的寄存器两大类。所谓程序可见的寄存器,是指在汇

编语言程序设计中用到的寄存器,它们可以由指令来

指定。而程序不可见的寄存器则是指一般应用程序设

计中不用而由系统所用的寄存器。本节将主要介绍

80x86中程序可见的那部分寄存器,而程序不可见的寄

存器就不加以说明了。

程序可见寄存器可以分为通用寄存器、专用寄存

器和段寄存器3类。图2.4表示了80x86的程序可见寄存

器组。下面分别加以说明。

第2章微型计算机结构

1.通用寄存器

图2.4中除阴影区以外的寄存器是8086/8088和

80286所具有的寄存器,它们都是16位寄存器。其中

AX、BX、CX、DX可称为数据寄存器,用来暂时存放

计算过程中所用到的操作数、结果或其他信息。它们

都可以字(16位)的形式访问,或者以字节(8位)的形式

访问。例如,对AX可以分别访问高位字节AH或低位

字节AL。这4个寄存器都是通用寄存器,但它们又可

以用于各自的专用目的。

,东第2章微型计算机结构

AX(Accumulator)作为累力口器用,所以它是算术运

算的主要寄存器。在乘、除等指令中指定用来存放操

作数。另外,所有的I/O指令都使用这一寄存器与外部

设备传送信息。

BX(Base)可以作为通用寄存器使用,此外,在计

算存储器地址时,它经常用作基址寄存器。

,东第2章微型计算机结构

32位名称16位名称通用名称

EAXAXAX(累加器)

EBXBX基址变址

ECXCX计数

EDXDX数据

ESPSP堆栈指针

EBPBP基址指针

EDIDI目的变址

ESISI源变址

______________QO后_______________

<F1。<似》A

EIPIP指令指针

EFLAGJFLAGS标志

注:1.对于8086/8088或80286CPU,

中阴影区寄存器是不存在的。

2.FS和GS寄存器无专用名称。

图2.480x86的程序可见寄存器组

第2章微型计算机结构

CX(Count)可以作为通用寄存器使用,此外,常用

来保存计数值,如在移位指令、循环(Loop)和串处理

指令中用作隐含的计数器。

DX(Data)可以作为通用寄存器使用。一般在作

双字长运算时把DX和AX组合在一起存放一个双字长

数,DX用来存放高位字。此外,对某些I/O操作,DX

可用来存放I/O端口地址。

SP、BP、SI、DI四个16位寄存器可以像数据寄存

器一样在运算过程中存放操作数,但它们只能以字(16

位)为单位使用。此外,它们更经常的用途是在存储器

寻址时,提供偏移地址。因此,它们可称为指针和变

址寄存器。

第2章微型计算机结构

SP(StackPointer)称为堆栈指针寄存器,用来指示

段顶的偏移地址。

BP(BasePointer)称为基址指针寄存器,它可以与

堆栈段寄存器SS联用来确定堆栈段中的某一存储单元

的地址。

第2章微型计算机结构

SI(SourceIndex)源变址寄存器和DI(Destination

Index)目的变址寄存器一般与数据段寄存器DS联用,

用来确定数据段中某一存储单元的地址。这两个变址

寄存器有自动增量和自动减量的功能,所以用于变址

是很方便的。在串处理指令中,SI和DI作为隐含的源

变址和目的变址寄存器,此时SI和DS联用,DI和附加

段寄存器ES联用,分别达到在数据段和附加段中寻址

的目的。

第2章微型计算机结构

对于80386及其后继机型的程序可见寄存器则是图

2.4中所示的完整的寄存器,它们是32位的通用寄存

器,包括EAX,EBX,ECX,EDX,ESP,EBP,EDI

和ESI。在这些机型中,它们可以用来保存不同宽度的

数据,如可以用EAX保存32位数据,用AX保存16位数

据,用AH或AL保存8位数据。在计算机中,8位二进

制数可组成一个字节,8086/8088和80286的字长为16

位。因此把2个字节组成的16位数称为字。这样,

80386及其后继的32位机就把32位数据称为双字,64位

数据称为4字。

第2章微型计算机结构

上述8个通用寄存器可以双字的形式或对其低16位以字

的形式被访问,其中EAX,EBX,ECX和EDX的低16

位还可以字节的形式被访问,这在图2.4的表示中已经

可以看得很清楚了。当这些寄存器以字或字节形式被

访问时,不被访问的其他部分不受影响,如访问AX

时,EAX的高16位不受影响。

,东第2章微型计算机结构

此外,这8个通用寄存器还可用于其他目的。在

8086/8088和80286中只有4个指针和变址寄存器以及BX

寄存器可以存放偏移地址,用于存储器寻址。在80386

及其后继机型中,所有32位通用寄存器既可以存放数

据,也可以存放地址。也就是说,这些寄存器都可以

用于存储器寻址。在这8个通用寄存器中,每个寄存器

的专用特性与8086/8088和80286的AX,BX,CX,

DX,SP,BP,DLSI是——对应的。如EAX专用于

乘、除法和I/O指令,ECX用于计数特性,EDI和ESI作

为串处理指令专用的地址寄存器等。

第2章微型计算机结构

2.专用寄存器

8086/8088和80286的专用寄存器包括IP和FR两个

16位寄存器。

IP(InstructionPointer)为指令指针寄存器,它用来

存放代码段中的偏移地址。在程序运行的过程中,它

始终指向下一条指令的首地址,它与段寄存器CS联用

确定下一条指令的物理地址。当这一地址送到存储器

后,控制器可以取得下一条要执行的指令,而控制器

一旦取得这条指令就马上修改IP的内容,使它指向下

一条指令的首地址。可见,计算机就是用IP寄存器来

控制指令序列的执行流程的,因此IP寄存器是计算机

中很重要的一个控制寄存器。

第2章微型计算机结构

FR为标志寄存器,又称程序状态寄存器(Program

StatusWord,PSW)。这是一个存放条件码标志、控制

标志和系统标志的寄存器。

80386及其后继机型也有两个32位专用寄存器,它

们是EIP和EFLAGS。它们的作用和相应的16位寄存器

相同。

下面介绍标志寄存器。图2.5说明了80x86中标志

寄存器的内容,图中未标明的位暂时不用。

,东第2章微型计算机结构

■11OFDfIFTFSFZF修AFPFCF8086/8088

■N1IOPLOfDfIFTFSFZFARCF80286

2

ISF

VNRFN1IOPLOfDFIFTFZFAFfPF;CF80386

111怒||

ACVNRf■N1IOPLorDFIFTFSFZFAFPFCF80486

%

ACVNRf1N1IOPLorDFIFTFSFZF|AF多PFCFPentium

11111111WK1

3130222120191817161514131211109876543210位编号

图2.580x86的标志寄存器

第2章微型计算机结构

1)条件码标志

条件码标志用来记录程序中运行结果的状态信

息,它们是根据有关指令的运行结果由CPU自动设置

的。由于这些状态信息往往作为后续条件转移指令的

转移控制条件,所以称为条件码。它包括以下6位:

溢出标志(OverflowFlag,OF):在运算过程中,如

操作数超出了机器能表示的数据范围称为溢出。此时

OF位置1,否则置0。

第2章微型计算机结构

符号标志(SignFlag,SF):记录运算结果的符号,

结果为负时置1,否则置0。

零标志(ZeroFlag,ZF):运算结果为0时ZF位置

L否则置0。

进位标志(CarryFlag,CF):记录运算时从最高有

效位产生的进位/借位值。例如,执行加法指令时,最

高有效位有进位时置1,否则置0。

第2章微型计算机结构

辅助进位标志(AuxiliaryCarryFlag,AF):记录运

算时第3位(半个字节)产生的进位值。例如,执行加法

指令第3位有进位时置1,否则置0。

奇偶标志(ParityFlag,PF):用来为机器中传送信

息时可能产生的代码出错情况提供检验条件。当结果

操作数中1的个数为偶数时置1,否则置0。

第2章微型计算机结构

2)控制标志位

方向标志(DirectionFlag,DF),用于在串处理指令

中控制处理信息的方向。当DF位为1时,每次操作后

使变址寄存器SI和DI减小,这样就使串处理从高地址

向低地址方向处理。当DF位为0时,则使SI和DI增大,

使串处理从低地址向高地址方向处理。

陷阱标志(TrapFlag,TF),又称单步跟踪标志,用

于调试时的单步方式操作。当TF位为1时,每条指令执

行完后产生陷阱,由系统控制计算机;当TF位为0时,

CPU正常工作,不产生陷阱。

第2章微型计算机结构

中断标志(InterruptFlag,IF),当IF位为1时,允许

CPU响应可屏蔽中断请求,否则关闭中断。有关内容

将于后续章节说明。

I/O特权级(I/OPrivilegeLevel,IOPL),在保护模

式下,用于控制对I/O地址空间的访问。有关内容将于

后续章节说明。

第2章微型计算机结构

以上就是EFLAGS中主要标志位的含义。机器提供

了设置某些状态信息的指令。必要时,程序员可使用

这些指令来建立状态信息。

在调试程序DEBUG中提供了测试标志位的手段,

它用符号表示某些标志位的值。表2-2说明这些标志位

的符号表示。

,东第2章微型计算机结构

表2-2标志位的符号表示

标志名标志为1标志为0

OF溢出(是/否)OVNV

DF方向(减量/增量)DNUP

IF中断(允许/关闭)EIDI

SF符号(负/正)NGPL

ZF零(是/否)ZRNZ

AF辅助进位(是/否)ACNA

PF奇偶(偶/奇)PEPO

CF进位(是/否)CYNC

百二第2章微型计算机结构_______________________

3.段寄存器

段寄存器也是一种专用寄存器,它们专用于存储

器寻址,用来直接或间接地存放段地址。段寄存器的

长度为16位,在80286以前的处理器中,只有代码段

(CodeSegment,CS)、数据段(DataSegment,DS)、

堆栈段(StackSegment,SS)和附力口段(ExtraSegment,

ES)4个寄存器。从80386起,增加了FS和GS两个段寄

存器,它们也属于附加的数据段。有关段寄存器的使

用将在2.4.2中专门说明。

J

,东第2章微型计算机结构

2.4存储器

2.4.1存储单元的地址和内容

计算机存储信息的基本单位是一个二进制位,一

位可存储一个二进制数:0或1。每8位组成一个字节,

位编号如图2.6(a)所示。8086、80286的字长为16位,

由两个字节组成,位编号如图2.6(b)所示。80386到

Pentiumll机的字长为32位,由两个字即4个字节组

成,在80x86系列中称其为双字,位编号如图2.6(c)所

示。此外,还有一种由8个字节即字长为64位组成的4

字,位编号如图2.6(d)所不。

,东第2章微型计算机结构

76543210

IIIIIII

IIIIIII

N地址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论