(五)确定物理地址的方法和内存分段表示

标签: 汇编语言

物理地址

cpu访问内存单元时,要给出内存的地址才能访问
  • 8086的地址总线有20根,他的寻址空间大小220=1M
  • 8086的寄存器只有16位,运算器一次也最多处理16位的数据,所以对地址的运算也只能是16位的,意味着寻址能力为216 = 64KB

问题引入

之前我们学过寻址空间的大小由数据总线决定,20位的数据总线的寻址空间应该为1M,如果使用2^16^ = 64KB,就造成了浪费

段地址和偏移地址构成物理地址

8080cpu 使用 两个16位的段地址、偏移地址合成一个20位的物理地址

公式:物理地址 = 段地址 x 16 + 偏移地址

物理地址生成的过程是在地址加法器种进行的

在这里插入图片描述

在这里插入图片描述

段地址

寄存器是16位,ALU对二进制的处理也是16位的,所以对地址的计算也是16位的,216 = 64KB, 而8086的寻址空间大小位 1M,也就是说他能为 1M 的空间编址,系统将 1M 的空间以 64KB 分为若干段,这里若干段就是段地址了

		内存本身没有分段,是cpu为了使用方便将它划分成了段

在这里插入图片描述

偏移地址

偏移地址就是计算机里的内存分段后,在段内某一地址相对于段首地址(段地址)的偏移量. 如8086存储系统中 20位的物理地址(就是数据存储的实际地址)=16位的段基地址*16+16位的偏移量

  • 偏移地址是16位,16位地址的寻址能力是 64KB,所以一个段的长度最大为 64KB,也就是上面所说的 1MB 划分为若干个段,一个段的最大为 64KB

在这里插入图片描述


版权声明:本文为qq_42977003原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42977003/article/details/108940927

智能推荐

运用for语句来判断数组中值得大小

总结: 1将if语句与数组联合起来判断输入中各组中的最大最小值; 2注意:定义的数组数量是躲多少就要输入多少组数据,少输入就无法输出;...

Bridging signals

Bridging signals Time Limit: 1000MSMemory Limit: 10000K Total Submissions: 10926Accepted: 5982 Description 'Oh no, they've done it again', cries the chief designer at the Waferland chip factory. Once ...

一天一大 leet

一天一大 leet 题目(难度:困难): 示例 抛砖引玉 官方答案 高手在民间 菜鸡的自白 20200606 题目(难度:困难): 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例 示例 抛砖引玉 要求算法的时间复杂度为 O(n),即限制了只能循环一次; 先对数组排序 循环数组记录后一个元素等于前一个元素+1或者等于前一个元素的数量 满足条件++,不然重...

Tensorflow实现的CNN文本分类

https://blog.csdn.net/somtian/article/details/69359498 原博文, github 在这篇文章中,我们将实现一个类似于Kim Yoon的卷积神经网络语句分类的模型。 本文提出的模型在一系列文本分类任务(如情感分析)中实现了良好的分类性能,并已成为新的文本分类架构的标准基准。 本文假设你已经熟悉了应用于NLP的卷积神经网络的基础知识。 如果没有,建议...

JDBC新手入门教程

开发工具:idea 数据库:mysql jar包:junit-4.10 mysql-connector-java-8.0.18 junit-4.10下载 mysql-connector-java-8.0.18下载 注意1:jdbc的驱动因为使用的是mysql-connector-java-8.0.18,所以为(“com.mysql.cj.jdbc.Driver”),而不是(...

猜你喜欢

Lua 排序 table.sort

    正如C#中有Array.Sort(),lua中也有自己的排序方法即table.sort(table,function)。     lua中的排序默认是从大到小的排序;     传入一个方法参数,可以使排序从小到大; 打印结果:  ...

SURF算法简述及Python标记SURF特征检测实践

目录 一、SURF算法 1.算法简介 2.SURF与SIFT的具体差异 二、Python代码实践 1.测试环境 2.测试代码 3.核心函数 4.测试结果 一、SURF算法 1.算法简介 SURF(Speeded-Up Robust Features)加速稳健特征,是一种稳健的局部特征点检测和描述算法。 SURF是对SIFT算法的改进,该算子在保持 SIFT 算子优良性能特点的基础上,同时解决了 S...

Selenium3自动化测试——19.读取数据文件

1. 实现目标 在测试与开发中,经常需要对文件进行各种读取操作。这里介绍针对txt、csv、xml、json文件的读取。 2. 读取TXT文件 2.1 user_info.txt文件 2.2 读取txt文件.py 2.3 实现结果 3. 读取csv文件 3.1 user_info.csv  这里要注意,csv文件本身打开是utf-8的,而不是乱码 3.2 读取csv文件.py 这里,针对...

Flask 介绍

Flask 学习笔记 一、Flask 简介         Flask 是一款非常流行的 Python Web 框架,出生于 2010 年,作者是 Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目。         Flask 自2010年发布第一个版本以...

Java实现十大排序算法,配合动态图片

Java实现排序算法 其中不理解时间复杂度得可以看一下我的时间复杂度的文章,有助于理解 十大排序算法 1、冒泡排序 2、选择排序 3、插入排序 4、希尔排序 5、归并排序 6、快速排序 7、堆排序 8、计数排序 9、桶排序 10、基数排序 代码git地址:https://github.com/gaoyeming/sort-algorithm.git 排序算法说明 1,排序的定义 对一序列对象或者数...