微型计算机原理与应用 第一章(简略版)

第一章、微型计算机基础

第一讲:微型计算机的基本组成及各个部分的功能与作用(理解)

       数字计算机,它是一种能够存储程序,能自动连续地对各种数字化信息进行算术逻辑运算的快速工具。在这一定义中包含两个重要的基本概念:信息数字化,存储程序工作方式。它们是了解计算机组成及工作机制的基本出发点。

       计算机分类:数字型,模拟型,数模混合

一、基本概念

1、存储程序工作方式与冯诺依曼机

1945年,冯诺依曼在领导设计EDBAC计算机的过程中,提出了现代数字计算机的若干设计思想,后被人们称之为冯诺依曼体系

冯诺依曼体制系的核心概念----存储程序工作方式。仍是目前采用的原则。其要点是:

1)采用二进制代码表示数据和指令

计算机是处理信息的工具,所处理的信息称为数据

计算机的具体的工作表现为执行程序,而程序的最终可执行形态是指令序列,即若干用数字代码表示的机器指令

数据和指令都采用二进制代码表示,则它们在外形上并无区别都是由0和1组成的代码序列,只是各自约定的含义不同而已

2)采用存储程序工作方式

         A、事先编制程序

   B、将程序存储于计算机的存储器中

   C、计算机在运行时自动地连续地从存储器中依次取出指令加以执行

3)硬件系统由五大部分组成

         计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备五大部件构成(填空或选择)

 

2、计算机系统的软硬件组成与层次结构

1)硬件系统

      计算机的硬件是指系统中可触摸到的物理设备实体

2)软件系统

             计算机软件通常是泛指各类程序和文件。由于它们在计算机中的表示是一些不能直接触摸到的二进制信息,所以被称为软件

3)软件分类

             系统软件:操作系统、语言处理程序等

           应用软件:通用软件、用户程序等

 

二、计算机发展简史

1)硬件

         第一台计算机是1946年问世的,距今不到55年,尽管这台被命名为ENIAC(Electronic Numerical Intgerator And Calculator)的计算机现在看起来是那样“笨拙”和“低级”,可在当时却轰动了世界,它的意义在于宣告人类开始了一个新时代--------信息革命时代

   50多年来,电子计算机的发展是那样的目不暇接、那样的绚丽多彩,所以计算机发展的划分就显得的困和多样化。早先,学术界常常以器件内部作为划分的标准

              第一代:电子管计算机。时间1946-1957年

              第二代:晶体管计算机。时间1958-1964年

      第三代:中小规模集成电路(IC)计算机,时间1965-1970年

      第四代:大规模集成电路(LSI)和超大规模(VLSI)计算机,时间1970-

2)软件

         计算机硬件发展的同时,软件始终伴随其步伐迅猛发展。就以计算机的语言而言,也划分了若干时代:

          第一代:机器语言。每条指令用二进制编码

          第二代:汇编语言。用符号编程,和具体机器指令和硬件有关

          第三代:高级语言

          第四代:它实际上是在高级语言的基础上集成的模块化语言,它有更强编程功能

 

三、计算机分类及微型计算机的特点

         按计算机规模分,传统上分巨型机,大型机,中型机,小型机,微型机,单片机等。这种划分综合了计算机的运算速度,字长,存储容量,输出输入能力,价格等指标。

      但由于计算机性能的日新月异地变化,划分的标准也就逐渐失去了意义

      微型计算机的特点,与大、中、小型计算机的区别,就在于其中中央处理器(CPU)是集中在一块硅片上的,而大、中、小型计算机的CPU则是由相当多的电路(集成电路)组成的

 

第二讲:微型机的基本工作过程(理解)

                                                                  微型计算机原理与应用 第一章(简略版)_第1张图片

 

第三讲:计算机中的编码、数制及其转换(掌握)

(1)二进制

二进制数的表示

  二进制数仅有两个计数符号;0,1

二进制数的算术运算

  加法规则:“逢2进1”

  减法规则:“借1出2”

  乘法规则:“逢0出0,全1出1”

十六进制数的加、减运算

  加法运算:“逢16进1”

  减法运算:“借1当16”

 

4、为什么要用十六进制

  简化书写,便于记忆

5、数制的转换

1)任意进制与十进制之间的相互转换方法

     任意进制转换成十进制

       方法是:按权展开后相加即可(举例)

     二进制:10.1B  权值:1   0   -1  基数:2

            1*2^1+0*2^0+1*2^-1=2.5

    

2)十进制整数转换为任意进制整数

       方法是:首先用基数除十进制数可得商及余数,此余数为任意进制代码的最低位。再用基数除该商数,又可得商数和余数,则此余数为次低位的任意进制代码。用同样的方法继续用基数除下去,直到商为零为止。(举例)

       十进制:3

         3/2      1

         1/2      1

         0

       3的二进制是11B

 

3)十进制小数转换为任意进制小数

                  方法是:不断用基数去乘要转换的十进制小数,将每次所得到的整数依次记为X1,X2,若乘积的小数部分最后能为0,那么最后一次乘积的整数部分记为Xm,则书写为0,X1,X2------Xm

  0.25*2    0

0.50*2      1

     注意;一个十进制小数不一定能完全准确地转换成一个二进制小数。可根据精度要求取有限位表示。

     十进制整数到任意进制整数的转换

1、     十进制整数转换成其它进制整数

R取余  R为基数  

书写方式:  从下往上从左往右

2、     十进制小数转换成其它进制小数

R取整  R为基数

书写方式;  从上往下从左往右

 

例:将13.75转换为二进制数

     分别将整数部分和小数部分进行转换;整数部分:13=1101B

     小数部分:0.75=0.11B 因此,13.75=1101.11B

 

4)二进制数与十六进制数之间的转换

                  因为2^4=16,即可用四位二进制数表示一位十六进制数,所以可得到如下所述的二进制数与十六进制数之间的转换方法

    将二进制数转换为十六进制数的方法:以小数点为界,向左(整数部分)每四位一组,高位不足4位时补0;向右(小数部分)每四位为一组低位不足4位时补0.然后分别用一个16进制数表示每一组中的4位二进制数。

     将十六进制数转换为二进制数的方法:直接将每一位十六进制数写成其对应的四位二进制数

 

例:1101110.01011B=0110,1110,1000B=6E.58.H

     2F.1BH=10 1111.0001 1011B

 

5)二进制数与八进制数之间的相互转换

                  方法是:一位八进制数相当于三位二进制数

 

第四讲:无符号二进制数的算术运算和逻辑运算

(一)       无符号数的概念

逻辑代数初步

     在计算机中存在着大量这样得逻辑电路,逻辑关系非常复杂。逻辑代数是研究复杂的逻辑关系的有力工具,人们也往往称之为布尔代数或开关代数

     逻辑代数和一般代数不同,一般代数变量的值是连续的,而逻辑代数中变量的值只有两个:1和0.尽管在逻辑代数中某些运算规则和普通代数相同,但逻辑代数中的0和1的意义绝不是代数中的数值0和1,它只代表某种物理量的状态,因此,逻辑代数运算含义和普通代数完全不同。

    

 

布尔代数也和普通代数一样,可以写成下面表达式:Y=f(A、B、C。。。。。)

但它有两个特点:

  A、B、C、D只有两种可能,即0或1

注意;布尔代数的变量只代表事物的两个不同的状态或性质。如“开”或“关”

  函数f只有三种基本运算,即“与”,“或”,“非”

  注意:逻辑运算都是独立的按位进行,而和其它位的运算结果无关

 

1、“或”运算

         逻辑表达式为:

       Y=A+B

   上式或运算的意义是;逻辑变量A或B中,只要有一个1,则逻辑变量Y的值为1

   

或运算的基本规则是:

     0+0=0       A+0=A

     0+1=1       A+1=1

     1+0=1       A+A=A

     1+1=1

 

2运算

         逻辑表达式为:

     Y=A*B

  上式与运算的意义是:逻辑变量A或B中,只有都为1,则逻辑变量Y的值为1.否则为0

 

  与运算的基本规则是:

    0·0=0   A·0=0

     0·1=1   A·1=A

     1·0=0   A·A=A

     1·1=1

 

3、“非”(反)运算

                  逻辑表达式为:

       Y=A-

     非运算的基本规则是;

       0-=1     A+A-=1

       1-=0     A·A-=0

              A--=A

       和普通代数一样,逻辑代数也有类似的运算法则,如逻辑代数同样适用于交换律,结合律和分配律三种运算法则

 

4、摩根定理

     除了以上定律外,逻辑代数中还有自己的一些特殊定律。例如:摩根定律。在电路设计中,人们手边有时没有“与”门,而只有“或”和“非”门。或者只有“与”门和“非”门,没有“或”门,利用摩根定律可以帮助你解决元件互换问题

  A+B=A·B

  A·B=A+B

 

四、逻辑电路

     最基本的逻辑电路有三种:与门电路,或门电路和非门电路

     非门   1  o

     或门   >=1

    与门   &

 

真值表:当人们遇到一个问题时,常常把各种因素全部考虑进去,然后研究结果,真值表也就是这种考虑问题的方法的一种表格形式。

  与门电路真值表

A

B

Y

0

0

0

0

1

0

0

0

0

1

1

1

 

或门电路真值表

A

B

Y

0

0

0

0

1

1

1

0

1

1

1

1

 

非门电路真值表

A

Y

0

1

1

0

 

 

第五讲:运算中的溢出

溢出概念及检测方法

         在计算机中,若采用定点小数,数的表示范围为|X|<1,如果出现运算结果超出数的表示范围的现象,就称为溢出。

  两个正数相加,结果为负(即:大于机器所能表示的最大正数),称为上溢

  两个负数相加,结果为正(即:小于机器所能表示的最小负数),称为下溢

  运算出现溢出,结果就是错误的

 

例:x=+0.1011,y=+0.1001,求x+y。

  解:

     [x]补=0.1011,[y]补=0.1001

     [x]补         0.1011

  + [y]补         0.1001

    [x+y]补        1.0100

  两数相加,结果为负,显然是错误。

                          --运算中出现了“上溢”

 

 

检测方法;

1、   双符号位法(变形补码法)

用两个相同的符号位表示一个数的符号,左边第一位为第一符号位,是结果的真正符号位,相邻的位第二符号位。定义双符号位的含义为:00表示正号,11表示负号,01表示产生正向溢出,10表示负向溢出。

已知;x=0.1011,y=0.0111,求x+y=?

解:

   [x]补=00.1011,[y]补=00.0111

        [x]补=00.1011

+[y]补=00.0111

                   [x+y]补=01.0010

 

2、   单符号位操作检测方法

当操作数中的加数与被加数符号相同时,若运算结果的符号与操作数的符号不一致,表示溢出;否则,表示没有溢出。而当加数和被加数符号不同时,相加预算的结果是绝对不会溢出的

 

第六讲:机器数的表示及运算

一、数据与字符的机内表示

数值数据的表示

真值与机器数

真值:正、负符号加二进制绝对值

  例:-0010011B、+1011001B

机器数:在机器中使用的连同数符一起数码化的数

  例:10010011B、01011001B

 

数学计算中,数有不同的类型(如整数,小数,实数,复数),数也有不同的取值范围,有不同的数值精度要求。那么,在计算机中要表示一个机器数,也应考虑一些的因素,现在我们提炼出三个主要因素:

1.机器数的范围

字长为8位,无符号整数的最大值是(111111111)B=(255)D

此时机器数的范围是0-255

字长为16位,无符号整数的最大值是(111111111111111)B=(FFFF)H=(65535)D  此时机器数的范围是0-65535

2.机器数的符号

在算术运算中,数据是有正有负的,将这类数据称为带符号数

为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数

3.机器数中小数点的位置

在机器中,小数点的位置通常有两种约定:

一种规定小数点的位置固定不变,这时的机器数被称为定点数

另一种规定小数的位置可以浮动,这时的机器数被称为浮点数

1)定点小数

定点小数是纯小数,是将小数点固定在符号位d0之后,数值最高位d1之前,这就是定点小数形式。其格式如下所示

d0

d1

d2

……

dn

   ·隐含小数点的位置

2)定点整数

定点整数是纯整数,是将小数点固定在数的最低位之后,这就是定点整数形式。其格式如下:

 

d0

d1

d2

……

dn

                        ·隐含小数点位置

         例:

         X=+1010110à纯整数:X=01010110

                              正数,符号位取0

         Y=-1101001à纯整数;Y=11101001(原码)

                              负数,符号位取1

              X=+0.11011à纯小数;X=0.11011

                                   符号位取0

              Y=-0.10101à纯小数:Y=1.10101

                                   符号位取1

 

非常大和非常小数

     如何用定点数来表示非常大(e.g.太阳的质量2*10^+33克)的数和非常小(e.g.电子的质量9*10^-28克)的数?

     用科学计数法计数时,我们会引入比例因子10^34和10^-27,使其数值部分绝对值小于1,即:

2*10^+33=0.2*10^34

9*10^-28=0.9*10^-27

 

浮点表示法

     浮点表示法与数学中的科学计数法相似,是指计算机中的小数点位置不是固定的,或者说是“浮动”的。对于任何一个二进制数N都可表示为:

       N=2^+-E*(+-M)

     式中,M称为N的尾数,是一个纯小数,E是数N的阶码,是一个整数

     例:1110001B=2^+7*0.1110001

         0.001110001B=2^-2*0.1110001

 

计算机中机器浮点数由以下部分组成:

Es

E1……En

Ms

D1……Dn

阶符

阶码值

数符

尾数值

1110001B=2^+7*0.1110001

现忽略机器字长,且设阶码为3位

则有机器浮点数:011101110001

 

 

浮点数的规格化

     例:156.78    =15.678*10^1

                   =1.5678*10^2

                   =0.15678*10^3=R^E*M

     多种数据形式,那么,计算机中究竟采用哪种数据形式?

     对于二进制数

       1011.1101     =0.10111101*2^+4

                     =10.111101*2^+2

             二进制数=1.0111101*2^3(规格化表示法)=1.0111101*2^+11(规格化表示法)

=R^E*M

 

二、数的机器码表示------有符号数的表示方法

                  数有正、负之分,在计算机中,采用数的符号和数值一起编码的方法来表示数据

     常用的表示方法:原码表示法,反码表示法,补码表示法和移码表示法

1)原码

正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码

     例:当机器字长为8位二进制数时;

            X=+1011011      [X]原码=01011011

            Y=-1011011      [y]原码=11011011

    

注意:0使用原码有两种表达形式

         [+0]原=00000000

         [-0]原=10000000

         [+0]反=00000000

         [-0]反=11111111

         [+0]补=00000000

         [-0]补=100000000          1以溢出等于00000000

2)反码

                  对于一个带符号数来说,正数的反码与其原码相同,负数的反码与其原码除符号以外的各位按位取反

     例:当机器字长位8位二进制数时:

X=+1011011    [X]原码=01011011

[X]反码=01011011

Y=-1011011    [Y]原码=11011011

[Y]反码=10100100

3)补码

                  正数的补码与其原码是相同的,负数的补码为其反码最低位加1

  例:(1)X=+1011011      (2)Y=-1011011

       X原=01011011         Y原=11011011

       X反=01011011         Y反=10100100

       X补=01011011         Y补=10100101

4)移码

                          移码也叫增码,它常以整形式用在计算机浮点数的阶码(表示指数)中。若纯整数X为n位(包括符号位),则共移码定义为:

       [X]移=2^n-1+[X]补        2^n-1<=X<=2^n-1-1

 

       求移码的方法:

         根据定义

         将该数补码的符号位求反即得该数的移码

            即:移码与补码的形式相同,只是符号位相反

5BCD

            BCD(Binary  Coded Decimal)码又称为“二一十进制编码”,专门解决用二进制数表示十进制数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1,如果按位权求和,和数或等于该数码所对应的十进制数。

     例:二进制数10001001B

       采用BCD码表示为十进制数89D

 

6)非数值数据在机内的表示

字符的编码

    在计算机中除了数值之外,还有一类非常重要的数据,那就是字符,如英文的大小写字母(A,B,C……,a,b,c…),数字字符(0,1,2……9)以及其它常用符号(如:?、=、%、+等)。在计算机中,这些符号都是用二进制编码的形式表示,即每一个字符被赋予一个惟一固定的二进制编码,为了统一,人们制定了编码标准。目前,一般都是采用美国标准信息交换码,他使用七位二进制编码来表示一个符号,通常把它称为ASCLL码,由于用七位码来表示一个符号,故该编码方案中共有128个符号(2^7=128),编码从(0000000)2到(1111111)2

 

7)汉字的编码

         计算机要处理汉字信息,就必须首先解决汉字的表示问题,同英文字符一样,汉字的表示也只能采用二进制编码形式,目前使用比较普遍的是我国指定的汉字编码标准GB2312-80,该标准共博包含一、二级汉字6763个,其他符号682个,每个符号都是用14位(两个7位)二进制数进行编码,通常叫做国际标码。如“啊”的国标码为1110000,1100001.新的国标汉字库已包括两万多个汉字和字符

 

三、定点加法、减法运算

      1)补码加法运算

                  补码运算的优点;可将减法运算转化为加法运算,从而简化机器内部硬件电路的结构

          补码运算的特点;符号位和数值位一起参加运算,只要结果不发生溢出,得到的就是本次运算结果

      补码的加法运算规则:

                              公式:[x]补+[y]补=[x+y]补

               即:任意两个数的补码之和等于该两个数之和的补码

          例:x=0.1001,y=0.0101,求x+y

               [x]补=0.1001,[y]补=0.0101

               [x]补                0.1001

          +  [y]补               0.0101

          [x+y]补        0.1110

          所以  x+y=+0.1110

 

2)补码的减法运算

                  公式:[x]补-[y]补=[x-y]补=[x+(-y)]补=[x]+[-y]补

     即;两数相减可化为被减数的补码与减数补码取补的加法运算

例:已知机器字长8位,x=44D,y=53D,求x-y=?

   解:x=00101100,y=00110101

       [x]补=00101100   [-y]补=11001011

     [x]补=00101100

+    [-y]补=11001011

[x-y]补=11110111

补码=反码+1

[x-y]反码=11110110

[x-y]原-0001001

  (x-y)2=-0001001,x-y=-9

 

第七讲:基本的逻辑门及常用逻辑部件

逻辑电路

         最基本的逻辑电路有三种:与门电路、或门电路和非门电路

     非门(反相器)   Y=A-

     或门                          Y=A+B

     与门                          Y=AB

 

真值表:。。。。。

 

在三个基本门 电路的基础上还可以发展成其他电路。其中缓冲器的作用是改变输出电阻,以提高带负载能力

 

异或门(异门)

异或非(同门)

缓冲器(变阻器)

 

真值表:。。。。。。

 

1、     半加器电路:由以上逻辑关系式可得到一个一位半加器

2、     全加器;由以上逻辑关系式可得到一个一位全加器

3、     半加器及全加器

A0 B0                       进A1  B1

C1     HA              出CI+1       FA   进C1

          出S0                                    出S1

半加器不需要考虑进位                 全加器需要考虑进位

转载于:https://www.cnblogs.com/BaiZe258/p/9108905.html

你可能感兴趣的:(微型计算机原理与应用 第一章(简略版))