




已阅读5页,还剩241页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0,Intel 8086/8088微型计算机原理及接口技术,1,第一章 计算机基础知识,2,第一章 计算机基础知识,1.1 微型计算机的发展史 1.2 微型计算机和微型计算机系统 1.3 进位计数制与不同进制数间的转换 1.4 计算机中数的表示及运算 1.5 逻辑运算 1.6 小结,3,1.1 微型计算机的发展史,19711973年 第一代微处理器 以4位和低档8位的Intel 4004和Intel8088为代表。 1974 1977年 第二代微处理器 8位机代表产品有Intel 8080/8085、MC6800 、Z80 和6809。 1978 1984年 第三代微处理器 16位机代表产品有 Intel 8086/8088、MC6800、Z8000等。 1985 1999年 第四代微处理器32位机代表产品有 Intel 80386/80486、MC68020、Pentium pro等 。,4,1.2 微型计算机和微型计算机系统,5,一、微处理器 微处理器(Microprocessor)一般称为CPU(Central Processing Unit),虽然具有运算能力和控制功能,但是它并不是微型计算机,不包含微型计算机硬件的全部功能,但它是微型计算机控制、处理的核心。 微处理器包括算术逻辑部件ALU、控制部件和寄存器组三个基本部分,主流微处理器具有通用性,不仅用于微型机也用于工作站及超级计算机。,6,二、微型计算机 微型计算机(Microcomputer)是以微处理器为核心,加上存储器、输入/输出接口电路和系统总线组成的。 微处理器的性能决定了整个微型计算机的各项关键指标,存储器包括随机存储器RAM和只读存储器ROM,输入/输出接口电路是用来使外部设备和微型计算机相连的,系统总线为 CPU和其它部件之间提供数据、地址和控制信息的传输通道。,7,二、微型计算机 微型计算机(Microcomputer)是以微处理器为为核心,加上存储器、输入/输出接口电路和系统总线组成的。 微处理器的性能决定了整个微型计算机的各项关键指标,存储器包括随机存储器RAM和只读存储器ROM,输入/输出接口电路是用来使外部设备和微型计算机相连的,系统总线为 CPU和其它部件之间提供数据、地址和控制信息的传输通道。,8,CPU,1.微处理器 微处理器是微型计算机的核心芯片,它包括运算器、控制器和寄存器三个主要部分。运算器又称算术逻辑单元ALU,其主要功能是完成数据的算术和逻辑运算。控制器一般由指令寄存器、指令译码器和控制电路组成,它根据指令的要求,对微型计算机各部件发出相应的控制信息,使它们协调工作。CPU内部的寄存器用来存放经常使用的数据。,9,存 储 器,CPU,2.内存储器 内存储器又称主存储器,它是微型计算机的存储和记忆装置,用以存放数据和程序。主要有两种类型:RAM和ROM,CPU对内存的操作有两种:读和写。读操作是指CPU将内存单元的内容送入CPU内部,而写操作是指CPU将其内部信息传送到内存单元保存起来。,10,存 储 器,I/O 接 口,输 入 设 备,I/O 接 口,输 出 设 备,CPU,3.I/O接口和外部设备 外部设备是指微型计算机上配备的输入输出设备,其功能是为微型计算机提供具体的输入输出手段。常用的输入设备有键盘、鼠标器和扫描仪等,常用的输出设备有显示器、打印机和绘图仪等,磁盘、光盘既是输入设备,又是输出设备。 由于各种外部设备的工作速度、驱动方法差别很大,无法与CPU直接匹配,所以不能将它们简单地连接到系统总线上。需要有一个接口电路来充当它们和CPU间的桥梁,通过接口电路来完成信号变换、数据缓冲、与CPU联络等工作。这一类电路被称为I/O接口电路。,11,存 储 器,I/O 接 口,输 入 设 备,I/O 接 口,数据总线 DB,控制总线 CB,地址总线 AB,输 出 设 备,CPU,4.系统总线 微型计算机的硬件主要由微处理器、内存、I/O接口和外部设备组成,它们之间是用系统总线连接的。系统总线就是传送信息的公共导线,一般有三组总线。地址总线AB:传送CPU发出的地址信息,是单向总线。数据总线DB:传送数据信息,是双向总线,CPU既可通过DB从内存或输入设备读入数据,又可通过DB将CPU内部数据送至内存或输出设备。控制总线CB:传送控制信息,有些是CPU向内存及外设发出的信息,有些是外设等发送给CPU的信息,通常,CB中每一根线的传送方向是一定的。,12,1.3 进位计数制与不同进制数间的转换,进位计数制 NR= aiRi 式中n和m分别为NR小数点左边和右边的位数。 ai 和Ri分别为第i位的数符和第i位的权。 R为进制数的基数。,13,2.不同进制数之间的转换 二进制数转换为十进制数 方法:各位二进制数与其对应位权的乘积和就是二进 数所对应的十进制数。 十进制数转换为二进制数 方法: 把要转换的十进制数整数部分不断除以2,并记下 余数,直到商为0为止。 把要转换的十进制小数部分不断乘以2,并记下 整数部分,直到结果的小数部分为0为止。,14,2.不同进制数之间的转换,十六进制数和二进制数之间的转换 方法:把每位十六进制数写成四位二进制数。 十六进制数和十进制数之间的转换 方法:各位十六进制数与其对应位权的乘积和就是十六进 数所对应的十进制数。,15,1. 位 ( bit) 指计算机能表示的最基本的单位 在计算机中采用二进制表示数据和指令,一个 bit 就是一个二进制位, 它有两种状态,“0” 和 “1”,2. 字节 ( Byte ) 相邻的8位(bit)二进制数称为一个字节 1 Byte = 8 bit 如: 1100 0011 0101 0111,1.4 计算机中数的表示及运算,16,3. 字和字长( Word ) 字是CPU内部进行数据处理的基本单位。 字长是指每一个字所包含的二进制位数,亦指计 算机内部一次可以处理的二进制数的位数。 常与CPU内部的寄存器、 运算装置、总线 宽度一致一般计算机的字长取决于它的通用 寄存器、内存储器、ALU的位数和数据总线 的宽度。 微型计算机字长有 4位、8位、16位, 高档微机字长为32位或64位。,17,8086 Cpu 把一个字定为16 位, 1 Word = 2 Byte 一个双字定为32位 1 DWord = 2 Word= 4 Byte,18,符号被数码化,在对数据进行运算时,符号位应如何处理? 把符号位和数值位一起编码:原码,反码,补码。 2) 原码 正数符号位用“0”表示,负数符号用“1”表示, 这种表示法称为原码。 X=+105 X原= 0 1101001 X=-105 X原= 1 1101001 符号 数值 原码表示简单,其真值 转换方便,但不便于作减法运算。 引进反码,补码。,19,3)反码: 正数的反码:与其原码相同 (最高位“0”表示正,其余位为数值位。) 负数的反码:将其(负数)原码的符号位不变,其余位按位取反 例: +4反 = 0 0000100 -4反 = 1 1111011 +127反 = 0 1111111 -127反 = 1 0000000 +0反 = 0 0000000 -0反 = 1 1111111,20,4). 补码: 正数的补码:与其原码相同 (最高位 用“0”表示正,其余位为数值位.) 负数的补码:将其反码+1 +127原=0 1111111 +0原=0 0000000 -127反=1 0000000 -0反=1 1111111 -127补=1 0000001 -0补=0 0000000,21,8421BCD码,用4个二进制位表示一个十进制位,即用0000表示0,0001表示1,1001表示9。 8421BCD码是十进制数,因为,它有10个数符(0000、0001、.1000、1001),且逢十进一。 引入8421BCD码的目的是为了使只会二进制运算的计算机进行十进制的运算(即便于人机对话)。 8421BCD码与十进制数的转换: (0001 1000 0101)BCD(185)10 (26)10(0010 0110)BCD,22,组合(亦称压缩)BCD码 用一个字节(分高4位和低4位)表示2个十进制位,即用4个二进 制位 0000B1001B表示09。 例如:十进制数6429的压缩BCD码表示为 0110 0100 0010 1001 B(即6429H) 分离(亦称非压缩)BCD码 用一个字节表示1个十进制位。其中,低4位与压缩BCD码 相同,高4位无意义。 例如:十进制数6429的非压缩BCD码表示为 xxxx0110 xxxx0100 xxxx0010 xxxx1001 B 注意,数字字符 09 的ASCII码可以被称为09的 非压缩BCD码。,23,ASCII码(主要用于计算机通信),采用7位二进制编码(称标准ASCII码),共表示128个字 符。其中,33个为不可打印/显示的控制字符,95个为可打印字符。 在计算机中,一个ASCII码占一个字节,其最高位在信息 交换时常用作为奇偶校验位,但读取字符时,规定把它当作0。 数字字符09的ASCII码为30H39H,大写字母字符AZ的ASCII码为4AH5AH。 扩展ASCII码:采用8位二进制编码,共表示256个字符。其中,前128个同标准ASCII码,后128个为图形符号。,24,1.5 逻辑运算,“与”运算(AND) 用符号“”或符号“”表示,真值表如下: “或”运算(OR) 用符号“+”或“”表示。运算规则如下:,25,“非”运算(NOT) 如果变量为A,则“非”运算为 。运算规则如下:,26,“异或”运算(XOR) “异或”可用符号 或者 来表示,运算规则如下:,27,1.6 小 结,本章主要内容小结及基本要求: 掌握不同进制:十进制、二进制、八进制和十六进制。 微型计算机由微处理器、存储器、以及I/O接口组成 。 无符号数和有符号数在计算机中的表示及运算。 引入补码的原因。 8421BCD码是一种二进制编码的十进制数。 ASCII码是字符的二进制编码。,28,第二章 微处理器,29,第二章 8086/8088微处理器,2.1 8086/8088 CPU概述 2.2 8086 CPU的内部结构 2.3 8086 存贮器结构 2.4 8086 输入输出结构 2.5 8086 堆栈 2.6 逻辑运算 2.7 8086 在最小模式和最大模式下的典型配置 2.8 8086 的操作和总线时序 2.9 小结,30,2.1 8086/8088 CPU概述,INTEL8086/8088属于第三代处理器,除了数据 总线宽度不同外,这两种微处理器在其他方面几乎完 全一样。8086/8088具有20位地址总线,直接寻址能力 达约1M字节。 8086/8088能适应各种不同的环境,具 有两种不同的工作模式。(最大模式和最小模式),31,1 2 3 4,内部暂存器,IP,ES,SS,DS,CS,输入/输出控制电路,外部总线,执行部分控制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令队列,执行部件 (EU),总线接口部件 (BIU),16位,20位,8位,8位,ALU数据总线,队列总线,1、总线接口单元 BIU (Bus Interface Unit) 1) 功能:负责与 M、I/O 端口传送数据。具体讲: 总线接口部件要从内存 取指令送到指令队列; CPU执行指令时,要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件EU; 或把执行部件的操作结果传给指定的M或I/O口。,1 2 3 4 5 6,2.1 8086的内部结构,32,1 2 3 4,内部暂存器,IP,ES,SS,DS,CS,输入/输出控制电路,外部总线,执行部分控制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令队列,执行部件 (EU),总线接口部件 (BIU),16位,20位,8位,8位,8086的内部结构,ALU数据总线,队列总线,2、EU (Execution Unit) 1)、 功能:负责指令执行。 2)、 组成: 4个通用寄存器:AX、BX、CX、DX 4个专用寄存器:BP、SP、SI、DI, 标志寄存器(PSW): 9个标志位,其中6个条件标志位用于存放结果状态,3个控制位。 算术逻辑单元: 16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算, EU 控制电路: 接受从总线接口单元的指令队列中取来的指令代码,其译码和向 EU 内各有关部分发出时序命令信号,协调执行指令规定的操作。,33,8088的指令执行过程,34,AH,AL,BH,BL,CH,CL,DH,DL,SP,BP,SI,DI,IP,FR(PSW),CS,DS,SS,ES,AX,BX,CX,DX,累加器,基址,计数,数据,数据寄存器,0,15,0,7,8,15,0,15,0,15,附加(数据)段,堆栈段,数据段,代码段,段寄存器,指令指针,状态/控制标志,控制寄存器,堆栈指针,基址指针,源变址,目的变址,地址指针寄存器,变址寄存器,通,用,寄,存,器,35,1、通用寄存器 (1)数据寄存器 AX、BX、CX、DX 作为通用寄存器。 用来暂存计算过程中所用到的操作数,结果或其它信息。 访问形式: 可以用16位的访问; 或者可以用字节(8位)形式访问, 它们的高8位记作 : AH 、 BH 、 CH 、 DH 。 它们的低8位记作 : AL 、BL 、CL 、DL 。,AX(Accumulator)作为累加器。 它是算术运算的主要寄存器, 所有I/O指令都使用这一寄存器与外部设备交换数据。 例: IN AL , 20H OUT 30H , AX,36,BXBase 常用作基址寄存器。 在计算内存储器地址时,经常用来存放基址。 例:MOV AX, BX+03H CXCounter常用作计数寄存器。 在循环LOOP指令和串处理指令中被规定用作计数器。 例: MOV CX , 8 AGAIN: LOOP AGAIN ;(CX)-1(CX), 若(CX) 0, 转AGAIN。,DXData常用作数据寄存器。 一般在双字乘除法运算时, 把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位; 对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。 例: MUL BX ; (AX)(BX)(DX)(AX) 例: IN AL , DX,37,(2)地址指针与变址寄存器: SP、BP、SI、DI 四个16位寄存器。 只能以字为单位在运算过程中存放操作数, 经常用以在段内寻址时提供偏移地址。 段起始地址 段内偏移地址 段地址 : 指 某段起始单元地址的高16位值。 偏移地址: 指段内某内存单元相对于该段起始单元的偏移值。,其低4位值为 0000B,38,SP(stack pointer 堆栈指针寄存器 用来指示当前堆栈栈顶的偏移地址, 必须与SS段寄存器联合使用,以确定实际地址。 堆栈和指针如下页图所示。 BP(base pointer)基址指针寄存器 可以与SS寄存器联合使用来确定堆栈段中某一存储器单元的地址,在某些间接寻址中,用来存放堆栈段内某存储单元的偏移地址 。 变址寄存器(SI 、 DI) 使用场合:常用于变址寻址方式中的地址运算。 SISource Index Register 源变址寄存器。 DIDestination Index Register 目的变址寄存器 一般与DS联用,用来确定数据段中某一存储单元的地址, SI , DI具有自动增量和自动减量功能. 例:MOV AX, SI,39,堆栈: 一组特别划分出来的存储区,用来暂存一批 需要回避的数据或地址。 操作(存取)原则:“后进先出” 一个堆栈段的最大深度为64KB SP和BP在使用上的区别: 执行堆栈指令PUSH和POP时,指令地址是由SP给出当前栈顶的偏移地址,故将SP称为堆栈指针寄存器。 BP则是用来存放位于堆栈段中的一个数据区基址的偏移地址的,故将BP称做基址指针寄存器。,40,8086系统存储器与总线的连接,堆栈和堆栈指针,设: ( SS)=3F00H,(SP)=0060H,堆栈和指针如下图: 堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动,严格按照后进先出的工作原则。,数据总线,地址总线,D15 D0,1 MB 存储器,A19 A0,00000H,FFFFFH,A19 0,a1,a0,栈底,4EFFFH,3F060H,(SP)=60H,3F000H,(SS)=3F00H,41,在串处理指令中,SI、DI被规定为(隐含) 源变址和目的变址寄存器,以达到分别在数据段和附加段中寻址的目的。 执行示意图如右图。 例: MOV SI , 2000H MOV DI , 3000H MOV CX, 100H CLD MOVSB .,3000H:2000H,3000H:2100H,5000H:3000H,5000H:3100H,DS:2000H DS:20FFH,ES:3000H ES:30FFH,(DS),(SI),(ES),(DI),存储器,串处理指令执行示意图,42,2、段寄存器 段寄存器: 4个16位的段寄存器CS、DS、SS、ES。 用来识别当前可寻址的四个段。 CSCode Segment Register 代码段寄存器 用来识别当前代码段(程序一般放在代码段)。 DSData Segment Register数据段寄存器 用来识别当前数据段寄存器。 SSStack Segment Register堆栈段寄存器, 用来识别当前堆栈段。 ESExtra Segment Register附加段寄存器, 用来识别当前附加段。,43,3、控制寄存器: IP 、 FLAG IPInstruction Pointer指令指针寄存器 用来存储代码段中的偏移地址; 程序运行过程中IP始终指向下一次要取出的指令偏移地址。 IP要与CS寄存器相配合才能形成真正的物理地址。 FR( FLAG REGISTER , 亦称PSW程序状态字 ) 标志寄存器, 16位, 两个字节。 由条件码标志和控制标志构成。 只用了其中的9位, 6位条件码标志 , 3位控制标志。 如下图表示。,44,OF,DF,IF,TF,SF,ZF,AF,PF,0,15,2,4,5,6,7,8,9,10,条件码标志: 用来记录程序中运行结果的状态信息作为 后续条件转移指令的转移控制条件。称为条件码。 条件码包括6位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。, CF(Carry Flag)进位标志 CF=1:记录运算时从最高有效位产生进位值。 CF=0:记录运算时从最高有效位不产生进位值。,CF,45,OF,DF,IF,TF,SF,ZF,0,15,2,4,5,6,7,8,9,10,CF,PF, PF (Parity Flag) 奇偶标志 PF=1: 结果操作数低8位中有偶数个1。 PF=0: 结果操作数低8位中有奇数个1。 用来为机器中传送信息时可能产生代码出现情况提供检验条件。,AF, AF(Auxiliary Carry Flag)辅助进位标志 AF=1:记录运算时第3位(半个字节)产生进位值。 AF=0:记录运算时第3位(半个字节)不产生进位值。,46,DF,IF,TF,AF,PF,0,15,2,4,5,6,7,8,9,10,CF,ZF,SF, SF(Sign Flag)符号标志 SF=1:记录运算结果的符号为负。 SF=0:记录运算结果的符号为正。, OF(Overflow Flag)溢出标志(一般指补码溢出) OF=1:在运算过程中操作数超过了机器表示的范围称为溢出。 OF=0:在运算过程操作数未超过机器能表示范围称为 不溢出。 字节允许范围 -128+127, 字运算范围 -32768+32767 。,OF, ZF(Zero Flag)零标志 ZF=1:运算结果为0。 ZF=0:运算结果不为0。,47,OF,DF,IF,SF,ZF,AF,PF,0,15,2,4,5,6,7,8,9,10,CF,控制标志: 对控制标志位进行设置后, 对其后的操作起控制作用。 控制标志位包括3位: TF、 IF 、 DF 。 跟踪(陷阱)标志TF、中断标志IF 、方向标志 DF 。 TF (Trap Flag) 跟踪(陷阱)标志位 TF=1 ,每执行一条指令后,自动产生一次内部中断, 使CPU处于单步执行指令工作方式,便于进行程序调试, 用户能检查程序。 TF=0, CPU正常工作,不产生陷阱。,TF,48,OF,SF,ZF,AF,PF,0,15,2,4,5,6,7,8,9,10,CF,TF,IF(Interupt Flag)中断标志 位 IF=1, 允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。 IF=0, 关闭中断。CPU禁止响应可屏蔽中断请求。 IF的状态对不可屏蔽中断和内部软中断没有影响。 DF(Direction Flag)方向标志位 DF=1, 每次串处理操作后使变址寄存器SI和DI减量, 使串处理从高地址向低地址方向处理。 DF=0, 每次串处理操作后使变址寄存器SI和DI增量, 使串处理从低地址向高地址方向处理。 DF方向标志位是在串处理指令中控制处理信息的方向用的。,IF,DF,49,控制信息: 由系统程序或用户程序根据需要用指令来设置的。 状态信息: 由中央处理器,根据计算结果自动设置的, 机器提供了设置状态信息指令, 必要时,程序员可以用这些指令来建立状态信息。,50,1. 存储单元的的内容:一个存储单元有效的信息。,字长是16位,大部分数据以字节为单位表示 一个字存入存储器占有相继的二个单元: 低位字节存入低地址,高位字节存入高地址。 字单元的地址采用它的低地址来表示。 例: 字单元 :(0004H)=1234H, 字节单元 :(0004H)=34H 同一个地址既可看作字节单元地址, 又可看作字单元地址,要根据使用情况确定。 字单元地址:可以是偶数也可以是奇数,,2.3 8086存储器组织,51,逻辑段的分配,52,2。8086 CPU和存储器或I/O端口之间传送数据 8086数据总线是16位的。 字数据的读/写操作 (a)字操作数存放在偶地址开始两个存储单元 或两个 I/O端口中: 即操作数字的低8位 在偶地址单元或 在偶地址端口; 操作数字的高8位 在奇地址单元或在奇地址端口。 在一个总线周期内完成16位数据传送 (通常4个时钟周期),53,对应的偶地址单元/偶地址端口数据通过数据总线低8位传输。 对应的奇地址单元/奇地址端口数据通过数据总线高8位传输。,字数据读/写偶地址字操作如下图:,54,操作数存放在奇地址开始两个存储单元或两个 I/O端口中,读/写奇地址字,在第一个总线周期中: 对应于奇地址单元或奇地址端口字节(操作字低8位)通过数据总线高8位进行传输,而数据总线低8位处于空闲状态;,在第二个总线周期中: 对应于偶地址单元或偶地址端口字节(操作字高8位)通过数据总线低8位进行传输,而数据总线高8位处于空闲状态.,由此可见, 操作数存放在奇地址开始两个存储单元/两个 I/O端口中进行数据传输,8086需要二个总线周期。,55,定义:段的起始地址的高16位称为该段的段地址。 1MB的存储空间可以有216个段地址 任意两个相邻的段地址相距16个存储单元。,00000H,00010H,00020H,10000H,10010H,10020H,存储器段的覆盖示意图, , , , ,段0,段1,段2,56, 20位物理地址的形成 物理地址: 就是存储单元的实际地址编码。 在1M字节存储器里,每个存储单元都有一个惟一的20位地址作为该存储单元的物理地址。 CPU访问存储器时,必须先确定所要访问的存储单元的物理地址才能取出(或存入)该单元中的内容。 偏移地址:就是指段内任意一个存储单元,其相对于段起始地址的偏移量,也称为有效地址EA,这是一个16位的地址。 逻辑地址: 段地址:偏移地址 将16位段地址与16位偏移地址错位相加便得到 20位的物理地址! 即 物理地址 = 段地址 16d + 偏移地址 如 2008H:0123H单元的物理地址为201A3H,57,58,CPU要为每个I/O端口分配一个地址,它与存储器地址一样,具有唯一性。 有两种编址方法: 1。存储器映象: 将I/O端口地址置于1MB的存储器空间中,把它们看成是存储单元对待,端口操作灵活,但因其占用一些存储空间,影响速度。 2。独立编址: 有专门输入输出指令对其操作,将地址总线的低16位当作端口的地址。,2.4 8086输入输出组织,59,2.5 8086堆栈,1 堆栈的概念 所谓堆栈 ,实际上就是在存储器中专门开辟的一个用来暂存数据或地址的存储区域。它是遵循“后进先出”或“先进后出”的原则。 2 堆栈的作用 1)保护断点或现场 2)保护数据 3)变量传输 3 堆栈操作的种类 1)压入 PUSH SP递减 2)弹出 POP SP递增 注意:8086的堆栈操作均属于字类型操作。,60,第2章:2.6 8086CPU的引脚及功能,外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:,指引脚信号的定义、作用;通常采用英文单词或其缩写表示,信号从芯片向外输出,还是从外部输入芯片,或者是双向的,起作用的逻辑电平高、低电平有效上升、下降边沿有效,输出正常的低电平、高电平外,还可以输出高阻的第三态, 有效电平, 三态能力, 信号的流向, 引脚的功能,61,一、 8086的两种工作模式,两种模式构成两种不同规模的应用系统 最小工作模式 构成小规模的应用系统,只有1片CPU 8088本身提供所有的系统总线信号 最大工作模式 构成较大规模的应用系统,至少有2片CPU,例如可以接入数值协处理器8087 8088和总线控制器8288共同形成系统总线信号,62,两种组态利用MN/MX*引脚区别 MN/MX*接高电平为最小组态模式 MN/MX*接低电平为最大组态模式 两种组态下的内部操作并没有区别 IBM PC/XT采用最大组态 本书以最小组态展开基本原理,63,二、8088的引脚图,64,三、 最小组态的引脚信号,分类学习这40个引脚(总线)信号 数据和地址引脚 读写控制引脚 中断请求和响应引脚 总线请求和响应引脚 其它引脚,65,AD7 AD0(Address/Data) 地址/数据分时复用引脚,双向、三态 在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7 A0 其他时间用于传送8位数据D7 D0,66,A15 A8(Address) 中间8位地址引脚,输出、三态 这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A15 A8,67,A19/S6 A16/S3(Address/Status) 地址/状态分时复用引脚,输出、三态 这些引脚在访问存储器的第一个时钟周期输出高4位地址A19 A16 在访问外设的第一个时钟周期全部输出低电平无效 其他时间输出状态信号S6 S3,68,ALE(Address Latch Enable) 地址锁存允许,输出、三态、高电平有效 ALE引脚高有效时,表示复用引脚:AD7 AD0和A19/S6 A16/S3正在传送地址信息 由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来,69,IO/M*(Input and Output/Memory) I/O或存储器访问,输出、三态 该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15 A0提供16位I/O口地址 该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19 A0提供20位存储器地址,70,WR*(Write) 写控制,输出、三态、低电平有效 有效时,表示CPU正在写出数据给存储器或I/O端口 RD*(Read) 读控制,输出、三态、低电平有效 有效时,表示CPU正在从存储器或I/O端口读入数据,71,IO/M*、WR*和RD*是最基本的控制信号 组合后,控制4种基本的总线周期,72,READY 存储器或I/O口就绪,输入、高电平有效 总线操作周期中,CPU会测试该引脚 如果测到高有效,CPU直接进入下一步 如果测到无效,CPU将插入等待周期 等待周期中仍然要监测READY信号,确定是否继续插入等待周期,73,DEN*(Data Enable) 数据允许,输出、三态、低电平有效 有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动 DT/R*(Data Transmit/Receive) 数据发送/接收,输出、三态 该信号表明当前总线上数据的流向 高电平时数据自CPU输出(发送) 低电平时数据输入CPU(接收),74,SS0*(System Status 0) 最小组态模式下的状态输出信号 它与IO/M*和DT/R*一道,通过编码指示CPU在最小组态下的8种工作状态: 1. 取指 5. 中断响应 2. 存储器读 6. I/O读 3. 存储器写 7. I/O写 4. 过渡状态 8. 暂停,75,INTR(Interrupt Request) 可屏蔽中断请求,输入、高电平有效 有效时,表示请求设备向CPU申请可屏蔽中断 该中断请求是否响应受控于IF(中断允许标志)、可以被屏蔽掉,76,INTA*(Interrupt Acknowledge) 可屏蔽中断响应,输出、低电平有效 有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期,77,NMI(Non-Maskable Interrupt) 不可屏蔽中断请求,输入、上升沿有效 有效表示外界向CPU申请不可屏蔽中断 该中断请求不能被CPU屏蔽,所以优先级别高于INTR(可屏蔽中断),主机与外设进行数据交换通常采用可屏蔽中断 不可屏蔽中断通常用于处理掉电等系统故障,78,HOLD 总线保持(即总线请求),输入、高电平有效 有效时,表示总线请求设备向CPU申请占有总线 该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权,79,HLDA(HOLD Acknowledge) 总线保持响应(总线响应),输出、高电平有效 有效表示CPU已响应总线请求并已将总线释放 此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线 待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权,80,RESET 复位请求,输入、高电平有效 该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作 8088复位后CSFFFFH、IP0000H,所以程序入口在物理地址FFFF0H,81,CLK(Clock) 时钟输入 系统通过该引脚给CPU提供内部定时信号 8088的标准工作时钟为5MHz IBM PC/XT机的8088采用了4.77MHz的时钟,其时钟周期约为210ns,82,Vcc 电源输入,向CPU提供5V电源 GND 接地,向CPU提供参考地电平 MN/MX*(Minimum/Maximum) 组态选择,输入 接高电平时,8088引脚工作在最小组态;反之,8088工作在最大组态,83,TEST* 测试,输入、低电平有效 使用协处理器8087时,通过该引脚和WAIT指令,可使8088与8087的操作保持同步,84,四、“引脚” 小结,CPU引脚是系统总线的基本信号 可以分成三类信号 8位数据线:D0 D7 20位地址线:A0 A19 控制线: ALE、IO/M*、WR*、RD*、READY INTR、INTA*、NMI,HOLD、HLDA RESET、CLK、Vcc、GND,有问题!,85,2.7 8086在最小和最大 模式下的典型配置,(1)20位地址总线 采用3个三态透明锁存器8282进行锁存和驱动 (2)8位数据总线 采用数据收发器8286进行驱动 (3)系统控制信号 由8088引脚直接提供,补充,86,补充:三态门和D触发器,三态门和以D触发器形成的锁存器是微机接口电路中最常使用的两类逻辑电路 三态门的作用:功率放大、导通开关 器件共用总线时,一般使用三态电路: 需要使用总线的时候打开三态门; 不使用的时候关闭三态门,使之处于高阻 D触发器的作用:信号保持,导通开关,87,三态缓冲器(三态门),T为低电平时: 输出为高阻抗(三态) T为高点平时: 输出为输入的反相,三态门具有单向导通和三态的特性,88,常用集成电路芯片 74LS244,双4位单向缓冲器 分成4位的两组 每组的控制端连接在一起 控制端低电平有效 输出与输入同相,每一位都是一个三态门, 每4个三态门的控制端连接在一起,89,双向三态缓冲器,OE*0,导通 T1 AB T0 AB OE*1,不导通,双向三态门具有双向导通和三态的特性,90,Intel 8286,OE*0,导通 T1 AB T0 AB OE*1,不导通,每一位都是一个双向三态门, 8位具有共同的控制端,8位双向缓冲器 控制端连接在一起,低电平有效 可以双向导通 输出与输入同相,91,常用集成电路芯片 74LS245,8位双向缓冲器 控制端连接在一起,低电平有效 可以双向导通 输出与输入同相,E*0,导通 DIR1 AB DIR0 AB E*1,不导通,74LS245与Intel 8286功能一样,92,D触发器,电平锁存: 高电平通过,低电平锁存 上升沿锁存: 通常用负脉冲触发锁存,93,常用集成电路芯片 74LS273,具有异步清零的 TTL上升沿锁存器,每一位都是一个D触发器, 8个D触发器的控制端连接在一起,94,三态缓冲锁存器(三态锁存器),T,A,D Q C,B,95,Intel 8282,具有三态输出的 TTL电平锁存器 STB 电平锁存引脚 OE* 输出允许引脚,每一位都是一个三态锁存器, 8个三态锁存器的控制端连在一起,96,常用集成电路芯片 74LS373,具有三态输出的 TTL电平锁存器 LE 电平锁存引脚 OE* 输出允许引脚,74LS373与Intel 8282功能一样,97,最小模式的总线形成,98,1. 20位地址总线的形成,采用3个8282进行锁存和驱动 Intel 8282是三态透明锁存器,类似有Intel 8283和通用数字集成电路芯片373 三态输出: 输出控制信号有效时,允许数据输出; 无效时,不允许数据输出,呈高阻状态 透明:锁存器的输出能够跟随输入变化,99,2. 8位数据总线的形成,采用数据收发器8286进行双向驱动 Intel 8286是8位三态双向缓冲器,类似功能的器件还有Intel 8287、通用数字集成电路245等 另外,接口电路中也经常使用三态单向缓冲器,例如通用数字集成电路244就是一个常用的双4位三态单向缓冲器,100,3. 系统控制信号的形成,由8088引脚直接提供 因为基本的控制信号8088引脚中都含有 例如:IO/M*、WR*、RD*等 其它信号的情况看详图,101,第2章:2.8 8086的操作及总线时序,时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系 CPU时序决定系统各部件间的同步和定时 总线时序描述CPU引脚如何实现总线操作,什么是总线操作?,102,第2章:2.8 8088的总线时序(续1),总线操作是指CPU通过总线对外的各种操作 8088的总线操作主要有: 存储器读、I/O读操作 存储器写、I/O写操作 中断响应操作 总线请求及响应操作 CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti 描述总线操作的微处理器时序有三级 指令周期 总线周期 时钟周期,什么是指令、总线和时钟周期?,103,第2章:2.8 8088的总线时序(续2),指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程。若干总线周期组成一个指令周期 总线周期是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程 8088的基本总线周期需要4个时钟周期 4个时钟周期编号为T1、T2、T3和T4 总线周期中的时钟周期也被称作“T状态” 时钟周期的时间长度就是时钟频率的倒数 当需要延长总线周期时插入等待状态Tw CPU进行内部操作,没有对外操作时,其引脚就处于空闲状态Ti,何时有总线周期?,演示,104,第2章:2.8 8088的总线时序(续3),任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码 任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期 只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期 CPU响应可屏蔽中断时生成中断响应总线周期,如何实现同步?,105,第2章:2.8 8088的总线时序(续4),总线操作中如何实现时序同步是关键 CPU总线周期采用同步时序: 各部件都以系统时钟信号为基准 当相互不能配合时,快速部件(CPU)插入等待状态等待慢速部件(I/O和存储器) CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作,106,最小组态的总线时序,本节展开微处理器最基本的4种总线周期 存储器读总线周期 存储器写总线周期 I/O读总线周期 I/O写总线周期,107,存储器写总线周期,T1状态输出20位存储器地址A19 A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7 D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,108,I/O写总线周期,T1状态输出16位I/O地址A15 A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7 D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,109,存储器读总线周期,T1状态输出20位存储器地址A19 A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,110,I/O读总线周期,T1状态输出16位I/O地址A15 A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,111,等待状态Tw,同步时序通过插入等待状态,来使速度差别较大的两部分保持同步 在读写总线周期中,判断是否插入Tw 1. 在T3的前沿检测READY引脚是否有效 2. 如果READY无效,在T3和它T4之间插入一个等效于T3的Tw ,转1 3. 如果READY有效,执行完该T状态,进入T4状态,演示,112,第2章补充: 微机系统总线,微机系统采用总线结构。系统中主要部件通过系统总线相互连接、实现数据传输,并使微机系统具有组态灵活、易于扩展等诸多优点 广泛应用的总线都实现了标准化,便于互连各个部件时遵循共同的总线规范。接口的任一方只需要根据总线标准的要求来实现和完成接口的功能,而不必了解对方的接口方式 总线接口也是一种通用的接口技术,113,第2章补充: 微机总线概述,总线连接方法广泛用于微机系统的各个连接层次上 大规模集成电路芯片内部(如微处理器的内部总线) 主机板中微处理器、存储器及I/O接口电路之间,主机模板与各种接口模板之间 微机系统之间以及微机系统与外部设备之间,114,第2章补充: 芯片总线(Chip Bus),一个大规模集成电路芯片内部,或一个较小系统中各种不同器件连接在一起的总线;用于芯片级互连 芯片总线也称为局部总线(Local Bus) 微处理器的引脚信号就是芯片总线 微处理器内部的控制器、运算器、寄存器之间,还有系统主机板上CPU、存储器、接口电路等之间通常就是利用芯片级总线互连的,图示,115,第2章补充: 内总线(Internal Bus),微机系统中模板与模板间连接的总线,是微机系统所特有的总线;用于模板级互连 内总线也被称为板级总线或系统总线(Syst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保密协议书补偿金
- 公司投资合作协议书
- 承包商安全协议书
- 保密及竞业禁止协议书
- 应用程序协议书
- 《量一量比一比》(教学设计)-二年级上册数学
- 2024年五年级数学下册 1 观察物体配套说课稿 新人教版
- 活动一 小猪怎样盖房子教学设计-2025-2026学年小学综合实践活动一年级上册沪科黔科版
- 安全知识培训员工心得课件
- 中国联通阿里市2025秋招笔试行测题库及答案供应链采购类
- 完整版人教版六年级英语上册第二单元知识点归纳总结及作文范文
- DZ∕T 0338.1-2020 固体矿产资源量估算规程 第1部分 通则(正式版)
- 银行理财推广营销方案
- 医院培训课件:《中医护理技术质量与安全管理》
- 历史课程中的跨学科教学与学科整合
- 移情训练法移情训练法
- 《大卫 科波菲尔(节选)》《复活》《老人与海》《百年孤独》 统编版高中语文选择性必修上册
- 展厅施工方案表
- 深圳南山风险投资基金
- 监护仪使用及报警设置
- 通过模拟实验探究膜的透性 说课课件
评论
0/150
提交评论