微机原理与接口技术课件PPT教材课件汇总完整版ppt全套课件最全教学教程整本书电子讲义全书教案合集_第1页
微机原理与接口技术课件PPT教材课件汇总完整版ppt全套课件最全教学教程整本书电子讲义全书教案合集_第2页
微机原理与接口技术课件PPT教材课件汇总完整版ppt全套课件最全教学教程整本书电子讲义全书教案合集_第3页
微机原理与接口技术课件PPT教材课件汇总完整版ppt全套课件最全教学教程整本书电子讲义全书教案合集_第4页
微机原理与接口技术课件PPT教材课件汇总完整版ppt全套课件最全教学教程整本书电子讲义全书教案合集_第5页
已阅读5页,还剩805页未读 继续免费阅读

下载本文档

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

文档简介

2023年2月5日1第1章微型计算机系统概述1.1微型计算机发展与应用1.2计算机中的数据表示1.3微型计算机系统组成1.4微型计算机工作过程1.5微型计算机主要性能指标本章小结2023年2月5日2第1章微型计算机系统概述

【任务驱动】

本章主要介绍微型计算机系统的发展、应用、组成以及它的工作过程。通过本章学习,学生应了解计算机的发展过程和微型计算机的主要性能指标,理解微型计算机的工作过程,掌握计算机中数据的表示方法以及微型计算机系统的构成;通过以上知识的学习,使学生对计算机系统有个基本的认识,为以后各章学习打下基础。

【重点难点】

1.微型计算机的特点与应用

2.计算机中数据的表示方法

3.微型计算机系统的构成2023年2月5日3

1.1微型计算机发展与应用

计算机是一种能自动、高速、精确地处理信息的现代化电子设备,具有算术运算和逻辑判断能力,并能通过预先编好的程序来自动完成数据的加工处理,因此,也可以说计算机是一种帮助人类从事脑力劳动的工具。

2023年2月5日41.1.1微型计算机的发展

1946年2月,在美国宾夕法尼亚大学诞生了世界上第一台电子计算机ENIAC(ElectronicNumericalIntegratorandComputer)。这台计算机由电子管组成,每秒可进行5000次加法运算,而且采用了著名的数学家冯·诺依曼的设计思想,即

(1)采用二进制计算;

(2)存储程序并在程序控制下自动执行;

(3)其硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

这种模式的计算机被称为“冯·诺依曼机”。计算机发展至今,一直沿用这种设计思想。这是计算机科学发展史上的一个重要里程碑,它奠定了计算机发展的科学基础。

2023年2月5日5

随着电子科学技术的发展,计算机的发展先后经历了电子管、晶体管、大规模集成电路和超大规模集成电路为主要器件的四个时代。预计在不久的将来,将诞生以超导器件、电子仿真、集成光路等技术支撑的第五代计算机。计算机总的趋势是朝着巨型化、微型化、网络化、智能化方向发展。2023年2月5日6

微型计算机是指以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器MP(MicroProcessor)为核心,再配上存储器、接口电路等所构造出的计算机系统。微型计算机的发展经历了五代。我们一般以字长(计算机能同时处理的二进制数的位数)和典型的微处理器芯片作为各阶段的标志。

2023年2月5日7

第一代(1971年—1973年)是4位和低档8位微机。代表产品是美国Intel公司的4004微处理器及由它组成的MCS微型计算机。

第二代(1974年—1977年)是中高档8位微机,以Intel8080/8085、Motorola公司的Mc6800及美国Zilog公司的Z80等为CPU的微型机为典型代表。

第三代(1978年—1981年)是16位微机,如以8086,Z8000和MC68000为CPU的微型机。

第四代(1982年—1992年)是32位微机,典型的CPU产品有80386和MC68020。之后Intel公司又推出80486微处理器。

2023年2月5日8

第五代(1993年—1999年)是准64位微机。1993年3月Intel公司推出了全新的超级32位微处理器芯片——Pentium,虽然其仍属于32位机,但其内部数据通道已是64位,提高了数据传送速度。

第六代(2000年以后)这是新一代64位微处理器pentiumD。该芯片采用了新的体系结构,其性能大大高于Intel系列的其他微处理器,给微处理器体系结构和PC机的性能引入了全新的概念。

近几年来,计算机产业中又开发生产出双核CPU、四核CPU等芯片,这将把微型计算机的应用推向一个新的时代。2023年2月5日91.1.2微型计算机的应用

由于微型计算机具有体积小、价格低、耗电少等优点,所以它的应用范围十分广阔。归纳起来,目前主要有如下几个应用领域。

1.科学计算

2.信息处理

3.计算机辅助技术

4.过程控制

5.计算机通信

6.人工智能

2023年2月5日10

1.1.3微型计算机的分类

(一)按照微处理器能够处理的数据字长可以分为:4位机、8位机、16位机、32位机、64位机。

(二)按照微型计算机的使用形态分类可以分为:单片机、单板机、位片式机和微型计算机系统。2023年2月5日111.2计算机中的数据表示

在日常生活中,人们习惯使用十进制数来进行计数和计算。但计算机系统内部使用的所有指令或数据都采用二进制代码.因此,所有需要计算机处理的数字、字母、符号等都必须采用二进制表示。但二进制数难记忆,阅读和书写也不方便,在计算机中有时也采用其他进制,如十六进制、八进制和十进制等。本节将介绍二进制与其他进制间的转换及计算机中的编码方式。2023年2月5日121.2.1数制的概念以及常用进位计数

为了区别不同的进位计数制,可以用字母后缀表示数制:

B:二进制、O:表示八进制、D:表示十进制、H:十六进制。

1.十进制

10个数码(0、1、2、3、4、5、6、7、8、9)组成,基数为10,

计数特点为逢十进一。

用十进制表示数值的方法为:

其中Ki=0、1、2、3、4、5、6、7、8、9

例如:(1987.6)D=1×103+9×102+8×101+7×100+6×10-1

2023年2月5日132.二进制

由(0、1)两个数码组成。

基数为2,

计数特点为逢二进一。

用二进制表示数值的方法为:

其中Ki=0、1

例如:

(-1010.011)B=-(1×23+0×22+1×21+0×20+0×2-1+1×2-2+1×2-3)

2023年2月5日143.八进制

由8个数码(0、1、2、3、4、5、6、7)组成。

八进制数的基数为8,

计数特点为逢八进一。

用八进制表示数值的方法为:

其中Ki=0、1、2、3、4、5、6、7

例如:(423.5)o=4×82+2×81+3×80+5×8-1

2023年2月5日154.十六进制

由16个数码(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)组成。

基数为16,

计数特点为逢十六进一。

用十六进制表示数值的方法为:

其中ki=0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

例如:(56D.34)H=5×162+6×161+13×160+3×16-1+4×16-2

2023年2月5日16

表1.1常用进位计数制对应关系表

2023年2月5日17

1.2.2进位计数制间的转换

1.二、八、十六进制数转换成十进制数

这种转换非常简单,将二、八、十六进制数按“权”展开相加即可。

[例1.1]将下列二进制数1011.11和十六进制数B6.8转换成十进制数

(1011.11)2=1×23+0×22+1×21+1×20+1×2-1+1×2-2=8+0+2+1+0.5+0.25=(11.75)10

(B6.8)16=11×161+6×160+8×16-1=176+6+0.5=(182.5)10

2023年2月5日182.十进制数转换为二、八、十六进制数

十进制数到二、八、十六进制数的转换比较复杂,要把整数部分和小数部分分别进行转换,然后再把转换结果进行相加。

整数部分转换采用除基数取余数法:用基数(2、8或16)不断地去除要转换的数,直到商为0。再将每一步所得的余数,按逆序排列,便为转换结果。

[例1.2]将(152)10转换为二进制数,转换过程如下:

转换结果为:(152)D=(10011000)B

2023年2月5日192023年2月5日20

小数部分转换采用乘基数取整数法:每次用基数与小数部分相乘,取乘积的整数部分,再取其小数部分乘基数直到小数部分为0。将所取整数顺序排在小数点后即为转换结果。

[例1.3]将(0.375)10转换为二进制数,转换过程如下:

转换结果为(0.375)D=(0.011)B

注意:如果在小数转换过程中,乘积结果小数部分永远不为0的话,可以根据精度要求来保留相应小数位数。

2023年2月5日213.二进制和八、十六进制之间的转换

(1)二进制到八进制、十六进制的转换

二进制到八进制转换采用“三位合一位”的方法;二进制到十六进制转换采用“四位合一位”的方法。把要转换的二进制数,从小数点开始向两边分别进行分组。转换为八进制时,向左每三位为一组,向右每三位为一组,向左不是三位的,从左边补0;向右不足三位的,从右边补0。转换为十六进制时,向左每四位为一组,向右每四位为一组,向左不足四位的,从左边补0,向右不足四位的,从右边补0。2023年2月5日22[例1.4]将(1000110.01)2分别转换为八进制数和十六进制数。

“二”到“八”的转换采用“三位合一位”的方法:

001000110.010

106.2

“二”到“十六”的转换采用“四位合一位”的方法:

01000110.0100

46.4

(1000110.01)B=(106.2)O=(46.4)H

2023年2月5日23(2)八进制、十六进制到二进制的转换

八进制、十六进制到二进制的转换的方法采用把一位八(十六)进制数拆成三位(四位)二进制数表示的方法,按顺序写出每位八进制(十六进制)数字所对应的三位(四位)二进制数,所得结果即为对应的二进制数。

[例1.5]将(352.6)8转换为二进制数。

写出各位数字对应的三位二进制数:

[例1.6]将(B6.8)16转换为二进制数。

写出各位数字对应的四位二进制数:

2023年2月5日241.2.3带符号数的表示

计算机在处理实际问题时遇到的数据,通常是带符号数。数据的符号(正或负)也要用二进制数码表示。一般用“0”表示正数符号,用“1”表示负数符号。这样,机器中数的符号也数值化了。我们把这种数值数据在计算机中的编码表示称为机器数,而把机器数所代表的实际数值称为机器数的真值。

假定机器数的位数为n+1位,其中一位就是符号位,其他n位为数值位。

如:X=+1100110B,其机器数表示为:01100110B

Y=-1100110B,其机器数表示为:11100110B

2023年2月5日251.原码表示法

原码表示法是一种简单的机器数表示法,即符号和数值表示法,用最高位表示符号,其中0表示正号,1表示负号,其他n位表示数值的绝对值。设X为真值,[X]原为机器数表示。在原码表示法中用8位二进制位表示的整数数据范围为―127~+127。

对于正整数:设X=1100110B,则[X]原=01100110B。

对于负整数:设X=―1100111B,则[X]原=11100111B。

对于正小数:设X=0.1011B,则[X]原=01011000B

对于负小数:设X=-0.1011B,则[X]原=11011000B

对于零:在原码表示法中,0有两种表示形式:

[+0]原=00000000B[―0]原=10000000B

【问题】这种+0和-0原码表示上的不一致,会直接影响诸如X+0和X-0(即X+(-0))结果上的不同。2023年2月5日26

2.反码表示法

用机器数的最高一位表示符号,0表示正号,1表示负号。数值部分,对于正数,反码表示形式与原码表示形式相同,即[X]反=[X]原。对于负数,对符号位以外各位按位“取反”(0变1,1变0)即可。在反码表示法中用8位二进制位表示的整数数据范围为-127~+127。

如:X=+1010101B,则[X]反=[X]原=01010101B

X=-1100111B,则[X]反=10011000B

对于零:在反码表示法中,0有两种表示形式:

[+0]反=00000000B[―0]反=11111111B

可见,上述【问题】仍然存在。2023年2月5日273.补码表示法

正数的补码和原码相同;负数的补码,可由其原码,采用“符号位不变,其他各位取反,末位加1”的原则求得。补码表示中零的表示是唯一的。

如:X=+1010101B[X]补=[X]原=01010101B

X=―1100111B,则[X]补=[X]反+1=10011000B+1=10011001B

[+0]补=[-0]补=00000000B

补码表示法可以让符号位作为数值的一部分直接参加运算,从而化减法为加法运算,以简化加法器的逻辑设计。因此补码的应用最为普遍,大部分计算机中都采用补码表示法表示数值数据。

2023年2月5日28

从上面关于原码、反码、补码的定义可知:

一个正数的原码、反码、补码的表示形式相同,符号位为0,数值位是真值本身;

一个负数的原码、反码、补码的符号位都为1,数值位原码是真值本身;反码是各位取反;补码是各位取反,最低位加1。即原码的反码加1是补码;补码的反码加1是原码。

多数计算机都采用补码形式表示带符号数,这是因为利用补码可以很容易地把减法转换成加法。在8088/8086CPU中,也是采用补码方式表示带符号数的。

2023年2月5日29

4.补码加减运算及溢出判断

(1)补码的加法运算

[X+Y]补=[X]补+[Y]补

[例1.7]X=―110001B,Y=+001001B,利用补码加法计算X+Y=?

解:[X]补:1001111

+[Y]补:0001001

[X]补+[Y]补:1011000

则X+Y=-101000B

2023年2月5日30

[例1.8]求(―9)+(―2)=?

解:―9的补码:11110111

―2的补码:11111110

因为[X+Y]补=[X]补+[Y]补

[X]补:11110111―9

+[Y]补:11111110

+―2

[X]补+[Y]补:11110101―11

所以

[X+Y]补=11110101

X+Y=-0001011B=-11

2023年2月5日31

(2)补码的减法运算

[X―Y]补=[X+(―Y)]补=[X]补+[―Y]补

[例1.9]X=001110B,Y=-110001B,利用补码减法计算X―Y=?

解:[X]补=0001110,[Y]补=1001111,[―Y]补=0110001

因为[X―Y]补=[X+(―Y)]补=[X]补+[―Y]补

[X]补:0001110

+[―Y]补:0110001

[X―Y]补:0111111

所以X―Y=+111111B=+63

2023年2月5日32

[例1.10]求9―2=?

解:[X]补=00001001[Y]补=00000010

因为[X―Y]补=[X+(―Y)]补=[X]补+[―Y]补

[X]补:00001001

+[―Y]补:11111110

[X]补+[―Y]补:00000111

所以:[X―Y]补=0000111

X-Y=+0000111B=7

【观察】若已知[Y]补,[-Y]补=?

2023年2月5日33(3)溢出判断

在选定了运算字长和数的表示方法之后,如果运算的结果,超出了计算机能表示的数据范围,这种情况称为广义上的溢出。

比如两个有符号数:[X]补:01000100

+[Y]补:01100001

而[X]补+[Y]补:10100101

两个正数相加其结果却是负数,这显然是不正确的。其原因就是在字长(上例是8位,数值部分占7位)一定的情况下,它所能表示的数的范围是有限的(7位二进制数最大可以达127),一旦超过这个范围(上例中X为68,Y为97),其进位就影响到了符号位,产生错误的结果。

溢出判断方法:当两个正数相加结果为负数,或两个负数相加结果为正数,则有溢出;正数和负数相加不会有溢出。

2023年2月5日34

1.2.4定点表示与浮点表示

以上我们用到的数据都是纯整数或纯小数,实际的数可能既有整数部分又有小数部分,这就提出一个在计算机中如何表示小数点位置的问题。计算机中小数点不占位数,而是采用人为约定的方法。根据小数点位置是否固定,数的格式分为定点表示和浮点表示两类。

2023年2月5日35

1.定点表示法

定点表示法约定小数点位置固定不变。为了处理方便,一般只采用三种简单的约定,相应有三种类型的定点数。

(1)无符号数。无符号整数是将符号位略去的正整数,所有的数位都用来表示数值的大小,小数点约定在最低位之后。换言之,整个数码序列是整数。

(2)带符号定点整数。定点整数约定小数点在数值位的最低位之后,此时计算机中所表示的数一律为整数。如图1.1所示。2023年2月5日36

n位带符号二进制整数(数值位为n-1位)可表示的数值范围为:

原码、反码是:-(2n-1-1)~2n-1-1;

补码是:-2n-1~2n-1-1

【思考】写出8位带符号二进制整数的数值范围?

符号位数值位小数点2023年2月5日37

(3)带符号定点小数。

定点小数约定小数点在符号位和数值位之间,即所有的数值部分均在小数点之后,整数部分为0,所以称为纯小数。如图1.2所示。

原码、反码定点小数表示范围是:

-(1-2-(n-1))~1-2-(n-1)

补码定点小数表示范围是:-1~1-2-(n-1);n为二进制定点小数位数,n-1为数值位位数。

【思考】写出8位带符号二进制小数的数值范围?

符号位数值位小数点2023年2月5日382.浮点表示法

浮点数是指小数点在数据中的位置可以左右移动的数据。通常可表示成:

N=±S×R±E

其中S称为尾数;R称为基数;E称为阶码。

在计算机内部,典型的浮点数的格式为图1.3所示:

阶码部分尾数部分阶符阶码数符尾数2023年2月5日39浮点数实际由两个定点数组成:

阶码是一个定点整数,它的位数决定了浮点数的表示范围;

尾数是一个定点小数,为了表示的唯一性,通常采用规格化形式,既尾数部分的绝对值保持在0.5≤S≤1的范围内,尾数的长度决定了浮点数的精度,即有效数据的位数。

为了既保证足够大的数值范围,又要保证所要求的精度,合理地选择阶码部分和尾数部分的位数是十分必要的。

[例1.11]将(-123.375)10表示成浮点规格化形式(共16位,阶码部分4位,尾数部分12位,阶码和尾数均用补码形式)。

因:(-123.375)10=(-1111011.011)2

=-0.1111011011×2+111

那么在机器中的浮点表示形式为:

0111100001001010

阶符阶码尾符尾数

2023年2月5日40

1.2.5计算机中非数值型数据的编码

计算机中除了处理数值信息外,还要处理大量的字符数据,如字母、符号、汉字、图像、语音等。这些信息最终都必须转换为二进制格式的代码才能被计算机处理,即字符和十进制数都要表示为若干位二进制码的组合,即信息和数据的二进制编码。计算机中常用的字符编码有BCD码、ASCII码、汉字编码等,这些编码在机器内部都是用二进制表示的。2023年2月5日41

1.二~十进制编码――BCD码

BCD(BinaryCodedDecimal)是用4位二进制数表示1位十进制数的一种编码方式。每个数位分配有固定的权值,将各位的权值相加可得对应的十进制数。不同的编码方法分配的权值不同,例如BCD码可以分为8421BCD码、5421BCD码、2421BCD码等。8421码的权值从低位到高位分别为1、2、4、8。其他的编码方式的权值类推即可。

例如:(0111)8421BCD=1*1+1*2+1*4+0*8=7

8421BCD编码方式如表1.2所示

2023年2月5日422.美国信息交换标准代码――ASCII码

ASCII是基于拉丁字母的一套电脑编码系统。在计算机中,所有的数据在存储和运算时都要使用二进制数表示,例如,象a、b、c、d这样的52个字母(包括大写)、以及0、1、2等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信还不造成混乱,就必须使用相同的编码规则,于是美国有关的标准化组织就出台了所谓的ASCII编码,统一规定了常用符号用哪些二进制数来表示。

标准ASCII码使用指定的7位二进制数组合来表示128种可能的字符。包括所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。在计算机中常用一个字节(8位)来表示,最高位为0或设置成奇偶校验位。如“A”的ASCII码是01000001B(即41H),具体的ASCII码表见附录A。

2023年2月5日433.数据校验码

数据校验码是一种能够发现错误或带有自动改错能力的数据编码方法。其实现原理是对要传送的数据增加一些冗余位,按某种规律进行编码后一同传送。读出时再按约定的编码规律进行检查,看是否符合。。

奇偶校验码的实现原理是通过增加一个附加位,使合法编码的码距由1增加到2。这个附加位称为校验位。

奇校验:使整个校验码(有效数据+校验位)中1的个数为奇数。

偶校验:使整个校验码(有效数据+校验位)中1的个数为偶数。

[例1.12]传送一字节数据10010011和0110110时,采用奇校验(或偶校验)时校验位分别为:

有效数据 校验位(奇) 校验位(偶)

10010011 1 0

01101101 0 1

2023年2月5日44

1.3微型计算机系统组成

从系统的组成观点来看,一个微型计算机系统应包括硬件系统和软件系统。

1.3.1硬件系统

所谓硬件系统是一个为执行程序建立物质基础的物理装置,称为裸机或硬件。硬件一般是指在主机的基础上,配以必要的外部设备、外部存储器(如磁盘机、磁带机等)和电源设备等。硬件若没有软件的配合是什么也干不了的。

微机的硬件系统通常由微处理器、系统总线、存储器、I/O接口和I/O设备等组成。

2023年2月5日451.微处理器

微处理器是整个微机的核心,也称中央处理器(CentralProcessingUnit,CPU),它是采用大规模集成电路技术制成的芯片,芯片内集成了控制器、运算器两大部分。

运算器用于算术运算和逻辑运算,是对数据进行加工的部件。运算器通常由算术逻辑部件(ALU)和一系列寄存器组成,ALU是完成算术和逻辑运算的部件,寄存器即可提供参与运算的操作数,又可用于存放运算结果。

控制器是计算机的核心部件,用来产生一系列控制信号以指挥计算机系统有条不紊地运行,完成对指令的读取、解释和执行,并协调计算机各部分的工作。

CPU及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

2023年2月5日462.存储器(Memory)

存储器是微机的存储和记忆部件,是用来存放程序和数据(包括原始数据、中间结果和最终结果)的部件。

存储器是由若干存储单元组成,1个存储单元可以存放若干个二进制位(Bit)。

字节:8个二进制位称为1个字节,记为B(Byte),

在微机中规定每个内存单元可以存放1B的二进制信息。

字:2B称为1个字(Word)。

存储单元的地址:为了区分各个不同的存储单元,给每个存储单元编上不同的号码,这个唯一的编号称为存储单元的地址。存储单元的地址编号从0开始顺序编排。CPU通过指定存储单元的地址来访问对应的单元。

存储容量:一台微机所有存储单元的总数存储器最小存储单位是字节。存储容量的单位有KB(代表1024B);MB(代表1024KB);GB(代表1024MB)。存储容量越大,表示计算机存储的信息越多,存储容量也是衡量计算机性能的重要指标。

2023年2月5日47

微机的存储器分为主存储器(又称内存)和辅助存储器(又称外存)。

内存采用半导体材料,安装在机内的电路板上,具有容量小、存取速度快和易挥发性(存储信息是否容易丢失)等特征,CPU可以通过总线直接对内存操作。内存由只读存储器ROM(ReadOnlyMemory)和随机存取存储器RAM(RandomAccessMemory)两种类型构成。ROM只允许执行读操作,存放监控程序和基本输入/输出程序,还可用来存放各种常用的数据和表格,ROM中的内容一般由生产厂家或用户使用专用设备写入固化的;而RAM则可读可写,用于存放用户装入的程序、数据及部分系统信息,但掉电后信息将丢失。

外存储器一般采用磁介质材料,被安装在主机箱内或主机箱外,CPU通过I/O接口进行读写操作。常见的设备有磁盘(硬盘和软盘)、磁带、光盘、U盘等。

2023年2月5日483.I/O设备和I/O接口

I/O接口电路是连接外部设备(外围设备)并与外界进行信息交换的控制逻辑电路。I/O设备是指微机上配备的输入/输出设备,也称外部设备或外围设备(简称外设),是微机系统重要的组成部分。常用的输入设备有键盘、鼠标器、扫描仪等,常用的输出设备有显示器、打印机、绘图仪等,磁带、磁盘等既是输入设备,又是输出设备。

由于I/O设备的种类繁多,结构、原理、速度各异,有机械式、电子式、电磁式等。无法与CPU直接匹配,所以不可能将它们简单地连接到系统总线,需要有一个接口电路来充当它们和CPU间的桥梁,通过该电路来完成信号变换、数据缓冲、与CPU联络等工作。该部件被称为输入/输出接口电路(简称I/O接口),又称I/O适配器(I/Oadapter)。

2023年2月5日494.系统总线(BUS)

总线是计算机系统中各功能部件间传送信息的公共通道即一组公共信号线。这里的系统总线是指从处理器引出的若干信号线,CPU通过它们与存储器和I/O设备的接口电路进行信息交换。按其传递的信息不同系统总线一般可分为3组:

地址总线即AB(AddressBus):是用来传送地址信息的总线,CPU在AB总线上输出将要访问的内存单元或I/O接口的地址。该总线是单向总线。

数据总线即DB(DataBus):是用来传送数据信息的总线。在CPU进行读操作时,内存或外设的数据通过DB总线送往CPU;在CPU进行写操作时,CPU数据通过DB总线送往内存或外设,该总线是双向总线。

控制总线即CB(ControlBus):是用来传送控制信息的总线。其中有CPU发出的控制信号或外界发送给CPU的状态信号。

2023年2月5日50

总线可以在不同的位置和应用场合下使用。在芯片内使用的总线称为片内总线。在同一个微机系统内使用的总线称为内总线(系统总线)以及局部总线,连接多个微机使用的总线称为外总线或通信总线,例如RS-232C总线和RS-485总线。

根据总线上传输信号的方式,总线又可以分为并行总线和串行总线。一般机内总线和片内总线都是并行总线,而外部总线则采用串行总线。

总线结构是微机的一大特色,使得微机具有组态灵活、扩展方便的特点。实际上,为了方便总线与存储器、总线与I/O接口的连接,在微机的主板上设计有多个总线插槽,用户可根据情况插进不同的内存条和电路插板,达到灵活机动的配置目的。

2023年2月5日511.3.2软件系统

所谓软件系统是指在计算机上运行的程序,广义软件还应包括由计算机管理的数据和有关的文档资料。依据功能不同,软件可分为系统软件和应用软件两大类。

(一)系统软件

系统软件由一组控制计算机系统并管理其资源的程序组成,其主要功能包括:启动计算机,存储、加载和执行应用程序,对文件进行排序、检索,将程序语言翻译成机器语言等。实际上,系统软件可以看作用户与计算机的接口,它为应用软件和用户提供了控制、访问硬件的手段,这些功能主要由操作系统完成。此外,编译系统和各种工具软件也属此类,它们从另一方面辅助用户使用计算机。具体包括:

1.操作系统(OperatingSystem,OS)

2.语言处理系统(翻译程序)

3.服务程序

4.数据库管理系统

2023年2月5日52

1.操作系统(OperatingSystem,OS)

操作系统是管理、控制和监督计算机软、硬件资源协调运行的程序系统,由一系列具有不同控制和管理功能的程序组成,它是直接运行在计算机硬件上的、最基本的系统软件,是系统软件的核心。操作系统通常应包括下列五大功能模块:

(1)处理器管理。

(2)作业管理。

(3)存储器管理。

(4)设备管理。

(5)文件管理。2023年2月5日532.语言处理系统(翻译程序)

如前所述,机器语言是计算机唯一能直接识别和执行的程序语言。如果要在计算机上运行高级语言源程序就必须配备语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。

对于高级语言来说,翻译的方法有两种:

一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。

另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。

对源程序进行解释和编译任务的程序,分别叫做编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。

2023年2月5日54

3.服务程序

服务程序能够提供一些常用的服务性功能,它们为用户开发程序和使用计算机提供了方便,像微机上经常使用的诊断程序、调试程序、编辑程序均属此类。

4.数据库管理系统

在信息社会里,社会和生产活动产生的信息很多,使人工管理难以应付,人们希望借助计算机对信息进行搜集、存储、处理和使用。数据库系统(DataBaseSystem,DBS)就是在这种需求背景下产生和发展的。

数据库技术是计算机技术中发展最快、应用最广的一个分支。可以说,在今后的计算机应用开发中大都离不开数据库。因此,了解数据库技术尤其是微机环境下的数据库应用是非常必要的。

2023年2月5日55(二)应用软件

为解决各类实际问题而设计的程序系统称为应用软件。从其服务对象的角度,又可分为通用软件和专用软件两类。

1.通用软件

这类软件通常是为解决某一类问题而设计的,而这类问题是很多人都要遇到和解决的。例如:文字处理、表格处理、幻灯片演示等。

2.专用软件

在市场上可以买到通用软件,但有些具有特殊功能和需求的软件是无法买到的。比如某个用户希望有一个程序能自动控制车床,同时也能将各种事务性工作集成起来统一管理。因为它对于一般用户是太特殊了,所以只能组织人力开发。当然开发出来的这种软件也只能专用于这种情况。

2023年2月5日561.4微型计算机工作过程

计算机采用存储程序与程序控制的工作方式,即事先把程序加载到计算机的存储器中,当给机器加电并启动后,计算机便会自动按照程序的要求进行工作。微机的工作过程即是程序中指令的重复执行过程。下面以一个具体的汇编语言程序为例来说明在模型机中指令的执行过程。

MOVAL,05H

ADDAL,06H

HLT

这个程序的目的就是执行一个5+6=?的操作,第一条指令是把立即数05H送入寄存器的累加器AL中;第二条指令是将AL的内容与06H相加,结果为05H+06H=0BH存入AL中,第三条指令为暂停指令。

2023年2月5日57由于微处理器只能识别二进制的机器码,因此上述指令必须以机器码表示如下:

该机器码在内存中状态如下:

内存地址内容

00HB0H

01H05H

02H04H

03H06H

04HF4H

.

三条指令共五个字节,存放在内存00H-04H的5个存储单元中。一条指令的执行过程分为取指令、分析指令和执行指令等步骤,下面结合图1.6,分析以上三条指令的执行过程。

2023年2月5日582023年2月5日59第一条指令的执行过程如下:

1.取指令

①指令寄存器IP的内容(00H)送至地址寄存器AR,记为IP→AR。

②指令寄存器IP的内容自动加1变为01H,为取下一条指令作准备,记为IP+1→IP。

③地址寄存器AR将00H通过地址总线送至存储器地址译码器译码,选中00H号单元,记为AR→M。

④CPU发出“读”命令。

⑤所选中的00H号单元的内容B0H读至数据总线DB,记为(B0H)→DB。

⑥经数据总线DB,将读出的B0H送至数据寄存器DR,记为DB→DR。

⑦数据寄存器DR将其内容送至指令寄存器IR,经过译码,控制逻辑发出执行该条指令的一系列信号,记为DR→IR,IR→ID,ID→PLA。

2023年2月5日60

2.分析指令

指令译码器对指令操作码B0H译码后知道这是一条把立即数送累加器AL的指令,立即数05H在指令的第二个字节中,则执行第一条指令就是从内存中取出05H送入AL中。

3.执行指令

2023年2月5日61

①指令寄存器IP的内容01H送至地址寄存器AR,记为IP→AR。

②指令寄存器IP的内容自动加1变为02H,为取下一条指令作准备,记为IP+1→IP。

③即地址寄存器AR将01H通过地址总线送至存储器,并选中01H单元,记为AR→M。

④CPU发“读”命令。

⑤选中的01H存储单元的内容05H送至数据总线DB上,记为(01H)→DB。

⑥通过数据总线,把读出的内容05H送至数据寄存器DR,记为DB→DR。

⑦因为经过译码已经知道读出的是立即数,并要求将它送至累加器A,故数据寄存器DR通过内部总线将05H送至累加器A,记为DR→AL。

上述执行指令过程如图1.7所示。2023年2月5日62

第二条指令的执行过程与第一条基本相同,所不同的是在执行阶段:将内存0003H单元的内容06H送入暂存器,AL中的内容05H送入累加器,然后由算术逻辑单元ALU来做加法,并将结果0BH经过数据总线DB送到AL中。

第三条指令HLT只是告诉CPU进入暂停阶段。

从上面的例子中我们总结出,微型计算机的工作过程是执行程序的过程。首先CPU进入取指阶段,从存储单元中取出指令代码,通过数据总线,送到CPU中的指令寄存器中寄存,然后对该指令译码,译码器经译码后发出相应的控制信号,通过控制总线,CPU把控制信息传送到存储器或输入/输出系统,存储器或输入/输出系统按照CPU的命令进行相应的动作,也即CPU执行指令指定的操作。

2023年2月5日63

取指阶段是由一系列相同的操作组成,因此取指的时间总是相同的。而执行指令的阶段是由不同的事件组成的,它取决于执行指令的类型。执行完一条指令后接着执行下一条指令,即取指→执行,取指→执行……如此反复,直至程序结束。这是一种串行工作方式,是以往计算机提高工作速度的一个障碍,根本的解决方法是采用并行操作。

现在的计算机采用流水线技术,是一种同时进行若干操作的并行处理方式,它把取指令操作和执行指令操作并行进行,在执行一条指令的同时,又取另一条或几条指令。在第2章中,讲述的8086内部结构中总线接口部件完成取指操作,把指令预先放到指令队列中,执行部件完成执行指令的操作,这两部分可同时进行,从硬件上保证了流水线技术的实施。

2023年2月5日64

1.5微型计算机主要性能指标

一台微型计算机功能的强弱或性能的好坏,不是由某项指标来决定的,而是由它的系统结构、指令系统、硬件组成、软件配置等多方面的因素综合决定的。但对于大多数普通用户来说,可以从以下几个指标来大体评价计算机的性能。

1.运算速度

2.字长

3.内存储器的容量

4.外存储器的容量

2023年2月5日65

1.运算速度

运算速度是衡量计算机性能的一项重要指标。通常所说的计算机运算速度(平均运算速度),是指每秒钟所能执行的指令条数。同一台计算机,执行不同的运算所需时间可能不同,因而对运算速度的描述常采用不同的方法。

常用的有CPU时钟频率(主频)、每秒平均执行指令条数(IPS)等。微型计算机一般采用主频来描述运算速度,例如,Pentium/133的主频为133MHz,PentiumⅢ/800的主频为800MHz,Pentium41.5G的主频为1.5GHz。一般说来,主频越高,运算速度就越快。

2023年2月5日662.字长

一般说来,计算机在同一时间内处理的一组二进制数称为一个计算机的“字”,而这组二进制数的位数就是“字长”。在其他指标相同时,字长越大计算机处理数据的速度就越快。早期的微型计算机的字长一般是8位和16位。目前586(Pentium,PentiumPro,PentiumⅡ,PentiumⅢ,Pentium4)大多是32位,现在的大多都是64位的了。

2023年2月5日67

3.内存储器的容量

内存储器,也简称主存,是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据就是存放在主存中的。内存储器容量的大小反映了计算机即时存储信息的能力。随着操作系统的升级,应用软件的不断丰富及其功能的不断扩展,人们对计算机内存容量的需求也不断提高。目前,运行Windows95或Windows98操作系统至少需要16M的内存容量,WindowsXP则需要128M以上的内存容量。内存容量越大,系统功能就越强大,能处理的数据量就越庞大。

4.外存储器的容量

外存储器容量通常是指硬盘容量(包括内置硬盘和移动硬盘)。外存储器容量越大,可存储的信息就越多,可安装的应用软件就越丰富。目前,硬盘容量一般为10G至60G,有的甚至已达到120G。

2023年2月5日68

以上只是一些主要性能指标。除了上述这些主要性能指标外,微型计算机还有其他一些指标,例如,所配置外围设备的性能指标以及所配置系统软件的情况等等。另外,各项指标之间也不是彼此孤立的,在实际应用时,应该把它们综合起来考虑,而且还要遵循“性能价格比”的原则。

2023年2月5日69本章小结:

本章从微型计算机基本结构和工作原理出发,对微处理器的产生发展、微型计算机的分类及应用作了概述;介绍了计算机中的数据格式及机器数、有符号数的表示、字符编码的基本知识以及微型计算机的软硬件组成等。

通过本章的学习,要了解微型计算机的发展历史和应用场合,关注当前微型计算机的发展动向;要掌握微型计算机系统组成以及工作原理和工作过程,理解微机各主要模块的功能和在系统中的地位;熟悉各进位计数制之间的相互转换,理解数值型数据和非数值型数据在计算机中的表示方法;掌握补码加减法运算及溢出的判断,为后续内容的学习打下一个良好的基础。2023年2月5日70第2章微处理器【任务驱动】

本章主要介绍8086微处理器的相关知识,通过本章的学习,让学生掌握8086的内部结构及外部引脚定义,掌握8086存储器的组织形式,理解8086微处理器的工作模式和总线时序。【重点难点】1.8086CPU内部并行结构及外部引脚2.8086CPU的存储器组织及地址变换3.8086CPU的基本时序2023年2月5日712.1微处理器概述2.2Intel8086/8088CPU结构2.3Intel8086/8088CPU的引脚2.4Intel8086/8088的典型时序分析微处理器(Microprocessor),又称中央处理器(CentralProcessingUnit,CPU)。是采用大规模或超大规模集成电路(LSI/VLSI)技术做成的半导体芯片,集成了计算机的主要部件:控制器、运算器和寄存器组等,是微机的核心部件。主要完成各种算术及逻辑运算,并控制计算机各部件协调地工作。CPU是微机的核心芯片,是整个系统的运算和指挥控制中心。不同型号的微机,其性能的差别首先在于其CPU性能的不同,而CPU的性能又与它的内部结构有关,每种CPU都有其特有的指令系统。但无论哪种CPU,其内部基本结构总是相近的,都有控制器、运算器和寄存器组3大主要部件。2023年2月5日722.1微处理器概述1.运算器:又称为算术逻辑单元(ArithmeticandLogicUnit,ALU),它是以加法器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下,可完成加、减、乘、除四则运算和各种逻辑运算,以及浮点运算。2.控制器:一般由指令寄存器、指令译码器、时序和控制逻辑电路组成。控制器是整个CPU的指挥控制中心,对协调整个微机有序工作极为重要。它从存储器中依次取出程序的各条指令,并根据指令的要求,向微机的各个部件发出相应的控制信号,使各部件协调工作,从而实现对整个微机系统的控制。2023年2月5日733.寄存器组:实质上是CPU内部的若干个的高速存储单元,在汇编语言中通常是按名字来访问它们。寄存器可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,如堆栈指针、程序计数器、标志寄存器、地址寄存器等。而通用寄存器则可由程序员规定其用途。通用寄存器的数目因CPU的不同而异,8088/8086CPU中有8个16位的通用寄存器,缩短了指令的长度和指令的执行时间。微处理器中还有一些不能直接为程序员所用的寄存器,如累加锁存器、暂存器和指令寄存器等,它们仅受内部定时和控制逻辑的控制。我们通常说的Z80、8086、80286、80386、80486指的是Z80处理器、8086微处理器、80286微处理器、80386微处理器和80486微处理器。在这一章中,我们将学习8086处理器及其系列芯片的内部结构、操作与时序等。2023年2月5日748086/8088是Intel系列的16位微处理器,它是采用HMOS工艺制造的,内部包含约29000个晶体管,用单一的+5V电源,时钟频率为5MHz~10MHz。8086有16根数据线和20根地址线,其寻址空间达1M字节;8088是一种准16位微处理器,它的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8条。8086/8088芯片内设有硬件乘除指令部件和串处理指令部件,可对位、字节、字串、BCD码等多种数据类型进行处理。8086/8088的指令系统完全相同,在软件上完全兼容。2023年2月5日752.2Intel8086/8088CPU结构8086CPU采用了一种较先进的指令流水线结构,取指令(或取操作数)与执行指令的功能分别由两个独立部件实现,即总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit)。因此,当EU执行某条指令时,BIU同时完成从主存中预取后续指令,两个部件并行地工作,使指令的读取与执行可以部分重叠,从而指令的执行速度。为此,将8086CPU结构从功能上划分为两个逻辑单元,即总线接口单元BIU和执行单元EU,其内部组成结构如图2.1所示。2023年2月5日762.2.1总线接口单元BIU和执行单元EU

图2.18086CPU内部结构图2023年2月5日77(一)总线接口单元BIUBIU是8086CPU与存储器或I/O设备之间的接口部件,负责全部引脚的操作。具体来说,BIU负责:(1)取指令。产生指令地址,根据指令地址从存储器取出指令,送到指令队列中排队或直接送给EU去执行;(2)取操作数。从存储器的指定单元或外设端口中取出指令规定的操作数传送给EU;(3)传送结果。把EU的操作结果传送到指定的存储单元或外设端口中。BIU内部设有:1.4个16位的段寄存器:代码段寄存器CS(CodeSegment)数据段寄存器DS(DataSegment)堆栈段寄存器SS(StakeSegment)附加段寄存器ES(ExtraSegment)2023年2月5日782.一个16位的指令指针寄存器IP(InstructionPointer)。3.6字节指令队列缓冲器。8086的指令队列缓冲器为六个字节,8088的指令队列缓冲器为四个字节。无论8086还是8088,都会在执行指令的同时,从内存中取下一条指令或几条指令,取来的指令就放在指令队列缓冲器中。这样,一般情况下,CPU执行完一条指令就可以立即执行下一条指令,称为流水线技术,减少了CPU为取指令而等待的时间,从而提高了CPU的效率。4.20位地址加法器和总线控制电路。地址加法器用来产生20位地址。上面已提到8086可用20位地址寻址1MB的内存空间,但8086内部所有的寄存器都是16位的,所以需要一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。2023年2月5日79(二)执行单元EU执行单元(EU)的作用是:(1)从指令队列中取出指令;(2)对指令进行译码,发出相应的传送数据或算术运算的控制信号;(3)接收由总线接口部件传送来的数据,或把数据传送到总线接口部件;(4)进行算术运算。执行部件由下列部分组成:1.4个通用寄存器AX,BX,CX,DX四个通用寄存器既可作为16位寄存器用,也可以作为8位寄存器使用,分别为AH,AL,BH,BL,CH,CL,DH,DL。AX寄存器又称为累加器,8086指令系统中有许多指令都通过累加器的动作来执行。AX为16位累加器,AL为8位累加器。2023年2月5日802.专用寄存器4个专用寄存器,基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。4个专用寄存器的用法将在指令系统有专门的论述。3.算术逻辑单元ALU它是16位的运算器,可用于8位或16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器单元所需的16位偏移量。4.数据暂存寄存器它协助ALU完成运算,暂存参加运算的数据。5.EU控制电路从总线接口单元的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据的流向。如果是运算操作,操作数经过暂存寄存器送入ALU,运算结果经过ALU数据总线送到相应的寄存器,同时标志寄存器F根据运算结果改变状态。2023年2月5日816.标志寄存器标志寄存器共有16位,其中7位未用,所用的各位含义如图2.2所示。6个状态标志,反映CPU指令运行后的运行状态信息,分别为SF、ZF、PF、CF、AF和OF。这些标志位根据指令执行后的操作结果进行变化,然后判断转移等。3个控制标志,分别为DF、IF和TF。控制标志与状态标志的区别是,控制标志可由编程员通过指令进行设置,有专门的指令对控制标志置0或置1;状态信息是由中央处理器执行运算指令,并根据运算结果而自动设置。6个状态标志位的职能是:CF——进位标志位。做加法时出现进位或做减法时出现借位,该标志位置1;否则清0。PF——奇偶标志位。当结果的低8位中1的个数为偶数时,则该标志位置1;否则清0。AF——半加标志位。在做加法时,当位3需向位4进位,或在做减法时位3需向位4借位,该标志位就置1;否则清0。该标志位通常用于对BCD算术逻辑结果的调整。2023年2月5日82ZF——零标志位。运算结果各位都为0时,该标志位置1;否则清0。SF——符号标志位。当运算结果的最高位为1时,该标志位置1;否则清0。OF——溢出标志位。在算术运算中,当带符号的数的运算结果超出了8位或16位带符号数所能表达的范围时,即字节运算大于+127或小于-128时,字运算大于+32767或小于-32768时,该标志位置位。2023年2月5日832023年2月5日84图2.2标志寄存器各位的含义3个控制标志位的控制职能如下:(1)DF(DirectionFlag):方向控制标志位决定变址寄存器SI、DI的变化方向,即是增量变化还是减量变化。一般用于串处理指令,控制从前往后、还是从后往前对字符串进行操作处理。(2)IF(InteruptFlag):中断允许/禁止标志位IF=1,允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。IF=0,关闭中断。CPU禁止响应可屏蔽中断请求。(3)TF(TrapFlag):跟踪(陷阱)标志位TF=1,每执行一条指令后,自动产生一次内部中断,使CPU处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。TF=0,CPU正常工作,不产生中断。2023年2月5日852.2.28086/8088的存储器组织(一)存储器的标准结构8086CPU有20根地址线,可寻址1MB存储空间。存储器按字节编址,从00000H—FFFFFH,每个字节用惟一的地址表示。存放的数是字节形式,存储器单元按顺序排列存放。如图2.3所示,存放的数为一个字时,将字的高位字节放在高地址中,将低位字节放在低地址中,高低地址连续。对于存放的字,其低位字节可以在奇数地址中(即从奇地址开始)存放,这种方式称为非规则存放,这样存放的字称为非规则字,CPU需要两次访问存储器才能存取该字。也可以在偶数地址中(即从偶地址开始)存放,这是规则存放,这样存放的字称为规则字,CPU一次便可对该字所在的两个存储单元进行存取。为加快程序的运行速度,编程时应注意用规则字。8088系统外部数据总线只有8位,CPU每次访问存储器只读写一个字节,如果要读写一个字,CPU需要访问两次存储器2023年2月5日862023年2月5日87左图中,地址为00102H单元中存放的字数据是285BH,地址为00106H单元中存放的字数据是0AF6DH。图2.3内存中数据存储格式(二)存储器的分段前面我们已经提到8086/8088可以具有1MB的内存空间,可是其内部结构以及内部数据的直接处理能力和寄存器都只有16位,故只能直接提供16位地址,寻址64KB存储空间,很显然,不采取特殊措施,是不能寻址1MB存储空间的。为此,我们引入了分段的概念,如图2.4所示,将1MB字节的存储器空间分成若干逻辑段,每个段最长为64KB,段内地址是连续的。逻辑段之间可以是连续的,也可以是分开的或重叠的。段的首地址必须能被16整除,即每段首地址的低4位必须为0,高16位就是段基础地址(简称段基址)。段内任一存储单元与它所在段的段基值之间的距离称为偏移量或偏移地址。段基值存放在段寄存器CS、SS、DS、ES中,程序可以从4个段寄存器给出的逻辑段中存取代码和数据。2023年2月5日882023年2月5日89(三)物理地址和逻辑地址物理地址(PhysicalAddress)又叫实际地址,是CPU和存储器进行数据交换时使用的地址,在8086/8088系统的存储器中每个单元有惟一的一个20位的物理地址,CPU访问存储器必须按这个物理地址去进行。但总线接口单元得到的往往是其段基址和偏移地址,那么已知一个存储单元的段基值和它的偏移量,如何计算其物理地址呢?物理地址(20位)=段基值×10H+偏移地址段寄存器的内容×16(10H,相当于左移4位)变为20位,再在低端16位上加上16位的偏移地址(也叫做有效地址),便可得到20位的物理地址,其产生过程如图2.5所示。16位的偏移地址有多种产生方法,在下一篇中再详细说明。2023年2月5日902023年2月5日91图2.5.物理地址的形成过程逻辑地址由两部分组成:段基值和偏移量。它们都是用无符号的16位二进制数或4位十六进制数表示。逻辑地址的一般表示形式为:段基值:偏移量这里仅以8086CPU复位后如何形成启动地址为例,说明物理地址的计算方法。一条指令的物理地址是根据代码段寄存器CS和指令指针寄存器IP的内容得到的,复位时CS的内容为FFFFH,IP的内容为0000H。复位后的启动地址由CS段寄存器和IP的内容(作为偏移量)共同决定,即启动地址=CS×16+IP=FFFF0H+0000H=FFFF0H2023年2月5日92段寄存器的设立不仅使8086的存储空间扩大到1MB,而且为信息按特征分段存储带来了方便。在存储器中,信息按特征可分为程序代码、数据、微处理器状态等。为了操作方便,存储器可以相应地划分为:程序区,用来存放程序的指令代码;数据区,用来存放原始数据、中间结果和最后运算结果;堆栈区,用来存放压入堆栈的数据和状态信息。只要修改段寄存器的内容,就可将相应的存放区设置在存储器的任何位置上。这些区域可以通过段寄存器的设置使之相互独立,也可将它们部分或完全重叠。需要注意的是,改变这些区域的地址时,是以16个字节为单位进行的。表2.1表示了各段寄存器的使用情况。2023年2月5日932023年2月5日94表2.18086/8088中段寄存器使用的基本约定(四)堆栈所谓堆栈(Stack)是为保护数据、调度数据而开辟的特殊数据区域。堆栈的一端是固定的(栈底),另一端是浮动的(栈顶),正常的堆栈操作,其信息的存取在浮动的一端进行。堆栈中的数据严格按照“先进后出(FirstInLastOut或FILO)”的原则进行存取操作,即数据是由栈顶压入和弹出的。由堆栈段寄存器SS提供段基值,堆栈指针寄存器SP提供偏移地址,每当压入或弹出数据时,SP的内容会自动修改,它始终指向堆栈的顶部。计算物理地址的公式是:物理地址(PA)=(SS)×10H+(SP)当需要对堆栈段中的某个单元的数据进行操作时,还可使用BP寄存器通过各种寻址方式得到有效地址EA作为偏移地址,这样其物理地址是:物理地址(PA)=(SS)×10H+EA2023年2月5日95(五)8086系统存储区的分配1.00000H~003FFH共1KB区域用来存放中断矢量,这一区域称为中断矢量表。中断矢量表的定义和作用参阅中断一章的有关内容。2.B0000H~B0F9FH是单色显示器的显示缓冲区,存放单色显示器当前屏幕显示字符所对应的ASCII码和属性。3.B8000H~BBF3FH约16KB是彩色显示器的显示缓冲区,存放彩色显示器当前屏幕像点所对应的代码。4.FFFF0H~FFFFFH共16个单元,一般用来存放一条无条件转移指令,转到系统的初始化程序。这是因为系统加电或者复位时,会自动转到FFFF0H执行。2023年2月5日962.3.18086/8088CPU引脚特性8086/8088CPU采用双列直插式的封装形式,有40条引脚,如图2.6所示。为了适应不同的应用环境,8086/8088CPU有两种工作方式:最大方式和最小方式,这由引脚加以控制。最小方式适用于单微处理器组成的小系统,在这种系统中,所有的总线控制信号都直接由8086/8088产生;最大方式适用于多微处理器组成的大系统,它包含两个或多个微处理器,其中一个就是8086/8088,称为主处理器,其他的处理器则称为协处理器。8088是一种准16位微处理器,它的内部数据总线是16位,外部数据总线是8位,在软件上8088与8086直接兼容,在硬件上除指令队列、第15引脚~第18引脚、第34引脚、第28引脚外,其他基本相同。我们主要了解最小模式下的8086CPU引脚。2023年2月5日972.3Intel8086/8088CPU的引脚2023年2月5日98图2.68086CPU和8088CPU引脚图(一)地址/数据总线AD15~AD0(AddressDataBus)这是分时复用的存储器或I/O端口地址和数据总线,双向工作,三态。在总线周期的T1状态作为地址线,输出要访问的存储器或I/O端口的地址;在总线周期的T2~T3状态作为数据线传输数据。(二)地址/状态线A19/S6~A16/S3(AddressStatus)地址/状态复用引脚,输出,三态。在总线周期的T1状态,用来输出地址的最高4位.在总线周期的T2、T3、TW和T4状态时,用来输出状态信息。当S6为0时,表示8086/8088CPU当前与总线连接。S5表明中断允许标志的当前设置,为1时,表示当前允许可屏蔽中断请求,为0则禁止一切可屏蔽中断请求。状态信号中的S4和S3用来指示当前使用哪一个段寄存器,具体规定如表2.2所

温馨提示

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

评论

0/150

提交评论