版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术第1章 微型计算机的基础知识3本章主要介绍:微型计算机的组成和微型计算机的工作过程;计算机的运算基础。重点是微型计算机的组成和计算机的运算基础。 1.1 微型计算机的发展及概述 5第1章 微型计算机的基础知识 自1946年世界上第一台电子计算机问世以来,计算机科学和技术得到了高速发展。电子计算机的产生和发展是20世纪最重要的科技成果之一。到今天为止,电子计算机的发展已经历了由电子管计算机、晶体管计算机、集成电路计算机到大规模集成电路、超大规模集成电路计算机的四代更替。 6第1章 微型计算机的基础知识1.1.1 微型计算机的发展 所谓“微型计算机”是指:以大规模、超大规模为主要
2、部件的微处理器作为核心,配以存储器、输入输出接口电路及系统总线的计算机系统。 1946年第一台计算机(ENIAC)诞生,(电子数值集成计算机),就是采用冯.诺依曼结构框架。 投资150万美元,占地150平米,重30吨,用了18800个电子管,耗电150KW,2KBytes内存, 5000次/s,几小时出一次故障。7第1章 微型计算机的基础知识1.1.1 微型计算机的发展 1971年,美国Intel公司研制出了4位4004微处理器芯片。该芯片能同时处理4位二进制数,集成了2300个晶体管,每秒可进行6万次运算,成本约为200美元。它是世界上第一个微处理器芯片,以它为核心组成的MCS-4计算机,标
3、志着世界上第一台微型计算机的诞生。 从那时起,短短20多年的时间,微型计算机的发展经历了五代。我们一般以字长(计算机能同时处理的二进制的位数)和典型的微处理器芯片作为各阶段的标志。8第1章 微型计算机的基础知识1.1.1 微型计算机的发展第一代(19711973)是4位和低档8位微机。代表产品是美国Intel公司4004微处理器及由它组成的MCS微型计算机。第二代(19741978)是中高档8位微机,以Intel80808085和Z80等为CPU的微型机为典型代表。 第三代(19791981)是16位微机,如以8086、80286、Z8000和MC68000为CPU的微型机。为与原8位机相衔接
4、,Intel公司还推出了8088CPU,其指令系统完全与8086兼容,内部为16位的功能结构,外部数据总线是8位。 9第1章 微型计算机的基础知识1.1.1 微型计算机的发展第四代(19821992)是32位微机,典型的CPU产品有80386和MC68020。之后Intel公司又推出了80486微处理器。第五代(1993年以后)是64位微机。1993年3月Intel公司推出了当前最先进的微处理器芯片-64位的Pentium,该芯片采用了新的体系结构,其性能大大高于Intel系列的其他微处理器,给微处理器体系结构和PC机的性能引入了全新的概念。10第1章 微型计算机的基础知识1.1.2 微型计算
5、机的应用各行各业,无所不用科技、生产、学习、日常生活等各个方面主要用于以下两个方向: 数值计算、数据处理及信息管理2. 过程控制及智能化仪表11第1章 微型计算机的基础知识1.1.3 微型计算机的组成微机的基本硬件由下列几部分组成:运算器(ALU)控制器(CTRL)存储器(MEM)输入设备(INE)输出设备(OUTE)总线 (BUS)微处理器12第1章 微型计算机的基础知识1.1.3 微型计算机的组成图1-1 微型计算机的基本结构13运算器 (ALU-Arithmetic Logic Unit) 进行算术运算(加、减、乘、除与移位); 进行逻辑运算(与、或、非、异或等); 为了提高存取数据的速
6、度,与ALU有关的部件还有寄存器阵列第1章 微型计算机的基础知识14控制器(CTRL-Controller) 它是计算机的控制中心,发布与控制计算机工作的各种命令,协调计算机内部以及主机与外设工作的各种关系。 它有两个主要功能: 一个是控制程序的运行; 另一个是对不同的外部事件做出相应响应的能力。 (这些外部事件是指:复位、停机、中断请求、总线请求、总线周期延长等) 上述ALU+CTRL+REG阵列=CPU(中央处理器)第1章 微型计算机的基础知识15存储器(MEM-Memory) 记忆部件。它存储计算机操作的控制信息及各种命令信息(指令)和被处理加工的信息(数据),包括存储加工的中间与最终结
7、果。 存储器内有两类信息: 一类是命令信息(即指令),经译码并执行,放在代码区; 另一类是数据,放在数据区。 它们都以二进制形式存放。 应注意:内存中的代码区和数据区中的信息具有不同的性质与功能,两个区域中的某些单元具有相同的信息,却具有完全不同的含义。第1章 微型计算机的基础知识16输入设备与输出设备 称为外设,其作用是进行信息形式的转换,即外界的语言、文字、图像、机械动作等信息转换成计算机能识别的电信号表示的二进制数形式,或进行相反方向的转换。 输入设备 如:键盘、鼠标、磁盘、光盘、游戏杆、扫描仪、数码相机、A/D转换器等 输出设备 如:显示器、打印机、音响、绘图机、磁盘、光盘、D/A转换
8、器等第1章 微型计算机的基础知识17总线(BUS) 总线是计算机各部件间传送信息的公共通路,它把计算机的各个部件连接成为一个整体。 分为内部总线,外部总线。 计算机内部的基本总线分为数据总线(DBUS),地址总线(ABUS),控制总线(CBUS)。通常又称为三总线。 第1章 微型计算机的基础知识18第1章 微型计算机的基础知识1.1.3 微型计算机的组成 从系统的组成观点来看,一个微型计算机系统应包括硬件系统和软件系统。所谓“硬件系统”,是指在上述微型计算机的基础上配以必要的外部设备、外部存储器和电源设备等组成的设备集合;所谓“软件系统”,一般指在计算机上运行的程序,如操作系统和应用软件等,广
9、义软件还包括由计算机管理的数据和有关的文档资料。 19第1章 微型计算机的基础知识1.1.4 微型计算机的工作过程在启动计算机进行计算之前,必须作如下工作:用助记符号指令编写程序; 用汇编软件将汇编程序翻译(汇编)成计算机能识别的机器语言指令;将数据和程序通过输入设备送入存储器中存放。20第1章 微型计算机的基础知识1.1.4 微型计算机的工作过程如何计算5+6? 表1-1 汇编语言和机器语言程序对照操 作助记符号机器码(二进制)(十六进制)功 能立即数送累加器MOV AX,05H10110000 B0H把05H送入累加器AX00000101 05H加立即数ADD AX,06H00000100
10、 04H06H与AX中的内容相加,并将结果存入累加器AX00000110 06H 整个程序一共2条指令,4个字节,假设它们存放在00H开始的4个单元中 21第1章 微型计算机的基础知识1.1.4 微型计算机的工作过程 计算机执行程序是一条指令一条指令执行的。执行一条指令分两个阶段,即取指令阶段和执行指令阶段。 开始执行程序时,必须先给程序计数器IP赋以第一条指令的地址00H,然后进入第一条指令的取指阶段。22第1章 微型计算机的基础知识1.1.4 微型计算机的工作过程 图1-2 取指令阶段的执行过程23第1章 微型计算机的基础知识1.1.4 微型计算机的工作过程图1-3 执行指令阶段的执行过程
11、 24第1章 微型计算机的基础知识1.1.4 微型计算机的工作过程 微型计算机的工作过程是执行程序的过程。首先CPU进入取指阶段,从存储单元中取出指令代码,通过数据总线,送到CPU中的指令寄存器中寄存,然后对该指令译码,译码器经译码后发出相应的控制信号,通过控制总线,CPU把控制信息传送到存储器或输入输出系统,它们会按照CPU的命令进行相应的动作,也即CPU执行指令指定的操作。 取指阶段由一系列相同的操作组成,因此取指的时间总是相同的。而执行指令的阶段是由不同的事件组成的,它取决于执行指令的类型。 1.2 微型计算机中信息的表示及运算基础26第1章 微型计算机的基础知识 目前使用的计算机是一种
12、电设备,它只认识电的信号:如电平的高与低、电路的通与断、晶体管的导通与截止、电子开关的开与关等。将这两种状态用0和l两个符号表示,0或l就是二进制数的一位,称为bit。因此在计算机中,任何信息都必须用0和1的数字组合形式。也就是说,计算机存储和处理的仅仅是二进制信息。 27第1章 微型计算机的基础知识 1个二进制位称为1个bit; 8个二进制位称为1个Byte,也称1个字节(8位); 2个字节称为1个字(Word,16位);2个字称为双字(Dword或Double Word,32位); 4个连续的字称为四字(Qword或Quad Word,64位); 连续的10个字节称为十字节,它是一个80位
13、二进制的值。 28第1章 微型计算机的基础知识1.2.1 二进制数的表示与运算1. 二进制数的表示 二进制数仅有两个计数符号:0、1。一个8位的二进制数由8个0或1组成,如11010010计数符号在不同位置有不同的位权:11010010127+126+025+124+023+022+121+020 我们习惯于在二进制数的后面加上字母B(Binary),如1100110lB,10011B。 29第1章 微型计算机的基础知识1.2.1 二进制数的表示与运算2. 二进制数的运算 (1)算术运算加法运算:逢2进1减法规则:借1当2乘法规则:1与1乘得1,其它为030第1章 微型计算机的基础知识1.2.
14、1 二进制数的表示与运算2. 二进制数的运算 (2)逻辑运算 逻辑运算都是比特运算。与算术运算区别在于,前者只在对应的比特之间进行,各位之间没有进/借位,本位运算结果不影响其它位。 常用的逻辑运算有:逻辑与、逻辑非、逻辑或、逻辑异或。31第1章 微型计算机的基础知识1.2.1 二进制数的表示与运算2. 二进制数的运算 (2)逻辑运算 与运算通常用于屏蔽掉某些位(清0),保留某些位不变。 例:(A5H) AND (F0H)=A0H; 屏蔽低4位(清0),保留高4位。逻辑与运算(AND)00010101100132第1章 微型计算机的基础知识1.2.1 二进制数的表示与运算2. 二进制数的运算 (
15、2)逻辑运算 逻辑或运算通常把某些位置1,某些位不变。 例: (A5H) OR (0FH)=AFH; 高4位不变,低4位置全1。逻辑或运算(OR)0 0 011011111033第1章 微型计算机的基础知识1.2.1 二进制数的表示与运算2. 二进制数的运算 (2)逻辑运算 把逻辑变量变成反码。 例:NOT (A5H)=5AH逻辑非运算(NOT)34第1章 微型计算机的基础知识1.2.1 二进制数的表示与运算2. 二进制数的运算 (2)逻辑运算 异或运算可以使某些位清0,某些位变反。通常用于寄存器或内存单元清0。 例:(A5H) XOR (0FH)=AAH; 高4位不变,低4位变反。 例: (
16、A5H) XOR (A5H)=00H;一个数自身异或,相当于清0。逻辑异或运算(XORExclusive OR )0 000111 0 1 11035微机的硬件构成框图 例1.1:00011010B+01101101B10000111B00011010+0110110110000111B36微机的硬件构成框图 例1.2: 10011011B-00110101B01100110B10011011-001101010110011037微机的硬件构成框图 例1.3:01110101B00110110B0001100010101110B0111010100110110 01110101 0111010
17、1 01110101 +01110101 000110001010111038微机的硬件构成框图 例1.4:10111001B1011B00010000B,余00001001B 39微机的硬件构成框图 例1.5:10011101B01101110B00001100B 100111010110111000001100 40微机的硬件构成框图 例1.6:10011101B01101110B11111111B 10011101 011011101111111141微机的硬件构成框图 例1.7:10011101B01101110B11110011B 100111010110111011110011 4
18、2第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运算1. 二-十进制数的表示十进制数有10个计数符号:09,而计算机仅认识2个符号:0、1,因而十进制数的10个计数符号需要改用0和1两个符号的编码表示。10个符号必须用4位二进制编码表示。 0 00005 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 01009 100143第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运算1. 二-十进制数的表示 这种用二进制编码的十进制数称为BCD(Binary Coded Decimal)数压缩的(组合的)
19、BCD码:一个字节表示两位BCD码。非压缩(非组合)的BCD码:一个字节表示一位BCD码, 高 4位为0。44第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运算2. 二-十进制数的加、减运算例1.8:BCD数 十进制数 1000 +01018+513两个BCD数相加后,其结果已不是BCD数 1101 45第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运算2. 二-十进制数的加、减运算例1.9:BCD数 十进制数 1001 +0111 9+716 运算结果不对 10000 46第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运
20、算2. 二进制数的运算 究其原因是:在计算机中,用BCD可以表示十进制数,但其运算规则还是按二进制数进行的。因而4位二进制数相加要到16才会进位,而不是逢十进位。为什么会出现不正确的结果? 采取调整运算结果的措施。调整规则为:当BCD数加法运算结果的4位二进制超过1001(9),出现非法编码10101111或个位向十位有进位时,则加0l10(6)进行调整;当十位向百位有进位时,加01100000(60)调整。这是人为地干预进位。 微机的CPU中都有专门的十进制运算调整部件DAA ,还设有专门的十进制加减运算调整指令DAA与DAS等。如何解决BCD数的运算问题?47第1章 微型计算机的基础知识1
21、.2.2 二-十进制(BCD)数的表示与运算2. 二进制数的运算 在CPU中,称为Flag寄存器,由于这些标志决定了程序分支的条件,也称为条件码(CC: Condition Code)。 CPU常设的标志有: C (Carry) 进位标志,运算结果的最高位产生进位或借位。 S或N(Sign或Negative)符号标志,反映运算结果的符号位。 O或V(OVerflow)溢出标志,反映符号数运算结果是否产生溢出。 Z(Zero)零标志,反映运算结果是否为0。48 例: 若X、Y为十进制数,X=38,Y=57,计算X+Y=? 3 8 (BCD码中没有字母,结果中的 F (1111) 为非法码, +
22、57 应在该位加6修正,以强迫其进位。) 8 F + 0.6 9 5 例: 若X=28, Y=79,计算X+Y=? 2 8 + 7.9 A 1 因为低4位有进位(AF=1) + 6 6 高4位A9,所以+66 10 7 第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运算49 例: 若X、Y为十进制数,X=75,Y=26,计算X-Y=? 75 (BCD码中没有字母,结果中的 F (1111) 为非法码, - 2 6 应在该位 - 6修正,使借高位的数得到修正。) 例: X=30,Y=42,计算X-Y=? 30 - 4 2 E E 因为低4位有借位(AF=1) - 6 6
23、高4位也有借位(CF=1) 8 8 所以 66修正 4 F - 0 6 4 9第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运算50BCD码加法修正原则是: 若运算结果低位大于9或AF(半进位)=1,则结果+06; 若运算结果高位大于9或CF(进位)=1,则结果+60; 若 都满足时,则结果+66。BCD码减法修正原则是: 若运算结果低位大于9或AF(半借位)=1,则结果-06; 若运算结果高位大于9或CF(借位)=1,则结果-60; 若 都满足时,则结果-66。第1章 微型计算机的基础知识1.2.2 二-十进制(BCD)数的表示与运算51第1章 微型计算机的基础知识1
24、.2.3 十六进制数的表示与运算 十六进制数有16个计数符号:09,AF。4个二进制位共有16种组合状态,这样每个十六进制数的计数符号可对应4位二进制数的一种组合状态;反之,1个十六进制符号可以替代一种4位二进制数的组合状态。在阅读和编写汇编语言程序时,经常用十六进制数表示数据、存储单元地址或代码等。 在书写数据时,为了区分不同进制的数据,在十进制数后加字母D或省略;在二进制数后加字母B;在十六进制数后加字母H,对于字母开头的十六进制数,还须在数据前加个0,以表明它是十六进制数而不是其他,如25H,43,57D,0A5H,0CD3BH。52第1章 微型计算机的基础知识1.2.4 带符号二进制数
25、的表示和运算 正号“+”和负号“-”在计算机中只能用0和1表示,我们用0表示“”号,用1表示“-”号,并且符号放在最高有效位。一个8位的二进制数表示一个带符号数,最高有效位D7位为符号位。因为计算机的数据位长度是固定的,如4位、8位、16位、32位、64位等。当最高有效位作为符号后,其数值的大小就减小一半。而且计算机在进行运算操作时,符号也作为数据参与运算。 53第1章 微型计算机的基础知识1.2.4 带符号二进制数的表示和运算1. 2的补码表示法 带符号数采用上面的编码方法不可取。考虑到计算机的数据位长度一定,因而可用补数的编码形式表示带符号数。在进行运算时,丢弃进位,就可得到正确结果。 对
26、一个正的二进制数的每位求反再加1,即可得在机器中表示的该数的负数,即2的补码表示法。在这种编码方式中,正数的补码就是该正数。 54第1章 微型计算机的基础知识1.2.4 带符号二进制数的表示和运算2. 带符号数的移码表示 前面介绍的数据是整型的,那么,实型数的数据在机器中又是如何表示的呢?实型数在存储器内不是以2的补码形式存放的,而是以IEEE标准格式存放的。一般,一个任意二进制数N可以表示为:N2e*M 其中,M为有效数字,称为尾数,E为数N的阶码。当E变化时,尾数M中的有效小数点位置也随之向左或向右浮动,故称为浮点表示法。55第1章 微型计算机的基础知识1.2.4 带符号二进制数的表示和运
27、算3. 带符号数的运算若运算结果超出了结果单元所能表达的范围就产生溢出。加减运算产生的溢出无法从结果中看出,必须用专门的信息位来表示。 值得指出的是:计算机在进行运算时,对参与运算的数并不知道是无符号数或带符号数,所以它在运算后对4个标志都会置位,只有程序员知道参与运算的数是符号数或无符号数。 在计算机中,OF置位是根据次高位和最高位的进位的异或判别的。即OF=C7 C656例: X=FEH, Y=FFH, 求X+Y=?并判断标志位。 FEH CF=1 (有进位) + . F.FH SF=1 (为负数) OF=0 (没溢出)(有进位不一定有溢出) FDH ZF=0 (结果不为0)例: X=70
28、H, Y=50H, 求X+Y=? 并判断标志位。 70H CF=0 (无进位) + 50H SF=1 (为负数) OF=1 (有溢出)(有溢出不一定有进位) C0H ZF=0 (结果不为0) 第1章 微型计算机的基础知识1.2.4 带符号二进制数的表示和运算3. 带符号数的运算57 例: X=30H, Y=40H, 求X+Y=?并判断标志位。 30H CF=0 (无进位) + 40H SF=0 (为正数) OF=0 (没溢出)(即无进位又无溢出) 70H ZF=0 (结果不为0)例: X=80H, Y=80H, 求X+Y=? 并判断标志位。 80H CF=1 (有进位) + .80H SF=0
29、 (为正数) OF=1 (有溢出)(即有溢出又有进位) 00H ZF=1 (结果为0)第1章 微型计算机的基础知识1.2.4 带符号二进制数的表示和运算3. 带符号数的运算58 在计算机系统中,由于CPU的数据宽度有8位、16位、32位,甚至64位之分,而存储器的数据总是以8位(字节)宽度组织,所以在进行某些运算时需要将8位数据扩展成16位,或者将16位数据扩展成32位等。无符号数扩展,仅在其数据之前加上若干位0即可;而带符号数的扩展实际是扩展其符号,即正数前补8个(或16个)0,负数前补8个(或16个)l。 例如: +5的16位表示为000000000000010lB -5的16位表示为11
30、11111111000010B +3EH的16位表示为0000000000111110B -3EH的16位表示为1111111111000010B第1章 微型计算机的基础知识1.2.4 带符号二进制数的表示和运算4. 带符号数的符号扩展表示1.3 几种进制之间的相互转换60第1章 微型计算机的基础知识1.十进制转换成二进制例1.18:将205转换成二进制整数。1最低有效位0110011最高有效位故:20511001101B1.3.1 十进制整数到任意进制整数的转换十进制整数转换成任意进制整数,可按进位制的基数照下面的“辗转相除法”进行。61第1章 微型计算机的基础知识1.十进制转换成二进制例:
31、将0.125转换成二进制整数。故:0.1250.001B0.12520.25 整数为0(最高有效位)0.2520.5 整数为00.521.0 整数为1(最低有效位)1.3.1 十进制整数到任意进制整数的转换62第1章 微型计算机的基础知识2.十进制转换成十六进制例1.19:将327转换成十六进制数1最低有效位0110011最高有效位故:20511001101B1.3.1 十进制整数到任意进制整数的转换63第1章 微型计算机的基础知识1.二进制转换成十进制例1.21:将二进制数1110110B转换成十进制数 。1.3.2 任意进制整数间的相互转换任意进制整数到十进制整数的转换,按基数位权展开可以
32、实现。1110110B126+125+124+023+122+121+02011664第1章 微型计算机的基础知识2. 带符号二进制整数到十进制整数之间的转换 二进制数用基数2,按位权展开即可转换成十进制数。而带符号数的最高位为符号,而且带符号数在计算机中是用其补码表示的,如果符号位为0,则该数为正数,它可按位权展开;如果符号位为1,它不能按正常位权那样展开。所以,对带符号二进制负数除符号位外,对二进制数每位求反再加1后,再按位权展开并添上符号,才能将负的二进制数转换成十进制数。1.3.2 任意进制整数间的相互转换65第1章 微型计算机的基础知识2. 带符号二进制整数到十进制整数之间的转换 例
33、1.25:将计算机中带符号二进制数01011011B转换成二进制整数。+1011011B+(26+24+23+21+1)+91例1.26:将计算机中带符号二进制数10101101B转换成 二进制整数将10101101B除符号位外每位求反再加1-1010011B-(26+24+21+1)-128+45-831.3.2 任意进制整数间的相互转换66第1章 微型计算机的基础知识3.十六进制转换成十进制例1.22:将十六进制数A2EH转换成十进制数 。A2EH10162+2161+1416026061.3.2 任意进制整数间的相互转换67第1章 微型计算机的基础知识4.二进制数和十六进制数之间的相互转
34、换 例1.23:将二进制数10111B和l10001110B转换成十六进制数。 1.3.2 任意进制整数间的相互转换l0l011B00l0,l011B2BH110001110B0001,1000,1110B18EH例1.24:将十六进制数8BDH和0C5AFH转换成二进制数。 8BDH1000,1011,1101B 0C5AFH1100,0101,1010,1111B第2章 微处理器系统结构 68本章主要介绍:微处理器(CPU)的内部结构及功能;Intel 8086微处理器工作模式、引脚信号;堆栈。重点是8086 CPU的内部结构、引脚信号以及堆栈。 69微处理器(CPU)由下列主要部分组成:
35、算术逻辑单元 ALU控制器寄存器阵列总线和总线缓冲器 高性能的CPU还有:指令预取部件,指令译码部件、 地址形成部件、存储器管理部件等。 70第2章 微处理器系统结构 一、算术逻辑运算单元(ALU)ALU是对二进制数进行算术逻辑运算的基本部件。数据加工处理可归纳为两种基本运算: 算术运算,逻辑运算。71第2章 微处理器系统结构 一、算术逻辑运算单元(ALU)(续) 算术运算:可进行无符号数和带符号数的加、减、乘、除运算,符号数采用补码表示,减法通过求负数的补码而变成加法运算。还可进行BCD码运算。 乘、除可以通过多次重复加、减和移位实现。 72第2章 微处理器系统结构 一、算术逻辑运算单元(A
36、LU)(续)例如:13 11=143=8FH 1 1 0 1 采用部分积左移和加法 1 0 1 1 可完成二进制乘法。 1 1 0 1 1 1 0 1 部分积左移 0 0 0 0 + .1.1.0.1 1 0 0 0 1 1 1 173第2章 微处理器系统结构 一、算术逻辑运算单元(ALU)(续) 逻辑运算:可完成逻辑“与”、“或”、“非”、“异或”、“移位”等基本的逻辑运算。 浮点运算:浮点数可以看作是由两个定点数组成,尾数与阶码。在对阶后可以对尾数进行运算。 浮点数运算可以用软件实现。也可以专门生产浮点运算部件和浮点微处理器,并设有专门的浮点运算指令,可进行32位或64位浮点加、减、乘、除
37、运算。 Pentium处理器已把浮点处理器与主处理器集成到一个芯片上。 早期的浮点处理器有:8087、80287、80387协处理器。74第2章 微处理器系统结构 一、算术逻辑运算单元(ALU)(续) ALU框图:75DAA部件Flag R第2章 微处理器系统结构 二、控制器 CTRL是发布操作命令的部件,操作的顺序需要精确的定时,其内部主要组成如下: 1、指令部件 包括程序计数器(PC),指令寄存器(IR),指 令译码器(ID)。 2、时序部件 包括时钟系统,脉冲分配器。 3、微操作控制部件 可采用组合逻辑控制,微程序控制和可编程逻辑阵列(PLA)来实现。76第2章 微处理器系统结构 二、控
38、制器(续)控制器的组成框图:77第2章 微处理器系统结构 二、控制器(续) 时钟周期(T state):主时钟的两个脉冲前沿的时间间隔称为一个时钟周期,又称为T状态。它CPU操作的最小时间单位。 机器周期:由25个T状态组成一个机器周期(Machine Cycle),称为M周期,又叫做总线周期,用来完成一个基本操作,如 MEM读/写,I/O读/写等。 指令周期:一条指令(的取出和)执行所需的时间称为指令周期(Instruction Cycle),一条指令执行需15个M周期。78第2章 微处理器系统结构 M1机器周期79M2M5CLKT4T3T1T2 指令周期(包括15个机器周期)指令周期、机器
39、周期与时钟周期的关系如下图:第2章 微处理器系统结构 三、总线与总线(缓冲器)部件 所谓总线是指计算机中传送信息的一组通信线,将多个部件连成一个整体。可以简单分为: 片内总线:在CPU内部或部件内部各单元之间传送信息的总线(又可细分为单总线、双总线(输入/输出BUS)、多总线结构); 片外总线:CPU与外部部件之间传送信息的总线。 片外总线又称为系统总线,通常系统总线分为地址总线、数据总线、控制总线,即所谓三总线结构。80第2章 微处理器系统结构 三、总线与总线(缓冲器)部件(续) 因为多个部件均挂在总线上,但各部件工作情况并非完全一样(有的作为信源发,有的作为接收器收)。 由于数据或信息代码
40、是用电位高低来表示,若某一时刻有几个部件同时向BUS发送数据,则BUS上的情况就成为不确定的了,电路也可能被烧毁。 所以同一时刻只允许一个部件向BUS发送信息。 而接收数据就没有上述限制,同一时刻可允许多个部件接收数据。81第2章 微处理器系统结构 三、总线与总线(缓冲器)部件(续) 总线缓冲器:在工作过程中,常常要求挂在BUS上的某些部件在电气连接上与BUS “脱开”,使这些部件对BUS上其它部件的工作不产生影响,为此,可在部件内部设置三态缓冲器。 DATA3态BUFBUS; 三态缓冲器(3态BUF)处于: 低阻(高低电平)挂BUS上; 高阻逻辑上脱开。82第2章 微处理器系统结构 三、总线
41、与总线(缓冲器)部件(续)“脱开”状态: 处于高阻状态,开路状态,浮空状态; 逻辑上“脱开”,物理上仍连在一起。总线缓冲器分为:单向三态缓冲器,如地址总线缓冲器只发地址信息, (地址BUS是单向的);双向三态缓冲器,如数据总线缓冲器,既可发又可 收数据(数据BUS是双向的)。83第2章 微处理器系统结构 三、总线与总线(缓冲器)部件(续) 采用总线结构的优点是: 减少信息传输线数目; 提高系统的可靠性; 增加系统灵活性; 便于实现系统标准化。84第2章 微处理器系统结构 四、寄存器阵列(Register Array) 在CPU内部,有一个临时存放地址和数据的寄存器阵列。这个阵列因CPU的不同而
42、不同,有的称寄存器堆,寄存器多少有差别,但其功能相似。 寄存器阵列大致分为以下四组: 存放待处理数据的寄存器; 存放地址码的寄存器; 存放控制信息的寄存器; 起数据或地址缓冲器作用的寄存器。85第2章 微处理器系统结构 四、寄存器阵列(Register Array) (续)存放地址的寄存器指令指针(IP)或程序计数器(PC:Program Counter);堆栈指示器(SP: Stack Pointer);其它可存放地址的寄存器(Register), 例如变址REG、基址REG。存放数据的REG累加器(AC: Accumulator);通用REG组,A,B,C,D等。86第2章 微处理器系统结
43、构 四、寄存器阵列(Register Array) (续)存放控制信息的REG指令寄存器(IR: Instruction Register)指令代码;标志寄存器(FR: Flag Register),通常设有SF、ZF、AF、PF、CF、OF、IF、DF等标志。起数据缓冲作用的REG数据总线缓冲REG(DBUF:Data BUS Buffer);地址总线缓冲REG (ABUF:Address BUS Buffer )。 三态,单向,内外部地址BUS之间缓冲。87第2章 微处理器系统结构 882.1 8086/8088的结构 1. 通用REG组 AX 主累加器 BX 累加器或基址REG CX 累
44、加器或计数器 DX 累加器或I/O地址REG89AHALBHBLCHCLDHDL第2章 微处理器系统结构 2.1 80868088的结构 2. 指针与变址REG组 堆栈指针 基址指针 源变址器 目的变址器90SPBPSIDI变址REG指针REG第2章 微处理器系统结构 3. 段REG组 代码段 数据段 堆栈段 附加段 段REG是存放内存地址的高位地址,地址形成是由段寄存器地址左移4位加上对应的偏移量。91CSDSSSES第2章 微处理器系统结构 例如:被取指令的地址为CS左移4位加上IP的值。 若CS =2000H,IP=0100H,则指令地址为 2 0 0 0 0 H + 0 1 0 0 H
45、 2 0 1 0 0 H SS段与SP或BP对应; DS/ES与SI、DI、BX等结合使用,串操作时有约定。92第2章 微处理器系统结构 4. 控制REG 指令指针 标志REG 93IPFRH FRL第2章 微处理器系统结构 5. 8086CPU中有一个16位的标志寄存器(FR) 共设有9个标志位,用以反映算术、逻辑运算结果的特征及反映CPU的控制,有7位无用。 不同的指令对标志的影响是不同的(如传送类、转移类等指令不影响标志位,而算术逻辑运算大部分都影响标志位);反之,不同的标志也影响着指令执行的结果。 94第2章 微处理器系统结构 其中6个状态标志:CF、PF、AF、ZF、SF、OF 3个
46、控制标志:IF、DF、TF。95OFDFIFTFSFZFAFPFCF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0第2章 微处理器系统结构 CF:进位标志(Carry Flag) 当运算的结果在最高位(8位,16位)上产生一个进位或借位时,CF=1;反之,CF=0。PF:奇偶标志(Parity Flag) 当运算结果低8位中“1”的个数为偶数时,PF=1;为奇数时,PF=0。96第2章 微处理器系统结构 AF:辅助进位标志(Auxiliary Carry Flag) 在算术运算中,当一个8位(或16位)数的低4位向高4位(即b3位向b4位)有进位或借位时,AF=1
47、;反之,AF=0。此标志用于BCD码运算指令中。ZF:零标志(Zero Flag) 当运算结果为全“0”时,ZF=1;反之,ZF=0。97第2章 微处理器系统结构 SF:符号标志(Sign Flag) 当运算结果的最高位为“1”时,SF=1;反之,SF=0。OF:溢出标志(Overflow Flag) 在算术运算中,符号数的运算结果超出8位或(16位)符号数表达的范围,OF=1;反之,OF=0。(8位:-128+127;16位:-32768+32767) 溢出与进位是两个不同性质的标志,一个反映符号数,一个反映纯数值。98第2章 微处理器系统结构 此外还设有3个控制标志:DF:方向标志(Dir
48、ection Flag) 用于控制字符串操作指令的步进方向。 当DF=0时,表示从低址向高址以递增顺序进行串处理;当DF=1时,表示从高址向低址以递减顺序进行串处理。99第2章 微处理器系统结构 IF:中断允许标志(Interrupt enable Flag) 当IF=1时,允许中断;当IF=0时,禁止中断。 该标志可用指令STI或CLI使其置1或0。 IF标志对 NMI 信号或由内部中断(INT n)无 作用。100第2章 微处理器系统结构 TF:陷阱或跟踪标志(Trap Flag) 当TF=1时,CPU进入单步工作方式,每执行完一条指令就自动产生一个内部中断,以便进行程序调试。当TF=0时
49、,连续执行程序。 (没有专门的指令使TF置1或0)101第2章 微处理器系统结构 8086 CPU按功能可分为两大部分: 一部分为BIU(BUS Interface Unit); 专门负责取指令和存取操作数。它与BUS打交道。 一部分为EU(Execution Unit)。 专门负责分析指令与执行指令。它不与系统BUS 打交道。 102第2章 微处理器系统结构 8086内部结构框图 : 103第2章 微处理器系统结构 BIU与外部总线打交道,负责取指令、读写操作数、地址转换与总线控制; EU负责指令译码与执行指令的工作。 取指令与执行指令操作是并行的,提高了CPU的利用率,这种重叠操作技术,提
50、高了整个系统的运行速度。104第2章 微处理器系统结构 早期的计算机取指令、执行指令是按照时间顺序进行的。而8086 CPU 是二者并行同时操作的。如图: t队列BIUEU t 重叠执行指令的过程105取指1执行1取指2执行212,33,4,54,5,6取指令1取指令2取指令3读数据等待执行1执行2执行3第2章 微处理器系统结构 1. BIU总线接口单元 8086CPU与外设的接口部件,提供16位数据总线与20位地址总线。内部由段REG、IP、内部通信REG、指令队列、地址加法器和总线控制逻辑等组成;完成取指令、指令排队、读/写操作数、地址转换与总线控制等工作;队列为先进先出原则组织FIFO(
51、First In FirstOut),实现流水线操作,高性能CPU更是如此。8086有6个Byte指令队列;需要两个指针,OUT与IN指针;106第2章 微处理器系统结构 当遇到BIU正准备取指令而 EUBIU申请读/写 MEM或 I/O时,则先取指令,后读/写操作数;当队列中当前有两个字节空间时,BIU顺序预取指令并填满队列;当遇到CALL、JMP、INT n等指令时,先把 IP 压入堆栈,再清除队列,再重新取满队列; 107第2章 微处理器系统结构 2. EU执行单元组成:ALU、FR、8个通用REG、暂存器、队列控制逻辑与时序控制逻辑(EU控制器)等;完成工作:指令译码与执行指令;EU没
52、有连接到总线上,所以对系统总线来说,它是“外界”的。108第2章 微处理器系统结构 1092.2 8086/8088的存储器结构与堆栈 8086是一种单片微处理器芯片,内外部数据总线16位,对外40条引脚,主时钟5MHz、8MHz、10MHz等。20条地址引脚,直接寻址220 =1MByte,可访问64K个I/O端口,具有24种寻址方式,可以对位、字节、字、字符串、字串、BCD码、ASCll码等多种数据类型进行处理。 80386 Pentium处理器都是32位的地址,寻址范围为232=4GBytes =(4096MB)。1102.2 80868088的存储器结构与堆栈第2章 微处理器系统结构
53、2.2.1 80868088的存储器结构 1. 存储器基本结构 1112.2 80868088的存储器结构与堆栈第2章 微处理器系统结构 2.2.1 80868088的存储器结构 在存储器中,每个存储单元都有一个地址,每个单元中都可存储一个字节。任何两个相邻的字节单元可以存放一个16位的字(word),在一个字中的每个字节有一个字节地址,这两个地址中数值较小的那个地址作为该字的地址。如果在存储器中存放一个字符串(字节序列),那么字符串的第一个字节存放在地址较低的单元中,以后依次存放。 1000H 121001H341002H561003H781004H901005HAB1006HCD1122.
54、2 80868088的存储器结构与堆栈第2章 微处理器系统结构 2.2.1 80868088的存储器结构 例如从l000H单元取出一个字,则这个字是3412H,若从l005H单元取出一个字,则这个字是CDABH。无论是从偶地址单元取字或者是从奇地址单元取字都是把该单元与下一个单元两个相邻地址单元的16位数取出来,且下一字节单元为高8位数。偶地址字奇地址字1132.2 80868088的存储器结构与堆栈第2章 微处理器系统结构 2.2.1 80868088的存储器结构 8086中有访问字节的指令也有访问字的指令,不论是读存储器还是写存储器,每次总是16位。执行访问字节指令时,只用了8位,另外8位
55、则被忽略了。这16位总是存储器内两个连续字节单元的内容,其中第一个字节的地址是偶地址时,可以通过一次访问来实现其功能。然而,对于奇地址的字的读写指令,CPU必须读写两个连续的偶地址字,两次访问存储器,每次都忽略掉不需要的半个字,并对剩下的两个字节进行某种形式的字节调整。1142.2 80868088的存储器结构与堆栈第2章 微处理器系统结构 2.2.1 80868088的存储器结构 于是,读写偶地址的字的指令对操作数的读写操作只需访问一次存储器;读写奇地址的字的指令则必须两次访问存储器,分别地取它所需要的那半个字,并进行某种形式的字节调整,以形成指令所需要的字。字操作数存放在偶地址开始是值得推
56、荐的。 例:把5678H写入1002H单元。 78H1002H 56H1003H1157856M1002H 1003H第2章 微处理器系统结构 例:把字串12345678H写入1000H单元。 781000H 121003H 读:从1002H读出时,读一个字节是34, 读一个字是1234; 从1001读出一个字是3456H,但读 奇址的字时,需访问内存两次,忽略掉 78H与12H;读写字节时每次数据总线上 仍是16位,忽略掉另一个字节。 11678563412M1000100110021003第2章 微处理器系统结构 1172.2 80868088的存储器结构与堆栈第2章 微处理器系统结构 2
57、.2.1 80868088的存储器结构 2. 存储器的分段管理 分段原因: CPU内没有设置20位的地址寄存器,只有16位的寄存器,16位寄存器无法存放20位地址,所以把20位地址分为基地址(段)和偏移量;分别存放在两个16位寄存器中。 1182.2 80868088的存储器结构与堆栈第2章 微处理器系统结构 2.2.1 80868088的存储器结构 2. 存储器的分段管理 好处是: 程序区、堆栈区和数据区可以互相隔离,方便程序的再定位。允许段重叠: 根据情况,段与段之间可以重叠,几个段可以在一个64K段内,但各段的起始地址是不同的。 8086系统存储器分段示意图 119第2章 微处理器系统结
58、构 存储器的实际地址就是物理地址(或绝对地址)20位;存储器的逻辑地址是段基址和16位偏移量组成。 因为段REG为16位,所以每64KByte为一段。 实际地址是由段地址左移4位加上所对应的16位地址偏移量。 CPU中的BIU中有一个20位地址加法器,用来形成20位的物理地址(段自动左移4位与偏移量相加) 。120第2章 微处理器系统结构 不同的逻辑地址可以变换成同一个物理地址,反之亦然。例如:物理地址为 25000H 逻辑地址:段基址为2000H,偏移量5000H 段基址为2100H,偏移量4000H 段基址为2200H,偏移量3000H121第2章 微处理器系统结构 8086可访问8位I/
59、O端口或16位I/O端口,若直接寻址方式寻I/O端口,用8位地址,可访问28=256个端口地址;若用间接寻址方式寻I/O,用16位地址,可访问216=64K个端口地址;间接寻址通过DX寄存器,I/O端口不设段REG,可以认为全部端口都在同一个段内。 8086系列的处理器设有专门的I/O指令 (即IN和OUT指令)。122第2章 微处理器系统结构 什么是堆栈? 堆栈是一个按照后进先出(LIFO Last In First Out)的原则存取数据的部件或区域。 硬件堆栈:内部寄存器作为堆栈,工作速度快,容量不大: 软件堆栈:用内存作为堆栈,工作速度慢,容量大,内存有多大,堆栈就有多大,堆栈由一个堆
60、栈指针 SP 和一个栈区组成。123 2.2.2 堆栈的概念2.2 80868088的存储器结构与堆栈第2章 微处理器系统结构 为什么要用堆栈? 主程序与子程序,主程序调用子程序,或者子程序调用子程序,或者处理中断服务程序,CPU必须把主程序调用子程序指令的下一条指令的地址(或中断时的断点)即PC值保留下来,才能保证子程序(或中断服务程序)执行完之后正确返回到主程序继续执行。 另外,调用子程序之前的有关REG、标志位也要及时正确的保存下来。124第2章 微处理器系统结构 堆栈如何操作? 堆栈必须设有一个区域(栈区),还需一个指针(SP),指示栈在什么位置。8086与栈有关的寄存器是SS和SP。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第五单元 17.《设计与建造“植物工厂”》说课稿-2024-2025学年人教鄂教版小学科学六年级上册
- 《长方体和正方体的表面积》(说课稿)-2023-2024学年五年级下册数学人教版
- 功说课稿-2023-2024学年高一物理人教版2019必修第二册说课稿
- 人教版九年级历史与社会上册:2.1第一个社会主义国家的建立和发展 说课稿
- 《第二单元 体验输入技巧 5 指法顺序要记清》说课稿
- 第二单元第9课二、《“撕开”的照片》说课稿 2023-2024学年人教版初中信息技术七年级下册
- 2023-2024学年高中信息技术选择性必修1(浙教版2019)数据与数据结构-说课稿-2,1-数组
- 2025年度软件许可合同:企业级信息系统部署与应用2篇
- 丙纶纤维在建筑声学设计中的应用考核试卷
- 2006年江苏盐城中考满分作文《和谐》
- 2024院感年终总结报告
- 高一化学《活泼的金属单质-钠》分层练习含答案解析
- 04S206自动喷水与水喷雾灭火设施安装图集
- 《小学数学课堂教学中创设情境的实践研究》开题报告
- 期末 (试题) -2024-2025学年人教PEP版(2024)英语三年级上册
- DB34∕T 4010-2021 水利工程外观质量评定规程
- 纳米复合材料的增韧增能机制
- 图书馆前台接待工作总结
- 卫生院药品管理制度
- 神经外科进修汇报课件
- 腾讯营销师认证考试题库(附答案)
评论
0/150
提交评论