找回密码
 注册
8月份电巢直播计划
查看: 103|回复: 2

数据是如何存入计算机的?

[复制链接]
  • TA的每日心情
    开心
    2020-8-5 15:33
  • 签到天数: 105 天

    [LV.6]常住居民II

    发表于 2020-7-8 13:32 | 显示全部楼层 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 alexwang 于 2020-7-8 13:35 编辑
    : P1 h% r2 i- w: A! a/ F; ~9 c( R) a, z! \# R. \

    数据是如何存入计算机的?

    EDA365原创   作者: 巢影字幕组


    - k0 h, }$ A  q0 H( P

    ; I( P  _3 ]$ t

    对于计算机我们肯定都很熟悉,它的内部有ALU进行算术和逻辑运算,可是他们运算得出的结果怎么办?扔掉吗?那这个计算就没有任何意义了。

    - W' }% X5 ]; s) K% y

    因此,那些计算出来的结果就需要存起来,于是就有了计算机内存。

    % A& `3 H& u5 Y) J, g/ N) r

    当打游戏或者编辑某个文档且进入尾声的时候,电源被切断的惨痛经历大家应该都经历过,再次打开电脑的时候,上次的数据都没了,这就是随机存取存储器,简称RAM,还有一种就是电源关闭了数据还在,这就是持久存储。


    $ l. p, `5 D2 V8 Z2 w( M+ ~7 Z6 b

    上面的有没有理解不重要,现在我们从简单的只能存1个bit电路开始,来了解一下内存的工作原理吧!

    & {* a' U( c$ p1 }4 I

    先看OR门,将输出传回输入,看看发生了什么?

    ( M& h8 g9 @* n* R" }) L
    131247e4800a451db3ce3b29cdc7b7b7.jpg

    ) H  \! N% y/ k2 [5 _2 P7 z% R" C! J2 G9 t* ?

    8 {& Z/ `. B4 @) ^. Z6 [1 r1 e4 l* |

    首先,将两个输入A、B均设为0,“0 OR 0”是0,输出0;如果将A变成1“1 OR 0”为1,输出1,输出回到B,B变为1,后面再怎么改变A的值,输出仍然为1,这个电路可以用来记录1。

    $ f/ J7 }1 ?( e# d. g4 u! }' ?3 M

    再来看看AND门

    7 c: l7 R3 e2 T+ `" D9 T2 u. N0 e' K
    4 f- e/ B! X' {( E1 R- ]" x& j
    $ f4 o# ?! _. W$ |0 u! B" m/ r

    ! z1 z: i( q. E

    将A和B都设为1,“1 AND 1”的输出是1;如果将A变为0,输出0,输出回到B,B变为0,后面再怎么改变A的值,输出仍然为0,这个电路记录0。

    4 r# G3 I( h) V' |3 O" G4 O1 o

    现在有了记录1和0的电路,为了做出有用的存储(memory),我们将两个电路合起来,变成了“AND-OR锁存器”


    / f$ [& K$ y6 }1 o1 T! W& J* l$ i
    4608410732ad4f2685eb6f5b35aeca7e.jpg

    7 u' ]9 N: N# @
    5 N0 y* D, h0 q7 h& R
    / l" e+ G* [5 [

    它有两个输入,"设置"( SET )和"复位" ( RESET ),如果“设置”和“复位”都是0,电路的输出就是最后放入的内容,它存住了1 bit的信息,这就是存储!


    7 b  s& [, v4 D

    注:之所以叫“锁存”,是因为它“锁定”一个特定值并保持状态不变。数据放入叫“写入” ,数据输出叫“读取”。


    " v( U8 `- W/ Y( F' Z

    . d2 q: |) `. F) ~" ?  h! p) Z. Q( n' M) {

    , g. }5 v& ~5 _' d; b

    用两个输入SET和RESET有点麻烦,为了更方便,我们只用一个输入线,将它设为0或1来存储值,再加一根“允许输入线”来“启用”(enable)内存,启用时允许写入,未启用时“锁定”,再与一些额外逻辑门就可以组成一个叫"门锁"(Gated Latch)的电路。

    / \9 ]- F# l. z, A

    刚刚我们只存了1bit,没什么大用,但如果我们并排放8个锁存器,就可以存8位信息,这个8bit数字组的锁存器叫“寄存器”,寄存器能存多少个Bit叫“位宽”。

    * l( |& _) `6 }8 D! ^1 ]. v

    早期电脑用8位寄存器,然后是16位,32位,如今大多计算机都是64位宽的寄存器。


      R' {) s6 n- H$ h- j. j

    ! |/ q5 P6 b3 X1 `/ J# ~7 i( M
    + {) j0 P" G5 A! m
    : x; G7 h/ z) A' v

    在写入寄存器之前,要启用里面所有锁存器,我们可以用一根线连接所有“允许输入线”,并设为1,然后用8条数据线发数据,最后将“允许写入线”设回0,8bit的值就存好了。


    , Q, D1 L/ c2 O( g+ F

    对于bit少的,这样并排摆放锁存器可以,可是对于64位寄存器要64根数据线,64根连到输出端,这怎么办?


    2 ^8 |' d, }! D+ i6 o

    幸运的是,只要1根线启用所有锁存器,这样加起来也要129根线;那存256个bit,要513根线,存放的数据越多,需要的线就越多,那有什么好的解决方法吗?


    6 ~9 Y& j7 r6 D& q
    * _3 A9 z) W+ H9 s% c; N: G: I
    8 H* J- w" s( d+ K

    ' a% I& E1 p& {6 S+ j

    解决方法就是用矩阵!

    ) R/ V$ O: D- S) Z5 `# Y3 H

    在矩阵中,我们将锁存器做成网格,那么存256位只需要16x16的锁存器。

    7 B) e; p5 w; q  w: R  o

    让我们看看矩阵锁存器是如何工作的吧?

    1 M/ `  A" y# C, C4 d
    0 O: @; w1 k% M
    3 y8 \; o2 z( a0 u

    ! t' w* T: B& O1 [9 ~: Q" v; K; D

    如果想打开某个锁存器,就打开这个锁存器交叉处的“允许写入线”,这种行/列配置方法,需要一根共享的“允许写入线”连接所有锁存器,为了使锁存器变为“允许写入”状态,行线、列线和“允许写入线”都必须为1,而且每次只能有1个锁存器启用并锁存数据,这样就可以用一根“数据线”连接所有锁存器来传数据。


    $ f+ C( R- N7 q) s# o" r% Y0 ?

    这样256位的存储,只需要35根线——1根“数据线”,1根“允许写入线”,1根“允许读取线”和16行16列的用于选择锁存器的线。


    6 s  ~7 a1 G8 `, U3 V* X

    为了将地址转成行和列,我们需要一个叫“多路复用器”的部件,它的工作方式是:当输入一个4 bit数字时,它会把那根线连到相应的输出线,如果输入0000,它会选择第一列;如果输入0001,则选择下一列,依此类推。

    2 a) x7 N6 b* v
    . U$ y# u7 e4 g, h) h/ Y9 h
    7 F+ z) q( g9 e+ `6 q( H

    8 [6 e. L! _2 X$ h4 E) ~' g

    一个多路复用器处理行(row),另一个多路复用器处理列(column),那么把256位内存当成一个组件来看,它需要一个8bit地址:4bit代表哪一列,4 bit 代表哪一行,还需要“允许写入线”和“允许读取线”,最后,还需要一条数据线,用于读/写数据。

    0 a+ A0 s% A7 m1 k: V

    今天,我们用锁存器做了一块SRAM(静态随机存取存储器),还有其他类型的RAM,如DRAM,闪存和NVRAM,它们在功能上与SRAM相似,比如用不同的逻辑门,电容器,电荷陷阱或忆阻器等,但从根本上说,所有这些技术都是用矩阵层层嵌套存储大量信息的,有没有觉得很不可思议呢?

    8 s$ v, N( R) e5 I7 E

      S! g! X% X+ ?$ _( {

    出品丨EDA365
    作者丨巢影字幕组
    排版编辑 | momo
    9 w- D" A  E$ T: |/ e; T& _3 E9 `8 j7 B' y2 C" j; S" g* ]  Y7 ~/ V  t% C' v  c7 x6 N0 f8 ^* {: K# N: n! w' e0 l* V0 m6 ~- T* t
    注:本文为EDA365电子论坛原创文章,未经允许,不得转载

    该用户从未签到

    发表于 2020-8-4 10:01 | 显示全部楼层
    生动形象的教学,清晰明了的阐述,帮!
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号 )

    GMT+8, 2020-8-9 19:06 , Processed in 0.062500 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19925233282

    快速回复 返回顶部 返回列表