算法与计算机科学en.wikipedia.org
单指令集计算机
One instruction set computer
2011 — 2019,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是维基百科关于“单指令集计算机(OISC)”的条目:一种只支持唯一一条指令(如 subleq,即“减法并分支”)的极简计算机架构,理论上图灵完备,可以完成任何计算。页面介绍了其原理、变体以及作为教学模型的意义。
为什么经久不衰:它用最极端的简化回答了“计算最少需要什么”这一根本问题,是理解图灵完备性和计算机本质的经典思想实验,多年来反复登上 HN 首页。
HN 评论精选
OISC 主要价值是玩具和教育,作者还分享了自己实现的虚拟机
这是个有趣的想法,时不时会在 HN 上出现。不过除了作为玩具或教学系统之外,它基本没什么实际用处。我之前写过一个小的 OISC 虚拟机和汇编器,做到给系统加上键盘中断和控制台输出就停下了。
SimonPStevens查看英文原文
It's an interesting idea that pops up here every now and again. It's fairly useless as anything other than a toy/educational system though. I wrote a little OISC virtual machine and assembler a while back. I got as far as adding interrupts to the system for keyboard input and console output before I stopped. http://simonpstevens.com/projects/oiscvm Source code is on githib: https://github.com/simonpstevens/oiscvm
类比指出:函数式计算同样可以极简到 S/K 组合子
在函数式这边,只用 S 和 K 两个组合子就够了(SKI 组合子演算)。你可以用 S 和 K 定义 Y 组合子,从而实现递归——虽然效率不高。据说也存在只用单个通用组合子的方案,但我找不到好的参考资料。
arethuza查看英文原文
On the functional side of things you can get by with just the two combinators S and K: http://en.wikipedia.org/wiki/SKI_combinator_calculus You can define the Y combinator, and therefore recursion quite happily (if not very efficiently) using S and K. I believe there are also approaches that use as single universal combinator - but I can't find any good references to these - I'd be quite interested to see definitions of S and K in terms of a single universal combinator.
有人用 X86 内存分页机制实现了单指令计算机,思路新奇
这里有一个用 X86 处理器的页表转换行为搭建的单指令计算机。
tptacek查看英文原文
Here's a single-instruction computer built out of the page translation behavior of X86 processors: http://events.ccc.de/congress/2012/Fahrplan/events/5265.en.html
质疑其实用性:性能差,可能只适合极简架构
好奇这有什么现实应用吗?还是主要只有研究价值?感觉它在大多数场景下性能不会好,但对非常简单的架构也许有用。
j_baker查看英文原文
I'm curious, is there any real-world application for this? Or is it mostly interesting from a research perspective? It seems like this wouldn't perform very well in the real world for most applications, but I could see it being useful for very simple architectures.
历次讨论
同类还值得读
位运算技巧集
Bit Twiddling Hacks
斯坦福页面上的经典位运算技巧合集,收录了 popcount、前导/尾随零、位反转、交换、舍入等大量技巧,并附有解释和性能讨论。
算法与计算机科学上首页 8 次 · 2011–2024graphics.stanford.edu编辑精选如何不按平均评分排序
How Not To Sort By Average Rating
经典文章解释了为什么按平均评分排序不可靠:只有少量评价的条目(比如仅一条五星)会轻易排到最前,而评价数量的差异被忽略。
算法与计算机科学上首页 7 次 · 2009–2024evanmiller.org编辑精选数据结构可视化
Data Structure Visualizations
旧金山大学 David Galles 教授制作的数据结构与算法交互式可视化网站,涵盖 B 树、红黑树、排序、图算法等,可逐步操作观察其运行过程。
算法与计算机科学上首页 6 次 · 2011–2021cs.usfca.edu编辑精选1996 年以来的计算机科学最佳论文奖
Best Paper Awards in Computer Science since 1996
Jeff Huang 维护的一个汇总页面,收录了自 1996 年以来计算机科学各主要会议的“最佳论文奖”获奖名单,并按年份和会议整理,方便读者一站式浏览历届获奖论文。
算法与计算机科学上首页 6 次 · 2010–2018jeffhuang.com编辑精选算法(Jeff Erickson)
Algorithms, by Jeff Erickson
伊利诺伊大学 Jeff Erickson 教授的算法课教材,免费在线开放。
算法与计算机科学上首页 5 次 · 2018–2022jeffe.cs.illinois.edu编辑精选