




已阅读5页,还剩96页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第二章 80x86微处理器 第三章 半导体存储器 第四章 8086指令系统 第五章 汇编语言程序设计 第六章 输入/输出接口 第七章 通信接口技术 第八章 定时/计数技术 第九章 中断系统 第十章 模拟接口电路,2,第一节 8086/8088微处理器的结构 一、复习微型计算机结构 二、简介 三、 8086/8088的编程结构 1. 总线接口部件 2. 执行部件 3. 工作原理 四、8086/8088的寄存器组 五、8086/8088的存储器组织 1. 内存物理地址的形成 2. 逻辑地址与物理地址 3. 各段在存储器中分配 4. 内存单元内容的存放及表示 六、8086/8088的i/o组织,3,1、微型计算机外部结构 微型计算机外部结构如下图所示(三总线结构),微型计算机外部结构,由上图看出,微机与外部交换信息通过总线控制。 采用三总线结构ab、db、cb. 三组总线: 地址总线 ab(address bus): 通常20位,单向,a19a0,可寻址220=1mb内存单元。 a15a0,可寻址 216=64kb外设接口。 数据总线 db(data bus): 通常16位, d15d0 ,双向,实现cpu 与i/o 传送。 控制总线 cb(control bus):传送控制信号。,2、 微型计算机内部结构 由于cpu受成品率,成本,集成在单片上等原因。 严格规定引脚数就限制了总线的数量。 外部采用三总线结构ab、db、cb。 内部采用单总线 , 即内部所有单元电路都挂在内部总线上,分时使用总线。,微处理器内部主要由四部分组成: (1) 内部寄存器阵列 用来寄存参与运算的数据(8位), 经常可以连成寄存器对(16位)用来存放操作数地址。 16位专用寄存器 如: 程序计数器pc,堆栈指针sp (2) 累加器和算术逻辑单元 对数据进行算术运算、逻辑运算场所, 运算结果 标志触发器记忆 或送某个寄存器等等。,(3) 指令寄存器、指令译码器、定时及各种控制信号产生电路 把用户程序中的指令一条条译出来, 然后以一定时序发出相应的控制信号。 (4) 内部采用单总线结构 在任何时候只有一个内部设备能使用内部总线, 各设备之间必须分时使用内部总线,因而速度受到影响。 只有要求速度高的位片机(通常用双级型集成电路)中, 采用内部多总线结构。,9,二、8086/8088简介 8086 : 对外有16根数据线,20根地址线 可寻址的内存单元数 220 = 1m 内存地址范围(16进制形式): 00000h fffffh 8088 : 内部寄存器、运算部件及 内部操作均按16位设计, 除对外数据线为8根外,其余与8086基本相同。 为与当时已有的8 位外设接口芯片兼容。 ibm pc、ibp pc/xt 采用8088cpu,8086cpu结构特点小结: (1) 内部结构 是16位的 (内部寄存器,内部运算部件,内部操作按 16位设计); (2)外部数据总线16条,能处理16位数据,也能处理8位数据; (具有16位运算指令,包括*、/指令) (3) 20条地址总线,直接寻址能力1m字节; (4) 40条引线封装; (5) 单相时钟; (6) 电源为5v。 8086与8088的主要区别在于8088的外部数据总线8位。,11,三、8086/8088的编程结构 编程结构: 指从程序员和使用者的角度看到的结构。 与芯片内部的物理结构和实际布局有区别。,某cpu芯片内部实物图,12,1. 总线接口部件biu (bus interface unit) 运输部门 2. 执行部件eu (execute unit) 加工部门 3. 工作原理,8086 编程结构,8086 编程结构:,13,1. 总线接口部件 biu 构成部分 4个16位段寄存器: cs,ds,es,ss 16位ip指令指针寄存器 20位 地址加法器 6字节的指令队列 ( 8088的指令队列为4字节 ) 总线控制电路(包括三组总线): 处理器与外界总线联系的转接电路。,主要功能 负责与存储器、i/o接口传递数据 具体完成: (1)从内存取指令,送到指令队列; (2)配合执行部件从指定的内存单元 或i/o端口取数据; ( 3)将执行部件的操作结果送到 指定的内存单元或i/o端口。,三点说明: 指令队列 8086 的指令队列为6个字节, 8088 的指令队列为4个字节。 biu 具有预取指令的功能,是一种先进先出(fifo)的数据结构。 不论是8086还是8088都会在执行指令的同时从内存中取下一条或几条指令, 取来的指令放在指令队列中. 指令执行顺序 顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。 执行转移指令: biu 清除指令队列中的内容,从新的地址取入指令, 立即送往执行单元,然后再从新单元开始重新填满队列。,15,2执行部件eu 构成部分: 8个16位寄存器: ax、bx、cx、dx sp、bp、di、si 1个标志寄存器flags 1个算术逻辑运算部件alu 主要功能 执行部件负责指令的执行。 (包括算术、逻辑运算,控制命令等),ip,数据暂存器,执 行 部 件 控 制 电 路,指令译码器,总线 接口 控制 电路,ax bx cx dx,寄存器组,biu,ab,db,cb,地 址 加 法 器,指 令 队 列,psw 标志寄存器,eu,运 算 器,ds,es,ss,cs,ip,数据暂存器,执 行 部 件 控 制 电 路,指令译码器,总线 接口 控制 电路,ax bx cx dx,寄存器组,biu,ab,db,cb,地 址 加 法 器,指 令 队 列,flags 标志寄存器,eu,运 算 器,16,3. 工作原理 计算机的工作过程是: 取指令, 执行指令,cpu 总线 内存,psw标志 寄存器,执行部件控制电路,17,总线接口部件和执行部件 可并行工作,提高工作效率。 指令的提取和执行分别 由biu和eu完成。 biu和eu相互独立又相互配合 (1) 当指令队列有两个空字节时, biu自动把指令取到指令队列中 (2) 执行部件总是从指令队列前部 提出指令去执行。 (3) 如果在执行指令的过程中, 需要访问内存或i/o端口, eu会请求biu去完成存取操作。,8086 编程结构,biu,eu,18,由于有指令队列的存在, 在eu执行指令的同时,biu可取指令, 即biu和eu可处于并行工作状态。,biu eu,19,四、8086/8088的寄存器组 共有14个16位寄存器, ax,bx,cx,dx,si,di,sp,bp,ds,es,ss,cs,flags,ip. 其中: ax、bx、cx、dx 又可分成两个 8 位寄存器 (ah,al;bh,bl;ch,cl; dh,dl.) 其它10个只能作为16位寄存器。,20,2. 8086、8088内部有 14个16位寄存器 按功能分为三类: 通用寄存器 段寄存器 控制寄存器 通用寄存器分为三类: 数据寄存器:ax,bx,cx,dx 地址指针寄器:sp,bp 变址寄存器:si,di flags中: 6 位状态标志: of,sf,zf,cf,pf,af 3位控制标志: tf,if,df,21,1、通用寄存器 通用寄存器包括: 数据寄存器、地址指针寄存器、变址寄存器。 数据寄存器包括: ax 、bx 、cx 、dx 。 地址指针寄存器包括: sp 、 bp 。 变址寄存器包括: si 、 di 。 2、段寄存器 段寄存器包括: cs 、 ss 、 ds 、 es 。 3、控制寄存器 控制寄存器包括:ip 、flags。,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 bxbase用作基址寄存器使用。 在计算内存储器地址时,经常用来存放基址。 例: mov ax, bx+03h,cxcount可以作计数寄存器使用。 在循环loop指令和串处理指令中用作隐含计数器。 例: mov cx , 200h again: loop again ;(cx)-1(cx),结果0转again dxdata可以作为数据寄存器使用。 一般在双字长乘除法运算时, 把dx和ax组合在一起存放一个双字长(32位)数,dx用来存放高16位; 对某些i/o操作dx可用来存放i/o的端口地址(口地址 256)。 例: mul bx ; (ax)(bx)(dx)(ax) 例: in al , dx,(2)地址指针与变址寄存器: 段起始地址 sp、bp、si、di 四个16位寄存器。 以字为单位在运算过程中存放操作数, 经常用以在段内寻址时提供偏移地址。 段内偏移地址 段地址 :只取段起始地址高16位值。 偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。,高16位值 0000b,27,地址指针寄存器(sp 、 bp ) sp(stack pointer)堆栈指针寄存器 用来指示栈顶的偏移地址, 必须与ss段寄存器联合使用确定实际地址。 堆栈和指针如下页图所示。 bp(base pointer)基址指针寄存器 可以与ss寄存器联合使用来确定堆栈段中某一存储器单元地址。,8086系统存储器与总线连接,堆栈和指针,设: ( ss)=3f00h,(sp)=0060h堆栈和指针如下图: 堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动, 严格按照后进先出的工作原则。,变址寄存器(si 、 di) sisource index register 源变址寄存器。 didestination index 目的变址寄存器。 使用场合:常用于变址寻址。 一般与ds联用,用来确定数据段中某一存储单元的地址, si , di具有自动增量和自动减量功能. 例: mov ax, si,在串处理指令中,si、di作为隐含的源变址和目的变址寄 存器分别达到在数据段和附加段中寻址的目的。 执行示意图如右图。 例: mov si , 2000h mov di , 3000h mov cx, 100h cld movsb .,串处理指令执行示意图,2、段寄存器 段寄存器: 4个16位段寄存器cs、ds、ss、es。 用来识别当前可寻址的四个段,不可互换的使用。 cscode segment register 代码段寄存器 用来识别当前代码段(程序一般放在代码段)。 dsdata segment register数据段寄存器 用来识别当前数据段寄存器。 ssstack segment register堆栈段寄存器, 用来识别当前堆栈段。 esextra segment register附加段寄存器, 用来识别当前附加段。,3、控制寄存器 控制寄存器:ip 、 flags ipinstruction pointer指令指针寄存器 用来存储代码段中的偏移地址; 程序运行过程中ip始终指向下一次要取出的指令偏移地址。 ip要与cs寄存器相配合才能形成真正的物理地址。 flags 标志寄存器, 16位寄存器,只用了其中9位。 由条件码标志flag、控制标志构成。 (6位状态标志 , 3位控制标志)。 如下表示。,33,9个标志按其作用分状态标志和控制标志两类 状态标志:of、sf、zf、af、pf、cf 共6个 记录指令运行过程或运算结果的状态信息。 常作为后续转移指令的控制条件,又称为条件码。 控制标志: df、if、tf 共3个 作用是控制cpu 的操作。,16位寄存器,用了其中的9位,其它7位在8086/8088中无意义。,标志寄存器flags,34,各状态标志的含义:,cf:进位标志(carry flag) 反应运算过程中,最高位是否产生进位/借位。 (最高位 对字节操作指d7位 ,对字操作指d15位) 加法,最高有效位有进位cf1,否则cf0 减法,最高有效位有借位cf1,否则cf0 af:辅助进位标志(auxiliary carry flag) 反应运算过程中,对字节操作d3位 是否产生进位。 对字操作d7位是否产生进位。 有进位或借位时,af1,否则af0。,35,zf:零标志(zero flag) 反应运算结果是否为0。 运算结果为 0 时,zf1,否则zf0 sf:符号标志(sign flag) 反应运算结果的符号位。 对字节操作 sfd7 对字操作 sfd15,36,of:溢出标志(overflow flag) 反应运算过程中是否产生溢出。 产生溢出,of1,否则为0。 pf:奇偶标志(parity flag) 反应运算结果中“1”的个数情况。 有偶数个“1”时,pf1, 否则pf0。,37,1 0 1 1 0 1 0 1 被加数8位 + 1 0 0 0 1 1 1 1 加数8位 进位 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 和8位,psw 标志寄存器,运 算 器,标志 寄存器,运 算 器,被加数,加数,和,进位,例 8位二进制加法如下,给出各状态标志位的值,最高位d7位产生进位: cf = 1 d3位产生进位: af = 1 相加的结果为44h, 不为0: zf = 0 结果的最高位为0: sf = 0 两负数相加结果为正,溢出: of = 1 结果中有2个1,偶数个1: pf = 1,1 0 0 1 1 1,38,各控制标志作用(以后用到再介绍):,df:方向标志 在串操作指令中控制地址变化的方向。 当df1时,地址递减;当df时,地址递增。 if:中断标志 当if1时,允许cpu响应可屏蔽中断申请。 当if时,禁止cpu响应可屏蔽中断申请。 tf:跟踪标志 为调试程序设置的一个控制标志。 当tf1时,cpu按单步方式执行指令。,39,调试程序debug debug.exe 是 dos提供的一个调试汇编语言程序的程序 每个版本的dos都带有该程序。 debug程序采用的是命令行方式 使用不方便,但实用性强. 是学习汇编语言程序、计算机硬件等课程的有效工具. 其他调试程序: turbo debugger ( td.exe ) code view softice,40,debug 主要命令一览,41,debug程序的具体作用: 1. 查看/修改寄存器, 内存单元的内容; 2. 学习寻址方式和指令系统 ; 3. 了解计算机取指令, 执行指令的工作过程; 4. 调试有问题的汇编语言程序。,42,注意:debug下符号与标志的对应关系,43,d:debug ;进入debug -r ;查看当前各寄存器的内容 ax=0000 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000 ds=1271 es=1271 ss=1271 cs=1271 ip=0100 nv up ei pl nz na po nc 1271:0100 b83412 mov ax,1234 -d 0 : 0 ;查看0:07fh内存块的内容 0000:0000 9e 0f c9 00 65 04 70 00-16 00 eb 07 65 04 70 00 e.p.e.p. 0000:0010 65 04 70 00 54 ff 00 f0-58 7f 00 f0 f5 e7 00 f0 e.p.t.x 、 -u ffff : 0 ;反汇编ffff:0 处的指令 ffff:0000 cd19 int 19 ffff:0002 e000 loopnz 0004 、,课后可参照下列步骤做实验:,44,-a ;汇编一条指令 1271:0100 mov ax,1234 1271:0103 -t =100 ;执行该指令 ax=1234 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000 ds=1271 es=1271 ss=1271 cs=1271 ip=0103 nv up ei pl nz na po nc 1271:0103 e9c300 jmp 01c9 -r ;查看指令执行后结果 ax=1234 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000 ds=1271 es=1271 ss=1271 cs=1271 ip=0103 nv up ei pl nz na po nc -q ;退出debug d:,45,五、8086/8088的存储器组织 1. 内存物理地址的形成 2. 逻辑地址与物理地址 3. 各段在存储器中分配 4. 内存单元内容的存放及表示,46,1. 内存物理地址的形成 取指令、取数、存数时,都要访问内存, 被访问内存单元的地址由cpu提供。,寄存器组,、 指令1 指令2 指令3 指令4 、 数据1 数据2 数据3 、,ds,es,ss,cs,ip,数据暂存器,标志 寄存器,执行部件控制电路,指令译码器,ax bx cx dx,ah,bh,ch,dh,si,di,bp,sp,al,bl,cl,dl,指 令 队 列,总线 接口控制电路,运 算 器,地址加法器,地址总线ab,数据总线db,控制总线cb,地 址 译 码 器,47,8086/8088有20根地址线, 可寻址220 =1m个内存单元, 而cpu内部寄存器均为16位, 故: 20位的地址需由 一个附加部件完成。 这个部件就是地址加法器。,8086 编程结构,biu, 8086内部20位物理地址形成 存储器地址分段 8086地址总线是20位的,cpu中的寄存器是16位的, 20位地址无法用16位寄存器表示,必须分段。 程序员在编制程序时把存储器划分成段。 段内地址16位,每个段的大小最大可达64kb; 实际可以根据需要来确定段大小,可以是1,100,1000, 在64k范围内的任意字节数。 ibm pc机对段的起始地址有限制,即段不能从任意地址开始: 必须从任一小段(paragraph)的首地址开始。, 小段的概念 从0地址开始每16字节为一小段, 对于20位地址总线,段内存储器小段地址如下: 如: 00000h,00001h,00002h,0000eh,0000fh一个小段 00010h,00011h,00012h,0001eh,0001fh 00020h,00021h,00022h,0002eh,0002fh ffff0h, ffff1h, ffff2h, , ffffeh, fffffh 其中:第一列就是每个小段的首地址。,每个小段首地址特征: 在16进制表示的地址中,最低位为0h (即二进制表示的20位地址的低4位为0000b)。 在1m字节的地址空间,共有64k个小段其首地址为: 0000 0h 0001 0h 4123 0h 4124 0h fffe 0h ffff 0h, 20位物理地址形成 物理地址: 在1m字节存储器里, 每个存储单元都有一个唯一的20位地址作为该存储单元的物理地址。 cpu访问存储器时,必须先确定所要访问的存储单元的物理 地址才能取出(或存入)该单元中的内容。 20位物理地址形成:由16位段地址和16位偏移地址组成。 段地址:只取段起始地址高16位值。 偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。,物理地址计算方法: 即把段地址左移4位再加上偏移地址值形成物理地址,写成: 物理地址= 10h段地址+偏移地址。 * 每个存储单元只有唯一的物理地址。 但可由不同的段地址和不同的偏移地址组成。,53,地址加法器的工作原理 可表示为: 物理地址pa = 段地址 偏移地址 = ( 段寄存器 ) 16 + 偏移地址 = ( 段寄存器 ) 10h + 偏移地址 即段寄存器的内容左移4位,加上偏移地址,54,物理地址pa = 段地址 偏移地址 = ( 段寄存器 ) 10h + 偏移地址 段寄存器有4个: ds、es、cs、ss 偏移地址由 ip、sp、bx、bp、si、di 或一个8位或16位二进制数得到。 这种存储器管理方式叫分段编址。,55,物理地址pa = 段地址 偏移地址 = ( 段寄存器 ) 10h + 偏移地址 或段寄存器的内容左移4位,加上偏移地址 例:某内存单元的段地址由ds、偏移地址由bx给出。 若( ds) = 2000h, ( bx) = 1000h,计算其物理地址。 pa = ( ds ) 10h + ( bx ) = 2000h 10h + 1000h = 21000h,56,cpu 总线 内存,物理地址信号在地址总线上传送:,例:,标志 寄存器,执行部件控制电路,57,要点:,(段地址由16位的段寄存器给出,可将段地址直接用16位表示),物理地址20位,段地址16位,偏移地址16位。,物理地址pa = 段地址 偏移地址 = ( 段寄存器 ) 10h + 偏移地址,由16位段寄存器决定有216 = 64 k个段值 由16位偏移地址决定每个段的大小为0 64k 每个段最大64 k,但不一定是64 k,可据需要分配。,58,用( )表示内存单元的内容: ( 21000h ) = 0fh ( 2000h:1000h ) = 0fh ( ds:bx ) = 0fh,59,指令的地址固定由cs和ip两个寄存器决定。 (代码段寄存器和指令指针寄存器),、 指令1 指令2 指令3 指令4 、 数据1 数据2 数据3 、,60,例 开机或reset复位后,( cs ) = ffffh,( ip ) = 0000h,故8086/8088执行的第一条指令所在内存的地址为: pa = ( cs ) 10h + ( ip ) = ffff h 10h + 0000h = ffff0h,61,d: debug ;进入debug -u ffff:0 ;反汇编ffff:0处的指令 、 ;显示指令 - q ;退出debug,实验:在debug下查看开机后执行的第一条指令,讨论: 1. 开机后的第一条指令应该在内存的什么区域? rom还是ram? 为什么? 2. 开机后执行的第一条指令的地址是否固定?为什么?,62,每个内存单元有唯一的物理地址, 但可由不同的段地址和偏移地址构成。,例 某内存操作的段值由 ds 给出,偏移值由bx给出。,若 ( ds ) = 1000h ,( bx ) = 0150h, 则: pa = ( ds ) 10h + ( bx ) = 1000 h 10h + 0150h = 10150h,若 ( ds ) = 1010h ,( bx ) = 0050h, 则: pa = ( ds ) 10h + ( bx ) = 1010 h 10h + 0050h = 10150h,物理地址相同,就选中同一单元,2. 逻辑地址与物理地址 逻辑地址与物理地址概念 逻辑地址:由段基址和段内偏移地址组成的地址, 段基址和段内偏移地址都是16位的无符号二进制数, 在程序设计时使用。 物理地址:存储器的绝对地址(20位的实际地址), 范围从00000hfffffh , 是由cpu访问存储器时由地址总线发出的地址。 存储器管理:将程序中逻辑地址转移为物理地址的机构。 逻辑地址与物理地址概念如下页图所示。,物理地址的形成,20000h,25f60h,25f61h,25f62h,25f63h,2000h,段基址,逻,辑,地,址,段内偏移地址,5f62h,逻辑地址与物理地址,逻辑地址来源,取指令: 自动选择代码段寄存器cs, 再加上由ip决定的16位偏移量, 计算得到要取的指令20位物理地址。 堆栈栈顶操作: 自动选择堆栈段寄存器ss, 再加上由sp决定的16位偏移量, 计算得到堆栈栈顶操作需要的20位物理地址。,涉及到操作数: 自动选择数据段寄存器ds或附加段寄存器es, 再加上16位偏移量,计算得到操作数的20位物理地址。 其中: 16位偏移量: 包含在:指令中的直接地址 某个16位地址寄存器的值 指令中的位移量+16位地址寄存器中值等。 16位偏移量关键取决于指令的寻址方式。,段寄存器和其他寄存器组合指向存储单元示意图,归纳段寄存器和其他寄存器组合指向存储单元示意图如下:,注意: 以8086cpu的ibmpc系统中,存储器首尾地址的用途固定。 00000h003ffh共1k内存单元用于存放中断向量。 ffff0hfffffh是存储器底部的16个单元。 系统加电复位时,会自动转到ffff0h单元执行, 而在ffff0h处存放一条无条件转移指令,转向系统初始化程序。,70,3.存储器的组成 8086系统中,存储器是分体结构,1m字节的存储空间分成两个512k字节的存储体。 一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址方式,71,(1)奇偶地址体示意图,72,(2) bhe 、 ad0的代码组合和对应的操作,73,(3)偶地址字读写,74,(3)偶地址字节读写(续),75,(3)奇地址字节读写(续),76,奇地址字读写(续),77,4内存单元内容的存放及表示,表示为: ( 01000h ) = 1eh ( 01001h ) = 2fh,78,8086/8088是16位cpu,可对内存进行字节或字操作,例 将字数据1234h写入从02000h开始的内存单元,写入的结果: ( 02000h ) = 34h ( 02001h ) = 12h,79,d:debug ;进入debug - a ;汇编一条传送指令 1693:0100 mov word ptr0, 1234 1693:0106 -t ;执行该指令 ax=0000 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000 ds=1693 es=1693 ss=1693 cs=1693 ip=0106 nv up ei pl nz na po nc 1693:0106 50 push ax -d ds:0 ;查看结果 1693:0000 34 12 ff 9e 00 9a ee fe-1d f0 4f 03 18 10 8a 03 1693:0010 18 10 17 03 18 10 23 0e-01 01 01 00 02 ff ff ff -q ;退出debug,实验:在debug下查看数据在内存中的存放情况:,低地址 存放低字节,高地址 存放高字节,(1693:0000) = 34h (1693:0001) = 12h,80,81,82,83,8086/8088可寻址216= 64 k个i/o端口 i/o端口范围0000h ffffh,8086/8088设有专用的指令对i/o端口进行读写操作, 即 in 和 out指令 (在第五章详细介绍)。,小结与问题思考(自学) 微型计算机外部、内部结构 特点: 外部采用三总线结构ab、db、cb。 三组总线: 地址总线 : ab(address bus):单向,由cpu发出的, 地址总线 ab的位数 决定指令能直接寻址内存单元范围和外设接口。 序号从0开始。如:a19a0,数据总线 db(data bus): 双向,实现cpu 与 m、或i/o 传送数据。 序号从0开始。如:d15d0 控制总线 cb(control bus):传送控制信号。 内部采用单总线 , 即内部所有单元电路都挂在内部总线上, 分时使用总线。,86,二、 8086的引脚功能,8086引脚图 参见教材p30,8086cpu是双列直插式芯片, 共有40条引脚; 引脚33决定工作模式: 接地,最大模式 接+5v, 最小模式 在两种模式下引脚2431 有不同的名称和意义,40 8086 20 21,gnd ad14 ad13 ad12 ad11 ad10 ad9 ad8 ad7 ad6 ad5 ad4 ad3 ad2 ad1 ad0 nmi intr clk gnd,vcc a15 a16/s3 a17/s4 a18/s5 a19/s6 bhe/s7 mn/mx rd rq/gt0(hold) rq/gt1(hlda) lock(wr) s2(m/io) s1(dt/r) s0(den) qs0(ale) qs1(inta) test ready reset,最大模式(最小模式),87,1. 电源、时钟和工作模式选择 vcc 接+5v clk 接4.77mhz 2个gnd接地 mn/mx接 +5v 2. 访问i/o端口、存储器的控制信号 m/io 选择i/o或存储器操作 rd 读操作控制 wr 写操作控制 3. 地址/数据、地址/状态复用信号 ad15 ad0 地址/数据复用信号 a19 a16/s6 s3 地址/状态复用信号 s6=0,s5=if, s4、s3当前使用段寄存器 00-es,01-ss,10-cs/未用,11-ds 4. 地址锁存允许信号ale,8086在最小模式下的引脚和功能 :,88,5. 数据允许den、数据传送方向dt/r 6. 可屏蔽中断请求intr 中断响应inta 7. 非屏蔽中断请求nmi 8. 总线保持请求 hold 总线保持响应 hlda,vcc a15 a16/s3 a17/s4 a18/s5 a19/s6 bhe/s7 mn/mx rd hold hlda wr m/io dt/r den ale inta test ready reset,gnd ad14 ad13 ad12 ad11 ad10 ad9 ad8 ad7 ad6 ad5 ad4 ad3 ad2 ad1 ad0 nmi intr clk gnd,89,准备就绪信号ready 被访问的io / m设备准备就绪 10. 检测信号test 11. 高8位数据总线有效/状态信号bhe/s7 三态、输出表示总线高8位ad15ad8上数据有效 12. 复位信号reset高电平 结束cpu当前操作, 内部寄存器恢复初始状态 : cs=ffffh, 其它为0 指令队列空,90,系统规模小: 只含有一个8086cpu 不含数字运算协处理器、 输入/输出协处理器 系统的控制总线直接由8086cpu的控制线供给, 系统中的总线控制逻辑电路被减少到最小。,1最小模式,91,8086 在最小模式下的典型配置,reset ready,地址锁存器 8282(两片) oe stb,数据收发器 oe 8286 t/r,s6s3/a19a16 ad15ad0 bhe ale,clk reset ready m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关注项目管理考试动态及发展试题及答案
- 2025年银行资格证考试考务安排试题及答案
- 系统化知识点回顾的证券从业资格证试题及答案
- 2025年理财师考试场景分析试题及答案
- 全面分析项目管理考试的各类题型试题及答案
- 微生物检验的标准化流程与试题及答案深入分析
- 2025年注册会计师考试财务管理的现代趋势分析试题及答案
- 黑龙江牡丹江市本年度(2025)小学一年级数学统编版课后作业(下学期)试卷及答案
- 量化分析在理财中的应用试题及答案
- 特许金融分析师考试自我评估试题及答案
- 老年性肌肉衰减综合征
- 勤务辅警合同模板
- 2024年四川省攀枝花市东区中考一模物理物理
- 国企副总经理述职报告材料
- 2023年广东省深圳市中考化学试卷(含答案解析)
- 房地产用户需求分析报告
- 12J003《室外工程图集》
- JGJ196-2010建筑施工塔式起重机安装、使用、拆卸安全技术规程
- 档案学概论-冯惠玲-笔记
- 2024至2030年中国桌上游戏(桌游)行业市场调查研究及投资潜力预测报告
- DL∕T 1094-2018 电力变压器用绝缘油选用导则
评论
0/150
提交评论