微机原理及应用§2.1微型计算机基本结构计算机的工作原理系统组成微机原理及应用一、计算机的工作原理冯•诺依曼的计算机工作原理存储程序工作原理微机原理及应用冯•诺依曼机的特点:将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存指令按其在存储器中存放的顺序执行由控制器控制整个程序和数据的存取以及程序的执行以运算器为核心,所有的执行都经过运算器微机原理及应用冯•诺依曼计算机结构运算器存储器控制器输入设备输出设备微机原理及应用哈佛结构哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线,从而使数据的吞吐率提高了一倍。由于程序和存储器在两个分开的空间中,因此取指和执行能完全重叠。微机原理及应用二、系统组成CPU存储器主机输入/输出接口硬件系统总线外设微机系统系统软件软件系统应用软件微机原理及应用1.主机硬件系统微处理器(CPU)存储器输入/输出接口总线微机原理及应用1)微处理器微处理器简称CPU,是计算机的核心,主要包括:运算器控制器寄存器组总线接口部件微机原理及应用2)存储器定义:用于存放计算机工作过程中需要操作的数据和程序。几个概念:内存单元的地址和内容内存容量内存的操作内存的分类微机原理及应用内存单元的地址和内容每个单元都对应一个地址,以实现对单元内容的寻址10110110B38F04H内存地址单元内容微机原理及应用内存容量内存所含存储单元的个数,以字节为单位内存容量的大小依CPU的寻址范围而定(即CPU地址信号线的位数)微机原理及应用内存操作读:将内存单元的内容取入CPU,原单元内容不改变写:CPU将信息放入内存单元,单元中原来的内容被覆盖P30图2-5微机原理及应用内存分类随机存取存储器(RAM)按工作方式可分为只读存储器(ROM)微机原理及应用3)输入/输出接口接口是CPU与外部设备间的桥梁CPUI/O接口外设微机原理及应用接口的分类串行接口输入接口并行接口输出接口接口的功能数据缓冲寄存信号电平或类型的转换实现主机与外设间的运行匹配微机原理及应用4)总线Bus概念:由一组导线和相关电路组成,是各种公共信号线的集合,用作微机各部分传递信息所共同使用的“高速信息公路”。系统总线分类:数据总线DB(databus)地址总线AB(addressbus)控制总线CB(controlbus)常用系统总线标准及其主要技术指标(具体内容见后续课程)微机原理及应用2.软件系统软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料。系统软件应用软件操作系统编译系统网络系统工具软件软件微机原理及应用§2.28086/8088微处理器8086/8088微处理器概述8086/8088的引脚及其功能8086/8088的编程结构8086的存储器组织8086的操作和时序微机原理及应用一、8086/8088微处理器概述Intel系列的16位微处理器16根数据线20根地址线,寻址220=1M字节时钟频率5MHz、10MHz5V电源8088为准16位微处理器,数据线8根微机原理及应用指令的一般执行过程:取指令→指令译码→读取操作数→执行指令→存放结果P36图2-92-10一、8086/8088微处理器概述微机原理及应用串行和并行方式的指令流水线:串行工作方式:控制器和运算器交替工作,按顺序完成上述指令执行过程并行工作方式:运算器和控制器可同时工作微机原理及应用串行工作方式:8088以前的CPU采用串行工作方式取指令1执行1存结果1取指令2取操作数执行2CPUBUS忙碌忙碌忙碌忙碌微机原理及应用并行工作方式:8088CPU采用并行工作方式取指令2取操作数BIU存结果取指令3取操作数存结果执行1执行2执行3EUBUS忙碌忙碌忙碌忙碌忙碌忙碌微机原理及应用8088/8086CPU的特点采用并行流水线工作方式:通过设置指令预取队列实现对内存空间实行分段管理:将内存分为4个段并设置地址段寄存器,以实现对1MB空间的寻址支持多处理器系统微机原理及应用8088CPU的两种工作模式8088可工作于两种模式下,即:最小模式和最大模式。最小模式为单处理机模式,控制信号较少,一般可不必接总线控制器。最大模式为多处理机模式,控制信号较多,须通过总线控制器与总线相连。微机原理及应用最小模式下的连接示意图8088CPU••控制总线数据总线地址总线地址锁存数据收发ALE时钟发生器微机原理及应用最大模式下的连接示意图8088CPU数据总线地址总线地址锁存数据收发ALE时钟发生器总线控制器控制总线微机原理及应用二、8088CPU的引线及功能8086/8088CPU具有40条引脚,双列直插式封装,采用分时复用地址数据总线,从而使8086/8088CPU用40条引脚实现20位地址、16位数据、控制信号及状态信号的传输。8086/8088CPU芯片可以在两种模式下工作,即最大模式和最小模式。最大模式:指系统中通常含有两个或多个微处理器(即多微处理器系统),其中一个主处理器就是8086/8088CPU,另外的处理器可以是协处理器。最小模式:在系统中只有8086/8088一个微处理器。微机原理及应用微机原理及应用主要引线(最小模式下):8088是工作在最小还是最大模式由MN/MX端状态决定。MN/MX=0工作于最大模式,反之工作于最小模式AD7~AD0:低8位地址和数据信号分时复用。在传送地址信号时为单向,传送数据信号时为双向。A19~A16:高4位地址信号,分时复用。A15~A8:输出8位地址信号。微机原理及应用主要的控制和状态信号WR:写信号RD:读信号IO/M:为“0”表示访问内存为“1”表示访问接口DEN:数据允许信号ALE地址锁存允许信号RESET:复位信号微机原理及应用[例]:当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作微机原理及应用中断请求和响应信号INTR:可屏蔽中断请求输入端NMI:非屏蔽中断请求输入端INTA:中断响应输出端微机原理及应用总线保持信号HOLD:总线保持请求信号输入端。当CPU以外的其他设备要求占用总线时,通过该引脚向CPU发出请求HLDA:总线保持响应信号输出端。CPU对HOLD信号的响应信号微机原理及应用三、8086的编程结构编程结构:是指从程序员和使用者的角度看到的结构,与CPU内部的物理结构和实际布局有区别。8086的编程结构从功能上分为两个独立的工作部件:总线接口部件BIU(BusInterfaceUnit)执行部件EU(ExecutionUnit)微机原理及应用微机原理及应用1.执行部件EU执行部件其主要功能是执行指令。由以下几部分组成:算术逻辑运算单元ALU(ArithmeticLogicUnit)4个通用寄存器AX、BX、CX、DX4个专用寄存器BP、SP、SI、DI1个标志寄存器微机原理及应用通用寄存器4个通用寄存器AX、BX、CX、DX为16位寄存器;也可作为8位寄存器使用。如:BX寄存器作为8位寄存器时,分别称BH和BL;BH为高8位,BL为低8位。AX寄存器也称为累加器。8086指令系统中有许多指令都利用累加器来执行。微机原理及应用通用寄存器特定用法通常通用寄存器可以任意选用,但还有一些特定用法,如下表:寄存器数据寄存器数据AX字乘、字除、字I/OCL多位移位、循环移位AL字节乘、除、I/O查表转换、十进制DX间接I/O地址AH字节乘、字节除SP堆栈操作BX查表转换SI数据串操作CX数据串操作、循环DI数据串操作微机原理及应用专用寄存器4个专用寄存器为16位寄存器,不可作8位寄存器使用。分别为:基数指针寄存器BP(BasePointer)堆栈指针寄存器SP(StackPointer)源变址寄存器SI(SourceIndex)目的变址寄存器DI(DestinationIndex)微机原理及应用标志寄存器标志寄存器共有16位,其中7位未用,其余每位有各自的含义。8086的标志可以分为两类状态标志控制标志1514131211109876543210OFDFIFTFSFZFAFPFCF微机原理及应用–状态标志状态标志表示前面的操作执行后,算术逻辑部件处在怎样一种状态,这种状态会像某种先决条件一样影响后面操作。状态标志有6个,即SF、ZF、PF、CF、AF、OF。①符号标志SF(SignFlag):指出前面的运算结果是正还是负微机原理及应用–状态标志②零标志ZF(ZeroFlag):当前运算结果为零,ZF=1;当前运算结果非零,ZF=0③奇偶标志PF(ParityFlag):如果运算结果的低8位中所含1的个数为偶数,则PF=1;否则PF=0。④进位标志CF(CarryFlag);当加法运算有进位,减法运算有借位时,CF=1,否则CF=0。⑤辅助进位标志AF(AuxiliarycarryFlag):在字节操作时,低4位向高4位有进位(加法)或有借位(减法);在字操作时,低字节向高字节有进位(加法)或有借位(减法)时,则AF=1,否则AF=0。⑥溢出标志OF(OverflowFlag):在有符号数的算术运算时,当运算结果有溢出时,OF=1,否则OF=0微机原理及应用–状态标志例:执行下面两个数的加法01000101+0001100101011110运算结果的最高位为0,SF=0;运算结果不为0,ZF=0;运算结果有5个1,奇数,PF=0;最高位没有产生进位,CF=0;第三位没有向第四位产生进位,AF=0;运算结果没有超出范围,即没有溢出OF=0。执行程序;MOVAX,45HADDAX,19H微机原理及应用–控制标志控制标志是人为设置的,指令系统中有专门用于控制标志的设置和清除的指令,每个标志对某一特定功能其控制作用。控制标志有3个,即DF、IF、TF。①方向标志DF(DirectionFlag):控制串操作指令用的。DF=0为增量方向,DF=1为减量方向。②中断允许IF(InterruptenableFlag)控制可屏蔽中断的标志。③跟踪标志TF(TrapFlag):单步标志,TF=1表示CPU按跟踪方式执行指令微机原理及应用注:在调试程序DEBUG中提供了测试标志位手段,它用符号表示标志位的值。表示方法如下表:标志名标志为1标志为0OF溢出(是/否)OVNVDF方向(减/增)DNUPIF中断(允许/关闭)EIDISF符号(负/正)NGPLZF零(是/否)ZRNZAF辅助进位(是/否)ACNAPF奇偶(偶/奇)PEPOCF进位(是/否)CYNCTF陷阱标志××微机原理及应用2.总线接口部件BIU总线接口部件主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。具体讲,总线接口部件要配合执行部件从指定的内存单元或外设端口中取数据,将数据传送给执行部件,或把执行部件的操作结果传送给指定的内存单元或外设端口。由以下几部分组成:1个20位地址加法器4个16位段地址寄存器1个16位指令指针寄存器IP6字节的指令队列缓冲器微机原理及应用地址加法器地址加法器将来自于段寄存器的16位段首地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加,形成一个20位的实际地址(又称为物理地址),以对1MB的存储空间进行寻址。微机原理及应用存储器分段管理8086微处理器的地址线有20根,则存储器寻址空间为220=1MB,可内部的指令指针寄存器都只有16位,寻址空间只有64KB。为了达到直接寻址1MB的目的,8086采用了分段的方法。存储空间的分段方式不唯一,分段之间可以连续、分离,部分重叠或完全重叠。这样,一个具体的存储单元可以属于几个逻辑段。分段最小16个字节,最大64K字节。微机原理及应用存储器分段管理将段起始地址放在段寄存器,称为段基址,段起始地址必须能被16