微型计算机原理与接口技术课件_第1页
微型计算机原理与接口技术课件_第2页
微型计算机原理与接口技术课件_第3页
微型计算机原理与接口技术课件_第4页
微型计算机原理与接口技术课件_第5页
已阅读5页,还剩466页未读 继续免费阅读

下载本文档

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

文档简介

微型计算机系统概述概述

计算机中数的表示和编码

微型计算机系统

1946年,美国宾西法尼亚大学研制成功电子数字计算机ENIAC(

ElectronicNumegricalIntergratorAndCalculator

)。第一代电子管时代(1946-1958)

耗电高,体积大,定点计算,机器语言,汇编语言第二代晶体管时代(1958-1965)

变集中处理为分级处理,浮点运算、高级语言第三代中小规模集成电路时代(1965-1970)

存储容量大,运算速度快,几十至几百万次/秒第四代大规模、超大规模集成电路时代(1971至今)

向大型机和微型机两个方向发展现代计算机发展方向巨型化,微型化,网络化,智能化,多媒体化1.1概述

微型计算机经历了4位机、8位机、16位机至高性能的32位机,64位机正在广泛应用。

应用领域科学和工程计算密码破译,天气预报,地质勘探,卫星轨道计算工业控制机器人以及各种自动化装备,温度调节,阀门控制辅助设计/分析/制造/教学机械CAD,建筑CAD,CAE,CAM,CAI数据处理数据库管理,企业信息管理,统计汇总、办公自动化智能模拟人工智能、专家系统、自学习1.2

计算机中数的表示和编码

1.2.1

计算机中常用的数制及其转换一.进位计数制的表示方法十进制ND十个数码:0~9,逢十进一。 例1234.5=1×103+2×102+3×101+4×100+5×10-1加权展开式以10为基数,各位系数为0~9。 一般表达式:n:整数位数,m:小数位数,ai:取值范围0-9

二进制NB两个数码:0、1,逢二进一。 例1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3

加权展开式以2为基数,各位系数为0、1。 一般表达式:

1.2.1

计算机中的进位计数制八进制No八个数码:0、1、2、3、4、5、6、7逢八进一。例1101.101=1×83+1×82+0×81+1×80+1×8-1+1×8-3

加权展开式以8为基数,各位系数为0~7。一般表达式:1.2.1

计算机中的进位计数制

十六进制NH十六个数码0~9、A~F,逢十六进一。 例:DFC.8=13×162+15×161+12×160+8×16-1

展开式以十六为基数,各位系数为0~9,A~F。 一般表达式:

1.2.1

计算机中的进位计数制问题?2,8,10,16进制的英语?1.2.1

计算机中的进位计数制小节每一计数制有一确定的基数R,系数ai有R种可能的取值“逢R进一”小数点右移一位相当于乘R;反之相当于除以R二.进位计数制之间的转换R进制数转换为十进制数:按权展开,求和

例:1011.1010B=1×23+1×21+1×20+1×2-1+1×2-3=11.625DFC.8H=13×162+15×161+12×160+8×16-1=3580.5十进制数转换为R进制数:整数和小数部分分别进行转换

1、整数部分

“除R取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。二.进位计数制之间的转换例:39转换成二进制数

39=100111B 2 392191(b0)

291(b1) 241(b2)

220(b3)

210(b4)

01(b5

)二.进位计数制之间的转换2、小数部分

“乘R取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。例:1、0.625转换成二进制数

0.625 ×2 1.2501(b-1) × 2 0.500(b-2) × 2 1.0 1(b-3)0.625=0.101B二.进位计数制之间的转换二进制与八进制、十六进制之间的转换

八进制二进制:一位八进制数用三位二进制数表示。十六进制二进制:一位十六进制数用四位二进制数表示。二进制八进制:从小数点开始,分别向左右两边把三位二进制数码划为一组,最左和最右一组不足三位用0补充,然后每组用一个八进制数码代替。二进制十六进制:与八进制类似,但是四位分为一组。1.2.2带符号数的表示无符号数和带符号数

无符号数:机器的全部有效位均用来表示数的大小,如

N=01001表示无符号数9

带符号数:机器中,最高位作符号位(数的符号用“0”、“1”

表示),其余位为数值位。机器数与真值机器数:机器中数的表示形式,如原码、反码、补码。真值:机器数所代表的实际数值例:一个8位机器数与它的真值对应关系:

真值:X1=+84=+1010100BX2=-84=-1010100B

机器数:[X1]机=01010100[X2]机=110101001.2.2带符号数的表示原码

最高位为符号位,0表示正数,1表示负数。 数值位与真值数值位相同。 例:真值:x1=+1010100B x2=-1010100B

机器数:[x1]原=01010100 [x2]原=11010100

特点:

1、表示简单、直观。

2、0的表示不唯一,即真值0有两种不同的表示形式,+0或

-0。[+0]原=0.00…0[-0]原=1.00…03、加减运算复杂。

正数的反码与其原码相同。 负数反码符号位为1,数值位为原码数值各位取反。 例:8位反码机器数 x=+4:[x]原=00000100 [x]反=00000100 x=-4:[x]原=10000100[x]反=11111011x=+0:[x]原=00000000[x]反=00000000 x=-0:[x]原=10000000[x]反=11111111x=+127:[x]原=01111111 [x]反=01111111 x=-127:[x]原=11111111[x]反=100000001.2.2带符号数的表示反码1.2.2带符号数的表示补码数的补码与“模”有关

“模”:计数系统的量程

[X]补=M+X(modM)当X≥0,M丢掉,[X]补=X

当X<0,[X]补=M+X=M-|X|。

正数的补码与原码相同;负数的补码为其反码加1。

例:8位二进制数的模为:28=256

当X<0,[X]补=28-|X|

=256-|X|=255-|X|+1 =[X]反码

+1

1.2.2带符号数的表示1.2.2带符号数的表示

例:8位补码机器数

x=+4 [x]原=[x]反=[x]补=00000100 x=-4 [x]原=10000100 [x]反=11111011,[x]补=11111100

优点:1、0的表示唯一。

2、加减运算方便。即负数用补码表示时,可以把减法转化为加法。

3、8位二进制补码表示的整数范围为+127-128;16位二进制补码表示的整数范围为-32768~+32767;若机器字长为n,则补码表示的整数范围为-2n-1~+(2n-1-1)。

4、由补码求真值:当为负数时,即最高位为1,其绝对值所对应的二进制数应为各数值位“按位求反加1”的和。

1.2.2带符号数的表示补码运算:

补码加法:[A+B]补=

[A]补+[B]补(mod2)

即两数和的补码等于两数补码的和。也就是,在进行补码加法时,可以不必考虑加数的正负,直接进行加法即可。从而简化了计算机内部的操作。

注:在模2的意义下相加,即超过2的进位要丢掉。1.2.2带符号数的表示例:

1、计算(-70+55)

解:[-70]原=11000110[-70]补=10111010[55]原=00110111[55]补=00110111[-70]补+[55]补=10111010+00110111=11110001

因符号位为“1”,所以对补码相加结果11110001的数值部分“求反加1”得:-15

所以:-70+55=-151.2.2带符号数的表示2、计算[-70+(-55)]解:[-70]原=11000110[-70]补=10111010[-55]原=10110111[-55]补=11001001[-70]补+[-55]补

=10111010+11001001=1(10000011)

因符号位为“1”,所以对补码相加结果10000011的数值部分“求反加1”得:-125

所以:-70+(-55)=-1251.2.2带符号数的表示

注:

1、补码运算步骤

1)将参加运算的操作数用补码表示。

2)进行加法得到两数和的补码(符号位作为数的一部分参加运算)

3)判断是否溢出

若没有溢出,则可进一步求和的真值:和为正数可直接求出,和为负数,则再次“求反加1”,得到真值。1.2.2带符号数的表示2、溢出的判断:溢出:带符号数运算的结果超出计算机可以表示的范围,就是溢出。

8位整数范围:(+127,-128)两个同符号数相加有可能产生溢出;两个负数补码相加后得到正数的补码,或两个正数的补码相加后到负数的补码,都是产生了溢出。1.2.2带符号数的表示例:计算[+65]补+

[+96]补解:[+65]补+

[+96]补=01000001+01100000

=0

10100001

而10100001=

[-95]补

可以看出,两个正数的补码相加后得到负数的补码,显然出错了。因为161〉127,所以称为正向溢出1.2.2带符号数的表示例:计算(-70)补+(-60)补解:(-70)补+(-60)补

=10111010+11000100=101111110

两个负数之和却产生了正的结果,同样是因为产生了溢出。因是超出了负的最大范围,所以是负向溢出1.2.2带符号数的表示3、溢出的解决:扩大数的表示范围可以防止溢出。数的扩展不能改变数的大小,只能改变数的位数。

正数扩展:高位全部加0;负数扩展:高位全部加1。如:-70

(10111010)补

(1111111110111010)补

1.2.2带符号数的表示纯小数时的情况

1、8位二进制数补码范围:+127/128--1

小数形式:0.1111111-1.00000002、转换方法:与整数相同1.2.2带符号数的表示移码

定义:[x]

移=2n-1+x[x]

移机器数,x为真值表示:符号位与补码相反,其它位与补码相同。

1.2.4计算机中常用的编码BCD码(BinaryCodedDecimal)

二进制代码表示的十进制数。

8421BCD码例:求十进制数876的BCD码

[876]BCD=100001110110 876=36CH=1101101100B

1.2.4计算机中常用的编码符号信息的编码:P11表1-2-2

美国标准信息交换码ASCII码,用于计算机与计算机、计算机与外设之间传递信息。汉字的编码

第3节微型计算机系统

1.3.1微处理器微处理器

中央处理器:运算器和控制器合在一起称中央处理器。

微处理器:利用超大规模集成电路技术把运算器和控制器集成在一片硅片上形成微处理器,即CPU。一般由算术逻辑单元、累加器和通用寄存器组、程序计数器、数据地址锁存器/缓冲器、时序和控制逻辑部件及内部总线等组成。

1.3.1微处理器微处理器结构CPU的主要功能是取出指令、分析、并执行指令,也就是不断地从存储器中取出指令和操作数,完成指令所规定的操作工作。

1.3.1微处理器1)算术逻辑单元ALU:进行各种算术运算和逻辑运算。2)累加器和通用寄存器组:保存参加运算的数据和运算的中间结果。累加器是特殊的寄存器,它既向ALU提供操作数,又接收ALU的运算结果。3)CPU中有一些专用寄存器(如程序计数器PC、堆栈指针

SP和标志寄存器FR等)。4)程序计数器用来存放下一条要执行的指令地址。1.3.1微处理器5)堆栈指针SP:用来存放栈顶地址。堆栈是一种特殊的存贮区域,按照“先进后出”的原则工作。6)标志寄存器:存放指令执行结果的特征和处理器的状态。7)指令译码器:对指令进行译码,产生相应的控制信号送至时序和控制逻辑电路,组合成外部电路工作所需要的时序和控制信号。1.3.1微处理器

指令执行的基本过程:(1)假设程序已存储在内存单元中。开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。(2)控制器将程序计数器中的地址送至地址寄存器MAR,并发出读命令。存储器根据此地址取出一条指令,经过数据总线送入指令寄存器IR。(3)指令译码器对IR中的指令进行译码,并由控制逻辑阵列向存储器、运算器等部件发出操作命令,执行指令操作码规定的操作。操作可以是读/写内存、算术/逻辑运算或输入/输出操作等。(4)修改程序计数器的内容,为取下一条指令做准备。

1.3.2微型计算机微型计算机

微型计算机由CPU、存储器、输入/输出接口及系统总线组成。微机与外部交换信息通过总线控制。外部——采用三总线结构AB、DB、CB。内部——采用单总线,

即内部所有单元电路都挂在内部总线上,分时使用总线。1.3.2

微型计算机1.3.2微型计算机1、总线及存储器

系统总线包括数据总线DB、地址总线AB和控制总线CB。地址总线:传送地址信息,单向。其位数决定了CPU可以直接寻址的内存空间、I/O口数目。A15~A0,可寻址216=64KB内存单元。A7~A0,可寻址28=256外设接口。数据总线:传送数据,双向。其位数和微处理器的位数相对应。控制总线:传输控制信号。

1.3.2微型计算机

存储器1)存储器是用来存储数据、程序的部件。按照存储器与CPU的关系,分为内存储器(主存储器)和外存储器。按其工作方式,又可分为随机存储器和只读存储器。2)三级存储体系结构:高速缓冲存储器、内存储器和外存储器

1.3.2微型计算机输入/输出设备和接口:外设:计算机中除主机以外的其它机电或电子设备统称外部设备,简称外设。

I/O接口:CPU和外设之间的I/O适配器,是微型计算机的重要组成部件。1.3.2微型计算机2、微型计算机分类

从微型计算机的结构形式来分,为单片机、单板机和多板机。

单片微型计算机(即单片机)。把微型计算机的主要部件CPU、一定容量的存储器、I/O接口及时钟发生器集成在一块芯片上的单芯片式微型计算机。具有体积小、指令系统简单、性价比高等优点,广泛应用于工业控制、智能仪器仪表等领域。

单板微型计算机,即单板机。是将微处理器、一定容量的存储器、输入/输出接口、简单的外部设备、辅助设备通过总线装配在一块印刷电路板上的微型计算机。主要用于实验室以及简单的控制场合。

1.3.2微型计算机

多板微型计算机也叫系统机。是将单板机模块、存贮器模块和I/O接口等模块组装在一块主机板上,通过主机板上的系统总线和各种外设适配器连接键盘、显示器、打印机、光驱、软、硬盘驱动器,配上电源。将主机板、软、硬盘驱动器等安装同一机箱内,适配器、适配卡插在总线扩展槽上,通过总线相互连接,就构成多板微型计算机,配上系统软件即构成微型计算机系统。个人计算机就是多板微型计算机系统。1.3.2微型计算机

按照微型计算机数据总线的宽度,也就是按照在一次操作中所能传送的二进制位数的最大值来进行划分,可分为4位、8位、32位、64位机。

按照微型计算机的应用,又可将微型机分为通用机和专用机。1.3.3微型计算机系统

微型计算机系统

以微型计算机为主体,配上系统软件和外部设备以后,就构成完整的微型计算机系统。

1.3.3微型计算机系统1.3.3微型计算机系统

性能指标:1)字长:字是CPU与存贮器或输入/输出设备之间传送数据的基本单位。字的二进制代码位数称为计算机字长,反映一台机器的计算精度。

2)主存容量:主存贮器所能存贮的信息总量为主存容量。是衡量计算机处理能力大小的一个重要指标。表示主存容量有两种方法:用字节数表示;用单元数×字长表示。1.3.3微型计算机系统3)主频:主时钟信号的频率称为计算机主频,用于协调计算机操作。决定计算机的处理速度,频率越高,处理速度越快。4)运算速度:计算机每秒钟运算的次数。5)系统可靠性:指计算机系统在规定的时间和工作条下正常工作而不发生故障的概率。计算机系统的可靠性含系统的可维护性和可用性,三者构成计算机系统的可靠性指标。

1.3.3微型计算机系统6)系统的兼容性:兼容性指一种计算机中的设备和程序可以用于其他多种系统中的性能,分硬件兼容和软件兼容。7)性能价格比:是计算机产品性能优劣的综合性指标。包括计算机硬件和软件的各种性能。计算机中常用术语bit1Mb=1024

1024bit=220bit1Gb=230bit=1024Mb1Tb=240bit=1024GbByte1Byte=8bit,1KB=1024Byteword:表示字长,有1bit,4bit,8bit等

微型计算机中的微处理器

内容:•8086/8088CPU的编程结构•8086/8088CPU的引腿信号和工作模式•寄存器结构

•8086/8088的存储器组织•8086的I/O组织•8086/8088微处理器典型时序分析Intel8086/8088结构

8086/8088微处理器是Intel公司推出的第三代CPU芯片,它们的内部结构基本相同,都采用16位结构进行操作及存储器寻址,两种处理器都封装在相同的40脚双列直插组件(DIP)中。在Intel8080与8085的基础上发展起来的。结构特点:

(1)内部结构是16位的(内部寄存器,内部运算部件,内部操作按16位设计);

(2)外部数据总线16(8086)/8(8088)位,能处理16位数据,也能处理8位数据;

(3)汇编语言与8080/8085兼容,即能执行整套8080/8085的指令.

增加了许多16位操作指令;

(4)20条地址总线,直接寻址能力1M字节;

(5)40条引线、双列直插式;

(6)单相时钟;

(7)电源为5V。

8088微处理器与8086微处理器的主要区别:对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容。2.18086/8088CPU的编程结构

传统结构的CPU执行程序时,取指令与执行指令交替进行:

为提高CPU的工作效率,8086/8088CPU采用流水线处理方式,取指令与执行指令同时进行。

一方面提高了执行速率;一方面降低了与之相配的存储器的存取速度的要求。8086/8088的编程结构分两部分:1、总线接口单元BIU(BusInterfaceUnit)2、执行部件 EU(ExecutionUnit)8086CPU的功能结构一、总线接口单元BIU(BusInterfaceUnit)

1、功能:负责与存储器、I/O端口进行数据传送。具体讲:取指令:总线接口部件从内存中取出指令后送到指令队列。预取指令。配合EU执行指令,存取操作数和运算结果。2、组成

段地址寄存器(CS、DS、ES、SS)。•16位指令指针寄存器IP。•

地址加法器(形成20位物理地址),•6字节(8086)或4字节(8088)的指令队列,•

内部寄存器•

总线控制电路:

3、注:1)指令队列

8086的指令队列为6个字节,8088的指令队列为4个字节。

2)指令执行顺序顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。执行转移指令:BIU清除指令队列中的内容,从新的地址取入指 令,立即送往执行单元,然后再从新单元开始重 新填满队列。二、EU(ExecutionUnit)执行单元

1、功能:负责指令执行。

2、组成:

4个通用寄存器:AX、BX、CX、DX

4个专用寄存器:BP、SP、SI、DI,

标志寄存器(PSW):为16位,存放指令执行结果的特征和处理器状态,如结果为0,为负,单步执行等。

算术逻辑单元ALU:

16位加法器。完成8位/16位二进制数的算术逻辑运算。

•EU控制系统:接受从总线接口单元的指令队列中取来的指令代码, 对其译码和向EU内各有关部分发出时序命令信号,协调执行指令规定的操作。由此可见,8086/8088微处理器:

BIU和EU分开,取指和执行可以重迭,大大减少了等待取指所需的时间,提高CPU的利用率。三、8086/8088处理器的启动和程序执行过程1、CPU的启动

8086/8088系统中,CPU被启动后,处理器内部的各寄存器和标志寄存器的内容自动设置为:

CSFFFFHDS0000HSS0000HES0000HIP0000H指令队列空

FR0000H(禁止中断)因CS=FFFFH,IP=0000,所以8086/8088将从地址FFFF0H开始执行指令。故8086/8088引导程序的入口地址在FFFF0H。2、程序执行过程设程序的指令代码已存放在存贮器中。为执行程序,CPU按照时钟节拍,产生一系列控制信号,有规则地重复进行以下过程。(1)BIU从存贮器中取出一条指令存入指令队列。(2)EU从指令队列取指令并执行指令。BIU利用总线空闲时间,从内存取第二条指令或取第三条指令存入指令队列。(3)EU执行下一条指令。如果前面一条指令有写存贮器的要求,则通知BIU把前条指令结果写到存贮器中,然后再取指令存入指令队列。

(4)如指令执行要求读取操作数,由BIU完成。(5)EU执行再下一条指令,返回(1)处继续执行上述操作过程。所以,程序的执行过程就是CPU取指令、分析指令、执行指令,再取指令这样一个循环重复过程。在指令执行过程中,利用EU分析指令操作码和执行指令时不占用总线操作时间的特点,BIU自动地通过总线读取存贮器中的指令码存入BIU指令队列,从而使BIU与EU并行工作,提高CPU执行指令的速度。

四、8086/8088CPU的总线周期概念总线周期:BIU通过系统总线对存储器或I/O端口进行一次读/写操作的过程称为一个总线周期。

8086/8088CPU的一个基本总线周期由4个时钟周期(T1~T4)组成,也称4个T状态。

CPU在每个时钟周期内完成若干个基本操作,具体是:

T1状态:CPU向多路复用总线上发送地址信息指出要寻址的存储单元或外设端口地址。

T2状态:CPU从总线上撤消地址,使总线的低16位置为高阻抗状态,为传输数据作准备。总线的高4位输出本总线周期状态信息。这些状态信息用来表示中断允许状态、当前正在使用的段寄存器等。

T3状态:CPU在总线的高4位继续输出总线周期状态信号。在总线的低16位出现由CPU写出的数据,或者从存储器或

I/O端口读入的数据。T4状态:总线周期结束。TW等待状态:如果存储器或I/O设备不能及时配合CPU传送数据,这时外设或存储器会通过“READY”信号线在

T3状态启动之前向CPU发数据“未准备好”信号,迫使CPU在T3状态后插入等待状态TW。TW状态的总线情况与T3周期的情况相同。当被选中的存储器或I/O

端口有足够的时间来完成读写操作时,就发出“准备好”(Ready)信号,使CPU脱离TW状态继续工作。T1空闲状态:如果在一个总线周期之后,不立即执行下一个总线周期,或者当指令队列是满的,执行部件

EU又没有访问总线的要求,这时BIU就处于空闲状态。空闲状态,可以包含一个或几个时钟周期。8086/8088CPU的典型总线周期时序

一、最大和最小工作模式最小工作模式:指系统中只有8086/8088一个微处理器,构成小规模的应用系统。最小模式也称单处理器模式。在最小模式系统中,所有的系统总线信号都直接由8086/8088CPU产生。

最大工作模式:指系统中包含有两个或两个以上的微处理。一个为主处理器(8086/8088CPU),其他的称为协处理器,协助主处理器工作。构成较大规模的应用系统。

常与主处理器8086/8088CPU配合的协处理器:一个是专用于数值运算的协处理器8087;另一个是专用于输入/输出操作的协处理器8089。最大模式是一个多处理器系统,需要解决主处理器和协处理器之间的协调工作问题和对系统总线的共享控制问题。2.28086/8088CPU的引腿信号和工作模式二、8086/8088CPU的引腿信号和功能

8088/8086CPU的引脚1、AD15~AD0(Address/DataBus)地址/数据复用总线传送地址时三态输出,传送数据时三态双向输入/输出。

T1状态:用来输出访问存储器或I/O端口的地址。

T2状态:如果是读周期,则处于浮空(高阻)状态,如果是写周期,则为传送数据。在中断响应及系统总线处于“保持响应”周期时,AD15~AD0被置成高阻状态。

在8086系统中,常将AD0为低8位数据的选通信号。

2、A19/S6~A16/S9(Address/Status)地址/状态复用线作地址线时,高4位(A19~A16)地址,与AD15~AD0构成20位访问存储器的物理地址。作状态线时,输出状态信息S6~S3。

3、/S7(BusHighEnable/Status)高8位数据总线允许/状态复用信号高8位数据有效信号,低电平有效。和AD0结合起来,指出当前传送的数据在总线上将以何种格式出现。4、RD(Read)读信号。输出、三态、低电平有效。有效时,表示CPU正在对存储器或I/O端口进行读操作,具体是对存储器读,还是对I/O端口读,由/M

(8088为IO/M

)决定。

5、READY存储器或I/O口准备就绪,输入。

用来使CPU和慢速存储器或I/O设备之间实现速度匹配的信号。在总线操作周期中,CPU会在第3个时钟周期的前沿测试该引脚如果测到高有效,CPU直接进入第4个时钟周期如果测到无效,CPU将插入等待周期TwCPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。

6、(Test)测试信号,输入、低电平有效。

用于协调8086/8088CPU与协处理器的工作。该引脚与WAIT指令配合使用。当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行。也就是说,WAIT指令使CPU产生等待,直到引脚有效为止.

在使用协处理器8087时,通过引脚和WAIT指令,可使8088与8087的操作保持同步。7、INTR(InterruptRequest)可屏蔽中断请求信号,输入、高电平有效。8、NMI(NO-MaskableInterrupt)不可屏蔽中断请求信号,输入、高有效。9、RESET(Reset)复位信号,输入、高电平有效。10、CLK(Clock)主时钟输入端11、MN/MX(MaximumModeControl)最小/最大模式控制信号。

当此引脚接高电平时,CPU工作于最小模式;接低电平时,CPU工作于最大模式。12、GND、VCC和电源以上信号是8086/8088CPU工作在最小模式和最大模式时都要用到的。8086/8088的第24~31腿信号在不同模式下有不同的名称和定义。两种模式下的主要区别体现在第24~31号引脚的功能定义不同。三、最小模式1、引腿信号(1)/M(Memory/InputandOutput)存储器/输入输出控制信号。用来区分CPU当前是访问存储器还是访问I/O端口。对于8088CPU,该信号定义为IO/,功能相同。(2)(Write)写信号,三态、输出、低电平有效。有效时,表示CPU当前正在进行写操作。是写存储器还是写I/O端口

,由/M来区分。DMA方式时,/M被置成高阻态。(3)(InterruptAcknowledge)中断响应信号,输出、三态、低电平有效是对中断请求信号INTR的响应。CPU在整个中断响应周期内发出两个连续的负脉冲,第一个负脉冲是通知请求中断的外设,其发出的中断请求已得到响应,外设接口收到第二个负脉冲后,向数据总线上送中断类型码,信号通常用来作为读取中断类码的选通信号。(4)ALE(AddressLatchEnable)地址锁存允许信号,输出、高电平有效。

在任何一个总线周期的T1状态,ALE输出有效电平,表示当前在地址/数据复用总线上输出的是地址信息,锁存器利用它将地址锁存,ALE信号不能浮空。(5)DT/(DataTransmit/Receive)数据发送DT/接收控制信号,输出、三态。表明当前总线上数据的流向(高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收))当使用总线收发器8286/8287时,可用DT/信号来控制总线收发器的数据传送方向。

DMA方式时DT/被置为高阻抗状态。(6)(DataEnable)数据允许信号,输出、三态、低电平有效。有效时,表示当前数据总线上正在传送数据。当使用总线驱动器8286/8287时,信号用来作为8286/8287的输出允许控制信号,使之开始传送数据。(7)HOLD(HoldRequest)总线保持请求信号,输入、高电平有效。作为其它部件向CPU发出使用总线的请求信号。(8)HLDA(HoldAcknowledge)总线保持响应信号,输出、高电平有效。

是CPU对总线保持请求信号HOLD的响应信号。

注:在最小模式下,8088CPU只有8位数据总线,不需要信号。因此,34引脚定义为。和IO/及DT/信号组合起来,决定了当前总线周期的操作。含义000011110011001101010101取指令读存储器写存储器无源状态发中断响应信号读I/O端口写I/O端口暂停、8088中、、信号的组合及其对应的总线操作

2、系统配置

8086CPU在最小模式下的基本配置

最小组态工作模式下总线的形成(1)20位地址总线:

采用3个三态透明锁存器8282进行锁存和驱动.(2)16位数据总线:

采用数据收发器8286进行驱动.(3)系统控制信号:

由CPU引脚直接提供.Intel8282具有三态输出的TTL电平锁存器STB电平锁存引脚OE输出允许引脚每一位都是一个三态锁存器,8个三态锁存器的控制端连在一起

8位双向缓冲器控制端连接在一起,低电平有效可以双向导通输出与输入同相OE=0,导通

T=1A→BT=0A←BOE=1,不导通每一位都是一个双向三态门,8位具有共同的控制端Intel8286

四、最大模式

1、信号引腿(1)QS1,QS0(InstructionQueueStatus)指令队列状态信号,输出。信号QS1,QS0的组合用来指示CPU内的指令队列的当前状态,以便外部对CPU内指令队列的动作跟踪。(2),,(BusCyclsStatus)总线周期状态信号输出。状态信号的不同组合,指出CPU在当前总线周期所进行的操作类型。最大模式中,总线控制器8288利用这些状态信进行组合,产生访问存储器和I/O端口的控制信号。(3)RQ/GT0,RQ/GT1(Request/Grant)总线请求信号输入/总线请求允许信号,输出。在最大模式系统中,主CPU和其他协处理器间交换总线使用权的联络控制信号。GT0的优先级高于GT1。

(4)(lock)总线封锁信号,输出。有效时,表明此时CPU不允许其他总线主模块占用总线。在DMA期间,被置为高阻抗状态。2、系统配置8086在最大模式下的系统基本配置

系统控制总线:主要由总线控制器8288形成:MEMR、MEMW、IOR、IOW、INTA总线控制器8288芯片的引脚和内部结构。来自8086/8088CPU的总线状态信号,,经8288状态译码器译码后,与输入控制信号,CEN和IOB相互配合,产生总线命令信号和总线控制信号。8288的引脚及内部结构框图

1、通用寄存器 通用寄存器包括:数据寄存器、地址指针寄存器、变址寄存器。数据寄存器包括:AX、BX、CX、DX。地址指针寄存器包括:SP、BP。变址寄存器包括:SI、DI。2、段寄存器段寄存器包括:CS、SS、DS、ES。3、控制寄存器控制寄存器包括:IP、PSW。2.3寄存器结构1、通用数据寄存器

AX、BX、CX、DX作为通用寄存器。用来暂存计算过程中所用到的操作数,结果或其它信息。访问形式: 可以用16位的访问; 或者可以用字节(8位)形式访问.

高8位记作:AH、BH、CH、DH。 低8位记作:AL、BL、CL、DL。AX——(Accumulator)累加器。 它是算术运算的主要寄存器。 所有I/O指令都使用这一寄存器与外部设备交换数据。 BX——Base用作基址寄存器使用。 在计算内存储器地址时,经常用来存放基址。CX——Count可以作计数寄存器使用。

DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时,把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位。

2、地址指针与变址寄存器

SP、BP、SI、DI四个16位寄存器。 以字为单位在运算过程中存放操作数, 经常用以在段内寻址时提供偏移地址。

段地址:只取段起始地址高16位值。偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。

SP:为堆栈指针寄存器,指出当前堆栈段中栈顶的偏移地址,与SS联用。

BP:为对堆栈操作的基址寄存器。BP中存放的是堆栈中某一存储单元的偏移地址,不是指栈顶。通常和SS联用。

SI:为源变址寄存器,与数据段寄存器DS联合使用,确定数据段中某一存储单元的地址。

DI:为目的变址寄存器,与数据段寄存器DS联合使用,确定数据段中某一存储单元的地址。

SI和DI具有自动增量和减量的功能。在串操作指令中,SI、DI隐含作为源变址和目的变址寄存器。对其他的指令,则没有这种限制。3、段寄存器 段寄存器:4个16位段寄存器CS、DS、SS、ES。 用来识别当前可寻址的四个段,不可互换的使用。CS——CodeSegmentRegister代码段寄存器 用来识别当前代码段(程序一般放在代码段)。DS——DataSegmentRegister数据段寄存器 用来识别当前数据段寄存器。SS——StackSegmentRegister堆栈段寄存器, 用来识别当前堆栈段。ES——ExtraSegmentRegister附加段寄存器, 用来识别当前附加段。4、指令指针寄存器用来存储代码段中的偏移地址;

程序运行过程中IP始终指向下一次要取出的指令偏移地址。 IP要与CS寄存器相配合才能形成真正的物理地址。5、标志寄存器FR

由条件码标志FLAG、控制标志构成。 只用了其中9位,6位条件码标志,3位控制标志。•

状态标志位:

用来记录程序中运行结果的状态信息。包括6位:CF、PF、AF、ZF、SF、OF。CF进位标志

CF=1:从最高有效位产生进位值。

CF=0:从最高有效位不产生进值。PF奇偶标志

PF=1:结果操作数低8位中有偶数个1。

PF=0:结果操作数低8位中有奇数个1。AF辅助进位标志

AF=1:第3位(半个字节)产生进位值。

AF=0:第3位(半个字节)不产生进位值。ZF零标志

ZF=1:运算结果为0。

ZF=0:运算结果不为0。SF符号标志

SF=1:运算结果的符号为负。

SF=0:运算结果的符号为正。OF溢出标志

OF=1:在运算过程中,如操作数超过了机器表示的范围称为溢出。

OF=0:在运算过程中,如操作数未超过了机器能表示的范围称为不溢出。8086CPU寄存器结构图

IF中断标志位

IF=1,允许外部可屏蔽中断。

IF=0,关闭中断。CPU禁止响应可屏蔽中断请求。DF(DirectionFlag)方向标志,用来控制串操作指令标志。

DF=0,地址指针为自动递增

DF=1,地址指针自动递减。由STD指令可使DF置1,用CLD指令可使DF清0。TF单步标志。

TF=1时,CPU为单步工作方式,每执行完一条指令就自动产生一次内部中断。用在调试程序,可使用户逐条跟踪程序。控制标志一旦设置,便对处理器的操作产生控制作用。控制标志:对控制标志位进行设置后,对其后的操作起控制作用标志: ∴SF=0;ZF=0PF=0;CF=0AF=0;OF=0。例1:执行两个数的加法,分析对标志位的影响。标志:SF=1;ZF=0;CF=0;OF=1;PF=1;AF=1。例2:执行两个数的加法,分析对标志位的影响。2.48086存储器组织

1、存储单元的地址和内容

2、8086存储器的分体结构

3、存储器的分段

4、物理地址的形成1、存储单元的地址和内容存储单元地址:就是对存储单元的编号。

8086/8088系统中,存储器是按照字节编址的,即一个存储单元存放一个字节的内容。存储单元内容:是指一个存储单元中的有效信息。

8086/8088系统字长是16位的,由二个字节组成。所以当一个字存入存储器时需要占用相继的二个存储单元:低位字节存入低地址单元,高位字节存入高地址单元。字单元的地址采用它的低地址来表示。2、8086存储器的分体结构在8086系统中,将其可寻址的1MB存储器分为两个512KB的存储体,即奇地址存储体和偶地址存储体,各为512KB。奇地址存储体与系统高8位数据总线相连,偶地址存储体与系统低8位数据总线相连。所以,访问存储器时,读/写偶地址体时,数据从低8位数据总线上传送。读/写奇地址体时,数据从高8位数据总线上传送。奇偶存储体的选择由信号决定。存储器分体结构单元示意图

8086系统中存储器与总线的连接

内存中数据的存放规则是一个字节数据可以存放在奇地址体,也可以在偶地址体,字节地址就是存储单元的实际地址。一个字(16位)数据占连续的二个单元,高字节存放高地址,低字节存放低地址,并将低字节的地址作为该字的字地址。CPU访问存储器规则是:一次读/写一个字,并且均从偶地址开始。所以读/写字、字节就会有几种不同的情况A0操作所用的数据总线00存取规则字(从偶地址开始读/写一个字)AD15~AD010从偶地址内存单元或I/O端口读/写一个字节AD7~AD001从奇地址内存单元或I/O端口读/写一个字节AD15~AD80110从奇地址开始读/写一个(非规则)字第一总线周期高8位数据有效AD15~AD8AD7~AD0第二总线周期低8位数据有效代码组合及对应的存取操作

读/写一个字节:只须访问某个存储体(奇体或偶体),相应的8位数据在数据总线上有效,而另一个字节的数据被忽略

读/写偶地址字节

读/写奇地址字节读/写一个字:若该字单元地址是从偶地址开始的,则只须执行一个总线读/写周期便可完成对该字的读/写操作;若该字地址从奇地址开始,则CPU需要执行连续的二个总线读/写周期才能完成对该字的读/写,第一次取奇地址体上数据,偶地址体上的8位数据被忽略,第二次取偶地址体上数据,奇地址体上8位数据被忽略。

读/写偶地址字

第一个总线周期第一个总线周期

读/写奇地址字

3、存储器地址分段:

8086/8088有20条地址总线,直接寻址能力为220=1M字节。用16进制数表示1M字节的地址范围应为00000H~FFFFFH。

CPU中的寄存器是16位的,20位地址无法用16位寄存器表示,必须分段。 程序员在编制程序时把存储器划分成段。 段内地址16位,每个段的大小最大可达64KB;

20位物理地址形成物理地址:在1M字节存储器里,每个存储单元都有一个唯一的20位地址作为该存储单元的物理地址。

CPU访问存储器时,必须先确定所要访问的存储单元的物理地址才能取出(或存入)该单元中的内容。

20位物理地址形成:由16位段地址和16位偏移地址组成。段地址:只取段起始地址高16位值。偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。物理地址计算方法:即把段地址左移4位再加上偏移地址值形成物理地址,写成:

物理地址=16d

段地址+偏移地址。每个存储单元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址组成。存储器物理地址的计算方法

段地址与偏移地址关系示意图

段寄存器和其他寄存器组合指向存储单元示意图2-58086的I/O组织

8086系统和外部设备之间是通过I/O芯片连接的。每个I/O芯片都设置有一定数目的端口,一个端口通常对应芯片内部的一个寄存器或者一组寄存器。微型机系统为每个端口分配一个地址,叫端口号。各端口号不能重复。

8086可以访问64K个8位I/O端口,两个编号相邻的8位端口可以组合成一个16位端口。

CPU在执行访问I/O端的指令即输入(IN)指令和输出(OUT)指令时,硬件上会自动产生有效的信号或者信号,同时使M/信号处于低电平,通过外部逻辑电路的组合产生对I/O端口的读信号或者对I/O端口的写信号,以上是I/O端口独立编址方式的操作过程。

I/O端口和存储器也可以统一编址,用对存储器的访问指令来实现对I/O端口的读/写。存储器的读/写指令的寻址方式多,功能强,编制程序方便灵活。8086采用I/O端口独立的编址方式。2-68086/8088的时序一、时序的基本概念

时序。计算机中一条指令的执行,是通过将指令的功能分成若干个最基本的操作序列,顺序完成这些基本操作就实现了指令的功能。基本操作由具有命令性质的脉冲信号控制电路各部件完成的。命令信号的出现,必须有严格的时间先后顺序。这种严格的时间上的先后顺序称为时序(TimeOrder)。

时钟信号与T状态。确定时序必须有定时信号。微型计算机中的定时信号由时钟信号CLK产生。是CPU一切操作的计时标准和基本控制信号。通常时钟周期(ClockCycle)是CPU计时的最小单位,称为一个T状态(TState)或T周期。时钟信号是各种命令脉冲信号和定时信号的脉冲源。时钟信号在时间上有先后次序,在空间上由不同的输出信号线输出。

指令周期。执行一条指令所需要的时间。8086中的指令的指令周期是不等长的。

总线周期。CPU通过系统总线对存贮器或I/O端口进行一次存取操作所需的时间称为一个总线周期(BusCycle)。二、时序分析

分析步骤:首先搞清时序图对应的基本操作和操作过程,二是要熟悉时序图中出现的所有信号的含义。三是按照定时信号的先后顺序,抓住信号变化,按时间先后依次分析,确定各微操作的定时关系。以8086为例讲述总线读操作和总线写操作的时关系。1、最小模式下的总线读操作按4个时钟周期分析。

2、最小模式下的总线写操作最大模式中,其时序分析过程与最小模式的分析过程相同。

8088/8086的指令系统指令系统:一台计算机所能识别和执行的全部 指令的集合。指令的组成:操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。操作数是指令执行的参与者,即各种操作的对象。有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数。操作码操作数指令的表示: 二进制代码

0000001011001111B(机器指令)

助记符

ADD

CL,BH(汇编指令)3.18088/8086的寻址方式根据指令内容确定操作数地址的过程,称为寻址。根据寻址计算所得到的操作数地址叫做操作数的有效地址(EA),也就是段内偏移地址。有效地址还需要与相应的段基地址组合才是20位的物理地址(PA)

,该工作由CPU完成。操作数的来源:(1)直接包含在指令中; (2)在CPU的某寄存器中; (3)在内存中。3.18088/8086的寻址方式寻址方式有:AX12H34HAHAL1、立即寻址 操作数直接放在指令中。不 需要访问存储器。 例:

MOVAL,34H

MOVAX,1234H

需要注意在16位操作时,两个字节数据的高低位存储位置。立即数只能是源操作数。3.18088/8086的寻址方式2、寄存器寻址 操作数就放在CPU的内部寄存器中,AX、BX、CX、DX、DI、SI、SP和BP,不需要访问存储器。例:INCCX

MOVAX,BX

若执行前AX=30A6H,

BX=69EDH,

CX=40D9H

则执行后AX=69EDH,

BX内容不变

CX=40DAH3.18088/8086的寻址方式3、直接寻址有效地址由指令直接给出,有效地址只包含位移量。 例:MOVAX,[2000H]

默认的段寄存器是DS,也可以在指令中使用段 超越前缀来指定段寄存器。例:MOVAL,ES:[2000H]

有效地址EA=2000H,在指令中直接给出。 物理地址PA=(ES)×10H+2000H3.18088/8086的寻址方式4、寄存器间接寻址 操作数的地址在对应的寄存器中称为寄存器间接寻址。

EA取自基址寄存器BX,BP或变址寄存器SI,DI

中的一个,操作数在有效地址对应的存储单元中。以SI,DI,BX间接寻址:默认操作数在数据段DS中 以BP间接寻址:默认操作数在堆栈段SS中

例:MOVAX,[BX]

若(DS)=1492H,(BX)=2000H

则EA=(BX)=2000H

物理地址PA=14920H+2000H=16920H, 执行(AX)=(16920H)3.18088/8086的寻址方式5、变址寻址在寄存器间接寻址的基础上再加一个16位的偏移量.例:MOVAX,[SI+COUNT]

若COUNT=3000H,(DS)=3000H

(SI)=2000H,则物理地址=35000H,EA=3000H+2000H=5000HPA=30000H+5000H=35000H3.18088/8086的寻址方式6、基址加变址寻址

EA

=基址寄存器(BX或BP)+变址寄存器(SI或DI) [+16位偏移量]若用BX:默认操作数在数据段DS中 若用BP:默认操作数在堆栈段SS中 例:

MOVAX,[BX+DI+6]3.18088/8086的寻址方式寻址方式的书写格式1、在方括号内部允许有一个或两个寄存器的名字,如果一对方括号内部有基址寄存器和变址寄存器,使用“+”作为连接。2、在方括号内部允许有位移量,使用+或—号作为连接符号。3、在方括号外部允许有位移量,可以在左边或右边。

MOV AX,[BX+SI+6] MOV AX,[BX+SI]6 MOV AX,6[BX+SI] MOV AX,[BX][SI]6 MOV AX,[BX+6][SI] 3.28088/8086的指令系统Intel8086/8088指令系统共有117条基本指令,可分成6个功能组:①数据传送类指令②算术运算类指令③逻辑运算类指令④串操作类指令⑤控制转移类指令⑥处理器控制类指令 3.2.1数据传送指令1.数据传送MOV指令

一般格式:MOVOPRD1,OPRD2 MOV是操作码,OPRD1和OPRD2分别是目的操作数 和源操作数。

功能:完成数据传送 具体来说,一条MOV数据传送指令能实现:

⑴CPU内部寄存器之间数据的任意传送(除了代码段寄存器CS和指令指针IP以外)。MOVAL,BL;字节传送MOVCX,BX;字传送MOVDS,BX 3.2.1数据传送指令⑵立

温馨提示

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

评论

0/150

提交评论