在電子學中,翻轉鎖(Flip-Flops)和鎖存器(Latches)是一種具有兩個穩定狀態的電路,可以用來儲存狀態資訊,這種裝置統稱為雙穩態多振盪器。這些電路可以通過施加於一個或多個控制輸入的信號來改變狀態,並會輸出其狀態,通常還包括其邏輯補數。它是順序邏輯中的基本儲存元件,至關重要。
翻轉鎖和鎖存器是數位電子系統、計算機、通訊以及許多其他系統的基石。
翻轉鎖和鎖存器被用作數據儲存元件,能夠儲存單個位元(binary digit)資料;它們的兩個狀態分別代表“1”和“0”。這類數據儲存可以用於狀態的儲存,此類電路被稱為電子學中的順序邏輯。當用於有限狀態機時,輸出和下一狀態不僅取決於當前的輸入,還取決於其當前狀態(因此也依賴於之前的輸入)。此外,它還可以用於計數脈沖以及將變化時序的輸入信號同步至某個參考計時信號。
翻轉鎖這個術語在歷史上泛指兩類電路:電平觸發(非同步、透明或不透明)和邊緣觸發(同步或時鐘)電路,用於單個位元資料的儲存。現代作者通常將“翻轉鎖”這個術語專門保留給邊緣觸發的儲存元件,而將“鎖存器”用於電平觸發的電路。通過使用“邊緣觸發”和“電平觸發”這兩個術語,可以避免歧義。
當一個電平觸發的鎖存器被啟用時,它變得透明,而邊緣觸發的翻轉鎖僅在時鐘邊緣時改變其輸出。
翻轉鎖和鎖存器有各種形式,通常作為集成電路出現,每片芯片上有多個元件。例如,74HC75是一種在7400系列中的四通道透明鎖存器。
第一個電子鎖存器由英國物理學家威廉·埃克萊斯(William Eccles)和F.W.喬丹(F. W. Jordan)於1918年發明,最初稱為埃克萊斯-喬丹觸發電路,它由兩個活躍元件(真空管)組成。這一設計在1943年的英國可破譯機中使用,並且這類電路及其晶體管化版本在計算機中非常常見,即使在集成電路普及後,基於邏輯閘的翻轉鎖和鎖存器仍有很大的應用。
早期的鎖存器被稱為各種不同的名字,例如觸發電路或多振盪器。根據美國噴氣推進實驗室的工程師P.L.林德利(P. L. Lindley)的說法,後述的翻轉鎖類型(SR、D、T和JK)最早是在1954年由蒙哥馬利·菲斯特(Montgomery Phister)在洛杉磯加州大學的一門計算機設計課程中討論的,然後出現在他的著作《數位計算的邏輯設計》中。
透明或非同步鎖存器可以由一對交越耦合的反轉元件構成:真空管、雙極晶體管、場效應晶體管、反相器和反向邏輯閘都可用於實際電路中。時鐘翻轉鎖則專為同步系統設計;這些設備會在專用時鐘信號的轉變時忽略其輸入(稱為時鐘信號、脈衝或擺動)。時鐘信號的轉換會使翻轉鎖根據輸入信號的值改變或維持其輸出信號。
所有翻轉鎖和鎖存器的性能與其類型和設計密切相關,這使得它們在數位系統中至關重要。
翻轉鎖和鎖存器可以分為幾種類型:SR(“設置-重置”)、D(“數據”)、T(“翻轉”)和JK。每種類型的行為都可以通過其特徵方程來描述,這方程根據輸入信號和/或當前輸出,推導“下一個”輸出(Qnext)。
使用靜態閘作為基本元件時,最基本的鎖存器是非同步設置-重置(SR)鎖存器。其兩個輸入S和R可用來通過組合S=1和R=0將內部狀態設置成1,並可通過S=0和R=1將內部狀態重置為0。
SR鎖存器可以用一對交叉耦合的NOR或NAND邏輯閘來構建。儲存的位元結果在標記為Q的輸出上顯示。方便的思考方式是將NAND、NOR、AND和OR視為受控操作,其中一個輸入被選作為控制輸入(設置),而另一個輸入則取決於控制狀態進行處理。
隨著科技的進步,翻轉鎖和鎖存器的設計和用途將繼續演進,為計算機和電子系統的未來打下基礎。這些電路不僅在當前的數位系統中發揮重要作用,還將在未來的技術發展中持續推動各領域的創新。面對不斷變化的科技環境,讀者是否能想象未來翻轉鎖和鎖存器會如何影響我們的數位生活呢?