第3章(5)微机原理与接口技术(第三版)(王忠民)_第1页
第3章(5)微机原理与接口技术(第三版)(王忠民)_第2页
第3章(5)微机原理与接口技术(第三版)(王忠民)_第3页
第3章(5)微机原理与接口技术(第三版)(王忠民)_第4页
第3章(5)微机原理与接口技术(第三版)(王忠民)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术西安邮电大学计算机学院范琳——80x86微处理器第三章80x86微处理器

80x86微处理器简介18086微处理器28086寄存器38086引脚功能48086存储器组织58086/8088存储器组织

8086/8088微处理器有20条地址线,可以配置1MB的内存储器。存储空间都按8位(即字节)进行组织,每个存储单元存储一个字节数据,若存放“字”数据(16位),则存放在相邻两个存储单元中,高字节存放在高地址单元,低字节存放在低地址单元。每个存储单元都有一个20位的地址,这1M个存储单元对应的地址为00000H

FFFFFH,如图3.10所示。第三章80x86微处理器

78H9FH…存储单元地址00000H00001H…46HDFH6CH……98H65H5EHA6H66H……6FH0011FH00120H00121HE8009HE800AHE800BHE800CHE800DHFFFFFH图3.10数据在存储器中的存放

一个存储单元中存放的信息称为该存储单元的内容。如00001H单元的内容为9FH,记为:(00001H)=9FH。moval,[0001H]如从地址0011FH开始的两个连续单元中存放一个字型数据,则该数据为DF46H,记为:(0011FH)=DF46H。movax,[011FH]高位(奇地址)库512K×8D15

D8A19

A1SELBHE低位(偶地址)库512K×8D7

D0A19

A1SELD15

D8D7

D0A0A19

A1图3.138086存储器高低位库的连接8086的1M存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。70BHED15

D8D

DA0A19

A1图3.138086存储器高低位库的连接8086的1M存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。1#A19……A3A2A1A00……000000……000100……001000#2#A19……A3A2A1A00……000010……000110……001013#4#5#70BHED15

D8D

DA0A19

A1图3.138086存储器高低位库的连接8086的1M存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。1#A19……A3A2A1A00……000000……000100……001000#2#A19……A3A2A1A00……000010……000110……000113#4#5#

地址总线A19

A1可同时对高、低位库的存储单元寻址,A0和BHE用于对库的选择。当A0=0时,选择偶数地址的低位库;当BHE=0时,选择奇数地址的高位库;当两者均为0时,则同时选中高低位库。

需注意的是,对于规则字(从偶数地址开始存放的字)的读/写操作只需一个总线周期,而非规则字(从奇数地址开始存放的字)的读/写操作需两个总线周期。

图3.14从8086存储器的偶数和奇数地址读字节和字读偶地址单元中的字节;(b)读奇地址单元中的字节;(c)读偶地址单元中的字;(d)读奇地址单元中的字××偶地址奇地址8086CPU被读字节忽略字节(a)偶地址奇地址8086CPU(b)××被读字节忽略字节××偶地址奇地址8086CPU被读字(c)××××偶地址奇地址××偶地址奇地址8086CPU被读字节忽略字节被读字节忽略字节(d)存储器分段

8086/8088CPU中有关可用来存放地址的寄存器如IP、SP、SI、DI、BP等都是16位的,故只能直接寻址64KB。为了对1M个存储单元进行管理,8086/8088采用了段结构的存储器管理方法。

8086/8088将整个存储器分为许多逻辑段,但只有4种类型:代码段、数据段、堆栈段和附加段。每个逻辑段的容量小于或等于64KB,允许它们在整个存储空间中浮动。各个逻辑段之间可以紧密相连,也可以互相重叠(局部重叠和完全重叠),还可以相互隔开。第三章80x86微处理器

A段C段B段D段E段00000H10000H20000H30000H40000H64KB64KB64KB64KB紧密相连部分重叠完全重叠断开排列1FF00H2FEFFHM64KB第三章80x86微处理器

逻辑地址和物理地址⑴逻辑地址:由段地址(逻辑段起始地址的高16位)和偏移地址(16位)表示的存储单元的地址称为逻辑地址,记为:

段地址∶偏移地址⑵物理地址:由CPU内部总线接口单元BIU中的地址加法器根据逻辑地址产生的20位存储单元地址称为物理地址。如图3.7所示。第三章80x86微处理器

∑015段内偏移地址段寄存器190340000段地址左移4位20位物理地址190图3.7物理地址的形成

物理地址和逻辑地址的关系为:

物理地址=段地址×10H+偏移地址在程序设计中,段地址是由段寄存器(如CS、DS、SS或ES)提供,偏移地址通常是由地址寄存器(如IP、BX、BP、SP、SI或DI等)及立即数等提供。第三章80x86微处理器

对于任何一个物理地址来说,可以唯一被包含在一个逻辑段中,也可以包含在多个重叠的逻辑段中,只要能得到它所在段的首地址和段内的相对地址,就可以对它进行访问。即一个物理地址可以对应多个逻辑地址。11230H11231H11232H0000H0001H0002H1123H1123EH1123FH11240H11241H11242H11243H11244H11245H000EH000FH0010H0011H0012H0013H0014H0015H段基址:偏移地址物理地址15H1124H05H段基址:FFFEHFFFFH1122EH1122FH1123H×16+15H=11245H1124H×16+05H=11245H……第三章80x86微处理器

堆栈操作8086/8088系统中的堆栈使用段定义语句在存储器中定义的一个堆栈段,和其它逻辑段一样,它可以在1M字节的存储空间中浮动,其容量可达64KB,这是一个具有“先进后出”特性的存储区域,且属于向下生长的堆栈。堆栈由SS和SP来寻址。SS给出堆栈段的段地址,而SP给出当前栈顶(偏移地址),即指出从段地址到栈顶的偏移量。第三章80x86微处理器

若已知当前SS=1050H,SP=0008H,AX=1234H,则8086系统中堆栈的入栈和出栈操作如下图所示。12AA…10500H10501H10502H10503

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论