微处理器80X86-1教材_第1页
微处理器80X86-1教材_第2页
微处理器80X86-1教材_第3页
微处理器80X86-1教材_第4页
微处理器80X86-1教材_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

微处理器芯片及其应用教师:余先涛电话一章微型计算机基础计算机中的数制与编码微型计算机的组成计算机的基本工作原理本节参考书:

微型计算机原理与接口技术机械工业出版社张荣标等编著

微机原理与接口技术清华大学出版社张小鸣主编第一章微型计算机基础

1.1计算机中的数制与码制1.1.1计算机中的数制1、数的位置表示法设待表示的数为N.则式中X为基数

ai

为系数(0<ai<X-l)

m为小数位数

n为整数位数计算机中常用的数制有二进制、八进制、十六进制和十进制。问题:计算机为什么要采用二进制数?在各进制中,上式中各数的取值为多少?各进制的的运算中,他们各自的运算规则是什么?在计算机中,各进制数表示的后缀字母是什么?例1-1(1)二进制数

10011.11B=1×24+0×23+0×22+1×21+

1×20+1×2-1+1×2-2=19.75(2)八进制数

7345.6Q=7×83+3×82+4×81+5×80+

6×8-1=3813.75(3)十六进制

4AC6H=4×163+10×162+12×161+6×160

=191422、数制之间的转换(1)任意进制数转换为十进制数

对二进制、八进制和十六进制以及任意进制数转换为十进制数可采用表达式(1.1)展开求和实现。(2)二进制、八进制和十六进制数之间转换一位八进制数相当于三位二进制数;一位十六进制数相当于四位二进制数。它们之间的转换十分方便。例1-2

二进制转换成八进制和十六进制数

1101100101100011B=154543Q=D963H(3)十进制数转换为二进制数当十进制数转换为二进制数时,须将整数部分和小数部分分开。整数常采用“除2取余法”,而小数则采用“乘2取整法”。

1)十进制整数转换为二进制整数转换方法是除2取余,直到商等于零为止,逆序排列余数即可。对数值比较大的十进制数进行转换时,可采用先将十进制整数转换为十六进制整数,然后再将十六进制整数转换为二进制整数。十进制整数转换为十六进制整数的方法是除16取余,直到商等于零为止,逆序排列余数。2)十进制小数转换为二进制小数

问题:十进制小数一定能用有限的二进制小数来精确地表示吗?1、原码1.1.2计算机中的码制及补码运算例1-5

设机器字长为n=8时,试求+0、+6、+127、-0、-6、-127

的原码解:

[+0]原=00000000[-0]原=10000000

[+6]原=00000110[-6]原=10000110

[+127]原=01111111[-127]原=11111111正数:原码与相应的二进制数完全相同;负数:二进制数的最高位一定是“1”,其余各位是该数的绝对值。零:有正零和负零之分。原码表示法最大优点:简单直观,但不便于加减运算(为什么?)。2、反码设机器字长为n,数X的反码为[X]反,则反码的定义如下:3、补码原码和反码都不能方便运算。而补码可以方便进行运算,在原码和反码表示的数中,参与运算的符号不能参与运算,而补码表示的数则符号和数可以一起参与运算。以下以时钟校准说明补码的概念。若现在是北京时间1点,而时钟快了2小时,指在3点,要将时钟校准有两种方法:一将时钟倒拨2小时(减法);另一种是将时钟顺时针拨10小时(加法)。减法运算变成了加法运算:

3+10=1(时针经过12点时自动丢失一个数12)相当于3-2=3+(-2)=1

10与-2有什么关系?自动丢失的一个数12是什么?数学上把12这个数叫做“模”

10是(-2)对模12的补码在模12的条件下,负数就可以转化为正数,而正负数相加也就可以转化为正数间的相加。补码的概念:4、偏移码偏移码主要用于模/数转换过程中,若被转换数需参加运算,则仍要转换为补码。设机器字长为n,数x的移码为[x]移,则移码的定义如下:

(1.5)例1-8

设机器字长为n=8时,试求-128、0、+127的偏移码。解:[-128]移=00000000

[0]移=10000000

[+127]移=11111111可以看出,偏移码是把相应的补码在数轴上向右移了2n-1,从而弥补了补码不直观的缺点。5、补码运算在计算机中带符号二进制数通常采用补码形式表示。补码有两个主要特点:一是可以使符号位与数一起参加运算;二是将两数相减变为减数变补后再与被减数相加来实现。

加法规则:

[X+Y]补=[X]补+[Y]补

减法规则:

[X-Y]补=[X]补+[-Y]补其中,[-Y]补称作变补运算,可以用[Y]补连同符号位一起按位求反并在末位加1得到。

例1-9X=64-12=52(字长为8位)

[X]补=[64]补十[-12]补

[64]补=01000000B[-12]补=11110100B

01000000

+11110100

100110100

自然丢失由于字长为8位,最高有效位的进位自然丢失。其结果为(52)10的补码

问题:计算机中为什么采用补码进行加、减运算?例l-10X=34-98=-64(字长为8位)

[X]补=[34]补+[-98]补

[34]补=00100010B

[-98]补=10011110B00100010+

1001111011000000

和的最高位是1,表示结果为负数,其结果为(-64)10的补码。

微型机中常用的溢出判别法:双高位判别法Cs:如最高位(符号位)有进位,CS=1,否则,CS=0。CP:如次高位有进位,CP=1,否则,CP=0。判别法则:无溢出:若最高位进位Cs

和次高位进位Cp相同同为0或同为1有溢出:Cs

和Cp相异。当CS⊕Cp=1时,表示有溢出产生,否则无溢出产生正溢出:CS=0,CP=1负溢出:CS=1,CP=06、溢出判别

例1.11

试判别下列二进制补码运算溢出的情况(字长为8位)

(1)

92+105(2)

(-115)+(-87)(3)

35+55(4)

(-15)+(-67)(1)解:

0101110092

01101001105011000101-59(结果为负数)

CS=0CP=1正溢出,结果出错

可见上述两个正数相加,运算结果的数值部分有进位,即CP=1,而符号位无进位,即CS=0。按上述判别方法可得,这种溢出为“正溢出”。(2)解:

10001101[-115]补

10101001[-87]补

100110110+54

CS=1CP=0负溢出,结果出错

可见上述两个负数相加,运算结果的数值部分无进位,即CP=0,而符号位有进位,即CS=1。按上述判别方法可得,这种溢出为“负溢出”。(3)解:

0010001135

0011011155

0101101090

CS=0CP=0无溢出

可见两个正数相加,若和小于2n-1时,必有CS=0,CP=0,则无溢出发生。(4)解:

11110001[-15]补

10111101[-67]补

110101110-82(结果求补)

CS=1CP=1可见两个正数相加,若和的绝对值小于2n-1时,必有CS=1,CP=1,则无溢出发生。一个正数和一个负数相加,和肯定不溢出。此时,若和为正数,则CS=1,CP=1;若和为负数,则CS=0,CP=0。请读者自己验证。1.1.3计算机中的小数点问题1、定点表示法小数点在数中的位置是固定不变的,通常有两种,即定点整数和定点小数。2、

浮点表示法将二进制数N表示成如下形式:

N=±S×2±J

(1.6)该表达式在计算机中表示为:

S:称作尾数,表示全部的有效数字,一般以纯小数表示;

Sf:尾符,即浮点数的符号;

J:阶数,它与阶符一起来决定小数点的实际位置;

Jf

阶符,即阶数符号;例1-12

若用一个16位二进制表示浮点数,其中阶符尾符各占一位,阶数占5位,尾数占9位,试写出10110.101B的具体格式。

解:设尾数以纯小数表示,则

10110.101B=0.10110101×可得S=101101010

Sf=0J=00101Jf=0在计算机中的表示形式为:作业:1、选择题1)以下哪个数最大:()A.10110101BB.234C.234QD.123H2)在计算机系统中,微处理器通常不包括:A.算数逻辑单元B.程序计数器C.大容量内存D.寄存器3)下列各数不属于8421BCD码的是:A.10100101BB.01011001BC.00110011BD.01010100B4)以下关于字节和字长的说法有误的是:A.一个字节由8位二进制位组成。

B.字长是计算机内部一次可以处理的二进制数的位数。C.字长依赖于具体的机器,而字节不依赖于具体的机器。D.字长越长,处理精度越高,但处理速度越慢。浮点数应用中必须注意两个问题:⑴浮点数的规格化规格化的浮点数可以保留最多的有效数字。浮点数规格表示结果如下:对浮点二进制正数,其尾数数字部分的最高位必须是1。对浮点二进制负数,其尾数数字部分的最高位必须是0。⑵浮点数的对价原则在运用浮点数进行加减时,两数的阶码必须取得一致,否则不能进行加减运算,对阶原则如下:

1)以大的阶码为准对阶。2)对阶后数的大小不变(在精度允许范围内),对阶规则是:阶码每减少1,尾数向左移一位,阶码每增加1,尾数向右移一位。定点与浮点表示法各有哪些优缺点?1.1.4计算机中信息的编码信息编码:十进制数的二进制编码、字符信息的编码和汉字编码。1、十进制数的二进制编码由四位二进制数来表示一位十进制数。称作BCD码

1)8421码:四位二进制数的权分别为8、4、2、1的BCD码

324.6对应的8421BCD码是

001100100100.0110

2)2421码:四位二进制数的权分别为2、4、2、1的BCD码

724.6对应的2421BCD码是

110100100100.1100

3)余

3码:将

8421码加上

0011。余3码也是一种自补码,

对各位取反就得到它的9补码。

825.7对应的余

3码是

101101011000.10102、字符信息的编码字母、数字和符号等各种字符按特定的规则用二进制编码在计算机中的表示。在微型机中表示字符的常用码制是ASCII码,它是美国信息交换标准码(AmericanStandardCodeforInformation

Interchange)它能用6位、7位或8位二进制数对字符编码。

7位ASCII码可表示128种字符,它包括52个大、小写字母、0—9十个数字和控制符号

8位ASCII码是在7位ASCII码基础上加一个奇偶校验位而构成。奇偶校验码,是对每一组二进制编码配置一个二进制位(称为奇偶校验位),通过将该位置“0”或置“1”而使每组二进制编码中“1”的个数为奇数(即形成奇校验码)或偶数(即形成偶校验码)。奇偶校验码中,校验位只用来使每组二进制编码“1”的个数具有奇偶性。3、汉字编码汉字编码的类型有四种:外部码、内部码、交换码和输出码。(1)外部码每个汉字对应一个外部码。对同一个汉字不同的输入方法其外部码也不相同。目前外部码大致可分为四种类型:数字码、音码、形码和音形码。(2)内部码每个汉字对应一个内部码。同一汉字的内部码是唯一的。内部码通常反映了汉字在字库中的位置。(3)交换码用于计算机之间或计算机与终端之间交换信息。该标准编码字符集共收录汉字和图形符号7445个。(4)输出码同一汉字的输出码因选择点阵的不同而异。目前常用的汉字点阵有:16×16、24×24、32×32、40×40、48×48、64×64、72×72、96×96、108×108等。1.2微型计算机的组成

1.2.1微型计算机的结构微处理器、微型计算机、微型计算机系统的含义和它们之间的关系。

算逻运算器累加器寄存器控制器内部总线内外存储器系统总线I/O接口微型计算机系统微处理器外围备设系统软件微型计算机图1-1微处理器、微型计算机和微型计算机系统三者关系1、微处理器(Micro-processor)

CPU:算术与逻辑运算部件、控制器部件、累加器与寄存器和内部总线4部分组成图1-2微处理器内部结构框图ALU通用寄存器堆累加器指令寄存器指令译码器定时与控制电路I/O信号……存储器写存储器读等待中断请求时钟复位I/O写I/O读堆栈指示器程序计数器地址寄存器地址缓冲器地址总线内部总线数据总线标志寄存器数据锁存器/缓冲器2、微型计算机 微型计算机:

CPU、存储器、输入和输出接口电路和系统总线CB控制总线3、微型计算机系统微型计算机、系统软件和外设图1-3微型计算机AB地址总线DB数据总线

存储器I/O接口CPU1.2.2个人台式计算机的硬件构成实例图1-4个人台式计算机的外观组成作业:2、判断题1)字节是计算机中存储的最小单位。2)两个补码表示的数进行加减运算,判断是否“溢出”的方法只要看最高位是否有进位。3)正数的补码等于原码,负数的补码是原码连同符号位一起求反加1。4)程序计数器用于存放当前正在执行的下一条指令的地址码,是确保微处理器有序执行程序的关键部件。3、综合题

1)冯.诺伊曼结构,硬件上由哪5大部分组成?2)若A=+63,B=-107,按8位二进制表示:[A]补=?,[B]补=?,[A-B]补=?3)将补码操作数“10110111”扩展成16位后,等值的机器数为?4)7位ASCII码有多少个字符?5)补码运算:X=-53,Y=+107,求[-X]补,

[Y]补,

[X-Y]补,

[-X+Y]补,

[-X-Y]补,要求给出求解过程,并指明运算后的溢出标志情况。6)将295.125表示成单精度浮点数。(注:单精度浮点数由32位二进制数组成,尾数23位,阶数7位,尾符和阶符各占一位。图1-5主机的内部组成图1-6主板的组成1、主板2、中央处理器CPU图1-7CPU

3、内存储器图1-8内存条4、外存储器外存储器包括硬盘、软盘、光驱等设备。(1)硬盘图1-9硬盘(2)软盘图1-10软盘驱动器(3)光盘存储器

图1-11光盘驱动器5、显示卡、声卡、网卡图1.12显示卡图1-12显示卡6、显示器、鼠标、键盘、机箱1.3计算机的基本工作原理

1.3.1模型计算机

1、模型计算机CPU的结构图1-13模型计算机的CPU结构J2I2ALUF内部数据总线ABPCARPLAIDDRCPU3E485F876AC5123E00AB5EE6ABDB存储器IR2、模型计算机的存储器结构及其操作

地址寄存器AR定为8位,可寻址256个单元,模型计算机存储器由256个单元组成。图1-14模型计算机的存储器结构地址译码器00单元01单元02单元┇┇FF单元000102FF地址单元内容ABCBDBI/O缓冲器控制逻辑问题:1、存储器存放什么?2、存储器内部一般具有什么电路?3、对存储器有哪些操作?4、存储器有哪些种类?

存储器中的两种操作:读(read)操作和写(write)操作。

(1)读操作

图1-15存储器读操作示意图地址译码器0单元内容3EH┇┇FF单元内容02控制逻辑地址单元内容AB读信号RDDB023EHI/O缓冲器(2)写操作

图1-16存储器写操作示意图写信号WR地址译码器0单元内容┇┇FF单元内容I/O缓冲器03地址单元内容ABDB030FH0FH控制逻辑问题:存储器的读和写的过程(即信号控制的顺序)是怎样的?3、总线具有某种功能的信号集合4、模型计算机的指令与指令系统指令:计算机能实现的各种基本操作,我们把每一种基本操作用命令的形式来表示。指令系统:计算机所能执行的全部指令。程序:把人的操作意图经分解后,用对应于所规定的指令系统的一串指令序列来描述。指令通常分成操作码(Opcode,即Operationcode)和操作数(Operand)两大部分。操作码:表示计算机执行什么操作;操作数:指明参加操作的数本身或操作数所在的地址。1.3.2程序运行过程1、程序的编写与存放

用模型计算机来完成一个简单的计算,假设要把15H与25H相加,运算结果送到16H存储单元,然后停机。首先用助记符进行编程

0115MOVB,15H

0025MOVA,25H

03ADDA,B

0216MOV[16H],A

04HLT问题:

计算机运行程序必须具备哪些条件?简述模型计算机运行程序的过程?2、程序的运行过程CPU的执行过程取出指令执行指令两个阶段的循环(周而复始的取出指令和执行指令)在开始执行程序时,PC(PROGRAMCOUNTER)自动设置(由CPU的复位状态确定)为00H,这样就自然地进入程序第一条指令的取指阶段,具体过程如下:(1)第一条指令的取指阶段J2I2ALUF内部数据总线AB00PLAID01H01H

温馨提示

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

评论

0/150

提交评论