计算机体系结构和内存分布

计算机原理探险系列(六)-- 看图认识内存分配 之前的几篇文章里面,我们相应介绍了计算机内部的进程,磁盘,cpu,网络等相关知识点,今天主要来一起探讨下关于计算机的内存分配问题。 有限的物理内存 计算机在运行的时候,其所拥有的内存空间其实是有限的。在早期的Dos操作系统中,通常就是4mb的内存,那时候的应用软件还不怎么流行,基本4mb的内存空间就足够程序运作了。不过到了后期阶段,随着各种硬件设备的不断完善,往往可能会存在内存空间小于程序的大小。(例如:内存空间4mb,程序大小16mb) 解决思路 设计一个虚拟存储器,将需要用到指定程序加载到内存中进行计算 阅读详情

计算机体系结构示意图:

 

内存结构和访问速度

 

 

连续内存分配问题

  1.内存碎片问题

  2.分区的动态分配

 3.压缩式碎片整理                将多个碎片内存移动到一整块连续内存中

  4.交换式碎片整理              将内存中的数据暂时移动到磁盘中

 

内存碎片问题

  (1)空闲内存不能被使用

  (2)外部碎片 :在分配单元间的未使用内存

  (3)内部碎片:在分配单元中的未使用内存

 

分区的动态分配 : 当一个程序准许运行在内存中时,分配一个连续的区间。分配一个连续的内存空间给运行的程序以访问数据

 

非连续内存:

分段,逻辑地址空间连续,物理地址不连续

 

非连续内存:

分页

   划分物理内存至固定的大小帧

   划分逻辑地址空间至相同的大小页

  建立方案:转换逻辑地址至物理地址

物理地址 = 页号 * 页的大小  + 偏移

 

存储器的几种体系结构 SMP:共享存储型多处理机(Shared Memory MulptiProcessors)共享存储型多处理机有三种模型: 均匀存储器存取(Uniform-Memory-Access,UMA)模型 非均匀存储器存取(Non uniform-Memory-Access,NUMA)模型 只用高速缓存的存储器结构(Cache-Only MemoryArchitecture,COMA)模型 UMA: 物 阅读详情

相关推荐

【汇编语言】ARM体系结构(含汇编开发)

ARM体系结构综述 本文系统梳理了ARM架构的发展历程与技术特性。ARM自1985年推出首款处理器ARM1以来,历经多次迭代,从ARMv1演进至ARMv9,形成了Cortex-A/R/M三大产品线,分别面向应用处理器、实时控制和微控制器场景。文章深入解析了ARM的硬件基础原理,包括三极管工作原理、门电路组成以及处理器的RISC架构特点。通过对比CISC与RISC指令集,阐述了ARM采用精简指令集的设计优势,最后介绍了ARM处理器的基本架构和寄存器访问机制,为理解嵌入式系统提供了硬件层面的理论基础。

猫猫的小茶馆 750

五大内存分区(笔记)

计算机内存五大分区(笔记)

深海中的咸鱼博客 9568

C语言内存分布图(计算机基础知识)

在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。   栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。   堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。   自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。   全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。   常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多,在《const的思考》一文中,我给出了6种方法)   明确区分堆与栈

内存分布图

开机时系统会以实模式进入,此时可访问的内存只有1M大小,这时的内存分配情况如下所示(此时由bios主导这一M内存的使用情况): 0x 0 0 0 0 0 | |     10x64K=640K;   基本内存 | 0x 9 F F F F 0x A 0 0 0 0 | |     2x64K=128K;  作为显存使用 |       0xa0000-0xb0000 EGA/

Jack码•农的专栏 3623

AI 生成测试报告:从 2 小时到 10 分钟

本文分享了AI在汽车电子测试报告生成中的应用案例。作者以某车企ECU测试项目为例,对比传统报告方式(每天2小时)与AI辅助方式(每天20分钟),效率提升83%。文章详细介绍了测试报告的核心要素(测试概况、结果、问题分析、发布建议)和不同类型报告(日报、周报、总结报告)的特点,并提供了从CANoe导出测试数据的Python解析脚本示例。通过AI自动化处理,大幅减少了测试工程师在报告整理上的时间投入,为汽车电子测试工作提供了实用效率提升方案。

小明的博客 443

100多台物理GPU服务器,每台服务器上有8张GPU卡,组网

计算网用 IB/RoCEv2 保证低延迟高带宽,支撑 800+GPU 的分布式训练;管理网和存储网独立部署,避免干扰核心通信;全链路冗余和规范布线,确保集群稳定运行;搭配 Slurm/K8s 和监控工具,实现高效管理。该方案可支撑千亿参数大模型训练,且具备极强的扩展性,未来可平滑扩容至 200 + 台服务器。

weixin_42795092的博客 2020

计算机内存分配、管理

当我们写完一个程序后,编译、链接、执行,表面看似很简单,其实程序执行过程中,内存为我们的程序做了很多事。 我们先来看一个图 一般我们将内存分为:堆区、栈区、全局区、代码区、常量区,各个区域存放的内容: 栈区:在程序中所创建的局部变量、参数、数组、指针等,当程序执行完后,将释放所占用的该块内存。 堆区:该片区域中存放着我们手工申请的内容,如:Malloc、new所创建

well的博客 4757

NGSIM数据集字段解析:从车辆轨迹到交通行为分析

本文深度解析NGSIM数据集的核心字段及其在交通行为分析中的应用。详细解读了车辆时空定位、状态属性及交互关系等关键字段,并通过高速路“幽灵堵车”和城市路口左转行为两个实战案例,展示了如何利用该数据集进行微观交通行为建模与驾驶特征提取,为交通流研究和自动驾驶算法测试提供数据基础。

weixin_29172963的博客 147

计算机内存分布总览

0x00000000~0x000FFFFF 大小为1MB 开始 结束 尺寸 类型 描述 0x00000000 0x000003FF 1 KB RAM-部分不可用 中断向量表 0x00000400 0x000004FF 256B RAM-部分不可用 BIOS数据区 0x00000500 0x00007BFF ...

yanjinin的博客 1049

Xilinx PL端DP显示接口开发实战(一)——环境搭建与硬件选型

本文详细介绍了Xilinx PL端DP显示接口开发的环境搭建与硬件选型实战经验。从Vivado和Vitis 2021.1版本的软件安装要点,到DP141和MCDP6000芯片的选型建议,再到DP1.4接口的RX/TX方向开发关键点,为开发者提供了全面的技术指导。文章还分享了IP核配置、BD原理图设计以及常见问题排查的实用技巧,帮助开发者高效完成Xilinx DP接口开发项目。

weixin_29250573的博客 171

SWD下载调试接口原理深度剖析

作为ARM嵌入式工程师,下载调试器都应该知道,但你真正了解SWD如何下载调试的么?ARM 芯片通过什么物理接口和什么方式连接完全取决于芯片Debug子系统的架构如何?

zhuwade的博客 1万+

计算机体系结构优化技术:提高性能与效率

1.背景介绍 计算机体系结构优化技术是一种关键的计算机科学技术,它旨在提高计算机系统的性能和效率。随着计算机技术的不断发展,计算机体系结构也不断发展和演进,以满足不断增长的计算需求。在这个过程中,优化技术变得越来越重要,因为它可以帮助我们更有效地利用计算资源,提高系统性能和效率。 在这篇文章中,我们将讨论计算机体系结构优化技术的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例以及未来发...

AI天才研究院 1160

以太网传输硬件设计大全

1.网线的介绍RJ45由插头和插做组成,也就是我们常说的网口和网线。RJ45 网线插头又称水晶头,共有八芯做成。RJ45网络传输线分为直通线、交叉线和全反线。直通线用于异种网络设备之间的互连,例如,计算机与交换机。交叉线用于同种网络设备之间的互连,例如,计算机与计算机。全反线用于超级终端与网络设备的控制物理接口之间的连接。下面将介绍一下各线的作用和区别。1.直通线:又叫正线或标准线,两端采用568B做线标准,注意两端都是同样的线序且一一对应。直通线是应用最广泛,现在最常用的线。

weixin_45365488的博客 6749

深入探索并行计算机体系结构:从结构模型到存储组织

本文系统介绍了并行计算机体系结构,包括结构模型、访存模型和存储组织三大核心内容。在结构模型方面,详细分析了并行向量处理机、对称多处理机、大规模并行处理机等六种主流架构的特点及应用场景。访存模型部分阐述了均匀存储访问、非均匀存储访问等五种数据访问方式的工作原理和适用场景。存储组织方面探讨了层次存储技术、高速缓存一致性等关键技术。文章指出,理解这些体系结构技术是掌握并行计算的基础,随着技术发展,未来将出现更高性能、更可扩展的新型并行计算机架构。

xionio的博客 1159

ADS基础教程20 - 电磁仿真(EM)参数化仿真

一、引言二、参数化设置1.参数定义2.参数赋值3.创建EM模型和符号四、总结1)在Layout视图,菜单栏中选中EMComponent2)在弹出的参数编辑框中,采用标称/扰动()设计。使用子网(Subnetwork)参数。这些方法是互斥的,在为单个组件定义参数时不能将它们组合起来。标称/扰动(Nominal/Perturbed)参数使用平面化布局场景,并且只包含端口和原始图形形状(如多边形、矩形和圆形)时定义。

XZ_ZC的博客 4028

4、机器人建模、规划与控制及运动学知识解析

本博客深入解析了机器人建模、规划与控制的核心内容,涵盖运动学与动力学的基本原理,并结合典型应用场景探讨了移动机器人与操作器的控制策略。同时,博客还介绍了机器人技术的发展趋势及其在工业和服务领域的广泛应用。

desk3的博客 122

天河一号属于微型计算机,透过天河一号看超级计算机技术

你应该知道的超级计算机目前各种超级计算机的高速处理能力基本上都是利用并行体系结构实现的,并行计算(Parallel Computing)已成为提高处理性能的关键技术之一。简单地讲,并行计算技术就是用同时运行的多个处理机或计算机来处理同一任务,从而大幅度提高任务的处理速度、缩短了任务的处理时间。超级计算机的五大形态在超级计算机技术的发展历程中,先后出现过多种超级计算机并行体系结构,主要有如下5种。●...

weixin_42301008的博客 1176

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java类对象创建过程与jvm内存分布详解

最近在学习jvm和java对象创建过程遇到一个难题,在学习jvm时对于java类对象知识点理解不够透彻,在学习java类对象创建时对jvm不理解,在反复单独学习后将两者结合学习时,发现很多阻塞的点水到渠成的打开了

明白的民的博客 789

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TOP500强超级计算机的体系结构

行向量处理(ParallelVectorProcessing,PVP)系统并行向量处理结构采用一定数量的、并行运行的向量处理器和共享式内存(SharedMemory,SM)结构的计算机系统。PVP系统的SM结构,也就是采用高带宽的交叉开关将各个向量处理器与其共享的内存模块连接。向量处理器(VectorProcessor)的一条指令能够同时对多个数据项(向量...

weixin_34138377的博客 1490

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大端模式和小端模式

大端模式和小端模式

ffygvf的博客 148

大端模式和小端模式以及程序运行内存空间分布

在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先从字节序说起。

zhangwu1241的博客 1051

计算机存储的大小端模式解析

http://blog.youkuaiyun.com/hackbuteer1/article/details/7722667 原作者文章链接,写得很好,没必要再重新分析了,看这个就够了。一般在《计算机组成原理》,或者《微机原理》,或者《汇编语言》等课程中也会有介绍,不过没有这么详细透彻罢了。红色笔记是我的注解。 ------------------------------------------...

diaoyanqin5061的博客 220

计算机硬件体系

1.计算机硬件体系构成:  自第一台计算机ENIAC发明以来,计算机系统的技术已经得到了很大的发展,但计算机硬件系统的基本结构没有发生变化,仍然属于冯·诺依曼体系计算机。计算机硬件系统仍然由运算器,控制器,存储器,输入设备和输出设备5部分组成。 2.运算器: 运算器又称算术逻辑单元。它是完成计算机对各种算术运算和逻辑运算的装置,能进行加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算...

myloveinnocence的博客 1214

Java--JVM的内存分布

如果只是向往,远方依旧是远方。

m0_63852716的博客 133
上一篇: 操作系统简介
下一篇: 设计模式
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值