ALGOL 60与EL X8计算机的实现
1. EL X8的特性
EL X8在数值计算方面具有显著优势。它采用的Grau表示法使得整数成为浮点数的真子集(当指数e = 0时),这一特性让EL X8能够直接计算包含整数和分数的表达式,无需进行数字转换。其算术运算的实现十分出色,加减乘除四则运算都能得到最接近数学精确结果的浮点值。
与之对比,EL X1没有具备相应操作的寄存器,所有计算都需通过软件完成。例如,计算10.3除以3.14,EL X1需要执行49条指令,耗时4066微秒,而EL X8仅需1条指令,耗时62.5微秒,速度快了65.1倍。
EL X8还有其他重要扩展特性:
- 通用扩展 :所有寄存器,包括指令计数器,都可作为索引寄存器使用。
- 面向语言的扩展 :
- 多数从存储器取值或向存储器存值的指令都有(非)堆栈变体。该变体使用寄存器B作为堆栈指针,在从堆栈取值时递减,在向堆栈存值时递增。特别是堆栈子程序调用,将返回链接数据写入堆栈,是一项重大创新。
- 引入了动态或两阶段寻址变体。在这种变体中,指令的操作数Mp[q]会被硬件解释为操作数M[[M[63] + p] + q]。
- 新增了执行指令,可将指令地址部分指向的存储字作为指令执行,这对实现ALGOL 60过程的参数机制非常有用。
2. ALGOL 60语言概述
ALGOL 60是由国际委员会开发的用于数值计算的编程语言。它完全抽象了所有硬件,引入了许多新概念,为编程语言的进一步发展奠定了基础。其最终定义由Peter Naur编辑,首次使用了John
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



