微机原理与接口技术(清华大学课件-全套).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微机原理与接口技术(清华大学课件-全套).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 清华大学 课件 全套
- 资源描述:
-
1、1微机原理与接口技术微机原理与接口技术大家好大家好!2课程目标v掌握:微型计算机的基本工作原理汇编语言程序设计方法微型计算机接口技术建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力3教材及实验指导书v教材:微机原理与接口技术(第3版). 冯博琴,吴宁主编. 清华大学出版社v实验指导书微机原理与接口技术实验指导书(讲义) 陈文革,吴宁,夏秦编. 西安交通大学微机原理与接口技术题解及实验指导(第3版). 吴宁,陈文革编. 清华大学出版社4第1章 微型计算机基础概论n主要内容主要内容:n微机系统的组成微机系统的组成n计算机中的编码、数制及其转换计算机中的编码、数制及其转换n无符号二进制
2、数的运算无符号二进制数的运算n算术运算和逻辑运算算术运算和逻辑运算n运算中的溢出运算中的溢出n机器数的表示及运算机器数的表示及运算n基本逻辑门及译码器基本逻辑门及译码器5一、微型计算机系统n微型机的工作原理微型机的工作原理n微机系统的基本组成微机系统的基本组成61. 计算机的工作原理冯 诺依曼计算机的工作原理 存储程序工作原理7存储程序原理v将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存v指令按其在存储器中存放的顺序执行;v由控制器控制整个程序和数据的存取以及程序的执行。8冯 诺依曼计算机体系结构运算器存储器存储器控制器控制器输入设备输入设备输出设备输出设备9冯 诺依曼机的
3、工作过程内存中的程序内存中的程序指令指令1指令指令2指令指令n分析分析获取操作数获取操作数执行执行存放结果存放结果程序计程序计数器数器PC地址地址CPU取出取出操作数操作数10冯 诺依曼机的工作过程v取一条指令的工作过程:将指令所在地址赋给程序计数器PC;PC内容送到地址寄存器AR,PC自动加1;把AR的内容通过地址总线送至内存储器,经地址译码器译码,选中相应单元。CPU的控制器发出读命令。在读命令控制下,把所选中单元的内容(即指令操作码)读到数据总线DB。把读出的内容经数据总线送到数据寄存器DR。指令译码v因为取出的是指令的操作码,故数据寄存器DR把它送到指令寄存器IR,然后再送到指令译码器
4、ID 冯 诺依曼机的特点和不足v特点:程序存储,共享数据,顺序执行属于顺序处理机,适合于确定的算法和数值数据的处理。v不足:与存储器间有大量数据交互,对总线要求很高;执行顺序有程序决定,对大型复杂任务较困难;以运算器为核心,处理效率较低;由PC控制执行顺序,难以进行真正的并行处理。11典型的非冯 诺依曼机结构v数据流驱动的计算机结构当指令具有所需数据、且输出端没有数据时就可执行。12数据流处理机存储器主处理机数据通道控制通道高速数据总线磁盘存储器Dataflow Image Processing System132. 系统组成 主机 硬件系统 外设 微机系统 系统软件 软件系统 应用软件CPU
5、存储器存储器输入输入/输出接口输出接口总线总线14微处理器v微处理器简称CPU,是计算机的核心。v主要包括: 运算器 控制器 寄存器组15存储器v定义:用于存放计算机工作过程中需要操作的数据和程序。16有关内存储器的几个概念v内存单元的地址和内容v内存容量v内存的操作v内存的分类17内存单元的地址和内容v内存按单元组织v每单元都对应一个地址,以方便对单元的寻址1011011038F04H内存地址内存地址单元内容单元内容18内存容量v内存容量:所含存储单元的个数,以字节为单位v内存容量的大小依CPU的寻址能力而定实地址模式下为CPU地址信号线的位数19内存操作v读:将内存单元的内容取入CPU,原
6、单元内容不改变;v写:CPU将信息放入内存单元,单元中原来的内容被覆盖。20内存储器的分类随机存取存储器(RAM)只读存储器(ROM)按工作方按工作方式可分为式可分为21输入/输出接口v接口是CPU与外部设备间的桥梁CPUI/OI/O接口接口外外设设22接口的分类串行接口并行接口数字接口数字接口模拟接口模拟接口输入接口输入接口输出接口输出接口23接口的功能v数据缓冲寄存;v信号电平或类型的转换;v实现主机与外设间的运行匹配。24总线v基本概念v分类v工作原理v常用系统总线标准及其主要技术指标 (具体内容见后续课程)25软件系统v软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序
7、的总和及其相关资料。系统软件系统软件应用软件应用软件操作系统操作系统编译系统编译系统网络系统网络系统工具软件工具软件软件软件26二、计算机中的数制和编码n数制和编码的表示数制和编码的表示n各种计数制之间的相互转换各种计数制之间的相互转换271. 常用计数法 十进制(D) 二进制(B) 十六进制(H)28例:v234.98D或(234.98)Dv1101.11B或(1101.11)BvABCD . BFH或(ABCD . BF) H292. 各种进制数间的转换非十进制数到十进制数的转换十进制到非十进制数的转换二进制与十六进制数之间的转换 30非十进制数到十进制数的转换v按相应的权值表达式展开v例
8、:1011.11B=123+022+121+120+12-1+ 12-2 =8+2+1+0.5+0.25 =11.755B.8H=5161+11160+816-1 =80+11+0.5 =91.531十进制到非十进制数的转换v到二进制的转换: 对整数:除2取余; 对小数:乘2取整。v到十六进制的转换: 对整数:除16取余; 对小数:乘16取整。32二进制与十六进制间的转换v用4位二进制数表示1位十六进制数v例:25.5 = 11001.1B = 19.8H 11001010.0110101B =CA.6AH333. 计算机中的编码vBCD码用二进制编码表示的十进制数vASCII码西文字符编码3
9、4BCD码码v压缩BCD码用4位二进制码表示一位十进制数每4位之间有一个空格v扩展BCD码用8位二进制码表示一位十进制数,每4位之间有一个空格。35BCD码与二进制数之间的转换v先转换为十进 制数,再转换二进 制数;反之同样。v例:(0001 0001 .0010 0101)BCD =11 .25 =(1011 .01) B36ASCII码v西文 字符的编码,一般用7位二进 制码表示。vD7位为校验位,默认情况下为0。v要求:理解校验位的作用熟悉0-F的ASCII码37ASCII码的奇偶校验v奇校验加上校验位后编码中“1”的个数为奇数。例:A的ASCII码是41H(1000001B)v以奇校验
10、传送则为 C1H(11000001B)v偶校验加上校验位后 编码中“1”的个数为偶数。v上例若以偶校验传送,则为 41H。38三、无符号二进制数的运算算术运算算术运算逻辑运算逻辑运算无符号数无符号数有符号数有符号数二进二进 制数的运算制数的运算39主要内容v无符号二进 制数的算术运算v无符号数的表达范围v运算中的溢出问题v无符号数的逻辑运算v基本逻辑门和译码器401. 无符号数的算术运算v加法运算1+1=0(有进位)v减法运算0-1=1(有借位)v乘法运算v除法运算41乘除运算例v000010110100 =00101100B v000010110100=00000010B 即:商=00000
11、010B 余数=11B422. 无符号数的表示范围: 0 X 2n-1若运算结果超出这个范围,则产生溢出。对无符号数:运算时,当最高位向更高位 有进位(或借位)时则产生 溢出。43例: 最高位向前有进位,产生溢出00000000 100000001 11111111 443. 逻辑运算v与、或、非、异或v掌握:与、或、非门逻辑符号和逻辑关系(真值表);与非门、或非门的应用。45“与”、“或”运算v“与”运算:任何数和“0”相“与”,结果为0。v“或”运算:任何数和“1”相“或”,结果为1。&1146“非”、“异或”运算v“非”运算按位求反v“异或”运算相同则为0,相异则为1474. 译码器v掌
12、握74LS138译码器各引脚功能输入端与输出端关系(真值表)4874LS138译码器G1G2AG2BCBAY0Y7 v主要引脚及功能49三、机器数(有符号数)的运算50计算机中符号数的表示v机器数计算机中的数据构成:v符号位 + 真值 “0” 表示正表示正“1” 表示负表示负51例 +52 = +0110100 = 0 0110100 符号位 真值-52 = -0110100 = 1 0110100 符号位符号位 真值真值521. 符号数的表示v机器数的表示方法:原码反码补码53原码v最高位为符号位(用“0”表示正,用“1”表示负),其余为真值部分。v优点: 真值和其原码表示之间的对应关系简单
13、,容易理解;v缺点:计算机中用原码进行加减运算比较困难0的表示不唯一。54数0的原码v8位数0的原码:+0=0 0000000 -0=1 0000000 即:数0的原码不唯一。55反码对一个机器数X:v若X0 ,则 X反=X原v若X0, 则X补= X反= X原v若X BX 若 AX BX OF和SF状态不同 AX BX239CMP指令例 LEA BX,MAX LEA SI,BUF MOV CL,20 MOV AL,SINEXT:INC SI CMP AL,SI JNC GOON ;CF=0转移 XCHG SI,ALGOON:DEC CL JNZ NEXT MOV BX,AL HLT240程序功
14、能 MAXBUFXXHXXHXXH在在20个数中找最大个数中找最大的数,并将其存放的数,并将其存放在在MAX单元中。单元中。241三、乘法指令无符号的乘法指令MUL*带符号的乘法指令IMULn注意点:注意点:n乘法指令采用隐含寻址,隐含的是存放被乘数的累乘法指令采用隐含寻址,隐含的是存放被乘数的累加器加器ALAL或或AXAX及存放结果的及存放结果的AXAX,DX.DX.2421. 无符号数乘法指令v格式: MUL OPRD 不能是立即数v操作: OPRD为字节数 OPRD为16位数 ALOPRDAXOPRDDXAXAX243无符号数乘法指令例vMUL BYTE PTRBX BXXXHAL XX
15、HAX244四、除法指令无符号除法指令v格式:DIV OPRD有符号除法指令v格式:IDIV OPRD245除法指令的操作若OPRD是字节数v执行:AX/OPRD v结果:AL=商 AH=余数若OPRD是双字节数v执行: DXAX/OPRDv结果:AX=商 DX=余数指指令令要要求求被被除除数数是是除除数数的的双双倍倍字字长长246五、BCD码调整指令v将指令执行的二进制运算结果调整为压缩BCD码或扩展BCD码表示的十进制数。v共6条,均为隐含寻址方式,隐含的操作数是 AL或AL、AH;v不能单独使用,要紧跟在相应的算术运算指令 之后;247逻辑运算和移位指令248指令类型v逻辑运算与,或,非
16、,异或v移位操作非循环移位,循环移位249 一、逻辑运算v逻辑运算指令对 操作数的 要求大多与MOV指令 相同。v“非”运算指令 要求操作数 不能是立即数;v除“非”运算指令 外,其余指令的执行都会使标志位OF=CF=02501.“与”指令:v格式: AND OPRD1,OPRD2v操作: 两操作数相“与”,结果送目标地址。251“与”指令的应用v实现两操作数 按位相与的 运算AND BL,SIv使目标操作数的 某些位不变,某些位清零AND AL,0FHv在操作数 不变的 情况下使CF和OF清零AND AX,AX252“与”指令应用例v从地址为3F8H 端口中读入一个字节数,如果该数 bit1
17、位为1,则可从38FH端口将DATA为首地址的 一个字输出,否则就不能进行数 据传送。 编写相应的 程序段。253“与”指令应用例开开 始始取待输出数的取待输出数的偏移地址偏移地址读入状态字读入状态字测试测试bit1位状态位状态Bit1=1?取输入口地址取输入口地址取输出口地址取输出口地址 输出一个字输出一个字NY254“与”指令应用例 LEA SI,DATA MOV DX,3F8HWATT:IN AL,DX AND AL,02H JZ WATT ;ZF=1转移 MOV DX,38FH MOV AX,SI OUT DX,AX2552.“或”运算指令v格式: OR OPRD1,OPRD2v操作:
18、 两操作数相“或”,结果送目标地址256“或”指令的应用v实现两操作数 相 “或”的 运算OR AX,DIv使某些位不变,某些位置“1”OR CL,0FHv在不改变操作数的 情况下使OF=CF=0OR AX,AX257“或”指令的应用例 OR AL,AL JPE GOON OR AL,80H GOON:.PF=1转移转移258“或”指令的应用将一个二进将一个二进制数制数9变为字变为字符符9如何实现如何实现?2593.“非”运算指令v格式:NOT OPRDv操作:操作数按位取反再送回原地址v注:指令中的操作数不能是立即数指令的执行对标志位无影响v例:NOT BYTE PTRBX2604.“异或”
19、运算指令v格式: XOR OPRD1,OPRD2v操作:两操作数相“异或”,结果送目标地址v例: XOR BL,80H XOR AX,AX2615.“测试”指令v格式: TEST OPRD1,OPRD2v操作: 执行“与”运算,但运算的结果不送回目标地址。v应用:常用于测试某些位的状态262例:v从地址为3F8H的 端口中读入一个字节数,当该数的 bit1, bit3, bit5位同时为1时,可从38FH端口将DATA为首地址的一个字输出,否则就不能进行数 据传送。 编写相应的 程序段。263源程序代码: LEA SI,DATA MOV DX,3F8HWATT:IN AL,DX MOV DX,
20、38FH MOV AX,SI OUT DX,AXAND AL,2AHCMP AL,2AHJNZ WATTTEST AL,02HJZ WATT ;ZF=1转移转移TEST AL,08HJZ WATTTEST AL,20HJZ WATTAND AL,2AHXOR AL,2AHJNZ WATT264二、移位指令 非循环移位指令 循环移位指令注:注:n 移动一位时由指令直接给出;移动一位时由指令直接给出;n 移动两位及以上,则移位次数由移动两位及以上,则移位次数由CL指定。指定。2651. 非循环移位指令v逻辑左移v算术左移v逻辑右移v算术右移266算术左移和逻辑左移v算术左移指 令: SAL OPR
21、D,1 SAL OPRD,CLv逻辑左移指 令: SHL OPRD,1 SHL OPRD,CL有符号数有符号数无符号数无符号数267逻辑右移v格式: SHR OPRD,1 SHR OPRD,CL0CF无符号数无符号数的右移的右移268逻辑右移例:vMOV AL,68HvMOV CL,2vSHR AL,CL0CF0 1 1 0 1 0 AL0 0 0 0 0 1 1 0 1 0 0ALCF0 00 0 0 1 1 0 1 0 ALCF0 0移动移动1次次移动移动2次次269算术右移v格式: SAR OPRD,1 SAR OPRD,CL有符号数有符号数的右移的右移CF270非循环移位指令的应用n左
22、移可实现乘法运算左移可实现乘法运算n右移可实现除法运算右移可实现除法运算 2712. 循环移位指令v不带进位位的循环移位v带进位位的循环移位左移左移 ROL右移右移 ROR左移左移 RCL右移右移 RCR指令格式、对操作数的要求与非循环移位指令相同指令格式、对操作数的要求与非循环移位指令相同272不带进位位的循环移位CFCF273带进位位的循环移位CFCF274循环移位指令的应用v用于对某些位状态的测试;v高位部分和低位部分的交换;v与非循环移位指令一起组成32位或更长字长数的移位。P124例例3-34P124例例3-35275程序功能v将1000H开始存放的4个压缩BCD码转换为ASCII码
23、存放在3000H开始的单元中去。12H34H56H78H1000H3000H276程序例 MOV SI,1000H MOV DI,3000H MOV CX,4Next:MOV AL,SI MOV BL,AL AND AL,0FH OR AL,30H MOV DI,AL INC DI MOV AL,BLPUSH CXMOV CL,4277串操作指令278串操作指令说明v针对数据块或字符串的操作;v可实现存储器到存储器的数据传送;v待操作的数据串称为源串,目标地址称为目标串。279串操作指令的特点v源串一般存放在数据段,偏移地址由SI指定。允许段重设;v目标串必须在附加段,偏移地址由DI指定;v指
24、令自动修改地址指针,修改方向由DF决定。 DF=0 DF=1v数据块长度值由CX指定v可增加自动重复前缀以实现自动修改CX内容。增地址方向;增地址方向;减地址方向;减地址方向;280重复前缀v无条件重复REPv条件重复REPE 相等重复REPZ 为零重复REPNE 不相等重复REPNZ 不为零重复CX0 ZF=1CX0 ZF=0CX0 重复重复281串操作指令流程(以传送操作为例)取源串地址取源串地址取目标串地址取目标串地址设串长度设串长度传送一个字节或字传送一个字节或字修改地址指针修改地址指针修改串长度值修改串长度值传送完否?传送完否?NY设操作方向设操作方向282串操作指令v串传送 MOV
25、Sv串比较 CMPSv串扫描 SCASv串装入 LODSv串送存 STOS2831. 串传送指令v格式: MOVS OPRD1,OPRD2 MOVSB MOVSWv串传送指令常与无条件重复前缀连用284串传送指令v对比用MOV指令和MOVS指令实现将200个字节数据从内存的一个区域送到另一个区域的程序段。285串传送指令例v用串传送指令实现200个字节数据的传送: LEA SI,MEM1 LEA DI,MEM2 MOV CX,200 CLD REP MOVSB HLT2862. 串比较指令v格式: CMPS OPRD1,OPRD2 CMPSB CMPSWv串比较指令常与条件重复前缀连用,指令的
展开阅读全文