一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡單利用鎖存器做一個寄存器和內(nèi)存(上)

jf_78858299 ? 來源:北洋洋洋 ? 作者:北洋 ? 2023-02-02 13:47 ? 次閱讀

計算機需要 「”內(nèi)存“來記錄這些計算后的結(jié)果」 ,如果只是計算后就扔掉沒有多大意義,我們需要將結(jié)果存儲起來以便后面使用

RAM

當(dāng)我們打游戲的時候如果停電或者電源不小心被拔掉,那么之前做的一切工作將丟失。損失數(shù)據(jù)的原因是因為電腦是用的:「”隨機存取存儲器“,簡稱“ROM”。他只能在有電的時候存儲東西;另一種存儲叫做持久存儲,電源關(guān)閉時數(shù)據(jù)也不會丟失?!?/strong>

存儲一位的電路

之前說過的電路他們電流的流動方向總是向前流動,比如之前的八位加法器。但是也可以做**「回向電路,把輸出連回輸入」**

記錄“1”

也即記錄“true“,回想一下什么時候輸出為true比較容易。答案是OR門,「只要有一個輸入為true輸出將永遠為true。只要有一個1,輸出將永遠為1」

因此**「將輸出的線路接回到兩個輸入線路中的其中一個即(輸出=A/B)」** 。只要 「A/B其中一個輸入1」 ,那么輸出就是1,由于輸出會鏈接到另一個輸入, 「因此B/A也會為1」 。之后不管如何變化A/B,B/A始終都為1,因此這個電路就是存儲1的電路。

圖示:只要當(dāng)A輸入為1的時候,這個電路的輸出將會一直是1(輸出會鏈接到B因此B為1),不管A如何變化。

也即存儲”1“

「存儲之后將永遠無法改變輸出是1這個結(jié)果?!?/strong>

圖片

記錄“0”

同樣,用什么來存儲false比較簡單呢?答案是通過AND門,「因為」 「只要有一個為false輸出就一直為false?!?/strong>

「即只要有一個0,那么輸出就會一直是0.」

和上面一樣,替換1為0即可:

「將輸出的線路接回到兩個輸入線路中的其中一個即(輸出=A/B)」 。只要 「A/B其中一個輸入0」 ,那么輸出就是0,由于輸出會鏈接到另一個輸入, 「因此B/A也會為0」 。之后不管如何變化A/B,B/A始終都為0,因此這個電路就是永久存儲0的電路。

圖示:當(dāng)A輸入0時,AND的結(jié)果為0,B也為0.之后不管A如何變化,輸出將永遠為0

同樣也是持久化的存儲了之后就不會改變

圖片

AND-OR鎖存器

現(xiàn)在我們把上面的兩個存儲電路結(jié)合起來做成一個有用的存儲:

圖片圖片

組合到一起之后:

變化:存儲1的B線輸入接至整體的最后輸出,存儲0的B線輸入為存儲1的輸出

首先來看兩個輸入:設(shè)置和復(fù)位。先不糾結(jié)他們的作用,把他們看成普通的輸入即可

SET,RESET都為1:最后輸出為0

SET=0,RESET=1:最后輸出為0

RESET,SET都為0:輸出為0

重點來了:

**「SET=1RESET=0:輸出為1,不管之后SET如何變化(設(shè)置為0也好1也好)最后的輸出都為TRUE(他鎖住了1位的信息),除非RESET設(shè)置為1輸出才會重置為0因此這也是RESET的含義」**

觀察規(guī)律可得出:復(fù)位為1不管輸入是0還是1最終輸出都是0;復(fù)位為0輸出的值=SET的值。「當(dāng)SET為1時他鎖住了這個1」

鎖存介紹

重點:「當(dāng)SET為1RESET=0時他鎖住了這個1(即SET不管如何變化最后的結(jié)果永遠都是1)?!?/strong>

「這叫“鎖存”,因為他“鎖定”了一個值,放入數(shù)據(jù)的動作叫做“寫入”,拿出數(shù)據(jù)的動作叫做”讀取“」

鎖存器優(yōu)化——門鎖

兩條線設(shè)置和復(fù)位太麻煩,為了更容易使用。通過**「一條輸入線設(shè)置為0或1來存儲值,還需要另外一根線去啟用內(nèi)存,讓他存儲。啟用時允許寫入,沒有啟動時就”鎖定“這條線叫”允許寫入線“」**

正如圖中所說的,這叫”門鎖“,因為門可以打開和關(guān)上。

接下來讀者自己去做下面的規(guī)則運算吧,最終會發(fā)現(xiàn)只有當(dāng)允許寫入線打開數(shù)據(jù)輸入才會進行存儲(OUT才會改變),允許寫入線關(guān)閉,不管數(shù)據(jù)輸入如何變化最后的結(jié)果都不會變(OUT不會改變)

圖片

抽象-門鎖

將這個門鎖放到一個盒子里面,「這個盒子可以存儲一個Bit的信息。」

允許寫入線關(guān)閉,數(shù)據(jù)輸入線不管是0還是1輸出都不會有變化。

允許寫入線開啟,輸出隨著數(shù)據(jù)輸入的值進行改變。

圖片

寄存器-存儲一系列鎖存器

經(jīng)過上面介紹我們現(xiàn)在可以存儲一個一位的數(shù)字了,不過存儲一位的數(shù)字并不能做什么。

定義

如果我們可以 「并排放八個鎖存器,就可以存八位的信」 息,比如一個8Bit的數(shù)字。

「一組這樣的鎖存器叫做寄存器,寄存器能存一個數(shù)字,這個數(shù)字有多少位,叫做位寬?!?/strong>

早期的電腦是用的八位寄存器,然后發(fā)展16位,32位,現(xiàn)在許多計算機都有64位寬的寄存器

8位寄存器需要多少線?

數(shù)據(jù)輸入需要有八根線,對應(yīng)的八個鎖存器對應(yīng)存儲的數(shù)字

數(shù)據(jù)輸出線也是需要八根線,每個鎖存器輸出各自存儲的位

最后只需要 「用一條啟用寫入線連接所有的允許輸入線即可」 .當(dāng)設(shè)置為1時,這個八位的寄存器才會進行存儲之后輸出的時候會發(fā)生變化;當(dāng)設(shè)置為0時,不會影響數(shù)據(jù)的輸出。

可見八位的寄存器所需的線的數(shù)量時17根(8+8+1)

由此可推斷出我們**「現(xiàn)如今使用的64位寄存器所需要多少線:(64+64+1)=129根線」**


「寄存器是一塊比較小的內(nèi)存用于存儲一個值,而RAM是一大塊內(nèi)存能在不同地址(矩陣中的行列。地址多少取決于矩陣中行列數(shù)量)存大量數(shù)字」

「那么我們?nèi)绻面i存器存256位就需要129X4=513條線!??!因此后面換了一種組合方式存儲RAM」

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電源
    +關(guān)注

    關(guān)注

    185

    文章

    18181

    瀏覽量

    254438
  • 存儲器
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    577

    瀏覽量

    86860
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    FPGA的設(shè)計中為什么避免使用

    文章都對誤解,我們后面會詳細說明。 這篇文章,我們包含如下內(nèi)容: ①
    的頭像 發(fā)表于 11-16 11:42 ?8773次閱讀
    FPGA的設(shè)計中為什么避免使用<b class='flag-5'>鎖</b><b class='flag-5'>存</b><b class='flag-5'>器</b>

    、觸發(fā)、寄存器和緩沖的區(qū)別

    的數(shù)據(jù)和運算結(jié)果,它被廣泛的用于各類數(shù)字系統(tǒng)和計算機中。其實寄存器就是種常用的時序邏輯電路,但這種時序邏輯電路只包含存儲電路。寄存器的存儲電路是由
    發(fā)表于 10-09 16:19

    寄存器、和觸發(fā)的區(qū)別

    ,但這種時序邏輯電路只包含存儲電路。寄存器的存儲電路是由或觸發(fā)構(gòu)成的,因為
    發(fā)表于 07-03 11:50

    觸發(fā)、寄存器三者的區(qū)別

    公共的控制信號來控制,而各個數(shù)據(jù)端口仍然是各處獨立地接收數(shù)據(jù)。這樣所構(gòu)成的能次傳送或存儲多位數(shù)據(jù)的電路就稱為“”。寄存器:在實際的數(shù)
    發(fā)表于 09-11 08:14

    【轉(zhuǎn)】數(shù)字電路三劍客:、觸發(fā)寄存器

    的時鐘端口連接起來就能構(gòu)成存儲n位二進制碼的寄存器。是電平觸發(fā)的存儲單元,數(shù)據(jù)存儲的動
    發(fā)表于 10-27 22:38

    如何在項目中使用移位寄存器

     第一個時鐘周期將其加載到A.然后,的輸
    發(fā)表于 07-15 10:02 ?1734次閱讀
    如何在項目中使用移位<b class='flag-5'>寄存器</b>

    如何使用的Time Borrowing技術(shù)來替代關(guān)鍵路徑中的寄存器

    在ASIC中用到的地方很多,Time Borrowing是使用的典型應(yīng)用之
    的頭像 發(fā)表于 06-14 16:56 ?2073次閱讀

    如何在VHDL中實現(xiàn)簡單寄存器

    存儲的位數(shù)上有所不同,具體取決于系統(tǒng)的配置。在本教程中,我們將學(xué)習(xí)如何在 VHDL 中實現(xiàn)簡單寄存器。
    發(fā)表于 07-29 16:48 ?4943次閱讀
    如何在VHDL中實現(xiàn)<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的<b class='flag-5'>寄存器</b>

    、觸發(fā)、寄存器的關(guān)聯(lián)與區(qū)別及其相應(yīng)的verilog描述

    (latch) 電平觸發(fā)的存儲單元,數(shù)據(jù)存儲的動作取決于輸入時鐘(或者使能)信號的電平值,當(dāng)處于使能狀態(tài)時,輸出 才會隨著數(shù)據(jù)輸入發(fā)生變化。(
    的頭像 發(fā)表于 12-19 12:25 ?1.3w次閱讀

    文詳細區(qū)分寄存器、和觸發(fā)

    你有沒有遇到過這樣奇怪的事:你直以為自己知道某件事,但當(dāng)你試著向別人解釋它時,你才發(fā)現(xiàn)自己的論述中存在漏洞和邏輯的差異?這就是我最近所遇到的情況,當(dāng)時有人問我
    的頭像 發(fā)表于 01-30 15:21 ?3342次閱讀

    簡單利用做一個寄存器內(nèi)存(下)

    當(dāng)我們打游戲的時候如果停電或者電源不小心被拔掉,那么之前做的切工作將丟失。損失數(shù)據(jù)的原因是因為電腦是用的:**「”隨機存取存儲“,簡稱“ROM”。他只能在有電的時候存儲東西;另種存儲叫做持久存儲,電源關(guān)閉時數(shù)據(jù)也不會丟失。
    的頭像 發(fā)表于 02-02 13:47 ?1409次閱讀
    <b class='flag-5'>簡單利用</b><b class='flag-5'>鎖</b><b class='flag-5'>存</b><b class='flag-5'>器</b><b class='flag-5'>做一個</b><b class='flag-5'>寄存器</b>和<b class='flag-5'>內(nèi)存</b>(下)

    寄存器的工作原理

    或觸發(fā)構(gòu)成的,因為
    發(fā)表于 02-20 14:02 ?9031次閱讀

    什么是寄存器有何區(qū)別

    (Latch)是種基本的數(shù)字電路元件,用于存儲二進制數(shù)字的狀態(tài)信息,并能夠在需要時通過加電或控制信號的作用保持狀態(tài)。它通常由幾個邏輯門組成,可以實現(xiàn)
    的頭像 發(fā)表于 04-09 18:45 ?1.1w次閱讀

    帶輸入的8位移位寄存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《帶輸入的8位移位寄存器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-13 11:15 ?0次下載
    帶輸入<b class='flag-5'>鎖</b><b class='flag-5'>存</b><b class='flag-5'>器</b>的8位移位<b class='flag-5'>寄存器</b>數(shù)據(jù)表

    、觸發(fā)寄存器的區(qū)別

    在數(shù)字電路和計算機系統(tǒng)中,、觸發(fā)寄存器都是關(guān)鍵的存儲元件,它們在功能、結(jié)構(gòu)和使用場景
    的頭像 發(fā)表于 05-23 15:28 ?3069次閱讀