您好,欢迎访问三七文档
1、•DVD的四种格式:DVD5,DVD9,DVD10,DVD18。•DVD容量:分别是4.7G,8.5G,9.4G,17G。第二章.8086微处理器•2.1.8086微处理器的内部结构•2.2.存储器和I/O组织•2.3.8086CPU的总线周期和工作方式2.1.8086微处理器的内部结构•8086CPU的特点:•1。16位CISC处理器。•2。+5V电源,DIP40封装,时钟频率:5~10MHZ,基本指令执行时间:0.3~0.6uS。•3。16bit数据线和20bit地址线。•问题:•寻址空间多少?•16位机的根据是什么?2.1.18086微处理器的内部组成结构•8086微处理器从功能上划分为两个逻辑单元:EU(ExecutionUnit)和总线接口部件BIU(BusInterfaceUnit)。•EU功能:从BIU的指令队列中取出指令代码,经指令译码器译码后执行指令规定的功能。•BIU功能:根据EU的请求,负责完成CPU于存储器或I/O设备之间的数据传送。•一分为二的原因是什么?(从计算机组成原理上来考虑。)•考虑一下汽车生产流水线的情况。流水线的由来•福特公司仿照屠宰厂的做法,不。
2、让每个工人组装一台完整的磁石发电机,而是将发电机的各个部件放在传送带上,在它经过时,每个工人都给它添装上一个部件,每次都装配同样的一个部件。•“前一天,完成整个组装过程的工人,平均每人每20分钟组装一台磁石发电机。可是那一天,在这条装配线上的装配组,每人平均每13分10秒钟就组装一台。不到一年,装配时间便减到5分钟。”流水线的原理•原来的生产线,需要3个步骤(串行)•后来的流水线(并行)车间A车间A车间B车间C步骤1步骤2步骤3步骤1步骤1步骤1步骤1步骤2步骤2步骤2步骤2步骤3步骤3步骤3步骤3………………流水线的原理•假设生产一个产品耗时15分钟,每个步骤的平均时间为15/3=5分钟,原来的生产线耗时:15分钟。•采用3级流水线后,3个车间在绝大多数时间内互相不再需要等待上一级的输出结果,能够并行工作,则生产一个产品平均耗时:15/3=5分钟。•很明显,理想状态下,级数越多,效率越高。2.1.8086微处理器的内部组成结构•传统微处理器在执行程序时,通常是先取出一条指令,读出操作数,然后再执行指令。也就是说取指和执指是串行的关系:取指1执指1取指2执指2取指3执指3忙闲忙闲忙闲C。
3、PU总线传统微处理器的指令执行过程2.1.8086微处理器的内部组成结构•在8086中,取指和执指分别由BIU和EU来完成,通过指令队列缓冲器,使得BIU和EU可以并行工作,提高了总线的利用效率。取指1取指2取指3取指4取指5取指6执指1执指2执指3执指4执指5执指6忙忙忙忙忙忙BIUEU总线2.1.8086微处理器的内部组成结构8086微处理器内部结构框图2.1.8086微处理器的内部组成结构•执行部件EU•组成:包括1个16bit的ALU,8个16bit的通用Reg,1个16bit的状态标志Reg,1个数据暂存器和EU的控制电路。•功能(执指)•各个组成部分的功能:•ALU:算术、逻辑运算、计算出16位偏移地址/EA2.1.8086微处理器的内部组成结构•FLAG标志寄存器:通过各位来反映CPU最近一次运算结果的状态或控制特征。•数据暂存器:ALU暂存操作数的地方。•通用寄存器组:包括4个16bit(也可以用作8bit)的AX、BX、CX、DX数据寄存器,以及4个16位地址指针与变址寄存器,后面还要讲。•EU控制电路:对指令译码,形成控制信号,控制EU各个部件的操作。2.1.808。
4、6微处理器的内部组成结构•总线接口部件BIU•组成:4个16bit的段地址寄存器CS、SS、DS、ES,1个16bit的IP,一个6Byte的指令队列缓冲器,以及20bit地址加法器和总线控制电路。•功能:根据EU的要求,负责完成CPU和存储器或I/O设备之间的数据传送。(取指、取操作数、存结果)•各个部件的功能:•指令队列缓冲器:可存放6字节,“FIFO”,•1.当队列空出2字节,并且EU不占用总线时,取指(9的注释);•2.当EU执指时,需要使用外部总线(访问存储器或者I/O端口)时,BIU将在取指后的下一个总线周期来进行。•3.当程序的流程发生跳转(转移、调用、返回)时,BIU自动清除队列中的指令(原因???),将新地址取来的指令依次送入队列。2.1.8086微处理器的内部组成结构•地址加法器和段寄存器:用于形成存储器的物理地址PA(段基址左移4位+偏移地址/有效地址EA)。•指令指针寄存器IP:IP用于存放BIU要取的下一条指令的EA。IP的值不能用MOV指令修改,只能用转移、调用、中断和返回指令来改变。•总线控制电路:用于产生外部总线操作(读写存储器或I/O)时的控制信号。2。
5、.1.8086微处理器的内部组成结构•有了前面各个部分的功能介绍,我们就可以大概了解8086工作的过程。•讲一下10页的工作流程(看注释)。取指MOVAX,[BX+10H]2.1.8086微处理器的内部组成结构•2.1.28086微处理器的寄存器结构•一般来说,寄存器数量越多,CPU访问存储器的次数就越少,效率越高。CISC的寄存器数量较少。•8086可供编程使用的有14个16位寄存器,按用途可分为3类:通用寄存器、段寄存器、指针和标志寄存器。2.1.28086微处理器的寄存器结构2.1.28086微处理器的寄存器结构通用寄存器,包括下面两组。•数据寄存器包括4个16bit寄存器AX、BX、CX、DX。每个16bit的数据寄存器可以分为两个8bit的寄存器:AH、AL;BH、BL;CH、CL;DH、DL;可以分别来使用。数据寄存器存放8位或16位二进制数,这些二进制数可以是操作数、中间结果、操作数地址(指针)。大多数算术和逻辑运算指令可以使用这些寄存器。•指针和变址寄存器。包括16bit的SP、BP、DI、SI。用于堆栈操作和变址运算中计算操作数的有效地址EA。2.1.28086微处理。
6、器的寄存器结构BP、SP用于堆栈操作。SP用于确定堆栈在内存中的地址;BP用于存放在堆栈段的一个数据区的“基址”。SI、DI用于变址操作,存放变址地址,在串操作指令中用的较多。这四个寄存器也可以用作数据寄存器。2.1.28086微处理器的寄存器结构•通用寄存器的特定用法在某些指令中,只能使用特定的寄存器。比如:8位数相乘指令MUL,隐含的被乘数放在AL中,乘积结果放到AX中。还有,移位指令的移位次数,只能使用CL。书上的表2-1列出了通用寄存器的特定用法,我们讲到8086指令时再分别说明。2.1.28086微处理器的寄存器结构控制寄存器•指令指针寄存器IP16bit的IP存放EU要执行的下一条指令的偏移地址(逻辑地址CS:IP)。一般情况下,每取一次指令操作码IP会自动加1。另外,只能通过转移、调用、中断、返回来修改IP。•标志寄存器FLAGFLAG使用了9个位,其中6个用于状态标志,3个用于控制标志。2.1.28086微处理器的寄存器结构•标志寄存器FLAG状态标志:CF进位标志。1表示执行结果最高位有进位或借位。PF奇偶标志。1表示执行结果有偶数个1。AF辅助进位标志。1表示结果低。
7、4位产生进位或借位。ZF零标志。1表示运算结果为0。SF符号标志。1表示运算结果为负数。OF溢出标志。1表示带符号数在运算中产生了溢出。Bit1514131211109876543210xxxxOFDFIFTFSFZFxAFxPFxCF2.1.28086微处理器的寄存器结构•实际运算中,使用CF判断无符号数的溢出,用OF判断带符号数的溢出。AF用于BCD码运算的修正。跳转指令可根据ZF、SF、OF和CF标志来实现条件分支。•控制标志TF陷阱标志。1表示CPU处于单步(调试)方式。IF中断允许标志。1表示CPU允许可屏蔽中断请求。DF方向标志。1表示串操作指令按地址递减的方向来处理。•算术/逻辑运算指令的操作结果会修改状态标志。控制标志位由相应的指令来设置。2.1.28086微处理器的寄存器结构段寄存器•内存中通常存放3种信息:代码(指令):计算机执行何种操作。数据(字符、数值):程序处理的对象。堆栈信息:保存返回地址和中间结果。•为清晰可见,这3类信息通常分别存放在各自的存储区域内(存储器中的不同存储段)。•8086系统中把可直接寻址的1MB内存空间分为叫作“段”的逻辑区域,每个段的物。
8、理长度为64KB,每个段的起始地址的有关值存放在称作“段寄存器”的4个16bit寄存器中。2.1.28086微处理器的寄存器结构段存储器•CS代码段寄存器,指向当前的代码段,指令由此段取出。•SS堆栈段寄存器,指向当前的堆栈段,堆栈操作就在该段存储区域内进行。•DS数据段寄存器,指向当前的数据段,通常此段用来存放程序变量。•ES附加段寄存器,指向当前的附加段,一般也用来存储数据。2.28086的存储器和I/O组织存储器分段•8086CPU的数据总线和寄存器为16位,内部ALU也只能进行16位运算,内部寻址范围为:216=64KB。而CPU外部的地址总线是20位,所以引入“分段”的概念,从而获得20位地址空间。•一个段是存储器的一个逻辑单位,其长度可以达到64KB,每个段都由连续的存储单元构成,是存储器中独立的可分别寻址的单位。•每段第一个字节的位置称为“段起始地址”,可由程序来指定。段起始地址必须能被16整除(即XXXX0H,这样XXXX可以存放到段寄存器中)。•几个段可以相互重叠,也可以指向同一空间。8086的存储器分段段2和段3有重叠的部分。甚至可以将段1、2、3、4都放在同一个段。
9、空间内.存储器分段示意图2.28086的存储器和I/O组织存储器组织•8086有20bit的地址线,可以寻址1MB存储空间,地址编号:00000H~FFFFFH。•存储空间按字节进行组织,每个存储单元存储一个字节数据,若存储一个“字”数据(16位),则存放在相邻两个存储单元之中,高字节存放在高地址单元,低字节存放到低地址单元(Intel的小端模式)。•指令、字节数据和字数据可以自由地存放在任何字节地址中。2.28086的存储器和I/O组织•16位整数1234H在存储器地址0057AH内存放,示意图如下:•字符串‘Hello!’在存储器的首地址为2200:3015H的数据区中存放,示意图如下:2.28086的存储器和I/O组织存储器内部结构及访问方法•在8086CPU存储器中,如果一个字是从偶地址开始存放,称为规则字或对准字,对其访问用一个总线周期。如果一个字是从奇地址开始存放,称为非规则字或非对准字,需要两个总线周期才能访问。•原因(8086的存储器分体结构)8086CPU存储器的1MB存储空间被分作两个512KB的存储体,分别叫高位库和低位库。低位库与8086CPU的低8位数据线D7。
10、~D0相连,其每个存储单元的地址为偶地址。高位库与8086CPU的高8位数据线D15~D8相连,其每个存储单元的地址为奇地址。看下图2.28086的存储器和I/O组织存储器内部结构及访问方法•A0与控制信号相配合,访问存储体A0操作功能效率00同时访问两个存储体,读/写一个对准字2B/周期01只访问奇地址存储体,读/写高字节信息1B/周期10只访问偶地址存储体,读/写低字节信息1B/周期11无操作无BHEBHEA0=0,访问偶地址存储体A0=1,访问奇地址存储体表示高8位数据线有效?BHE2.28086的存储器和I/O组织存储体与总线的连接示意图字节操作:A0=0,偶地址,选择偶地址存储体。A0=1,奇地址,产生信号,选择奇地址存储体。字操作:字对准,A0=0,=0,一次访问完毕。字非对准,用两次字节访问的方式先奇后偶来读取。BHEBHE2.28086的存储器和I/O组织逻辑地址和物理地址•在8086中,有两种地址形式。逻辑地址:允许在程序中编排使用的地址。物理地址:信息在存储器中实际存放的地址。段基址和段内偏移量•8086与存储器之间进行数据交换要通过20位的物理地址,而程序中所涉及的。
本文标题:8086微处理器
链接地址:https://www.777doc.com/doc-3400252 .html