提交 8dfa01fc 创建 作者: 赵鹏翀's avatar 赵鹏翀

finish table

上级 cac372be
# 说明
这里实现的 8086 微处理器已经具有了基本的功能,完全可以满足基于 8086 处理器的`微机原理与接口技术`实验。但是,为了提高仿真效率,降低学习难度,与真实的 8086 微处理器相比,这里实现的 8086 进行了合理的简化,更多细节可参看下面的表格:
这里实现了一个简化的 8086 微处理器,其已具备了基本的功能,完全可以满足基于 8086 处理器的`微机原理与接口技术`实验。但是,为了提高仿真效率,降低学习难度,与真实的 8086 微处理器相比,这里实现的 8086 进行了合理的简化,更多细节可参看下面的表格。
此外,需要说明的是,简化的 8086 微处理器与真实的 8086 微处理器在机器指令级别是不兼容的,也就是说将一个可以在真实 8086 上运行的可执行程序直接放到简化的 8086 上是无法运行的。但是它们的汇编语言语法和汇编指令是兼容的,也就是说,将一段为简化的 8086 编写的汇编程序源代码用真实 8086 的汇编器生成一个可执行程序后,是可以在真实的 8086 上运行的。
| 对比项目 | 真实的 8086 | 简化的 8086 |
| ------ | ----------- | ------------- |
| 数据线 | 16根 | 8根 |
| 地址线 | 20根 | 8根 |
| 中断向量表 | 从物理地址0开始的1KB,可存放256个中断向量,每个占用4字节 | 从物理地址0开始的16字节,存放了16个中断向量,每个占用1字节 |
| ------ | ---------- | ---------- |
| 数据线 | 16 根 | 8 根 |
| 地址线 | 20 根 | 8 根 |
|寄存器|段寄存器、通用寄存器、栈寄存器、标志寄存器等均为 16 位|只提供了 8 位的通用寄存器、栈寄存器、标志寄存器,没有提供段寄存器|
|寻址方式|段地址加偏移地址得到物理地址,最多可访问 1MB 物理内存|由于没有提供段寄存器,所以直接使用物理地址,最多可以访问 256B 物理内存|
|起始位置|加电复位后进入 Big Mode,从一个固定的 CS:IP 开始执行 ROM 中的 BIOS 程序|加电复位后 PC 寄存器初始化为 0x10,也就是从物理内存的 0x10 处的第一条指令开始执行|
|指令集|支持完整的 8086 指令集|只实现了 8086 指令集的一个子集|
| 中断向量表 | 从物理地址 0 开始的 1KB,可存放 256 个中断向量,每个占用 4 字节,存放了中断处理程序入口的段地址和偏移地址 | 从物理地址 0 开始的 16 字节,存放了 16 个中断向量,每个占用 1 字节,存放了中断处理程序入口的物理地址|
# Datasheet
[8086.pdf](8086.pdf)
# 原理图
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论