当前位置: 首页 > news >正文

微机原理与接口技术知识点总结——8086微处理器ddddd

引言

8086是Intel公司生产的字长16位的定点微处理器,内部寄存器、算术逻辑单元和外部数据引脚都是16位,支持8位/16位的符号数/无符号数的算术运算和数据传送,8086提供20位地址引脚(存储器周期20位地址有效;I/O地址位16位有效),可寻址1MB存储器空间和64KB I/O地址空间,因而可兼容8位微处理器8085和他的外围电路。本章主要介绍8086的内部结构,外部引脚、存储器组织形式和总线时序。

微处理器不是CPU。

1、内部结构

在内部功能逻辑上可以分为两个处理单元:总线接口单元和执行单元。

这两个单元虽然能直接相互作用,但是绝大部分功能还是作为两个异步操作的独立单元完成。总线接口单元完成物理地址形成、指令获取和排队、操作数存取及基本总线控制功能。执行单元从总线接口单元的指令队列接受指令,向总线接口单元提供定位操作数的偏移。存储器操作数通过总线接口传送到执行单元处理,执行单元的处理结果再通过总线接口单元传送到存储器存储。

8086是基于总线接口单元和执行单元异步独立工作的形式,设计有三条内总线:A-BUS用于执行单元内部的数据传送;B-BUS用于向地址加法器传送段地址;C-BUS用于总线接口单元内部的数据传送。

结构特点

1、流水线(pileline)

根据第一章所述,指令的执行周期称为指令周期,指令周期包括取指令和执行周期两个阶段。取指周期需要通过总线从存储器中取指令;执行周期中,如何需要存取操作数,就需要访问总线;如果执行周期不需要存取操作数,总线处于空闲,这段空闲时间称为死时。

传统计算机的指令执行是取一条指令执行一条指令,不断重复这个过程,取值和执行是串行的,如图所示。

8086总线接口单元可以在执行周期不存取操作数的时间预取后续指令,即总线接口单元的指令预取和执行单元的指令执行交替并行执行,这种机制称为流水线。流水线机制减少了死时的出现。通过改变总线的利用率来提高微处理器的效率,这已经称为现代微处理器广泛使用的一种技术。

8086分为总线接口单元和执行单元两个异步工作的部分,指令的执行形成两条流水线,如图所示

2、存储器的分段寻址

8086是一个字长16为的微处理器,一次处理的数据最长16位,所以在处理器上的寄存器都是16位,但是为了支持更大的存储空间,8086地址总线设计为20位,依靠16位的寄存器无法提供20位地址,因此8086在设计上采用了分段寻址的机制。

这里有几个概念,

存储器中的物理地址

就是20位的二进制数据,每个物理地址唯一对应存储器中的唯一一个确定的寄存器,比如说20位的物理地址,那么就是有2的20次方个寄存器,2的20次方个唯一的物理地址,也就是1MB.

物理地址是8086寻址实际存在的物理存储器而从20位地址总线发出的地址

然后分段寻址就是微处理器选择用两个寄存器去表示我们的物理地址。

定义就是:把整个存储器地址空间划分为几个段,每个段有20位的地址来定位,这个段内的存储器单元由这个单元在段内的偏移来定位。分段寻址的过程如下图,8086的这种分段地址也成为逻辑地址。记为segment:offset。segment是第一个及存储,由段寄存器(CS.DS.SS.ES)之一提供。offset位16位,也就是偏移地址。我们进行取指操作的时候,由指令指针寄存器(IP)提供;如果是执行执行中访问存储器操作数,则在指令中给出。

就是两个16位的地址去表示一个20位的地址。

要访问物理存储器,必须把逻辑地址转换为物理地址,如图2.5所示。首先16位的段寄存器表述的地址segment左移4位形成20位的段地址,然后加上16位的偏移地址,就形成了20位物理地址。这样,8086通过两个16位的分段地址可以定位任意的存储器单元。

由于段寄存器提供16位的地址,因此最多可以指向2的16次方个段,由于offset也是16位,因此每个段最大包含2的16次方个连续的存储器单元。

3、I/O地址空间

8086采用独立寻址的方法解决I/O端口寻址,即通过pin28提供一个专门的状态信号M/IO非区分是存储器地址空间和I/O地址空间。不同于寻址存储器,I/O地址不需要分段寻址,可以只有一个寄存器给出。

总线接口单元 BIU,BIU是由什么组成的

1、段寄存器

提供段地址的,8086设计了4个段寄存器,指向4种不同的段,这样在程序设计师,可以将不同的东西放到不同类别的段里,使得程序结构更合理,数据访问更快捷。

2、地址加法器

将分段地址转化为物理地址,用于存储器接口访问实际的物理存储器。

3、指令指针寄存器

IP 存储代码段内

下次有空再弄

相关文章:

  • 16 - VDMA之视频转发实验
  • 字符串检索算法:KMP和Trie树
  • 解决 PicGo 上传 GitHub图床及Marp中Github图片编译常见难题指南
  • VUE3 -综合实践(Mock+Axios+ElementPlus)
  • 安全合规检查开源项目ComplianceAsCode/content详解及操作系统新产品开发适配指南
  • less中使用 @supports
  • tensorflow安装及简单例程学习
  • Baklib知识中台赋能业务智能跃迁
  • 使用大模型预测急性结石性疾病技术方案
  • 现代计算机图形学Games101入门笔记(六)
  • HPE ProLiant DL360 Gen11 服务器,配置 RAID 5 教程!
  • C#11的特性
  • echarts中一些关键的配置
  • SCADA|KingSCADA中如何使用自定义函数优化脚本程序?
  • Java问题排查常用命令行工具速查表
  • Android多媒体——媒体start流程分析(十三)
  • 深入解析 PostgreSQL 外部数据封装器(FDW)的 SELECT 查询执行机制
  • 【vLLM 学习】基础教程
  • 4G物联网模块实现废气处理全流程数据可视化监控配置
  • Angular 知识框架
  • 向猫学习禅修之后,你会发现将生活降格为劳作是多么愚蠢
  • 现场丨在胡适施蛰存等手札与文献间,再读百年光华
  • 押井守在30年前创造的虚拟世界何以比当下更超前?
  • 上海国际电影节纪录片单元,还世界真实色彩
  • 崔登荣任国家游泳队总教练
  • 夜读丨取稿费的乐趣