8086,8088存储器和io组织

8086,8088存储器和io组织

ID:22046202

大小:936.00 KB

页数:25页

时间:2018-10-26

8086,8088存储器和io组织_第1页
8086,8088存储器和io组织_第2页
8086,8088存储器和io组织_第3页
8086,8088存储器和io组织_第4页
8086,8088存储器和io组织_第5页
资源描述:

《8086,8088存储器和io组织》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.38086/8088存储器和I/O组织3.3.18086/8088存储器组织1.8086/8088存储空间8086/8088有20条地址线,可直接对1M个存储单元进行访问。每个存储单元存放一个字节型数据,且每个存储单元都有一个20位的地址,这1M个存储单元对应的地址为00000H~FFFFFH,如图3.10所示。一个存储单元中存放的信息称为该存储单元的内容。如图3.10所示,00001H单元的内容为9FH,记为:(00001H)=9FH。图3.10数据在存储器中的存放①20条AB,寻址1M空间②按字节组织,每个字节唯一地址字节:顺序存放③字:低位字节放在低地址中,高位字节放在高地址中④双字

2、:低位字是偏移量,高位字是段地址⑤规则字:低位字节存放在偶数地址⑥非规则字:低位字节存放在奇数地址若存放的是字型数据(16位二进制数),则将字的低位字节存放在低地址单元,高位字节存放在高地址单元。如从地址0011FH开始的两个连续单元中存放一个字型数据,则该数据为DF46H,记为:(0011FH)=DF46H。若存放的是双字型数据(32位二进制数,这种数一般作为地址指针,其低位字是被寻址地址的偏移量,高位字是被寻址地址所在段的段地址),这种类型的数据要占用连续的4个存储单元,同样,低字节存放在低地址单元,高字节存放在高地址单元。如从地址E800AH开始的连续4个存储单元中存放了一个双字型数据,

3、则该数据为66A65E65H,记为:(E800AH)=66A65E65H。1M存储空间,分成2个512KB的存储体(存储库)低位库:与数据总线D7-D0相连,每个地址为偶数地址。高位库:与数据总线D15-D8相连,每个地址为奇数地址。表3.5BHE与地址引脚A0编码的含义A0数据总线的使用情况00110101同时读/写高低两个字节只读/写奇地址库只读/写偶地址库无效2.存储器的段结构8086/8088CPU中有关可用来存放地址的寄存器如IP、SP等都是16位的,故只能直接寻址64KB。为了对1M个存储单元进行管理,8086/8088采用了段结构的存储器管理方法。8086/8088将整个存储器分

4、为许多逻辑段,每个逻辑段的容量小于或等于64KB,允许它们在整个存储空间中浮动,各个逻辑段之间可以紧密相连,也可以互相重叠。用户编写的程序(包括指令代码和数据)被分别存储在代码段、数据段、堆栈段和附加数据段中,这些段的段地址分别存储在段寄存器CS、DS、SS和ES中,而指令或数据在段内偏移地址可由对应的地址寄存器或立即数给出,如表3.8所示。表3.8存储器操作时段地址和段内偏移地址的来源存储器操作类型段地址偏移地址正常来源其他来源取指令CS无IP存取操作数DSCS、ES、SS有效地址EA通过BP寻址存取操作数SSCS、ES、SS有效地址EA堆栈操作SS无BP、SP源字符串DSCS、ES、SSS

5、I目的字符串ES无DI如果从存储器中读取指令,则段地址来源于代码段寄存器CS,偏移地址来源于指令指针寄存器IP。如果从存储器读/写操作数,则段地址通常由数据段寄存器DS提供(必要时可通过指令前缀实现段超越,将段地址指定为由CS、ES或SS提供),偏移地址则要根据指令中所给出的寻址方式确定,这时,偏移地址通常由寄存器BX、SI、DI以及立即数等提供,这类偏移地址也被称为“有效地址”(EA)。如果操作数是通过基址寄存器BP寻址的,则此时操作数所在段的段地址由堆栈段段寄存器SS提供(必要时也可指定为CS、SS或ES)(详见第4章“寻址方式”一节)。如果使用堆栈操作指令(PUSH或POP)进行进栈或出

6、栈操作,以保护断点或现场,则段地址来源于堆栈段寄存器SS,偏移地址来源于堆栈指针寄存器SP (详见本节“4.堆栈操作”)。如果执行的是字符串操作指令,则源字符串所在段的段地址由数据段寄存器DS提供(必要时可指定为CS、ES或SS),偏移地址由源变址寄存器SI提供;目的字符串所在段的段地址由附加数据段寄存器ES提供,偏移地址由目的变址寄存器DI提供。以上这些存储器操作时段地址和偏移地址的约定是由系统设计时事先已规定好的,编写程序时必须遵守这些约定。3.逻辑地址与物理地址由于采用了存储器分段管理方式,8080/8088CPU在对存储器进行访问时,根据当前的操作类型(取指令或存取操作数)以及读取操作

7、数时指令所给出的寻址方式,CPU就可确定要访问的存储单元所在段的段地址以及该单元在本段内的偏移地址(如表3.8所示)。我们把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为:段地址:偏移地址。CPU在对存储单元进行访问时,必须在20位的地址总线上提供一个20位的地址信息,以便选中所要访问的存储单元。我们把CPU对存储器进行访问时实际寻址所使用的20位地址称为物理地址。物理地址是由CPU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。