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