资源预览内容
第1页 / 共93页
第2页 / 共93页
第3页 / 共93页
第4页 / 共93页
第5页 / 共93页
第6页 / 共93页
第7页 / 共93页
第8页 / 共93页
第9页 / 共93页
第10页 / 共93页
亲,该文档总共93页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1章 微处理器及其结构,1.1 微型计算机系统概述 1.2 16位微处理器及其结构 1.3 32位微处理器及其结构 1.4 64位微处理器 1.5 双核心微处理器,1.1 微型计算机系统概述,1.1.1 微机系统的组成 1.1.2 微机系统的性能指标 1.1.3 微型计算机的发展,1.1.1 微机系统的组成,图1-1 微型计算机的典型结构,图1-2 微型计算机系统的组成,1.1.2 微机系统的性能指标,1. 字长,字长,即CPU中运算器一次能处理的最大数据位数,它是反映微机系统数据处理能力的重要技术指标。,2. 运算速度,主频反映了CPU的速度,在同一类CPU中,频率越高,CPU的运算速度越快。主频的单位是GHz, 反映微机系统运算速度的另一个单位是MIPS,即每秒执行百万条指令数。,评价微处理器的性能最基本的评价指标:字长与运算速度,计算机的存储器系统主要分为内存储器和外存储器两种 。评价其性能的指标主要有:,1. 存储容量,2. 存取速度,1.1.3 微型计算机的发展,1. CPU发展几个里程碑 CPU种类: 4004 8080 8086 486 Pentium 14 Core 2 Duo CPU速度:10Mhz 4Ghz 数据宽度: 8位 16位 32位 64位 多 核 化:单核双核四核 加工工艺:130nm 90nm 65nm 集 成 度: ,集成度,集成度 4004:2300颗晶体管 8086:29,000颗晶体管 80386:27万5千颗晶体管 Pentium:310万颗晶体管 Pentium4:4200万颗晶体管 Core 2 Duo:2.91亿颗晶体管,2.8086/8088CPU,8086 CPU DB:真正的16位CPU,内外总线都是16位。 AB:有20位地址线,可直接寻址1MB空间。 8088 CPU 8086的改进型处理器,指令系统与8086系统兼容。 DB:准16位机,内总线为16位,外总线为8位。 AB:有20位地址线,可直接寻址1MB空间。,2. 8086/8088CPU,1.2 16位微处理器及结构,1.2.1 16位微处理器内部结构 1.2.2 16位微处理器的基本时序 1.2.3 16位微处理器的存储器组织,1.2.1 16位微处理器内部结构,1.BIU(Bus Interface Unit):总线接口单元 (a)BIU的功能:负责CPU与存储器和I/O端口传送数据 从内存取指令送到指令队列; 配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或I/O端口中。 在取出指令的同时,从内存中取下一条或几条指令放在指令队列中。这样,CPU执行完一条指令,就可以立即执行下一条指令,而不象8位机那样让CPU轮番地进行取指令和执行指令,从而提高了CPU的效率。,(b)BIU的组成,(b)BIU的组成 4个16位段地址寄存器: 16位指令指针寄存器: 20位物理地址加法器: 6字节指令队列: 总线控制逻辑:,各部分介绍,4个16位段地址寄存器:指出了一个逻辑段在内存中的起始地址。 代码段寄存器:CS(code segment register) 数据段寄存器:DS(data segment register) 附加段寄存器:ES(extra segment register) 堆栈段寄存器:SS(stack segment register);,2.EU(Execution Unit):指令执行部件 (a)EU的功能 从指令队列中读指令, 完成指令的译码和执行。 (b)EU的组成 算术逻辑运算单元ALU: 4个通用的16位寄存器: 4个专用的16位寄存器: 标志寄存器PSW: EU控制器:,各部分介绍,ALU:完成8位或16位的二进制运算 ,16位暂存器可暂存参加运算的操作数; 4个通用的16位寄存器: AX(accumulator):又称为累加器 BX(base):基址寄存器 CX(count):计数器 DX(data) :数据寄存器,4个专用的16位寄存器 SI(source index):源变址寄存器 DI(destination index):目的变址寄存器 SP(stack pointer):堆栈指针寄存器 BP(base pointer):基址指针寄存器 PSW(Processor Status Word):标志寄存器FLAG 存放ALU运算结果的特征和程序控制标志; EU控制器:取指令控制和时序控制部件。,(c)EU工作过程,(c)EU的工作过程 EU从BIU的指令队列输出端取得指令,进行译码,根据指令要求向其内部各部件发出控制命令; 若执行指令需要访问存储器或I/O端口去取操作数,则EU将操作数的偏移地址通过内部的16位数据总线送给BIU; 等待BIU回送操作数,完成执行指令的功能。,ALU,ALU完成各种逻辑运算和算术运算。 运算的操作数可从存储器取得,也可从寄存器组取得,由16位暂存器暂存参加运算的操作数; 运算结果由内部总线送到EU的寄存器或BIU的内部寄存器; 如果需要写入存储器或I/O端口,则由BIU写入存储器或I/O端口。 根据运算后结果的特征改变标志寄存器PSW的状态,以供测试、判断及转移指令使用。,2.寄存器结构,2.寄存器结构 8086CPU内部包含有4组16位寄存器 (1)段寄存器组 (2)通用寄存器组 (3)指针和变址寄存器组 (4)指令指针及标志寄存器,(1)段寄存器组,(1)段寄存器组:包含CS、DS、ES、SS 代码段寄存器CS 数据段寄存器DS 附加段寄存器ES 堆栈段寄存器SS 段寄存器指出其对应段的首地址段基址。 段基址与段内偏移地址经运算形成20位物理地址。,(2)通用寄存器组,(2)通用寄存器组:包括AX、BX、CX、DX 用来保存算术或逻辑运算的操作数及中间运算结果。 它们既可以作为一个16位的寄存器使用,也可以分别作为两个8位的寄存器使用,分别是:AH、AL、BH、BL、CH、CL、DH、DL。,(3)指针和变址寄存器组:包括SP、BP、SI、DI 这些寄存器存放的内容是某一段内地址的偏移量,主要在变址运算和堆栈操作中使用。 BP和SP称为指针寄存器,与堆栈段寄存器SS联用,进行对现行堆栈段的访问。 BP在间接寻址中使用,操作数在堆栈段中,由SS段寄存器与BP组合形成操作数地址,BP存放现行堆栈段中一个数据区的“基址”的偏移量,因此称BP为基址指针寄存器。 SP在堆栈操作中使用,堆栈操作指令PUSH和POP是从SP得到现行堆栈段的段内地址偏移量。SP始终指向栈顶。,例子,堆栈: 存储器一个连续区域。这个区域数据的存取原则为:后进先出(LIFO)从栈顶存取信息。一般存放暂时不用的信息。,栈底:堆栈的最低部,栈顶:最后放进的信息所在地址,栈底,SP始终指向栈顶,SP=FFFEH,栈顶,栈顶,栈顶,SS:,SI和DI称为变址寄存器,通常与数据段寄存器DS一起使用,为访问现行数据段提供段内地址偏移量。 在串操作指令中,SI、DI为隐含寻址,SI存放源操作数的段内地址偏移量,DI存放目的操作数的段内地址偏移量;SI与DS联用,而DI与ES联用。,例子,SI(源变址寄存器):存放源数据串偏移地址 DI(目的变址寄存器):存放目的数据串偏移地址,SI+1,DI+1,每传送一个字节数据,SI、DI的内容分别加自动1,SI+1,DI+1,指令:MOVSB,2、3组的 特殊用途表,(4)指令指针和标志寄存器,(4)指令指针及标志寄存器 (a)指令指针寄存器IP 指令指针寄存器IP用来存放将要执行的下一条指令在现行代码段中的偏移地址。 在程序运行过程中,BIU自动修改IP,因此IP始终指向将要执行的下一条指令在现行代码段中的偏移地址,它是用来控制指令序列的执行流程的。,IP的内容不能通过数据传送等指令来修改 当遇到中断指令或调用子程序指令时,系统将自动将现行IP地址压栈保护,同时调整IP内容使其指向子程序的入口地址(即首地址); 当从子程序/中断服务程序返回时,堆栈保护的内容自动弹出到IP,使得主程序得以继续运行; 当遇到跳转指令时,则将新的跳转目标地址送入IP,改变了它的内容,实现了程序的转移。,(b)标志寄存器,(b)标志寄存器 标志寄存器,也叫程序状态字PSW(Program Status Word),用来存放运算结果的特征和程序控制标志。 PSW中一共定义了个有效位: 6个状态标志位:包括:OF、SF、 ZF、 AF、 PF和CF。 3个控制标志位:编程时设置,包括:DF、 IF和TF。,标志位的用法及含义,(1)状态标志位: CF 、 PF 、 AF、 ZF、 SF和OF,CF( Carry Flag):进位标志位。 反映最高有效位MSB(字为D15、字节为D7位)有无进位(加)或借位(减),主要针对无符号运算。 若CF1,表示有进位或借位; 若CF= 0,表示无进位或借位 PF(Parity Flag):奇偶校验标志位。 反映运算结果中低8位1的个数是否为偶数。 若PF1,表示运算结果低8位中有偶数个1; 若PF0,表示运算结果低8位中有奇数个1。,(1)状态标志位: CF 、 PF 、 AF、 ZF、 SF和OF,AF(Auxiliary Flag):辅助进位/半进位标志位。 反映D3向D4有无进位(加)或借位(减)。主要用于BCD码运算后的调整。 若AF1,表示有进位或借位; 若AF0,表示无进位或借位。 ZF( Zero Flag):零标志位。 反映运算结果是否为全0。 若ZF1,则表示运算结果为全0(各位均为0); 若ZF0,则表示运算结果非全0(各位不全为0)。,(1)状态标志位: CF 、 PF 、 AF、 ZF、 SF和OF,SF(Sign Flag):符号标志位。 反映运算结果的最高有效位(MSB)为0/1;对有符号运算,反映运算结果的正/负。 若SF1,则表示最高有效位为1(或结果为负); 若SF0,则表示最高有效位为0(或结果不为负)。 OF(Overflow Flag):溢出标志位。 反映运算结果是否超出其所能表示的范围。 若OF1,则表示结果溢出; 若OF0,表示结果未溢出。,例子,1 0 0 1 1 0 1 0,0 1 0 1 1 0 0 1,1 0 1 1 1 1 1 1,1001 1010B1011 1111B?,CF=1,PF=1,AF=1,ZF=0,SF=0,控制标志位,OF=1,(2)控制标志位:DF、 IF和TF,DF(Direction Flag):方向控制位。 在串操作中,若: 设置DF0,源和目的操作数的地址均向增址方向调整; 设置DF1,源和目的操作数的地址均向减址方向调整。 IF(Interrupt Enable Flag):中断允许控制位。若: 设置IF1,则允许CPU响应可屏蔽中断(开中断); 设置IF0,则不允许CPU响应可屏蔽中断(关中断)。,(2)控制标志位:DF、 IF和TF,TF(Trap Flag):陷井控制位。 主要用于程序的单步执行,若: 设置TF1,则CPU每执行一条指令就产生一个单步中断,用户可以在中断服务中对当前指令的执行进行调试; 设置TF0,表示不设置陷井。,表1-2 PSW中标志位的符号表示,图1-3 8086 CPU的内部结构框图,1.2.1.3 8086/8088的引脚及功能,1.8086的引脚分类 封装形式:采用40条引线双列直插(DIP)封装。 总线信号:地址总线、数据总线、控制总线 专用信号:电源、地、时钟等。 为了减少引脚数量,部分引脚采用分时复用技术。,2 引脚功能,(1)AD15AD0(Address Data Bus) 16条地址/数据引脚,分时复用。 传送地址时三态输出,传送数据时三态双向
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号