微机原理第1章-数制
微机原理 数制

例:计算BCD码 38-29=? 计算 码 ? 0011 1000 - 0010 1001 0000 1111 - 0000 0110 0000 1001 38H - 29H 0FH - 06 9 低4位有半借位 调整 高4位未产生非 位有半借位-6调整 位有半借位 位未产生非 BCD且无借位不调整 且无借位不调整 结果: 结果:9
几点说明: 几点说明: 根据两数互为补的原理, ① 根据两数互为补的原理,对补码求补码就可以得到其 原码,将原码的符号位变为正、负号, 原码,将原码的符号位变为正、负号,即是它的真值 例如求补码数FAH的真值 因为FAH FAH为负数求补码 例如求补码数FAH的真值 。因为FAH为负数求补码 FAH [FAH]补 86H=[FAH]补=86H=-6 例如求补码数78H的真值 因为78H 78H为正数求补码 例如求补码数78H的真值 。因为78H为正数求补码 [78H] 78H 补=78H=+120 一个用补码表示的机器数,若最高位为0 ② 一个用补码表示的机器数,若最高位为0,则其余几位 即为此数的绝对值;若最高位为1 即为此数的绝对值;若最高位为1,其余几位不是此数 的绝对值,必须把该数求补(按位取反(包括符号位) 的绝对值,必须把该数求补(按位取反(包括符号位) ),才得到它的绝对值 才得到它的绝对值。 X=- [-15]补 加1),才得到它的绝对值。如:X=-15 [-15]补=F1H =11110001B 求补得00001110+ 求补得00001110+1=00001111B=15 00001110
3 计算机中的有符号数的表示
有符号数有原码、反码和补码三种表示法。 有符号数有原码、反码和补码三种表示法。 原码 三种表示法 1.原码 1.原码 数值部分用其绝对值, 数值部分用其绝对值,正数的符号位用 “0”表示,负数的符号位用“1”表示。如: 表示,负数的符号位用“ 表示。 表示 表示 X1=+ X1=+5 X2=-5 [X1]原 [X1]原=00000101B [X2 [X2]原=10000101B 0000101B
第1章微机原理概述与数制

2020/8/5
12
系统级
• 以微型计算机为中心,配以相应的外围 设备以及控制微型计算机工作的软件, 就构成了完整的微型计算机系统。
• 微型计算机如果不配有软件,通常称为 裸机
• 软件分为系统软件和应用软件两大类。
2020/8/5
13
二、微型计算机的基本结构
1. 微型计算机的硬件系统
微处理器(CPU )
2020/8/5
34
例:计算5+8(p35)
汇编语言程序 -----------------MOV AL, 5
ADD AL, 8
HLT
对应的机器指令 对应的操作
--------------------- ---------------------------------------------
10110000
2020/8/5
30
芯片组
• CPU的外围控制芯片,通常为2片 • 两种架构:南北桥、HUB(加速中心)
– 南北桥
• 北桥——提供CPU/主存/高速缓存的连接、AGP接口、PCI桥接 • 南桥——提供USB、IDE(FDD/HDD)、串/并口及ISA桥接等 例如:Intel 440BX、VIA694(KT133)+686B、SiS 645等
2020/8/5
3
2020/8/5
4
主要内容:
• 微型机的构成及工作原理 • 8088/8086 CPU的结构及工作原理 • 系统总线
• 各种常用记数制和编码以及它们相互间的转换; • 二进制数的算术运算和逻辑运算; • 符号数的表示及补码运算; • 二进制数运算中的溢出问题
2020/8/5
5
§1.1 微型机的基本结构
微机原理-1

了解和掌握数制和编码
各种常用记数制以及它们相互间的转 换; 二进制数的算术运算和逻辑运算; 符号数的表示及补码运算; 二进制数运算中的溢出问题 定点数与浮定点 BCD码与ASCII码
ቤተ መጻሕፍቲ ባይዱ
1.1.1 进位计数制及各计数制间的转换
数制是人们对事物数量计数的一种统计规 律。在日常生活中最常用的是十进制,但在计算 机中,由于其电气元件最易实现的是两种稳定状 态:器件的“开”与“关”;电平的“高”与 “低”。因此,采用二进制数的“0”和“1”可以 很方便地表示机内的数据运算与存储。在编程时 ,为了方便阅读和书写,人们还经常用八进制数或 十六进制来表示二进制数。虽然一个数可以用不 同计数制形式表示它的大小,但该数的量值则是 相等的。
例 将(168)10转换成二、 八、 十六进制数。
0
故: (0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16
例 将(168.645)10转换成二、 八、 十六进制数。
根据前两例可得 : (168.645)10= (10101000.10100)2= (250.51217) 8 =(A8.A51EB)16
二进制转换成十六进制: 整数部分由小数点向左每四位一组,小数部分由 小数点向每四位一组,不足四位的补0,然后用四位 二进制的相应的十六进制代替即可,如: (101,1101,0101,1010.1011,01)2=(5D5A.B4)16 0101 1101 0101 1010. 1011 0100 5 D 5 A . B 4
(三) 十六进制
常用十六进制数(Hexadecimal)来表示计算机中各种 二进制数码。 十六进制的特点:有16个数码0~9、A~F,“逢十六 进一”。一个十六进制数NH可展开表示为: NH = h n–1×16n–1+ h n–2×16n–2+ … + h1×161+ h0×160+ h–1×16–1+ … + h–m×16–m =×16i 式中,16为基数;16i为各位的权;hi为各位的数码。 例如: DFC.8=D×162+F×161+C×160+8×16–1 = 13×162+ 15×161+ 12×160+ 8×16–1
第1章 数和码制

*微机组成:CPU、MEM、I/O微机的基本结构微机原理(一):第一章数制和码制§1.1 数制(解决如何表示数值的问题)一、数制表示1、十进制数表达式为:A =∑-=•110 nmi iAi如:(34.6)10= 3×101 + 4×100 + 6×10-1 2、X进制数表达式为:B =∑-=•1 NM iiX Bi如:(11.01)2= 1×21 + 1×20 + 0×2-1+ 1×2-2(34.65)16= 3×161 + 4×160 + 6×16-1+ 5×16-2X进制要点:X为基数,逢X进1,X i为权重。
(X个数字符号:0,1,…,X-1)区分符号:D-decimal (0-9),通常D可略去,B-binary (0-1),Q-octal (0-7),H-hexadecimal (0-9, A-F)常用数字对应关系:D: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13,14,15B:0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111H: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F二、数制转换1、X →十方法:按权展开,逐项累加。
如: 34.6 Q= 3×81 + 4×80 + 6×8-1 = 24 + 4 + 0.75 = 28.75 D2、十→X即:A十进制=B X进制令整数相等,即得:A整数=(B N-1·X N-1 + … + B1·X1)+ B0·X0此式一次除以X可得余数B0,再次除以X可得B1,…,如此直至得到B N-1令小数相等,即得:A小数=B-1·X-1 +(B-2·X-2 + … + B-M·X-M)此式一次乘X可得整数B-1,再次乘X可得B-2,…,如此直至得到B-M.归纳即得转换方法:除X取余,乘X取整。
微机原理第1章(1.3-1.4,布尔代数与加法电路)

3、“非”(反)运算 逻辑表达式为: Y=A
非运算的基本规则是: 0=1 A+ A=1 1=0 A· A=0 A=A 和普通代数一样,逻辑代数也有类 似的运算法则,如逻辑代数同样适用交 换律、结合律和分配律三种运算法则。
4、摩根定理
除了以上定律外,逻辑代数中还有 自己的一些特殊定律。例如:摩根定律 。在电路设计中,人们手边有时没有“ 与”门,而只有“或”和“非”门。或 者只有“与”门和“非”门,没有“或 ”门。利用摩根定律可以帮助你解决元 件互换问题。 A+B=A· B A· = A+B B 总结:头上切一刀,下面变个号
该数在原码中定义为:
-0 在反码中定义为: -127 在补码中定义为: -128 对无符号数:(10000000)2 = 128
8位有符号数的表示范围:
对8位二进制数:
原码:
-127 ~ +127 反码: -127 ~ +127 补码: -128 ~ +127
想一想:16位有符号数的表示范围是多少?
国信息交换标准代码的简称,用于给西文字符编码,包括英文字母的大 小写、数字、专用字符、控制字符等。 这种编码由7位二进制数组合而成,可以表示128种字符,目前在国
际上广泛流行。
2) 二—十进制编码——BCD码
BCD(Binary-Coded Decimal)码又称为“二—十进制编码”,专 门解决用二进制数表示十进数的问题。 “二—十进制编码”最常用的是8421编码,其方法是用4位二进制 数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。 由于4位二进制数有0000~1111共16种状态,而十进制数0~9只取 0000~1001的10种状态,其余6种不用。
微机原理第一章

可见上述两个负数相加,运算结果的数值部分无进位, 即CP=0,而符号位有进位,即CS=1.按上述判别方法可 得,这种溢出为"负溢出".
(3)解: 0010 0011 + 0011 0111 0101 1010
CS=0 CP=0 无溢出
35 55 90
可见两个正数相加,若和小于2n-1时,必有CS=0, CP=0,则无溢出发生.
字长为8位 例1-9 X=64-12=52 (字长为 位) [X]补=[64]补十[-12]补 [64]补=01000000B [-12]补=11110100B 01000000 + 11110100 1 00110100 自然丢失 由于字长为8位,最高有效位的进位自然丢失. 由于字长为 位 最高有效位的进位自然丢失. 其结果为( ) 其结果为(52)10的补码 计算机中为什么采用补码进行加,减运算? 计算机中为什么采用补码进行加,减运算?
(3)十进制数转换为二进制数 ) 当十进制数转换为二进制数时, 当十进制数转换为二进制数时,须将整数部分 和小数部分分开.整数常采用" 取余法" 和小数部分分开.整数常采用"除2取余法",而 取余法 小数则采用"乘2取整法". 小数则采用" 取整法" 取整法 1)十进制整数转换为二进制整数 转换方法是除2取余,直到商等于零为止, 转换方法是除2取余,直到商等于零为止,逆 序排列余数即可. 序排列余数即可.对数值比较大的十进制数进行转 换时,可采用先将十进制整数转换为十六进制整数, 换时,可采用先将十进制整数转换为十六进制整数, 然后再将十六进制整数转换为二进制整数. 然后再将十六进制整数转换为二进制整数.十进制 整数转换为十六进制整数的方法是除16取余, 16取余 整数转换为十六进制整数的方法是除16取余,直到 商等于零为止,逆序排列余数. 商等于零为止,逆序排列余数.
微机原理第一章节PPT课件

返回
1993年,xx公司推出了新一代高性能处理器Pentium
(奔腾)2,Pen微tium机的速发度展比8史0486快数倍。AMD和Cyrix
推出了与Pentium兼容的处理器K5和6x86,获得了少部分 的市场份额。 1971年xx公司1为99了6年设,计x高x公级司袖推珍出计了算P器en设ti计um了P第ro一(台高微能机奔x腾x4)00,4 以CPU的发P1展9e9n、7ti年u演m初变P,过rox的程x发性为布能线了有索P了,en质介tiu的绍m飞微的跃机改。系进统型的号发—展—过Pe程nt,ium 主要以xx公司的MCMPUX为(主多线能。奔腾)。兼容CPU厂商在这段时间也相继推 第一代:4位及低出的档了要8多数位款 A微M产处D品的理来K器与6。Pentium MMX竞争,其中最具代表性 第二代:中、低1档9987位年微推处出理了器PⅡ。PⅡ是对Pentium Pro的改进,因为其 第三代:高、中核速档心度8位结,微构 且处与 支理持Pe器MntiMumX指Pr令o类集似。,但加快了16位指令的执行 第四代:16及低1档99382年位推微出处了理赛器扬(Celeron)PⅡ的二级缓存以及其它可 第五代:高档32以1位9省9微9略年处的 又理东推器出西了,开从发而代将号价为格C降o了pp下er来m。ine的PⅢ,该芯片大 第六代:高档64大位加微强处C理PU器在三维图像和浮点运算方面的能力。 2000年3月底,xx又推出了566MHz和600MHz的赛扬Ⅱ (也叫Coppermine-128kB)。
年 代 电子器件
应 用范围
1946--1958 电子管
微机原理与接口技术--第1章数制及换算-544

数制和编码的表示 各种计数制之间的相互转换
1
1. 常用计数法
十进制(D) 二进制(B) 十六进制(H)
2
表示方法示例:
234.98D或(234.98)D或234.98 1101.11B或(1101.11)B ABCD . BFH或(ABCD . BF) H
3
各种计算制的表示方式
原则:按相应的权值表达式展开 例:
1011.11B=1×23+0×22+1×21+1×20+1×2-1+ 1×2-2 =8+2+1+0.5+0.25 =11.75
5B.8H=5×161+11×160+8×16-1 =80+11+0.5 =91.5
7
十进制到非十进制数的转换
到二进制的转换: 对整数:除2取余; 对小数:乘2取整。
4
十六进制数
n1
(H)16 Hi 16i im
Hn1 16n1 Hn2 16n2 H1 161 H0 160 H1 161 Hm 16m
5
2. 各种进制数间的转换
非十进制数到十进制数的转换 十进制到非十进制数的转换 二进制与十六进制数之间的转换
6
非十进制数到十进制数的转换
十进制数
n1
(D)10 Di 10i im
Dn1 10n1 Dn2 10n2 D1 101 D0 100 D1 101 Dm 10m
二进制数
n1
(B)2 Bi 2i im
Bn1 2n1 Bn2 2n2 B1 21 B0 20 B1 21 Bm 2m
25.5Байду номын сангаас 11001.1B = 19.8H
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无符号二进制数的除法运算有可能产生溢出,当除数较小时,运算
结果可能超出微处理器为除法运算结果准备的存储空间,从而溢出 。除法溢出时微处理器会产生溢出中断,提醒程序员程序出错。
33
知识点1.3.3
带符号整数的表示方法:
原码、反码、补码
34
带符号数的表示方法
【例1-17】 十进制 +1 -1 +79 -79 0 0 二进制 +1 -1 + 1001111 - 1001111 0 0000000 1 0000000 符号数值化 0 0000001 1 0000001 0 1001111 1 1001111
15
2. 十进制数到非十进制数的转换
转换为二进制, 对整数:除2取余; 对小数:乘2取整。
转换为十六进制, 对整数:除16取余; 对小数:乘16取整。
整数部分 小数部分
余数
低位
高位
2 115 2 57 2 28 2 14 2 7 2 3 2 1 0
1 1 0 0 1 1 1
高位
0.75 2 × 1.5 0.5 2 × 1.0
例如:(3FC.6)H =3×162+F×161+C×160+6×16-1 =(1020.375)D
知识点1.2.2
数制转换
14
1. 非十进制转换为十进制
按权表达式展开,再按十进制运算规则求和,即可得到对应的十进制数。
例: (1101.101)2=23+22+2-1+2-3=(13.625)10 (3FC.6)H=3×162+15×161+12×160+6×16-1=(1020.375)D
678.34=6×102+7×101+8×100 +3×10-1+4×10-2
数码 基数 位权
[例1-1] 十进制数8347.25权表达式为:
8×103+3×102+4×101+7×100+2×10-1+5×10-2
在计算机中,十进制数8347.25可以表示为: (8347.25)10 或者(8347.25)D 也可用后缀D(decimal)表示:8347.25D 更常见的写法是不加任何表示字符,计算机默认为十进制数。
6
二进制
数码为: 0、1 基数为:2
位权:2 i
表示形式:B 位权: 例如:1011B或(1011)2
… 25 24 23 22 21 20 . 2-1
即: 二进制数1010.01的权表达式为:
2-2
2-3 …
…32 16 8 4 2 1 . 0.5 0.25 0.125 …
1010.01= 23 + 21 + 2-2 =10.25
在计算机中,一个二进制数可以用下标2表示,也可以用后缀B( Binary)表示,如(1010.01)2 、1010.01B。
一个字节的二进制数的位权: 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 (1001 0101)2=(128+16+4+1)10=(149)10
+5 +4
+3 +2 +1 +0 -0 -1 -2 -3 -4 -5 -6 -7
[+0]原= 0000 0000 [-0 ]原= 1000 0000
(2)反码
对于正数,其反码形式与原码相同,最高位为符号位,其
余位为数值位。
对于负数,将其原码除符号位之外的其余各位按位取反。
真值 +33 -33 +0 -0 +79 -79 原码 0010 0001 1010 0001 0000 0000 1000 0000 0100 1111 1100 1111 反码 0010 0001 1101 1110 0000 0000 1111 1111 0100 1111 1011 0000
39
+7
00000111
0000 0111
+6 +5
+4 +3 +2 +1 +0 -0 -1 -2 -3 -4 -5 -6
00000110 00000101
00000100 00000011 00000010 00000001 00000000 10000000 10000001 10000010 10000011 10000100 10000101 10000110
3
进位计数制
二进制、十进制、十六进制,都是进位计数制,进位计数制
使用位置表示法,都有数码、位权和基数3个要素。
十进制
数码为:0、1、2、3、4、5、6、7、8、9
基数为:10
表示形式:D 位权
(678.34)D或(678.34)10
权表达式
103 102 101 100 . 10-1 10-2 1000 100 10 1 . 0.1 0.01
除法运算是乘法运算的逆运算,无符号数的除法运算可以转换为减法和右 移位运算。
29
知识点1.3.2
无符号整数的算术运算与溢出
30
无符号整数的表示范围及运算溢出判断
一个n位无符号二进制数X,表示数的范围为: 0≤X≤2n-1 例如,一个8位无符号二进制数,表示范围为: 0~28-1, 00H~FFH(0~255) 一个16位无符号二进制数,表示范围为:
36
一个字节的原码,表示的数据范围为: 11111111~01111111,即-127~+127。
00000111 00000110
+7 +6
00000101 00000100
00000011 00000010 00000001 00000000 10000000 10000001 10000010 10000011 10000100 10000101 10000110 10000111
无符号数的乘法运算可以转换为加法和左移位的运算。
一个二进制数,每左移一位,相当于乘以2,左移n位就
相当于乘以2n。
28
(4)除法运算 0÷1=0 1÷1=1 [例4] 计算1010 0011B÷1001B= ( ? )B。
1010 0011B÷1001B=
B
除法运算中除数不能为0,否则将引起除法错中断。
0~216-1,即0000H~FFFFH(0~65535)。
31
【例1-16】计算10101011B+11010010B=( ? )B。 171+210=381 10101011
+ 11010010
101111101 运算结果101111101B是9位,超出了8位二进制数的取值范围(0~255),则
知识点1.2
计算机中的数据
1
计算机中使用的数据形式有:
1.无符号整数
2.有符号整数
3.浮点数
4.ASCII码
5.Unicode码 6.BCD码
2
知识点1.2.1
数制
在数字逻辑电路中,只有高电平与低电平两个稳定状态。如果用高电平表
示1、用低电平表示0,数字逻辑电路就可以表示二进制数。计算机由数字
逻辑电路组成,所以计算机采用二进制。
8
0.101101 . 2-1 2-2 2-3 2-4
0.5 0.25 0.125 0.0625 0.03125 0.015625
2-5
2-6
0.101101=0.5+0.125+0.0625+0.015625=0.703125
9
十六进制
数码为: 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 基数为:16
分析笔算乘法
1010 × 1001 1010 0000 0000 1010 1011010 被乘数 乘 数 部分积
乘 积
D7 D6 D5 D4 D3 D2 D1 D0
即1010B×1001B=1011010B。
B7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0101 1
26
移位加
乘数 被乘数 1010 部分积 0000
0
1
1
24
(3)乘法运算
0×0=0 1×0=0 0×1=0 1×1=1
分析笔算乘法 [例3]计算1010B×1001B= ( ? )B。
1010 被乘数 × 1001 乘 数 1010 部分积 0000 0000 1010 1011010 乘 积 即1010B×1001B=1011010B
25
18
(4)二进制与八进制间的转换
用3位二进制数表示1位八进制数
(011 100 . 100)2
(3 4 4)8
(5
2 . 7)8
( 101 010 .111)2
19
知识点1.3
二进制整数的算术运算
20
字节 字 双字 四字
01001001 01001010 01001001 01001001 01001001
二进制数的算术运算规则
22
(1)加法运算
0+0=0 0+1=1 1+0=1 1+1=0(有进位) )B。
【例1】计算01101010B+10110101B=( ? 解:
+ 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0
即: 01101010 B + 10110101B= 100011111 B
最高位被丢弃,这导致运算结果错误,计算机中将这种情况称为溢出。两
个16位二进制数相加,结果有可能超出16位二进制数的取值范围,导致最 高位被丢弃,运算结果溢出。32位、64位的二进制数加法运算都有可能溢