《微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第二章》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术 教学课件 ppt 作者 吕林涛 主编 梁莉 宋继红 副主编 第二章(32页珍藏版)》请在金锄头文库上搜索。
1、本章内容提要: 微型计算机的组成及工作原理 8086微处理器的功能结构 8086/8088寄存器结构 8086存储器 8086的引脚信号和工作模式 微处理器总线时序 80x86系列微处理器,2.1 微型计算机的组成及工作原理,2.1.1微型计算机基本结构,到目前为止,大多数微型计算机的结构归属于冯诺依曼结构,主要包括运算器、控制器、存储器、I/O设备及其接口电路,如图2.1所示。运算器和控制器合称为中央处理器CPU。,2.1.2 微处理器CPU,微处理器简称CPU,是用来实现运算和控制功能的部件,是整个微型计算机的核心,由运算器、控制器和寄存器组3部分组成。CPU一般具有以下基本功能: 1)
2、指明将要执行指令所在存储单元的地址,取出指令并进行译码。 2) 执行算术运算和逻辑运算,暂存少量数据。 3) 传送数据,包括在CPU内部传送数据以及与外界交换数据。 4) 对各部件进行控制,包括对CPU内部的控制和对CPU以外部件的控制。 5) 响应其他部件发出的中断请求和总线请求等。,2.1.3总线,微型计算机系统采用总线结构,将5大部件连接起来。各部件之间传送信息的公共通道,称为总线(BUS)。 在总线上流动的信息大致可分为两类: 一类是数据和程序,数据包括程序运行所需的原始数据和程序运行的结果以及这些数据的地址信息; 另一类是控制器向各部件发出的控制命令以及各部件发给控制器的状态信息。
3、微机系统利用3组总线,即数据总线DB、地址总线AB和控制总线CB分别传送指令及指令执行过程中相关的数据、地址信息和控制信息。,(1)数据总线 数据总线是在CPU、存储器或I/O端口等部件之间传递数据的通道,每次传送一个“计算机字长”,其宽度(根数)通常与计算机的字长一致。数据总线的传输是双向的。 (2)地址总线 地址总线是寻找、传送存储单元或I/O端口的地址信息的总线。地址总线是由CPU输出给存储器或I/O端口。地址总线数决定了CPU当前可直接寻址空间的大小。 (3)控制总线 CPU控制器发往各部件的控制信号线以及各部件发给CPU的状态信号线构成了“控制总线”,控制线总体上是“双向”的,但就控
4、制总线中某一根来说,在一种确定状态下,只能表示一种信息,其传输是单向的。,2.1.4 存储器,存储器是指微型计算机的内存储器(人们常说内存条),它通常由CPU之外的半导体存储器芯片组成,用来存放程序、原始操作数,中间结果和最终结果数据。,2.1.5 输入/输出设备及其接口电路,输入/输出设备统称为外部设备(简称外设),是微型计算机的重要组成部分。与微型计算机相连接的各种设备统称外部设备。例如,键盘、打印机、显示器、磁带机、磁盘等。另外,在微型计算机的工程应用中,所使用的各种开关、继电器、步进电机、A/D及D/A变换器等均可看作微型计算机的外部设备。,2.2 8086微处理器的功能结构,8086
5、是Intel系列的16位微处理器,是80x86系列微机发展的基础。它所具有的主要特性如下: 1)制造工艺:采用具有高速运算性能的HMOS工艺制成。2)芯片集成度:芯片上集成有29万个晶体管,用单一的+5V电源和40条引脚的双列直插式封装。 3)时钟频率:510MHz,最快的指令执行时间0.4s。4)字长:16位8088为准16位。 5)总线使用方式:数据、地址总线分时复用。 6)内存容量:20位地址可寻址1MB。 7)端口地址:16位I/O地址可寻址64KB个端口。 8)中断功能:可处理内部软件中断和外部硬件中断,中断源可多达25个。,2.2.1 8086/8088 CPU的内部结构,2.2.
6、2 EU和BIU的并行工作,2.2.3 8086与8088的区别,相同点: 1.微处理器内部采用16位结构 2.内部的两个功能部件EU一样 区别: 1.8086的指令队列是6字节长,而8088的指令为4字长; 2.8086是真正的16位机,同BIU相连的8086总线中数据总线是16位总线,而8088是准16位机,同BIU相连的8088总线中数据总线为8位总线。,2.3 8086/8088寄存器结构,在8086微处理器中可供程序员使用的有14个16位寄存器,如图2.5所示。一般而言,14个寄存器按其用途可分为通用寄存器、指令指针、标志寄存器和段寄存器4类。,2.3.1 通用寄存器,一、数据寄存器
7、 数据寄存器包括4个16位的寄存器AX、BX、CX和DX,主要用来存放16位的数据或地址。同时每个数据寄存器又可分成两个8位寄存器,即AH、AL、BH、BL、CH、CL、DH和DL,用来存放8位数据。 数据寄存器用于存放指令操作数。在一些指令中,某些寄存器具有特定的用途:如AX作累加器;BX作基址寄存器;CX在串操作指令中用作计数器;DX在字乘法、除法指令中存放乘积高位或被除数高位或余数,在某些I/O操作期间用来保存I/O端口地址等。,二、指针寄存器和变址寄存器 指针寄存器和变址寄存器是4个16位寄存器。堆栈指针SP(stack point)和基址指针BP(basic point)称为指针寄存
8、器,用来指示当前堆栈段中的数据所在的偏移地址。源变址寄存器SI(source index)和目的变址寄存器DI(destination index)称为变址寄存器,用来表示当前数据段中操作数的索引地址(偏移地址的一部分)。,2.3.2 指令指针,IP(instruction pointer)指令指针是一个16位寄存器,用来存放将要执行的下一条指令在当前代码段中的偏移地址。在程序运行过程中,BIU可修改IP中的内容,IP总是指向下一条待取的指令。IP和CS一起指定下一条指令的物理地址,物理地址=CS16+IP。,2.3.3 控制寄存器组,8086/8088 CPU中设置了一个16位标志寄存器FL
9、AG,用来存放运算结果的特征和控制标志,具体格式见书图所示。16位标志寄存器FLAG中只用其中9位作标志位,其余位为无效位。9个标志位可分成两类:一类叫状态标志位,用来表示算术逻辑运算结果的特征,包括CF、PF、AF、ZF、SF和OF;另一类叫控制标志位,用来控制CPU的操作,由程序设置或清除,它们是IF、DF和TF。,2.3.4 段寄存器组,在8086/8088系统中采用分段技术把1MB的存储空间分成若干个逻辑段,每段最长为64KB,这些逻辑段可以在整个存储空间中定位,用段寄存器给定各个逻辑段的首地址的高16位,这个地址被称作段基址。 1.代码段寄存器CS用来存放当前程序所在的代码段的段基址
10、, 代码段中通常存放可执行的指令代码。 2.数据段寄存器DS用来存放程序当前使用的数据段的段基址。 3.附加段寄存器ES用来存放程序当前使用的附加段的段基址,数据段和附加段通常存放参加运算的操作数或运算结果。 4.堆栈段SS则用来存放当前使用的堆栈段的段基址,一些临时性的数据被保存在堆栈中。,2.4 8086存储器,2.4.1 8086存储器组织及其寻址,8086微处理器地址线为20根,可以寻址1MB的内部存储器,地址编号为00000HFFFFFH。我们约定存储空间以8b为单位进行组织,每个存储单元存储一个字节数据。如果存放一个“字”数据(16b),则存放在相邻的两个存储单元中,并且高字节存放
11、在高地址单元、低字节存放在低地址单元,双字单元的存放方式与字单元类似,它被存放在相邻的4个字节中。,2.4.2 8086存储器的分段结构和物理地址的形成,一、分段结构 8086程序将1MB的存储空间看成为一组连续的存储段,各段的功能由具体用途而定,分别为代码段、数据段、堆栈段和附加段。 二、物理地址的形成 1)当取指令时,8086会自动选择CS值作为段基址,再加上由IP提供的偏移量形成物理地址。 2)当涉及堆栈操作时,8086会自动选择SS值作为段基址,再加上由SP提供的偏移量形成物理地址。 3)当涉及一个操作数(存储器操作数)时,8086会自动选择DS值为段基值(若以BP为基地址,则SS为段
12、基值),再加上16位偏移量形成物理地址,这16位偏移量可以来自:指令中提供的直接地址16位的位移量;某一个16位地址寄存器的值;指令中的位移量加上16位地址寄存器的值。,2.5 8086的引脚信号和工作模式,2.5.1 8086的总线周期的概念,为了取得指令和传送数据,就需要CPU的总线接口部件执行一个总线周期。在8086/8088中,一个最基本的总线周期由4个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由计算机主频决定。 1)在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。 2)在T2状态,CPU从总线上撤销地址,而使总线的低16位浮置成高阻状
13、态,为传输数据作准备。 3)在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位,(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入数据。,4)在T4状态,总线周期结束。,2.5.2中断操作和中断系统的概念,1.8086的中断分类 8086/8088有一个强有力的中断系统,可以处理256种不同的中断,每个中断对应一个类型码,所以,256种中断对应的中断类型码为0255。 从产生中断的方法来分,这256种中断可以分为两大类:一类叫硬件中断;一类叫软件中断。硬件中断是通过外部的硬件产生的,所以,也常常把硬件中断称为外部中断。硬件中断又可以分为两类:一类叫非屏蔽
14、中断;另一类叫可屏蔽中断。软件中断是CPU根据软件中的某条指令或者软件对标志寄存器中某个标志的设置而产生的,从软件中断的产生过程来说,完全和硬件电路无关。,2.向量表位置和结构 8086/8088的中断系统是以位于内存0段的03FFH区域的中断向量表为基础的,中断向量表中最多可以容纳256个中断向量。所谓中断向量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断向量。 3.向量构成 中断向量并不是任意存放的。一个中断向量占4个存储单元,其中前两个单元存放中断处理子程序入口地址的偏移量(IP),低位在前,高位在后,后两个单元存放中断处理子程序入口地址的段地址(CS),同样也是低位在前
15、,高位在后。按照中断类型的序号,对应的中断向量在内存的0段0单元开始有规则的进行排列。,4.中断类型码和中断向量所在位置之间的分布关系,2.5.3微处理器芯片封装及引脚功能,8086/8088 CPU采用标准DIP40线封装,根据它的基本性能至少包含16/8条数据线,20条地址线,再加上其他一些必要的控制信号,这样芯片引脚数量太多,因此对部分引脚采用分时复用方式,构成40条引脚的双列直插式封装.,2.5.4微处理器工作模式,8086 CPU构成的微机系统,有最小模式和最大模式两种系统配置。 1.最小模式 当MN/MX接电源电压时,系统工作于最小模式,即单处理器系统方式。所有控制信号均由CPU直
16、接提供。 8086最小模式系统中,还允许接入其他要求共享总线的设备。例如DMA控制器8237A5等芯片,此时通过HOLD和HLDA进行总线请求与响应。当CPU让出总线使用权后,系统在DMA控制器8237A5的控制下,为外设与存储器之间提供直接传送数据通道,直到DMA控制器操作结束。,2.最大模式 当MN/MX接地,系统就工作于最大模式。最大模式与最小模式系统的主要区别是系统中增设了一个总线控制器8288和一个总线仲裁器8289,这样可构成以8086/8088 CPU为中心的,还包含其他微处理器(如8087数值协处理器和8089 I/O处理器)的微机系统。,2.6微处理器总线时序,2.6.1 最小模式系统中CPU的读/写总线周期,1.8086 CPU读总线周期 最小模式下8086 CPU的读总线周期时序如图所示。T1开始时,BIU将被访问存储器或I/O端口的物理地址A19/S6A16/S3及AD15AD0连同总线高位有效信号BHE一起送至总线上,在地址锁存器允许信号ALE的控制下,可将地址锁存到8282/8