第二章微型计算机的组成及微处理器的功能结构2.1微型计算机的组成2.280X86系列微处理器的功能结构1.8086/8088及80286微处理器的逻辑结构2.8086(8088)CPU的功能结构3.8086/8088的存储器组织及其寻址4.标志寄存器PSW5.8086/8088的I/O地址空间2.3精减指令集与复杂指令集计算机第二章微型计算机的组成及微处理器的功能结构2.1微型计算机的组成图2.1微型计算机的硬件组成存储器I/O接口输入设备I/O接口数据总线DB控制总线CB输出设备CPU地址总线AB第二章微型计算机的组成及微处理器的功能结构2.1微型计算机中的组成1.微处理器中央处理部件CPU(CentralProcessingUnit)2.存储器RAM(RandomAccessMemory)ROM(ReadOnlyMemory)3.输入/输出设备及其接口电路输入/输出(Input/Output,缩写位I/O)设备统称外部设备,简称I/O设备。4.总线数据总线DB(DataBus)地址总线AB(AddressBus)控制总线CB(ControlBus)总线总线是指传递信息的一组公用导线,是传送信息的公共通道,微机系统采用总线结构连接系统功能部件。总线信号可分成三组地址总线AB:传送地址信息(单向)数据总线DB:传送数据信息(双向)控制总线CB:传送控制信息(每根单向/双向)总线一般被看成一个独立的部件。第二章微型计算机的组成及微处理器的功能结构2.280X86系列微处理器的功能结构1.8086/8088微处理器的逻辑结构8086/8088CPU的内部逻辑结构指令流队列标志寄存器FLAGS(P43)寄存器阵列微型计算机的总线结构INTEL8086/8088处理器逻辑结构*INTELPentium处理器逻辑结构*超标量和流水线的概念超标量:配置多个执行部件和指令译码电路,能同时执行多条指令。Pentium由三个执行单元组织而成,一个执行浮点指令,另两个执行整型指令(U流水线和V流水线),这意味着Pentium同时可以执三条指令流水线:在CPU中把一条指令分解成多个可单独处理的操作,使每个操作在一个专门的硬件站(stage)上执行,这样一条指令需要顺序地经过流水线中多个站的处理才能完成,但是前后相连的几条指令可以依次流入流水线中,在多个站间重叠执行,因此可以实现指令的并行处理。8086(8088)CPU从功能上分成两大部分总线接口单元BIU(BusInterfaceUnit)BIU负责与存储器接口,BIU负责从内存的指定部分取出指令,送至指令流队列中排队(8086指令队列6字节,8088的指令队列4字节);在执行指令时所需要的操作数负责信息交换(地址信息、数据信息、控制信息)执行单元EU(ExecutionUnit)负责数据处理(算术运算、逻辑运算)2.8086(8088)CPU的功能结构(P42图2.3)第二章微型计算机的组成及微处理器的功能结构•总线接口部件BIU执行部件EU*386CPU寄存器结构0151631015015163178ALBLCLDLAXBXCXDXAHBHCHDHEAXEBXECXEDXIPCSDSSSESFSGSSPBPSIDIESPEBPESIEDIFLAGSCR0指令指针IP段寄存器CS,DS,SS,ES,FS,GS通用寄存器EAX,EBX,ECX,EDX变址寄存器ESI,EDI指针寄存器EBP,ESP标志寄存器FLAGS控制寄存器0(CR0)CR0的第0位叫保护允许位(PE),PE用于对实模式和保护模式进行切换,PE置0时选择实模式运行INTEL8086/8088寄存器结构第二章微型计算机的组成及微处理器的功能结构3.8086/8088的存储器组织及其寻址内存:内存是存储程序代码和数据的部件,由地址译码器、内存芯片等构成。内存单元:存储信息的基本单位。每片内存芯片有若干个内存单元。每个单元可存储8位二进制数(1Byte)1)存储单元的地址和内容存储器以字节(Byte)为单位存储信息,每个字节有一个地址,地址编码长度取决于地址总线的位数。地址值一般用16进制格式表示,如:0000H(16位地),0F00F4H(20位地址总线)设2号单元中存放的内容为78H,表示为:(0002H)=78H如果数据以字为单位,则占用连续的两个字节单元,且用低地址表示:(0002H)=1A78H若0002单元内容为一个地址,而(1A78H)=3B6FH,则可记为((0002H))=3B6FH2)对内存的读/写操作3)存储器地址的分段8086/8088有20条地址线,其寻址范围为:1M(字节),地址从00000~FFFFFH但8086/8088中有关地址的寄存器都是16位的,寻址范围最多为64KB。那么16位字长的机器里用什么办法提供20位地址?采用存储器地址分段的办法解决。80X86CPU提供了存储器分段的机制,每段最大可寻址64KB,这样段内地址可用16位表示。一个程序的代码、数据、堆栈等一般在存储器中占有不同的存储段任何一个“物理地址”,例如234A5H可以分解表示为:22340H+01165H,两部分分别被称为“段地址”(前者)和“段内偏移地址”(后者)。分解的规则是:段地址最高四位与物理地址相同,最低四位为0,段内偏移地址的最高四位为0。存储实现:段地址去掉最低四位0,保存高16位,段内偏移地址去掉最高四位0,保存低16位,从而实现20位物理地址的16位存储和处理。显然,在一个段内,偏移地址可以从00000H到0FFFFH,这就是一个段的寻址空间64K。在1MB(20位地址总线)的存储器中,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址(又叫实际地址)。另一种叫逻辑地址,由两部分组成:段基址和偏移量(偏移地址)。程序中不能使用20位的物理地址,而使用16位逻辑地址。20位物理地址由16位段地址和16位偏移地址组成。由段地址和偏移地址计算物理地址方法如下:物理地址=10H×段地址+偏移地址实际上,一个物理地址有可能对应多个逻辑地址,例:10145H可对应10100H+45H,也可对应10140H+05H对应前面提到的四个段寄存器CS、DS、SS和ES,有各自的用途:存取操作数时用DS、ES作为段地址;取指令码时用CS作为段地址,IP是偏移地址;堆栈操作时用SS作为段地址,SP是偏移地址;例如:知道段地址1010H,偏移地址0045H,则实际物理地址的计算方法如下:段地址左移4位+偏移地址=物理地址,即:10100H+0045H=10145H00010000000100000000+000000000100010100010000000101000101(10145H)各段在存储器中的分配一般由操作系统负责,4.标志寄存器PSW这9个标志位分为两类:状态标志:CF、PF、AF、ZF、SF、OF控制标志:TF、IF、DF1.进位标志CF最高位产生进位或借位时,则CF=1,否则CF=02.奇偶标志PF运算结果中1的个数为偶,则PF=1,否则PF=03.辅助进位标志AF当D3向D4有进位或有借位时,则AF=1,否则AF=04.零标志ZF运算的结果为零,则ZF=1,否则ZF=05.符号标志SF运算的结果最高位为1,则SF=1,否则SF=06.溢出标志OF算术运算中,补码运算结果超出了带符号数的表示范围,即:超出OF=1,否则OF=06个状态标志位的意义3个控制标志位的意义7.跟踪标志TF若TF=1,则CPU按单步方式执行指令,以便于调试.8.中断允许标志IF如果IF=1,允许CPU接收外部的可屏蔽中断请求。若IF=0,则不允许接收.9.方向标志DF如果DF=1,使串操作指令按自动减量修改地址。若DF=0,则按自动增量修改地址.在DEBUG调试程序中提供了除TF以外,测试各个标志位的手段.第二章微型计算机的组成及微处理器的功能结构5.8086/8088的I/O地址空间8086/8088CUP与外设的连接都是通过I/O芯片,每个芯片有一个或一个以上的端口,每个端口分配一个地址,8086/8088允许有256个端口或最多65536个端口(8位),两个相邻的8位端口可组成一个16位端口。第二章微型计算机的组成及微处理器的功能结构*2.3精减指令集与复杂指令集计算机1.CISC体系CISC(ComplexInstructionSetComputer,复杂指令集计算机)CISC体系的指令特征CISC体系的优缺点2.RISC体系RISC体系的指令特征RISC体系的优缺点3.CISC体系与RISC体系的比较