第 1章 微型计算机基础第 1章 微型计算机基础
1.1 计算机中的数制及相互转换
1.2 二进制数的运算
1.3 带符号数的表示
1.4 定点数和浮点数
1.5 BCD码和 ASCII码
1.6 微型计算机的组成及工作过程第 1章 微型计算机基础
1.1 计算机中的数制及相互转换
1.1.1
按进位原则进行计数的方法,称为进位计数制 。 十进制数有两个主要特点,
( 1) 有 10 个不同的数字符号,0,1,2,…,9;
( 2 ) 低位向 高位进 位的规律 是,逢 十进一,。
因此,同一个数字符号在不同的数位所代表的数值是不同的 。 如 555.5中 4 个 5分别代表 500,50,5 和 0.5,这个数可以写成 555.5=5× 102+5× 101+5× 100+5× 10-1
式中的 10称为十进制的基数,102,101,100,10-1称为各数位的权 。
第 1章 微型计算机基础任意一个十进制数 N都可以表示成按权展开的多项式,
i
n
mi
i
m
m
n
n
n
n
ddd
dddN
1010...10
10...1010
1
1
1
0
0
2
2
1
1



其中,di是 0~ 9共 10个数字中的任意一个,m是小数点右边的位数,n是小数点左边的位数,i是数位的序数 。 例如,543.21可表示为
543.21=5× 102+4× 101+3× 100+2× 10-1+1× 10-2
第 1章 微型计算机基础一般而言,对于用 R 进制表示的数 N,可以按权展开为
i
n
mi
i
m
m
n
n
n
n
RaRaRa
RaRaRaN



1
1
1
0
0
2
2
1
1
...
...
式中,ai 是 0,1,…,( R-1) 中的任一个,m,n是正整数,
R是基数 。 在 R 进制中,每个数字所表示的值是该数字与它相应的权 Ri的乘积,计数原则是,逢 R进一,。
第 1章 微型计算机基础
1.
当 R=2 时,称为二进位计数制,简称二进制 。 在二进制数中,只有两个不同数码,0和 1,进位规律为,逢二进一,。
任何一个数 N,可用二进制表示为
i
n
mi
i
m
m
n
n
n
n
aaa
aaaN
22...2
2...22
1
1
1
0
0
2
2
1
1



例如,二进制数 1011.01
(1011.01)2=1× 23+0× 22+1× 21+1× 20+0× 2-1+1× 2-2
第 1章 微型计算机基础
2.
当 R=8 时,称为八进制 。 在八进制中,有 0,1,2,…、
7 共 8 个不同的数码,采用,逢八进一,的原则进行计数 。
如 ( 503)8
(503)8=5× 82+0× 81+3× 80
第 1章 微型计算机基础
3.
当 R=16时,称为十六进制 。 在十六进制中,有 0,1、
2,…,9,A,B,C,D,E,F共 16个不同的数码,进位方法是,逢十六进一,。
例如,( 3A8.0D) 16
( 3A8.0D)16=3× 162+10× 161+8× 160+0× 16-1+ 13× 16-2
第 1章 微型计算机基础表 1.1 各种进位制的对应关系十进制 二进制 八进制 十六进制 十进制 二进制 八进制 十六进制
0 0 0 0 9 1001 11 9
1 1 1 1 10 1010 12 A
2 10 2 2 11 1011 13 B
3 11 3 3 12 1100 14 C
4 100 4 4 13 1101 15 D
5 101 5 5 14 1110 16 E
6 110 6 6 15 1111 17 F
7 111 7 7 16 10000 20 10
8 1000 10 8
第 1章 微型计算机基础
1.1.2 不同进制间的相互转换
1,二,八,十六进制转换成十进制例 1 将数 (10.101)2,(46.12)8,(2D.A4)16转换为十进制 。
( 10.101)2=1× 21+0× 20+1× 2-1+0× 2-2+1× 2-3=2.625
(46.12)8=4× 81+6× 80+1× 8-1+2× 8-2=38.156 25
(2D.A4)16=2× 161+13× 160+10× 16-1+4× 16-2=45.640 62
第 1章 微型计算机基础
2,十进制数转换成二,八,十六进制数任意十进制数 N 转换成 R 进制数,需将整数部分和小数部分分开,采用不同方法分别进行转换,然后用小数点将这两部分连接起来 。
(1) 整数部分,除基取余法 。
分别用基数 R 不断地去除 N 的整数,直到商为零为止,
每次所得的余数依次排列即为相应进制的数码 。 最初得到的为最低有效数字,最后得到的为最高有效数字 。
第 1章 微型计算机基础例 2 将( 168)10转换成二,八,十六进制数。
第 1章 微型计算机基础
(2) 小数部分,乘基取整法 。
分别用基数 R(R=2,8或 16) 不断地去乘 N 的小数,直到积的小数部分为零 ( 或直到所要求的位数 ) 为止,每次乘得的整数依次排列即为相应进制的数码 。 最初得到的为最高有效数字,最后得到的为最低有效数字 。
第 1章 微型计算机基础故,(0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16
第 1章 微型计算机基础例 4 将 ( 168.645)10 转换成二,八,十六进制数 。
根据例 2,例 3 可得
( 168.645)10= (10101000.10100)2= (250.51217) 8
=(A8.A51EB)16
第 1章 微型计算机基础
3.
由于 23= 8,故可采用,合三为一,的原则,即从小数点开始分别向左,右两边各以 3位为一组进行二 —八换算,若不足 3
位的以 0 补足,便可将二进制数转换为八进制数 。 反之,采用
,一分为三,的原则,每位八进制数用三位二进制数表示,就可将八进制数转换为二进制数 。
例 5 将( 101011.01101)2转换为八进制数。
101 011,011 010
5 3,3 2
即 ( 101011.01101)2= (53.32)8
第 1章 微型计算机基础例 6 将 (123.45)8转换成二进制数。
1 2 3,4 5
001 010 011,100 101
即 ( 123.45)8=(1010011.100101)
第 1章 微型计算机基础例 7 将( 110101.011)2转换为十六进制数。
0011 0101,0110
3 5,6
即 ( 110101.011) 2=(35.6)16
第 1章 微型计算机基础例 8 将( 4A5B.6C)16转换为二进制数。
4 A 5 B,6 C
0100 1010 0101 1011,0110 1100
即 ( 4A5B.6C)16=(100101001011011.011011)2
第 1章 微型计算机基础
1.2 二进制数的运算
1.2.1
二进制数只有 0和 1两个数字,其算术运算较为简单,加,
减法遵循,逢二进一,,,借一当二,的原则 。
1,加法运算规则,0+0=0; 0+1=1; 1+0=1; 1+1=10(有进位 )
第 1章 微型计算机基础例 1 求 1001B+1011B。
第 1章 微型计算机基础
2,减法运算规则,0-0=0; 1-1=0; 1-0=1; 0-1=1(有借位 )
例 2 求 1100B-111B。
第 1章 微型计算机基础
3.
规则,0× 0=0; 0× 1=1× 0=0; 1× 1=1
例 3 求 1011B× 1101B。
第 1章 微型计算机基础即 10100101B/1111B=1011B
4,除法运算规则,0/1=0; 1/1=1
例 4 求 10100101B/1111B
第 1章 微型计算机基础
1.2.2 二进制数的逻辑运算
1.,与,
,与,运算是实现,必须都有,否则就没有,这种逻辑关系的一种运算 。 运算符为,·,,其运算规则如下,
0·0=0,0·1=1·0=0,1·1=1
例 5 若 X=1011B,Y=1001B,求 X·Y。
1001
1001
1011.
即 X·Y=1001B
第 1章 微型计算机基础
2.,或,
,或,运算是实现,只要其中之一有,就有,这种逻辑关系的一种运算,其运算符为,+”。,或,运算规则如下,
0+0=0,0+1=1+0=1,1+1=1
例 6 若 X=10101B,Y=01101B,求 X+Y。
10101
01101
11101
+
即 X+Y=11101B
第 1章 微型计算机基础
3.,非,运算
,非,运算是实现,求反,这种逻辑的一种运算,如变量 A的,非,运算记作 。 其运算规则如下,A
10,01
例 7 若 A=10101B,求 。A
BBA 0 1 0 1 01 0 1 0 1
第 1章 微型计算机基础
4.,异或,
,异或,运算是实现,必须不同,否则就没有,这种逻辑的一种运算,运算符为,,。其运算规则是,?
011,101,110,000
例 8 若 X=1010B,Y=0110B,求 X Y。
1010
0110
1100
即 X Y=1100B?
第 1章 微型计算机基础
1.3 带符号数的表示
1.3.1
计算机在数的运算中,不可避免地会遇到正数和负数,
那么正负符号如何表示呢? 由于计算机只能识别 0和 1,因此,
我们将一个二进制数的最高位用作符号位来表示这个数的正负 。 规定符号位用,0”表示正,用,1”表示负 。 例如,
X=-1101010B,Y=+1101010B,则 X表示为,11101010B,Y表示为 01101010B。
第 1章 微型计算机基础
1.3.2 数的码制
1.
当正数的符号位用 0表示,负数的符号位用 1表示,数值部分用真值的绝对值来表示的二进制机器数称为原码,用 [ X] 原表示,设 X为整数 。
若 X=+Xn-2Xn-3…X1X0,则 [ X] 原 =0Xn-2Xn-3…X1X0=X;
若 X=-Xn-2Xn-3…X1X0,则 [ X] 原 =1Xn-2Xn-3…X1X0=2n-1-X。
其中,X为 n-1位二进制数,Xn-2,Xn-3,…,X1,X0为二进制数 0或 1。 例如 +115和 -115在计算机中 ( 设机器数的位数是 8)
[ +115] 原 = 01110011B; [ -115] 原 = 11110011B
第 1章 微型计算机基础可见,真值 X与原码[ X] 原

,2
,
][
1 X
X
X
n
原 02
20
1

X
X
n
n
值得注意的是,由于 [ +0] 原 =00000000B,而 [ -0] 原
=10000000B,所以数 0的原码不唯一 。
8位二进制原码能表示的范围是,-127~+127。
第 1章 微型计算机基础
2,反码一个正数的反码,等于该数的原码 ; 一个负数的反码,由它的正数的原码按位取反形成 。 反码用 [ X] 反 表示 。
若 X=-Xn-2Xn-3…X1X0,则 [ X] 反 =1Xn-2Xn-3…X1X0。 例如,
X=+103,则 [ X] 反 =[ X] 原 =01100111B; X=-103,[ X] 原
=11100111B,则 [ X] 反 =10011000B。


;)12(
,
][
1 X
X
X
n

02
20
1
1


X
X
n
n
第 1章 微型计算机基础
3.
,模,是指一个计量系统的计数量程 。 如,时钟的模为 12。
任何有模的计量器,均可化减法为加法运算 。 仍以时钟为例,
设当前时钟指向 11点,而准确时间为 7点,调整时间的方法有两种,一种是时钟倒拨 4小时,即 11-4=7; 另一种是时钟正拨 8小时,
即 11+8=12+7=7。 由此可见,在以 12为模的系统中,加 8和减 4
的效果是一样的,即 -4=+8( mod 12)
对于 n位计算机来说,数 X的补码定义为

,2
,
][
X
X
X
n

02
)2( m o d;20
1
1


X
X
n
nn
第 1章 微型计算机基础即正数的补码就是它本身,负数的补码是真值与模数相加而得 。
例如,n=8时,
[ +75] 补 =01001001B
[ -73] 补 =10000000 B- 01001001B=10110111B
[ 0] 补 =[ +0] 补 =[ -0] 补 =00000000B
可见,数 0的补码表示是唯一的 。 在用补码定义求负数补码的过程中,由于做减法不方便,一般该法不用 。 负数补码的求法,用原码求反码,再在数值末位加 1,即,[ X] 补 =[ X] 反
+1 。 例如,[ -30 ] 补 = [ -30 ] 反 +1 = [ +30 ] 原
+1=11100001+1=11100010B。 8位二进制补码能表示的范围为,
-128 ~+127,若超过此范围,则为溢出 。
第 1章 微型计算机基础
1.4 定点数和浮点数
1,定点法定点法中约定所有数据的小数点隐含在某个固定位置 。
对于纯小数,小数点固定在数符与数值之间 ; 对于整数,则把小数点固定在数值部分的最后面,其格式为纯小数表示,数符,尾数 数 符 尾 数
.小数点数 符 尾 数,小数点第 1章 微型计算机基础
2.
浮点法中,数据的小数点位置不是固定不变的,而是可浮动的 。 因此,可将任意一个二进制数 N
N=± M·2± E
其中,M为尾数,为纯二进制小数,E称为阶码 。 可见,一个浮点数有阶码和尾数两部分,且都带有表示正负的阶码符与数符,其格式为阶 符 阶码 E 数 符 尾数 M
第 1章 微型计算机基础设阶码 E的位数为 m位,尾数 M的位数为 n位,则浮点数
N的取值范围为
2-n2-2m+1≤|N|≤(1-2-n)22m-1
为了提高精度,发挥尾数有效位的最大作用,还规定尾数数字部分原码的最高位为 1,叫做规格化表示法 。
如 0.000101表示为,2-3× 0.101
第 1章 微型计算机基础
1.5 BCD码和 ASCII 码
1.5.1 BCD码十进制数 8421BCD码 十进制数 8421BCD码
0 0000 5 0101
1 0001 6 0110
2 0010 7 0111
3 0011 8 1000
4 0100 9 1001
表 1.2 8421BCD编码表第 1章 微型计算机基础例 1 写出 69.25的 BCD码 。
根据表 1.2,可直接写出相应的 BCD码,
69.25 =( 01101001.00100101) BCD
第 1章 微型计算机基础
1.5.2 ASCII码 表 1.3 ASCII 码 表第 1章 微型计算机基础
1.6 微型计算机的组成及工作过程
1.6.1 基本组成图 1.1 微型计算机的基本组成第 1章 微型计算机基础
1,中央处理器 CPU
CPU( Central Processing Unit) 是计算机的核心部件,
它由运算器和控制器组成,完成计算机的运算和控制功能 。
运算器又称算术逻辑部件 ( ALU,Aithmctieal Logic
Unit),主要完成对数据的算术运算和逻辑运算 。
控制器 ( Controller) 是整个计算机的指挥中心,它负责从内部存储器中取出指令并对指令进行分析,判断,并根据指令发出控制信号,使计算机的有关部件及设备有条不紊地协调工作,保证计算机能自动,连续地运行 。
第 1章 微型计算机基础
CPU中还包括若干寄存器 ( Register),它们的作用是存放运算过程中的各种数据,地址或其它信息 。 寄存器种类很多,
主要有,
通用寄存器,向 ALU提供运算数据,或保留运算中间或最终的结果 。
累加器 A,这是一个使用相对频繁的特殊的通用寄存器,有重复累加数据的功能 。
程序计数器 PC,存放将要执行的指令地址 。
指令存储器 IR,存放根据 PC 的内容从存储器中取出的指令 。
在微型计算机中,CPU一般集成在一块被称为微处理器
( MPU,Micro Processing Unit) 的芯片上 。
第 1章 微型计算机基础
2,存储器 M
存储器 ( Memory) 是具有记忆功能的部件,用来存储数据和程序 。 存储器根据其位置不同可分为两类,内存储器和外存储器 。 内存储器 ( 简称内存 ) 和 CPU直接相连,存放当前要运行的程序和数据,故也称主存储器 ( 简称主存 ) 。 它的特点是存取速度快,基本上可与 CPU处理速度相匹配,但价格较贵,能存储的信息量较小 。 外存储器 ( 简称外存 ) 又称辅助存储器,主要用于保存暂时不用但又需长期保留的程序和数据 。 存放在外存的程序必须调入内存才能进行 。 外存的存取速度相对较慢,但价格较便宜,可保存的信息量大 。
第 1章 微型计算机基础
3,输入 /输出接口 ( I/O接口 )
输入 /输出 ( I/O) 接口由大规模集成电路组成的 I/O器件构成,用来连接主机和相应的 I/O设备 ( 如,键盘,鼠标,
显示器,打印机等 ),使得这些设备和主机之间传送的数据,信息在形式上和速度上都能匹配 。 不同的 I/O设备必须配置与其相适应的 I/O接口 。
第 1章 微型计算机基础
4.
总线 ( BUS) 是计算机各部件之间传送信息的公共通道 。 微机中有内部总线和外部总线两类 。 内部总线是 CPU
内部之间的连线 。 外部总线是指 CPU与其它部件之间的连线 。 外部总线有三种,数据总线 DB( Data Bus),地址总线 AB( Address Bus) 和控制总线 CBControl Bus) 。
第 1章 微型计算机基础
1.6.2 基本工作过程根据冯 ·诺依曼原理构成的现代计算机的工作原理可概括为,存储程序和程序控制 。 存储程序是指人们必须事先把计算机的执行步骤序列 ( 即程序 ) 及运行中所需的数据,通过一定的方式输入并存储在计算机的存储器中 。 程序控制是指计算机能自动地逐一取出程序中的一条条指令,加以分析并执行规定的操作 。
第 1章 微型计算机基础来看 Z=X+Y的执行过程 。
假定我们有一个虚拟机 SAM,主存储器由 4K16位的字组成,CPU 中有一个可被程序员使用的 16位累加器 A。
SAM指令格式为操作码 地址码
SAM中有如下指令,
第 1章 微型计算机基础假设 X和 Y均已存放在存储单元中 。 注意,X是个变量名,
可以是某个存储单元的地址,该单元中存放的是 X的值 。
(1) 从地址为 X的单元中取出 X的值送到累加器中 。
(2) 把累加器中的 X与地址为 Y 的单元的内容相加,结果存放在累加器中 。
(3) 把累加器中的内容送到地址为 Z的单元中 。
相应的 SAM指令是,
LOAD X
ADD Y
STORE Z
第 1章 微型计算机基础表 1.4 计算 Z=X+Y的程序第 1章 微型计算机基础指令被取出后送入指令寄存器 IR ( Instrction
Register),由控制器中的译码器对指令进行分析,识别不同的指令类别及各种获得操作数的方法 。 以加法指令 ADD Y为例,
译码器分析后得到如下结果,
(1) 这是一个加法指令 ;
(2) 一个操作数存放在 Y( 地址为 A01H) 中,另一操作数隐含在累加器 A中 。
接着,操作进入指令执行阶段 。 仍以 ADD Y 为例,将 Y
与 A中内容送入 ALU,进行加法运算,结果送入 A。