8086CPU只有16位寄存器,却可以访问20位的物理地址

2023-11-13

一、背景介绍

Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元(Bus Interface Unit)透过6字节预存的队列位指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。

二、16位的寄存器为什么可以访问20位的物理地址

地址线有20位,寄存器却只有16位,这不矛盾么?怎么才能用16位的寄存器来访问20位地址线所表示的内存范围(1M)呢?答案就是用两个寄存器,一个用来表示段(也就是段寄存器),一个用来表示段内的偏移,这样才可以做到访问20位地址线所代表的内存范围。将段地址左移4bit,则扩充到了20bit。我们知道,左移1位就是乘2,所以有了段地址×16+偏移地址,也就是段地址×10H+偏移地址,这个逻辑地址与物理地址的转换公式。

而采取这样的办法纯粹是因为硬件设计的原因,不得已而为之。

这里写图片描述

这两个16位寄存器提供的地址分别称为段地址偏移地址
它们通过地址加法器合成一个20位物理地址,然后通过内部总线将20位物理地址送到输入输出控制,之后,通过地址总线送到储存器

参考:

https://tntaxin.blog.csdn.net/article/details/78965130?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

8086CPU只有16位寄存器,却可以访问20位的物理地址 的相关文章

  • 计算机二级-C语言-计算机系统

    还未解决的题目 xff1a 5 3 xff1a 22 xff1b 5 4 xff1a 2 3 5 7 13 18 20 22 24 25 27 29概念模式 xff08 模式 xff09 xff1a 描述全局数据逻辑结构 xff1b 外模式
  • 【计算机系统】CPU是如何运行程序的

    一 CPU组成部分 寄存器 xff1a 存储CPU执行的指令的数据 xff0c CPU每次执行指令都会重新更新寄存器 程序计数器 PC xff1a 记录CPU即将执行的指令内存中的地址 逻辑控制单元 ALU xff1a CPU中负责逻辑计算
  • 假如让你来设计SSL/TLS协议

    前言 说起网络通信协议 相信大家对 TCP 和 HTTP 都很熟悉 它们可以说是当今互联网通信的基石 但是 在网络安全方面 它们却是有着很大安全风险 窃听风险 第三方攻击者可以随意窃听通信内容 比如获取支付账号密码 冒充风险 第三方攻击者可
  • 【linux】内核组件 [不断补充中...]

    防火墙 netfilter iptables IP 信息包过滤系统 netfilter 内核空间 kernelspace 是内核的一部分 由一些信息包过滤表组成 这些表包含内核用来控制信息包过滤处理的规则集 即 存放内核过滤规则的防火墙 i
  • 进程的地址空间概述

    前言 每台计算机都有一些主存用来保存正在执行的程序 在一个非常简单的操作系统中 仅仅有一个应用程序运行在内存中 第二个应用程序必须等待 为了运行第二个应用程序 需要把第一个应用程序移除才能把第二个程序装入内存 这种频繁的装入内存的操作是很没
  • HIT-ICS大作业

    计算机系统大作业 题目 程序人生 Hello s P2P 计算机科学与技术学院 摘 要 大作业题为程序人生 Hello s P2P 围绕一个较简单的hello c函数的整个生命周期展开 介绍了该示例程序从编写到执行到结束的全过程 详细地分析
  • 了解链接是什么?

    链接是将各种代码和数据片段收集并且组合成为一个单一文件的过程 这个文件可以被加载到内存并且执行 链接可以执行于编译时 也就是在程序被加载器加载到内存并且执行 甚至在执行于运行的时候 也就是由应用程序来执行 在早期的计算机系统中 链接是手动执
  • 文件的流

    一 文件名词解释 文件 是存贮在某种介质上的 如磁盘 磁带等 并具有文件名的一组有序信息的集合 流设备 大多数的字符设备 如键盘 打印机等 传输的信息均由 一组顺序出现的字符序列组成 文件系统 操作系统对系统的软件资源 不论是应用软件和系统
  • 计算机的内存

    物理内存 内存是电脑的一个硬件组成部分 从单片机的组成我们可以看到 CPU 内存和输入输出接口 就组成一个完整的电脑 其他统统属于外设 内存是可以被CPU通过总线进行操作的 也就是与CPU之间有总线相连接的 电脑所有的输入输出 都是要从内存
  • 计算机系统实验之datalab

    datalab实验是CSAPP中关于整数和浮点数的位运算的实验 对于我们理解位运算和整数 浮点数的位级表示有着很好的帮助 实验目的 修改bits c的C语言代码 使其通过所有在不违反任何编码准则的情况下 在btest中进行测试 进一步熟悉整
  • 内存管理技术——离散分配方式

    上一篇讲到 采用固定分区的方式 会产生页内碎片等缺点 因此引入了动态分区方式 但动态分区又产生了外部碎片 导致内存的利用率也不理想 为了进一步提高内存的利用率 所以就产生了离散的分配方式 理论来源于实际问题 这很好的体现在计算机科学中 离散
  • 计算机系统实验六:程序的链接

    参考教材 计算机系统基础 第二版 袁春风 机械工业出版社 参考慕课 计算机系统基础 四 编程与调试实践 https www icourse163 org learn NJU 1449521162 计算机系统实验导航 实验一 环境安装 htt
  • 8086CPU只有16位寄存器,却可以访问20位的物理地址

    一 背景介绍 Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片 是x86架构的鼻祖 它是以8080和8085的设计为基础 拥有类似的寄存器组 但是数据总线扩充为16位 总线界面单元 Bus Interface U
  • 计算机系统(四)处理器体系结构

    现代微处理器可以称得上是人类创造的最复杂的系统之一 一块手指甲大小的硅片上 可以容纳一个完整的高性能处理器 大的高速缓存 以及用来连接到外部设备的逻辑电路 到目前为止 我们看到的计算机系统只限于机器语言程序级 我们知道处理器必须执行一系列指
  • 内储管理技术——连续分配方式

    早期的操作系统 只支持单进程 为了实现简单 在执行程序之前 操作系统必须将待执行的程序全部装入内存 这就是简单存储管理技术 现代操作系统 支持多进程并发执行 允许进程装入部分程序即可以开始执行 其余部分保留在磁盘上 当执行所需的部分不在内存
  • 无符号数 有符号数 与 补码

    无符号数 有符号数 与 补码 本文是深入理解计算机系统这本书里面关于补码有符号数无符号数章节的一个摘要和读书报告 我个人认为这本书关于这一段的表述 要比绝大多数网上的博客甚至是国内教材要深入浅出的多 同时由于markdown的文档表示公式很
  • 保护模式的分段

    一 分段的背景 在8086处理器诞生之前 内存寻址方式就是直接访问物理地址 8086处理器为了寻址1M的内存空间 把地址总线扩展到了20位 但是 一个尴尬的问题出现了 ALU的宽度只有16位 也就是说 ALU不能计算20位的地址 为了解决这
  • 深入理解计算机系统-笔记

    计算机系统漫游 程序 程序的生命周期从一个源程序 源文件 开始 即程序员利用编辑器创建并保存的文本文件 如文件名为hello c的c语言程序 源程序是由0和1组成的位序列 8个位被组织成一组 称为字节 每个字节表示程序中的某个文本字符 这种
  • 计算机的保护模式与实模式

    一 背景 80386开始 CPU有三种工作方式 实模式 保护模式和虚拟8086模式 只有在刚刚启动的时候是real mode 等到操作系统运行起来以后就切换到protected mode 实模式只能访问地址在1M以下的内存称为常规内存 我们
  • 数据密集型应用系统设计(2)

    文章目录 数据模型与查询语言 NoSQL 数据库历史 关系数据库与文档数据库现状 数据查询语言 图状数据模型 小结 数据模型与查询语言 大多数应用程序是通过一层层叠加数据模型来构建的 例如 应用程序开发人员观测现实世界 通过对象或者数据结构

随机推荐