精华内容
下载资源
问答
  • 2020-05-09 14:54:07

    ram也叫随机存取记忆体,它就相当于PC机上的移动存储,主要是用来存储和保存数据的。它在任何时候都可以进行读写,RAM存储器通常是作为操作系统或其他正在运行程序的临时存储介质。但是当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中。

    ram容量通常是指随机存储器的内存容量,是内存条的关键性参数。内存的容量一般都是2的整次方倍,比如64MB、128MB、256MB等,内存容量越大越有利于系统的运行。进入21世纪初期的台式机中主流采用的内存容量为2GB或4GB,512MB、256MB的内存已较少采用。 系统对内存的识别是以Byte为单位,每个字节由8位二进制数组成,即8bit(比特,也称“位”)。按照计算机的二进制方式,1Byte=8bit;1KB=1024Byte;1MB=1024KB;1GB=1024MB;1TB=1024GB。

    1KB=1024B=1024字节
    1MB=1024KB=1,048,576字节
    1GB=1024MB=1,073,741,824字节
    1TB=1024GB=1,099,511,627,776字节
    1PB=1024TB=1,125,899,906,842,624字节
    1EB=1024PB=1,152,921,504,606,846,976字节
    1ZB=1024EB=1,180,591,620,717,411,303,424字节
    1YB=1024ZB=1,208,925,819,614,629,174,706,176字节

    系统中内存的数量等于插在主板内存插槽上所有内存条容量的总和,内存容量的上限一般由主板芯片组和内存插槽决定。不同主板芯片组可以支持的容量不同,比如Inlel的810和815系列芯片组最高支持512MB内存,多余的部分无法识别。

    更多相关内容
  • 单片机程序程序存储空间ROM和数据存储空间(RAM)详解 问题STC89C52RC单片机:8K字节程序存储空间,512字节数据存储空间,内带2K字节EEPROM存储空间;它们分别存的是什么 8K的程序存储空间是存储代码也就是你写的程序生成...
  • RAM是程序运行中存放...如果所有的变量超过单片机small模式下的128B大小,则必须对变量进行初始化,否则超过RAM大小变量的值是不确定的,small模式下超过128B大小的变量也必须编译器中重新设定存储器的存储模式。
  • 51单片机RAM数据存储区学习笔记

    千次阅读 2021-05-23 10:46:36
    原标题:51单片机RAM数据存储区学习笔记...id=524088004171】1.RAM keil C语言编程RAM是程序运行中存放随机变量的数据空间keil中编写程序,如果当前模式为small模式,如果总的变量大小未超过128B,则未初始化的...

    原标题:51单片机RAM数据存储区学习笔记

    吴鉴鹰单片机开发板地址

    店铺:

    【吴鉴鹰的小铺】

    地址:

    【https://item.taobao.com/item.htm?_u=ukgdp5a7629&id=524088004171】

    1.RAM keil C语言编程

    RAM是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为small模式,如果总的变量大小未超过128B,则未初始化的变量的初值默认为0.如果所有的变量超过单片机small模式下的128B大小,则必须对变量进行初始化,否则超过RAM大小变量的值是不确定的,在small模式下超过128B大小的变量也必须在编译器中重新设定存储器的存储模式。

    在keil中,可选择small,compact,large三种方式存储数据变量:

    a86d64bcf7ae986930bd181db9e20d87.png

    在keil中可以用“Target Options”来配置这一项:

    e13fa4f0ec82aaa154e05c4e4b96729f.png

    2.片内数据存储区

    (1) 工作寄存器区

    工作寄存器区位于片内数据存储器中的00H~1FH单元,共32字节( 如此说来每个单元是一个字节了 ),分成四组。每组8个字节,分别记为R0~R7.

    2aa47285e7daa904cdbdaf75bdd11f37.png

    程序默认在0区工作寄存器组存放中间运算数据。等待中断来时,中断数据工作寄存器组由0区切换到其它区域。

    选择四组工作寄存器区的哪一组作为R0~R7由位于PSW寄存器的两位RS1,RS0来确定.

    RS1,RS0称为区开关或组开关,两位就可决定四种状态.

    d1de99849bd07f2be4d629759607eaa1.png

    2)位寻址区

    用户存储区位于片内数据存储器中的020H~02FH单元,共16个字节,共128位,每个字节单元的位都有一个单独的地址,分别为00H-07H,如020H.1表示020H单元的bit[1]位。020H~02FH单元可作为位寻址区。这个范围内的存储单元最大的用处就是能进行位操作,在C语言中,只能用位操作运算符(&、|、^、~、<>)来对字节数据进行位操作运算。如果用汇编指令就可以直接对此片存储单片进行位操作。

    如 SETB, 020H.1 就将020H的bit[1]置为了1.

    除了RAM此片能进行位寻址的用户存储区以外,还有一些特殊的功能寄存器( SFR )也能进行位寻址。

    (3)数据缓冲区

    51系列数据缓冲区地址为30H-7FH,共80字节。只能字节寻址,不能位寻址。由于工作寄存器和位寻址区,数据缓冲区是统一编址的,所以这三者都可以用作数据缓冲区。

    (4)堆,栈

    栈:由系统自动分配释放,存局部值。

    堆:一般由程序员分配和释放(在C中用malloc/free操作)。

    栈指针SP:8位寄存器,栈最大可达128单元,只可在片内RAM中进行栈操作。

    栈作用:用来保存地址、数据信息、具有先进后出特性,也是一种能存放二进制数据的空间。

    MC51栈采用满顶法向上生成的软件堆栈。

    软件栈:借助SP进行控制操作。

    栈向上生长:新压栈的数据成为栈顶。

    栈向下生长:新压入的数据远离栈顶。

    地址大小还得看存储方式。

    (5)专用寄存器区

    专用寄存器区,也称特殊功能寄存器区 SFR

    SPECIAL FUNCTIONREGISTER

    寻址地址离散地分布在80H~FFH,共128字节的空间.而实际有用的只有21个字节,即在这一空间里只有18个专用功能寄存器,其中有3个专用功能寄存器占用了两个字节.SFR主要用于片内硬件的管理,通常只能以字节为单位借助于MOV指令直接寻址,但也有一些专用功能寄存器可以位寻址。

    包含程序状态字PSW、数据指针寄存器DPTR、端口地址P0-P0、其它专用寄存器(累加器A、B)

    3.片外数据存储区

    片外RAM区:可寻空间为共64K 0000H~FFFFH,

    总是使用MOVX类指令寻址

    借助于工作寄存器R0或R1间接寻址时,可寻256字节

    从片外RAM区取数据: MOVX A,@Ri i=0-1

    向片外RAM区存数据: MOVX @Ri,A

    借助16位的数据指针DPTR间接寻址,可寻64K字节:

    从片外RAM区取数据: MOVX A,@DPTR

    向片外RAM区存数据: MOVX @DPTR,A

    区分是访问内部存储器还是外部存储器地址靠指令来区分。

    这里,片内的存储区即常念叨的“寄存器”,片外的ram存储区即指“系统内存”。

    喜欢本文的亲们,欢迎点赞哦

    技术源于积累,成功来自执着

    ——单片机精讲吴鉴鹰返回搜狐,查看更多

    责任编辑:

    展开全文
  • Code是代码占用的空间; RO-data是 Read Only 只读常量的大小,如const型; RW-data是(Read Write) 初始化了的可读写变量的大小; ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做...

    KEIL编译完成后,在Build Output窗口会出现一下信息:


    Code是代码占用的空间;

    RO-data是 Read Only 只读常量的大小,如const型;

    RW-data是(Read Write) 初始化了的可读写变量的大小;

    ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化;

    简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data

    程序运行的时候,芯片内部RAM使用的空间为:               RW Data + ZI Data

    我的代码中,Flash占用空间code =24586字节+RO-data=626字节,RAM占用空间为RW-data=220字节+ZI-data=8308字节


    下面介绍如何压缩RAM空间,主要是一些全局变量的定义,大家可以打开自己工程文件夹下面的OBJ文件夹,找到一个后缀为.MAP的文件,可以找到



    如图 可以看到不同变量占用RAM空间的大小及地址,可以根据这个删除不必要的变量或空间,可以节省RAM空间,选择小RAM的芯片,降低成本

    展开全文
  • 51单片机ram 数据存储区学习笔记

    千次阅读 2021-05-22 15:19:28
    如果所有的变量超过small模式下的128b大小,则必须对变量进行初始化,否则超过ram大小变量的值是不确定的,small模式下超过128b大小的变量也必须编译器中重新设定存储器的存储模式。keil中,可...

    1.ram keil c语言编程

    ram是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为small模式,如果总的变量大小未超过128b,则未初始化的变量的初值默认为0.如果所有的变量超过small模式下的128b大小,则必须对变量进行初始化,否则超过ram大小变量的值是不确定的,在small模式下超过128b大小的变量也必须在编译器中重新设定存储器的存储模式。

    在keil中,可选择small,compact,large三种方式存储数据变量:

    41e8c679ca062d3b76b3143bed606109.png

    在keil中可以用“targetoptions”来配置这一项:

    e5ce569e100d0b0ae082cd44f8d192d9.png

    图1 选择数据存储模式

    2.片内数据存储区

    (1) 工作寄存器区

    工作寄存器区位于片内数据存储器中的00h~1fh单元,共32字节( 如此说来每个单元是一个字节了 ),分成四组。每组8个字节,分别记为r0~r7.

    cc10d292c05f6503eb2c1523abd715d3.png

    程序默认在0区工作寄存器组存放中间运算数据。等待中断来时,中断数据工作寄存器组由0区切换到其它区域。

    选择四组工作寄存器区的哪一组作为r0~r7由位于psw寄存器的两位rs1,rs0来确定.

    rs1,rs0称为区开关或组开关,两位就可决定四种状态.

    a21daa47701ec0abe58cbc397deb1f25.png

    (2)位寻址区

    用户存储区位于片内数据存储器中的020h~02fh单元,共16个字节,共128位,每个字节单元的位都有一个单独的地址,分别为00h-07h,如020h.1表示020h单元的bit[1]位。020h~02fh单元可作为位寻址区。这个范围内的存储单元最大的用处就是能进行位操作,在c语言中,只能用位操作运算符(&、|、^、~、;)来对字节数据进行位操作运算。如果用汇编指令就可以直接对此片存储单片进行位操作。

    如 setb, 020h.1 就将020h的bit[1]置为了1.

    除了ram此片能进行位寻址的用户存储区以外,还有一些特殊的功能寄存器( sfr )也能进行位寻址。

    (3)数据缓冲区

    51系列数据缓冲区地址为30h-7fh,共80字节。只能字节寻址,不能位寻址。由于工作寄存器和位寻址区,数据缓冲区是统一编址的,所以这三者都可以用作数据缓冲区。

    (4)堆栈

    栈:由系统自动分配释放,存局部值。

    堆:一般由程序员分配和释放。

    堆栈指针sp:8位寄存器,堆栈最大可达128单元,只可在片内ram中进行堆栈操作。

    堆栈作用:用来保存地址、数据信息、具有先进后出特性,也是一种能存放二进制数据的空间。

    mc51堆栈采用满顶法向上生成的软件堆栈。

    软件堆栈:借助sp进行控制操作。

    堆栈向上生长:新压栈的数据成为堆栈顶。

    堆栈向下生长:新压入的数据远离堆栈顶。

    地址大小还得看存储方式。

    (5)专用寄存器区

    专用寄存器区,也称特殊功能寄存器区 sfr

    special functionregister

    寻址地址离散地分布在80h~ffh,共128字节的空间.而实际有用的只有21个字节,即在这一空间里只有18个专用功能寄存器,其中有3个专用功能寄存器占用了两个字节.sfr主要用于片内硬件的管理,通常只能以字节为单位借助于mov指令直接寻址,但也有一些专用功能寄存器可以位寻址。

    包含程序状态字psw、数据指针寄存器dptr、端口地址p0-p0、其它专用寄存器(累加器a、b)

    3.片外数据存储区

    片外ram区:可寻空间为共64k 0000h~ffffh,

    总是使用movx类指令寻址

    借助于工作寄存器r0或r1间接寻址时,可寻256字节

    从片外ram区取数据: movx a,@ri i=0-1

    向片外ram区存数据: movx @ri,a

    借助16位的数据指针dptr间接寻址,可寻64k字节:

    从片外ram区取数据: movx a,@dptr

    向片外ram区存数据: movx @dptr,a

    区分是访问内部存储器还是外部存储器地址靠指令来区分。

    展开全文
  • 本文主要讲直接映射对存储空间上的浪费,以及非直接RAM地址映射转换思路。
  • 计算机数据存储ROM与RAM

    千次阅读 2021-04-22 14:14:27
    RAM是随机存取存储器(random access memory),是计算机内部存储器中的一种,也是其中最重要的,计算机和手机中一般把其叫做(运行)内存,它的速度要比硬盘快得多,所以用运行程序在RAM中,而存放运行时不用的数据...
  • 文章目录1、随机访问存储器1) RAM分类2) 内存模块3) 读事务和写事务2、磁盘存储1) 逻辑磁盘块2) 访问磁盘3、固态硬盘1) 固态硬盘浅析2) 固态盘为什么快小知识参考 1、随机访问存储器 1) RAM分类 分为静态的(SRAM)...
  • 内存_RAM或ROM_和FLASH存储的真正区别总结
  • 静态ram和动态ram的区别是什么

    千次阅读 2020-12-22 06:58:32
    随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存...这种存储器断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储单元的工作原理...
  • STM32上跑UCOS_II和UCGUI时,要想让屏幕稳定不闪,显示效果多样化,而且分配给每个任务的堆栈空间足够,STM32内部的RAM肯定是不足的。最好的方法就是配置FSMC使内部RAM作为堆栈使用,而外部RAM作为变量存储和UCOS_...
  • 玩转STM32(13)存储空间的开始地址

    千次阅读 2019-06-20 17:08:57
    前面学习了怎么样选择不同的储存器来...我们知道32位的CPU有4G的地址空间,因此从一个地址里读取代码,就有很多的选择了。至于放在什么地址,一般是由CPU的生产厂家来决定的。这里可以查看到STM32F407的内部Fla...
  • ram和rom的区别

    千次阅读 2021-07-18 05:54:28
    不管你是买手机还是买电脑,都会听到两个比较关键的词,那就是ram和rom,...ram和rom的区别ram和rom都被人们叫做内存,所以很容易让人弄混淆,比如你买手机的时候,你会听到运行内存是6G,存储内存是128G,这里...
  • KEIL调试查看ROM或RAM中的信息

    千次阅读 2022-03-05 22:08:14
    点击Memory Windows按键右边黑三角选择Memory2,则右下角出现Memory2的标签页面,Address一栏输入D:20H,代表查看RAM中20H中的数值。 查看其它存储器命令: C: 0000 ; 查看 CODE 区 D: 0000
  •  code--程序存储区单片机存储器分ROM跟RAM之分,RAM存放中间结果,数据和经常变换的代码,ROM存放code。51单片机采用的是哈弗结构,即数据跟代码拥有单独的地址空间。存储器可以分为程序存储器(eerom,flash之类),...
  • C51数据类型和存储空间

    千次阅读 2021-05-20 12:47:32
    下面我给楼主讲解一下:51单片机之所以另类,是因为,他寻址内存的空间,不是靠总线,是用指令的方式。51单片机有以下几个内存模块组成:1】ROM或者Flash,叫程序存储区,你写的程序是存在这里面的,上电...
  • 除非程序和数据存储在RAM中,否则计算机无法使用它们。RAM是易失性内存;也就是说,如果关闭计算机,存储在RAM中的数据就会丢失。 硬盘是用于长期存储数据和程序的磁性介质.磁性介质是非易失性的;存储在磁盘上的...
  • (转载)CC2530存储空间——Code

    千次阅读 2018-03-22 10:55:36
    ,其代码存储空间如图 2-2 (来自 CC2530User‘s Guide )所示,但是 51 单片机只支持 64K 的访问空间。  于是 CC2530 便采用 Bank 映射的方式,地址空间 0x0000-0x7FFF ,作为 ROOT ,用于存放启动代码等,地址...
  • RAM和ROM的作用与区别详细说明

    千次阅读 2021-07-18 05:55:36
    随机存取记忆体(Random Access Memory,或称为RAM),是一种电脑中用来暂时保存数据的元件。它可以随时读写,而且速度很快,通常作为作业系统或其他正在运行中的程式之临时资料存储媒介。RAM记忆体可以进一步分为...
  • 单片机的存储空间

    千次阅读 2017-07-28 09:03:07
    单片机从硬件上来说,只有两种空间: ROM和RAM! 再说一遍,只有ROM和RAM! 再说一遍,只有ROM和RAM! 也就是说,你程序里的所有东西,不是放在RAM里,就是放在ROM里。 ROM的属性是read only(只读),只能用来...
  • 存储空间不足,无法完成此操作

    千次阅读 2018-12-17 14:27:40
    如果您向安装项目中添加了大型文件,则您尝试生成安装项目时将会显示以下错误:“存储空间不足,无法完成此操作”,即使本地磁盘上具有可用的磁盘空间也是如此。 生成过程期间,虚拟内存的使用量也可能会增加。 ...
  • 微型计算机的存储空间主要包括?

    千次阅读 2021-06-18 01:27:35
    接受内存存储器或主存储器,是计算机的主要组成部分,... 半导体存储器分为功能,包括随机存取存储器(Random Access Memory,RAM),也称为读写存储器;只读存储器(只读存储器,ROM). 内部存储器1.随机存取存储器(Ran...
  • CMD文件详解与DSP存储空间

    千次阅读 2018-08-09 13:55:59
    CMD文件详解与DSP存储空间 CMD的全称为链接命令配置文件。以ROM/FLASH和RAM两类存储器为对象,用户通过编写CMD文件,来管理和分配系统中的所有物理存储器和地址空间。DSP芯片的片内存储器,只要没有被出厂占用,...
  • 通过使用大容量同步动态 RAM(SDRAM)来扩展嵌入式DSP系统存储空间的方法,选用ISSI公司的IS42S16400高速SDRAM芯片,详细论述基于 TMS320C6201(简称C6201)的数字信号处理系统中此设计方法的具体实现。
  • 深入解析内存原理:RAM的基本原理

    千次阅读 2019-11-25 16:32:11
    RAM 主要的作用就是存储代码和数据供CPU 需要的时候调用。但是这些数据并不是像用袋子盛米那么简单,更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够需要的时候准确的调用出来,虽然都是书但是...
  • ROM还是RAM

    千次阅读 多人点赞 2019-01-31 15:12:09
    普通的嵌入式芯片分为处理器cortex-m4、闪存Flash、内存RAM。其中我们编译成机器码的bin文件是直接烧写进Flash,(后续想要做OTA空中升级的朋友们,只需要修改Flash里面的二进制文件就可以对之前的固件进行升级)。 ...
  • da14580内部存储空间分布

    千次阅读 2018-12-08 01:57:09
    da14580内部存储空间 da14580内部存储空间有: 84 kB ROM. 包含Boot ROM code BLE协议栈相关代码. 32 kB OTP. 芯片上电时Boot ROM内的代码会检查OTP内是否烧录有代码,如果有烧录则会将OTP的内容mirror到...
  • 1. 存储原理 磁存储:软盘、硬盘、光盘、CD、磁带:大部分为磁存储。 电存储:现代存储发展方向为flash存储,闪存技术是利用电学原理来存储1和0。 2. 外存 2.1、常用外存: 2.1.1、纯粹的Flash(一级):对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,443
精华内容 36,177
关键字:

ram存储空间在哪

友情链接: chatRoom.rar