福建师大福清分校微机原理课件第一章_第1页
福建师大福清分校微机原理课件第一章_第2页
福建师大福清分校微机原理课件第一章_第3页
福建师大福清分校微机原理课件第一章_第4页
福建师大福清分校微机原理课件第一章_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术第一章微型计算机基础知识1.1

计算机的数和编码1.2逻辑单元与逻辑部件1.3

微型计算机的结构和工作原理1.48086/8088微处理器1.58086/8088的存储器结构与堆栈1.1计算机中的数和编码1.1.1计算机中的数制常用数制----二,十,十六进制目前在计算机中,数几乎全部用二进制表示为书写方便,微机中的二进制数用十六进制数缩写人们最熟悉、最常用的是十进制数(各种数制无法统计,比如24、60、365等进制)为了区别3种不同数制,约定:数后加B表示二进制数带D或不带字母符号表示十进制数带H表示十六进制数十进制二进制十六进制十进制二进制十六进制000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F

十进制、二进制、十六进制数之间的关系如下表:数制间的转换(1)二←→十六

二进制整数→十六:从右(最低位)向左将二进制数4位1组划分,最后一组若不足4位则在其左边补0,每组用1位十六进制数表示。如:1111111000111B→1111111000111B

→0001111111000111B=1FC7H

十六→二:用4位二进制数代替1位十六进制数如:

3AB9H=0011101010111001B(2)十六←→十

十六→十:将十六进制数按权展开相加如:

1F3DH=163×1+162×15+161×3+160×13=4096×1+256×15+16×3+1×13=4096+3840+48+13=7997

十进制整数→十六:除16取余法如:

38947=9823H16389473162434216152816990余数倒序排列1.1.2符号数的表示方法

用数的符号和数值部分一起编码的方法表示符号数只有8位(字节)、16位(字)或32位(双字)机器数的最高位才是符号位。最高位为0→正数,为1→负数区分:机器数、真值、无符号数掌握符号数的三种常用表示法:原码,反码,补码

1.原码

→数值用其绝对值,正数的符号位用0表示,负数的符号位用1表示

如:

X1=105=+1101001B[X1]原=01101001BX2=-105=-1101001B[X2]原=11101001B注:原码表示的数,8位数中,D7位为符号位,其余7位为数值位(为真值的绝对值)8位原码数的数值范围为FFH~7FH(-127~127);16位原码数的数值范围为FFFFH~7FFFH(-32767~32767)原码表示简单易懂,且与真值转换方便,但内部运算复杂,为简化计算机结构,引进了反码和补码2.反码

→正数的反码与原码相同;负数的反码为它的绝对值连同符号位按位取反

如:

X1=105=+1101001B[X1]反=01101001BX2=-105=-1101001B[X2]反=10010110B注:一个负数的反码的数值部分并不是其真值的绝对值,要按位取反才能求得真值的绝对值3.补码→正数的补码与原码相同;负数的补码为其正数的补数补数有两种求法:(1)按位取反后再加1(2)从最低位向最高位扫描,保留直至第一个“1”的所有位,第一个“1”左边各位按位取反如:X1=105=+1101001B[X1]补=01101001BX2=-105=-1101001B[X2]补=10010111B对补码表示的负数求补可以得到其正数如:

[-105]补=10010111B=97H求补,得:01101001=69H=105,即补码表示的机器数97H的真值是-69H(=-105)注:一个补码数,若最高位为0,则该数即为此数的绝对值;若最高位为1,则其补数为该数的绝对值8位补码数的范围:80H~7FH(-128~127)。16位补码数的范围:8000H~7FFFH(-32768~32767)补码数80H和8000H的最高位既代表了符号为负又代表了数值为11个二进制补码数的符号位向左扩展若干位后,所得到的补码数的真值不变。

如:[68]补=44H→字节,

[68]补=0044H→字

[-68]补=BCH→字节,

[-68]补=FFBCH→字微机中,符号数用补码表示!计算机把机器数均当作无符号数进行运算,即符号位也参与运算二进制加法规则:0+0=00+1=1+0=11+1=0→进位1二进制减法规则:0-0=01-0=11-1=00-1=1→借位11.1.3二进制数的加减运算1.无符号数的运算(1)两个无符号数相加----和为正数.当和超过其位数所允许的范围时,向更高位进位,用CF表示如:

59+164=3BH+0A4H

127+160=7FH+A0H=0DFH=11FH

无进位,CF=0有进位,CF=1

00111011+1010010011011111

01111111+10100000100011111进位192-10=C0H-0AH=B6H=182无借位,CF=010-192=0AH-C0H=-B6H=-182有借位,CF=1(2)两个无符号数相减----被减数大于或等于减数,无借位,结果为正;被减数小于减数,有借位,结果为负。如:

11000000-0000101010110110

00001010-11000000101001010借位

结论:对无符号数进行减法运算,其结果的符号用进位来判别:CF=0(无借位),结果为正;CF=1(有借位)结果为负2.符号数的运算----两数进行运算,结果超出表示范围会产生溢出;用OFH表示如:105+50=155>127,超出范围,产生溢出又如:-105-50=-155<-128,超出范围,产生溢出

01101001+0011001010011011=155→视为无符号数,结果正确=-65H→结果为负,错误,溢出,0F=1

10010111+11001110101100101进位=-155→将进位视为符号,结果正确=65H→结果为正,错误,溢出,0F=1说明:(1)将多位二进制数拆成多部分运算时,数的低位部分均为无符号数,只有高位部分才为符号数(2)注意区分进位与溢出(3)溢出不同于补码运算中的进位或借位丢失

如:-50-5=-5511001110+11111011111001001=-00110111B=-55进位丢失结果正确,无溢出判补码运算有无溢出的方法:

设符号位向进位位的进位为CY,数值部分向符号位的进位为CS,则溢出判别式为:OF=CY⊕CS

当OF=1时,有溢出;当OF=0时,无溢出

01101001+0011001010011011CY=0,

CS=1OF=0

⊕1=1,有溢出如:105+50CY=1,

CS=0

10010111+11001110101100101OF=1

⊕0=1,有溢出-105-50CY=1,

CS=1

10101110+11111011111001001OF=1⊕1=0,无溢出-50-51.逻辑非→按位求反

如:A=01100001B,B=11001011BA=10011110B,B=00110100B2.逻辑乘∧(逻辑与)→按位求“与”规则:0∧0=0,0∧1=0,1∧0=0,1∧1=1如:01100001B∧11001011B=01000001B1.1.4二进制数的逻辑运算与逻辑电路3.逻辑加∨(逻辑或)→按位求“或”规则:0∨0=0,0∨1=1,1∨0=1,1∨1=1如:01100001B∨11001011B=11101011B4.逻辑异或⊕(按位加)→按位求模2和规则:0+0=0,0+1=1,1+0=1,1+1=0。如:01100001B⊕11001011B=10101010B5.正逻辑与负逻辑正逻辑——高电平表示逻辑1,低电平表示逻辑0负逻辑——高电平表示逻辑0,低电平表示逻辑1

计算机里,字母、各种符号以及指挥计算机执行操作的指令,均用二进制数的组合表示,称为二进制编码1.二进制编码的十进制数即用二进制表示的十进制数,简称BCD数(binary

codeddecimal)常用的是8421BCD码,如下表所示(P10表1-3):1.1.5二进制编码8421BCD编码表十进制数压缩BCD数非压缩BCD数(ABCⅡBCD数)十进制数压缩BCD数非压缩BCD数(ABCⅡBCD数)00H(0000B)00H(00000000B)55H(0101B)05H(00000101B)11H(0001B)01H(00000001B)66H(0110B)06H(00000110B)22H(0010B)02H(00000010B)77H(0111B)07H(00000111B)33H(0011B)03H(00000011B)88H(1000B)08H(00001000B)44H(0100B)04H(00000100B)99H(1001B)09H(00001001B)压缩BCD数→用8位二进制数表示2个十进制数位非压缩BCD数→用8位二进制数表示1个十进制数位如:19→压缩BCD→00011001=19H19→非压缩BCD→0000000100001001=0109H(1)十进制数与BCD数的转换

查8421BCD编码表→直接(2)BCD数转换为二进制数写出BCD数的十进制数→十进制数转换为二进制数(3)二进制数转换为BCD数二进制数转换为十进制数→根据十进制数写出BCD数说明:----字符在机内的表示常用的ASCII码字符如下表(P11表1-4):2.ASCII码字符ASCⅡ码(H)字符ASCⅡ码(H)0~930~39$24A~Z41~5A换行LF0Aa~z61~7A回车CR0DBlank20(1)十进制数的ASCII码转换成十进制数→减30H十进制数转换成十进制数的ASCII码→加30H(2)将十六进制数的ASCII码转换为十六进制或将十六进制转换为十六进制数的ASCII码,要先判别ASCII码是在哪个区段内,然后再加或减30H或37H。(3)十进制数的ASCII码转换为二进制:将ASCII码转换为ASCIIBCD数→写出ASCIIBCD数的十进制数→将十进制数转换为二进制数(4)二进制数转换为十进制数的ASCII码→过程与(3)相反注:BCD数低位与高位之间逢“10”进1,4位二进制数之间逢“16”进1。而计算机按二进制规律运算,故BCD数进行运算后须进行调整1.BCD数加法调整规则:和在0~9之间,保持不变;和大于9,加6调整如:48+59=1071.1.6BCD数的加减运算10100001

01001000+01011001

+01100110100000111←BCD数2.BCD数减法调整规则:差在0~9之间,不变;差大于9,减6调整如:28-19=9

通常在微机中设有二—十进制调整电路,通过调用调整指令来实现调整00001111

00101000-00011001

-0000011000001001←BCD数1.3微型计算机的结构和工作原理1.3.1微型计算机常用的术语位(bit)——计算机所能表示的最基本、最小的数据单元。1个二进制位有两种状态“0”和“1”

字(word)——计算机内部进行数据处理的基本单位,与寄存器、ALU宽度一致每一个字所包含的二进制位数称为字长字节(byte)——8个Bit组成一个字节,存放相邻的8位二制数.字节的长度固定指令(instruction)规定计算机进行某种操作的命令程序(program)指令的有序集合指令系统(instructionset)一台计算机的全部指令1.3.2微型计算机的基本结构

微型计算机的基本组成如图所示:

(3)控制总线CB向计算机系统的各部件发送操作命令和定时信息带有上横线的表示低电平有效,无上横线的表示高电平有效

如:

ALE(addresslatchenable)、INTR高电平有效

MEMW、MEMR、IOR、IOW、INTA低电平有效

3.存储器(memory)主要用于存放程序和数据存储单元单元地址4.I/O接口外部设备通过I/O接口与计算机连接。因为:

(1)外设的工作速度远低于CPU的速度(2)外设表示信息的格式与计算机不同(3)接口还应向计算机报告设备的运行状态,传达计算机命令等5.I/O设备

输入设备:键盘、模数转换器、扫描仪等输出设备:显示器、打印机、绘图机等输入/输出设备:磁盘和光盘等1.3.3计算机的工作原理

CPU、存储器、I/O接口、外部设备构成了计算机的硬件(hardware),光有这样的硬件还只是具有了计算的可能。计算机要真正能够进行计算还必须有多种程序的配合

当人们要解决问题时,首先将问题程序化,形成指令序列,然后将它存入存储器中,再由CPU的控制器和ALU依据程序中指令的顺序周而复始地取出指令,分析指令,执行指令,最后输出程序结果.即“程序存储和程序控制”

1.4.18086/8088的结构1.48086/8088微处理器1.执行单元EU(executionunit)EU负责执行指令,完成两种操作:算术逻辑运算、计算存储器操作数的偏移地址

2.总线接口单元BIU(businterfaceunit)BIU完成所有的总线操作EU和BIU并行工作,可以同时进行读/写操作和执行指令的操作2.指令指示器IP(instructionpoint)

IP——硬件电路,能自动跟踪指令地址。

在开始执行程序时,赋给IP第一条指令的地址,然后每取一条指令,IP的值就自动指向下一条指令的地址3.状态标志寄存器(statusflags)

9个标志位,其中6个状态标志,3个控制标志

(1)状态标志

反映EU执行算术或逻辑运算后的结果进位标志位CF加减运算执行后,最高位有进位或借位,CF=1;无进位或借位,CF=0主要用于多字节加减运算辅助进位标志位AF最低4位D3~D0位有进位或借位,AF=1;无进位或借位,AF=0用于BCD数的算术运算(调整)指令

溢出标志位OF运算结果超出了机器数所能表示的数的范围OF=1;反之,OF=0该标志表示运算结果是否产生了溢出符号标志位SF结果为负数,SF=1;结果为正数,SF=0零标志位结果为0,ZF=1;结果不为0,ZF=0奇偶标志位PF结果低八位中1的个数为偶数,PF=1;为奇数,PF=0。用于检查数据在传送过程中是否发生错误

(2)控制标志

用于控制CPU的操作。方向标志位DF控制数据串操作指令的步进方向

DF=1,地址增址;DF=0,地址减址中断允许标志位IF控制CPU是否开中断.IF=1,

CPU开中断IF=0,

CPU

温馨提示

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

评论

0/150

提交评论