微机原理及应用 第1章学习资料_第1页
微机原理及应用 第1章学习资料_第2页
微机原理及应用 第1章学习资料_第3页
微机原理及应用 第1章学习资料_第4页
微机原理及应用 第1章学习资料_第5页
已阅读5页,还剩74页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

微型计算机原理及应用

(第四版)新世纪计算机基础教育丛书主编郑学坚

绪论计算机技术的重要性

1、各学科发展的强力催化剂

2、无论学何专业,都必须具备计算机的基础知识和应用能力。计算机是大众化的工具。

3、计算机知识还能培养信息素养,是高等教育中极为重要的一部分。计算机应用人才队伍

1、计算机专业毕业,是骨干力量。

2、非计算机专业毕业,人数众多,既熟悉本专业,又掌握计算机的应用知识,善于用计算机作为工具解决本领域的任务。是基本力量。优势巨大。计算机原理:着重讲述计算机的基本结构、内部信息流通和指令系统的基本原理,是有关计算机的硬件问题的分析。计算机高级语言:可以脱离硬件结构而专门讲述编写程序的技巧。汇编语言:是和机器密切相关的,是面向机器的语言。CPU不同的机器有不同的汇编语言。学时安排

64个学时,授课56学时,实验8学时。课程特点

理论联系实际非常紧密的课程,

课程内容更新极快。

内容多,学时少,进度快,难度大,应用广

教师在这里只起到抛砖引玉的作用收获与时间成正比,花时间越多,收获将越大。总目录第1章二进制数加法电路第2章微型计算机的基本组成电路第3章微型计算机的基本工作原理第4章16位微处理器第5章32位微处理器第6章PC的总线及整机结构第7章汇编语言及汇编程序第8章汇编语言程序设计第9章输入/输出接口第10章中断技术第11章常用可编程接口芯片第12章A/D及D/A转换器第13章微型计算机在自动控制系统中的应用

现代计算机是在微电子学高速发展与计算数学日臻完善的基础上形成的,可以说现代计算机是微电子学与计算数学相结合的产物。微电子学的基本电路元件及其逐步向大规模发展的集成电路是现代计算机的硬件基础,而计算数学的数值计算方法与数据结构则是现代计算机的软件基础。

本章只是简要地阐述计算机中最基本的电路元件及最主要的数学知识。这些内容都是以下各章的基础。本章的目的是使本书能够自成系统,从而不必依赖于更多的参考书籍。

1.0微型计算机概述

1.0.1微型机发展简史

首先让我们对计算机的发展简史有一个一般了解。

20世纪40年代,无线电技术和无线电工业的发展为电子计算机的研制准备了物质基础,1943年~1946年,美国宾夕法尼亚大学研制的ENIAC(ElectronicNumericalIntegratorAndComputer,电子数字积分器和计算机)是世界上第一台电子计算机。当时,第二次世界大战正在进行,为了完成新武器在弹道问题中许多复杂的计算,在美国陆军部的资助下开展了这项研究工作,ENIAC计算机于1945年年底完成,1946年2月正式交付使用。

因为ENIAC计算机是最早问世的一台电子数字计算机,所以人们认为它是现代计算机的始祖。ENIAC计算机共用18000多个电子管,1500个继电器,重达30吨,占地170平方米,耗电140kW,每秒钟能进行5000次加法计算,领导研制的是宾夕法尼亚大学的莫克利(J.W.Mauchly)和埃克特(J.P.Eckert)。该计算机存在两个主要缺点,一是存储容量太小,只能存20个字长为10位的十进制数;二是用线路连接的方法来编排程序,因此每次解题都要依靠人工改接连线,准备时间大大超过实际计算时间。

ENIAC(1946)掌上电脑(2000)

在研制ENIAC计算机的同时,冯·诺依曼(VonNeumann)与莫尔小组合作研制了EDVAC计算机,该计算机采用了存储程序方案,其后开发的计算机都采用这种方式,称为冯·诺依曼计算机。冯·诺依曼计算机具有如下基本特点:(正确理解、熟练掌握冯·诺依曼的设计思想与原理)

(1)计算机由运算器、控制器、存储器、输入设备和输出设备五部分组成。

(2)采用存储程序的方式,程序和数据放在同一个存储器中,指令和数据一样可以送到运算器中运算,即由指令组成的程序是可以修改的。(3)数据以二进制码表示。

(4)指令由操作码和地址码组成。

(5)指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的单元地址,一般按顺序递增,也可按运算结果或外界条件而改变。

(6)机器以运算器为中心,输入/输出设备与存储器间的数据传送都通过运算器。冯·诺依曼计算机开辟了“存储程序自动控制”现代计算机的先河,目前的计算机基本是基于冯·诺依曼计算机的模型和原理研制的。

运算器ALU控制器

CPU

存储器输入设备输出设备诺依曼计算机的工作原理可概述为:“存储程序”+“程序控制”要点:1.以二进制表示数据和指令(程序)2.

先将程序存入存储器中,再由控制器自动读取并执行

根据电子计算机所采用的逻辑器件的发展,一般把电子计算机的发展分成四个阶段,习惯上称为四代,相邻两代计算机之间在时间上有一定的重叠。我们来作一般性的了解。

第一代:电子管计算机时代(从1946年第一台计算机研制成功到20世纪50年代后期)。这一时期的计算机采用电子管作为基本器件。

第二代:晶体管计算机时代(从20世纪50年代中期到60年代后期)。这一时期计算机的主要器件逐步由电子管改为晶体管,因而缩小了体积,降低了功耗,提高了速度和可靠性,而且价格不断下降。

在这一时期开始重视计算机产品的继承性,形成了适应一定应用范围的计算机“族”,这是系列化思想的萌芽,从而缩短了新机器的研制周期,降低了生产成本,实现了程序兼容,方便了新机器的使用。

第三代:集成电路计算机时代(从20世纪60年代中期到70年代前期)。这一时期的计算机采用集成电路作为基本器件,因此功耗、体积、价格等进一步下降,而速度及可靠性相应地提高,使计算机的应用范围进一步扩大。正是由于集成电路成本的迅速下降,产生了成本低而功能不是太强的小型计算机供应市场,占领了许多数据处理的应用领域。

第四代:大规模、超大规模集成电路计算机时代。20世纪70年代初,半导体存储器问世,迅速取代了磁芯存储器,并不断向大容量、高速度发展。此后,存储器芯片集成度大体上每三年翻两番(1971年每片1Kb,到1984年达到每片256Kb,1992年16Mb动态随机存储器芯片上市),这就是著名的摩尔定律

后来摩尔定律用来描述微处理器的工作速度,在一定成本下,大体上也是每18个月翻一番。专家预计,芯片性能呈指数增长将在今后几年放缓,有关人士认为摩尔定律能再适用10年左右。第五代:目前正在过度期,其研究重点主要放在人工智能计算机的突破上,它的主攻目标是实现更高程度上模拟人脑的思维功能。

日本理化研究所:下一代超级计算机——“通用京速计算机”。

“通用京速计算机”建在神户市港湾人工岛上。地上3层地下1层的计算机楼、安置超级计算机冷却用水和空气的大型循环设备的热源机械楼、超过100名研究人员常驻的研究楼等

据介绍,计算机楼中用来放置超级计算机的3楼面积共约2800平方米,整个3楼没有一根柱子,据说这样能使计算机的排列更加高效,有助于提高运行速度。应用前景

作为下一代超级计算机的“通用京速计算机”每秒能进行1京(1万万亿)次浮点运算,将应用于地球环境和灾害等预测、新型半导体材料和新药研发等领域。

1.0.2微型计算机的指标(理解掌握)

1.字长

字长是最重要的指标之一。字长是指微处理器内部一次可以并行处理二进制代码的位数。字长越长,所表示的数据精度就越高。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。但字长越长,制造工艺越复杂。微机的字长有1位、4位、8位、16位、32位和64位等多种。相应地就有1位机、4位机、……64位机等。

2.存储容量(内存容量)

存储容量是衡量微机内部存储器能存储二进制信息量大小的一个技术指标。通常把8位二进制代码称为一个字节(Byte),16位二进制代码称为一个字(Word),把32位二进制代码称为一个双字(DWord)。存储器容量一般以字节为最基本的计量单位。一个字节记为1B。

1KB=210B=1024B,1MB=220B=1024KB,

1GB=230B=1024MB,1TB=240B=1024GB。

微机可寻址的存储容量变化范围较大,8位机的内存容量最大为64KB。在8位机中,有16条地址线,它能寻址的范围是216B=64KB。在16位机中,有20条地址线,它能寻址的范围是220B=1024KB=1MB。在32位机中,有32条地址线,它能寻址的范围是232B=4×230B=4GB。3.指令执行时间

指令执行时间是指计算机执行一条指令所需的平均时间,其长短反映了计算机执行一条指令运行速度的快慢。它一方面决定于微处理器工作时钟频率,另一方面又取决于计算机指令系统的设计、CPU的体系结构等。微处理器工作时钟频率指标可表示为多少兆赫兹,即MHz;微处理器指令执行速度指标则表示为每秒运行多少百万条指令(MIPS,MillionsofInstructionsPerSecond)。4.系统总线

系统总线是连接微机系统各功能部件的公共数据通道,其性能直接关系到微机系统的整体性能。系统总线的性能主要表现为它所支持的数据传送位数和总线工作时钟频率。数据传送位数越宽,总线工作时钟频率越高,则系统总线的信息吞吐率就越高,微机系统的性能就越强。目前,微机系统采用了多种系统总线标准,如ISA、EISA、VESA、PCI等。5.外部设备配置

在微机系统中,外部设备占据了重要的地位。计算机信息输入、输出、存储都必须由外设来完成,微机系统一般都配置了显示器、打印机、网卡等外设。微机系统所配置的外设,其速度快慢、容量大小、分辨率高低等技术指标都影响着微机系统的整体性能。6.系统软件配置

系统软件也是计算机系统不可缺少的组成部分。微机硬件系统仅是一个裸机,它本身并不能运行,若要运行,必须有基本的系统软件支持,如DOS、Windows等操作系统。系统软件配置是否齐全,软件功能的强弱,是否支持多任务、多用户操作等都是微机硬件系统性能能否得到充分发挥的重要因素。

1.0.3微型计算机硬件系统

一个最基本的微机硬件系统由微处理器、存储器(简称主存或内存)、I/O接口、输入/输出设备5个基本的功能模块组成从结构上讲,它以微处理器为中心,通过总线把I/O设备、存储器等连接成一个整体。下图给出了微型计算机硬件系统组成框图。我们首先应理解掌握。

1.运算器

运算器是对数据信息进行加工处理的部件,它主要由算术逻辑运算单元(ALU)组成,在控制器的指挥下可以完成各种算术运算、逻辑运算和其他操作。

2.控制器

控制器是统一指挥和有效控制计算机各部件协调工作的关键部件,是微型计算机的指挥控制神经中枢。它从存储器中逐条地取出指令、分析指令,并向各部件发出相应的控制信号,使它们一步步地执行指令所规定的操作。另一方面,它又接收运算器、存储器以及输入/输出设备的反馈信息,以确定程序的执行顺序。

3.存储器

存储器是存放程序和数据的部件,它是一个记忆装置,是计算机能够实现存储程序工作原理的基础,存储器分为主存储器和辅助存储器。

主存储器又称内存,通常由半导体存储器组成。它可由CPU直接访问,存取速度较快,但容量不大,一般用来存放当前运行的程序和数据。辅助存储器又称为外存,通常由磁盘与光盘组成。它由CPU通过I/O接口进行访问,存取速度较慢,但容量大,一般用来存放历史数据与软件。

4.输入/输出设备

输入/输出(I/O)设备又称外设,通过I/O接口与CPU相连,它是计算机与外部世界联系的桥梁。

(1)输入设备用于把数字、字符、图形、图像和声音等转换成计算机能识别和接受的信息表示方式,如电信号、二进制编码等,然后把它们放入存储器中。典型的输入设备有键盘、鼠标、扫描仪、光学字符识别设备(OCR)、模/数(A/D)转换装置以及其他声像输入设备等。

(2)输出设备把计算机处理信息的结果转换成人们习惯接受的形式(如字符、曲线、图像、表格和声音等)送出,或变换成与其他设备相匹配的信号形式输出。常见的输出设备有显示器、打印机、绘图仪和数/模(D/A)转换装置等。

计算机硬件的五大部件是通过总线连接起来的,所谓总线是一组公共信号线,它能分时地发送和接收各部件的信息。所有的信息都通过总线传送。

存储器I/O接口输入设备I/O接口数据总线DB控制总线CB地址总线AB输出设备CPU

系统总线分三类:数据总线DB(databus);地址总线AB(addressbus);控制总线CB(controlbus)。系统中各部件均挂在总线上。如上图。所以在微机中有三股信息流(地址、数据、控制信息流)在流动。在总线结构中,通过总线实现微处理器、存储器和所有I/O设备间的信息交换。这样可以使微机系统的结构比较简单,易于维护,并具有更大的灵活性和更好的可扩展性。

目前,最流行的实际微型机硬件系统一般由主机板(包括CPU、主存储器RAM、CPU外围芯片组、总线插槽)、外设接口卡、外部设备(如硬盘、显示器、键盘、鼠标)以及电源等部件。

1.0.4微型计算机系统

微型计算机系统由作为裸机的硬件系统和用来管理计算机资源的软件系统两大部分组成。其中,硬件是构成计算机系统的物理实体或物理装置。例如,微处理器、存储器、主板、机箱、键盘、显示器和打印机等。软件是指为运行、维护、管理和应用计算机所编制的所有程序的集合。

软件一般分为系统软件和应用软件两大类,如图所示。

1.1二进制数的运算及其加法电路

众所周知,算术的基本运算共有4种:加、减、乘和除。在微型计算机中常常只有加法电路,这是为了使硬件结构简单而成本较低。不过,只要有了加法电路,也能完成算术的4种基本运算。

两个二进制数相加的几个例子:【例1.1】(1)

(2)

1

A

01

A

+)

1

B

+)10

B

10

S

11

S进位

(3)

(4)

11

C

1

1

A

011A

+)1

1

B

+)011B

1

1

0

S

110

S进位进位例1.1(1)中,加数A和被加数B都是1位数,其和S变成2位数,这是因为相加结果产生进位之故。例1.1(2)中,A和B都是2位数,相加结果S也是2位数,因为相加结果不产生进位。例1.1(3)中,A和B都是2位数,相加结果S是3位数,这也是产生了进位之故。例1.1(4)中,是例1.1(3)的另一种写法,以便看出“进位”究竟是什么意义。第1位(或称0权位)是不可能有进位的,要求参与运算的就只有两个数A0和B0,其结果为S0。第2位(或称1权位)就是3个数A1,B1及C1参与运算了。其中C1是由于第1位相加的结果产生的进位。此3个数相加的结果其总和为S1=1,同时又产生进位C2,送入下一位(第3位)。第3位(或称2权位)也是3个数A2,B2及C2参加运算。由于A2及B2都是0,所以C2即等于第3位的相加结果S2。从以上几例的分析可得出下列结论:(1)两个二进制数相加时,可以逐位相加。如二进制数可以写成:A=A3A2A1A0B=B3B2B1B0则从最右边第1位(即0权位)开始,逐位相加,其结果可以写成:S=S3S2S1S0其中各位是分别求出的:S0=A0+B0→进位C1S1=A1+B1+C1→进位C2S2=A2+B2+C2→进位C3S3=A3+B3+C3→进位C4最后所得的和是:C4S3S2S1S0=A+B(2)右边第1位相加的电路要求:输入量为两个,即A0及B0;输出量为两个,即S0及C1。这样的一个二进制位相加的电路称为半加器(halfadder)。(3)从右边第2位开始,各位可以对应相加。各位对应相加时的电路要求:输入量为3个,即Ai,Bi,Ci;输出量为两个,即Si,Ci+1。其中i=1,2,3,…,n。这样的一个二进制位相加的电路称为全加器(fulladder)。1.2半加器电路

要求有两个输入端,用以两个代表数字(A0,B0)的电位输入;有两个输出端,用以输出总和S0及进位C1。这样的电路可能出现的状态可以用图1.4中的表来表示。此表在布尔代数中称为真值表。考察一下C1与A0及B0之关系,即可看出这是“与”的关系,即:

C1=A0×B0再看一下S0与A0及B0之关系,也可看出这是“异或”的关系,即:

S0=A0B0

=A0B0+A0B0

即只有当A0及B0二者相异时,才起到或的作用;二者相同时,则其结果为0。因此,可以用“与门”及“异或门”(或称“异门”)来实现真值表的要求。图1.1就是这个真值表及半加器的电路图。图1.11.3全加器电路

全加器电路的要求是:有3个输入端,以输入Ai,Bi和Ci,有两个输出端,即Si及Ci+1。其真值表可以写成如图1.5所示。由此表分析可见,其总和Si可用“异或门”来实现,而其进位Ci+1则可以用3个“与门”及一个“或门”来实现,其电路图也画在图1.2中。图1.2

这里遇到了3个输入的“异或门”的问题。如何判断多输入的“异或门”的输入与输出的关系呢?判断的方法是:多输入A,B,C,D,…中为“1”的输入量的个数为零及偶数时,输出为0;为奇数时,输出为1。图1.31.4半加器及全加器符号

图1.3(a)为半加器符号,图1.3(b)为全加器符号。1.5二进制数的加法电路设A=1010=10(10)B=1011=11(10)则可安排如图1.4所示的加法电路。图1.4A与B相加,写成竖式算法如下:

A:1010

B:1011(+

S:10101即其相加结果为S=10101。从加法电路,可看到同样的结果:

S=C4S3S2S1S0

=101011.6二进制数的减法运算

在微型计算机中,没有专用的减法器,而是将减法运算改变为加法运算。其原理是:将减数B变成其补码后,再与被减数A相加,其和(如有进位的话,则舍去进位)就是两数之差。补码是什么呢?

二进制数的编码及运算

数据的正负号可以用一位二进制的“0”和“1”两个状态来表示,这样,二进制数值数据在计算机中就能方便表示了。为了尽可能简化对二进制数值数据实现算术运算所用到的规则,机器将二进制数值数据进行编码表示,常用的编码有原码、反码和补码。由于补码编码有许多优点,因此大多数微机数字与字符采用补码进行编码。

为了讨论方便,有必要引入两个概念:机器数和机器数的真值(简称真值)。机器数:带符号的二进制数值数据在计算机内部的编码。真值:机器数所代表的实际值。一般机器数的最高有效位用来表示数的正负号,“0”表示正数,“1”表示负数。1)二进制数原码编码方法原码编码的方法如下:设真值为X,机器字长为n位,则当X≥0时,[X]原的最高位填0,其余n-1位填X的各数值位的位值。例如,n=8时,[+0]原=00000000,[+1]原=00000001,[+127]原=01111111。当X≤0时,[X]原的最高位填1,其余n-1位填X的各数值位的位值。例如,n=8时,

[-0]原=10000000,[-1]原=10000001,[-127]原=11111111。结论:二进制正、负数的原码就是符号化的机器数真值本身。2)二进制数反码编码方法反码编码的方法如下:设真值为X,机器字长为n位,则当X≥0时,[X]反的最高位填0,其余n-1位填X的各数值位的位值,即采用符号—绝对值表示。例如,n=8时,[+0]反=00000000,[+1]反=00000001,[+127]反=01111111。当X≤0时,[X]反=2n-1+X(MOD2n)。例如,n=8时,[-0]反=11111111,[-1]反=11111110,[-127]反=10000000。结论:二进制正数的反码就是其原码。二进制负数的反码就是机器数符号位保持不变,其余按位取反。

3)二进制数补码编码方法(重点,原码反码都是为引出补码)补码编码的方法(或者叫规定)如下:设真值为X,机器字长为n位,则当X≥0时,[X]补的最高位填0,其余n-1位填X的各数值位的位值,即采用符号—绝对值表示。例如,n=8时,[+0]补=00000000,[+1]补=00000001,[+127]补=01111111。当X≤0时,[X]补=2n-|X|(MOD2n)。例如,n=8时,[-0]补=00000000,[-1]补=11111111,[-127]补=10000001。结论:二进制正数的补码就是其原码。二进制负数的补码就是机器数符号位保持不变,其余位取反码后末位加1。

求负数的补码的方法:当X≤0时,[X]补的最高位填1,其余n-1位填X的各数值位按位取反(0变1,1变0)后在末位加1的数值。

注意:①在补码表示法中,0只有一种表示,即000…000。②对于10000000这个补码编码,其真值被定义为-128。【例】机器字长n=8位,X=+48D,求[X]补。首先将+48D转换为二进制数:+110000B。因为机器字长是8位,其中符号占了1位,所以数值只占7位。将+110000B写成+0110000B,

[+48]补=00110000B,写成十六进制数为30H,即[+48]补=30H。【例】机器字长n=8位,X=-48D,求[X]补。首先将-48D转换为二进制数:-110000B。因为机器字长是8位,其中符号占了1位,所以数值只占7位。将-110000B写成10110000B。再将数值位0110000B按位求反后为1001111B,末位加1后为1010000B。所以

[-48]补=11010000B,写成十六进制数为0D0H,即[-48]补=0D0H。

【例】机器字长n=16位,X=+48D,求[X]补

+48D转换为二进制数:+110000B。因为机器字长是16位,其中符号占了一位,所以数值占十五位。将+110000B写成+000000000110000B,[+48]补=0000000000110000B,写成十六进制数为0030H,即[+48]补=0030H。

【例】机器字长n=16位,X=-48D,求[X]补。-48D转换为二进制数:-110000B。因为机器字长是16位,其中符号占了1位,所以数值占15位。将-110000B写成1000000000110000B。符号位不变,将000000000110000B按位求反后为1111111111001111B,末位加1后为1111111111010000B。所以,[-48]补=1111111111010000B,写成十六进制数为0FFD0H,即[-48]补=0FFD0H。

注意:在汇编语言中,为了区别指令码和数据,规定以A~F开始的数据前面加零。

已知补码求真值的方法是:当机器数的最高位(符号位)为0时,表示真值是正数,其值等于其余n-1位的值;当机器数的最高位(符号位)为1时,表示真值是负数,其值等于其余n-1位按位取反后末位加1的值。

例如:

若[X]补

=01111111,则X=(+1111111)2=(+127)10。

若[X]补

=11111111,则X=(-0000001)2=(-1)10。

在二进制中,常用反码加1的方法来获得补码。这在计算机中非常方便,因为二进制电路由原码求反码是很容易的,这在下面就会看到。有了补码,就可以将减法变成加法来运算了。请看下面的例子。【例1.12】求Y=8(10)-4(10)=?解:因为A=8(10)=1000(2)

B=4(10)=0100(2)则B′=1011+1=1100(2)于是Y=A-B

=A+B′

=1000+1100

=1

0100

进位,应舍去

=0100(2)=4(10)【例1.13】求Y=F(H)-A(H)=?(即求15减10之差)设A=F(H)=1111(B)=15(D)

B=A(H)=1010(B)=10(D)则B′=0101+1=0110(B)所以Y=1111+0110

=1

0101

=进位,舍去

=0101(B)(结果为5)1.7可控反相器及加法/减法电路

利用补码可将减法变为加法来运算,因此需要有这么一个电路,它能将原码变成反码,并使其最小位加1。图1.5的可控反相器就是为了使原码变为反码而设计的。这实际上是一个异或门(异门),两输入端的异或门的特点是:两者相同则输出为0,两者不同则输出为1。图1.5

利用这个特

温馨提示

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

评论

0/150

提交评论