這個迷你系列文章描述了如何用繼電器構(gòu)建計算機(jī)的 CPU(中央處理單元)。
英語中的“Y”聽起來像西班牙語(我的母語)中的“guay”,一個口語表達(dá)或俚語,意思是“酷”。從雙關(guān)語開始似乎是個好主意,但事實是我確實相信 Y 開關(guān)真的很酷。
雖然這個術(shù)語不是很常用(如果以前用過的話),但我認(rèn)為它對這個開關(guān)的工作方式非常具有描述性或說明性。圖 1 顯示了 Y 開關(guān)的示意圖。它由一個可控開關(guān)組成,該開關(guān)可以改變其位置并將一個端子連接到其他兩個端子之一。
圖 1. Y 開關(guān)示意圖(來源:Javier Piay)
這種變化可能是由于各種性質(zhì)的動作或刺激引起的:手動、機(jī)械、電氣、電子等。在沒有這種刺激的情況下,開關(guān)保持在其靜止/斷電位置,連接所謂的公共端子(COM)到所謂的常閉端子(NC)。如果施加刺激,開關(guān)將切換到其激活/通電位置,將 COM 端子連接到所謂的常開端子 (NO)。
Y 開關(guān)也稱為3 路開關(guān)或轉(zhuǎn)換開關(guān),但是——正如 EEWeb 精通技術(shù)的成員已經(jīng)知道的那樣——這種類型的開關(guān)通常被稱為單刀雙擲 (SPDT) 開關(guān)(另見“開關(guān)反彈和去抖動(第 1 部分):開關(guān)類型”)。
圖 2 顯示了 Y 開關(guān)的不同實現(xiàn)方式。從左到右,所示設(shè)備由手動、機(jī)械、電氣和電子方式控制或操作。不言而喻,有類似的設(shè)備可以實現(xiàn)其他類型的開關(guān),例如單刀單擲 (SPST)、雙刀單擲 (DPST)、雙刀雙擲 (DPDT) 等。
圖 2. 從左到右,Y 型開關(guān)用于手動、機(jī)械、電動和電子操作。(來源:哈維爾皮耶)
任何電動開關(guān)通常稱為繼電器(圖 2 中右起第二列)。與其他形式的開關(guān)一樣,機(jī)電繼電器有多種類型,包括 SPST、SPDT、DPST、DPDT 等。
圖 3 顯示了 Y 或 SPDT 繼電器的示意圖。使開關(guān)的 COM 端子在 NC 和 NO 端子之間翻轉(zhuǎn)的電刺激(輸入信號)連接到標(biāo)記為 S(意為“選擇”)的第四個端子。
圖 3. SPDT 繼電器原理圖(來源:Javier Piay)
SPDT 繼電器是我們將在繼電器計算設(shè)計和仿真項目中使用的主要組件(如果不是唯一的話)。至于實施/構(gòu)建階段,我目前更傾向于使用該設(shè)備的電子版本(圖 2 右側(cè)的第一列),原因有很多,例如其緊湊的尺寸(每個 IC 三個或四個開關(guān)) 、非常低的價格(每個開關(guān) 3 美分)、快速原型制作(與面包板兼容)、非常廣泛的數(shù)字和模擬信號電平,并且易于耦合到其他電子設(shè)備(如果需要)。
在 SPDT 繼電器(或電子開關(guān))中可用的四個端子/引腳中,只有 S 始終充當(dāng)輸入。在某些使用場景中,COM 端子充當(dāng)輸入,在這種情況下,NC 和 NO 端子都充當(dāng)輸出。在其他使用場景中,NC 和 NO 端子充當(dāng)輸入,在這種情況下,COM 端子充當(dāng)輸出。與任何開關(guān)一樣,一旦繼電器成為更大電路的一部分,就會自動采用這些配置。
圖 4 說明了上述配置。出于演示目的,左側(cè) SPDT 繼電器的 COM 端子配置為輸出。在這種情況下,NC 和 NO 端子都可以攜帶邏輯 0(深綠色)或邏輯 1(淺綠色)值,繼電器在這些端子之間進(jìn)行選擇并將所選信號傳遞到 COM 輸出。由于該繼電器顯示為未激活或斷電 (S = 0),因此 COM 輸出反映了 NC 輸入上的邏輯 0 值。
圖 4. SPDT 繼電器允許的輸入/輸出 (I/O) 配置。(來源:哈維爾皮耶)
相比之下,右側(cè) SPDT 繼電器的 COM 端子配置為輸入。由于此繼電器顯示為激活或通電 (S = 1),NO 輸出反映 COM 輸入上的邏輯 1 值;同時,NC 輸出處于高阻抗 (Z) 狀態(tài),這意味著其他繼電器可以安全地將邏輯 0 或 1 值驅(qū)動到連接到此端子的信號(即導(dǎo)線)上。
在基于繼電器的二進(jìn)制或數(shù)字計算中,大多數(shù)繼電器(如果不是全部)在計算模塊/系統(tǒng)內(nèi)執(zhí)行邏輯功能并實現(xiàn)邏輯門,這與執(zhí)行電源和負(fù)載切換的獨立繼電器的通用應(yīng)用形成對比.
SPDT 繼電器如此酷的原因在于它本身就是一個通用邏輯門。即可以用來實現(xiàn)任意的二輸入邏輯功能。只需意識到圖 4 左側(cè)的 SPDT 繼電器充當(dāng)多路復(fù)用器 (MUX) 即可輕松證明這一點,眾所周知,該組件是通用邏輯門。
MUX: 如果 S 等于 0,則將 COM 設(shè)置為 NC,否則將 COM 設(shè)置為 NO。
相比之下,圖 4 右側(cè)的 SPDT 繼電器充當(dāng)解復(fù)用器 (DEMUX)。
DEMUX:如果 S 等于 0,則將 NC 設(shè)置為 COM,否則將 NO 設(shè)置為 COM。
圖 5 顯示了如何使用 SPDT 繼電器實現(xiàn)任何原始邏輯門以及全加器。
圖 5. SPDT 繼電器作為通用邏輯門實現(xiàn)任何原始邏輯門和全加器。(來源:哈維爾皮耶)
NOT:如果 A 等于 0,則將輸出設(shè)置為 1,否則將輸出設(shè)置為 0。
AND: 如果 A 等于 0,則將輸出設(shè)置為 A (0),否則將輸出設(shè)置為 B。
或:如果 A 等于 0,則將輸出設(shè)置為 B,否則將輸出設(shè)置為 A (1)。
XOR:如果 A 等于 0,則將輸出設(shè)置為 B,否則將輸出設(shè)置為 NOT B。
NAND: 如果 A 等于 0,則將輸出設(shè)置為 NOT A (1),否則將輸出設(shè)置為 NOT B。
NOR:如果 A 等于 0,則將輸出設(shè)置為 NOT B,否則將輸出設(shè)置為 NOT A (0)。
XNOR: 如果 A 等于 0,則將輸出設(shè)置為 NOT B,否則將輸出設(shè)置為 B。
全加器(S = A + B + Cin):S = A XOR B XOR Cin。如果 A XOR B 等于 0,則將 Cout 設(shè)置為 A,否則將 Cout 設(shè)置為 Cin。
作為“構(gòu)建繼電器計算機(jī)”迷你系列第 1 部分的最后一個示例,圖 6 顯示了使用 SPDT 繼電器實現(xiàn) 4:16 解碼器。
圖 6. 使用 SPDT 繼電器的 4:16 解碼器實現(xiàn)。(來源:哈維爾皮耶)
我希望你覺得這篇文章足夠有趣,可以繼續(xù)閱讀這個迷你系列的未來專欄,我們將在其中討論如何構(gòu)建基于繼電器的寄存器、計數(shù)器、算術(shù)邏輯單元 (ALU) 和其他最終將允許我們構(gòu)建了一臺中繼計算機(jī),所有這些都基于不起眼的“Y”開關(guān)的概念。
一如既往,我歡迎您提出意見、問題和建議。
審核編輯:湯梓紅
-
繼電器
+關(guān)注
關(guān)注
132文章
5361瀏覽量
149557 -
cpu
+關(guān)注
關(guān)注
68文章
10902瀏覽量
212997 -
計算機(jī)
+關(guān)注
關(guān)注
19文章
7536瀏覽量
88638
發(fā)布評論請先 登錄
相關(guān)推薦
評論