您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第二章微处理器内部结构及外部特性
1第二章微处理器内部结构及外部特性本章主要内容微处理器内部结构微处理器外部硬件特性典型微控制器介绍2§2.1微处理器的内部结构一、微处理器的基本结构微型计算机硬件系统:中央处理器(CPU、微处理器)——运算器、控制器、暂存单元。是微机的核心部件。存储器——微计算机的记忆部件基本输入输出接口——与外部世界进行信息交流基本外设、系统总线、电源微控制器:是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。复习3微控制器的一般基本硬件构架CPU(运算部件控制逻辑)AD/DA转换器存储器(程序、数据)串行接口定时/计数器中断系统并行接口其他专用接口4二、典型微处理器内部结构控制器程序计数器PC指令寄存器IR指令译码器ID控制逻辑部件堆栈指示器处理机状态字PSW工作寄存器地址寄存器数据寄存器IO控制逻辑ALU58086微处理器内部原理结构:▲8086CPU:Intel公司1978年推出的16位微处理器芯片。运算器控制器及预控制部件暂存单元68088CPU由两部分组成:执行单元(EU——ExecuteUnit)、总线接口单元(BIU——BusInterfaceUnit)。执行单元(EU)的功能:完成译码和执行指令的工作。①从总线接口部件的指令队列输出端取得指令码,并进行译码;②按照指令操作码的功能产生操作数地址,并传给BIU,要求BIU访问内存或IO接口;③按照指令操作码的功能对操作数进行运算、处理;④根据指令执行情况测试、修改程序状态字PSW中的有关位。总线接口单元(BIU)的功能:负责完成所有的外部总线的操作。①预取指令代码并填入指令队列;②根据当前的段地址和段内偏移地址使用地址加法器产生20位的物理地址(实际地址),并送入地址总线。③根据当前的总线操作,产生总线控制信号,如:存储器读/写、IO读/写等。④按照执行部件(EU)的命令访问存储器或IO接口。7三、微处理器工作过程:取指令→执行指令,周而复始。8086以前的CPU两个阶段交替进行:取指令1执行1取操作数2执行2CPUBUS忙碌忙碌忙碌忙碌存结果1取指令21)CPU执行指令时总线处于空闲状态2)CPU访问存储器(存取数据或指令)时要等待总线操作的完成缺点:CPU无法全速运行解决:总线空闲时预取指令,使CPU需要指令时能立刻得到88086CPU采用两个阶段并行工作方式取指令2取操作数BIU存结果取指令3取操作数取指令4执行1执行2执行3EUBUS忙碌忙碌忙碌忙碌忙碌忙碌指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而提高了CPU的效率。9四、8086CPU内部的寄存器CPU内部寄存器从功能上数据寄存器、浮点寄存器、指令寄存器、地址寄存器、描述符寄存器等等从编程控制用户编程不可见、用户编程可见用户编程可见寄存器——程序设计模型程序设计模型:是指通过汇编语言程序所能观察、使用的CPU硬件寄存器组,是一种数据存放、处理的空间逻辑模型,即CPU内可编程序寄存器组。10㈠、8086——Pentium可编程通用寄存器组:AHALBHBLCHCLDHDLSPBPDISIIPPSW16位段寄存器AX累加器BX基变址CX计数器DX程序状态字栈基址目标变址源变址指令指针堆栈指针CSDSSSES16位8位FSGS32位EAXEBXECXEDXESPEBPEDIESIEIPEPSW11㈡、8086CPU内各可编程通用寄存器的功能1、数据寄存器——AX、BX、CX、DX共用性:⑴参与数据传送、运算,暂存运算的中间结果和最后结果。⑵每个数据寄存器既可作为一个16位寄存器用也可分成两个8位寄存器用专用性:AX——累加器(ac)*使用累加器(AX或AL)进行数据传送或运算指令执行时间短,占内存空间少。*执行许多专用操作12例如:乘、除法指令要求乘数之一或被除数必须放在累加器中,且存运算结果。MULsrc;操作:(AX)←(AL)*(src8)(DX,AX)←(AX)*(src16)DIVsrc;操作:(AL)←(AX)/(src8)的商(AH)←(AX)/(src8)的余数例如:参加输入输出数据传送。INac,port;(ac)←(port)OUTport,ac;(port)←(ac)13BX——基变址寄存器在CPU访问内存储器中的数据时,BX经常被用来存放数据块的基地址(首地址)。CX——计数器在循环操作、数据串操作、移位指令中作为计数器,计循环次数或数据串中的元素个数或移位的位数。如:SHL、ROL、LOOP等指令,及指令前缀REP。DX——参与乘、除法指令、输入输出指令操作。142、指针及变址寄存器——SP、BP、DI、SI共同点:⑴都是16位寄存器,不可分成8位用。可参与数据的传送、运算。⑵经常作为地址寄存器,存放内存单元地址,配合段寄存器对存储器进行访问。具体功能:SP:堆栈指针寄存器,存放当前栈顶地址,用于堆栈操作。BP:栈基地址寄存器,在访问堆栈中某个存储单元数据时提供存储单元地址。DI:目的变址寄存器SI:源变址寄存器实现变址寻址,以提供访问数据段数据的地址。153、段寄存器——CS、DS、SS、ES,均为16位寄存器。CS——代码段寄存器DS——数据段寄存器SS——堆栈段寄存器ES——附加数据段寄存器存储、提供当前用户程序可访问的内存段地址。4、控制寄存器——IP、PSWIP——指令指针寄存器存放和提供指令代码在内存中的地址。IP指向哪里,CPU就要到哪里读取指令代码。PSW——程序状态字(ProgramStatusWord)状态位:纪录运算结果的客观状态特征。控制位:实现对处理器工作的控制。16CF—进(借)位状态标志运算时:OFDFIFTFSFZFAFPFCF㈢、8086CPU的PSW(标志寄存器)D11D10D9D8D7D6D5D4D3D2D1D0控制位状态位+-11CF=117PF——奇偶状态位:当PF=1,表示运算结果最低八位中1的个数为偶数个。AF——半进(借)位状态标志:当AF=1表示字节运算中低半部分向高半部分有进(借)位,即D3→D4有有进(借)位。ZF——零状态位:运算结果为零时,ZF=1。18OF——溢出状态位:当带符号数的运算结果超出有限二进制位所能表示的范围时,OF=1。IF——中断允许位:IF=1使CPU开中断。DF——方向标志位:用于串操作,控制指针变化方向。SF——符号状态位:SF=运算结果的最高有效位。SF=1表示负。TF——跟踪标志位:TF=1使CPU单步执行指令。19状态标志位举例:0A38BH+95C6H=3951H1010’0011’1000’1011+1001’0101’1100’01100011’1001’0101’000111111CF=1SF=0AF=1ZF=0PF=0OF=11112080x86标志寄存器的演变扩展:第12~14位是80286微处理器扩充的“输入输出特权级标志”和“任务嵌套标志”;第16~18位是80386/80486微处理器扩充的“恢复标志位”、“虚拟方式位”、“队列检查位”;第19~21位是Pentium微处理器扩充的“虚拟中断位”、“虚拟中断暂挂位”、“标识位”。扩展扩展扩展扩展21五、8086/8088CPU的存储器结构㈠、存储器结构物理结构—存储器的电路构成。逻辑结构—符合程序设计逻辑关系的数据存放结构。㈡、存储器的逻辑结构存储单元:能存放一个字节信息的存储空间。存储单元地址:每个存储单元唯一对应的编号。存储单元内容:存储单元里存放的信息。22存储器M00000H00001H4FFFEH4FFFFH50000H50001H0FFFFFH0CDH20H………34H12H56H29H………存储单元存储单元里的内容存储单元的地址23㈢、信息在存储单元中的存放1、每个存储单元存放8位二进制信息,通常用2位十六进制数码表示。如:30000H地址为30000H的字节存储单元中的内容是2AH。2、多字节信息在存储单元中的存放原则是:“低对低,高对高”。如:1357H—一个字信息。占两个内存单元。低字节存在较低地址单元。高字节存在较高地址单元。以低字节所在单元的地址做整个字信息在内存中的地址:26000H单元中的内容是1357H。2AH57H13H26000H26001HM24㈣、CPU对存储器的操作(访问)读操作:写操作:存储单元的内容CPU内CPU内存储单元(信息源)(信息源)(信息目的)(信息目的)25㈤、堆栈——一个特殊的存储空间堆栈也是存储器,但具有特殊的存储结构和访问原则。堆栈的结构:栈底、栈顶、栈指针。××××……××堆栈把这一存储空间开辟为堆栈×××××H×××××H×××××H……………×××××H×××××H最高地址单元为栈底,是固定的。栈顶,随信息的进出栈浮动。SP存放栈顶地址。堆栈的存取原则:先入后出,后入先出。26㈥、IBMPC机对存储器的分段管理8086CPU内部外部16位地址寄存器20位地址总线AB最多表示64KB个地址最大寻址范围1MB如何用16位地址寄存器寻址1MB内存空间?271、根据需要把1MB空间分为若干个段,每个段的最大空间是64KB。段与段之间的关系可以:分离、相连、重叠(部分、全部)。2、存储单元的地址:*物理地址——由CPU地址信号线上给出的地址码。每个存储单元所拥有的物理地址是唯一的;CPU访问存储器最终使用的是物理地址。*逻辑地址——汇编语言程序设计中使用的存储单元地址。28逻辑地址由段地址和段内偏移地址组成。段地址:段内偏移地址用每个段首地址的高16位作段地址(××××),存放在段寄存器中。段内某存储单元相对于段首地址的距离。用4位十六进制数表示。295、物理地址与逻辑地址的关系16位段地址16位段内偏移地址20位物理地址+左移四位16位段地址0000306、IBMPC机对当前用户程序的寻址IBMPC机系统给当前用户程序提供了四个可寻址的段。代码段:存储当前正在运行的程序指令代码。数据段:存储当前程序所需的数据堆栈段:定义了当前运行程序所需的堆栈空间。附加数据段:对数据段的补充。31对代码段的寻址:IP+CS0h当前代码段物理地址M代码段CS与IP是固定搭配,不允许段超越。32对数据段的寻址:数据有效地址EA+DS0h当前数据段物理地址M数据段数据有效地址EA由多种寻址方式提供,允许段超越。33对堆栈段的寻址:SP或BP+SS0h当前堆栈段物理地址M堆栈段对堆栈的栈操作寻址SS:SP是固定搭配,对栈内某数据的访问由SS:BP实现。34对附加数据段的寻址:数据有效地址EA+ES0h当前附加数据段物理地址M附加数据段数据有效地址EA由多种寻址方式提供,允许段超越。35存储器分段分页管理机制80286~Pentium微处理器可以工作于实模式或者保护模式。在实模式下,微处理器仅能寻址内存的第一个1M字节存储空间,对存储器的分段管理、寻址机制与前面介绍的8086CPU系统对存储器的组织管理完全相同。在保护模式下,可访问内存第一个1M字节以上的存储空间,寻址空间大大的扩展了,管理机制也有所不同。36在保护模式下段寄存器的作用是一个选择器。用段寄存器中的13位二进制码作索引指向常驻内存的描述符表,以取得段地址及其他相关信息。37*每个段使用32位段基地址;*20位段界限。段界限是该段最大的偏移地址;*字节6中:G=0表示段的界限长度为1到1M字节,G=1表示界限长度为4K字节的倍数;D=0为16位指令方式,D=1为32位指令方式。*字节5访问权限控制对内存段的具体访问操作,如:是否可写,是否可读,是否被访问过,指定内存段在使用时的增长方向。每个描述符表包含8192个描述符,每个描述符用8个字节的信息描述一个存储段。38保护模式下对存储器的分段寻址:段寄存器段描述符表若不分页,则为物理地址(线性地址)为了实现虚拟存储器多任务操作,更进一步的存储器管理方法是存储器分页管理。以4K字节存储空间为一页。当80386~Pentium微处理器控制机制允许分页的情况下,分段管理最终形成的32位线性地址,进入存储器分页机构,然后再形成访问存储器单元的物理地
本文标题:第二章微处理器内部结构及外部特性
链接地址:https://www.777doc.com/doc-3637596 .html