简述计算机网络的组成最大状态下8088cpu的系统组成

系统可以分成硬件系统和软件系统两大部分
时间: 19:58:28
&&&& &&&& &&&& &&&&&&&&《微机原理及其应用》第2章微处理器及系统结构微机原理及其应用》&&&&&&&&内容简介:内容简介:微处理器系统特性及结构;&&&&内组织。目录&&&&2.1微型计算机的基本结构2.CPU2.3CPU工2.4.5储总线组织时内结构脚功&&&&&&&&结构&&&&&&&&,&&&&&&&&机系统&&&&&&&&储&&&&&&&&&&&&第1章&&&&&&&&微机基础知识&&&&&&&&2.1微型计算机系统&&&&1.微型计算机的基本组成一个典型的微型计算机系统可以分成硬件系统和软件系统两大部分。&&&&控制器运算器寄存器只读存储器(ROM)随机存储器(RAM)内存储器高速缓冲存储器(Cache)&&&&CPU&&&&&&&&主机&&&&&&&&硬件系统&&&&&&&&外部设备&&&&&&&&输入设备(键盘、鼠标、光笔、扫描仪)输出设备(显示器、打印机、绘图仪)其他设备(网卡、调制解调器、声卡、显卡、视频卡)操作系统(DOS、Windows、UNIX等)语言处理程序(编译系统、解释系统等)数据库管理系统(VF、Oracle、Access等)网络软件(等)其他(编辑程序、诊断程序、连接装配程序等)Office套件(Word、Excel、PowerPint、FontPage等)工具软件(解压缩软件、杀毒软件等)用户程序()&&&&&&&&微型计算机系统&&&&&&&&系统软件&&&&&&&&软件系统&&&&&&&&应用软件&&&&&&&&&&&&第1章&&&&&&&&微机基础知识&&&&&&&&1.微机的硬件系统计算机由运算器、控制器、存储器、输入设备和输出设备等五大部分组成。通常把运算器和控制器称为中央处理器CPU,把CPU和存储器合称为计算机的主机。而把输入设备和输出设备以及外存储器合称为外部设备,简称外设。微型计算机由微处理器、存储器、输入输出(I/O)接口电路及系统总线组成的,系统总线(三总线)即数据总线、地址总线和控制总线,如图1-1所示。&&&&微处理器CPU&&&&ROMRAMI/O接口&&&&&&&&地址总线AB控制总线CB数据总线DB&&&&&&&&外设&&&&&&&&图1-1微型计算机的基本结构&&&&&&&&&&&&1)CPUCPU是一个复杂的电子逻辑元件,它包含了早期计算机中的运算器、控制器及其他功能,能进行算术、逻辑运算及控制操作。2)内存所谓内存就是指微型计算机内部的存储器。由书中图2.1可以看到,内存是直接连接在系统总线上的。因此,内存的存取速度比较快。由于内存价格较高,一般其容量较小。这与作为外设(外部设备)的外部存储器刚好相反,后者容量大而速度慢。内存用来存放微型计算机要执行的程序及数据。在微型计算机的工作过程中,CPU从内存中取出程序执行或取出数据进行加工处理。这种由内存取出的过程称为读出内存,而将数据或程序存放于内存的过程则称为写入内存。内存包含有很多存储单元(每个内存单元包含8bit),为区分不同的内存单元,对计算机中的每个内存单元进行编号,内存单元的编号就称为内存单元的地址。?读:将内存单元的内容取入CPU,原单元内容不改变;?写:CPU将信息放入内存单元,单元中原内容被覆盖;&&&&&&&&&&&&?内存的读写的步骤为:?CPU把要读写的内存单元的地址放到AB上?若是写操作,CPU紧接着把要写入的数据放到DB上?CPU发出读写命令?数据被写入指定的单元或从指定的单元读出到DB?若是读操作,CPU紧接着从DB上取回数据&&&&&&&&&&&&3)系统总线系统总线包括地址总线、数据总线和控制总线。这些总线提供了微处理器(CPU)与存储器、输入/输出接口部件的连接线。可&&&&&&&&&&&&以认为,一台微型计算机就是以CPU为核心,其他部件全都“挂接”在与CPU相连接的系统总线。微型计算机与外设的连接线称为外总线,也称为通信总线。它的功能就是实现计算机与计算机或计算机与其他外设的信息传送。微型计算机工作时,通过系统总线将指令读到CPU;CPU的数据通过系统总线写入内存单元;CPU将要输出的数据经系统总线写到接口,再由接口通过外总线传送到外设;当外设有数据时,经由外总线传送到接口,再由CPU通过内总线读接口读到CPU中。?地址总线AB:用来传送CPU输出的地址信号,确定被访问的存储单元、I/O端口。地址线的根数决定了CPU的寻址范围。CPU的寻址范围=2n,n-地址线根数?数据总线DB:在CPU与存储器、I/O接口之间数据传送的公共通路。数据总线的条数决定CPU一次最多可以传送的数据宽度。?控制总线CB:用来传送各种控制信号&&&&&&&&&&&&第1章&&&&&&&&微机基础知识&&&&&&&&2.微型计算机软件系统软件系统是指为计算机运行工作服务的全部技术资料和各种程序,它可以保证计算机硬件的功能得以充分发挥。微机的软件系统是由系统软件、应用软件组成。●系统软件通常包括:操作系统、语言处理程序、诊断调试程序、设备驱动程序以及为提高机器效率而设计的各种程序。在系统软件中,最重要的软件当属操作系统,即OS(OperatingSystem),所有的应用程序,包括系统软件中的一些程序,都要在操作系统构筑的平台上运行。&&&&&&&&●应用软件是为了解决各类应用问题而编写的程序。它直接面向用户,&&&&为用户服务。应用软件也可以逐步标准化、模块化、逐步形成了解决各种典型问题的应用程序的组合,称为软件包。&&&&&&&&机械工业出版社&&&&&&&&电子制作:邓蓓&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.2IntelCPU&&&&2.1.CPU主要特性&&&&&&&&内&&&&&&&&结构&&&&&&&&Intel8086是16位微处理器,采用HMOS工艺40条引脚封装,使用5V电源,时钟频率5MHz。主要特性如下:(1)8086CPU数据总线为16位,8088CPU数据总线为8位。(2)地址总线都是20位,低16位与数据总线分时复用,可直接寻址1MB的存储空间。(3)有16位的端口地址,可以寻址64KB的I/O端口。(4)有99条基本指令,指令功能强大。(5)有8种基本寻址方式。(6)可处理内部和外部中断,外部中断源多达256个。(7)兼容性好,与80X86、8085在源程序一级兼容。(8)8086可与和协处理器()组成多处理器系统。&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&8086CPU由两部分即指令执行单元EU和总线接口单元BIU组成。指令执行单元由算术逻辑运算单元ALU、标志寄存器FLAGS、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件BIU由地址加法器、专用寄存器组、指令队列和总线控制逻辑等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器取得指令并暂存到指令队列中等待执行,访问存储器或I/O端口以及读取操作数参与EU运算或存放运算结果等。BIU不断地从存储器取指令送入IPQ(指令预取队列),EU不断地从IPQIPQ取出指令执行IPQEU和BIU构成了一个简单的2工位流水线指令预取队列IPQIPQ是实现流水线操作的关键(类似于工厂流水IPQ线的传送带)&&&&&&&&&&&&?令预取队列的存在使EU和BIU两个部分可同时进行工作,带来了以下两个好处:?提高了CPU的效率?降低了对存储器存取速度的要求?采用并行流水线工作方式?对内存空间实行分段管理:每段大小为16B16B~每段大小为16B~64KB用段地址和段内偏移实现对1MB空间的寻址用段地址和段内偏移实现对1MB空间的寻址设置地址段寄存器指示段的首地址的区别:1)8088BIU中指令队列长度只有4B,8086BIU指令队列长度有6B。2)8088BIU通过总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与专用寄存器组之间的数据总线宽度也是8位,&&&&?&&&&&&&&&&&&而EU内部总线仍是16位,所以把8088称为准16位微处理器。?支持多处理器系统?片内无浮点运算部件,浮点运算由数学协处理器8087支持(或用软件模拟)?)微处理器不仅将微处理器的内部寄存器扩充至16位,从而使寻址能力和算术逻辑运算能力有了进一步提高,而且由于采取了上述一些措施,使得微处理器的综合性能与8位微处理器相比有了明显的提高。&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.2.CPU引脚功能&&&&GNDAD14140&&&&&&&&1.CPU的主要引脚及功能CPU是十六位的微处理器,它向外的信号至少应包含16条数据线,20条地址线,再加上其他一些必要的控制信号。为了减少芯片引脚数量,对部分引脚采用了分时复用的方式,构成40条引脚的双列直插式封装。8086CPU封装外形与内部各功能部件之间的相互连接如图2-3a)所示。&&&&&&&&AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND&&&&&&&&8086CPU&&&&&&&&20&&&&&&&&21&&&&&&&&Vcc(+5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ0/GT0)HLDA(RQ1/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET&&&&&&&&a)&&&&&&&&图2-38086CPU封装外形与实物图a)封装外形&&&&&&&&&&&&引脚定义的方法可大致分为:?每个引脚只传送一种信息(RD等);?引脚电平的高低不同的信号(IO/M等);?CPU工作于不同方式有不同的名称和定义(WR/LOCK等);?分时复用引脚(AD7~AD0等);?引脚的输入和输出分别传送不同的信息(RQ/GT等)。8088分为两种工作模式由MN/MX端状态决定:8086CPU上有MN/MX输入引线,用以决定8086CPU工作在哪种工作模式之下。当MN/MX=1时,8086CPU工作在最小模式之下。此时,构成的微型机中只包括一个8086CPU,且系统总线由CPU的引线形成,微型机所用的芯片少。当MN/MX=0时,8086CPU工作在最大模式之下。在此模式下,构成的微型计算机中除了有8086CPU之外,还可以接另外的CPU(如等),构成多微处理器系统。&&&&&&&&&&&&?1.最小模式下的引线在最小模式下,8086CPU的引线如图2.2所示(不包括括号内的信号)。现对各引脚介绍如下:A16~A19/S3~S6:这是4条时间复用、三态输出的引线。在8086CPU执行指令过程中,某一时刻从这4条线上送出地址的最高4位A16~A19。而在另外时刻,这4条线送出状态S3~S6。这些状态信息里,S6始终为低,S5指示状态寄存器中的中断允许标志的状态,它在每个时钟周期开始时被更新,S4和S3用来指示CPU现在正在使用的段寄存器.&&&&&&&&S4、S4、S3状态编码&&&&S所代表的段寄存器数据段寄存器堆栈段寄存器代码段寄存器或不使用附加段寄存器&&&&&&&&&&&&在CPU进行输入/输出操作时,不使用这4位地址,故在送出接口地址的时间里,这4条线的输出均为低电平。在一些特殊情况下(如复位或DMA操作时),这4条线还可以处于高阻(或浮空、或三态)状态。AD0~AD15:它们是地址、数据时分复用的输入/输出信号线,其信号是经三态门输出的。由于8086微处理器只有40条引脚,而它的数据线为16位,地址线为20位,因此引线数不能满足信号输入/输出的要求。则要选择分时复用。M/IO:它是CPU的三态输出控制信号,用来区分当前操作是访问存储器还是访问I/O端口。若该引脚输出为低电平,则访问的是I/O端口;若该引脚输出为高电平,则访问的是存储器。WR:它是CPU的三态输出控制信号。该引脚输出为低电平时,表示CPU正处于写存储器或写I/O端口的状态。DT/R:该引脚是CPU的三态输出控制信号,用于确定数据传送的方向。高电平为发送方向,即CPU写数据到内存或接口;低电平为接收方向,即CPU到内存或接口读数据。该信号通常用于数据总线驱动器245)的方向控制&&&&&&&&&&&&?DEN:这是CPU经三态门输出的控制信号。该信号有效时,表示数据总线上有有效的数据。它在每次访问内存或接口以及在中断响应期间有效。它常用做数据总线驱动器的片选信号。?ALE:三态输出控制信号,高电平有效。当它有效时,表明CPU经其引线送出有效的地址信号。因此,它常作为锁存控制信号将A0~A19锁存于地址锁存器的输出端。?RD:它是读选通三态输出信号,低电平有效。当其有效时,表示CPU正在进行存储器或I/O读操作。?READY:它是准备就绪输入信号,高电平有效。当CPU对存储器或I/O进行操作时,在T3周期开始采样READY信号。若为高电平,表示&&&&&&&&&&&&存储器或I/O设备已准备好;若其为低电平,表明被访问的存储器或I/O设备还未准备好数据,则应在T3周期以后,插入TWAIT周期(等待周期),然后在TWAIT周期中再次采样READY信号,直至READY变为有效(高电平),TWAIT周期才可以结束,进入T4周期,完成数据传送。?INTR:它是可屏蔽中断请求输入信号,高电平有效。CPU在每条指令执行的最后一个T状态采样该信号,以决定是否进入中断响应周期。这条引脚上的请求信号,可以用软件复位内部状态寄存器中的中断允许位(IF)加以屏蔽。?TEST:它是可用WAIT指令对该引脚进行测试的输入信号,低电平有效。当该信号有效时,CPU继续执行程序;否则CPU就进入等待状态(空转)。这个信号在每个时钟周期的上升沿由内部电路进行同步。&&&&&&&&&&&&NMI:它是屏蔽中断输入信号,边沿触发,正跳变有效。这条引脚上的信号不能用软件复位内部状态寄存器中的中断允许位(IF)予以屏蔽,所以由低到高的变化将使CPU在现行指令执行结束后就引起中断。RESET:它是CPU的复位输入信号,高电平有效。为使CPU完成内部复位过程,该信号至少要在4个时钟周期内保持有效。复位后CPU内部寄存器的状态如表2.2所示,各输出引脚的状态如表2.3所示。表2.3中从DEN(S0)到INTA各引脚均处于浮动状态。当RESET返回低电平时,CPU将重新启动。&&&&&&&&&&&&2.2复&&&&内部寄存器状态寄存器IPCS寄存器DS寄存器内容清除0000HFFFFH0000H&&&&&&&&内&&&&&&&&状态&&&&&&&&内部寄存器SS寄存器ES寄存器指令队列寄存器&&&&&&&&内容H清除&&&&&&&&&&&&2.3复&&&&引脚名AD0~AD7AD8~AD15A16/S3~A19/S6BHE/S7DEN(S0)DT/R(S1)M/IO(S2)WR(LOCK)状态&&&&&&&&各脚状态&&&&引脚名RDINTAALEHLDARQ/GT0RQ/GT1QS0QS1状态&&&&&&&&浮动浮动浮动高电平输出高电平后浮动输出高电平后浮动输出高电平后浮动输出高电平后浮动&&&&&&&&输出高电平后浮动输出高电平后浮动低电平低电平高电平高电平低电平低电平&&&&&&&&&&&&INTA:它&&&&&&&&CPU输号,可&&&&&&&&断响应&&&&&&&&号,&&&&&&&&CPU对断过断CPU过这条输,码&&&&&&&&输&&&&&&&&INTR断请求两个负&&&&&&&&响应。响应断&&&&&&&&读选&&&&&&&&号。高电件请求。输号,系统总线时,可&&&&&&&&HOLD:它请求。当线CPU&&&&&&&&&&&&HLDA:这输会对号、数据时还输总线控HLDA变,&&&&&&&&CPU对HOLD请求号。当CPUCPU应控HLDA,控&&&&&&&&响应&&&&&&&&号,&&&&&&&&高电,&&&&&&&&HOLD号态输&&&&&&&&响应:号个&&&&&&&&号变为高状态(处。现,HOLD号变&&&&&&&&动状态);对&&&&&&&&。当CPU检测时&&&&&&&&复对总线&&&&&&&&&&&&BHE/S7:它&&&&&&&&时间复高节&&&&&&&&态输&&&&&&&&号。该&&&&&&&&号&&&&&&&&,(高&&&&&&&&读/写数据&&&&&&&&(D8~D15),节节)CLK:这时钟时&&&&&&&&证8086可读/写号输个(16。&&&&&&&&读/写)。&&&&&&&&个&&&&&&&&节&&&&&&&&它供CPU总线控时钟频为5?MHz。&&&&&&&&号。8086CPU标输。&&&&&&&&VCC:它?+5?V电GND:它&&&&&&&&脚。&&&&&&&&&&&&2.当MN/MX加。时,。&&&&S2,1,S0:这S&&&&&&&&线电线24时,8086CPU工34这条线,括号内8086CPU经状态,可。号加产Intel公时系统总线线与号,图&&&&&&&&图2.2义号。&&&&&&&&态门供&&&&&&&&输&&&&&&&&状态&&&&&&&&号。这(&&&&&&&&总线控&&&&&&&&各种控&&&&&&&&号。2,1,0SSS态,编码&&&&&&&&状态编码&&&&&&&&时刻8086CPU状&&&&&&&&&&&&从输&&&&&&&&2.4可&&&&&&&&看&&&&&&&&,当8086CPU进样。,可应&&&&&&&&时,简单控号。&&&&&&&&S2~S0状态为8288对这&&&&&&&&状态进译码,产可看供&&&&&&&&,8288总线控够控号。&&&&&&&&S2~S0为构系统总线&&&&&&&&&&&&表2.4&&&&S0110011&&&&&&&&S0~S2的状态编码&&&&S中断响应读I/O端口写I/O端口暂停取指读存储器写存储器无作用性能&&&&&&&&&&&&●?CPU检测个总线从可脚输宽&&&&&&&&这个请求为&&&&&&&&,&&&&&&&&个T4负&&&&&&&&T1&&&&&&&&间,&&&&&&&&个时钟号,。对总线,控结过该&&&&&&&&给请求&&&&&&&&设备,个时钟总线&&&&&&&&为总线响应开&&&&&&&&当HLDA号。这样总线,总线请求设备,脚&&&&&&&&,CPU释种&&&&&&&&●?总线请求设备宽它为个时钟总线请求个时钟开暂时结负&&&&&&&&产,从&&&&&&&&个&&&&&&&&给CPU,号刚&&&&&&&&。CPU检测&&&&&&&&该结。&&&&&&&&总线,继续执&&&&&&&&总线设备请求总线&&&&&&&&&&&&LOCK:它&&&&&&&&个总线总线控控,,从&&&&&&&&锁。&&&&&&&&号,&&&&&&&&电&&&&&&&&。该&&&&&&&&号&&&&&&&&时,别获“LOCK”&&&&&&&&设备&&&&&&&&总线请求号将&&&&LOCK&&&&&&&&锁,&&&&&&&&对系统总线&&&&&&&&号执队&&&&&&&&缀毕。状态号。队CLK据。间&&&&&&&&条CPU输可2.5。队&&&&&&&&QS1,QS0:它们该状态。号输QS1,QS0&&&&&&&&CPU内状态&&&&&&&&编码&&&&&&&&&&&&QS0,2.5QS0,QS1状态编码&&&&&&&&QS10011&&&&&&&&QS00101无操作&&&&&&&&性能&&&&&&&&队列中操作码的第一个字节队列空队列中非第一个操作码字节&&&&&&&&&&&&2.2.38088CPU&&&&16,,16CPU。AD0~AD7,168系统,线图2.3&&&&&&&&线&&&&&&&&功&&&&总线内8传兼。均为数据线8,8088CPU传数据,8&&&&&&&&8086CPU8088CPU内&&&&&&&&8086CPU真可&&&&&&&&处&&&&&&&&数据既可内。8088&&&&&&&&(高8软件。&&&&&&&&)。它们&&&&&&&&&&&&图2.38088CPU线&&&&&&&&&&&&对线(1)&&&&&&&&图2.2:&&&&&&&&图2.3,可&&&&&&&&发现它们8&&&&&&&&间&&&&&&&&现&&&&&&&&8088CPU输号。AD8~AD15,数据&&&&&&&&传&&&&&&&&数据,8条线变为A8~A15,D8~D15。进、。&&&&&&&&线A8~A15仅双1616总线时复&&&&&&&&8086则将时刻高8&&&&&&&&时刻则这8条线传数据数据可时,8088CPU,&&&&&&&&两个总线个总线较8088&&&&&&&&8086CPU可。,8086&&&&&&&&&&&&(2)?8086CPU(HIGH)号。号。这,决&&&&&&&&BHE/S7号8088变为0SS&&&&条状态输线。它与IO/MDT/R现总线处况2.6&&&&&&&&8088CPU电&&&&&&&&状态。它们&&&&&&&&&&&&表2.6IO/M,DT/R,SS0状态编码&&&&IO/MDT/R1010101中断响应读I/O端口写I/O端口暂停取指读存储器写存储器无作用性能&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.2.CPU内部结构&&&&地址总线(20位)地址加法器&&&&&&&&通用寄存器AXAHALBXBHBLCXCHCLDXDHDLBPSPSIDI&&&&ALU数据总线(16位)&&&&&&&&∑&&&&&&&&数据总线(16位)DSCSSSESIP&&&&内部通信寄存器&&&&&&&&总线控制逻辑&&&&&&&&8086总线&&&&&&&&暂存器&&&&&&&&指令队列&&&&ALU&&&&&&&&EU控制器&&&&&&&&队列总线(8位)&&&&&&&&123456&&&&&&&&FLAGS指令执行单元(EU)总线接口单元(BIU)&&&&&&&&图2-18086CPU内部结构框图&&&&&&&&机械工业出版社&&&&&&&&电子制作:邓蓓&&&&&&&&&&&&一条命令的执行过程一般分为:取指令取操作数执行指令写入存储器8088出现以前以上步骤顺序执行(串行)8086内部的BIU和EU两个独立单元,可独立完成总线操作和指令执行两个操作,即两个单元可重叠操作,可两次或多次重叠。&&&&&&&&&&&&?8088以前的CPU采用串行工作方式:&&&&CPUBUS&&&&取指令1执行1存结果1取指令2取操作数2执行2&&&&&&&&忙碌&&&&&&&&忙碌&&&&&&&&忙碌&&&&&&&&忙碌&&&&&&&&1)CPU访问存储器(存取数据或指令)时要等待总线操作的完成2)CPU执行指令时总线处于空闲状态缺点:CPU无法全速运行解决:总线空闲时预取指令,使CPU需要指令时能立刻得到&&&&&&&&&&&&?8088CPU采用并行工作方式&&&&&&&&EU执行1&&&&&&&&执行2&&&&&&&&执行3&&&&&&&&BIU取指令2取操作数存结果取指令3取操作数取指令4BUS忙碌&&&&忙碌忙碌忙碌忙碌忙碌&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&8086CPU的寄存器结构&&&&1587AHBHCHDHSPALBLCLDL0累加器基址寄存器计数寄存器数据寄存器堆栈指针寄存器基址指针寄存器源变址寄存器目的变址寄存器指针和变址寄存器数据寄存器通用寄存器组&&&&&&&&1、8086CPU中有14个16位的寄存器。8个16位通用寄存器;2个16位指针寄存器;2个16位的变址寄存器;4个16位的段寄存器;&&&&&&&&AXBXCXDX&&&&&&&&BPSIDIIPFLAGS&&&&&&&&指令指针寄存器控制寄存器组标志寄存器代码段寄存器数据段寄存器段寄存器组堆栈段寄存器附加段寄存器&&&&&&&&1个16位指令指针;1个16位标志寄存器。CPU的内部寄存器如图2-2所示。&&&&&&&&CSDSSSES&&&&&&&&图2-CPU内部寄存器&&&&&&&&&&&&2、)的内部寄存器的内部寄存器含14个16位寄存器,按功能可分为三类8个通用寄存器4个段寄存器2个控制寄存器数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)8个16位通用寄存器,它们可分成两组。一组由AX、BX、CX和DX构成,称为数据寄存器,可用来存放16位的数据或地址,也可把它们当作8个8位寄存器来使用,即把每个通用寄存器的高半部分和低半部分分开。低半部分被命名为AL、BL、CL和DL;高半部分则被命名为AH、BH、CH和DH。8位寄存器只能存放数据而不能存放地址.&&&&&&&&&&&&)数据寄存器位数据寄存器,它们又可分为8个8位寄存器,即:?AXAH,AL?BXBH,BL?CXCH,CL?DXDH,DL&&&&常用来存放参与运算的操作数或运算结果&&&&&&&&&&&&数据寄存器的用法&&&&?AX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接口传送信息;?BX:基址寄存器。可存数据或在间接寻址中用于存放基地址;还可用于寻址。?CX:计数寄存器。可存数据还可用于在循环或串操作指令中存放循环次数或重复次数;?DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。&&&&&&&&指针寄存器(地址)&&&&?SP:堆栈指针寄存器,其内容为栈顶的偏移地址;?BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。&&&&&&&&&&&&BX与BP在应用上的区别与在应用上的区别&&&&?作为通用寄存器,二者均可用于存放数据;?作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。?BX一般与DS或ES搭配使用&&&&&&&&变址寄存器&&&&?SI:源变址寄存器?DI:目标变址寄存器?变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。&&&&&&&&&&&&控制寄存器&&&&?IP:指令指针寄存器,(16位)它和代码寄存器CS一起可以确定当前所要取的指令的内存地址。CPU执行程序的地址总是为CS?×?16?+?IP。当顺序执行程序时,CPU每从内存取一个指令字节,IP自动加1,指向下一个要读取的指令。其内容为下一条要执行的指令的偏移地址&&&&&&&&&&&&?&&&&&&&&当CS不变、IP单独改变时,会发生段内程序转移;当CS和IP同时改变时,会发生段间程序转移。&&&&&&&&?&&&&&&&&PSW是程序状态字,也有人称它为状态寄存器或标志寄存器,它用来存放8086CPU在工作过程中的状态。PSW各位标志如图&&&&&&&&&&&&?&&&&&&&&标志寄存器是一个16位的寄存器,空着的各位暂未使用。8086中所用的9位对了解8086CPU的工作和用汇编语言编写程序是很重要的。这些标志位的含义如下:&&&&&&&&?&&&&&&&&C—进位标志位。做加法时出现进位或做减法时出现借位,该标志位置1;否则清0。位移和循环指令也影响进位标志。&&&&&&&&?&&&&&&&&P—奇偶标志位。当结果的低8位中1的个数为偶数时,则该标志位置1;否则清0。&&&&&&&&?&&&&&&&&A—半加标志位。做加法时,当位3需向位4进位,或做减法时位3需向位4借位时,该标志位置1;否则清0。该标志位通常用于对BCD算术运算结果的调整。&&&&&&&&&&&&Z—零标志位。运算结果所有位均为0时,该标志位置1;否则清0。S—符号标志位。当运算结果的最高位为1时,该标志位置1;否则清0。T—陷阱标志位(单步标志位)。当该位置1时,将使8086执行单步指令工作方式。在每条指令执行结束时,CPU总是去测试T标志位是否为1。如果为1,那么在本指令执行后将产生陷阱中断,从而执行陷阱中断处理程序。该中断处理程序的首地址由内存的00004H~00007H4个单元提供。该标志位通常用于程序的调试。例如,系统调试软件DEBUG中的T命令,就是利用它来进行程序的单步跟踪的。&&&&&&&&&&&&?&&&&&&&&I—中断允许标志位。如果该位置1,则处理器可以响应可屏蔽中断请求;否则就不能响应可屏蔽中断请求。D—方向标志位。当该位置1时,串操作指令为自动减量指令,即从高地址到低地址处理字符串;否则串操作指令为自动增量指令。O—溢出标志位。在算术运算中,带符号数的运算结果超出了8位或16位带符号数所能表达的范围,即字节运算大于?+127或小于?-128时,字运算大于?+32767或小于?-32?768时,该标志位置位。&&&&&&&&&&&&段寄存器&&&&4个16位段寄位器,它们是代码段寄存器CS,用于存放当前代码段的段地址;数据段寄存器DS,用于存放当前数据段的段地址;附加段寄存器ES,用于存放当前附加段的段地址;堆栈段寄存器SS,用于存放当前堆栈段的段地址。这些段寄存器彼此不能互换,每个段寄存器在只能寻址64KB。CS:代码段寄存器代码段用于存放指令代码DS:数据段寄存器ES:附加段寄存器数据段和附加段用来存放操作数SS:堆栈段寄存器堆栈段用于存放返回地址,保存寄存器内容,传递参数&&&&&&&&&&&&物理地址与逻辑地址&&&&在具有地址变化机构的计算机中地址有两种物理地址和逻辑地址逻辑地址:允许在程序中编排的地址物理地址:信息在存储器中实际存放的地址&&&&&&&&)每个存储单元也都认为有这两种地址&&&&&&&&&&&&物理地址&&&&&&&&储。问题:问题:8088内总线内均为均为16,20??Y决?Y决:储&&&&&&&&..HH60004H...&&&&&&&&F0H12H1BH08H&&&&&&&&&&&&存储器分段&&&&一个段是存储器的一个逻辑单元,长度达64KB,每个段都由连续的存储单元构成,使存储器中可独立的分别寻址的单位。每段第一个字节的位置成为“段起始地址”.每个段可相互重叠,也可指向同一空间.)CPU有20条地址线,可配置1M存储器,地址为00000H----FFFF0H。&&&&&&&&0ACBD&&&&&&&&1M&&&&&&&&&&&&存储器分段&&&&&&&&i1i&&&&&&&&64KB,64KB,&&&&&nb&&&&&&&16B&&&&&&&&i+1&&&&&&&&高&&&&&&&&&&&&逻辑地址&&&&?段基地址和段内偏移组成了逻辑地址&&&&段地址偏移地址(偏移量)偏移地址(偏移量)&&&&&&&&格式为:段地址:偏移地址=0002H&&&&&&&&H&&&&&&&&00H12H&&&&&&&&×××&&&&&&&&?×××(16)&&&&&&&&0000&&&&&&&&物理地址=段基地址×16+偏移地址&&&&&&&&&&&&160000&&&&&&&&+&&&&&&&&内&&&&&&&&20&&&&&&&&?BIU中的地址加法器用来实现逻辑地址到物理地址的变换?8088可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址&&&&&&&&&&&&对于CPU读程序的内存地址,总是由下式来决定:读程序的内存物理地址?=?CS?×?16?+?IP当)CPU复位启动时的复位启动地址(复位入口地址)可如下确定:由于复位时CS=FFFFH,而IP=0000H,则有复位启动地址=CS×16+IP=FFFF0H+0000H=FFFF0H也就是说,当)CPU读程序时,其内存地址永远是由代码段(CS)寄存器×16与IP(指令指针)的内容作为偏移地址来决定的。当)CPU读/写内存数据时,DS、SS和ES三个段寄器均可使用,而偏移地址又有多种不同的产生方法。&&&&&&&&&&&&段寄存器的设立不仅使)的存储空间扩大到1?MB,而且为信息按特征分段存储带来了方便。在存储器中,信息按特征可分为程序代码、数据、微处理器状态等。为了操作方便,存储器可以相应地划分为:程序区,用来存放程序的指令代码;数据区,用来存放原始数据、中间结果和最后运算结果;堆栈区,用来存放压入堆栈的数据和状态信息。只要修改段寄存器的内容,就可以将相应的存放区设置在内存存储空间的任何位置上。这些区域可以通过段寄存器的设置使之相互独立,也可将它们部分或完全重叠。需要注意的是,改变这些区域的地址时,是以16个字节为单位进行的。&&&&&&&&&&&&8086CPU中,对不同类型存储器的访问所使用的段寄存器和相应的偏移地址的来源做了一些具体规定。它们的基本约定如表&&&&&&&&2.8&&&&访问存储器类型取指令码堆栈操作串操作源地址串操作目的地址BP用作基址寄存器一般数据存取默认存储器类型CSSSDSESSSDS&&&&&&&&时&&&&可指定段存储器无无CS,ES,SS无CS,DS,ESCS,ES,SS&&&&&&&&约&&&&段内偏移地址来源IPSPSIDI依寻址方式求得有效地址依寻址方式求得有效地址&&&&&&&&&&&&8086CPU的工作时序&&&&微处理器按一定的时序划分划分为两类:时钟周期和总线周期一条指令是由若干个总线周期来完成的,一个总线周期又由若干个时钟周期构成。时钟周期:每个时钟周期持续的时间总线周期:通过总线进行一次读或写的过程,正常情况下,一个总线周期由4个时钟周期组成。时钟周期就是前面提到的加在CPU芯片引脚CLK上的时钟信号的周期。&&&&&&&&&&&&图2.98086&&&&&&&&写总线&&&&&&&&&&&&图2.108086&&&&&&&&读总线&&&&&&&&&&&&?中断响应周期?当)的INTR上有一有效的高电平向CPU提出中断请求且满足IF=1(开中断)时,CPU执行完一条指令后,就会对其做出响应。该中断响应需要两个总线周期。&&&&&&&&&&&&2.3系统总线的形成&&&&总线分类&&&&&&&&对CPU&&&&&&&&内总线总线CPU总线:CPU总线:CPU总线?)?件件I/O口设设&&&&&&&&层结构&&&&&&&&系统总线:机统总线:总线:总线:机&&&&&&&&&&&&2.3.1&&&&为更电,尽1.带&&&&&&&&种&&&&说强调记态输。STB为锁锁具输样。号,高电,锁线图态输系统总线,为更现,进介绍机关工应。。&&&&&&&&)系统总线时,号锁输2.12&&&&&&&&数据。&&&&&&&&&&&&图2.12具&&&&&&&&态输&&&&&&&&锁&&&&&&&&&&&&2.单&&&&&&&&态门驱动&&&&&&&&将数个态门块构单态门驱动。单态门驱动种类,74系244经种态门驱动,线图2.13。从图2.13可看,两个控别控4个态门。当控加电时,应4个态门导;加高电时,态门高状态。&&&&&&&&&&&&图2.13单&&&&&&&&态门驱动&&&&&&&&74LS244&&&&&&&&&&&&3.双对时,,8286&&&&&&&&态门驱动双驱动8286。它们看,OE电图。构系统总线。态门8287。两,,DR&&&&&&&&数据总线,可&&&&&&&&从图2.14可传控&&&&&&&&。当OE=0,DR=0时,B边A边传;OE=0,DR=1时,A边B边传。当OE=1时,A、B现高74系状态。与这样245,它驱动类与8286工经样。&&&&&&&&两边均&&&&&&&&结构&&&&&&&&&&&&图2.14双&&&&&&&&态门驱动&&&&&&&&&&&&2.3.2&&&&看&&&&&&&&系统总线系统总线&&&&,系统总线图2.15可,图2.15,20条74LS373)锁这21个将这21个总线号。线。1条。号时,CPU号锁&&&&&&&&8282(BHE号线当个总线T1时刻CPU时个373ALE输,,从&&&&&&&&&&&&双2&&&&&&&&数据总线&&&&&&&&2&&&&&&&&8286(&&&&&&&&2&&&&&&&&74LS245)DT/RDR,从&&&&&&&&。别来控实现16&&&&&&&&8086CPU74LS245双控&&&&&&&&许E数据总线D0~D15。号&&&&&&&&供DEN控&&&&&&&&总线&&&&&&&&8086CPU供。这样说两号够,:8086CPU加控&&&&&&&&实现。&&&&&&&&系统总线。这(1)系统总线8086CPU驱动驱动。&&&&&&&&产&&&&&&&&74LS244进&&&&&&&&&&&&(2)现对系统总线进可控考虑。&&&&&&&&系统总线电时,可参阅。(图&&&&&&&&进&&&&&&&&DMA传&&&&&&&&,&&&&&&&&为&&&&&&&&373、245内&&&&&&&&244),当&&&&&&&&节&&&&&&&&HLDA来参与控&&&&&&&&&&&&图2.158086&&&&&&&&总线&&&&&&&&&&&&2.3.3&&&&为实现系统总线。&&&&&&&&系统总线系统总线&&&&,控厂家供总线控&&&&&&&&号。总线&&&&&&&&&&&&图2.168086&&&&&&&&系统总线&&&&&&&&&&&&图2.16可线A0~A构总线控锁&&&&&&&&看,&&&&BHE&&&&&&&&系统总线时,时,。样,时锁。ALE输74LS373&&&&&&&&,&&&&&&&&8288产&&&&&&&&总线A0~A19BHE&&&&&&&&&&&&双双态门74LS245,号DR总线控8086CPU工DENCPU时,号。值供总线控DEN8288总线控&&&&&&&&数据总线时,74LS245供DT/&&&&&&&&样许号号。&&&&&&&&两控为当&&&&&&&&8288&&&&&&&&时,CPU,8086CPU工电产。,当它工高电DENDEN&&&&&&&&供DT/R时,,故个&&&&&&&&图2.16门,&&&&&&&&8288输&&&&&&&&74LS245&&&&&&&&&&&&控供控号&&&&&&&&号:&&&&&&&&总线控&&&&&&&&8288产&&&&&&&&,它&&&&&&&&断响应INTA、内,对内&&&&&&&&读MEMR、,控时内M/&&&&&&&&内写MEMR、口读IOR总线控8288输控号对口控号经&&&&&&&&口写IOW。应当号开,号共。,&&&&&&&&口读/写控号来区别对内还对&&&&&&&&口&&&&&&&&&&&&还控荡74244&&&&&&&&说号,号OSC态门驱动还&&&&&&&&,复加系统工&&&&&&&&系统总线&&&&&&&&还号CLK、可(&&&&&&&&号RESET、CPU时钟号,。电系统总线系统工条线。种内计、。机。设计口专系统总线时&&&&&&&&时,总线,这样构续&&&&&&&&?±5?V、±12?V)显总线。设可书&&&&&&&&专应总线,&&&&&&&&系统总线图2.1节&&&&&&&&,&&&&&&&&将介绍各种总线标&&&&&&&&&&&&,当系统总线各种口可与系统总线节内可,8282。会机系统。号来叙件来样没问题,考虑节&&&&&&&&,构连,从这样说74LS245可8286。。。&&&&&&&&机构&&&&&&&&内&&&&&&&&系统总线&&&&&&&&图2.16&&&&&&&&,74LS373别系统总线说&&&&&&&&类图,&&&&&&&&实现DMA传&&&&&&&&关DMA传&&&&&&&&&&&&系统总线2.3.48088系统总线&&&&详细说8088系统总线对8088来说,仅将,图2.17。8086系统总线简说。两系统总线电过。现异,&&&&&&&&&&&&图2.178088CPU&&&&&&&&总线&&&&&&&&&&&&图2.17可系统总线&&&&&&&&看&&&&&&&&,8088CPU与8086CPU现个8可,锁锁,:高号;&&&&&&&&8088CPU节,锁号A8~A15可态门8条号线驱动来传时复可,既须&&&&&&&&数据线号,锁,。这&&&&&&&&为&&&&&&&&8088CPU,这8086CPU,A8~A15,&&&&&&&&A8~A15,来传锁储加&&&&&&&&这8条线传&&&&&&&&数据D8~D15。故&&&&&&&&锁&&&&&&&&;&&&&&&&&&&&&数据总线类控。PC机,统。件)进,实现数据&&&&&&&&8&&&&&&&&,时对这传驱动&&&&&&&&74LS245(DR控控进&&&&&&&&驱动,双&&&&&&&&。对74LS245&&&&&&&&选择8088CPU,并类总线&&&&&&&&8088CPU工础构机系&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.的工作模式&&&&Vcc&&&&&&&&CPU为适应不同的应用环境,设置有两种工作模式,即最大工作模式和最小工作模式。(1)最小工作模式。所谓最小工作模式,是指系统中只有一个微处理器,所有的总线控制信号都由CPU直接产生,将CPU的引脚信号MN/接高电平(+5V)可使它工作于最小模式。&&&&&&&&STBCLKHEA19~A16DODI&&&&&&&&HEA19~A0地址总线&&&&&&&&8284A&&&&RDY&&&&&&&&AD15~AD0READYRESETDEN&&&&&&&&8086CPU&&&&&&&&DT/RM/IORDWRINTRINTAHOLDHLDA&&&&&&&&地址锁存器(8282×3)OED15~D0A15~A0数据总线B15~B0BOE数据T收发器(8286×2)&&&&&&&&控制总线&&&&&&&&图2-48086最小模式下的系统总线构成&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&(2)最大工作模式&&&&HE&&&&&&&&STBDODI地址锁存器(8282×3)A15~A0B15~B0&&&&T&&&&&&&&BHE&&&&&&&&所谓最大工作模式,是指系统中包含有两个以上的微处理器。其中一个为主处理器,就是CPU,其他是协处理器。常与主处理器CPU相配的协处理器有两个:一个是专用于数值运算的协处理器8087,使用它可大幅度提高系统数值运算速度;另一个专用于I/O操作的协处理器8089。&&&&&&&&AD15~AD0&&&&&&&&RESETA19~A16READY&&&&&&&&A19~A0地址总线&&&&&&&&8284ARDYCLK&&&&&&&&D15~D0数据总线&&&&&&&&8086CPU&&&&&&&&数据收发器(8286×2)&&&&MRDC&&&&&&&&INTRRQ/GT0RQ/GT1&&&&&&&&DEN&&&&&&&&S0S1S2&&&&&&&&ALES0S1S2AENIOBCLK&&&&&&&&MWTCAMWCIORC&&&&&&&&8288&&&&&&&&IOWCAIOWCIORC&&&&&&&&控&&&&&&&&总线&&&&&&&&CEN&&&&&&&&+5V&&&&&&&&图2-58086最大模式下的系统总线构成&&&&&&&&&&&&BHE&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&(1)AD15~AD0分时复用地址数据线。三态单向输出;在T2~T4期间作数据线D15~D0,双向三态输入/输出。(2)A19/S6~A16/S3分时复用的地址/状态线。用作地址线时,A19~A16与AD15~AD0一起构成访问存储器的20位物理地址。(3)BHE/S7总线高字节有效信号。三态输出,BHE/S7=“0”时,用来表示当前高8位数据线上的数据有效。(4)RD读信号。三态输出,当=“0”时,表示当前CPU正在读存储器或I/O端口。(5)WR写信号。三态输出,当=“0”时,表示当前CPU正在写存储器或I/O端口。(6)M/IO存储器或I/O端口访问信号。三态输出,当=“1”时,表示当前CPU正在访问存储器;=“0”时,表示CPU当前正在访问I/O端口。(7)READY准备就绪信号。由外部输入,当READY=“1”时,表示CPU访问的存储器或I/O端口已准备好传送数据。(8)RESET复位信号。由外部输入,高电平有效。&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&储组织&&&&&&&&2.3&&&&&&&&2.3.1存储器的分段和物理地址的形成存储单元内容1.存储器的组成系统中存储器的每一个存储单元(字节)都有一个独立的地址编码,地38F04H址编码采用20位二进制表示,地址译码器是根据地址编码才找到目标存储单元的。20位二进制地址编码的范围的十六进制表示为00000H~FFFFFH,最多可表示220(1MB)地址编码唯一的存储单元,把20位二进制表示的地址称为物理地址。存储单元地址&&&&&&&&&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&(2)存储器的分段分段原因:由于内部寄存器是16位的,对分段原因地址进行运算的能力也是16位的,一个20位的物理地址在内部是无法存储的,也无法运算。提出了对内存进行分段。分段方案:分段方案:将1MB存储空间逻辑上分为若干段,每段存储容量不大于64KB,段的起始单元地址能够被16整除,即起始地址为XXXX0H,前16位成为段基址,段内某单元相对于段首单元的位移量成为偏移地址。段的种类:段的种类:一个逻辑段用于存放不同的信息,如程序段、数据段、堆栈段、堆栈段。每个逻辑段的容量在64KB以内。段的分类:段的分类:各个逻辑段之间可以紧密相连,也可以相互重叠(完全重叠或部分重叠),&&&&&&&&12340H&&&&&&&&个&&&&&&&&02H&&&&&&&&2233FH&&&&00000H段1起点&&&&&&&&FFFFH&&&&&&&&段1≤64KB段2起点段2≤64KB段3起点段3≤64KB&&&&&&&&段4起点4≤64KB&&&&&&&&FFFFFH&&&&&&&&图2-6存储器分段示意图&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&3.存储器地址&&&&CS&&&&&&&&(1)物理地址:可直接寻址1MB的存储空间,其地址区域为00000H—FFFFFH,与存储单元一一对应的20位地址,称之为存储单元的物理地址。(2)偏移地址:偏移地址是某存储单元相对其所在段起始位置的偏移字节数,或简称偏移量,是一个16位的地址。(3)物理地址的形成:物理地址是由段地址与偏移地址共同决定的,段地址来自于段寄存器(CS、DS、ES、SS),是十六位地址,由段地址及偏移地址计算物理地址的表达式如下:物理地址=段地址×16+偏移地址(4)逻辑地址:程序中用来描述存储单元位置的地址称为逻辑地址,它以“段基址:偏移地址”的形式给出。&&&&&&&&码&&&&&&&&DS数据&&&&&&&&ES&&&&&&&&加&&&&&&&&SS栈&&&&&&&&段寄存器与段对应关系&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&4.逻辑地址的来源如果访问存储器的指令,则段基址来源于代码段寄存器CS,偏移地址来源于指令指针IP。如果访问存储器读写操作数,则通常由数据段寄存器DS给出段基址,而其偏移地址要由CPU的指令执行部件EU根据指令中的寻址方式来进行计算。如果所采用的寻址方式是通过基址指针寄存器BP寻址,则段基址要由堆栈段寄存器SS提供。如果对堆栈进行操作,则段基址来源于堆栈段寄存器SS,偏移地址来源于堆栈指针SP。?&&&&&&&&15段基址15&&&&&&&&偏移地址&&&&&&&&地址加法器190物理地址&&&&&&&&图2-8物理地址的形成过程&&&&&&&&例如,某单元处于数据段中,已知DS=2300H,偏移地址为0658H,则其物理地址为:2300H×10H+H&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.3.28086系统中存储器的分体结构1.8086系统中存储器的结构8086系统中,将1MB的存储空间分成两个512KB的存储体,一个存储体中包含偶数地址单元,用数据总线的低8位与它相连;另一个包含奇数地址单元,用数据总线的高8位与它相连。两个存储体之间采用字节交叉编址方式,如图2-9所示。&&&&K×8(位)奇地址存储体(A0=1)220–1=FFFFF512K×8(位)偶地址存储体(A0=0)FFFFE=220-0200004&&&&&&&&图2-9存储器结构图&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.存储器存放数据情况若存放的数据是以字节为单位,在存储器中按顺序排列存放。例在10000H开始存储单元存放01H、13H、0ABH、86H,则在存储器中存放数据的情况如图2-12。若存放的数据是以字(16位)为单位的,则将每个字的低字节存放在低地址、高字节存放在高地址,并以低地址作为该字的地址。例在10003H开始存放1234H、567AH两个字,在存储器中存放数据的情况如图2-12。&&&&&&&&HHHH&&&&&&&&01H13HABH86H34H12H7AH56H&&&&&&&&图2-12存储器存放数据情况&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.3.3系统中的堆栈堆栈是在计算机中的RAM存储区开辟的一个特定区域,按照“后进先出”的原则组织。主要用SS于暂存数据和断点地址。1.堆栈的结构存储区的存储方式采用一端固定(称为栈底),另一端浮动(称为栈顶)的方式,即只允许在活SP动端进行数据的输入或删除。2.堆栈的操作堆栈段在存储区中的位置由堆栈段寄存器SS和堆栈指针SP来确定。SS中存放堆栈段的段基址,SP中存放栈顶的地址,此地址表示栈顶离段首址的偏移量,因此用SP指示栈元素进栈和出栈的偏移地址的变化。&&&&&&&&10000H堆栈段首地址&&&&…&&&&&&&&11FFAH11FFBH11FFCH11FFDH11FFEH11FFFH12000H&&&&&&&&≤64KB&&&&&&&&栈底&&&&&&&&图2-138086堆栈在存储器中的分布情况&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&(1)建栈。建立堆栈就是设定堆栈的段基址和栈底,用户可以通过数据传送指令把堆段的段基址送入段寄存器SS,把栈底的偏移地址送入堆栈指针寄存器SP。此时栈中无数据,是一个空栈。若SS=1000H,SP=2000H,则堆栈的情况如图2-13所示,建立堆栈指令为:MOVAX,1000HMOVSS,AXMOVSP,2000H(2)入栈。入栈就是把数据压入堆栈,又称进栈。8086微处理器的入栈操作以字为单位。入栈操作分为两步:①将堆栈指针寄存器SP的内容减2,即是栈顶向低地址方向移动一个字单元,指向新栈顶。即:SP←SP–2;②将一个字数据推入到SP所指向的栈顶字单元,即:[SP]←字数据。注意:入栈字的低字节存入低地址单元,高字节存入高地址单元。注意:入栈字的低字节存入低地址单元,高字节存入高地址单元。?&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&例2若SS=2000H,当前SP=1234H,将寄存器AX中的数据7C9FH压入堆栈。操作如下:①修改SP,使其指向新栈顶,即:SP=1232H。②AX的内容压入栈顶字单元。即:AL送21232H单元,AH送21233H单元。其操作如图2-14a所示。&&&&5CH20H设SS=2000H&&&&&&&&(3)出栈。出栈是从堆栈中弹出数据。出栈的操作顺序与入栈相反。①将栈顶的一个字送寄存器或存储器,即:寄存器/存储器←[SP];②堆栈指针寄存器SP的内容加2,指向新栈顶,即:SP←(SP)+2若:若SS=2000H,当前SP=1232H,将栈顶数据弹出送寄存器AX。操作如下:其操作如图2-14b所示。&&&&&&&&AXSPHH9FH7CHXX&&&&a)&&&&&&&&入栈操作7CHAX9FH&&&&&&&&SP1234H&&&&&&&&H21234H&&&&&&&&20H5CHXX&&&&b)&&&&&&&&出栈操作&&&&&&&&图2-14入栈、出栈操作示意图a)入栈操作b)出栈操作&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.4&&&&&&&&总线&&&&&&&&时&&&&&&&&2.4.1时钟周期、总线周期和指令周期1.时钟周期时钟周期就是系统主时钟一个周期信号所持续的时间,大小等时钟周期于它频率的倒数,它是CPU的基本时间计量单位。例如,某CPU的主频为8MHz,则其时钟的周期T=1/f=1/8MHz=125ns;若主频为25MHz,时钟周期为40ns。2.指令周期CPU的一切操作都是在系统主时钟CLK的控制下按节拍有序地进指令周期行的。CPU执行一条指令的时间(包括取指令和执行该指令所需的全部时间)称为指令周期。3.总线周期在一个指令周期内,常常需要对总线上的存储器或I/O端口进总线周期行一次或多次读写操作。CPU通过外部总线对存储器或I/O端口进行一次读写操作的过程称为总线周期。显然,一个指令周期应由若干个总线周期组成,而一个总线周期由若干个时钟周期(T)组成。&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.4.CPU的基本总线周期在CPU中,所有的外部操作(读写存储器或I/O端口)都是由总线接口单元BIU通过系统总线完成的。因此,把BIU通过系统总线对存储器或I/O端口作一次读写操作的过程称为一个总线周期。可见,只有当BIU需要访问内存或I/O端口时,才需要执行总线周期。也就是说,总线周期是根据需要才会出现的。CPU为了完成自身的功能,需要执行各种操作,如启动和复位操作、各种总线操作、中断操作、总线保持或总线请求操作等,这些操作的执行都是在时钟脉冲CLK的同步下,按时序一步一步地进行,这样,就构成了CPU操作的时序。&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.4.3典型总线周期(总线操作)总线操作:CPU凡是与存储器或I/O端口交换数据,或取指令总线操作:填充指令队列时都需要通过BIU执行总线周期,即为总线操作。总线操作按数据传送方向可分为总线读操作和总线写操作。前者是指CPU从存储单元或I/O端口中读取数据,后者是指CPU将数据写入指定存储单元或I/O端口。1.最小模式下的总线读操作总线读操作是CPU从存储器或I/O端口读取数据的操作,在总线读周期内完成。图2-9是8086CPU在最小模式下从存储器或I/O端口读取数据(即执行读操作)的时序。2.最小模式下的总线写操作的写总线周期和读操作一样,基本写周期也包含4个状态T1、T2、T3和T4。当存储器或I/O设备速度较慢时,在T3和T4之间插入1个或几个等待状态TW。图2-10所示为最小模式下的总线写操作时序。&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&A19/S6~A16/S3CLKM/IOAD15~AD0BHE/S7&&&&&&&&T1&&&&&&&&T2&&&&&&&&T3&&&&&&&&TW(1~n)&&&&&&&&T4CLKM/IOA19/S6~A16/S3BHE/S7&&&&&&&&T1&&&&&&&&T2&&&&&&&&T3&&&&&&&&T4&&&&&&&&高为读内存,低为读I/OA19~A16BHE输出A15~A0S6~S3&&&&&&&&高为写内存,低为写I/OA19~A16BHE输出A15~A0D15~D0S6~S3&&&&&&&&D15~D0&&&&&&&&AD15~AD0ALE&&&&&&&&ALERDDT/RDEN&&&&&&&&DT/RDEN&&&&&&&&图2-98086最小模式下总线读周期的时序&&&&&&&&图2-108086最小模式下总线写周期的时序&&&&&&&&&&&&第2章&&&&&&&&微处理器及系统结构&&&&&&&&2.4.4启动和复位操作复位和启动操作由RESET引脚的正脉冲信号实现。CPU要求加在RESET引脚上的复位正脉冲信号RESET至少维持4个时钟周期的高电平才能有效的复位。在复位状态,CPU初始化,CPU内部的各寄存器被置为初始态。CPU初始化后的各寄存器的初始值见表2-5。RESET信号变为低电平后,CPU被启动并按初始化后的条件开始执行程序。&&&&表2-5复位后CPU各内部寄存器的初始值&&&&&&&&CPU复位时,代码段寄存器CS被置为FFFFH,指令指示器IP被清0。所以,CPU复位后重新启动时,便从内存的FFFF0H单元处开始执行指令。一般在FFFF0H单元存放一条无条件转移指令,用以转移到系统程序的入口处,这样,系统一旦被启动便自动进入系统程序。&&&&&&&&FLAGSIPCSDSSSES指令队列其他寄存器&&&&&&&&清零0000HFFFFH00H空0000H&&&&&&&&&&&&&&&& &&&&}

我要回帖

更多关于 简述计算机的组成 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信