微机原理课讲解.docx

上传人:b****3 文档编号:5275377 上传时间:2022-12-14 格式:DOCX 页数:23 大小:101.33KB
下载 相关 举报
微机原理课讲解.docx_第1页
第1页 / 共23页
微机原理课讲解.docx_第2页
第2页 / 共23页
微机原理课讲解.docx_第3页
第3页 / 共23页
微机原理课讲解.docx_第4页
第4页 / 共23页
微机原理课讲解.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

微机原理课讲解.docx

《微机原理课讲解.docx》由会员分享,可在线阅读,更多相关《微机原理课讲解.docx(23页珍藏版)》请在冰豆网上搜索。

微机原理课讲解.docx

微机原理课讲解

微机原理课1讲教案

绪论

§1-1计算机的发展概况及分类

§1-1-1计算机的发展概况

1946年,第一台计算机在美国诞生,至今已有近60年的历史。

60年来,计算机经历了迅猛的发展,得到了广泛的普及,对整个社会的进步和科学的发展产生了极其深远的影响。

在此期间,计算机经历了电子管计算机时代、晶体管计算机时代、集成电路计算机时代、大规模及超大规模集成电路计算机时代。

计算机的功能已经从早期的数值计算、数据处理发展到可以进行知识处理的人工智能阶段,不仅可以处理文字、字符、图形图象信息,而且可以处理音频、视频信息,形成了智能化的多媒体计算机。

在推动计算机技术发展的诸多因素中,除了计算机的系统结构和计算机的软件技术发展起到了重要的作用之外,电子技术特别是微电子技术的发展也起到了决定性的作用。

70年代初,随着大规模集成电路的出现,原来体积很大的中央处理器(CPU)电路集成为一个只有十几平方毫米的半导体芯片,称为微处理器(MPU)。

微处理器的出现,开创了微型计算机的新时代。

以微处理器为核心,再配上半导体存储器(RAM、ROM)、输入/输出接口电路(I/O接口电路)、系统总线以及其他支持逻辑,这样组成的计算机,称为微型计算机。

微型计算机的出现,是计算机技术发展史上的一个新的里程碑,为计算机技术的发展和普及开辟了崭新的途径。

由于微型计算机具有体积小、重量轻、价格便宜、耗电少、可靠性高、通用性和灵活性好等特点,加上超大规模集成电路工艺技术的迅速发展和成熟,使微型计算机技术得到了极其迅速的发展和广泛的应用。

从1971年美国INTEL公司首先研制成功世界上第一块微处理器芯片4004以来,在头十年中,差不多每隔2~3年就推出一代新的微处理器芯片,如今已经推出了多代微处理器产品。

微处理器是计算机的核心部件。

它的性能在很大程度上决定了微型计算机的性能,因此,微型计算机的发展是以微处理器的发展来更新换代的。

第一代(1971~1973)微处理器和微型计算机是4位微处理器和低档8位微处理器时代。

在这一时期,典型的产品有INTEL4004、INTEL8008。

其中INTEL8008是第一个8位通用微处理器,以4004、8008为CPU构成的微型计算机分别是MCC-4和MCS-8。

主要应用于各种袖珍计算器、家电、交通灯控制等简单控制领域。

第二代(1973~1978)微处理器和微型计算机是成熟的8位微处理器时代。

1973年INTEL公司推出了性能更好的8位微处理器8080。

它的出现,加速了微处理器和微型计算机的发展。

MOTOROLA公司的MS6800,ZILOG公司的Z80,INTEL公司的8085等。

广泛用于数据处理、工业控制智能仪器仪表及家电等各个领域。

第三代(1978~1983)是16位微处理器时代。

70年代后期,超大规模集成电路的成熟,进一步推动了微处理器和微型计算机生产技术向更高层次发展。

1978年,INTEL公司率先推出了新一代16位微处理器8086,随后,INTEL公司的8086/8088,MOTOROLA公司的MC68000和ZILOG公司的Z8000,这些高性能的16位微处理器成为当时国内外市场上流行的典型产品,集成度高达29000管/片。

INTEL8086/8088内部采用流水线结构,设置了指令预取队列,使处理速度大大提高。

INTEL公司推出了十六位微处理器中的高档芯片80286,它具有多任务系统所必须的任务切换功能、存储器管理功能和多种保护功能,支持虚拟存储体系结构,地址总线从20位增加到24位,存储器直接寻址空间达到16MB,时钟频率提高到5MHZ~25MHZ。

从80年代中、后期到90年代初,80286一直是个人计算机IBMPC/AT机的主流型CPU。

同期的产品还有MOTOROLA的MC68010。

第四代(从1983年起)是32位微处理器时代。

这一时期的典型产品有ZILOG公司推出的Z80000、MOTOROLA公司推出的MC68020、INTEL公司推出的80386、80486、MOTOROLA公司推出的68040等。

第五代(1993)是INTEL推出的Pentium微处理器(简称P5或586)。

Pentium微处理器的推出,使微处理器的技术发展到了一个崭新的阶段,标志着微处理器完成从CISC向RISC时代的过度,也标志着微处理器向工作站和超级小型机冲击的开始。

同期的产品还有AMD公司的K5,IBM、APPLE、MOTOROLA三家联合推出的POWORPC。

继PentiumPRO之后,Intel公司又推出了PentiumⅡ、PentiumⅢ、PentiumⅣ等微处理器的极品,成为PC机的主流CPU。

随着LSI和VLSI技术的进一步发展,微处理器的集成度越来越高,芯片功能越来越强。

从微型机总的发展情况看,为了使微处理器获得高性能,一方面提高集成度,另一方面在系统设计上追求综合性能的提高,更加全面的采用中大型计算机体系结构中的先进技术,如流水线技术、高速缓存技术、虚拟存储管理技术、RISC技术、并行处理技术,更好地支持多处理器运行环境、多媒体技术和计算机网络应用等。

§1-1-2计算机的分类

微处理器的字长也就是微型机的字长,字长是最能反映机器性能的技术指标之一。

按照微处理器的字长分类,一般可分为4位、8位、16位、32位和64位机等几种。

如果将微型计算机按照其组装形式来分,可将其分为单片机、单板机和多板微型计算机。

§1-2微型计算机的特点及应用

§1-2-1微型计算机的特点

电子计算机通常按照体积、性能和价格分为巨型机、大型机、中型机、小型机和微型机五类。

从系统结构和基本工作原理上说,微型机和其它几类计算机并没有本质上的区别,所不同的是微型机广泛采用了集成度相当高的器件和部件,因此带来以下一系列特点:

●体积小、重量轻、功耗低

由于微型计算机中广泛采用了大规模和超大规模集成电路,从而使构成微型机所需要的器件和部件数量大为减少,使之体积大大缩小。

●可靠性高、使用环境要求低

微机计算机采用大规模和超大规模集成电路以后,使得系统内使用的器件数量大大减少,器件、部件间的连线大大减少,接插件数目减少,加上MOS电路本身工作所需的的功耗就很低,这些都使微型机的可靠性大大提高,因而,也就降低了对使用环境的要求。

●结构简单、系统设计灵活、适应性强、使用方便

由于微型计算机多采用规模化的硬件结构,特别是采用总线结构后,使微机系统真正成为一个开放的体系结构,构成系统的各功能部件和各种适配卡通过标准的总线插槽相连。

相互间的关系变为面向总线的单一关系,大大增加了系统扩充的灵活性和方便性。

●软件配置丰富

计算机的优良硬件性能是通过丰富多彩的软件体现在人们面前的。

因此,软件是计算机的灵魂。

如今,微型计算机之所以得到如此空前的普及和广泛应用,是与它能配置丰富的软件密切相关,从系统软件到应用软件应有尽有,而且功能强、使用方便,这就加速了微型机在人类社会的普及。

●性能价格比高

性能价格比是指机器性能与售价之比。

它是衡量计算产品成本性能优劣的一个综合指标,性能包括字长、主频、速度、配置、可靠性、可操作性等;价格指售价。

微处理器最突出的优点之一就是价格低廉、性能优良。

§1-2-2微型计算机的应用

1.工业控制

2.事物处理

3.计算机辅助设计和辅助制造CAD/CAM

CAD是指用计算机帮助设计画图,可使得设计过程走向半自动化和自动化。

CAM的中心设备是数控机床,围绕数控机床有一组自动化设备,用以完成加工件的运输、组装、加工、测量、检查等功能。

CAD/CAM能大量节省人力,提高效率。

更重要的是提高质量,并使以往人工难以完成的任务成为可能。

4.教学培训

5.家庭娱乐和家政事物管理

6.科学和工程计算

§1-3计算机的基础知识

§1-3-1计算机中的数据表示及编码

一.进位计数制及数制转换

人类在长期的生产劳动实践中创造了我们最熟悉的十进制,而生活中还有十二和十六进制等多种数系,其共同之处是采用进位计数制。

1.进位计数制

进位计数制是采用位置表示法,即处于不同位置的同一数字符号,所表示的数字不同。

一般说来,如果数制只采用R个基本符号,则称为基R数制,R称为数制的“基数”或简称“基”;而数制中每一固定位置对应的单位值称为“权”。

进位计数制的编码符合“逢R进位”的规则,各位的权是以R为底的幂,一个数可以按权展开成多项式,例如“逢十进一”的十进制数1992.5可写为

1992.5=1×103+9×102+9×101+2×100+5×10-1

对R进制数N,若用n+m个代码Di(-m≤i≤n-1)表示,从Dn-1到D-m自左至右排列,其按权展开多项式为:

N=Dn-1Rn-1+Dn-2Rn-2+…+D0R0+D-1R-1+…+D-mR-m

其中Di为第i位代码,它可取0~(R-1)之间的任何数字符号;m和n均为正整数,n表示整数部分的位数,m表示小数部分的位数;Wi表示Di位的权,它是以R为底的幂。

下面是计算机常用的进位计数制:

二进制R=2基本符号0,1

八进制R=8基本符号0,1,2,3,4,5,6,7

十进制R=10基本符号0,1,2,3,4,5,6,7,8,9

十六进制R=16基本符号0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

其中,十六进制中的数符A~F字母,分别对应十进制的10~15,例如一个十六进制数8AE6可以写为:

8AE6H=8×163+10×162+14×161+6×160

在数8AE6后面加H是为了识别十六进制数而加的标识字母。

由于二进制数书写长,难读难懂,为书写方便,计算机中经常使用8进制或16进制。

人们又习惯于十进制,而计算机内必须采用二进制,故上面四种进制是经常要用的。

为了识别起见,二进制数尾加B作标识,十进制数尾加D或省略,八进制数尾加Q,十六进制数尾则加H。

使用四种进制必然产生各种数制间的相互转换问题。

2.进位计数制间的相互转换

不同进位计数制数据转换,其实质是进行基数的转换,转换原则是根据:

两个有理数相等,其整数部分和小数部分分别相等。

故要分别进行转换。

(1)二进制与十进制转换

a.二进制转换为十进制

其转换规则为“按权相加”,即只要把二进制数中位数是1的那些位的权值相加,其和就是等效的十进制数。

二进制数整数与小数部分各位权值对应的十进制数值为:

…210292827262524232221202-12-2…

…102451225612864321684210.50.25…

例1.1将10101101.101B转换为十进制数

10101101.101B=27+25+23+22+20+2-1+2-3

=128+32+8+4+1+0.5+0.125

=173.625D

该转换规则同样适用于将八进制数和十六进制数转换为十进制数,只是相加各项是八进制或十六进制数符与数位权值之和。

例1.2将312Q和2A.68H转换为十进制数

312Q=3×82+1×81+2×80=3×64+8+2=202D

2A.68H=2×161+10×160+6×16-1+8×16-2

=32+10+0.375+0.03125

=42.40625D

b.十进制转换为二进制

整数部分转换——将十进制数连续用基数2去除,直到商数到0为止,每次除得的余数依次为二进制数由低到高的各位值,简称“除2取余”法。

例1.3将47D转换为二进制数

47

2

23

2

11

2

5

2

2

2

1

2

1

0

1

1

1

1

 

高位低位

所以,47D=101111B。

同理,将十进制数转换为R进制数,按照“除R取余”规则即可。

例1.4十进制数725D转换为十六进制数。

按“除16取余”方法进行。

16725余数5

1645余数13(D)

162余数2

0

转换结果:

725D=2D5H

小数转换——将十进制小数部分连续乘以2,每次所得乘积的整数部分,依次为二进制数从高到低的各位值。

转换规则简称“乘2取整法”。

例1.5将0.6875D转换为二进制数。

0.68750.37500.75000.5000

2222

1.37500.75001.50001.0000

1

0

1

1

高位低位

所以,0.6875D=0.1011B

需要注意的是,十进制小数常常不能准确地换算为等值的二进制数,有换算误差存在,转换后的二进制数位数,根据字长限制取有限位的近似值。

同理,十进制小数转换为二进制,可以按照“乘R取整”方法进行。

对于具有整数和小数的复合十进制数,只要将整数和小数部分分别按照上述转换方法进行,最后将其二进制整数和小数部分用小数点连接即可。

例如从例3和例5可得:

47.6875D=101111.1011B

(2)二进制与八进制和十六进制之间转换

由于八进制、十六进制既可简化书写,又便于记忆,而且与二进制之间转换方便、直观,因此在汇编语言程序及机器语言中指令、数据书写多采用八进制和十六进制。

由于八、十六进制基数与二进制有内在联系,即:

23=8,24=16。

因此,每一位八进制数可以转换为三位二进制数,每一位十六进制数可以转换为四位二进制数,转换直接而且方便。

a.二—八进制转换

将二进制数以小数点为界,左右分别按照三位一组划分,不足三位者用零补齐,即可换算出对应的八进制数。

例1.6把110111101.011100B转换为八进制数。

110111101.011100

675.34

即110111101.011100B=675.34Q

反之,由八进制转换为二进制只需要把各自对应的三位二进制写出即可。

例1.763.52Q转换为二进制数。

63.52Q=(110)(011).(101)(010)B

=110011.10101B

b.二—十六进制转换

将二进制数转换为十六进制数和二—八进制转换方法一样,只是将二进制数按照四位一组进行划分转换。

例1.8把10111001.01101B转换为十六进制数。

10111001.01101B=(1011)(1001).(0110)(1000)B

=B9.68

所以,10111001.01101B=B9.68H

反之,将十六进制数各位数码用相应四位二进制数表示,即可转换为等效的二进制数。

例1.9把5F.7A5H转换为二进制数。

5F.7A5H=(0101)(1111).(0111)(1010)(0101)B

=01011111.011110100101B

二.数值数据表示

本节我们着重讨论两个问题:

数值数据在机内的定点和浮点表示方法;数据的编码方式。

1.机器数的定点和浮点表示

把数值数据送入计算机处理,仅转换为二进制还不行,必须解决数的符号表示,小数点位置以及用有限设备表示的有效数值范围等问题。

数在机器内部的表示形式称为机器数,而计算机对应的数值称为机器数的真值。

机器数被存放在有记忆功能的存储器件中。

机器数的符号是数字化处理的,用一位编码表示,通常用0表示正数,1表示负数。

机器数的小数点位置是事先约定的,它在机器数表示格式中并不出现,但根据设计格式,计算机在运算处理中却清楚地知道其位置。

按照规定格式,机器数有定点和浮点两种表示形式。

(1)定点表示

由于采用进位计数制,任何一个二进制数N都可以表示为:

N=2EM

其中:

E是一个二进制整数,称为数N的阶数;2为底数,M是二进制尾数,它表示该数的全部有效数字,而阶码E则指明了小数点位置,表明数值范围。

对任一数N=2EM,若阶码E固定不变,则小数点位置是固定的,这种表示则称为数的定点表示,该数称为定点数。

计算机中定点数通常有两种约定:

一是取E=0,把小数点固定在尾数最高位之前,一是取E=n(n为尾数的位数),则把小数点约定在尾数最末位之后,这两种情况阶码无须表示,前者即为定点小数,后者即为定点整数,其格式如图1-1中(a)、(b)所示。

10110010

ns

数符数值

假想小数点的位置

N=-0.0110010

(a)定点小数

01001001

ns

数符数值

假想小数点的位置

N=+1001001

(b)定点整数

图1-1定点数表示

以上两种定点数的表示,计算机均可采用,目前微型机中,多采用定点整数形式。

这里需要强调的是:

小数点位置是假想位置,当机器设计时将表示形式约定好,则各种部件及运算线路均按约定形式进行设计。

机器数字长确定后,其数值表示范围即可确定。

例如对定点小数,机器数定长N位,其中一位符号位,n位有效数值,则N位定点小数表示范围为:

1.11…11(最小值)到0.11…11(最大值)

n位n位

对应真值表示范围为:

-(1-2-n)X1-2-n

例如,N=16位,则对应表示的真值范围为

-(1-2-15)X1-2-15

用n位设备存放定点整数,则所能表示的真值为负n位全1到正n位全1,即

-(2n-1)X2n-1

若N=16位则为:

-(215-1)X215-1

若用n位表示无符号整数,则其整数值表示范围:

0~2n-1

计算机中参加运算的数,若超过计算机所能表示的数值范围,则称之为溢出。

这时,计算机要对溢出进行相应处理操作。

(2)浮点表示

当阶码值不固定时,数的小数点实际位置将根据阶码值相对浮动,这就构成数的浮点表示。

浮点表示要把机器数分为两部分,一部分表示阶码,另一部分表示尾数,阶码和尾数均有各自的符号位。

阶符表示数的实际小数点相对约定小数点位置的浮动方向:

若阶符为负,实际小数点在约定小数点左边,反之在右边,其位置则由阶码值确定,而尾数符号代表了浮点数的符号。

图1-2所示为浮点数的一种表示形式。

es

E(r位)

ms

M(n位)

阶符阶码尾符尾数

图1-2一种浮点数表示形式

若尾数用n位小数表示,浮点数的表示范围根据阶码位置r和尾数位数n决定,其浮点数表示范围为:

a=(2r-1)

-2a×(1-2-n)X+2a×(1-2-n)

例如对十六位机器字长,阶码4位(包括一位符号),尾数12位(一位符号),则数值表示范围:

(阶码4位(含1位符号)为定点整数,尾数12位(含1位符号)为定点小数。

a=(23-1)=7

-27×(1-2-11)X+27×(1-2-11)

或-128×(1-2-11)X+128×(1-2-11)

可以看出,要扩大数的表示范围,应增加阶码的位数;而要增加精度,就需要增加尾数的位数。

对同样字长,浮点数比定点数表示的数值范围要大许多,但浮点数运算操作复杂。

浮点数产生溢出,实质上是阶码溢出。

2.机器数的编码表示

数值数据在计算机内采用符号数值化处理后,机器可以表示并识别带符号的数据。

为了改进运算方法、简化控制电路,人们研究出多种符号数的编码方式,如原码、反码、补码等。

这里我们介绍最常用的原码和补码形式。

(1)原码

前面已经讨论过最简单直观的机器数表示,即仅将符号位数字化表示为0或1,数的绝对值与符号一起编码,或者说是“符号-绝对值表示”的编码,称为原码。

例:

X=+0110111〔X〕原=00110111

X=-0110111〔X〕原=10110111

其中〔X〕原称为机器数,X称为机器数的真值。

因此,原码直接可从真值求得,只要将符号位用0和1表示真值的正号和负号,真值的绝对值就是原码的数值部分。

当采用原码表示法时,编码简单直观,与真值转换方便,但也带来一些麻烦。

一是引起机器中0的表示不唯一,因为+0原=000…0,-0原=100…0,0有二义性,给机器判0带来麻烦,必须在设计时约定好机器采用正零或负零。

二是用原码进行四则运算时,符号位需要单独处理,而且原码加减运算规则复杂。

例如对有符号数的加法规则为:

若两个数同号,两数相加,结果冠以共同的符号;若两个数异号,则由大数中减去小数,结果冠以大数的符号。

而减法又有一套规则。

(2)补码

为使数字化后的符号位能作为数参加运算,并解决减法转换为加法的问题,以简化计算机的运算线路,就产生了补码表示。

如果我们想把十进制减法变成加法做,用什么办法呢?

减一个十进制数可采用加该数的十进制补数,然后丢弃进位得到相减结果,一个数的十进制补数是用10减去该数得到的。

例如,十进制减法:

9-2=7,2的补数是10-2=8

因此9-2=9+8=177(丢掉进位)

这里,实际是把10看成一个模数,记作M。

模数在物理上,是某种计量器的度量。

在模数系统中:

9-2=9+8=177(Mod10)

上式之所以成立,是因为2与8对模数10是互为补数的,即8=10-2。

生活中使用的模数系统很多,例如时钟为12,有下式成立:

8-3=8+95(Mod12)

因为9=12-3。

该式表明将时钟从8点倒拨3格和正拨9格效果一样,时钟均指向5点,我们称+9为-3在模12下的补码,即-3=9(Mod12),这样就可以把减法转换为加法。

计算机中的机器数及其存储、运算设备,如寄存器、加法器等都有固定的长度,因此,都只能进行有模的计算。

N位设备存放n位二进制代码,则2n就是其模数,因为两数相加求和时,如果n位的最高位产生了进位,就会丢掉,这正是模数系统中相加的概念。

所以,对任何一个二进制负数都可以找到对应于模数为2n的正补数,从而将减法运算变为加法运算。

同时,由于n位字长中包括一位符号位,故补码运算中的符号和数一起运算。

对补码的产生、定义和有关性质的证明,不准备进行过多的讨论,我们只需要了解补码的形式及其运算特点。

a.补码的求法。

由以上讨论可知,对一个二进制负数可用其模数与真值作加法(实际作减法,因真值为负)求得其补码,即按定义式求

X0X2n-1

X补=(mod2)

2n+X-2n-1X0

但在机器中实现不方便,因机器中不存在数的真值表示,由于原码表示简单直观,因此在计算机中数是以原码存储的。

我们可从数学推导得出一个简便方法,直接从原码求得负数补码。

对正数,其补码和原码相同。

负数的补码则是将原码符号位保留,其余各位取其反码,即0变1,1变0,再在最低位加1。

而正数的补码与原码相同。

除符号位外

X原=X补

每位取反,末位加1

例1.10求X=+1010101的补码。

X是正数,X补=X原=01010101

例1.11求X=-0101110的补码。

X是负数,=10101110

X补=11010001+1=11010010

b.补码特点

机器数采用补码表示后,具有如下几个特点:

1正零、负零表示均为全零,机器零表示统一

〔+0〕补=00…0〔-0〕补=11…1+1=100…0

n位n位

自动丢失

所以,〔+0〕补=〔-0〕补=00…0

2运算时符号位无须单独处理。

符号位可作为数值一起参加运算,而且在不溢出的情况下,仍能得到正确的结果符号。

这是由补码性质决定的。

3采用补码进行加减法运算时,减法可用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1