- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
2.2.28086系统的I/O组织8086系统有专用的输入(IN)、输出(OUT)指令,用于外设端口(即外设接口中的内部寄存器)的寻址。I/O端口与内存分别独立编址。I/O端口使用16位地址A15~A0,I/O端口地址范围为0000H~FFFFH,可寻址空间为64KB。在以8086为CPU的PC/XT微机中,只使用了10位有效端口地址A9~A0,共1KB空间。最小模式和最大模式的概念2.38086系统配置*8086/8088CPU为适应不同的应用环境,8086可工作于两种工作模式:最大模式和最小模式。最小模式:是指系统中只有一个8086/8088处理器,所有的总线控制信号都由8086/8088CPU直接产生,构成系统所需的总线控制逻辑部件最少,最小模式因此得名。最小模式也称单处理器模式。两种工作模式由MN/MX引脚决定:接高电平(+5v),CPU工作在最小模式;接低电平(接地),CPU工作在最大模式。最大模式:系统内可以有一个以上的处理器,除了8086/8088作为“中央处理器”之外,还可以配置用于数值计算的8087(数值协处理器)和用于I/O管理的8089(I/O协处理器)等。各个处理器发往总线的命令统一送往“总线控制器”,由它“仲裁”后发出。2345H:0000H01H::2345H:1100H78H例如:2345H:1100H表示段地址为2345H(段的起始地址是23450H),段内偏移地址为1100H的存储单元地址。在8086CPU中有专用的寄存器存放段地址和偏移地址。段可分为代码段,数据段,附加段,堆栈段。用于存放段基址有4个16位段寄存器,代码段寄存器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。代码段:存放程序代码。数据段:用于存放当前使用的数据。需要第二个数据段时可以使用附加段。堆栈段:是内存中的一块存储区,用来存放专用数据。如调用子程序时的入口参数,返回地址等,这些数据都按照“后进先出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP的值在执行堆栈操作指令时根据规则自动地进行修改。01编程时,程序和各种不同类型的数据分别存放在不同的逻辑段中。02[例]:已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,画出各段在内存中的分布,写出段首地址。10550H250A0H2EF00H8FF00H代码段数据段附加段堆栈段采用段地址的好处:*01解决了16位寄存器访问大于64KB内存空间的问题;02可以实现程序重定位,即一个不到64KB大小的程序可通过改变段寄存器的内容(一般由操作系统完成)放在1MB空间的任意段位置,从而为运行多道程序提供方便。(2)地址加法器*功能:用于产生20位的物理地址。即进行一次地址加法,将段寄存器的内容左移4位与偏移地址相加,得到20位的物理地址,从而可寻址1MB的存储空间。物理地址=段寄存器的内容×16(即左移4位)+偏移地址物理地址:访问存储器的实际地址,用20位二进制表示。STEP5STEP4STEP3STEP2STEP1例:逻辑地址2345H:1100H对应的物理地址是24550H。23450H+1100H=24550H。反之,物理地址24550H,它对应的逻辑地址可以是2455H:0000H,也可以是2400H:0550H等。注意:一个存储单元的物理地址是惟一的,而它对应的逻辑地址是不惟一的。指令指针寄存器IP——16位功能:用来存放将要执行的下一条指令在代码段中的偏移地址。在程序运行过程中,BIU自动修改IP中的内容,使它始终指向将要执行的下一条指令。注意:程序不能直接访问IP,但是可通过某些指令修改IP的内容。例如,执行转移指令时,会将转移的目标地址送入IP中,以实现程序的转移。(4)指令队列缓冲器——6字节*(5)总线控制逻辑BIU从存储器中读出指令送入6字节的指令队列。一旦指令队列中空出2个字节,BIU将自动进行读指令的操作以填满指令队列。遇到转移类指令,BIU将指令队列中剩余的指令作废,重新从存储器新的地址单元中取指令并送入指令队列。一般情况下应保证指令队列中填满指令,使得EU可以不断地得到等待执行的指令。3.总线接口部件和执行部件的管理*当8086指令队列中有2字节空闲时,总线接口部件就自动将指令从内存中预取到指令队列缓冲器中。每当EU部件要执行一条指令时,它就从指令队
文档评论(0)