《程序是怎么跑起来的》读书笔记(4) -- 有棱有角:关于内存的物理认识和逻辑认识

内存是一种包含内存IC的电子元件
内存ic包括DRAM、SRAM、ROM等多种形式,

一个内存IC的物理实体:

vcc和gnd代表电源,连接电源后,可以给其他引脚传递比如0或1这样的信号
A0-A9代表地址信号,一共10位,表示可以指定0000000000~1111111111 共1024个地址,因此我们可以得到这个内存ic中可以存取1024个1字节的数据,即1KB
(大写字母K一般表示2*10,而小写字母k一般是1000)
D0-D7代表数据信号,表示一次可以输入输出8位的数据(一个字节)

一般实验室的电脑为16G的内存,那就应该是16M个1KB的内存IC,一般的地址信号唯有更多引脚

RD读出,WR写入

读写数据的过程:vcc和gnd接好电源后,a0-a9指定地址,d0-d7得到数据,rd或者wr信号变成1进行读写

一个内存IC的逻辑模型:

内存的逻辑模型是楼房
内存为1KB,表示1024层的楼房,每层放着一个字节的数据

物理内存中还包含着物理内存中不存在的概念,数据类型,比如char=123,short=123,long=123,分别占用了1个字节、2个和4个
英特尔处理器一般使用低字节序方式

c语言的指针需要先理解上面的概念

数组是指多个同样数据类型的数据在内存中连续排列的形式,数组的编号就是他的索引。指定索引,可以进行读写操作,而索引和内存地址的变换是由编译器自动实现。
数组是使用内存的基本。

栈和队列:可以不通过指定地址和索引对数组的元素进行读写
栈LIFO 队列FIFO
还有链表和二叉树,这些书上讲的基本都是数据结构里面的东西,具体没什么可说的。

发表评论

电子邮件地址不会被公开。