Displaying extended context for query match # 13,755 in text YL201502248
<< Prev Next >>
    
 

這些 繼電器 組成 的 陣列 , 好 讓 它們 以 適當 的 順序 切換 開關 , 將 二進制 數字 加起來 。 大家 都 認為 這 是 極為 艱困 的 工作 , 需要 設計師 仔細 考量 那麼多 不同 的 可能 變化 , 而 這 往往 會 讓 人 抓狂 。 今天 , 設計 電腦 架構 這 種 繁瑣 而 重複性 高 的 工作 , 已經 留給 電腦 代勞 了 。 但 在 一九三七年 , 根本 沒有 諸如 此 類 的 東西 , 就 需要 靠 人 想出 二進制 邏輯 的 設計 。 就 在 苦苦 思考 這 個 問題 的 同時 , 夏濃 剛好 看到 關於 布爾 邏輯 的 教科書 , 突然 領悟到 一 件 事 。 布爾 的 AND 運算 、 OR 運算 及 其他 邏輯 函數 的 方程式 , 將 決策 的 工作 化約為 一 組 雙重性 : 是 或否 、 零 或 壹 、 真 或 假 , 這些 配對 可以 像 開關 的 二元性 那樣 表示 : 「 開 」 或 「 關 」 。 簡而言之 , 設計 二進制 邏輯 電路 的 艱鉅 工作 已經 有 人 做 過 了 — — 他 就 是 布爾 。 布爾 仔細 整理出來 的 方程式 可以 當作 將 電鍵 開關 執行 邏輯 運算 的 準則 。 於是 , 夏濃 寫道 , 「 利用 繼電器 電路 的 方法 , 確實 有 可能 執行 複雜 的 數學 運算 。 數字 可以 用 繼電器 和 步進 開關 的 位置 來 表示 , 而且 可以 讓繼 電器組 之間 的 互連 來 表現 各 種 數學 運算 。 」 在 他 的 論文 結尾 處 , 夏濃 說明 如何 連接 一 系列 繼 電器 , 執行 布爾 AND 和 OR 運算 , 將 兩 個 二進制 數字 加起來 。 夏濃 在 論文 中 提出 的 技法 , 普遍 在 數位 機器 上 採用 。 在 現代 的 電腦 裡 , 積體電路 內嵌 的 電晶體 早已 取代 磁性 繼電器 , 但 二進制 開關 的 原理 仍然 相同 。 電腦 的 電路 系統 是 一連串 的 電晶體 , 一 個 後面 接著 另 一 個 。 這 個 電路 就 好比 一 條 長長 的 灌溉 水管 , 上面 裝有 一 系列 的 水龍頭 , 可以 控制 水 的 流動 。 如果 一 號 水龍頭 是 開啟 的 , 水 就 可以 繼續 流到 二號 水龍頭 ; 如果 這 一 個 也 是 開啟 的 , 水 就 可以 繼續 流向 三號 水龍頭 。 只要 在 AND 電路 __UNDEF__ 電流 __UNDEF__ 開關 一 開關 二 __UNDEF__ 開關 三OR 電路 __UNDEF__ 電流 __UNDEF__ 開關 一 __UNDEF__ 開關 二 __UNDEF__ 開關 三 __UNDEF__ 正確 的 時刻 開啟 正確 的 水龍頭 組合 , 農夫 就 可以 將 水流 導向 田地 的 任何 一點 。 在 電腦 的 電子 輸送 路線 裡 , 各 個 電晶體 都 可以 發揮 水龍頭 的 作用 ; 如果 一 號 電晶體 設為 開啟 , 電流 就 可以 繼續 流向 二號 電晶體 , 以 此 類推 。 只要 在 正確 的 時間 打開 正確 的 電晶體 組合 , 電腦 設計師 就 可以 將 電流 送到 電路 中 的 任何 一 點 。 為 了 設定 正確 的 組合 , 電腦 設計 者 主要 依靠 三 種 基本 的 布爾 電路 。 依照 布爾 的 AND 運算 , 最 簡單 的 AND 電路 是 由 三 串聯 的 電晶體 組成 的 , 因此 唯有 當 一 號 開關 「 及 」 二號 開關 都 是 開啟 的 狀況 下 , 三號 開關 才 會 開啟 。 這 種 配置 看起來 像 這樣 : 如果 一號 開關 或 二號 開關 是 關閉 的 , 電流 就 會 被 擋住 , 則 三號 開關 一定 是 關閉 的 。 只有 在 一號 「 及 」 二號 都 是 開啟 的 情況 下 , 電 才 會 繼續 流到 三 號 , 將 它 打開 。 簡單 的 「 或 」 電路 可以 用 三 個 開關 的 配置 來 執行 : 如果 一號 開關 和 二號 開關 都 是 關閉 的 , 電流 就 會 被 擋住 , 則 三號 開關 一定 是 關閉 的 。 但 在 這 種 電路 裡 , 電流 可以 透過 一號 開關 或 二號 開關 而 抵達 三號 開關 。 因此 , 如果 一 號 「 或 」 二號 是 開 的 , 「 或 」 兩 者 都 是 開 的 , 電流 就 會 通過 電路 , 將 三 號 打開 。 第三 種 基本 電路 是 NOT 電路 , 可以 用 兩 個 開關 接起來 , 讓 第一 和 第二 個 開關 「 不 是 」 同樣 的 狀態 。 如果 一 號 是 開 的 , 二 號 就 會 是 關 的 ; 如果 一 號 是 關 的 , 二 號 就 會 是 開 的 。 因為 這些 開關 配置 的 作用 若 不 是 要 擋住 電流 , 就 是 要 讓 電流 通過 , 所以 通常 叫做 「 閘 」 。 只要 透過 各 種 不同 的 閘 組成 的 迷宮 來 傳送 電流 , 就 可以 執行 邏輯 與 數學 運算 。 一 個 基本 的 加法 電路 , 可以 利用 十幾 個 AND 閘 、 六 個 OR 閘 還 有 三 個 NOT 閘 來 執行 。 二進制 數字 的 脈波 會 被 傳進 電路 , 每 一 道 脈波 會 以 剛好 正確 的 組合 , 將 幾 個 選定 的 電晶體 開啟 或 關閉 , 好 讓 電路 末端 出來 的 脈波 能 以 二進制 表示 輸進去 的 數學 計算 結果 。 理論 與 實際 皆 齊備 數學家 喜歡 用 「 雅致 」 這 句 話 來 形容 複雜 問題 的 簡單 解決之道 。 讓 兩 個 二進制 數字 相加 的 布爾 邏輯 , 就是 「 雅致 」 的 極致 。 話 雖 如此 , 但 在 早期 的 電腦 裡 , 這 種 雅致 安排 的 電子學 極 難 處理 。 剛才 敘述 的 簡單 加法 電路 有 二十一 個 分離 的 閘 , 需要 大約 五十 個 電晶體 , 十幾 個 其他 元件 , 以及 連接 線路 迷宮 似的 混亂 複雜 管線 。 而且 這 種 電路 只 能 加 兩 個 二進制 數字 。 假設 要 加 的 數字 各 需要 八 個 二進制 數字 , 這 個 問題 就 會 需要 八 個 獨立 的 操作 來 通過 加法 電路 , 再 加上 幾十 個 電晶體 來 儲存 各 項 操作 的 結果 。 正 因 如此 , 電腦 才 會 那麼 容易 受到 數量 暴行 的 影響 。 使用 二進制 數字 與 二進制 邏輯 提供 了 一 個 完全 適合 電子 裝置 的 精確 計算 系統 。 但 這 種 完美 的 適合 需要 付出 代價 。 這 個 代價 就 是 複雜度 。 數位 裝置 只不過 是 開啟 和 關閉 的 開關 , 但 即使 只是 要 執行 簡單 的 運算 , 就 必須 將 很多 很多 開關 切換 很多 很多 次 。 當時 的 電子 電路 必須 以 人手 連接 個別 元件 , 這 種 龐大 的 數量 對於 大小 、 速度 、 成本 、 耗電量 、 設計 的 困難度 等等 , 都 是 極 大 的 考驗 。 雖然 單石 電路 在 電子 大會 首次 亮相 備受 漠視 , 但 單石 概念 剛好 在 數位 電腦 逐漸 成長 的 時候 構想出來 , 因此 注定 會 有 驚人 的 成就 。 採用 積體電路