小白的CTF学习之路4——内存
Posted xiaoshenlong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白的CTF学习之路4——内存相关的知识,希望对你有一定的参考价值。
明天要进行二模考试了,沉住气,加油,能过
内存是学C路上必不可少的一环,一定要非常认真的去学
内存的物理结构:
- ROM:只读内存——早期的手机
- RAM:读写(数据断点既消)
- DRAM:经常更新
- SRAM:不常更新
以上内容了解便可
顾名思义,内存就是我们电脑存放数据的地方,那么他是怎么实现能够存放数据的呢?下面我们来一探究竟
内存同样是有许多集成电路(IC)组成的IC具体是怎么运作的呢?可以看下我下面放出的图片
emmmm,这是我画的一张非常简易的集成电路,大致就是我们电脑内存条的这个部分
看不出来?没关系,我们放大看
网图,大致就长这个鸟样,我们日后的C语言之路大部分都伴随着这么个东西,当然真正的内存条IC肯定是比这个的银角多出好几倍,那么现在我们就来解释一下我写的那些文字都是些什么意思吧
银角:就是IC中电流经过的部分,也是我们二进制值存储的部分
5V和0V分别代表1和0,有不了解的去看我前面有关二进制的博客
我们的内存IC上半部分银角一般由地址信号组成,地址信号是用来作为CPU寻址用的,比如你想把数据存储到10110内,那就从左到右依次把带1的过上电,这样就完成了我们的寻址操作
内存IC的下半部分一般是由控制,数据信号组成的,控制信号和数据信号用来作为数据读写而存在的
剩下的电源银角控制着内存IC的开关
好了,这是我们简单理解,接下来我画一个更复杂点的图
不要被我魔性的画风所迷惑,实际上依旧是非常简单的一个物理结构
首先我们来看A0~A9,前面我们说了,这一部分为地址信号,用来CPU做寻址用,我们这里简单画了10个银角,每个银角代表能储存一块空间,也就是说,我们这十个银角可以存储0000000000~1111111111=1024个地址,牛逼吧
D0~D7代表数据银角,8个数据银角代表一次可以输出8bit=1byte的数据
也就是说我们的这个芯片的容量=1024x1byte=1kb
才1kb,现在的内存条动辄1个G,所以说,地址银角代表着内存条的存储能力,地址银角越多,存储的数据就会越多,这些我在逻辑结构会讲到
了解了内存IC各部分之后,我们来还原一下内存IC的一次写入工作:
- 两边接入电压
- 通过CPU进行交互
- 列:00111000
- 在A0~A9寻找对应位置(从左至右)
- 再接入DATA信号
- 之后再WR处通电
- 下面写完数据存到上面对应位置
这就是内存IC的一次写入操作的基本流程
内存大小计算=寻址X1次写入的大小=总容量
未完待续....
以上是关于小白的CTF学习之路4——内存的主要内容,如果未能解决你的问题,请参考以下文章
CTF 小白教程《从0到1:CTFer成长之路》SQL - 2 解题过程