《微型计算机原理》课件第2章 (2).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《微型计算机原理》课件第2章 (2).ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机原理 微型计算机原理课件第2章 2 微型计算机 原理 课件
- 资源描述:
-
1、1 1第2章 微型计算机组成及微处理器功能结构2.1 微型计算机的组成及工作原理微型计算机的组成及工作原理2.2 8086/8088及及80286微处理器微处理器2.3 80386/80486 CPU的功能结构的功能结构2.4 Pentium级级CPU的功能结构的功能结构2.5 精简指令集与复杂指令集计算机精简指令集与复杂指令集计算机2.6 哈佛结构微处理器简介哈佛结构微处理器简介2.7 嵌入式微处理器简介嵌入式微处理器简介习题与思考题习题与思考题第2章 微型计算机组成及微处理器功能结构2 2第2章 微型计算机组成及微处理器功能结构 2.1 微型计算机的组成及工作原理典型的微型计算机硬件组成示
2、于图2.1,它由下列几种大规模集成电路通过总线连接而成。3 3第2章 微型计算机组成及微处理器功能结构图2.1 微型计算机的硬件组成4 4第2章 微型计算机组成及微处理器功能结构2.1.1 微处理器微处理器亦称微处理机,是微型计算机的中央处理部件,简称CPU(Central Processing Unit)。它是用来实现运算和控制功能的部件。它的字长亦即微型计算机的字长,是指CPU中大多数操作的操作数的字长,也就是CPU数据总线的位数。8086/8088及80286 CPU的数据总线均为16位,称为16位微处理器;80386/80486 CPU的数据总线为32位,称为32位微处理器;Penti
3、um级微处理器数据总线为64位。5 5第2章 微型计算机组成及微处理器功能结构2.1.2 存储器图2.1中的存储器是指微型计算机的内存储器。它通常由CPU之外的半导体存储器芯片组成,用来存放程序、原始操作数、运算的中间结果数据和最终结果数据。包括RAM(Random Access Memory)和ROM(Read Only Memory)。6 6第2章 微型计算机组成及微处理器功能结构2.1.3 输入/输出设备及其接口电路输入/输出(Input/Output,I/O)设备统称为外部设备,简称I/O设备,是微型计算机的重要组成部分。输入设备的任务是将程序、原始数据及现场信息以计算机所能识别的形式
4、送到计算机中,供计算机自动计算或处理用。微型机中常用的输入设备包括键盘、鼠标器、数字化仪、扫描仪、A/D转换器等。输出设备的任务是将计算机的计算和处理结果或回答信号以人能识别的形式表示出来。微型机中常用的输出设备包括显示器、打印机、绘图仪、D/A转换器等。软磁盘、硬磁盘及其驱动器对微型机来说,既是输入设备又是输出设备。只读激光盘(CD-ROM)及其驱动器属于微型机的输入设备。软磁盘、硬磁盘及光盘又统称为计算机的外存储器。7 7第2章 微型计算机组成及微处理器功能结构输入/输出设备的种类很多,有电子式、电动式、机械式等,它们的工作速度一般较CPU要低。同时,输入/输出设备处理的信息种类也与CPU
5、不完全相同。CPU只能处理数字量,而外部设备不仅能处理数字量,还能处理模拟量等。因而,外部设备(简称外设)与CPU间的硬件连线和信息交换不能直接进行,必须经过接口电路进行协调和转换。接口电路是微处理器与输入/输出设备联系的必经之路,它的性能随微处理器性能和外设种类的不同而有很大差异,其灵活性和应用范围是很大的。接口电路的主要职责是将微处理器和输入/输出设备之间的信息统一起来。8 8第2章 微型计算机组成及微处理器功能结构I/O接口电路(I/O Interface)的种类很多,常用的有:8255A可编程并行接口电路、8253可编程定时/计数电路、8251可编程串行接口电路、8237直接存储器存取
6、电路(DMA)、82380多功能I/O接口电路等。9 9第2章 微型计算机组成及微处理器功能结构2.1.4 总线由图2.1可看出,微型机在结构形式上采用总线结构。各组成部件(即各种LSI芯片)都通过一组公共的、具有逻辑控制功能的信号线联系起来,这组信号线称为总线,通常分为以下3类。1010第2章 微型计算机组成及微处理器功能结构1数据总线DB(Data Bus)数据总线用来在CPU和其他部件间传送信息(数据和指令代码),具有三态控制功能,且是双向的。这就是说,CPU可以通过数据总线接收来自其他部件的信息,也可以通过数据总线向其他部件发送信息。通常,总线中信号线的条数称为总线宽度。数据总线的宽度
7、与CPU中大多数操作数字长相同。因而,8位机、16位机、32位机数据总线的宽度分别为8位、16位、32位。1111第2章 微型计算机组成及微处理器功能结构2地址总线AB(Address Bus)地址总线用于传送CPU要访问的存储单元或I/O接口的地址信号。地址信号一般由CPU发出送往其他芯片,故属单向总线,但也具有三态控制功能。地址总线的宽度视CPU所能直接访问的存储空间的容量而定。大多数8位微型机的地址总线为16位,存储空间容量为64KB;16位微型机地址总线的位数相互间存在差异。对8086/8088 CPU来说,地址总线为20位,存储容量为1MB;对80286 CPU来说,地址总线为24位
8、,存储空间容量为16MB;80386/80486及Pentium CPU的地址总线为32位,存储空间容量为4GB;Pentium、Pentium CPU的地址总线为36位,存储空间容量为64GB。1212第2章 微型计算机组成及微处理器功能结构3控制总线CB(Control Bus)控制总线是CPU向其他部件传送控制信号,以及其他部件向CPU传送状态信号及请求信号(如中断请求信号)的一组通信线。控制总线的宽度对不同的CPU来说,有较大的差异。1313第2章 微型计算机组成及微处理器功能结构2.2 8086/8088及80286微处理器8086/8088以及80186、80286微处理器均属In
9、tel公司生产的第三代16位微处理器。它们与第二代8位微处理器的区别不仅是数据总线的位数增加了1倍,更重要的是采取了流水线处理技术。具体来说,是将指令执行部件和总线接口部件分为两个独立的部分,并可并行操作。图2.2示出串行处理和流水处理的情况。一个简单的微处理器,如8位微处理器,它们在执行一条指令时,指令取出、指令译码、数据取出、指令执行和结果存储是串行进行的,见图2.2(a)。1414第2章 微型计算机组成及微处理器功能结构16位微处理器(如8086/8088 CPU)中,由于指令执行部件和总线接口部件相互独立,可并行操作,进行流水线处理:若一条指令执行过程中不需要从存储器取操作数和向存储器
10、存储结果,即不占CPU总线时间,总线接口部件便可对下一条要执行的指令预取,见图2.2(b)。显然,采用流水线技术提高了指令执行速度。80186芯片上集成了除存储器之外的全部8086处理器和许多外围电路,包括DMA单元、时钟、定时器、中断控制器、总线控制器、片选及就绪信号发生器等。因而,由80186组成的微机系统结构得到很大简化。80286 CPU较8086/8088 CPU又有较大提高。下面简要叙述它们各自的功能结构及特点。1515第2章 微型计算机组成及微处理器功能结构图2.2 串行处理和流水线处理1616第2章 微型计算机组成及微处理器功能结构2.2.1 8086/8088 CPU的功能结
11、构8086 CPU为典型的16位微处理器,它具有16位的内部数据总线和16位的外部数据总线。8088 CPU的内部数据总线也是16位,但外部数据总线却只有8位,因而称为准16位微处理器。这两种微处理器在其他方面几乎完全相同。例如,它们都为40条引脚的双列直插式组件,采用单一+5V电源和5MHz单相时钟;均具有20位地址总线,可寻址1MB的内存地址空间和64KB的I/O地址空间;二者具有完全兼容的指令系统,并均能与8087数学协处理器相连,以提高数据的运算速度和扩大数据运算范围等。8086/8088 CPU的指令系统称为原始X86指令集。这一指令集一直包含在X86兼容芯片中,包括现在的Penti
12、um 4和Athlon XP等。1717第2章 微型计算机组成及微处理器功能结构8086/8088 CPU设计时受到芯片封装的限制,数据总线和地址总线分时复用,这虽节省了芯片引脚,却使逻辑变得复杂,速度也降低了。1818第2章 微型计算机组成及微处理器功能结构18086/8088 CPU的内部结构8086/8088 CPU的内部结构见图2.3。它由执行部件(Execution Unit,EU)和总线接口部件,(Bus Interface Unit,BIU)两部分组成。EU包括算术逻辑单元(Arthmetc Logic Unit,ALU)、16位标志寄存器、寄存器阵列(4个16位通用寄存器、2个
13、16位指针寄存器和2个16位变址寄存器)、指令译码器及控制电路。BIU包括4个16位段寄存器、1个16位指令指针、1个地址加法器、1个指令流队列和总线控制电路。1919第2章 微型计算机组成及微处理器功能结构EU是执行指令的部件,它从BIU的指令流队列中取指令,发出相应的控制命令序列,从而执行指令。执行指令中所需操作数地址由EU单元计算出16位偏移量部分送BIU,由BIU将其与段基址(段寄存器内容)合成,最后形成一个20位的内存单元物理地址。同时,BIU根据物理地址与内存单元交换数据。此外,BIU也可根据EU请求与I/O接口电路交换数据。2020第2章 微型计算机组成及微处理器功能结构图2.3
14、 8086/8088 CPU的内部结构2121第2章 微型计算机组成及微处理器功能结构2指令流队列(Instruction Stream Queue)指令流队列实际上是一个内部的存储器阵列,它类似一个先进先出的栈。8086/8088 CPU的指令流队列最多能保存6个/4个指令字节。只要队列出现2个/1个空字节,同时EU也未要求BIU进入存取操作数的总线周期,BIU便自动从内存单元顺序取指令字节,并填满指令流队列。当执行转移指令时,BIU使指令流队列复位,并从新的地址单元取出指令,立即送EU执行。然后,自动取出后继指令字节以填满指令流队列。由于EU在执行一条指令时必须等待BIU从存储器或I/O接
15、口取操作数后方能运算,因而当BIU同时收到EU请求存取操作数和预取指令请求时,BIU将先进行存取操作数的操作。2222第2章 微型计算机组成及微处理器功能结构需说明的是,这里提到的“总线周期”通常是指CPU通过外部总线对存储器或I/O接口进行一次访问所需要的时间。对8086来说,仅当BIU需要补充指令流队列中的空缺,或当EU在执行指令过程中需要经外部总线访问存储单元或I/O端口时,才需要申请并执行一个总线周期。显然,指令流队列的设置使指令的取出和执行同时并行进行,大大加快了程序的运行速度。2323第2章 微型计算机组成及微处理器功能结构3标志寄存器FLAGS8086/8088的标志寄存器FLA
16、GS为16位,共有9个标志,见图2.4。其中6个为状态标志,3个为控制标志。状态标志用来寄存ALU运算结果的特殊信息。每个特殊信息用FLAGS中的一位来表示,称为一个状态标志位。运算类指令执行后处理器自动置位适当的状态标志位,并可用程序对其测试和判断。6个状态标志分别为:2424第2章 微型计算机组成及微处理器功能结构(1)CF(Carry FIag):进位标志。算术运算指令执行以后,运算结果最高位(字节运算时为第7位,字运算时为第15位)若产生进位(加法时)或借位(减法时),则该标志置1,否则置0。CF标志通常作为无符号数加法运算有无溢出及比较两数大小的判别标志,并支持多精度的加、减运算。(
17、2)PF(Parity FIag):奇偶标志。PF表示算术或逻辑运算结果低8位中1的个数的奇偶性。如果1的个数为偶数,该标志位置1,否则置0。奇偶标志常用来检验数据传送是否出错。检验方法可用偶校验或奇校验。例如,利用偶校验码进行数据传送时,在传送过程中若正确无误,PF=1,否则PF=0。2525第2章 微型计算机组成及微处理器功能结构图2.4 8086/8088 的标志寄存器2626第2章 微型计算机组成及微处理器功能结构(3)AF(Auxiliary Carry Flag):辅助进位标志。加法运算过程中,若第3位有进位,或减法运算过程中,第3位需要借位,则AF=1,否则,AF=0。AF标志常
18、用于BCD数的校正运算中。(4)ZF(Zero Flag):零标志。运算指令执行后,结果全零(各位都为零)时,该标志置1,否则置0。ZF标志的功用也很多,例如,在比较和异或操作之后使用ZF标志可判断二数是否全等,或数据在输入/输出传送过程中是否出错。2727第2章 微型计算机组成及微处理器功能结构(5)SF(Sign Flag):符号标志。该标志的状态总是与运算结果最高位的状态相同,因而它用来反映带符号数运算结果的正负情况。即SF=1,表示结果为负;SF=0,表示结果为正。(6)OF(Overflow Flag):溢出标志。带符号数加减运算结果产生溢出时,OF=1,否则OF=0。带符号数的溢出
19、判别采用1.2节中所叙述的双高位判别法。当CsCp=1时,产生溢出,Cs Cp=0时,不产生溢出(其中Cs表示符号位的进位,Cp表示数值部分最高位的进位)。若要判断两个带符号数a与b的大小(a-b),必须采用如下规则进行判断:OF SF=1,表示ab;OF SF=0,表示ab。2828第2章 微型计算机组成及微处理器功能结构可以看出,微处理器选择这一组状态标志,可以只用一套指令便可方便地对无符号数、带符号数及BCD数进行运算,并判断其溢出情况和比较两数大小。2929第2章 微型计算机组成及微处理器功能结构3个控制标志各具有一定的控制功能,即:(1)DF(Directon Flag):方向标志。
20、该标志用于指定字符串处理命令的步进方向。当DF=1时,字符串处理指令以递减方式由高地址向低地址方向进行;当DF=0时,字符串处理指令以递增方式,由低地址向高地址方向进行。该标志可用指令置位或清零。(2)IF(Interrupt-Enable Flag):中断允许标志。该标志用于控制可屏蔽的硬件中断。IF=1,可接受并响应中断;IF=0,中断被屏蔽,不能接受中断。该标志可用指令置位和复位。3030第2章 微型计算机组成及微处理器功能结构(3)TF(Trap Flag):陷阱标志,或称单步操作标志。该标志用于控制单步中断。当TF=1时,如果执行指令,就产生单步中断。即CPU每执行一条指令便自动产生
21、一个内部中断,使微处理器转去执行一个中断服务程序,以便为用户提供该条指令执行后各寄存器的状态等。单步中断用于程序调试过程中。3131第2章 微型计算机组成及微处理器功能结构4寄存器阵列EU单元中的寄存器阵列包括4个16位通用寄存器,2个16位指针寄存器和2个16位变址寄存器。BIU单元中的寄存器阵列包括4个段寄存器和1个指令指针。3232第2章 微型计算机组成及微处理器功能结构1)通用寄存器4个16位通用寄存器为AX、BX、CX、DX。它们又都可分别作为2个8位寄存器用,分别命名为AH、BH、CH、DH及AL、BL、CL、DL。一般来说,8086/8088 CPU的这4个通用寄存器既可用来存放
22、源操作数,又可用来存放目标操作数和运算结果,十分灵活方便。然而,在某些指令中,这4个寄存器却有着隐含的专门用法。(1)AX:累加器,用于乘法、除法及一些调整指令。(2)BX:基址寄存器,用来存放存储器操作数的基地址。(3)CX:计数寄存器,用于保存许多指令的计数值,包括重复的串操作指令、移位、循环指令。3333第2章 微型计算机组成及微处理器功能结构(4)DX:数据寄存器,是通用寄存器,用于保存乘法形成的部分结果,或者在除法指令执行之前,用于存放被除数的一部分。2)变址寄存器(1)SI:源变址寄存器,用于串操作指令中寻址源数据串。(2)DI:目标变址寄存器,用于寻址串操作指令的目标数据串。34
23、34第2章 微型计算机组成及微处理器功能结构3)指针寄存器(1)IP:指令指针寄存器(亦即程序计数器,PC),它总是存放着下一条要取出指令在现行代码段内的偏移地址。IP的存在对一条指令的执行来说是必不可少的,也是基本的,它用来追踪指令所在的地址。通常,程序中的指令是顺序排列的。当需要将欲执行的指令码取出时,首先根据IP的内容和代码段寄存器(CS)的内容确定出该要执行指令的地址。然后从此存储单元中取出欲执行的指令码。3535第2章 微型计算机组成及微处理器功能结构与此同时,IP的内容便自动加1,以便为取出下一条指令做好准备。若一条指令不止一个字节,则每个字节的取出过程与此相同。CPU每取出指令码
24、的一个字节,IP的内容便自动加1。当程序发生转移时,新的指令码偏移地址被自动置入IP,取代已被加1了的地址值。IP寄存器不能由程序员直接访问。(2)BP:基址指针寄存器,用来存放现行堆栈段内一个数据区的基地址偏移量。(3)SP:堆栈指针寄存器,用来存放现行堆栈段的段内偏移地址,并具有步进增量和减量的功能。3636第2章 微型计算机组成及微处理器功能结构堆栈是一组寄存器或一个存储区域,用来存放调用子程序或响应中断时的主程序断点地址,以及其他寄存器的内容。比如,当主程序需要调用子程序时,有一组中间结果及标志位的状态需分别保留在通用寄存器及标志寄存器中,但被调用的子程序执行时,也需占用这些通用寄存器
25、并影响标志。这样,除了在执行调用指令时将断点地址(调用指令后紧接着的一条指令地址)保存到堆栈中外,还必须将原主程序中保留在通用寄存器的中间结果及标志位状态保存到堆栈中。直到子程序执行完毕,返回主程序后再将这些中间结果及状态标志位的状态送回通用寄存器及标志寄存器中,以备主程序继续执行之用。3737第2章 微型计算机组成及微处理器功能结构当将信息存入堆栈或从堆栈中取出信息时,都必须按照严格的规则进行。例如,进行子程序嵌套(见图2.5)时,不仅需要把许多信息(包括断点地址和寄存器内容等)逐一存入堆栈并保留下来,还必须能把堆栈所保留的信息逐一正确地取出来并返回原处。因此,通常采用后存入的信息先取出来(
展开阅读全文