清华大学-微机原理090824_第1页
清华大学-微机原理090824_第2页
清华大学-微机原理090824_第3页
清华大学-微机原理090824_第4页
清华大学-微机原理090824_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及其应用微机微机:IBM PCIBM PC系列机系列机原理原理:计算机的基本结构:计算机的基本结构 80888088汇编语言程序设计汇编语言程序设计应用应用:半导体存储器及其接口半导体存储器及其接口I/OI/O接口电路及其与外设连接接口电路及其与外设连接硬件接口电路原理硬件接口电路原理软件接口编程方法软件接口编程方法微机原理及应用-参考文献钱晓捷 陈涛,微型计算机原理及接口技术, 北京:机械工业出版社,1999.1钱晓捷,汇编语言程序设计(第2版), 北京:电子工业出版社,2003.6扬季文等,80X86汇编语言程序设计教程, 北京:清华大学出版社,1998.6戴梅萼,微型计算机技术及

2、应用, 北京:清华大学出版社,1991扬素行,微型计算机系统原理及应用, 北京:清华大学出版社,1995Barry B.Brey著 陈谊等译,Intel系列微处理器结构、编程和接口技术大全80X86、Pentium和Pentium Pro, 北京:机械工业出版社,1998.1微机原理及应用-课程特点工控专业涉及计算机的课程有 微型计算机原理微型计算机原理重点在于从广义上计算机发展中的体系结构和原理理重点在于从广义上计算机发展中的体系结构和原理理 解,突出应用,详细讲述微处理器芯片的指令系统及编程、解,突出应用,详细讲述微处理器芯片的指令系统及编程、CPU外部特性、外部特性、微机主板,与通用外设

3、的接口电路及应用编程技术微机主板,与通用外设的接口电路及应用编程技术侧重各模块外部的连接和应用技术(芯片外侧重各模块外部的连接和应用技术(芯片外 单片机原理单片机原理侧重于计算机的作为控制器的组成与应用侧重于计算机的作为控制器的组成与应用 PLC原理原理重点则在于计算机基于系统软件平台上的控制应用重点则在于计算机基于系统软件平台上的控制应用针对工程控制: 工控机应用于实时复杂尤其需要处理大量现场数据工控机应用于实时复杂尤其需要处理大量现场数据 单片机应用小型独立设备控制单片机应用小型独立设备控制 PLC应用于工业流程、逻辑、生产线的设备应用于工业流程、逻辑、生产线的设备微型计算机原理特色 以技

4、术为主 面向应用 软硬件相结合课程目标掌握:n微型计算机的基本工作原理n汇编语言程序设计方法n微型计算机接口技术n建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力考核方式n课堂作业10% n实 验 10%n期末考试 80%第一章 概述1.1 微型计算机的发展微型计算机的发展1946年,世界上出现第一台数字式电子计算机年,世界上出现第一台数字式电子计算机ENIAC电子数据和计算器)电子数据和计算器) 发展到以大规模集成电路为主要部件的第四代发展到以大规模集成电路为主要部件的第四代微型计算机微型计算机1971年,年,Intel公司设计了世界上第一个微处理器芯片公司设计了世界上第一个微

5、处理器芯片Intel4004,开创了,开创了 一个全新的计算机时代一个全新的计算机时代微机发展的几项关键技术微机发展的几项关键技术 存储技术存储技术 流水线技术(多线程)流水线技术(多线程) 系统总线系统总线以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件控制器和运算器的微处理器为核心所构造出的计算机系统第一代第一代4位和低档位和低档8位机位机Intel 4004第二代第二代中高档中高档8位机位机8080/8085、Z80、MC6800第三代第三代16位机位机Intel 8086、Z8000、MC6800第四代第四代32位机位机80386、80486第五代第五代64位机位机(197

6、1-1973)(1974-1978)(1978-1981)(1981-2000)(2001后)后)特点:特点:1、芯片的发展遵循、芯片的发展遵循 摩尔定律摩尔定律2、速度越来越快。、速度越来越快。3、容量越来越大。、容量越来越大。4、功能越来越强。、功能越来越强。发展历程:第1代:4位和低档8位微机 400440408008第2代:中高档8位微机 Z80、I8085、M6800,Apple-II微机第3代:16位微机 8086808880286,IBM PC系列机第4代:32位微机 8038680486PentiumPentium II / III / 4 32位PC机、Macintosh机、

7、PS/2机第5代:64位微机 Itanium、64位RISC微处理器芯片 微机服务器、工程工作站、图形工作站发展趋势:用于数值计算、数据处理及信息管理方向用于数值计算、数据处理及信息管理方向 通用微机,例如:通用微机,例如:PC微机;功能越强越好、使用越方便越好微机;功能越强越好、使用越方便越好用于过程控制及智能化仪器仪表方向用于过程控制及智能化仪器仪表方向 专用微机,例如:工控机、专用微机,例如:工控机、单片机单片机 可靠性高、实时性强:程序相对简单、处理数据量小可靠性高、实时性强:程序相对简单、处理数据量小 将CPU以及其他主要部件(如ROM、RAM、I/O接口)都集成在一个微处理器芯片中

8、例如:常用的MCS-51、MCS-96单片机单片机微型化、网络化、微型化、网络化、智能化智能化1. 微处理器子系统微处理器子系统8088CPU:16位内部结构、位内部结构、8位数据总线、位数据总线、20 位地址总线、位地址总线、 4.77MHz主频主频2. 存储器存储器ROM-BIOS(基本输入输出系统)、主体为(基本输入输出系统)、主体为RAM3. I/O接口控制电路接口控制电路8259A、8253、8237A、8255等等4. 系统总线系统总线62线的线的IBM PC总线总线1.2 计算机的基本结构计算机的基本结构硬件组成硬件组成微处理器(微处理器(Microprocessor) 一个大规

9、模集成电路芯片一个大规模集成电路芯片 内含控制器、运算器和寄存器等内含控制器、运算器和寄存器等 微机中的核心芯片微机中的核心芯片微型计算机(微型计算机(Microcomputer) 通常指微型计算机的硬件系统通常指微型计算机的硬件系统 还有一般的说法:还有一般的说法:微机微机、微型机微型机微型计算机系统(微型计算机系统(Microcomputer system) 指由硬件和软件共同组成的完整的计算机系统指由硬件和软件共同组成的完整的计算机系统8088微微处处理理器器8087协协处处理理器器8288总线控制器总线控制器I/O通通道道8259中断控制器中断控制器随机存储器随机存储器RAM只读存储器

10、只读存储器ROM8253定时控制器定时控制器8237DMA控制器控制器8255并行接口并行接口控制总线控制总线数据总线数据总线地址总线地址总线地址锁存器地址锁存器数据收发器数据收发器扬声器扬声器接口接口8284时钟发生器时钟发生器键盘键盘接口接口系统系统配置配置开关开关硬件结构:硬件结构:通用寄存器专用寄存器控制逻辑ALUAB内部总线微处理器结构框图微处理器结构框图微处理器微处理器也称作中央处理单元,简称微处理器也称作中央处理单元,简称CPU(Central Processing Unit) 具有运算和控制功能具有运算和控制功能 控制器:负责全机的控制工作控制器:负责全机的控制工作 运算器:执

11、行所有的算术和逻辑运算运算器:执行所有的算术和逻辑运算微处理器是微型计算机的核心微处理器是微型计算机的核心多数多数CPU是单片的,有时也会见多片型的,即几个片合起来完成一个是单片的,有时也会见多片型的,即几个片合起来完成一个CPU的功能的功能: 可以进行算术和逻辑运算可以进行算术和逻辑运算 能对指令进行译码并执行规定的动作能对指令进行译码并执行规定的动作 可暂存少量数据可暂存少量数据 提供整个系统所需要的定时和控制提供整个系统所需要的定时和控制 能和存储器、外设交换数据能和存储器、外设交换数据 可以响应其他部件发来的中断请求可以响应其他部件发来的中断请求算术逻辑部件(算术逻辑部件(ALU):处

12、理各种数据信息,可以进行加、减、乘、除算术和与):处理各种数据信息,可以进行加、减、乘、除算术和与 或、非、异或等逻辑运算或、非、异或等逻辑运算 累加器和通用寄存器组:保存运算的数据以及运算的中间结果,也用来存放地址累加器和通用寄存器组:保存运算的数据以及运算的中间结果,也用来存放地址 程序计数器(指令指针):指向下一条要取出的指令程序计数器(指令指针):指向下一条要取出的指令指令寄存器:存放从存储器中取出的指令码指令寄存器:存放从存储器中取出的指令码译码器:对指令码进行译码和分析,确定指令的操作,并确定操作数的地址,再译码器:对指令码进行译码和分析,确定指令的操作,并确定操作数的地址,再 得

13、到操作数,以完成指定的操作。得到操作数,以完成指定的操作。时序和控制部件:指令译码器对指令进行译码时,产生相应的控制信号送到时序和控制时序和控制部件:指令译码器对指令进行译码时,产生相应的控制信号送到时序和控制逻辑电路,组合成外部电路所需要的时序和控制信号。这些信号送到微型计算机的相应逻辑电路,组合成外部电路所需要的时序和控制信号。这些信号送到微型计算机的相应部件,以控制这些部件协调工作。部件,以控制这些部件协调工作。 由CPU内部产生相应的控制信号:送到存储器、输入/输出接口电路和其他部件微型计算机系统的其它部件也会在它们需要的时候向CPU发出各种请求信号:如中断请求、总线求等。 内存储器又

14、叫内存或主存,计算机的记忆部件,存放编写的程序或程序中所用的数据、信息、中间结果内存中存放的数据和程序,从形式上看都是二进制数每一个字节单元有一个存储器地址,地址用二进制数表示,为无符号整数,书写格式为16进制15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 015 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 高位字节高位字节 低位字节低位字节 字字 7 6 5 4 3 2 1 07 6 5 4 3 2 1 0 一个存储单元中存放的信息称为该存储单元的内容一个存储单元中存放的信息称为该存储单元的内容 1616位时,低位字节存入低地址,高位字节存入

15、高地址位时,低位字节存入低地址,高位字节存入高地址 两个字节单元构成一个字单元,字单元的地址采用它的低地址表示两个字节单元构成一个字单元,字单元的地址采用它的低地址表示如用如用X X表示某存储单元的地址,则表示某存储单元的地址,则X X单元的内容用(单元的内容用(X X)表示,假如)表示,假如X X单单元中存放着元中存放着Y, Y, 则(则(X X)=Y,=Y,而而Y Y又是一个地址,则可用(又是一个地址,则可用(Y Y)=(X)=(X)来表来表示示Y Y单元的内容。单元的内容。字节字节 34H 12H 1EH 2FH 0004H0004H0005H0005H1234H1234H1235H12

16、35H (0004)=1234H (1234)=2F1EH ( (0004H) )=2F1EH 存储器以字节(存储器以字节(8bit)为单位存储信息)为单位存储信息 每个字节单元有一个地址,从每个字节单元有一个地址,从0编号,顺序加编号,顺序加1 地址也用二进制数表示(无符号整数,写成十六进制)地址也用二进制数表示(无符号整数,写成十六进制) 地址是地址是16位位,可表示可表示216=65536=64K个地址,即个地址,即0000HFFFFH 字长字长16位,一个字要占用相继的两个字节位,一个字要占用相继的两个字节 低位字节存入低地址,高位字节存入高地址低位字节存入低地址,高位字节存入高地址

17、机器以偶地址访问(读机器以偶地址访问(读/写)存储器写)存储器 字单元地址用它的低地址来表示字单元地址用它的低地址来表示CPU对内存的操作有读、写两种:对内存的操作有读、写两种: 读操作是读操作是CPU将内存单元的内容取入将内存单元的内容取入CPU内部内部写操作是写操作是CPU将其内部信息传送到内存单元保存起来将其内部信息传送到内存单元保存起来输入输出设备是指微型计算机上配备的输入输出设备是指微型计算机上配备的I/O设备设备 也称为外部设备或外围设备(简称外设),其功能是为微型计算机提供具体的输入也称为外部设备或外围设备(简称外设),其功能是为微型计算机提供具体的输入/输出手段输出手段 微型计

18、算机上配置的标准输入设备和标准输出设备一般是指键盘和显示器,二者又合微型计算机上配置的标准输入设备和标准输出设备一般是指键盘和显示器,二者又合称为控制台称为控制台 为了解决微型计算机与种类繁多的外设之间的信息交换,各种外设都通过相应的接口为了解决微型计算机与种类繁多的外设之间的信息交换,各种外设都通过相应的接口(Interface)电路与主机系统相连电路与主机系统相连数据总线(数据总线(data bus, DB)数据总线用来传输数据信息,是双向总线数据总线用来传输数据信息,是双向总线 地址总线(地址总线(address bus, AB)地址总线用于传送地址总线用于传送CPU发出的地址信息,是单

19、向总线发出的地址信息,是单向总线 控制总线(控制总线(control bus, CB)控制总线用来传送控制信号、时序信号和状态信息等。控制总线用来传送控制信号、时序信号和状态信息等。 其中有的是其中有的是CPU向内存和外设发出的信息,有的则是内存或外设向向内存和外设发出的信息,有的则是内存或外设向CPU发出的信息发出的信息可见,可见,CB中每一根线的方向是一定的、单向的,但中每一根线的方向是一定的、单向的,但CB作为一个整体作为一个整体是双向的是双向的 微处理器微处理器 (up)总线控制逻辑总线控制逻辑 数据总线数据总线控制总线控制总线 输入输入/输出输出 接口电路接口电路 存储器存储器地址总

20、线地址总线微计算机基本结构微计算机基本结构运算器运算器 控制器控制器 寄存器组寄存器组 内存储器内存储器 总线总线 输入输出输出输入输出输出 接口电路接口电路外部设备外部设备 软件软件微处理器微处理器微型计算机微型计算机微型计算机系统微型计算机系统几个容易混淆的概念:几个容易混淆的概念:计算机信息计算机信息1. 信息表达方式信息表达方式二进制编码:位二进制编码:位Bit、字节、字节Byte(1KB=1024Byte/1MB/1GB) 字字word:数据处理的基本单位,与总线宽度一致:数据处理的基本单位,与总线宽度一致2. 信息编码信息编码数字编码:数字编码:2进制、进制、2-10进制编码(进制

21、编码(BCD码)每码)每4位位2进制数表示一进制数表示一位位10进制数进制数字符编码:字符编码:ASCII码码 p415汉字编码:外部编码、内部编码、交换码、输出码汉字编码:外部编码、内部编码、交换码、输出码3. 指令系统与程序指令系统与程序十进制数、二进制数转二进制数转换为十进制数二进制数转换为十进制数方法:按二进制数的位权进行展开相加即可。方法:按二进制数的位权进行展开相加即可。例例:11101.101=124+123+122+021+120+12-1+02-2+12-3=16+8+4+0+1+0.5+0.25+0.125 =29.875十进制数转换为二进制数十进制数转换为二进制数方法1:

22、A、将整数部分和小数部分分别进行转换,然后再把转换结果进行相加。B、整数转换采用除2取余法:用2不断地去除要转换的数,直到商为0。再将每一步所得的余数,按逆序排列,便可得转换结果。C、小数转换采用乘2取整法:每次用2与小数部分相乘,取乘积的整数部分,再取其小数部分乘2直到小数部分为0。将所取整数顺序放在小数点后即为转换结果。例:将(例:将(136)D转换为二进制数。转换为二进制数。 2 136 - 0 余数(结果)余数(结果) 低位低位 2 68 - 0 2 34 - 0 2 17 - 1 2 8 - 0 2 4 - 0 2 2 - 0 1 高位高位转换结果:(转换结果:(136)D=(100

23、01000)B例:将(例:将(0.625)D转换为二进制数。转换为二进制数。转换结果:转换结果:(0.625)D = (0.101)B注意事项:(1) 一个二进制数可以准确地转换为十进制数,而一个带小数的十进制数不一定能够准确地用二进制数来表示。(2) 带小数的十进制数在转换为二进制数时,以小数点为界,整数和小数要分别转换。二进制数和八进制数、十六进制数间的转换A、二进制数到八进制数转换采用、二进制数到八进制数转换采用“三位化一位三位化一位”的方法。从小数点开始向的方法。从小数点开始向两边分别进行每三位分一组,向左不足三位的,从左边补两边分别进行每三位分一组,向左不足三位的,从左边补0;向右不

24、足三位;向右不足三位的,从右边补的,从右边补0。B、二进制数到十六进制数的转换采用、二进制数到十六进制数的转换采用“四位化一位四位化一位”的方法。从小数点开的方法。从小数点开始向两边分别进行每四位分一组,向左不足四位的,从左边补始向两边分别进行每四位分一组,向左不足四位的,从左边补0;向右不足;向右不足四位的,从右边补四位的,从右边补0。例:将例:将(1000110.01)B转换为八进制数和十六进制数。转换为八进制数和十六进制数。 1 000 110 . 01 001 000 110 . 010 ( 1 0 6 . 2 )O二进制数到十六进制数的转换:二进制数到十六进制数的转换:(100011

25、0.01)B = 100 0110 . 01 0100 0110 . 0100(4 6 . 4)H八进制、十六进制数到二进制数的转换八进制、十六进制数到二进制数的转换方法:采用方法:采用“一位化三位(四位)一位化三位(四位)”的方法。按顺序的方法。按顺序写出每位八进制(十六进制)数对应的二进制数,所写出每位八进制(十六进制)数对应的二进制数,所得结果即为相应的二进制数。得结果即为相应的二进制数。例:将例:将(352.6)o转换为二进制数。转换为二进制数。 3 5 2 . 6 011 101 010 110 =(11 101 010 . 11)B逻辑电路由其3种基本门电路(或称判定元素)组成两个

26、非门串联以达到改变输出电阻的目的。可以提高带负载的能力布尔代数也称为开关代数或逻辑代数,可以写成下面的表达式: Y=f(A,B,C,D)特点:当人们遇到一个因果问题时,常常把各种因素全部考虑进去,然后再研究结果。真值表就是将输入的全部可能取值加以考虑,列表,研究结果取值,形成的一种表格形式。例如,考虑两个一位的二进制数A和B相加,其和S及向高一位进位C的结果如何?同一逻辑函数可以用三种不同的方法描述,三种方法可以相互转换真值表转换为逻辑表达式真值表中每一组使函数值为1的输入变量都对应一个乘积项,在这些乘积项中,若对应变量取值为1,则写成原变量;若对应变量取值为0,则写成反变量。将这些乘积相加就

27、得到了逻辑函数式。现在可以由真值表写出上面的逻辑表达式S0 = A0B0 + A0B0 = A0 B0C1 = A0B01)写布尔代数式先看真值表中结果为1的项,有几项就有几个或项2)每一项个因数之间是“与”的关系,写该项时每个因素都写上,输入为0的因素取“反”。ABCY00000011010101101001101011011110练习:写出右面真值表所练习:写出右面真值表所具有的逻辑函数式具有的逻辑函数式Y=ABC+ABC+ABC+ABC二进制数的加法电路例:设A=1010=10(10) B=1011=11(10) ,求加法电路原码:最高有效位为符号位,0表示正数,1表示负数。反码:正数的

28、反码与原码相同;负数的反码由原码除符号位外按位取反获得。补码:正数的补码与原码相同;负数的补码由反码加1获得。计算机内部默认采用补码表示有符号数。有符号数的表示特殊数10000000该数在原码中定义为:该数在原码中定义为: -0在反码中定义为:在反码中定义为: -127在补码中定义为:在补码中定义为: -128对无符号数,(对无符号数,(10000000)B=128例:例:主要性能指标主要性能指标基本字长基本字长是指参与运算数的基本位数,它是由加法器、寄存器、数据总线的位数决定的 主存容量一个主存储器所能存储的最大信息容量称为主存容量运算速度人们用计算机的主频时钟频率来表示运算速度,以MHz或

29、GHz为单位 系统配置外部设备、软件性能价格比主机与外设匹配连接口只读存储器读写存储器(存储器)控制器(算术逻辑单元)(中央处理单元)OIROMRAMMALUCPU/)()(主机主机CPU: 实现运算和控制功能的部件,运算器实现运算和控制功能的部件,运算器ALU、控制器和寄存器组成:、控制器和寄存器组成:运运算器算器: 完成算术和逻辑运算;完成算术和逻辑运算;控制器控制器由指令寄存器、指令译码器和控制电路组由指令寄存器、指令译码器和控制电路组成,完成对指令的存取、执行等的控制。成,完成对指令的存取、执行等的控制。寄存器: 暂存运算操作数和结果。暂存运算操作数和结果。存储器存储器:指内存储器,用

30、来存放程序、操作数和结果。:指内存储器,用来存放程序、操作数和结果。I/O口口:控制输入输出设备的接口电路。并行接口,串行接口等。:控制输入输出设备的接口电路。并行接口,串行接口等。外设:输入设备外设:输入设备 输出设备输出设备键盘、扫描仪、软硬磁盘、A/D转换器等打印机、绘图仪、D/A转换器等 算术逻辑单元 寄存器阵列 控制器电路微型计算机系统微型计算机系统电源、机箱、控制面板电源、机箱、控制面板软件软件系统软件中间件应用软件外围设备外围设备键盘、鼠标显示示器、打印机软磁盘驱动器硬磁盘驱动器光盘驱动器等等微型计算机微型计算机 C微处理器微处理器 P系统总线系统总线数据总线地址总线控制总线内存

31、储器内存储器只读存储器随机访问存储器外围接口电外围接口电 路路串行输入输出接口并行输入输出接口外存储器接口显示器接口等数据库应用软件语言编译程序操作系统监控管理程序系统软件软件外部电路软盘,硬盘,光盘数据通道输入设备,输出设备设备外设口主机硬件Macintosh, 2/,/,UNIXOSWINDOWSDOSROMBIOSDACADCOIOIROMRAMMCPUMCSintel 4004,intel 的发展史就是从这块的发展史就是从这块cpu起步的起步的808680286,intel最后一块最后一块16位位cpu80386,intel第一代第一代32位位cpupentium,传说中的,传说中的5

32、86pentium propentium mmxpentiumceleron,引发超频热潮,引发超频热潮pentium_katmaiIntel pentium tualatin/coppermineintel pentium_478intel pentium_423l微处理器(Microprocessor)l微型计算机(Microcomputer)l微计算机系统(Microcomputer system)总线:计算机用来传输信息的一组通讯线 地址总线(地址总线(AB-Address Bus):用来指定寻址的存储器单元或I/O口。单向,成组使用(8086有20根地址线)。 数据总线(数据总线(D

33、B-Data Bus):用来传递信息的通讯线。双向,成组使用,计算机的位一般是指数据线的宽度(8086有16根数据线)。 控制总线(控制总线(CB-Control Bus):用以控制计算机各部件协调工作。各自独立,有发出,也有接收。 地址地址/数据复用总线数据复用总线:地址总线和数据总线复用,分时传送地址信息和数据信息(由同步信号区分),这样可以节省CPU引脚,但外部电路复杂。1.80X861.80X86微处理器系列概况微处理器系列概况 8086-168086-16位微处理器,内部及对外位微处理器,内部及对外1616位数据通路,位数据通路,2020位地址,寻址空位地址,寻址空 间间1MB1MB

34、; 地址地址/ /数据分时复用;数据分时复用; 具有初级流水线结构,内部操作与对外操作具有并行性。具有初级流水线结构,内部操作与对外操作具有并行性。8028680286:1616位结构,位结构,2424位地址,位地址,16MB16MB寻址空间;支持保护方式,可执行寻址空间;支持保护方式,可执行 多任务,速度比多任务,速度比80868086快。快。8038680386:3232位结构,位结构,3232位地址,位地址,4GB4GB寻址空间;支持保护方式,可执行多寻址空间;支持保护方式,可执行多 任务,性能优于任务,性能优于1616位结构。位结构。8048680486: 3232位结构,片内位结构,

35、片内FPUFPU,片内,片内CacheCache,速度比,速度比8038680386快很多。快很多。 2. 8086/8088 微处理器的功能结构 Intel8086是标准的16位微处理器;Intel 8088是准16位微处理器,它们在内部结构上都是按16位设计的,但Intel 8088在外部引脚上和当时的8位微处理器Inter8080/8085相兼容。不仅数据总线的位数加宽了一倍,更重要的是采用了流水线处理流水线处理技术。 一条指令的执行可以分为: 取指令 指令译码 指令执行 在指令执行时根据需要在存储器中存取操作数。二. 80868086微处理器功能结构微处理器功能结构分分EUEU与与BI

36、UBIU两部分:两部分:1)1)执行部件(执行部件(EU)EU):由由ALUALU、寄存器组寄存器组、状态标志寄存器状态标志寄存器及及操作控制电路操作控制电路 组成。组成。2)2)总线接口部件总线接口部件(BIU)(BIU):由由专用寄存器组专用寄存器组 段寄存器段寄存器CSCS、DSDS、ESES、SSSS, 指令指针寄存器指令指针寄存器IPIP 指令队列缓冲器指令队列缓冲器、地址加法器地址加法器、输入输出控制电路输入输出控制电路等功能部件组成。形成对外总线,与存储器、等功能部件组成。形成对外总线,与存储器、I/OI/O接口电路进行数据接口电路进行数据传输。传输。3)3)EU EU 与与 B

37、IUBIU的流水线操作:的流水线操作:EU EU 与与 BIUBIU既可协同又可独立工作,既可协同又可独立工作,BIUBIU在在 保证保证EUEU与片外传送操作数前提下,可进行与片外传送操作数前提下,可进行 指令预取,与指令预取,与EUEU可重叠操作。可重叠操作。AH ALBH BLCH CLDH DL SPBPSIDIAXBXCXDX暂存寄存器暂存寄存器ALU标志寄存器标志寄存器FR EU控制器控制器ALU数据总线数据总线 (16位)位)指令队列缓冲器指令队列缓冲器1 2 3 4 5 6总线总线控制控制逻辑逻辑8086总线总线地址加法器地址加法器 CS DS SS ES IP内部暂存器内部暂

38、存器AB(20位位)执行部件(执行部件(EU)总线接口部件(总线接口部件(BIU)DB(16位位)(8位)位)队列总线队列总线(1)执行单元(EU)(a)组成)组成n16位算术逻辑单元ALU;n16位状态标志寄存器FLAG;n8个16位通用寄存器组(AX,BX,CX,DX,SP,BP,SI,DI)n16位数据暂存器;nEU控制电路; (b)功能)功能从BIU指令队列中读取指令;由EU控制电路对指令进行译码分析,指出操作性质及对象;在EU中计算出操作数的16位地址偏移量送给BIU,由BIU的形成20位绝对地址;将取来的操作数经系统数据总线送ALU进行指定操作;运算结果经内部总线送到指定位置;n(

39、a)部件)部件4个16位段寄存器CS,DS,SS,ES;16位指令偏移地址寄存器IP;6个字节指令队列ISQ;形成20位物理地址的加法器;与EU通讯的内部寄存器;总线控制逻辑;(2 2)、总线接口单元)、总线接口单元(b)功能:)功能: 实现实现CPU与存储器或与存储器或I/O口之间的数据传送口之间的数据传送。指令队列中出现两个字节为空时(BIU未进入存取操作数的总线周期),自动按CS值和IP值组成20位实际地址到存储器中去取指令,一次取两个字节指令存放到指令队列中;执行转移指令时ISQ复位,从新地址重新取指。由EU从指令队列中取指令,并根据EU请求BIU将20位操作地址传送给存储器;取来操作

40、数经总线控制逻辑传送到内部EU数据总线,由EU完成内部操作;操作结果若EU提出请求,则由BIU负责产生20位实际目标地址,将结果写入存储器里;(2 2)、总线接口单元)、总线接口单元在8位微处理器中,是按照这三步周而复始的循环来工作的,每次取指令都是直接从存储器中取出的。计算机执行程序时,CPU的工作顺序是: 取指令 执行指令 再取指令 再执行指令在16位微处理器中,8086微处理器首先采用了预取指令技术,提前把指令从存储器中取到微处理器中,每次执行指令的时候直接在微处理器内部就可以获得指令,从而大大提高微处理器的性能。预取指令技术是通过设置 预取指令缓冲队列 来实现的。 8086CPU工作顺

41、序是:取指令,执行指令同时进行。并行工作。8086 与以往的与以往的8位机的最大区别位机的最大区别(3)EU 与与 BIU的流水线操作:的流水线操作:取指令取指令1执行指令执行指令1取指令取指令2执行指令执行指令2取指令取指令1执行指令执行指令1取指令取指令2执行指令执行指令2取指令取指令3执行指令执行指令3t0t1t2t3t4t非流水线操作非流水线操作 8085流水线操作流水线操作 8086在在t0t0t4t4时间间隔中,时间间隔中,80858085执行了执行了2 2条指令。条指令。在在t0t0t4t4时间间隔中,理想情况下时间间隔中,理想情况下 ,80868086可执行可执行3 3条指令。

42、条指令。在8086/8088CPU中,执行指令的资源是地址空间1MB寄存器,分成5大类:n数据寄存器;n地址指针寄存器;n段基址寄存器;n状态标志寄存器;n指令指针寄存器;堆栈I/O端口 三三. 8086. 8086执行环境执行环境(一)数据寄存器用来存放操作数及中间结果的通用寄存器称为数据寄存器。用来存放操作数及中间结果的通用寄存器称为数据寄存器。16位寄存器:AX,BX,CX,DX(可以分成两个8位的使用) , SP,BP,SI,DI8位寄存器:AH,AL,BH,BL,CH,CL,DH,DL存储器特殊功能: AXAX:累加器,算术计算的主要寄存器,所有的:累加器,算术计算的主要寄存器,所有

43、的I/OI/O指令都使用这一寄指令都使用这一寄存器与外部设备传送信息,存器与外部设备传送信息,AX和AL累加器,乘法指令中专用 BXBX:通用寄存器,在计算存储器地址时,用作基址存储器,:通用寄存器,在计算存储器地址时,用作基址存储器,BX和BP可以作为基址指针 CXCX:通用寄存器,在循环和串处理指令中用作隐含的计数器:通用寄存器,在循环和串处理指令中用作隐含的计数器 DXDX:通用寄存器,一般在作双字长运算时把:通用寄存器,一般在作双字长运算时把DXDX和和AXAX组合在一起存放一组合在一起存放一个双字长数,用来存放高位字,也可用来存放个双字长数,用来存放高位字,也可用来存放I/OI/O的

44、端口地址的端口地址 SI和DI:用做串操作 SP:堆栈指针指示堆栈栈顶地址四个寄存器(四个寄存器(8位或位或16位):存放计算过程中所用到的操作数、结果或其位):存放计算过程中所用到的操作数、结果或其他信息。他信息。DX、AX组合成一个双字长,组合成一个双字长,DX放高位字放高位字寄存器寄存器一般用法一般用法 隐含用法隐含用法 AXAX 1616位累加器位累加器(Accumulator)Accumulator)字乘时提供一个操作数并存放积的低字字乘时提供一个操作数并存放积的低字; ;字除时提供被除字除时提供被除数的低字并存放商数的低字并存放商ALALAXAX的低的低8 8位位字节乘时提供一个操

45、作数并存放积的低字节;字节除时提字节乘时提供一个操作数并存放积的低字节;字节除时提供被除数的低字节并存放商;供被除数的低字节并存放商;BCDBCD码运算指令和码运算指令和XLATXLAT指指令中作累加器;字节令中作累加器;字节I/OI/O操作中存放操作中存放8 8位输入位输入/ /输出数据输出数据AHAHAXAX的高的高8 8位位字节乘时提供一个操作数并存放积的高字节;字节除时提字节乘时提供一个操作数并存放积的高字节;字节除时提供被除数的高字节并存放余数;供被除数的高字节并存放余数;LAHFLAHF指令中充当目的指令中充当目的操作数操作数BXBX基址基址(Base)(Base)寄存器寄存器,

46、,支支持多种寻址持多种寻址, ,常用常用作地址寄存器作地址寄存器XLATXLAT指令中提供被查表格中源操作数的间接地址指令中提供被查表格中源操作数的间接地址CXCX 1616位计数器位计数器(CounterCounter)串操作时用作串长计数器;循环操作中用作循环次数计数串操作时用作串长计数器;循环操作中用作循环次数计数器器CLCL8 8位计数器位计数器移位或循环移位时用作移位次数计数器移位或循环移位时用作移位次数计数器DXDX1616位数据(位数据(DataData)寄存)寄存器器在间接寻址的在间接寻址的I/OI/O指令中提供端口地址;字乘时存放积的指令中提供端口地址;字乘时存放积的高字,字

47、除时提供被除数高字并存放余数高字,字除时提供被除数高字并存放余数80868086中通用寄存器的一般用法和隐含用法中通用寄存器的一般用法和隐含用法寄存器寄存器一般用法一般用法隐含用法隐含用法SPSP堆栈指针(堆栈指针(Stack PointerStack Pointer),与),与SSSS配合配合指示堆栈栈顶的位置指示堆栈栈顶的位置压栈、出栈操作中指示栈顶压栈、出栈操作中指示栈顶BPBP基址指针(基址指针(Base PointerBase Pointer),它支持间),它支持间接寻址、基址寻址、基址加变址等多种接寻址、基址寻址、基址加变址等多种寻址手段。在子程序调用时,常用它来寻址手段。在子程序

48、调用时,常用它来取压栈的参数取压栈的参数SISI源变址(源变址(Source IndexSource Index)寄存器。它支)寄存器。它支持间接寻址、变址寻址、基址加变址寻持间接寻址、变址寻址、基址加变址寻址等多种寻址址等多种寻址串操作时用作源变址寄存器,指示串操作时用作源变址寄存器,指示数据段(段默认)或其他段(段超数据段(段默认)或其他段(段超越)中源操作数的偏移地址越)中源操作数的偏移地址DIDI目的变址(目的变址(Destination IndexDestination Index)寄存器。)寄存器。它支持间接寻址、变址寻址、基址加变它支持间接寻址、变址寻址、基址加变址寻址等多种寻址

49、址寻址等多种寻址串操作时用作目的变址寄存器,指串操作时用作目的变址寄存器,指示附加段(段默认)中目的操作数示附加段(段默认)中目的操作数的偏移地址的偏移地址(二)地址指针寄存器地址指针寄存器用于存放操作数的地址,编程时通过修改寄存器的内容达到修改地址的目的。可以用来指示地址的寄存器有:SP:堆栈指针,指示堆栈段(关于段SS)中的栈顶位置,专门用于数据进栈和出栈的位置指示;BP:基址指针,指示堆栈段中一个数据区中的基址位置; 此外:BX,SI,DI也可以用做指示地址。8086的堆栈及堆栈操作有以下特点 双字节操作。即每次进、出栈的数据均为两字节。且高位字节对应高地址,低位字节对应低地址。无论是源

50、操作数还是目的操作数,也无论是存储器操作数还是寄存器操作数,都必须按这个原则执行。 堆栈向低地址方向生成。数据每次进栈时堆栈指针SP向低地址方向移动(减2);反之,数据出栈时,SP向高地址方向移动(加2)(2)BP、BX都被称为基址指针,但两者用法不同。BP只能寻址堆栈段(段缺省),不允许段跨越;BX可以寻址数据段(段缺省),也可以寻址附加段(段跨越)。(3)由于大多数算术和逻辑运算中又可以使用BP、SP和变址寄存器,因而也将这4个寄存器归入通用寄存器组。使用中应该注意这4个寄存器只能用于16位的存取操作(三)段基址寄存器n段基址寄存器用于存放4个当前段的起始地址。4个段为:代码段CS,数据段

51、DS,堆栈段SS和附加段ES。8086/8088微处理器微处理器20位地址,寻址空间位地址,寻址空间1MB;寄存器寄存器16位,最大寻址位,最大寻址216 = 64KB。如何用如何用16位寄存器形成位寄存器形成20位地址码?位地址码?存储空间分段;每段存储空间分段;每段64KB,段内,段内16位地址;位地址;段起始地址:段起始地址:XXXX,XXXX,XXXX,XXXX,0000段地址段地址 16位位段内地址段内地址 16位位逻辑地址逻辑地址 段地址:偏移地址段地址:偏移地址物理地址物理地址=段地址段地址16偏移地址偏移地址(三)段基址寄存器1、存储器的段、存储器的段8086/8088CPU对

52、可寻址的1MB空间划分为很多个逻辑段,每个逻辑段小于64KB,段内地址是连续的。nCPU规定4个段寄存器存放当前可寻址的段基址。CS指示当前的代码段;DS指示当前的数据段;SS指示当前的堆栈段;ES指示当前的附加段;(三)段基址寄存器2、逻辑地址与物理地址、逻辑地址与物理地址(1)对存储器的任一位置的访问都是在该位置所在的段基址下进行的。n逻辑地址形式为:段基址:段内位移逻辑地址形式为:段基址:段内位移n(物理地址)(物理地址)20 =(段基址)(段基址)16 +(段内偏移)段内偏移)n如访问一个地址C85F:109A对应的实际地址为C85F0+109A=C968AH物理地址的形成物理地址的形

53、成段基地址段基地址15 0偏移地址偏移地址15 0段基地址段基地址 000015 0左移左移4位位偏移地址偏移地址19 02、逻辑地址与物理地址、逻辑地址与物理地址(2)同一个实际地址可以采取不同的逻辑地址形式表示,即不同段可以相互重叠。例如:地址12345H可以表示为 1200:0345或1230:0045(三)段基址寄存器3、为了方便编写程序,为了方便编写程序,4个段寄存器是隐含使用的,但也允许段超越。个段寄存器是隐含使用的,但也允许段超越。存储器操作类型 隐含段超越段偏移量取指令CS无IP堆栈SS无SP数据变量DSCS,ES,SS 有效地址源串变量DSCS,ES,SSSI目的串变量ES无

54、DI基址BP指针SSCS,ES,DS 有效地址 n地址总线为20位,寻址空间为1M,每一个存储单元的地址信号均为20位二进制码,称为物理地址。n分段结构:将1M内存空间划分为若干段,最大不超过64KB;每段起始地址规定为最低4位为0,高16位为段寄存器内容(段基址),段内存储单元地址用相对于段首地址的偏移地址来表示。n分段管理给程序设计带来了较大的灵活性。比如,程序中所用的数据区超过64KB,需要从不同的区域去取数据,只要在取操作数之前给DS或ES重新赋值。n8086微处理器用20位地址总线中的低16位管理64KB的I/O端口空间。n8086微处理器对I/O端口操作时,需要用专门的指令进行操作

55、,并且只能够通过累加器(AL或AX)来完成,存储器和I/O端口分别独立编址,地址空间分别为00000HFFFFFH,0000H0FFFFH 。?问题问题1、8086最少可以分为多少个段?2、 8086最多可以分为多少个段?3、下列地址哪些可能是一个段的开始地址:134546H,23440H,67828H,1FF30H(四)状态标志寄存器nEU内有一16位状态标志寄存器FLAG。15 14 13 12 11 109876543 2 1 0OF DF IF TF SF ZFAFPFCF(1)CF:进位标志,若运算结果最高位产生进位或借位,则CF置“1”,否则置“0”。(2)AF:辅助进位标志,若低

56、字节的第4位上产生一个进位或借位,则AF置“1”,否则置0。(3)ZF:零标志位,若运算结果为零,则ZF置“1”,否则清零。(4)SF:符号标志位,若算数运算的结果为负SF置“1”,否则清零。(5)OF:溢出标志位,有符号数算术运算结果产生溢出OF置“1”,否则清零。(6)PF:奇偶标志位,运算结果中低8位所含1的个数为偶数则PF置“1”,否则清零(四)状态标志寄存器 0101 0100 0011 1001+0100 0101 0110 10101001 1001 1010 0011高位=1,SF=1低8位中偶数为4个,PF=1运算结果不为0,ZF=0低4位向前有进位,AF=1最高位向前没有进

57、位,CF=0次高位向前有进位,Cs=0,Cp=1,OF=Cs Cp=1OF: 8位 +127 or +32767 or -32768?求各状态标志位+2、控制标志位、控制标志位(1)DF:方向标志位方向标志位DF=1串操作指令以递减顺序处理数据串; DF=0以递增顺序处理数据串。(2)IF:中断允许位中断允许位若IF=1,CPU允许接受外部可屏蔽中断请求,即开中断;IF=0关中断(3)TF:跟踪标志位跟踪标志位TF=1处理器处于单步工作方式,每执行完一条指令产生一个软件中断;TF=0正常工作。(五)指令指针寄存器IP1、 指令指针寄存器IP 指令指针寄存器IP始终指向当前代码段(CS)所要取出

58、的下一条指令的地址。每取出一个字节指令后,IP自动加1。可以用转移指令、调用指令及中断和复位等改变IP值。2、堆栈指针SP?问题(1)为什么需要设置堆栈?堆栈的操作? (2)堆栈的定义?堆栈的种类?堆栈生成的方法?控制信息由系统程序或用户程序根据需要用指令设置控制信息由系统程序或用户程序根据需要用指令设置状态信息由中央处理机根据计算机的结果自动设置状态信息由中央处理机根据计算机的结果自动设置n例例1: MOV AX, 1n MOV BX, 2n ADD AX, BXn 指令执行后,指令执行后,(AX)=3, OF=0, CF=0, ZF=0, SF=0n例例2: MOV AX, FFFFHn

59、MOV BX, 1n ADD AX, BXn 指令执行后,指令执行后,(AX)=0, OF=0, CF=1, ZF=1, SF=03.1 基本数据类型基本数据类型字节字节字字双字双字四字四字双四字双四字注意:偶数编号注意:偶数编号字节无符号整数字节无符号整数/字节符号整数字节符号整数字无符号整数字无符号整数/字符号整数字符号整数双字无符号整数双字无符号整数/双字符号整数双字符号整数四字无符号整数四字无符号整数/四字符号整数四字符号整数指针指针字段(最多字段(最多32位)位)串数据:位、字节、字、双字的连续序列串数据:位、字节、字、双字的连续序列3.2 指令格式指令格式 Label: 助记符助记

60、符 参数参数1,参数,参数2,参数,参数3 操作数:参数操作数:参数1,参数,参数2,参数,参数33.3 寻址方式寻址方式立即数寻址立即数寻址寄存器寻址寄存器寻址直接寻址直接寻址寄存器间接寻址寄存器间接寻址存储器相对寻址存储器相对寻址基址变址寻址基址变址寻址基址变址相对寻址基址变址相对寻址寄存器比例寻址寄存器比例寻址立即数寻址:操作数直接包含在指令中,作为指令的一部分存放在代码段中 例3-1MOV AX,2004H ;(AH)=20H,(AL)=04HMOV BL, 5AH ;(BL)=5AHMOV EAX,22334455H ;(EAX)=22334455H, (AX)=4455H立即数常用

温馨提示

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

评论

0/150

提交评论