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