跳至內容

ZEBRA(電腦)

出自Taiwan Tongues 繁中維基
這是此頁批准,以及是最近的修訂。

ZEBRA(荷蘭文 Zeer Eenvoudige Binaire Reken Automaat,意為「非常簡單的二進位自動計算機」)是荷蘭設計的首批電腦之一(第一部為「ARRA」),也是首批商業化的荷蘭電腦之一。它由荷蘭郵政、電報與電話公司的 Willem van der Poel 設計,並於 1958 年首次交付。此機型共生產了五十五部,由英國標準電話電纜有限公司(Standard Telephones and Cables, Ltd.)製造與銷售。

ZEBRA 是一部具有 33 位元字長的二進位、雙位址機器。儲存裝置為一個磁鼓記憶體,容量為 8K 字,組織為 256 個磁軌,每個磁軌有 32 條指令;其累加器也以循環磁鼓軌道的方式實現,與 Bendix G-15 所使用的方式相似。周邊設備包括紙帶讀取機與打孔機,以及一部電傳印表機。

1967 年,英國的大學與技術學院中有六部 Zebra 電腦仍在使用。

程式設計

ZEBRA 的大部分程式碼與作業系統是由盲聾數學家 Gerrit van der Mey 編寫的。

與大多數處理器不同,ZEBRA 沒有不同類型的指令。相反地,一條指令的操作是由操作欄位中的十五個位元所控制。此外,它也沒有傳統意義上的程式計數器。 ZEBRA 的指令字為 33 位元,由一個 13 位元的磁鼓位址(參照記憶體磁鼓上 256 個磁軌中其中一個的 32 個條目)、一個五位元的暫存器(或 I/O)位址,以及 15 位元的操作欄位所組成。

操作欄位的每個位元都有其獨特的含義,幾乎可以任意組合使用,從而產生了許多巧妙的技巧,這些技巧在今日可能被視為微程式設計的範疇。操作位元決定了諸如要使用的資料正負號、是否清除累加器(將加法變為載入)、是否應用旋轉等事項。此外,還有操作位元用來決定下一條指令是來自暫存器或記憶體,還是兩者之和。

有些位元會使指令根據累加器的狀態變為條件式,這與 Zuse Z22 或 Electrologica X1 的作法類似。乘法、除法、平方根以及所有浮點運算,都是透過子程式執行的,子程式會使用底層串列電腦 ALU 的基礎指令:加、減、右移、左移與遞增。

由於其巧妙的設計,乘法常式每個位元僅需一條指令,除法常式每個位元僅需兩條指令,因此乘法與除法的速度相對較快,且所需硬體最少。 程式設計輔助工具包括 Normal Code(組譯器)、追蹤工具、一個浮點解譯系統、Simple Code、Matrix Interpretive Scheme,以及一個 Algol 編譯器。

由於磁鼓不支援隨機存取,因此需要耗費一些時間等待指令或資料可用。在一個寫得不好的程式中,平均等待時間可能長達磁鼓旋轉時間的一半,但有方法可以減少這種等待。ZEBRA 的一個顯著特點是配備了一個儀表,用來測量機器有多少時間處於非等待狀態;這被稱為「效率計」。在執行浮點解譯系統時,效率計通常顯示約 50%,但若有潛在客戶來訪,則可以載入一個更有效率的程式以供展示。

參考資料

外部連結

  • ZEBRA 指令集的詳細資料
  • ZEBRA 的演進
  • De ZEBRA, de eerste computer van de RuG (荷蘭文)
  • 使用 Python-Tk 的 Stantec ZEBRA 模擬器
  • 行銷手冊
  • BitSavers 文件檔案庫
  • 亦包含 Rod Delamere 對 1961 年在紐波特使用 Stantec ZEBRA 的回憶
  • 關於 Stantec ZEBRA 的回憶

Category:早期電腦 Category:荷蘭科學與技術 Category:串列電腦 Category:荷蘭設計的電腦