0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

寄存器的工作原理:RS鎖存器、D觸發(fā)器及邊沿觸發(fā)器

冬至配餃子 ? 來(lái)源:我的一九九三 ? 作者:wezhon ? 2023-09-20 14:29 ? 次閱讀

計(jì)算機(jī)對(duì)我來(lái)說(shuō)無(wú)非是一個(gè)類似于電視機(jī)的東西,厚重的顯示器顯示出字符圖畫(huà),對(duì)于我來(lái)說(shuō)和課外書(shū)上的故事和圖畫(huà)相差無(wú)幾。雖然有吸引力,但也僅僅是有些好奇罷了。

直到07年的時(shí)候,液晶顯示器開(kāi)始普及。一臺(tái)連接了互聯(lián)網(wǎng)的計(jì)算機(jī)出現(xiàn)在我面前,對(duì)我的吸引是致命的。從那時(shí)候起,建筑設(shè)計(jì)師的夢(mèng)想離我遠(yuǎn)去,計(jì)算機(jī)隨之替代。

也是從這時(shí)候起,我開(kāi)始使用計(jì)算機(jī)在互聯(lián)網(wǎng)中傲游。從最開(kāi)始的Flash小游戲中熟悉鍵盤(pán)鼠標(biāo)的基本操作;到在網(wǎng)絡(luò)游戲中尋找外掛時(shí)迷上黑客技術(shù)文化;最后在各種論壇社區(qū)中找尋學(xué)習(xí)計(jì)算機(jī)各種技術(shù)技巧。

差不多有十三四年的時(shí)間是在學(xué)習(xí)如何使用計(jì)算機(jī)。直到讀了《編碼》這本書(shū),為了更深入的理解計(jì)算機(jī),就想弄懂計(jì)算機(jī)的工作原理。有機(jī)會(huì)的話,嘗試制作一臺(tái)計(jì)算機(jī)。

至此使用計(jì)算機(jī)變成了制作計(jì)算機(jī)。

圖片

非科班出身的我自然有很大的知識(shí)漏洞缺陷。在第一次讀這本書(shū)時(shí),讀到了加法器就再也讀不下去了。關(guān)上書(shū)打基礎(chǔ),在學(xué)習(xí)了數(shù)字電路模擬電路的一些基礎(chǔ)知識(shí)后,繼續(xù)嘗試接著讀,發(fā)現(xiàn)之前困擾問(wèn)題似乎也不在困難,二進(jìn)制和十六進(jìn)制開(kāi)起來(lái)也自然多了。

在我之前的一篇筆記《如何實(shí)現(xiàn)加法器》中,對(duì)于ALU的工作原理做了簡(jiǎn)單的了解。

數(shù)據(jù)雖然是保存硬盤(pán)中的,如果CPU每次運(yùn)算都要從硬盤(pán)中取數(shù)據(jù)的話就太慢了。CPU的運(yùn)算速度和IO的速度差異實(shí)在是太大了,所以需要把硬盤(pán)中的數(shù)據(jù)拷貝到內(nèi)存中,這樣CPU在需要數(shù)據(jù)的時(shí)候直接向內(nèi)存要。

1.jpg

所以寄存器的作用就是用來(lái)保存數(shù)據(jù),那么如何用電、邏輯門(mén)來(lái)保存數(shù)據(jù)呢?

異或門(mén)

回憶一下或非門(mén),其真值表如下:

圖片

1.jpg

RS鎖存器

現(xiàn)在把兩個(gè)或非門(mén)結(jié)合起來(lái),第一個(gè)門(mén)電路的輸出是第二個(gè)門(mén)電路的輸入,第二個(gè)門(mén)電路的輸出是第一個(gè)門(mén)電路的輸入。

圖片

可以看到這兩個(gè)門(mén)電路纏繞在一起,輸入既決定輸出,輸出也決定輸入。

真值表如下:

1.jpg

從或非門(mén)的真值表可知,只要其中有一個(gè)輸入為1,不管另一個(gè)是0還是1,輸出都是0。需要注意的是,當(dāng)兩個(gè)輸入都為0時(shí),兩個(gè)門(mén)電路都無(wú)法確定輸出,而兩個(gè)門(mén)電路都需要另一個(gè)的輸出當(dāng)作輸入,所以此時(shí)電路系統(tǒng)處于不確定的狀態(tài)。

圖片

只要其中一個(gè)輸入為1,那么該門(mén)電路的輸出就確定為0了(異或門(mén)決定),另一個(gè)的門(mén)電路的輸入也就確定為0,此時(shí)該電路系統(tǒng)就不會(huì)出現(xiàn)錯(cuò)誤。

神奇的地方來(lái)了,如下圖:

圖片

當(dāng)輸入2為1時(shí),改變上面的輸入時(shí),輸出隨之改變。(先暫時(shí)不考慮輸出2)

但是當(dāng)輸入2為0時(shí),改變上面的輸入時(shí),會(huì)發(fā)現(xiàn)輸出不變了。如下圖:

圖片

輸出1被輸入2鎖住了,因此這種電路叫做鎖存器。(當(dāng)然,反過(guò)來(lái)也是一樣的)

從上圖還可以得知,但輸入2為0時(shí),輸入1也是可以為0的,此時(shí)為什么不是Error呢?

因?yàn)橹爱?dāng)兩個(gè)都為0時(shí),他們的輸出是不確定的所以為Error,但是當(dāng)輸入1為1,輸入2為0時(shí),此時(shí)電路系統(tǒng)是確定的,改變輸入1,輸入2的輸出并沒(méi)有改變,依然確定輸出為1,那么輸入1的輸出也就是確定的了。因此不會(huì)發(fā)生錯(cuò)誤。

為了方便,把該電路的輸入輸出取一個(gè)名字,如下:

圖片

修改后的真值表如下:(注意輸入2和輸入1交換了位置。)

1.jpg

當(dāng)S和R都為0時(shí),現(xiàn)在的輸出就不是無(wú)法確定了。而是保持上一次的輸出,這很重要。正是因?yàn)橛辛嗽撎攸c(diǎn)。電路有了記憶功能,也就是說(shuō)電路可以保存數(shù)據(jù)了。

而當(dāng)S和R都為1時(shí),在這個(gè)系統(tǒng)中不需要用到,因此它被禁止了。因?yàn)楫?dāng)S和R都為1時(shí),那么輸出都為0,這和電路設(shè)計(jì)中Q和互反矛盾,所以要避免。

這里兩個(gè)輸出是相反的,真正需要的只要1個(gè)即可。

因?yàn)榭砂演敵鲦i起來(lái),兩個(gè)輸入端分別為Reset和Set,所以這個(gè)電路的名字叫做RS鎖存器。

D觸發(fā)器

繼續(xù)構(gòu)造電路,在原來(lái)的基礎(chǔ)上添加兩個(gè)或非門(mén)。

圖片

用一個(gè)把兩個(gè)輸入端用一個(gè)SCK鎖住。當(dāng)SCK為1時(shí),兩個(gè)輸入端都被鎖住,當(dāng)SCK為0時(shí),輸入端被激活。如下圖:

[gif error]這個(gè)電路和之前的電路并沒(méi)有什么區(qū)別,同理兩個(gè)輸入端不能同時(shí)為0(這里因?yàn)楫惢蜷T(mén)取反,所以不是同時(shí)為1,原理相同)。

數(shù)據(jù)端也只需要一個(gè)輸入就可以了,并且不能同時(shí)輸入0,繼續(xù)構(gòu)造電路。

圖片

把兩個(gè)輸入接在一起,并且其中一個(gè)取反?,F(xiàn)在就只有一個(gè)輸入端和一個(gè)保持端了。

當(dāng)CLK為1時(shí),數(shù)據(jù)輸出保持不變。當(dāng)CLK為0時(shí),輸出端取決于數(shù)據(jù)輸入端。

[gif error]并且還不用擔(dān)心兩個(gè)輸入端同時(shí)為0。真值表如下:

1.jpg

輸入端為Data端,這個(gè)電路的名字叫做 D觸發(fā)器

可以看到這個(gè)電路就可以保存1Bit的數(shù)據(jù)了。

把好多個(gè)串起來(lái),就可以保存多個(gè)Bit了。一般情況下,8Bit等于1Byte,寫(xiě)數(shù)據(jù)也是一個(gè)字節(jié)一個(gè)字節(jié)的寫(xiě),所以一把把8個(gè)觸發(fā)器連起來(lái),共用一根SLK線。所以也叫八位鎖存器。

圖片

這種觸發(fā)器的觸發(fā)方式為CLK為0時(shí),數(shù)據(jù)就可以輸入,當(dāng)CLK為1時(shí),數(shù)據(jù)就被鎖住不能修改了。

當(dāng)CLK為0時(shí)數(shù)據(jù)是可以修改的,如果在CLK為0期間,Data輸入數(shù)據(jù)完畢后,CLK還沒(méi)有鎖住時(shí),發(fā)送電磁干擾改變了Data的輸入,那么保存的數(shù)據(jù)也就保存錯(cuò)了。

邊沿觸發(fā)器

既然電平觸發(fā)可能由于時(shí)間太長(zhǎng)導(dǎo)致數(shù)據(jù)可能因干擾而改變,那么就減少觸發(fā)的時(shí)間,高低電平改變的瞬間時(shí)間很短,因此可以利用高低電平變化的瞬間來(lái)觸發(fā),把兩個(gè)D觸發(fā)器串在一起。為了進(jìn)行區(qū)分,兩個(gè)D觸發(fā)器分別取一個(gè)名字。

主觸發(fā)器從Data得到輸入,從觸發(fā)器的輸入來(lái)自主觸發(fā)器。主觸發(fā)器不會(huì)改變得到的輸入。如下圖:

[gif error]目前來(lái)說(shuō)這個(gè)觸發(fā)器和D觸發(fā)器完全關(guān)鍵來(lái)了,對(duì)兩個(gè)觸發(fā)器的CLK其中一個(gè)取反,如下圖:

圖片

這樣的話,CLK只有一個(gè)輸入,在同一時(shí)間,主觸發(fā)器和從觸發(fā)器只能有一個(gè)起作用。

[gif error]基本原理如下:

  1. 先把CLK置為0,此時(shí)主觸發(fā)器的CLK經(jīng)過(guò)取反現(xiàn)在為1,此時(shí)主觸發(fā)器就鎖住了。雖然從觸發(fā)器的CLK為0沒(méi)有被鎖住,但是從觸發(fā)器的輸入需要從主觸發(fā)器的輸出得到,主觸發(fā)器沒(méi)有改變,那么從觸發(fā)器也就不會(huì)改變。
  2. 現(xiàn)在把CLK置為1,此時(shí)主觸發(fā)器的CLK解鎖。可以修改輸出,但是從觸發(fā)器此時(shí)被鎖住。主觸發(fā)器的輸出還是無(wú)法改變從觸發(fā)器的輸出。
  3. 重點(diǎn)來(lái)了,此時(shí)雖然主觸發(fā)器的輸入無(wú)法改變,但是主觸發(fā)器的輸出已經(jīng)固定下來(lái)了。此時(shí)再把CLK置為0,那么從觸發(fā)器此時(shí)的輸入可以從被之前的主觸發(fā)器的輸出改變的,只是無(wú)法從觸發(fā)器的輸入改變而已。

完成流程如下:

  1. 先把CLK置為1,鎖從觸發(fā)器,現(xiàn)在可以把需要保存的數(shù)據(jù)輸入到主出觸發(fā)器中。

圖片

  1. 注意,現(xiàn)在保存的數(shù)據(jù)已經(jīng)在主觸發(fā)器中了?,F(xiàn)在把CLK置0,一瞬間,主觸發(fā)器鎖住,從觸發(fā)器打開(kāi),保存在主觸發(fā)器的數(shù)據(jù)已經(jīng)輸出到從觸發(fā)器中了。

[gif error]這樣子,一瞬間觸發(fā)的觸發(fā)器的名字叫做 邊沿觸發(fā)器 。

同理把多個(gè)邊沿觸發(fā)器連在一起,就能保存多個(gè)Bit的數(shù)據(jù)了。

圖片

這里把8個(gè)組合在一起,就可以保存一個(gè)Byte的數(shù)據(jù)了。

它的名字就是寄存器。

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

    關(guān)注

    31

    文章

    5377

    瀏覽量

    121408
  • 電磁干擾
    +關(guān)注

    關(guān)注

    36

    文章

    2338

    瀏覽量

    105711
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    916

    瀏覽量

    41691
  • 門(mén)電路
    +關(guān)注

    關(guān)注

    7

    文章

    199

    瀏覽量

    40282
  • D觸發(fā)器
    +關(guān)注

    關(guān)注

    3

    文章

    164

    瀏覽量

    48073
收藏 2人收藏
  • jf_878040191

評(píng)論

相關(guān)推薦

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

無(wú)論是用同步RS結(jié)構(gòu)觸發(fā)器,還是用主從結(jié)構(gòu)或邊沿觸發(fā)結(jié)構(gòu)的觸發(fā)器,都可以組成寄存器。一般由
發(fā)表于 10-09 16:19

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

的位數(shù)設(shè)計(jì),所以一般有8位寄存器、16位寄存器等。對(duì)寄存器中的觸發(fā)器只要求它們具有置1、置0的功能即可,因而無(wú)論是用同步RS結(jié)構(gòu)
發(fā)表于 07-03 11:50

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

觸發(fā)器:能夠存儲(chǔ)一位二值信號(hào)的基本單元電路統(tǒng)稱為“觸發(fā)器”。:一位觸發(fā)器只能傳送或存儲(chǔ)一位
發(fā)表于 09-11 08:14

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

寄存器。 在FPGA設(shè)計(jì)中建議如果不是必須那么應(yīng)該盡量使用觸發(fā)器而不是。鐘控D
發(fā)表于 10-27 22:38

什么是觸發(fā)器 觸發(fā)器工作原理及作用

”,分別稱為置“1”端和置“0”端。常見(jiàn)的觸發(fā)器有R-S觸發(fā)器、D觸發(fā)器和J-K觸發(fā)器等三種,下面簡(jiǎn)單說(shuō)明它們的
發(fā)表于 12-25 17:09

觸發(fā)器工作原理是什么

工作原理是什么?的動(dòng)態(tài)特性及其應(yīng)用有哪
發(fā)表于 11-03 06:48

觸發(fā)器原理

  1、掌握、觸發(fā)器的電路結(jié)構(gòu)和工作原理;   2、熟練掌握SR觸發(fā)器、JK
發(fā)表于 08-18 16:39 ?0次下載

D觸發(fā)器工作原理是什么?

D觸發(fā)器工作原理是什么? 邊沿D 觸發(fā)器: 負(fù)跳沿觸發(fā)
發(fā)表于 03-08 13:56 ?7w次閱讀
<b class='flag-5'>D</b><b class='flag-5'>觸發(fā)器</b><b class='flag-5'>工作原理</b>是什么?

什么是RS觸發(fā)器,RS觸發(fā)器工作原理是什么?

什么是RS觸發(fā)器,RS觸發(fā)器工作原理是什么? 主從RS
發(fā)表于 03-08 14:00 ?3.1w次閱讀

一種單CMOS三值D邊沿觸發(fā)器設(shè)計(jì)

一種單CMOS三值D邊沿觸發(fā)器設(shè)計(jì)
發(fā)表于 01-17 19:54 ?25次下載

jk邊沿觸發(fā)器工作原理

本文開(kāi)始介紹了JK觸發(fā)器工作特性與邊沿JK觸發(fā)器的特點(diǎn),其次介紹了邊沿JK觸發(fā)器
發(fā)表于 01-30 17:17 ?3.7w次閱讀
jk<b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)器</b><b class='flag-5'>工作原理</b>

什么是邊沿觸發(fā)器_邊沿D觸發(fā)器介紹

邊沿觸發(fā)器,指的是接收時(shí)鐘脈沖CP 的某一約定跳變(正跳變或負(fù)跳變)來(lái)到時(shí)的輸入數(shù)據(jù)。在CP=l 及CP=0 期間以及CP非約定跳變到來(lái)時(shí),觸發(fā)器不接收數(shù)據(jù)的觸發(fā)器。具有下列特點(diǎn)的
發(fā)表于 01-31 09:02 ?7.2w次閱讀
什么是<b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)器</b>_<b class='flag-5'>邊沿</b><b class='flag-5'>D</b><b class='flag-5'>觸發(fā)器</b>介紹

rs觸發(fā)器rs的區(qū)別是什么

在傳統(tǒng)的異步 RS 觸發(fā)器中,當(dāng)輸入的 R 和 S 同時(shí)為 1 時(shí),會(huì)引發(fā)互鎖問(wèn)題,輸出結(jié)果是不確定的。為了避免這個(gè)問(wèn)題,常常使用帶有使能控制的同步觸發(fā)器,如帶有時(shí)鐘信號(hào)的 D
的頭像 發(fā)表于 08-28 15:44 ?4845次閱讀

同步觸發(fā)器邊沿觸發(fā)器的區(qū)別

同步觸發(fā)器邊沿觸發(fā)器是數(shù)字電路中兩種常見(jiàn)的觸發(fā)器類型,它們?cè)?b class='flag-5'>觸發(fā)方式、工作原理、性能特點(diǎn)以及應(yīng)
的頭像 發(fā)表于 08-12 11:26 ?1830次閱讀

rs觸發(fā)器工作原理 rs觸發(fā)器和sr觸發(fā)器的區(qū)別

RS觸發(fā)器(Reset-Set觸發(fā)器)和SR觸發(fā)器(Set-Reset觸發(fā)器)是數(shù)字電路中常用的兩種基本
的頭像 發(fā)表于 10-21 10:06 ?4356次閱讀

電子發(fā)燒友

中國(guó)電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會(huì)員交流學(xué)習(xí)
  • 獲取您個(gè)性化的科技前沿技術(shù)信息
  • 參加活動(dòng)獲取豐厚的禮品