由瑞士联邦理工学院(ETH)Niklaus Wirth教授(已退休)撰写
(节选自Xcell Journal最新期刊)
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子板
原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Oberon-System-Implemented-o...