寄存器,鎖存器,觸發器,存儲器的區別



轉自:http://blog.sina.com.cn/s/blog_56cbe89d01000bk4.html

           http://czhjchina.blog.163.com/blog/static/20027904720126611912858/

觸發器:flipflop

鎖存器:latch
寄存器:register
 
 觸發器:包括鎖存器和寄存器。
 鎖存器:電平觸發的存儲單元,在有效電平時間裏可以多次改變數據。
         優點是佔觸發器資源少,缺點是容易產生毛刺。
         在FPGA中用的很少,因爲FPGA中觸發器的資源非常豐富。
 寄存器:邊沿觸發的存儲單元,在上升或下降沿數據變化,一個週期裏只能變化一次。
 
去毛刺可以用格雷碼計數器代替二進制碼計數器,或者用D觸發器同步的方法。
很好的EPLD學習網站: http://www.pld.com.cn/advance.htm
                   http://www.pld.com.cn/hdl/vhdl_example.htm
 ps:吳飛觀點,觸發器就是兩個鎖存器,觸發器和寄存器差不多。
 
總結:其實不要管它是鎖存器、寄存器還是觸發器,只要按照datasheet,用VHDL語言真實反應出真值表的情況就可以了。因爲發現有些datasheet中器件的叫法也不太規範,有混淆的嫌疑。


寄存器與存儲器的區別

      現代的計算機主要包括三級存儲,寄存器、內存儲器和外存儲器,存儲數據的速率也依次遞減。(外存儲器不在本次討論之中,姑且略過不講)我們不妨將寄存器和 內存儲器都抽象成一個大的數組,其中的每個元素都有一個字節(8位)大小,CPU尋址的時候就是以該元素爲最小單位完成的。如前一個元素的地址是 0x1FFFFFF0的話,那麼下一個元素的地址就是0x1FFFFFF1。我們可以理解爲硬件構成上寄存器和內存儲器也都是由一個8位大小的元器件線性 排列組成的,地址對應着上面講到的數組中元素的地址。到這裏也許你能明白我的意思了,拋開存儲速率不談,對面向軟件開發的人來說寄存器和內存儲器結構可以 看作是相同的,那它們有什麼不同呢?

      當然是存儲速率不同了!先別罵街……速率只是表面現象,寄存器與內存本質的區別還是物理結構的不同,寄存器是有DFF(D觸發器)構成的,它起的只是暫時存儲數據的作用;內存儲器有MOS門和TTL門兩種構成,有ROM和RAM兩種。ROM是由廠家固定地製造的,又分爲掩膜ROM,PROM,EPROM,EEROM。有用門電路組成的ROM(由廠家寫入信息)和用二極管或熔斷絲構成的可由用戶寫入信息的PROM等.....RAM可分爲DRAM和SRAM兩種。前者是由電容構成的必須及時刷新,SRAM由MOS門構成不必刷新...... 從在計算機內部的放置位置上說,寄存器是在主板上離CPU最近並且速度最快。內存在計算機主機內,當時在計算機設計時,速度一直提不高,後來把內存放在計算機內速度才得以質的飛躍達到100M以上。內存速度快,容量小,價格高。外存可以取出,如光盤,磁盤價格便宜,但速度慢,用於存放大量數據。。它們之間的具體區別跳過不講,我只想讓你知道二者之間在尋址原理上都是相同的!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章