1998年,我和Jürg Gutknecht合作完成并發布了編程語言Oberon。Oberon是對我早期開發的其它兩種語言Pascal和Modula-2的繼承。開發Oberon的初衷在于使其比Modula-2更加簡單有效,以便更好地輔助系統編程的教學。1990年時,我們又繼續推進,開發了Oberon操作系統(OS)。Oberon OS是工作站的現代化應用,采用Windows窗口且具備文字處理能力。隨后,我們又出版相關書籍《Project Oberon》。書中對Oberon編譯器和Oberon操作系統進行了詳盡的描述,并涵括了詳細的指導和大量的源代碼。
幾年前,我的朋友Paul Reed建議我對此書進行修訂和再版,他認為該書對于系統設計的教學非常有價值。不僅如此,有了此書的輔助,那些未來的創新人才得以從頭開始建立可靠的系統,而這僅僅只是我幫助他們的開始。
不過工作的開展也并非一帆風順。我最初針對處理器而開發的編譯器已基本不存在了。為此,我不得不在方案中重新編寫針對現代處理器的編譯器。但稍作研究之后,我無法找出一個符合清晰、規律和簡易標準的處理器。所以,我唯有自己重新設計。由于現代FPGA允許設計硬件和系統軟件,因此我的這些想法才得以實現。此外,選擇Xilinx FPGA可以使系統盡可能保持與1990年開發的原始版本相近,同時又使系統得以進行更新。
新的處理器為RISC,應用在低成本的Digilent Spartan-3開發板中,具有1-Mbyte的靜態RAM(SRAM)內存。我對系統硬件所做的唯一改變是,用一個鼠標和SD卡接口替換了舊系統中的硬盤驅動器。書籍和整個系統的源代碼都可在projectoberon.com找到。
處理器由以下幾部分組成:算術邏輯單元,16個32位的寄存器及指令寄存器的控制單元、信息檢索和程序計數器。處理器含有20個指令:4個移動、移位和旋轉指令,4個邏輯操作指令,4個整數運算指令,4個浮點算法指令,2個內存訪問指令,2個分支指令。
小規模的系統也可以實現強大的功能,此系統便是最佳佐證。相比其它大部分的現代操作系統,Oberon系統的規格非常小,盡管其也包含了一個文件系統、一個文本編輯器和一個查看器(Windows)管理。系統操作有一些簡單的規則,但學習如何操作也非常容易。
注釋:
本文節選自Xcell Journal最新的期刊。本文鄭重公告:“Xcell Journal有權發布行業傳奇人物Niklaus Wirth的文章。Niklaus Wirth開發了Pascal語言和一些延伸的編程語言,開創了經典的計算機和軟件工程方法。Wirth教授曾獲得ACM圖靈獎和電子電氣工程師協會(IEEE)頒發的計算機先驅獎。如今,他已不再從事教學工作,但卻仍然協助教育工作者發掘未來的創新人才。”
Wirth教授最新開發的Oberon系統在Xcell Journal中進行了闡述,其應用在Digilent.舊版的Spartan-3 Starter開發板中。Wirth教授的Oberon系統也為Saanlima公司基于Xilinx Spartan-6 LX45 FPGA的Pipistrello開發板提供了工作平臺。Saanlima公司為Pipistrello開發了“機翼”(子板),以按照Oberon系統的要求增強Pipistrello開發板64Mbytes DRAM 和2Mbytes SRAM及PS2鍵盤和鼠標接口。
Saanlima公司基于Xilinx Spartan-6 LX45 FPGA的Pipistrello開發板
Saanlima公司Pipistrello FPGA 開發板的Oberon子板
-
FPGA
+關注
關注
1626文章
21678瀏覽量
602022
發布評論請先 登錄
相關推薦
評論