课程 教学安排

64
<< 微微微微微微微微微微 >> 微微 微微微微 微微 : 微微微微微微微微微微 微微 : 微微微 微微微 : 微微微微微 微微微微 :54 微微 ( 微微微 微微微微 :10 微微 ( 微微微 微微微微微微微微微 微微微微微 微微微微微微微微微微微微微微微微

description

课程 教学安排. 教材:微型计算机技术及应用 主编:李华贵 出版社:科学出版社 理论学时: 54 学时 ( 供参考) 实验学时: 10 学时 ( 供参考) 教材中的习题有解答,在长江大学 《 微机原理及应用 》 精品课程网站可以下载。. 第1章 微型计算机概述. 1.1 微处理器与微型计算机的发展概述 1.2 微型计算机系统的三个层次 1.3 微型计算机中的三种总线 1.4 微型计算机的主要性能指标 1.5 微型计算机运算基础概述. 教学目的和要求 - PowerPoint PPT Presentation

Transcript of 课程 教学安排

<< 微型计算机技术及应用 >> 课程 教学安排

教材 :微型计算机技术及应用

主编 :李华贵 出版社 :科学出版社 理论学时 :54学时 ( 供

参考) 实验学时 :10学时 ( 供

参考) 教材中的习题有解答,

在长江大学《微机原理及应用》精品课程网站可以下载。

第 1 章 微型计算机概述

1.1 微处理器与微型计算机的发展概述

1.2 微型计算机系统的三个层次

1.3 微型计算机中的三种总线

1.4 微型计算机的主要性能指标

1.5 微型计算机运算基础概述

教学目的和要求 通过本章的学习,使学生掌握微型计算机系统的三个层次,数的定点表示法、 32位和64位浮点数 IEEE754标准格式以及微机中常用的数字代码与字符代码,了解微型计算机三种总线结构以及微型计算机系统的主要性能指标。

微型计算机系统的三个层次。 数的定点表示法、 32位和 64位。浮点数的 IEEE754标准格式。

三种总线结构。

教学重点

教学难点

32位和 64位浮点数的 IEEE754标准格式。

1.1 微处理器与微型计算机的发展概况

  自 1946 年在美国宾夕法尼亚大学制成的世界上第一台电子数字计算机以来,计算机的发展大致经历了五代的变化:1946 年开始的第一代电子管计算机

  计算机运算速度一般为每秒几千次至几万次,体积庞大,成本很高,可靠性较低,在此期间,形成了计算机的基本体系,确定了程序设计的基本方法,数据处理机开始得到应用。

 1958年开始的第二代晶体管计算机 运算速度提高到几万次至几十万次,可靠性提高,体积缩小,成本降低,工业控制机开始得到应用,磁芯作主存储器, 磁盘作外存储器,开始使用高级语言编程。

1965 年开始的第三代中小规模集成电路计算机, 使用半导体存储器,出现多终端计算机和计算机网络,可靠性进一步提高 ,体积进一步缩小,成本进一步下降,运算速度提高到几十万次至几百万次。在此期间,形成机种多样化,生产系列化,使用系统化,小型计算机开始出现。

1971 年开始的第四代大规模集成电路计算机

  出现了微型计算机、单片微型计算机,外部设备多样化,可靠性更进一步提高,体积更进一步缩小,成本更进一步降低,速度提高到每秒几百万次至几千万次。

1986 年开始的第五代巨大规模集成电路计算机

  运算速度提高到每秒几亿次至上百亿次,由一片巨大规模集成电路实现的单片机开始出现。

微处理器发展过程

1.2 微型计算机系统的三个层次

  微型计算机系统从全局到局部分为三个层次:

  1. 微型计算机系统 2. 微型计算机 3. 微处理器

微处理器( Microprocessor)简称 µP或MP,或 MPU( Microprocessing Unit)。 MPU是采用大规模和超大规模集成电路技术将算术逻辑部件 ALU( Arithmetic Logic Unit)、控制部件 CU( Control Unit)和寄存器组 R ( Registers)三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。又称为“中央处理单元”( Central Processor Unit),简称 CPU。

一、微处理器

微型计算机( Micro Computer)是计算机的微型化,简称微机,它由 CPU、存储器、输入接口和输出接口以及总线组成。该层次就是已安装了 CPU和内存条的主板。微型计算机的硬件结构如图 1-1所示:

二、微型计算机

微处理器是微型计算机的核心,它的性能决定了整个微型机的各项关键指标。

1 .微处理器 (CPU)

2 .存储器 ( 用于存放程序与数据的半导体器件 ) 按读写方式可分为两种,一种是随机存取存储器RAM( Random Access Memory), RAM又分为静态存储器 SRAM和动态存储器 DRAM,在 PC机中,前者用作高速缓存,后者用作内存条,可随时将信息写入 RAM,也可随时从 RAM中读出信息。另一种是只读存储器 ROM( Read Only Memory),CPU只能从 ROM中读出预先写入的信息。

存储器均按字节编址。

I/O接口( Interface)是 CPU 与I/O设备之间的连接电路,不同的 I/O设备有不同的 I/O接口电路。

3 . I/O 接口

总线( BUS)包括地址总线、数据总线和控制总线三种。所谓总线,它将多个功能部件连接起来,并提供传送信息的公共通道,能为多个功能部件分时共享,总线上能同时传送二进制信息的位数称为总线的宽度。

CPU通过三种总线连接存储器和 I/O接口,构成了微型计算机。

4 .总线

( 1 )地址总线 AB ( Address

Bus ) 微处理器 数据总线宽度 地址总线宽度 最大存储器容量8086 16 20 1MB

8088 8 20 1MB

80186 16 20 1MB

80286 16 24 16MB

80386SX 16 24 16MB

80386DX 32 32 4GB

80486 32 32 4GB

Pentium 64 32 4GB

Pentium Pro 64 36 64GB

Pentium Ⅱ 64 36 64GB

Pentium Ⅲ 64 36 64GB

Pentium Ⅳ 64 36 64GB

( 2 )数据总线 DB ( Data Bus )

数据总线是 CPU和存储器、 CPU 和 I/O接口之间传送信息的数据通路,数据总线传输的方向为双向传输。数据总线的宽度越宽, CPU传输数据信息的速度越快, 8086 CPU数据总线为 16位, Pentium Pro的数据总线 64位,见表 1-1,分别表示 CPU一次可与存储器或 I/O接口传送 16位和 64位二进制信息。 

( 3 )控制总线 CB ( Control Bus )

CPU的控制总线按照传输方向分为两种,一种是由 CPU发出的控制信号,用以对其他部件的读控制、写控制等,另一种则是其他部件发向 CPU的,反过来实现对CPU的控制,在两种方向的控制信号中前者多于后者。

三、微型计算机系统

1.3 微型计算机中的三种总线结构 微型计算机体系结构分为三种,分别称为单总线结构、双总线结构和双重总线结构,如图1-3所示。

图1-3(a)是单总线结构微机的框图,实际上是图1.1的简化描述,在这种结构的微机中,存储器与I/O接口共享同一信息通路,CPU对存储器和I/O接口只能分时进行读写操作,显然,传输信息的效率低,一般中低档微机都采用这种结构,但它具有结构简单、成本低廉和容易实现等优点。

图 1-3(b)是双总线结构微机的框图, CPU和存储器、 CPU及 I/O接口各有一种总线,分别称谓存储器总线和 I/O总线,在这两种总线上可以同时传输信息,因而提高了系统传输信息的速率,有些高档微机采用了这种系统结构。

图 1-3(c) 是双重总线结构微机的组成框图,目前各种高档微机都采用这种双重总线结构。主 CPU既可通过局部总线访问局部存储器和局部 I/O接口,也可以通过全局总线访问全局存储器与全局 I/O接口,因而实现了双重总线上的并行操作,相当于提高了总线的带宽,从而大大提高了系统传输信息与处理数据的速度。

1.4 微型计算机系统的主要性能指标 一、字长 字长是 CPU内部一次能并行处理二进制数码的位数,字长取决于 CPU内部寄存器、运算器和数据总线的位数。字长越长,一个字所能表示数据的精度就越高,处理速度也加快。

CPU 的时钟频率也称 CPU的主频。 CPU是按照严格的时序进行工作的,产生时序的脉冲源是 CPU的时钟脉冲, CPU的时钟频率越高, CPU的工作节律加快,计算机系统的速度越快。

二、 CPU 的时钟频率

   主存也称内存,主存的容量以字节( Byte)为单元,简写为 B ,字节数量的大小,由 CPU能发出地址线位数多少来确定。

CPU只能访问内存,所有存放在外存中的程序与数据必须调入内存后才能被 CPU执行与处理,主存容量越大,则从外存调入内存所占用时间越少, CPU处理数据的效率就越高。并且内存容量越大,存放信息量越多,便于执行复杂的程序。

三、主存储器容量

   微型计算机一般配有硬、软盘驱动器,分别可以驱动硬盘和软盘。还配有光盘驱动器可驱动光盘, USB接口可以外接 U 盘,这些外存储器中,硬盘容量最大,决定了微机能存放系统软件和应用软件的多少,当前高档微机一般配接 80GB硬盘。

四、外存储器容量

要求微机配接外设种类齐全,配接方便灵活,而且扩展能力强。势必要求微机主板上硬件接口功能齐全,软件驱动程序功能要强。

五、外设的配置与扩展能力

1.5 微型计算机运算基础概述

  在微型计算机中,既可以实现定点运算,又有浮点运算部件实现浮点运算 。

   在计算机中,约定数据小数点的位置固定在某一位,原理上讲,小数点的位置固定在哪一位都行,但是,通常有两种定点格式,一是将小数点固定在数的最左边(即纯小数),二是固定在数的最右边(即纯整数)。

1. 定点数的表示法

  例如,用宽度为 n+1位的字来表示定点数 X,其中 X0表示数的符号,例如 1 代表负数, 0代表正数,其余位代表它的数位,对于任意定点数 X=X0X1X2……Xn,在定点计算机中可表示为:

①如果X为纯小数,小数点固定在 X0与 X1之间,数 X的表示范围为:

0≤|X|≤1-2-n

②如果X为纯整数,小数点固定在 Xn的右边,数 X的表示范围为:

0≤|X|≤2n-1

2. 浮点数的表示法( 1 )  任意一个十进制数 N 可以写成 N=10E×M ( 1-3)  任意一个二进制数 N 可以写成 N=2e×m ( 1-4) 例如, N=101.1101=20011×0.1011101

 同样,在计算机中一个任意进制数 N 可以写成:       N=Re×M  

  其中, m 为浮点数的尾数,是一个纯小数, e 是比例因子的指数,称为浮点数的指数,是一个纯整数,比例因子的基数 R 是一个常数,一般 R 取值为 2 ,也有取值为 8 、16两种情况。

2. 浮点数的表示法( 2 )   在计算机中存放一个完整的浮点数,应该包括阶码、阶符、尾数以及尾数的符号(数符)共 4 部分,即:

ES E1E2……Em MS

M1M2……Mn

阶符 阶码 数符 尾数

   两种标准格式一般按照 IEEE 754标准,采用 32位浮点数和64位浮点数

32位浮点数标准格式如下:

(1) 32 位浮点数标准格式

  在 32位浮点数中,约定基数 R=2, S 是尾数的符号位,即浮点数的符号位,它占一位,安排在最高位, 0 表示正数, 1 表示负数,尾数 M 占23位,放在低位部分,当然是纯小数。 E 是阶码,占 8 位,阶码采用了移码方法来表示,将阶码上移 127,即 E=e+127。

2. 浮点数的表示法( 3 ) 例【 1-1 】 按照 32位浮点数标准格式,求数 N=2011×0.1011101在计算机中表示的形式。

解: N=2011×0.1011101

=200000011×0.10111010000000000000000

其中,因为浮点数为正数,所以 S=0, M=10111010000000000000000, E=e+127=00000011+01111111=10000010

反之,一个 32位浮点数 N 的真值可表示为: N= (- 1 ) S×( 0.M ) ×2E-127  ( 1-5)

2. 浮点数的表示法( 4 )

例【 1-2】假设数 N=2011×0.1011101,求规格化 IEEE 754标准 32位浮点数的表示法。 解:数 N=2011×0.1011101

=200000011×0.10111010000000000000000

=200000010×1.01110100000000000000000

于是求得数 N 的 32位浮点数格式: S 仍为0 , E=e+127=00000010+01111111=10000001 , E值减少一个。

M = 01110100000000000000000 ,M 值左移一位。

根据规格化 32位浮点数的表示形式求数 N 的真值为:

N=(-1)S×(1.M)×2E-127    (1-6)

2. 浮点数的表示法( 5 ) (2) 64 位浮点数格式

它与 32位浮点数的组成原理相同,约定基数 R=2,尾数符号位 S 占一位,置于最高位,规格化的尾数 M占 52位,最左边一位1 已被隐藏,阶码 e 上移 1023,即 E=e+1023,移码形式的阶码占共计 11位。

反过来,已知一个规格化的 64位浮点数,求浮点数 N 的真值可表示为:

N=(-1)S×(1.M)×2E-1023 (1-7)

二、原码、反码与补码

1. 机器数与真值 ( 1) 机器数:带符号的二进制数称之为机器数 .

  二进制数最高位作为符号位 : 1表示负数, 0表示正数。

  例: 取 8 位字长时   10001111B 则可以代表 -15   00001111B 则可以代表 +15

在微机中,机器数有三种表示方法,即原码、反码与补码。

( 2)真值:机器数所能表示的值

2. 原码表示法

若定点整数的原码形式为 X0X1X2……Xn,则原码表示的定义是

X 2n > X≥0 [X]原 = 2n-X=2n +∣X∣ 0≥X>-2n (1-8)

X0为符号位,若 n=7,即字长8 位,则 ①X 取值范围: -127~ +127 ②[+0] 原=00000000

③[-0] 原=10000000

  采用原码表示法简单易懂,但它最大缺点是加法运算电路复杂,不容易实现。

3. 反码表示法

对于定点整数,反码表示的定义是: X 2n > X≥0 [X] 反 = (2n+1-1) +X 0≥X>-2n (1-9)

同样 n 取 7 ,即字长 8 位,那么 ①X 取值范围: -127 ~ +127 ②[+0] 反= 00000000

③[-0] 反= 11111111

4. 补码表示法

对于定点整数,补码表示的定义是: X 2n > X≥0

[X]补 = 2n+1 +X=2n+1 -∣X∣ 0≥X≥-2n (1-10)

同样如果 n 取 7 ,即字长 8 位,那么 ①X 取值范围: -128~ +127 ②[+0]补 =[-0]补 =00000000 ③[-10000000]补 =10000000 ④[[X] 补] 补=X,对已知的一个补码通过再一次求其补,便可还原出真值。

例【 1-3 】 若字长 8 位, X=126 , Y=-126,求

[X] 原、 [X] 反 、 [X] 补和 [Y] 原、 [Y] 反、[Y] 补。

解: [X] 原 =[X] 反 =[X] 补 =01111110

[Y] 原 =11111110

[Y] 反 =10000001

[Y] 补 =10000010

5. 补码的加减法运算及溢出的判断

(1)补码加法运算 规则: [X] 补+[Y] 补 = [X+Y] 补 (1-11)

条件: X 、 Y 以及 X+Y在定义域内 特点:符号位参与运算;以 2n+1为模进行加法,最高位相加产生的进位自然丢掉

根据运算后结果的符号位,对结果求补,即[[X+ Y] 补] 补=X+Y,便可还原出真值。

在下面所有例子的运算过程中,假定字长均是 8位

例【 1-4 】 X=+00001111 , Y=+01000000 ,求 X+Y

解: [X] 补 =00001111 [Y] 补 =01000000 00001111 + 01000000 01001111=[X+Y] 补 =X+Y ,结果正确。例【 1-5 】 X=-00001111 , Y=01000000 ,

求 X+Y解: [X] 补 =11110001 [y] 补 =01000000 11110001 + 01000000 1 00110001=[X+Y] 补 =X+Y ,结果正

确。

(2) 补码减法运算

由于 X-Y=X+(-Y),所以补码减法运算仍可用加法运算电路来完成,即 [X] 补+[-Y] 补=[X-Y] 补,同样通过 [[X-Y] 补] 补=X-Y,可以还原出真值。条件是X、 -X、 X-Y必须在定义域内。

例【 1-6 】 X=01000000 Y=00001111 ,求 X-Y

解: [X] 补=01000000 [-Y] 补 =11110001

01000000 + 11110001 1 00110001=[X-Y] 补 =X-Y ,结果正确。

(3) 溢出的判断

若参与操作的两数在定义域内,但运算结果超出了字长范围内补码所能允许表示的值,所计算出的结果产生了错误,称之为溢出

例如字长 8 位,补码表示数的范围是: -128≤x≤+127,若字长 n 位,补码所能表示数的范围是 -2n-1≤x≤2n-1-1,当运算结果超出这个范围时,便产生溢出,两个正数相加可能产生正的溢出,两个负数相加可能会产生负的溢出,正负两数相加不会产生溢出。

例【 1-7 】 C7C6

0 1 0 0 0 0 0 0 + 64 + 0 1 0 0 0 0 0 1 + 65 1 0 0 0 0 0 0 1 + 129>+127 , 结果错误,产生了溢出

两个正数相加,结果为负数形式,这是由于 +129>+127的原因,从上式可看出:C6=1, C7=0, OF=C6⊕C7=1⊕0=1,溢出标志 OF=1,表示有溢出。

例【 1-8 】 计算 -128-1 C7C6

[-128] 补 = 1 0 0 0 0 0 0 0

+ [-1] 补 = 1 1 1 1 1 1 1 1

1 0 1 1 1 1 1 1 1 两个负数相加,结果为正数形式,这是由于 -128-1=-129<-128的原因,从上式可看出C6=0, C7=1, OF=C6⊕C7=0⊕1=1,表示有溢出。

例【 1-9 】计算 64-1

C7C6

[+64] 补 =0 1 0 0 0 0 0 0

+ [-1] 补 =1 1 1 1 1 1 1 1

1 0 0 1 1 1 1 1 1 运算结果正确。 C7=1 , C6=1,则OF=C6⊕C7=1⊕1=0,无溢出。

三、微机中常用的数字代码与字符代码

1. 数字代码(1) 数字代码的表示 BCD码是一种常用的数字代码,它的编码方法是将每个十进制数用 4 位二进制数表示,从而实现了用二进制数表示十进制数。在计算机中,最常用的 BCD码是 8421码,称为标准 BCD码,每个 BCD码每位上对应的权值与二进制权值相同,十进制数 0 ~ 9 的BCD码则为 0000 、 0001……1001。

( 2 )标准 BCD 码的加法

由于计算机中的基本运算电路只能作二进制加法运算,如果利用它实现 BCD码相加,必须要找出将二进制加法运算电路适应标准 BCD码相加的规则,然后遵循该规则设计出 BCD码相加的运算电路。

例【 1-10 】 0100 0101 + 0101 0100 1001 1001 结果正确

例【 1-11 】 0100 0101 + 0101 0101 1001 1010 结果不正确 + 110 个位加 6 修正 1010 0000 结果还不正确 + 110 十位加 6 修正 1 0000 0000 结果正确

BCD 码加法的规则: 两个 BCD数对应的 BCD码位用二进制加法相加,若产生的和小于 10则保持不变,结果正确;如果产生的和≥ 10,则在和数上作加 6 修正。

两个 BCD数对应的 BCD码位用二进制加法相加后,如果向高位 BCD码产生了进位,说明逢十六进一,丢掉了 6 ,所以也要作加 6 修正。加6 修正的原因是:运算电路只能逢十六进一,不能逢十进一。

(3) 标准 BCD 码的减法

BCD 码减法规则: 两个 BCD数对应的 BCD码位用二进制相减,不发生借位则结果正确。

两个 BCD数对应的 BCD码位用二进制相减,若低位向高位发生了借位,表示借 16,而不是借 10,在低位上要作减 6 修正。

2. 字符代码

微机中常用的是 ASCⅡ 码(美国信息交换标准代码) ,如表 1-2所示:

它包括 10个十进制数码, 26个英文字母和一些专用符号,总共 128个字符的 ASCⅡ 码,因此,只需要一个字节中的低 7 位编码,最高位可用作奇偶校验位,当最高位恒取 1 ,称为标记校验,当最高位恒取 0 ,称作空格校验。

128 个 ASCⅡ 字符中有 95个编码,它们分别对应计算机中在输入 / 输出终端设备上能键入和输出显示以及输出打印的 95个字符,包括大小写英文字母,其余 33个编码,其编码值为 0∼31和127,则不对应任何显示与打印实际字符,它们被用作为控制码,控制计算机I/O设备的操作以及计算机软件的执行情况。

低位 LSB高位 MSB

0000

1001

2010

3011

4100

5101

6110

7111

012345

0000

0001

0010

0011

0100

0101

NULSOHSTXETXEOTENQ

DLEDC1DC2DC3DC4NAK

SP!″#$%

012345

@ABCDE

PQRSTU

、abcde

pqrstu

6789A

0110

0111

1000

1001

1010

ACKBELBSHTLF

SYNETBCANEMSUB

&,()*

6789

FGHIJ

VWXYZ

fghij

vwxyz

BCDEF

1011

1100

1101

1110

1111

VTFFCRSOSI

ESCFSGSRSUS

+′-·/

;<=>?

KLMNO

[\]↑←

kl

mno

{|}~

DEL

NUL 空 HT 横向列表 (穿孔卡片指信令 )

FF 走纸控制 DC4 设备控制 4

SOH 标题开始 LF 换行 CR 回车 NAK 否定应答

STX 正文结束 SYN 空转同步 SO 移位输出 FS 文字分隔符

ETX 本文结束 ETB 信息组传送结束 SI 移位输入 GS 组分隔符

EOT 传输结果 CAN 删去符 SP 空格 RE 记录分隔符

ENQ 询问 EM 纸尽 DLE 数据链换码 US 单元分隔符

ACK 承认 SUB 减 DC1 设备控制1

DEL 作废

VEL 报警符 ESC 换码 DC2 设备控制2

BS 退一格 VT 垂直制表 DC3 设备控制3

1.1 1.3 1.4 1.5 1.8

习 题 1