ARX、Arthur和RISC OS(2012)

2020-08-21 17:17:02

所有对话都是Paul Fellows,除了标有Q:的观众问题。 轻微的犹豫和对话中的自我更正。

非常感谢你们邀请我,上帝知道你们在做了25年的工作之后,都在这里做什么。 我很高兴能和你谈谈我和我的孩子们在那段时间以前所做的一切。在我们讨论这个之前 我得解释一下为什么?那就是说我是谁,我们是怎么走到今天这一步的。

显然,我们是从世界上最好的机器开始的,那就是BBC微型B型。 这就是让我陷入这一切的原因。虽然我的第一台机器是辛克莱ZX80 免费买的,我用ZX81ROM升级了,这意味着键盘全错了。 我的第一台实用电脑是我在剑桥上学时买的英国广播公司B型电脑, 我被鼓励这样做,因为我的一个朋友正在他的房间里建造一个橡子原子,一个叫 史蒂夫·巴洛(Steve Barlow),我认为这是一件很棒的事情,我放弃了学习化学, 这就是我应该做的,然后开始整天玩电脑。

到那时 我完成了我的学位,我为Acornsoft写了这篇文章。有点化学主题 在这里,使用我应该学习的化学学位,但是正在写关于它的程序 取而代之的是。雪莉·康伦的“魔法花园”是世界上最糟糕的节目。我被迫写了 那一次,克里斯·库里(Chris Curry)与雪莉·康伦(Shirley Conran)的出版商达成了一些离奇的出版协议。我很抱歉 如果有人看过这个节目的话。这是它唯一的收缩包装,是这样的。 完全没用,我从来没打开过。“狮身人面像历险记”扭曲了整整一代人的思想。Acornsoft 数据库做得非常好,但是被马克·科尔顿的“视图”系列完全淘汰了。 S-Pascal是我用BASIC编写的PASCAL编译器,也是我的研究生论文 在计算机室,所以我做了这件事,并在Acornsoft出版它的时候拿到了报酬。整个 一种用BASIC语言在BBC微型计算机上用32KB写成的PASCAL编译程序。所以你有了你的程序, 编译器及其创建的目标代码,您会注意到这是在软盘上发布的,但是它们 如果你是个真正的受虐狂还会把它放在录音带上。你可以把编译器从盒式磁带上卸下来, 并编写了一个1.5KB长的程序,非常棒。

结果 在编写Pascal编译器时,我得到了接管Acornsoft‘s的工作 语言组。我,托尼·汤普森,斯图尔特·斯瓦尔斯和理查德·曼比负责 把这些东西都搬出去。我们一个也没写, 但我们设法并测试了所有这些。LISP是 由亚瑟·诺曼在计算机室撰写,由理查德·德·格兰迪斯-哈里森撰写,他后来成为 我想是其他东西的推动力,比如塞班。发明BCPL的马丁·理查兹和他的 兄弟会负责那边的编译器和徽标的实施。有一些 来自伦敦的家伙做了开场白,大卫·克里斯汀森做了COMAL,橡子的本和莱昂内尔做了 ISO PASCAL编译器,经过充分验证并安装在16KB的ROM上。 语言 团队有点越轨了,管理层并不真的在乎我们做什么,只要能赚钱就行。 我们还参与了其他几件事;Termulator是VT52终端的终端仿真器,它 没有人使用,我们非常高兴,因为我真的看不出原因。

对于我们今晚的故事来说,最重要的是,我们为BBC Micro编写了图形扩展ROM。 前面已经提到过,其中一本《用户指南》中有一小部分内容是为 图形扩展ROM之类的东西激起了我的兴趣。我觉得真的应该有人这么做。 所以理查德·曼比在语言组(为我工作)中,当他的语言用完了 他制作了一个图形扩展,可以进行省略、泛洪填充等操作,并制作了 然后,图形扩展ROM和所有这些都被合并到BBC Master 128操作系统中 这对这个故事至关重要,因为这是Acornsoft第一次,这是一家独立的公司, 做一些进入机器的系统软件,这样你就可以看到这是怎么回事,你不能。

正确的, 这里有一个关于BBC Micro记忆图历史的小教训。所以在这里的幻灯片上 你有英国广播公司的计算机,32K,DFS,BASIC,它提供的经典屏幕,在这个屏幕上 在这里,您已经获得了64KB地址空间是如何组织的内存图。在底部 在这里,我们得到了0x8000的RAM,然后是16KB的ROM空间,然后是操作系统 ROM和内存映射IO位于顶部。非常简单,而且不成比例,你能看到它写在哪里吗? ';活动边界';, 显存是从这里开始的,并逐渐下降,但更有可能的是,它下降到了大约 这里,如果你把它放到高分辨率的图形中,那么20

但它仍然 这还不够,橡子想,见鬼,我们怎么还能再加点什么呢,于是他们制造了B+128。“。 因为师父甚至更晚。他们这样做的方式是在其中一些文件中再填充64KB ROM插槽,如果我跳回内存映射,您有0x8000到0xBFFF之间的分页ROM 分页ROM区域,所以Basic、ADF和其他ROM将位于这个空间和那里 是一个寻呼寄存器,它会告诉我们哪个是被寻呼进来的 但您也可以将RAM放在那里。B+128在那个区域塞满了四个16K公羊,而我已经 在这里画了一张小地图,所以在顶部我们有操作系统和ROM, Basic通常会在这里,但是我们这里有4页内存,可以再增加64K 真的很难拿到。这是我从B+谈到的影子记忆,只有 操作系统图形例程可以达到。但是我有这样的想法,人们想要写 更大的基本程序,如果我们要销售一台内存为128KB的机器,我们真的应该 让你写一个比前一个版本更大的程序。

所以我有 这个疯狂的想法是在这里放一个BASIC口译员,然后让它 访问分布在这四个ROM插槽中的程序,但当然它们都位于 相同的地址空间。通过查找BASIC解释器的汇编语言中的所有位置 它访问了您的程序或其变量的源代码,您发现它们都是 使用一种特殊的寻址模式,即间接逗号的寻址形式,所以我们 我可以这样做,并在那里插入一个额外的地址字节,并插入一个硬件寄存器 以便让您可以像访问64K地址空间一样访问这些区块。所以我们得到了那个版本 最重要的是所有的基本工作,有大量的页面交换的ROM正在进行。我去了 并提议我们也这样做罗杰·威尔逊,现在是索菲·威尔逊,他负责 对于基本版 得到的评论是你疯了,那是自杀,这是不可能做到的,所以我们 不管怎样,它还是随B+128和后来的大师一起发货了。 我小组的托尼·汤普森做了这件事,橡子当时非常感激,因为他们 可以说它更大,而且你有更多的内存。,这真的让我的人在地图上成为 能够做索菲认为不可能的事情。这很好,你可以看到这是在哪里 故事开始了。

同时, 苏菲和史蒂夫一直忙于设计ARM芯片,上面有一张照片 第一个打开盖子的ARM芯片。关于它的统计数字是惊人的,25000 基于3微米技术的晶体管 这在今天的货币中是3000纳米,与今天发生的任何事情相比都是巨大的。确实是 运行在6.6 MHz,每个指令占用一个周期来完成它的工作。它只有26个不同的 当时的说明书和这个设备上没有倍增,这是后来来的2微米 版本,模子缩水。他们首先建造了它,然后把它放在非常漂亮的第二个处理器的盒子里, 这里的照片。你可以给你的bbc涡轮增压,但是得到一个这样的系统并把它打开。 这边,如果你能弄到一个的话。它们真的很难买到,最终被当作 一个ARM开发系统,他们对允许谁购买它们有点嗤之以鼻,他们没有把它们放在 大减价。事实上,我们在Acornsoft买到它们时遇到了一些困难,我不得不派斯图尔特·斯瓦尔斯(Stuart Swales) 去实验室, 签了所有的零件,然后把它们带回来,我们自己造了四个。这是唯一能让你 抓住这些奇妙的东西。我认为用BBC Basic V启动其中一个绝对令人惊叹, 我有一整兆字节的RAM可以玩,而且它的速度快得令人难以置信,比起 可怜的老英国广播公司,我们以前有过。

我只是 想说一下为什么橡子决定做整个RISC的事情,橡子是 作为一家家用电脑制造商,你到底为什么会疯狂到设计自己的芯片呢?

作为该过程的一部分,索菲对许多常用编译器的编译器输出进行了分析 试图选择我们下一步应该使用哪种芯片,我们正在研究 比如68000和国家半导体16032,或者更名后的32016。我不知道你是否 记住,第二个处理器已经用32016完成了,NAT Semi制作了一张海报,上面写着 32016不是晚期的16位机器,它是早期的32位机器,一年后我们把它划掉了 早&39;早';,并在上面写了';晚&39;。这一分析表明,所有复杂的指令和 所有复杂的内存副本,编译器都不会生成它们。它们生成加载/存储, 加、减、和/或比较、分支,这真的很重要,其余的,除非你重新 用汇编器编写,你就是不用它们,所以它们完全是一种浪费。

不是的

我不确定,这是个好问题,我确实考虑过了。我相信亚瑟这个词 来自于他们周四想要ARM的事实,因为危机,但那是我的记忆 这会引起一些争论,其他人可能会说不同的话。

官方的说法是“亚瑟计划”,但亚瑟·诺曼从来没有参与过,尽管他就在附近 并参与了手臂的设计。

我被拖了进来, 在橡子公司的董事会面前,他们说硬件正在 我们没有软件,你们在Acornsoft做的不多,你们能给我们做一个 就像英国广播公司(BBC)的操作系统一样,你有5个月的时间吗?&34;因为那是硬件即将上市的时候。 大街小巷。我像个白痴一样回答说,是的,我们没有太多事情要做。他们来找我们的原因 是因为我们为大师制作了图形扩展ROM,所以我们参与了最近的 这台机器已经出了门,因为我们做了花哨的BASIC解释器,可以 访问更多的内存,从而证明我们可以做困难的事情, 做了所有你可能想要的BBC Micro的语言,所以我们真的没有 还有很多事要做。

我们是谁? 是Acornsoft语言小组,我自己,我是领队,我是 傻瓜,他说,是的,我们可以做到。我要写I2C驱动程序,实际上我得到了一些 由约翰·比格斯(John Biggs)设计的I2C驱动程序,他今天在ARM,他们是用已被破解的Modula2编写的 在ARX实现之外,他说,在这里,这就是如何做到这一点的,让实时时钟工作, 那很好,帮我测试一下好吗?没有一个能在新生的 我们当时有的亚瑟版本,我把它全部音译成汇编程序,它进行了400次 我开得更快了,我把车开得太快了,这让我有点心烦意乱。我还做了颜色之类的东西 调色板。

托尼·汤普森(Tony Thompson),他完成了BASIC 64的实现,他要做的是 操作系统的核心,所以才是亚瑟自己真正的胆量。把它从重置状态中带出来,给它加了电, 组织了所有的记忆等等。我们度过了一段非常有趣的时光,我们有 其中一台机器,我们就是不能让这个东西可靠地启动。你可以启动它,转弯 关闭它,重新启动它,有时它会工作,有时它不会。事实证明,它会启动 如果你把它放得足够长,没问题,但是如果你没有把它关掉很长时间,那么它就不会重置。 正确,这是因为电路板上的风扇仍在旋转,风扇上的反电动势 有足够的能量来保持手臂运转。这就是为什么你今天在手机里插了一只胳膊,它会 用25000个晶体管保持一个3微米长的手臂不用电就能运转30秒 储存在风扇里。

斯图尔特·斯瓦尔斯写道,Fileswitch和我认为堆管理器也是如此,如果没有它,我们就不可能做到这一点 斯图尔特,他刚把一切都修好了。

理查德·曼比(Richard Manby),图形扩展ROM的作者,完成了图形,并在RISC OS2中继续执行 抽签,这真的是一个很棒的程序。

然后,我们让我们的王牌游戏程序员从半退休状态中解脱出来,在那里他一直在编写游戏 因为他们没有市场,蒂姆。蒂姆这些天在博通工作,他做文本, 声音,键盘,连续剧。随着队伍的壮大,我们从橡子里招募了另外几个人。

我们有尼克·里夫斯,他负责磁盘文件系统的工作,还有布莱恩·科克伯恩,那就是团队, 只有那些人。托尼在位,斯图尔特退休,理查德·曼比在剑桥蚂蚁工作 嵌入式浏览器,Tim在Broadcom与Sophie合作开发芯片,比如Raspberry Pi核心芯片 相关工作,尼克·里夫斯在ARM,布莱恩在阿米诺。阿米诺是我创办的一家公司 1997年,马丁与马丁·吉尔伯特一起设计了大师128。如果你看其中一个里面 在NOR闪存中有一个引导ROM,在NAND上有一个文件系统,你可以在那里找到一个氨基机顶盒 闪存,引导ROM看起来不到一半像核心操作系统和 加载单独的可重定位模块,它将启动并运行*exec!boot和位于 运行Linux的NAND闪存。我想我们卖出了450万个这样的机顶盒, 操作系统的实例比橡子还多吗? 管理。

事情就这样发生了 说真的,当我把一些硬件放在桌子上时,这是第一件硬件 我有(A500第二块处理器卡),你可以看到四个核心芯片,ARM,MEMC,VIDC和 国际奥委会,在他们的方形平板托架里,那边的RAM, 这里是这些EEPROM中的某种操作系统软件,以及管接口。 这是通过管子接口插入BBC微型计算机的,所以这是一个巨大的秒数 处理器(正如电路板上所说的,A500第二个处理器)。这就是事态的发展 我们有一块木板,我们先有一块,然后逐渐到了每人有一块的地步。 在上做开发工作。您可以在其上附加一个键盘,将其图形输出到 一台监视器,因此亚瑟的功能逐渐变得活灵活现,您可以迁移 越来越多的IO功能从BBC Micro传到了电路板上。当然了 这东西永远不可能完全独立运行它总是需要宿主微型机 去拿到它。

.