您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《微机原理与应用》第2章微机体系结构
第二章微型计算机的体系结构主要内容微处理器内部结构;8086的内部寄存器和标志位;8086微处理器的引脚功能;8086的存储器组织;8086CPU时序80X86系列微处理器的结构特点。3微处理器的功能是计算机系统的核心根据指令实现各种相应的运算实现数据的暂存实现与存储器和接口的信息通信…….微处理器的一般结构运算器算术逻辑运算,由加法器和(ALU)一些辅助逻辑电路组成指令流控制控制器时序控制,产生节拍定时信号指令译码和操作控制寄存器组存放临时数据、运算的中间结果、运算特征、操作数地址性能:8位→16位→32位→64位主要部件程序指令1指令2指令3指令4指令n……取指令指令译码取操作数执行指令存结果指令周期操作码操作数执行微型计算机的工作过程程序:–具有一定功能的指令的有序集合指令:–由人向计算机发出的、能够为计算机所识别的命令。指令执行过程取指令指令译码取操作数执行指令存结果问题:1.CPU如何知道从哪里取出程序的第一条指令?——操作系统2.CPU如何按程序控制流执行指令?——程序计数器3.CPU如何知道从哪里取操作数?——地址、寻址方式7指令流水线指令流水线有两种运作方式:–串行方式:取指令和执行指令在不同的时刻按顺序执行。–并行方式:取指令和执行指令可同时执行,需要有能并行工作的硬件的支持。8串行工作方式8086以前的CPU采用串行工作方式取指令1执行1取指令2执行2CPUBUS忙碌忙碌取指令3执行3忙碌空闲空闲空闲t1t0t2t3t4t56个周期执行了3条指令9并行工作方式8086CPU采用并行工作方式取指令1取指令2取指令3取指令4执行1执行2执行3BUS忙碌执行4CPUt1t0t2t3t4t5取指令5执行5忙碌忙碌忙碌忙碌忙碌6个周期执行了5条指令108088/8086CPU的特点采用并行流水线工作方式——通过设置指令预取队列实现对内存空间实行分段管理——将内存分为4个段并设置地址段寄存器,以实现对1MB空间的寻址支持多处理器系统CPU内部结构存储器寻址部分工作模式2.18086CPU的内部逻辑结构8086是Intel系列的16位微处理器,常用HMOS工艺制造,它有16位数据线和20根地址线,可寻址的地址空间达220即1MB。8088微处理器是准16位,其内部逻辑按16位设计,但外部数据总线只有8条。8086的内部逻辑结构•由总线接口部件(BIU)和执行部件(EU)构成,两者可以并行工作。执行部件EU(ExecutionUnit)•EU的功能是执行指令;•EU从指令队列中取出指令代码,将其译码,发出相应的控制信息;•控制数据在ALU中进行运算,运算结果的特征保留在FLAGS中。EU由以下各部分组成:•算术逻辑单元ALU•标志寄存器FLAGS(FR)•通用寄存器组•执行部件控制电路总线接口部件BIU(BusInterfaceUnit)•BIU负责与存储器I/O端口传送信息。•BIU从内存中取出指令送到指令队列;•当EU需要数据时,BIU与EU配合,从指定的内存或I/O端口取出数据给EU;•当运算结束时,BIU将运算结果送入指定的内存单元或外设。BIU的组成:•专用寄存器组•地址加法器•指令队列(6字节)•总线控制逻辑BIU与EU的动作管理•当指令队列中有2个空字节时,BIU自动把指令取到指令队列中。当指令队列已满,而EU无总线访问请求时,BIU进入空闲状态。•EU从指令队列的头部取出指令,并执行。在执行中,如需要访问内存或I/O设备,则EU请求BIU取操作数,并直等到需要的操作数到来后,EU才继续操作。•若BIU处于空闲态,它立即响应请求,若BIU正在取指令到指令对列,它先完成取指令操作,再响应EU的请求。•EU在执行转移、调用、返回等指令时,指令队列中的指令被清除,BIU重新从存储器中取出指令送入指令队列,EU才继续执行指令。•因为EU与BIU并行工作,在整个运行期间,BIU总是忙碌的,充分利用了总线,CPU效率很高。(动画)2.28086的寄存器结构存储器是计算机存储信息的地方。掌握数据存储格式,以及存储器的分段管理对以后的汇编程序设计非常重要存储器也就是平时所说的主存,也叫内存,可直接与CPU进行数据交换。主存利用地址区别寄存器是微处理器(CPU)内部暂存数据的存储单元,以名称表示,例如:AX,BX..….等外存主要指用来长久保存数据的外部存储介质,常见的有硬盘、光盘、磁带、U盘等。外存的数据只能通过主存间接地与CPU交换数据程序及其数据可以长久存放在外存,在运行需要时才进入主存你能区别寄存器、存储器(主存)、外存(包括硬盘、光盘、磁带等存储介质)吗?AX(Accumulator)累加器。•用于算术、逻辑运算以及与外设传送信息等BX(BaseaddressRegister)基址寄存器。•常用做存放存储器地址通用寄存器组CX(Count)计数寄存器。•在循环和串操作时,常用作计数器。DX(Data)数据寄存器。•常用来存放双字长数据的高16位,或存放外设端口地址AX:AHALBX:BHBLCX:CHCLDX:DHDL例如上述4个寄存器皆为16位寄存器,但又可将高、低8位分别作为两个独立的8位寄存器使用。SP(StackPointer)堆栈指针寄存器BP(BasePointer)基址寄存器SI(SourceIndex)源变址寄存器DI(DestinationIndex)目的变址寄存器以上4个寄存器只能作为16位的寄存器用。段寄存器CS(CodeSegment)—代码段寄存器SS(StackSegment)—堆栈段寄存器DS(DataSegment)—数据段寄存器ES(ExtraSegment)—附加段寄存器段寄存器都是16位的寄存器,用于存放段基值(16位的无符号数)控制寄存器IP(InstructionPointer)指令指针寄存器。指示主存储器指令的位置。•存放预取指令的偏移地址;•随着指令的执行,IP将自动加1,以指示下一条指令所在的存储器位置;•IP寄存器与CS段寄存器联合使用以确定下一条指令的存储单元地址FLAGS(FlagsRegister)标志寄存器•Flags是16位寄存器,但只用其中的9位。这9位包括6个状态标志位和3个控制标志位。15OFDF1011IFTF89SFZF67AF45PF23CF016个条件标志位:CF(CarryFlag):进位标志•CF=1表示本次运算中,最高位(D7位或D15位)发生进位(加法运算)或借位(减法运算)。•CF=0表示没发生进位(或借位)PF(ParityFlag):奇偶标志•PF=1运算结果的低8位中有偶数个“1”•PF=0运算结果的低8位中有奇数个“1”AF(AuxiliaryCarryFlag):辅助进位标志。(又称半进位标志)•AF=1表示本次运算D3位向D4位有进位(加法运算)或借位(减法运算)。•AF=0表示无半进位ZF(ZeroFlag):零标志。•ZF=1表示本次运算结果为0;•否则ZF=0。SF(SignFlag):符号标志。•SF=1表示本次运算结果的最高位(D7或D15位)为“1”,否则,SF=0。OF(OverflowFlag):溢出标志。•OF=1表示本次运算结果超出了带符号数范围,即溢出,否则OF=08位补码的整数范围是:-128~+12716位补码的整数范围是:-32768~+32767•2个n位的无符号二进制数相加,结果大于2n-1,称为进位。应用CF标志位作判断。•2个n位的带符号二进制数相加,结果大于2n-1-1或小于-2n-1,称为溢出,应用OF标志位作判断。•上述的n为字长,8086的n为8或16。关于进位与溢出三个控制标志位为:DF(DirectionFlag):方向标志。•DF=1,使串操作按减地址方式进行;•DF=0,使串操作按增地址方式进行。IF(InterruptFlag):中断标志。•IF=1,允许CPU响应可屏蔽中断;•IF=0,禁止CPU响应可屏蔽中断。TF(TrapFlag):单步标志。•TF=1,CPU进入单步工作方式;•TF=0,CPU正常执行。例如:二进制数无符号数带符号数加数1000001004+4加数20000101111+11和0000111115+15CFOFZFSFPFAF000010二进制数无符号数带符号数加数1000001117+7加数211111011251-5和000000102+2CFOFZFSFPFAF100001二进制数无符号数带符号数加数1000010019+9加数201111100124+124和10000101133-123CFOFZFSFPFAF010101二进制数无符号数带符号数加数110000111135-121加数211110101245-11和01111100124+124CFOFZFSFPFAF1100002.38086CPU的外部引脚及功能8086CPU芯片是40条引脚的双列直插式封装;8086CPU有两种工作模式,即最大模式和最小模式引脚采用了分时复用方式,有8条引脚在两种工作模式中具有不同的功能。8086的各引脚功能:AD15~AD0(AddressDataBus)分时复用地址/数据线•传送地址时三态输出;•传送数据时可双向三态输入/输出。A19/S6~A16/S3(Address/Status)分时复用地址/状态线•作地址用时,A19~A16与AD15~AD0一起构成访问内存的20位物理地址•当CPU访问I/O端口时,A19~A16保持为“0”•作状态用时,S6~S3输出状态信息。(见表2.1)表2.1S4S3状态编码S4S3段寄存器00ES01SS10CS(I/O,INT)11DS•S5指示中断标志状态,当IF=1时,S5=1。S6恒为“0”。(BusHighEnable/Status)•总线高位有效信号。三态输出,低电平有效。在读写存储器或I/O端口时,用作体选信号。(见表2.2)7BHE/S表2.2和AD0编码的含义AD0总线使用情况0016位数据总线上进行字传送01高8位数据总线上进行字节传送10低8位数据总线上进行字节传送11无效BHEBHEBHERD(Read)•读信号。三态输出,低电平有效。指示CPU正在读内存或I/O端口。WR(Write)•写信号。三态输出,低电平有效。指示CPU正在写内存或I/O端口。M/IO(Memory/IO)•存储器或I/O端口访问信号。•M/IO为高电平时,表示当前CPU正访问存储器;•M/IO为低电平时,表示当前CPU正访问I/O端口。READY•准备就绪信号。外部输入,高电平有效。•它有效表示内存或I/O端口已准备好传送数据。无效时要求CPU插入等待周期Tw。INTR(InterruptRequest)•中断请求信号。输入,高电平有效•有效时,表示外部向CPU发出了中断请求。TEST•测试信号。输入,低电平有效•当CPU执行WAIT指令时,每隔5个时钟周期对TEST进行一次测试•仅当TEST有效时,CPU才执行下一条指令。INTA(InterruptAcknowledge)•中断响应信号。输出,低电平有效•表示CPU响应了外部发来的INTR信号。RESET•复位信号。输入,高电平有效。•CPU接收到RESET信号后,停止当前操作,并将工作寄存器和指令队列复位到初试状态。ALE(AddressLatchEnable)•地址锁存允许信号。输出,高电平有效。•在最小模式系统中作地址锁存器的选通信号。DT/R(DataTransmit/Receive)•数据发送/接收控制信号。•用于数据收发器的传送方向。•当DT/R为高电平时,表示CPU向外部输出数据•当DT/R为低电平时,表示外部向CPU输入数据。•DEN(DataEnable)•数据允许信号,三态输出,低电平有效。•在最小模式系统中作为数据收发器的选通信号。HOLD(HoldR
本文标题:《微机原理与应用》第2章微机体系结构
链接地址:https://www.777doc.com/doc-3207159 .html