计算机的硬件组成
寄存器(register)
处理器内部的高速存储单元
用于暂时存放程序执行过程中的代码和数据
可分为两类一类是透明寄存器对应用人员不可见、不能编程直接控制,一类是可编程寄存器具有引用名称、供编程使用,可编程寄存器又分为通用寄存器和专用寄存器
E是表示扩展的意思暗含的是由原来的16位寄存器扩展而成的
汇编语言将硬件抽象成寄存器、存储器地址、输入输出地址
存储器地址
主存储器容量很大,被划分成许多存储单元
每个存储单元被编排一个号码、即存储单元地址(成为存储器地址)
每个存储单元以字节为基本储存单位(1、即字节编址2、一个字节(Byte)等于8个二进制位(Bit)3、二进制位是计算机存储信息的最小单位)
存储器的物理地址
1、从零开始顺序编排
2、直到其支持的最大存储单元
3、IA-32有4GB的存储空间(从零开始编排,一直到FFFFFFFFH,也就是32位全部是1,用16进制表示就是8个H)
存储模型
高性能处理器集成有存储管理单元MMU
操作系统利用MMU进行主储存器空间管理(程序并不直接寻址物理存储器)
IA-32提供了3种存储模型
- 平展存储模型
连续4GB的线性地址空间 - 段式存储模型
存储器由一组独立的地址空间组成
每个段都可以变成4个GB - 实地址存储模型
段式存储模型的实例
存储空间分段管理
段式保存相关代码或数据的一个主存区域
应用程序主要涉及3类基本段
代码段:存放程序的可执行代码(处理器指令)
数据段:存放程序所用的数据,例如全局变量
堆栈段:程序需要的特殊区域,存放返回地址、临时变量等
逻辑地址
存储空间可以分段管理,采用逻辑地址指示
逻辑地址 = 段基地址:偏移地址
段基地址 = 在主存中的起始地址(开始的地址)
偏移地址 = 距离段基地址的位移量
编程时使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署