欢迎来到天天文库
浏览记录
ID:59244097
大小:411.00 KB
页数:46页
时间:2020-09-22
《桂林电子科技大学 微机原理课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、地址线20根,所表示的地址范围(寻址范围)为220=210×210=1024×1024=1K×1K=1MB数据总线16根,一次传送16位数据16位微处理器第2章8086微处理器2.18086微处理器的内部结构2.1.18086基本组成8086CPU由总线接口部件BIU(BusInterfaceUnit)和指令执行部件EU(ExecutionUnit)两个独立的功能部件组成。其内部结构框图如图2.1所示。Q总线16位AHALBHBLCHCLDHDLSPBPSIDI通用寄存器暂存寄存器ALU标志EU控制系统执
2、行部件(EU)8086ALU数据总线(16位)123456指令队列总线接口部件(BIU)CSDSSSESIP内部通信寄存器8086总线总线控制逻辑数据总线(16位)Σ地址总线(20位)算术逻辑单元(ALU)可完成16位或8位的二进制运算。暂存寄存器(16位)用来暂存参加运算的操作数。经ALU运算后的结果特征置入标志寄存器中保存。EU控制器负责从BIU的指令队列中取指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令以完成各条指令的功能。1.指令执行部件EU其主要功能是执行指令。2.总线接口部件BI
3、U总线接口部件主要由地址加法器、专用寄存器组、指令队列缓冲器和总线控制电路等部件组成,其主要功能是形成访问存储器的物理地址,负责与外部(存储器或I/O接口)打交道。(1)地址加法器(16位)将两个16位的逻辑地址转换为20位的物理地址,以达到可寻址1M字节的存储空间。2.指令队列缓冲器(6字节)可存放6字节的指令代码,一般情况下应保证指令队列中总是填满指令,使得EU可源源不断地得到执行的指令。3.总线控制电路将8086CPU的内部总线与外部总线相连,是8086CPU与外部交换数据的必经之路。CPU正是通过
4、这些总线与外部世界取得联系,形成8086微型计算机系统。EU和BIU这两个功能部件相互独立地工作,并在大多数情况下,能使大部分的取指令和执行指令操作重叠进行,所以大大减少了等待取指令所需的时间,提高了微处理器的利用率和整个系统的执行速度。2.1.28086内部寄存器8086CPU中有14个16位的寄存器,如图2.3所示。1.通用寄存器组图2.3中8个通用寄存器可分为两组,一组是数据寄存器,另一组是地址指针和变址寄存器。(1)数据寄存器通用寄存器AX、BX、CX和DX称为数据寄存器,可用来存放16位的数据或
5、地址。也可把它们当作八个8位寄存器(AH、AL、BH、BL、CH、CL、DH、DL)来使用,这时只能存放8位数据,而不能用来存放地址。(2)地址指针和变址寄存器包括SP、BP、SI、DI四个16位寄存器。它们更经常的用途是在段内寻址时提供偏移地址。其中:SP称为堆栈指针寄存器,用来指示栈顶的偏移地址;BP称为基址指针寄存器,可作为堆栈区中的一个基地址以便访问堆栈;SI(源变址寄存器)和DI(目的变址寄存器)一般与DS联用,用来确定数据段中某一存储单元的地址。表2.1通用寄存器的特殊用途寄存器名称特殊用途A
6、X、AL在输入/输出指令中作数据寄存器用在乘法指令中,存放被乘数或乘积在除法指令中,存放被除数或商数AH在LAHF指令中,作目标寄存器用AL在十进制运算指令中作累加器用在XLAT指令中作累加器用BX在间接寻址中作基址寄存器用在XLAT指令中作基址寄存器用CX在串处理和LOOP指令中作计数器用CL在移位/循环移位指令中作移位次数计数器用DX在字乘法/除法指令中存放乘积高位或被除数高位或余数在间接寻址的输入/输出指令中作地址寄存器用SI在字符串处理指令中作源变址寄存器用在间接寻址中作变址寄存器用DI在字符串处
7、理指令中作目标变址寄存器用在间接寻址中作变址寄存器用BP在间接寻址中作基址指针用SP在堆栈操作中作堆栈指针用2.段寄存器组代码段寄存器CS,数据段寄存器DS,附加数据段寄存器ES,堆栈段寄存器SS。由于8086CPU可直接寻址的存储器空间是1M字节,直接寻址需要20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能直接寻址64K字节。为此把1M字节的存储空间分成许多逻辑段,每段最长为64k字节,这些逻辑段可在整个存储空间中浮动。★于是用段寄存器给定各个逻辑段的首地址的高16位,被称为段地址。段寄存
8、器CS、DS、ES、SS分别用来存放当前代码段、数据段、附加数据段、堆栈段的段地址。分别用来存放当前代码段、数据段、附加数据段、堆栈段的段地址。3.控制寄存器组(1)指令指针寄存器IP(InstructionPointer)用来存放将要取出的下一条指令在代码段中的偏移地址。。注意:IP一般与CS联用,表示代码段中要处理的指令的逻辑地址。IP和CS由系统执行,用户一般是不能使用或修改的。(2)标志寄存器FLAGS状态标志位6个(
此文档下载收益归作者所有