- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口 第3章3—8086微处理器存储器和IO组织
地址总线A19?A1可同时对高、低位库的存储单元寻址,A0和BHE用于对库的选择。 当A0=0时,选择偶数地址的低位库; 当BHE=0时,选择奇数地址的高位库; 当两者均为0时,则同时选中高低位库。 需注意的是,对于规则字(从偶数地址开始存放的字)的读/写操作只需一个总线周期,而非规则字(从奇数地址开始存放的字)的读/写操作需两个总线周期。 逻辑段的分配 物理地址和逻辑地址的转换 将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址 一个物理地址可以有多个逻辑地址 例:?设(SS)=3300H,(SP)=0100H。执行下列程序段后, (AX)=?,(BX)=?,(CX)=?, (SS)=?,(SP)=?。 MOV AX, 1234H MOV BX, 4321H MOV CX, 1000H PUSH AX PUSH BX PUSH CX POP BX POP AX POP CX PUSH DX * 第3章 80x86微处理器 3.3 8086/8088存储器和I/O组织 3.3.1 8086/8088存储器组织 1. 存储器组织 8086/8088微处理器有20条地址线,可以配置1MB的内存储器。存储空间都按8位(即字节)进行组织,每个存储单元存储一个字节数据,若存放“字”数据(16位),则存放在相邻两个存储单元中,高字节存放在高地址单元,低字节存放在低地址单元。每个存储单元都有一个20位的地址,这1 M个存储单元对应的地址为00000H?FFFFFH,如图3.10所示。 78H 9FH … 存储单元地址 00000H 00001H … 46H DFH 6CH … … 98H 65H 5EH A6H 66H … … 6FH 0011FH 00120H 00121H E8009H E800AH E800BH E800CH E800DH FFFFFH 图3.10 数据在存储器中的存放 一个存储单元中存放的信息称为该存储单元的内容。 如00001H单元的内容为9FH,记为:(00001H)=9FH。 如从地址0011FH开始的两个连续单元中存放一个字型数据,则该数据为DF46H,记为:(0011FH)=DF46H。 高位(奇地址)库 512 K×8 D 15 ? D 8 A 19 ? A 1 SEL BHE 低位(偶地址)库 512 K×8 D 7 ? D 0 A 19 ? A 1 SEL D 15 ? D 8 D 7 ? D 0 A 0 A 19 ?A 1 图3.13 8086存储器高低位库的连接 8086的1M存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。 图3.14 从8086存储器的偶数和奇数地址读字节和字 读偶地址单元中的字节;(b) 读奇地址单元中的字节; (c) 读偶地址单元中的字; (d) 读奇地址单元中的字 ×× 偶地址 奇地址 8086 CPU 被读字节 忽略字节 ( a ) 偶地址 奇地址 8086 CPU ( b ) ×× 被读字节 忽略字节 ×× 偶地址 奇地址 8086 CPU 被读字 ( c ) ×× ×× 偶地址 奇地址 ×× 偶地址 奇地址 8086 CPU 被读字节 忽略字节 被读字节 忽略字节 ( d ) 2. 存储器分段 8086/8088CPU中有关可用来存放地址的寄存器如IP、SP、SI、DI、BP等都是16位的,故只能直接寻址64KB。为了对1M个存储单元进行管理,8086/8088采用了段结构的存储器管理方法。 8086/8088将整个存储器分为许多逻辑段,但只有4种类型:代码段、数据段、堆栈段和附加段。每个逻辑段的容量小于或等于64KB,允许它们在整个存储空间中浮动。各个逻辑段之间可以紧密相连,也可以互相重叠(局部重叠和完全重叠),还可以相互隔开。 A段 C段 B段 D段 E段 00000H 10000H 20000H 30000H 40000H 64KB 64KB 64KB 64KB 紧密相连 部分重叠 完全重叠 断开排列 1FF00H 2FEFFH M 64KB 3. 逻辑地址和物理地址 ⑴ 逻辑地址:由段地址(逻辑段起始地址的高16位)和偏移地址(16位)表示的存储单元的地址称为逻辑地址,记为: 段地址∶偏移地址 ⑵ 物理地址:由CPU内部总线接口单元BIU中的地址加法器根据逻辑地址产生的20位存储单元地址称为物理地址。如图3.7所示。 ∑ 0 15 段内偏
原创力文档


文档评论(0)