8086微处理器存储结构
8086 微处理器的存储结构具有以下关键特点,采用分段模型来管理其 1 MB 的物理内存空间:
-
物理地址空间:
- 8086 拥有 20 根地址线 (A0 - A19)。
- 这使得其能够直接寻址的最大物理内存空间为 2^20 = 1,048,576 字节 = 1 MB。地址范围从
00000H到FFFFFH。
-
关键问题与解决方案 - 分段:
- CPU 内部的寄存器(如 AX, BX, CX, DX, SP, BP, SI, DI 等)宽度是 16 位。
- 16 位寄存器最多只能寻址 64 KB (
0000H到FFFFH)。 - 矛盾: 16位寄存器无法直接寻址20位地址线的1MB空间。
- 解决方案:分段内存模型 (Segmented Memory Model)。内存被划分为逻辑段。
-
分段机制:
- 段寄存器 (Segment Registers): 有 4 个 16 位的专用段寄存器:
- CS (Code Segment): 指向当前执行的指令代码所在的段。
- DS (Data Segment): 指向程序默认访问数据所在的段。
- SS (Stack Segment): 指向程序当前栈所在的段。
- ES (Extra Segment): 指向一个“附加”的数据段,常用于字符串操作的目标段或辅助数据区。
- 段基地址 (Segment Base Address): 段寄存器中存储的 16 位值代表一个段选择器或更准确地理解为一个段基地址的高 16 位。
- 在地址计算时,CPU 会将段寄存器中的值 向左移 4 位(相当于乘以 16 / 0x10)。这样就形成了一个 20 位的段起始地址(段基地址)。
- 例如:如果
CS = 0x1234,那么代码段的物理起始地址就是0x1234 * 0x10 = 0x12340。
- 偏移地址 (Offset Address): 这是内存单元在特定段内的位置,相对于该段的起始地址(段基址)。
- 由 IP (Instruction Pointer) 寄存器(在代码段中)、指针寄存器 (如 SI, DI, BP) 或 其他提供偏移的指令操作数 提供。
- 偏移地址也是 16 位 (
0000H-FFFFH),因此每个段的最大大小是 64 KB。
- 物理地址 (Physical Address) 计算:
- *物理地址 = (段寄存器值 16) + 偏移地址**
- 从数学上看:
物理地址 = 段基地址 + 偏移地址 - 例如:
DS = 0x2000,BX = 0x0100。要访问数据的物理地址是(0x2000 * 0x10) + 0x0100 = 0x20000 + 0x0100 = 0x20100。 - 物理地址生成由 CPU 内部的 地址加法器 (Address Adder) 硬件完成。
- 段寄存器 (Segment Registers): 有 4 个 16 位的专用段寄存器:
-
段重叠与覆盖:
- 由于段基地址是通过寄存器值左移4位确定的,并且段大小为64KB(最大偏移
0xFFFF),使得:- 连续的段寄存器值(例如 CS=0x1000 和 DS=0x1001)所指向的物理段在内存中严重重叠。第一个段从
0x10000到0x1FFFF,第二个段从0x10010到0x2000F,重叠范围很大 (0x10010到0x1FFFF)。 - 相邻的段寄存器值(例如 CS=0x1000 和 DS=0x2000)所指向的段是物理上相邻但不重叠的。第一个段结束于
0x1FFFF,第二个段起始于0x20000。
- 连续的段寄存器值(例如 CS=0x1000 和 DS=0x1001)所指向的物理段在内存中严重重叠。第一个段从
- 由于段基地址是通过寄存器值左移4位确定的,并且段大小为64KB(最大偏移
-
关键内存区域:
- 00000H - 003FFH (1KB):中断向量表 (Interrupt Vector Table - IVT)。存放 256 个中断服务程序入口地址(每个地址由 CS:IP 构成,占 4 字节)。
- FFFF0H - FFFFFH (16字节):启动区 (Boot Sector)。复位后,CPU 从
FFFF0H开始执行第一条指令。通常是一条JMP指令,跳转到实际的 BIOS 启动代码入口。 - ROM 区域: BIOS、固件通常映射在高地址区域(如
F0000H以上)。 - RAM 区域: 操作系统、应用程序、数据主要存放在低地址区域(如
00400H到9FFFFH或更高)。
-
字节顺序(小端序):
- Intel 处理器(包括8086)使用 小端字节序 (Little-Endian) 存储多字节数据(字、双字)。
- 低地址存放数据的最低有效字节 (LSB),高地址存放最高有效字节 (MSB)。
- 例如,字
0x1234(占2个字节)存放在地址0x1000和0x1001时:0x1000:34H(低位字节)0x1001:12H(高位字节)
-
对齐(非严格要求):
- 8086 可以访问奇地址或偶地址开始的数据(字节、字)。
- 但访问奇地址上的字 (2字节) 需要两个总线周期(先读低字节,再读高字节),而访问偶地址的字只需要一个总线周期,效率更高。
- 因此,为了提高性能,建议将字数据存放在偶地址(字对齐)。
-
内存组织 - 存储体:
- 为了在 16 位数据总线 (8086) 上高效访问字节和字,1MB 的物理内存通常被划分为两个并行的 512 KB 存储体:
- 偶地址存储体 (Low Bank / Even Bank): 连接数据总线的低 8 位 (D0-D7)。存放所有偶地址的字节 (
0, 2, 4,...) 以及字的低字节。 - 奇地址存储体 (High Bank / Odd Bank): 连接数据总线的高 8 位 (D8-D15)。存放所有奇地址的字节 (
1, 3, 5,...) 以及字的高字节。
- 偶地址存储体 (Low Bank / Even Bank): 连接数据总线的低 8 位 (D0-D7)。存放所有偶地址的字节 (
- CPU 通过地址线 A0 和 BHE# (Bus High Enable) 信号来选择访问哪个存储体(一个或两个同时)。这优化了单字节和双字节(字)的访问速度。
- 为了在 16 位数据总线 (8086) 上高效访问字节和字,1MB 的物理内存通常被划分为两个并行的 512 KB 存储体:
总结:
8086 微处理器采用分段内存模型管理其 1 MB 的物理地址空间。它使用 16 位的段寄存器 (CS, DS, SS, ES) 存储段基地址的高 16 位(隐含左移 4 位形成 20 位段基址),结合 16 位的偏移地址 (IP, SP, BP, SI, DI 或指令操作数提供) 来确定最终 20 位的物理地址。每个逻辑段最大可达 64 KB。内存访问采用小端字节序,虽然对数据对齐没有严格硬件限制,但字对齐(存放在偶地址)能显著提高性能。实际物理内存通常划分为偶地址和奇地址两个 512 KB 存储体以提高字节和字访问效率。重要的固定区域包括中断向量表 (00000H-003FFH) 和复位启动地址 (FFFF0H)。这种分段机制有效克服了 16 位寄存器访问 1 MB 物理地址空间的限制。
微处理器体系结构
《微处理器体系结构》适合作为高等院校集成电路设计相关专业工程硕士的教材,并可以作为微处理器硬件与软件设计相关专业高年级本科生和研究生的教材。
资料下载
ah此生不换
2021-04-14 10:29:03
16位和32位微处理器的相关资料推荐
第2章 16位和32位微处理器微处理器的性能指标最主要的是以下两项:1.字长2.主频一、16位微处理器80868086是Intel系列的16位
了解微处理器的基本操作
1.主要学习嵌入式系统概述了解微处理器的基本操作。理解微处理器体系结构的基本概念。机器语言程序的基础知识。用汇编语言设计和编写程序2.嵌入式系统
探讨一下嵌入式微处理器体系结构
嵌入式微处理器体系结构17As discussed earlier, the 8086 microprocessor consists of t
嵌入式微处理器体系结构
处理器DSP4、嵌入式片上系统SOC(System-on-a-Chip)三、多核处理器四、嵌入式操作系统EOS五、嵌入式实时操作系统RTOS六、嵌入式系统设计七、嵌入式系统的软件一、嵌入式
什么是总线微处理器
总线(元件级总线)微型计算机:由CPU、内存储器、输入输出接口电路组成!以及内总线(系统总线)微型计算机系统:以微型计算机为主体,配上系统软件,应用软件,外存储器,输入输出设备,电源,面板和机架!以及外总线(通信总线
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机