修炼汇编语言第二章:内存地址空间(概述)

news/2024/7/5 12:55:54

目录

前言

一、主板和接口卡

二、存储器各类芯片

三:内存地址空间

总结


前言

什么是内存地址空间呢?如果地址线为10,那么可以寻址1024个地址空间,这1024个地址空间就构成这个CPU的内存地址空间,下面本文将会介绍两部分基础知识,主板和接口卡。


一、主板和接口卡

每一台PC机上都有主板,主板上都有核心器件和一些主要器件,这些器件通过总线相连,这些器件有CPU,存储器,外围芯片组,扩展插槽等,扩展插槽一般有RAM内存条和各类接口卡。而CPU不能直接控制外部设备例如显示器,音响,打印机等,这些都需要接口卡直接控制,而接口卡直接与CPU相连,CPU可以直接控制接口卡,从而实现对外部设备的间接控制。

二、存储器各类芯片

从读写上来看,存储器分为两类:

  • 随机存储器(RAM)
  • 只读存储器(ROM)

而这些存储器从功能上和连接上又可以分为以下几类

  • 随机存储器
  • 装有BIOS的ROM
  • 接口卡上的RAM(最典型的显卡上的RAM,被称为显存)

下图展示了PC系统中各类存储器的逻辑链接情况‘

三:内存地址空间

上述存储器,在物理上都是独立的器件,但是在以下两点相同:

  • 都和CPU总线相连
  • CPU对他们进行读写时候都通过控制线发出内存读写命令

也就是说,在CPU操控他们的时候,把他们都当成内存,把他们总的看作一个由若干个存储单元构成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间

此时各种储存器可以假象为一个逻辑存储器,每个物理存储器在逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在对应物理存储器中读写数据 

假设:

  • 地址0-7FFFH的32KB空间为主RAM的地址空间
  • 地址8000H-9FFFH的8KB空间为显存地址空间
  • 地址A000H-FFFFH的24KB空间为各个ROM的地址空间

当此时

CPU向内存地址为1000H的内存单元中写入数据,这个数据就被写入主RAM,

CPU向内存地址为8000H的内存单元中写入数据,这个数据就被写入显存

.......

内存地址空间的大小受CPU地址总线宽度限制,8086CPU的地址总线宽度为20,可以传输2^20个不同的地址信息,既可以定位2^20个内存单元,则8086PC的内存地址空间大小为1MB。同理,80386CPU的地址总线宽度为32,内存地址最大空间为4GB

当我们对计算机硬件进行系统编程的时候,必须知道这个系统中的内存地址空间分配情况。因为我们在读写数据的时候,必须知道单元的地址,以确保在对应的存储器中进行。

不同的计算机系统对于系统内存分配情况是不同的,下图是8086PC对内存地址空间分配的基本情况


 

总结

最终的运行程序为CPU,我们用汇编语言的时候,必须要从CPU角度思考问题,对CPU来讲,系统中所有存储器的存储单元都处于一个统一的逻辑的存储器中,他的容量收到CPU的寻址能力的限制,这个逻辑存储器就是我们所说的内存地址空间

而对于初学者,这个概念不免有些抽象,后续乐言讲更新一些实践,来增强大家的感性认识


http://lihuaxi.xjx100.cn/news/1067987.html

相关文章

快来看看这些前端开发技巧你掌握多少吧

文章目录 一、代码整洁推荐1.1 三元(三目)运算符1.2 短路判断简写1.3 变量声明简写1.4 if真值判断简写1.5 For循环简写1.6 对象属性简写1.7 箭头函数简写1.8 隐式返回简写1.9 模板字符串1.10 默认参数值1.11 解构赋值简写1.12 多条件判断简写1.13 多变量赋值简写1.14 解构时重命…

Apache默认解析后缀

Apache HTTP服务器默认情况下支持解析以下常见的文件扩展名: HTML文件.htmlHTML文件.htmServer Side Includes (SSI) HTML文件.shtml PHP脚本文件.phpPHP脚本文件.php3PHP脚本文件.php4PHP脚本文件.php5 Python脚本文件.pyCommon Gateway Interface (CGI) 脚本文件…

什么是视图(保姆版)

目录 一、如何提高查询效率: 那如何提高查询语句的效率呢? 二、视图的使用: 1、视图关键字:view 2、视图的基本使用 3、视图的修改 4、删除视图 三、视图的创建: 四、视图的修改 五、视图的删除 什么是视图&…

统计学知识

期望:随机变量的平均值 矩: X X X的 n n n阶矩: μ n ′ E X n \mu_n^\primeEX^n μn′​EXn X X X的 n n n阶中心矩: μ n E ( X − μ ) n \mu_nE(X-\mu)^n μn​E(X−μ)n X X X的2阶中心矩称为方差 三种收敛 依概率收敛 如…

产品经理与项目经理(区别/特点)

项目经理岗位要求(侧重项目本身): 项目管理:熟悉项目管理的流程和方法,如敏捷开发、瀑布模型等,具备良好的项目规划、执行、监控和收尾能力。技术理解:具备一定的软件开发背景,了解…

MySQL Community Server 8.0.33安装教程【笔记】

仅安装MySQL Community Server 下载网址:https://dev.mysql.com/downloads/installer/ 1、下载对应版本; 2、下载后,双击安装,弹出界面选择【Custom】; 3、弹出界面选择【MySQL Server 8.0.33 - X64】; 3、弹出界面…

U盘安装Windows11和ubuntu20.04双系统

准备: 一台PC电脑(我的是两个固态硬盘) 一个U盘(最好不小于32G) 下载安装工具: 老白菜u盘启动盘制作工具_u盘启动_u盘装系统下载尽在老白菜官网 最新UltraISO官方免费下载 - UltraISO软碟通中文官方网…

Android动态权限申请从未如此简单

前言 大家是否还在为动态权限申请感到苦恼呢?传统的动态权限申请需要在Activity中重写onRequestPermissionsResult方法来接收用户权限授予的结果。试想一下,你需要在一个子模块中申请权限,那得从这个模块所在的Activity的onRequestPermissio…