Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳."— Presentation transcript:

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

2 1 2 3 4 5 第三章 80x86微处理器 80x86 微处理器简介 8086 微处理器 8086 寄存器 8086 引脚功能
8086 存储器组织 5

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

4 一个存储单元中存放的信息称为该存储单元的内容。 如00001H单元的内容为9FH,记为:(00001H)=9FH。
mov al, [0001H] 如从地址0011FH开始的两个连续单元中存放一个字型数据,则该数据为DF46H,记为:(0011FH)=DF46H。 mov ax, [011FH] 78H 9FH 存储单元地址 00000H 00001H 46H DFH 6CH 98H 65H 5EH A6H 66H 6FH 0011FH 00120H 00121H E8009H E800AH E800BH E800CH E800DH FFFFFH 图3.10 数据在存储器中的存放

5 8086的1M存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。
A A 19 1 A BHE SEL A  A SEL A  A 19 1 19 1 高位(奇地址)库 低位(偶地址)库 512 K×8 512 K×8 D  D D  D 15 8 7 D  D 15 8 D  D 7 图 存储器高低位库的连接

6 8086的1M存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。
BHE D 15  D 8 A 19 A 1 A19…… A3 A2 A1 A0 0…… 0…… 0…… A19…… A3 A2 A1 A0 0…… 0…… 0…… 1# 0# 3# 2# 5# 4# 7 图 存储器高低位库的连接

7 8086的1M存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库。
BHE D 15  D 8 A 19 A 1 A19…… A3 A2 A1 A0 0…… 0…… A19…… A3 A2 A1 A0 0…… 0…… 0…… 1# 0# 3# 2# 5# 4# 7 图 存储器高低位库的连接

8 地址总线A19A1可同时对高、低位库的存储单元寻址,A0和BHE用于对库的选择。
当两者均为0时,则同时选中高低位库。 需注意的是,对于规则字(从偶数地址开始存放的字)的读/写操作只需一个总线周期,而非规则字(从奇数地址开始存放的字)的读/写操作需两个总线周期。

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

10 第三章 80x86微处理器 存储器分段 8086/8088CPU中有关可用来存放地址的寄存器如IP、SP、SI、DI、BP等都是16位的,故只能直接寻址64KB。为了对1M个存储单元进行管理,8086/8088采用了段结构的存储器管理方法。 8086/8088将整个存储器分为许多逻辑段,但只有4种类型:代码段、数据段、堆栈段和附加段。每个逻辑段的容量小于或等于64KB,允许它们在整个存储空间中浮动。各个逻辑段之间可以紧密相连,也可以互相重叠(局部重叠和完全重叠),还可以相互隔开。

11 第三章 80x86微处理器 00000H A段 64KB 10000H B段 64KB 1FF00H C段 D段 20000H 64KB
M 00000H A段 紧密相连 64KB 部分重叠 完全重叠 10000H B段 64KB 1FF00H C段 D段 20000H 64KB 64KB 2FEFFH 30000H E段 断开排列 64KB 40000H

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

13 物理地址和逻辑地址的关系为: 物理地址=段地址×10H+偏移地址
第三章 80x86微处理器 物理地址和逻辑地址的关系为: 物理地址=段地址×10H+偏移地址 在程序设计中,段地址是由段寄存器(如CS、DS、SS或ES)提供,偏移地址通常是由地址寄存器(如IP、BX、BP、SP、SI或DI等)及立即数等提供。 15 段内偏移地址 19 4 3 段寄存器 0000 段地址左移4位 19 20位物理地址 图3.7 物理地址的形成

14 第三章 80x86微处理器 段基址: 偏移地址 物理地址 对于任何一个物理地址来说,可以唯一被包含在一个逻辑段中,也可以包含在多个重叠的逻辑段中,只要能得到它所在段的首地址和段内的相对地址,就可以对它进行访问。即一个物理地址可以对应多个逻辑地址。 1123H 0000H 0001H 0002H 11230H 11231H 11232H 1123H×16+15H=11245H 1124H×16+05H=11245H 15H 000EH 000FH 0010H 0011H 0012H 0013H 0014H 0015H 1123EH 1123FH 11240H 11241H 11242H 11243H 11244H 11245H 段基址: 1124H 05H FFFEH FFFFH 1122EH 1122FH

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

16 若已知当前SS=1050H,SP=0008H,AX=1234H,则8086系统中堆栈的入栈和出栈操作如下图所示。
PUSH AX 10502H 10503H AX 12 BB 12 34 AA 34 10504H 10505H 10506H 34 34 10507H 12 12 栈顶 10508H AA AA 10509H BB BB 1050AH BX 12 34 POP BX 栈底 POP AX

17 第三章 80x86微处理器 Thank you!


Download ppt "微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳."

Similar presentations


Ads by Google