z2009微机原理第一章_第1页
z2009微机原理第一章_第2页
z2009微机原理第一章_第3页
z2009微机原理第一章_第4页
z2009微机原理第一章_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

微机原理南京理工大学机械工程学院张卫机械楼304室课程目标微机原理是学习和掌握微机硬件知识和汇编语言程序设计的入门课程:微型计算机的基本工作原理汇编语言程序设计微型计算机接口技术建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力基本要求(1)了解微型计算机的基本组成和硬件、软件的基本概念;(2)掌握Intel8086/8088CPU的功能结构和工作原理;(3)掌握Intel8086/8088CPU的指令系统和基本的汇编语言程序设计方法;(4)掌握微型计算机存储器的组织和扩展,以及中断基本概念和中断技术;(5)深入地了解微机系统的基本接口技术,掌握常用接口芯片的应用。主要参考书王建宇等,微型计算机原理及应用,电子工业出版社,2005雷丽文等,微机原理与接口技术,电子工业出版社,2005雷丽文等,微机原理与接口技术——学习指导与实验,电子工业出版社,2001戴梅萼史嘉权,微型计算机技术及应用,清华大学出版社,2003戴梅萼,微型计算机技术及应用——习题、实验题与综合训练题集,清华大学出版社,2004课程大纲1微型计算机概述

(10)28086/8088的指令系统 (10)3汇编语言程序设计 (6)4存储器系统 (4)5中断系统 (8259A) (4)6输入输出接口(8253,8255A) (6)实验:(8)1熟悉汇编语言程序的编辑、连接、运行过程和调试方法汇编语言程序设计、编制与调试运行可编程并行接口芯片8255A的应用4中断控制器8259A的应用第一章微型计算机概述1.1微机发展概述1.2微型计算机的工作过程1.38086/8088微处理器1.48086/8088CPU典型时序分析

1.1

微机发展概述

1.1.1微型计算机系统的基本概念

1.1.2微型计算机的常用术语和指标

1.1.3微型计算机的发展

1.1.4微型计算机系统的特点系统软件应用软件微处理器硬件软件微型计算机系统微型计算机外设电源算术逻辑部件(ALU)累加器、寄存器控制部件内部总线键盘、鼠标显示器软驱、硬盘、光驱打印机、扫描仪微型计算机系统的三个层次存储器(ROM,RAM)I/O接口系统总线

1.1.2微型计算机的常用术语和指标1.位、字节和字

位(bit)是计算机所能表示的最小最基本的数据单位它指的是取值只能为0或1的一个二进制数值位。位作为单位时记作b

字节(byte)由8个二进制位组成,通常用作计算存储容量的单位,字节作为单位时记作B

字(Word)由16个二进制位组成,通常定义为两个字节为一个字,字作为单位时记作

W。

K是kelo的缩写,1K=1024=210个字节;

M是mega的缩写,1M=1024K=220个字节;

G是giga的缩写,1G=1024M=230个字节;

T是tera的缩写,1T=1024G=240个字节。4.MIPS微型计算机常用术语和指标

MIPS是MillionsofInstructionPerSecond的缩写,用来表示微处理器的性能,意思是每秒钟能执行多少百万条指令由于执行不同类型的指令所需时间长度不同,所以MIPS通常是根据不同指令出现的频度乘上不同的系数求得的统计平均值。主频为25MHz的80486其性能大约是20MIPS,

主频为400MHz的PentiumII的性能为832MIPS5.微处理器的生产工艺指在硅材料上生产微处理器时内部各元器件间连接线的宽度,一般以m为单位,数值越小,生产工艺越先进,微处理器的功耗和发热量越小。目前微处理器的生产工艺连接线宽度已经达到32nm微型计算机常用术语和指标6.微处理器的集成度指微处理器芯片上集成的晶体管的密度。最早Intel4004的集成度为2250个晶体管,酷睿i7四核的集成度已经达到7.31亿个晶体管以上,集成度提高了30万多倍。1.1.4微型计算机系统的特点1)体积小,重量轻采用大规模集成电路(LSI)和超大规模集成电路(VLSI),使微型机所含的器件数目大为减少,体积也大为缩小,可嵌入各种仪器和设备中。2)价格低根据摩尔定律,计算机的性能每18个月提高一倍,即计算机芯片的价格每18个月降低一倍。3)可靠性高,结构灵活计算机内部元器件数目少,连线较少,使微型机的可靠性提高。4)功能强,性能高目前由于微型机的发展,很多微型机的功能都已超过以前的一些小型机。5)应用面广

目前微型机不仅占领了中小型机的各个应用领域,且已经渗透到我们生活的每一角落,可以说现代社会已离不开计算机。

一)计算机中的进位计数制

1)进位计数制的表示法(P55)

十进制D:

二进制B:

八进制O/Q:

十六进制H:

1.1.5计算机中数的表示和编码2)进位计数制之间的转换二)计算机中常用的编码(雷P7)1)BCD码(Binary-CodedDecimal)(P37)

二进制编码的十进制数例:(100010010001.01000101)BCD=891.45D

用29H/0209H表达29D

2)ASCII码(AmericanNationalStandardCodeforInformationInterchange)(附录A)

美国标准信息代码

0+7位,<20H为不可显示命令代码,数字0011+(0000~1001)B

3)汉字的编码:中国《信息交换用汉字编码》内码=国际码两字节首位置1如:啊=B0A1H三)带符号数的表示(雷P9)1)机器数与真值

带有数码化的正负号的数称机器数。

2)原码

最高位为0表示正数,1表示负数,后面各位为其数值。

3)反码

正数的反码与原码相同,负数的反码是对应的正数连同符号位按位取反。

4)补码正数的补码与其原码相同,负数的补码为其反码加1。X补=Y补+(-Z)补8位二进制补码表示的整数范围是-128~+12716位二进制补码表示的整数范围是-32768~+327671.2微型计算机的工作过程1.2.1微机的基本结构和组成1.2.2微型计算机的工作过程1.2.1微型计算机的基本结构和组成一、由微处理器、存储器、总线、输入设备和输出设备五大部分组成二、微型计算机的基本结构存储器I/O接口输入设备I/O接口数据总线DB控制总线CB地址总线AB输出设备CPU总线——连接多个功能部件的一组公共信号线各部件通过总线连接。(内部/外部)作用:变部件间复杂关系为对总线的单一关系三、微型计算机的(系统)总线结构地址总线AB用来传送CPU输出地址的信号线,确定被访问的存储单元、I/O端口的地址。地址总线是单向三态地址总线的条数决定微处理器的寻址能力2n数据总线DB

CPU用来与存储器、I/O接口之间进行数据传送的信号线,数据总线总是双向三态数据总线的条数决定微处理器可以传送的数据位数控制总线CB

CPU用来传送各种控制信号的,以实现CPU对存储器、I/O接口和外设的控制。该组信号线较复杂。它决定了总线功能的强弱和适应性的好坏.算术逻辑运算部件ALU有两个输入端和两个输出端。用来与累加器共同完成算术和逻辑运算。输入一端接累加器,一端接寄存器阵列。输出一端接数据总线,一端接标志寄存器累加器ACC是一个特殊的寄存器,作为ALU的输入/输出数据暂存和具有移位功能,所有运算的数据都要通过累加器故累加器在微处理器中使用十分频繁。标志寄存器F又称状态寄存器,是一个特殊的寄存器,用来记录ALU运算结果的一些状态,如符号(S)、进位(C)溢出(OV)、奇偶(P)、结果为零(Z)等。

1程序计数器PC

是管理程序运行的特殊功能寄存器,其作用是指明下一条指令在存储器中的地址,或者说PC指向哪里,程序就运行到哪里。2寄存器阵列包括通用寄存器组、地址寄存器、变址寄存器(SI、DI)和堆栈指示器(SP),用来寄存参与运算的数据(操作数)和操作数的地址。3指令寄存器、指令译码器和定时与控制信号电路是用来存放当前正在执行的指令,以及用来对指令进行分析译码,产生执行此条命令所需的全部控制信号。4总线缓冲器和内部总线内部总线把ALU和CPU内各寄存器连接起来,分别通过数据缓冲器和地址缓冲器与芯片外的系统总线相连。四、微处理器的内部结构与基本功能标志寄存器FR寄存器阵列程序计数器PC(指令指针IP)累加器ACC指令寄存器IR定时与控制OC指令译码器ID地址寄存器MAR数据缓冲器MDRALU内部数据总线控制信号外部信号地址总线AB数据总线DB地址缓冲器算术逻辑运算部件ALU有两个输入端和两个输出端。用来与累加器共同完成算术和逻辑运算。输入一端接累加器,一端接寄存器阵列。输出一端接数据总线,一端接标志寄存器累加器ACC是一个特殊的寄存器,作为ALU的输入/输出数据暂存和具有移位功能,所有运算的数据都要通过累加器故累加器在微处理器中使用十分频繁。标志寄存器F又称状态寄存器,是一个特殊的寄存器,用来记录ALU运算结果的一些状态,如符号(S)、进位(C)溢出(OV)、奇偶(P)、结果为零(Z)等。

1程序计数器PC

是管理程序运行的特殊功能寄存器,其作用是指明下一条指令在存储器中的地址,或者说PC指向哪里,程序就运行到哪里。2寄存器阵列包括通用寄存器组、地址寄存器、变址寄存器(SI、DI)和堆栈指示器(SP),用来寄存参与运算的数据(操作数)和操作数的地址。3指令寄存器、指令译码器和定时与控制信号电路是用来存放当前正在执行的指令,以及用来对指令进行分析译码,产生执行此条命令所需的全部控制信号。4总线缓冲器和内部总线内部总线把ALU和CPU内各寄存器连接起来,分别通过数据缓冲器和地址缓冲器与芯片外的系统总线相连。四、微处理器的内部结构与基本功能标志寄存器FR寄存器阵列程序计数器PC(指令指针IP)累加器ACC指令寄存器IR定时与控制OC指令译码器ID地址寄存器MAR数据缓冲器MDRALU内部数据总线控制信号外部信号地址总线AB数据总线DB地址缓冲器

将事先编制完成由指令序列组成的程序存放到存储器中,称程序存储。逐条地从存储器中取出指令并完成指令所指定的操作,称程序控制。执行每一条指令,都包括取指、译码和执行三个基本步骤微型计算机的工作过程,也就是不断地取指令、译码和执行的过程取指令,PC值加1

译码并执行停机?结束1.2.2微型计算机的工作过程一.程序存储和程序控制概念(冯·诺依曼概念)二.微型计算机的工作过程举例计算Y=10+20将Y放到30单元中汇编语言程序

机器指令码

对应的操作MOVAL,10; 1011000000001010B00AH立即数10送到累加器AL中

ADDAL,20; 00000100000101000414HAL内容加立即数20,结果在AL中

MOV[30],AL;1010001000011110A21EH将AL中的数传送到地址单元30

HLT ;11110100F4H系统暂停

地址译码器地址内容0000101100000001

000010100002

000001000003

000101000004

101000100005

000111100006

11110100

标志寄存器FR寄存器阵列程序计数器PC累加器ACC指令寄存器IR定时与控制OC指令译码器ID地址寄存器AR数据缓冲器DRALU内部数据总线控制信号外部信号地址缓冲器

地址总线数据总线三.微型计算机的工作过程0000000100000001000200001010指令寄存器IR10110000指令译码器ID定时与控制OC地址寄存器0000地址缓冲器第一步取指周期地址译码器0001数据缓冲器

DR10110000+1第二步存储器读周期地址寄存器0001地址缓冲器地址译码器数据缓冲器

DR00001010累加器ACC00001010地址译码器地址内容0000101100000001

000010100002

000001000003

000101000004

101000100005

000111100006

11110100

标志寄存器FR寄存器阵列程序计数器PC累加器ACC指令寄存器IR定时与控制OC指令译码器ID地址寄存器AR数据缓冲器DRALU内部数据总线控制信号外部信号地址缓冲器

地址总线数据总线三.微型计算机的工作过程0000000100000001000200001010指令寄存器IR10110000指令译码器ID定时与控制OC地址寄存器0000地址缓冲器第一步取指周期地址译码器0001数据缓冲器

DR10110000+1第二步存储器读周期地址寄存器0001地址缓冲器地址译码器数据缓冲器

DR00001010累加器ACC000010101.38086/8088

微处理器1.3.18086/8088CPU的编程结构1.3.2存储器组织1.3.38086/8088CPU引线及其功能1.3.48086/8088CPU工作模式及系统构成1.38086/8088

微处理器8086/8088微处理器是Intel公司推出的第三代CPU芯片;8086和8088CPU的内部结构基本相同,但它们的外部性能有所不同;8086是16位外部数据总线,而8088是8位外部数据总线;在处理16位数时,8088需要两步操作,而8086只需一步;8086/8088CPU内部都采用16位结构进行操作及存储器寻址;两种处理器都封装在相同的40脚双列直插组件(DIP)中;有20根地址线,可直接寻址的范围都为220字节;1.3.18086/8088CPU的编程结构8086/8088CPU的功能结构2.8086/8088CPU的内部寄存器1)执行部件EU(ExecutionUnit)

包括ALU(运算器)、通用寄存器和状态寄存器负责指令的执行进行16位的各种算术和逻辑运算计算16位有效偏移地址EA(EffectAddress)2)总线接口部件BIU(BusInterfaceUnit)

包括段寄存器、指令指针、地址加法器和指令队列缓冲器。负责与存储器和I/O设备传送数据。

2)总线接口部件BIU

①指令流队列

8086的指令队列为六个字节,8088的指令队列为四个字节。CPU

执行指令同时,取出下一条指令或下几条指令,放在指令队列中。执行完一条指令就可以立即执行下一条指令,从而提高了CPU的效率。

2)总线接口部件

②地址加法器Σ

地址加法器将16位的段地址CS左移4位和16位的有效偏移地址IP

相加,生成20位的物理地址。例:

CS=0FE00HIP=0400H20位的物理地址=0FE400H

3)流水线技术原则

①每当8086的指令队列中有两个空字节,或者8088的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中。

3)流水线技术原则

②在执行指令的过程中,如果必须访问存储器或者输入/输出设备,

EU就会请求BIU,进入存取操作数总线周期。如果BIU处于空闲状态,将立即响应EU的总线请求。若BIU正在取指令字节到指令队列中,则

BIU将先完成取指令的总线周期,再响应EU发出的访问总线的请求。

3)流水线技术原则

③当指令队列已满,而且执行部件EU又没有总线访问请求时,总线接口部件BIU便进入空闲状态。④在执行转移指令、调用指令和返回指令时,BIU使指令队列中的原有内容被自动消除,并从新的地址单元取指令,立即送EU执行。

总线接口部件BIU(BusInterfaceUnit)执行部分EU(ExecutionUnit)状态标志寄存器运算寄存器SPBPDISICS123456执行部件控制电路输入输出控制电路AHALBHBLCHCLDHDLALU指令队列缓冲器内部总线外部总线DSSSESIP内部暂存器Σ16位20位地址加法器段寄存器AHALBHBLCHCLDHDLSPBPDISI状态标志寄存器运算寄存器执行部件控制电路ALUCS123456输入输出控制电路DSSSESIP内部暂存器Σ123456CSIPΣ000004190151.8086/8088CPU的功能结构

2.8086/8088CPU的内部寄存器

包括数据寄存器、指针寄存器、变址寄存器、控制寄存器和段寄存器状态标志寄存器运算寄存器SPBPDISICS123456执行部件控制电路输入输出控制电路AHALBHBLCHCLDHDLALU指令队列缓冲器内部总线外部总线DSSSESIP内部暂存器Σ16位20位地址加法器段寄存器执行部分(EU)总线接口部件(BIU)SPBPDISIAHALBHBLCHCLDHDLCSDSSSESIP内部暂存器状态标志寄存器1)数据寄存器

AX:累加器字乘法、字除法、字I/O

AH:字节乘、字节除

AL:字节乘、字节除、字节I/O、查表和十进制运算

BX:基址寄存器查表时存放表的首地址

CX:计数寄存器数据串操作、循环次数

CL:变量位移、循环控制

DX:数据寄存器字节乘、字节除、间接I/O地址

8086/8088CPU的内部寄存器AHALBHBLCHCLDHDLAXBXCXDX2)指针寄存器

8086/8088的指针寄存器有两个SP和BP

SP是堆栈指针寄存器:和堆栈段寄存器SS一起来确定堆栈的栈顶在内存中的偏移地址,又称栈顶指针

BP是基址指针寄存器:通常用于存放数据区基址偏移地址。

SPBP8086/8088CPU的内部寄存器3)变址寄存器

8086/8088的变址寄存器有两个SI和DI,都用于指令的变址寻址

SI是源变址寄存器:通常指向源操作数。用来存放当前数据段中源操作数地址偏移量

DI是目的变址寄存器:通常指向目的操作数。用来存放当前数据段中目标操作数地址偏移量

SIDI8086/8088CPU的内部寄存器4)控制寄存器

8086/8088的控制寄存器有指令指针寄存器IP

和标志寄存器F①IP是指令指针寄存器,它和代码段寄存器CS一起可以确定当前所要取指令的内存地址。但不一定是将要执行的指令。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节。当IP单独改变时,会发生段内转移。当CS和IP同时改变时,会产生段间的程序转移。IP状态标志寄存器8086/8088CPU的内部寄存器进位标志位(CarryFlag)CF=1表示加法或减法运算结果,在最高位上产生进位或借位;

CF=0则表示无进位或借位。

CFCF奇偶标志位(ParityFlag)

PF=1表示运算结果中l的个数为偶数;

PF=0表示运算结果中l的个数为奇数;

PF0100100000001000辅助进位标志位(AuxiliaryFlag),也称半进位标志位。

AF=1表示运算结果的低4位产生进位或借位;

AF=0表示无进位或借位;该标志位通常用于对BCD算术运算结果的调整。

AF零标志位(ZeroFlag)

ZF=1表示运算结果各位都为0;

ZF=0表示结果非零;

ZF符号标志位(SignFlag)

SF=1表示带符号数的运算结果为负,即运算结果的最高位为1;

SF=0表示运算结果为正;

SF10溢出标志位(OverflowFlag)

OF=1表示带符号数的算术运算结果产生溢出,即结果超出了带符号数所能表达的范围,次高位向符号位进位或借位而最高位无进位

OF=0表示结果无溢出;OF中断允许标志位(InterruptFlag)。

IF=1表示中断开放,可以响应可屏蔽中断,允许接受外部从

INTR引脚发来的中断请求;

IF=0表示关闭中断,不接受从

INTR引脚发来的中断请求;

STI指令设置使IF=1;

CLI指令清零使IF=0;IF方向标志位(DirectionFlag)DF=1表示数据串指令将以地址递减的顺序对数据串进行处理即从高地址到低地址处理数据串;DF=0表示数据串指令将以地址递增的顺序对数据串进行处理

STD指令设置使DF=1;CLD指令清零使DF=0;

DF陷阱标志位(TrapFlag)也称单步标志位。TF=1表示8086/8088进入单步指令工作方式。在每条指令开始执行前,CPU先测试T标志位是否为1。如果为1,那么该指令执行后将产生陷阱中断,从而执行陷阱中断处理程序。其作用是将指令执行后CPU内部寄存器的情况显示出来,该标志通常用于程序的调试。例如,在系统调试软件DEBUG中的T命令,就是利用它来进行程序的单步跟踪。TF4)控制寄存器

②F标志寄存器

也常称它为状态标志寄存器,用来存放8086/8088CPU在工作过程中的状态。状态标志寄存器是一个16位的寄存器。8086/8088中用了9位,这些标志位的含义如下:OFDFIFTFSFZFAFPFCF1514131211109876543210OFDFIFTFSFZFAFPFCF8086/8088CPU的内部寄存器

求运算后结果?

0010001101000101B + 0011001000011001B

OFSFZFAFPFCF151413121110987654321001010101

01011110BF标志寄存器5)段寄存器

段寄存器用来存放各个段的首地址。

8086/8088微处理器具有四个段寄存器:

CS:代码段寄存器(CodeSegment),划定并控制程序区;

DS:数据段寄存器(DataSegment),控制数据区;

SS:堆栈段寄存器(StackSegment),控制堆栈区;

ES:附加段寄存器(ExtraSegment),控制数据区;这些段寄存器存放的首地址与有效的地址偏移量一起可确定内存的物理地址。8086/8088CPU的内部寄存器CSDSSSESIP1.3.28086/8088CPU的存储器组织

8086/8088具有20根地址线,其可寻址的内存空间为220=1MB,内部寄存器都只有16位,是不能寻址1MB存储空间的。故引入了分段的概念1.分段结构每个段具有64KB的存储空间,1MB的存储空间可分为16个逻辑段,各逻辑段允许在整个存储空间浮动,且有如下几种使用方式:各段可以不相连,即段与段之间有空闲存储单元;各段可以连续排列,段与段之间没有空闲存储单元;各段可以部分重叠,段与段之间可以交叉;各段可以完全重叠,可令CS、SS、DS相等,使各段合并;对任何一个物理地址,可以唯一地被包含在一个逻辑段中,也可以在多个相互重叠的多个逻辑段中。64KB逻辑段1起点逻辑段10FFFFH64KB1FFFFH10000H64KB00000H0FFFFFH各段连续排列64KB逻辑段2起点逻辑段264KB逻辑段4、5起点逻辑段4、564KB逻辑段3起点逻辑段3各段灵活排列1MB存储空间分段逻辑结构图示20000H2FFFFH64KB0F0000H64KB16个逻辑段1MB••••••2.段地址、逻辑地址和物理地址物理地址:也称绝对地址,是唯一的;逻辑地址:由段基址和偏移量两部分组成,其表示形式——段基址:偏移量;段基址:

是段寄存器给出的16位段起始地址,来自段寄存器;偏移量:

为存储单元相对于段起始地址的16位偏移地址EA,

偏移量通常来自指令指针寄存器IP、基址寄存器BP、堆栈指针寄存器SP和变址寄存器SI、DI;在访问具体存储单元时,物理地址都是通过逻辑地址运算得出,每个内存单元的物理地址都是唯一的,同一个物理地址可以由不同的逻辑地址来构成。加法器段寄存器的内容×16(相当于左移4位)变为20位,再加上16位的偏移地址(有效偏移地址,EA),便可得到20位的物理地址。

物理地址的形成物理地址=段寄存器的内容×10H十偏移地址逻辑地址有效偏移地址EA015段寄存器(段基址)000001520位物理地址019段基址、逻辑地址和物理地址图例 JMP0F000H:0100HMOVAX,0D000HMOVDS,AXMOVAX,7200HMOVSS,AXMOVAX,1000HMOVES,AXCSDSSSESF000HD000H7200H1000H64K代码段64K数据段64K堆栈段64K数据段E0FFFFFH0F0000H0D0000H

72000H

10000H00000H0F000H:0100H1.3.38086/8088CPU的引脚及其功能8086/8088CPU是具有40条引脚的双列直插封装集成电路芯片,从引脚功能上包括16条数据线、20条地址线和一系列控制线,为了减少芯片的引线,有许多引线具有双重定义和功能,采用分时复用方式工作,即在不同时刻,引线的作用和引线上的信号是不相同的。

1)AD0~AD15:

地址/数据时分复用的信号线

CPU在读写存储器和外设时,先输出存储器单元的地址或外设端口的地址,然后才读写数据,从而地址和数据在时序上是有先后的。在CPU外部配置地址锁存器,把16条引脚上先出现的地址信号锁存起来,用锁存器的输出去选通存储器的单元或外设端口,这时16条引脚就可以作为数据线进行输入或输出操作。

2)A16~A19/S3~S6:地址/状态分时复用三态输出线在8086CPU执行指令过程中,从这4条线上送出地址的最高4位A16

~A19,且只在访问存储器时使用,在访问I/O接口时不用即A16

~A19

=0。在地址信号锁存后,这4条线输出S3~S6状态信号。S6始终为低,表示8086当前与总线相连,S5指示状态寄存器中的中断允许标志的状态。S4和S3用来指示CPU使用的段寄存器:

S4S300011011段寄存器ESSSCSDS

3)RESET(引脚21):

CPU的复位信号输入端高电平有效。为使CPU完成内部复位过程,该信号至少要在4个时钟周期内保持有效。复位后CPU内部寄存器的状态:

ES、DS、SS、IP、F清零指令队列缓冲器清零

CS置为FFFFHIF置为0(禁止中断)复位后,RESET返回低电平时

CPU将从CS:IP的新地址即FFFF0H处重新启动系统。

4)CLK(引脚19):

时钟信号输入端由外接时钟信号发生器8284A提供CPU和总线控制器所需的时钟脉冲信号。

8086/8088的标准时钟频率为5MHz,脉冲的占空比为1/3,即1/3周期为高电平,2/3周期为低电平。

5)

NMI(引脚17):

非屏蔽中断输入信号边沿触发,正跳变有效。所谓非屏蔽是指:不管IF中断允许标志是否置位,一旦CPU检测到这条引脚上出现有效的正跳变信号,则使CPU在现行指令执行结束后,进入执行对应中断类型号为2的非屏蔽中断处理程序

6)

INTR(引脚18):

可屏蔽中断信号输入端高电平有效。CPU在每条指令执行的最后一个状态采样该信号所谓可屏蔽是指:CPU检测到该端出现有效的高电平后,只有中断允许标志IF=1,以允许中断时才响应该中断。若IF=0,即使CPU检测到该端出现有效的高电平,也不响应中断。即可以用软件复位内部的中断允许位而将中断请求信号加以屏蔽。

7)(引脚23):结束等待状态控制信号输入端

低电平有效。可用WAIT指令对该引脚进行测试的输入信号,当CPU执行WAIT指令时,

CPU进入等待状态(空转)。该信号有效时,CPU结束等待状态,继续执行WAIT指令后的程序。该信号在每个时钟周期的上升沿由内部电路进行同步检测。

CPU进入等待状态时,允许外部中断,中断返回后,继续执行WAIT指令后的程序。

8)(引脚32):读选通输出信号(三态)

低电乎有效。当其有效时,表示CPU正在进行存储器读或I/O读操作。DMA操作时该线为浮空

9)(引脚33):工作模式信号当为高电平(+5V)时,表示工作在最小模式;当为低电平(0V)时,表示工作在最大模式。10)READY(引脚22):准备就绪输入信号高电平有效。当CPU对存储器或I/O进行操作时,在T3周期采样READY信号。若其为低,表明存储器或

I/O还未准备好数据,则在T3周期后,自动插入Tw周期(等待周期)。在Tw周期中再采样READY信号,直至READY变为有效的高电平信号,Tw周期才可以结束,进入T4周期,完成数据读写传送。11)/S7(引脚34):高8位数据允许/状态复用输出线低电平有效,分时复用三态信号在总线周期T1时,8086在该引脚输出信号,表示高8位数据D15~D8数据有效。在其它时刻输出S7,在8086系统中该S7未定义。在CPU访问存储器时,用于选择以字或字节方式读写存储器。在CPU访问I/O时,用于选择I/O接口的高8位字节或低8位字节

信号和A0代码组合,对于在总线上的存储器和接口的数据传输选择形式见教材表1-4。12)VCC:电源线(引脚40)

GND:接地端(引脚1、20)13)

8086CPU的24~31引脚给出了一组控制信号,它们的功能和含义与

8086CPU的两种工作方式相关将在工作方式中予以介绍。1.8086CPU的引脚功能GND1AD142AD133AD124AD115AD106AD97AD88AD79AD610AD511AD412AD313AD214AD115AD01639AD1538A16/S337A17/S436A18/S535A19/S634

/S740VCCGND20

CLK19INTR18NMI1733MN

/3231HOLD()30HLDA()29()28M

/()27DT/()26()25ALE(QS0)24(QS1)2322READY21RESET8086AD142AD133AD124AD115AD106AD97AD88AD79AD610AD511AD412AD313AD214AD115AD01639AD1538A16/S337A17/S436A18/S535A19/S621RESETCLK19NMI17INTR182322READY3233MN

/34

/S7GND140VCCGND20

31HOLD()30HLDA()29()28M

/()27DT/()26()25ALE(QS0)24(QS1)1.3.48086/8088CPU的工作模式及系统构成8086/8088CPU与存储器和外设构成一个计算机系统时,根据所连接的存储器和外设的规模不同,可以组成两种不同的工作模式,即最小工作模式和最大工作模式,也称为两种不同的工作组态。CPU上有MN/

输入引线,用以决定8086/8088的两种工作模式当MN/

=1

时,CPU工作在最小模式之下。此时系统的控制总线信号直接由CPU的24~

31引线形成;当MN/

=0

时,CPU工作在最大模式之下。此时系统的控制总线信号要由8086/8088CPU的

24~31引线,经8288总线控制器转换后共同形成,可以构成更大规模的系统。1.最小工作模式

8086CPU处于最小工作模式时,系统中只有一个CPU,

CPU的控制总线信号直接由引脚24~31接出。最小的含义是:系统中的存储器容量较小,外设端口也较少,所需的系统总线控制逻辑的规模较小,总线的驱动能力不高,最小工作模式适用于小规模应用场合。一.最小工作模式2.最小工作模式系统构成系统的地址总线由外接的

8282地址锁存器输出。系统的数据总线由

8286总线收发器驱动,以增加总线驱动能力,

8088只需一片8286。系统的控制总线直接给出。系统的时钟脉冲由

8284A时钟信号发生器接入,外接晶振的振荡频率为15MHZ,三分频后作为8086的时钟信号CLK。8284AREADYRESET+5VSTB地址锁存器8282(三片)控制总线地址总线CLKRESETREADYALEA19~A16AD15~AD0HOLDHLDAINTR8086T收发器8286(两片可选)数据总线3.8282地址锁存器DI0DI1DI2DI3DI4DI5DI6DI7DO0DO1DO2DO3DO4DO5DO6DO7STBGNDVCCDCLK1234567811102091918171615141312Intel8282

是20条引脚双列直插芯片,有8个带锁存器的单向三态缓冲器。DI0~DI7

为地址信号输入端;DO0~DO7

:为地址信号输出端;

:

是输出三态控制线,低电平有效,用作锁存器信号输出控制。当接高电平时,8282锁存器输出端处于高阻态。STB

是锁存控制信号输入端,高电平有效,接8086CPU的ALE地址锁存允许信号输出端,当ALE有效时将

DI0~DI7

输入的地址信号锁存输出,作为系统的地址总线。4.8286双向数据收发器A0A1A2A3A4A5A6A7B0B1B2B3B4B5B6B7TGNDVCC1234567811102091918171615141312≥1≥1Intel8286

是20条引脚双列直插芯片,内部有8个双向三态缓冲器。完成数据的接受和发送,具有放大的作用,可增加数据总线的驱动能力。A0~A7:

为数据信号输入端;B0~B7:为数据信号输出端;

:

是输出三态控制线,低电平有效,当接高电平时,8286禁止数据在两个方向上的传送。接8086的。

T:

是数据传送方向控制信号,

T=1数据输出,由A0~A7

至B0~B7

T=0数据输入,由B0~B7

至A0~A7

T接8086的

数据收发控制端。

5.8086/8088CPU最小工作模式下的控制总线8086/8088在最小工作模式时,除了前面已介绍过的8根控制总线外,还有8根与最小工作模式相关的控制总线,对应CPU的24~31引脚。1)(引脚28):存储器与外设接口选择输出控制信号(三态),确定当前访问操作是存储器还是I/O端口。8086系统中若该引脚输出为高电平,则访问存储器;输出为低电平,则访问I/O端口。8088系统则相反。DMA操作时该引脚处于高阻态。2)(引脚29):写控制信号输出端(三态)。低电平有效,表示CPU正处于写存储器或写I/O端口的状态。3)(引脚27):数据收发控制信号输出端

(三态)。用于确定数据传送的方向。高电平为数据输出;低电平为数据输入。该信号通常用于数据总线驱动器8286/8287的方向控制。8086/8088CPU最小工作模式下的控制总线4)(引脚26):数据收发允许控制信号输出端(三态),低电平有效。该信号有效时表示数据总线上有有效的数据,在每个访问内存或I/O接口以及中断响应的总线期间有效,以允许数据收发器接受或发送数据。与8286数据总线驱动器的端相接。5)ALE

(引脚25):地址锁存允许控制信号输出端(三态),高电平有效。在总线周期的T1状态该信号有效,表明CPU送出有效的地址信号。接8282地址锁存器的STB端,以锁存总线上地址信号。6)(引脚24):中断响应信号输出端,低电平有效。是CPU对外部输入的INTR中断请求信号的响应。在响应中断时,由端送出两个负脉冲,用作外部中断源的中断向量码的读选通信号。7)

HOLD

(引脚31):总线保持请求输入信号,高电平有效。用于向CPU提出保持(占用)请求。当某一部件要占用系统总线时(如DMA请求),可通过这条输入线向CPU提出请求。8)

HLDA

(引脚30):总线保持请求允许控制信号输出端,高电平有效。当CPU收到HOLD请求信号后,若允许总线请求,则使所有三态输出的地址信号、数据信号和控制信号变为高阻态,同时HLDA端输出高电平,表示CPU现在已放弃对总线的控制。当CPU检测到HOLD信号变低后,就立即使HLDA变低,同时恢复对总线的控制。性能100中断响应101读I/O端口110写I/O端口111暂停000取指001读存储器010写存储器011无作用9)8088系统中状态输出线它与

和信号一起决定最小模式下现行总线周期的状态。不同电平所表示的操作情况见右表所示。

8086/8088CPU最小工作模式下的控制总线二.最大工作模式1.最大工作模式8086CPU处于最大工作模式时,系统中可包含两个或两个以上CPU,8086称为主处理器,其他的称为协处理器

8087数学协处理器,8089输入输出协处理器

CPU的控制总线信号由引脚24~31经8288总线控制器转换后接出。最大的含义是:构成的计算机系统规模较大,存储器容量较大,外设端口也较多,总线的控制和驱动能力较强,构成多处理器系统,显著提高系统的工作效率1.48086/8088CPU典型时序分析1.4.1基本概念1.4.2学习CPU时序的目的1.4.3

最小模式下的典型时序1.4.4

最大模式下的典型时序1.4.1基本概念了解微处理器的时序对于进一步理解微处理器执行指令的过程、

各部件与系统总线的连接及硬件系统的调试都十分有意义。计算机的每一步工作、每一个微操作,都是由时钟脉冲信号CLK来触发的。方波脉冲信号是计算机运行的最小节拍。理解CPU的工作时序并运用这些概念去解决实际问题是本节的重点。计算机工作的过程通常将要完成的任务编制成程序;程序由若干条指令构成,将程序存放到存储器中;每条指令的执行过程分三步:取指令、译码、执行。

一.指令周期(InstructionCycle)

执行一条指令所需要的时间称为指令周期。不同的指令,其执行时间是不相同的。从指令的长短来看,有一字节、二字节、…、六字节;从完成的任务来看,CPU内部的数据传送速度很快,而算术逻辑运算则较慢,如16位的乘除法要200个时钟周期。从指令的功能来看,可能要访问存储器或I/O接口,有时涉及中断。可以将指令周期划分为一个个总线周期,每个总线周期对应一种功能。时序分析基本概念二.总线周期(BUSCyc

温馨提示

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

评论

0/150

提交评论