10 ms·
Ask HN: Weirdest Computer Architecture?
My limited understanding of “the stack” is:
Physical substrate: Electronics
Computation theory: Turing machines
Smallest logical/physical parts: Transistors, Logic gates
Largest logical/physical parts: Chips
Lowest level programming: ARM/x64 instructions
First abstractions of programming: Assembly, C compiler
Software architecture: Unix kernel , Binary interfaces
User interface: Screen, Mouse, Keyboard, GNU
Does there exist a computer stack that changes all of these components?
Or at the least uses electronics but substitutes something else for Turing machines and above.
- solardev 2y agoAnalog computers, quantum computers, light based computers, DNA based computers, etc.
- gjvc 2y agorekursiv
- gjvc 2y agohttps://en.wikipedia.org/wiki/Rekursiv https://en.wikipedia.org/wiki/Rekursiv
- runjake 2y agoHere are some architectures that might interest you. Note these are links that lead to rabbit holes. 1. Transmeta: https://en.wikipedia.org/wiki/Transmeta https://en.wikipedia.org/wiki/Transmeta 2. Cell processor: https://en.wikipedia.org/wiki/Cell_(processor) https://en.wikipedia.org/wiki/Cell_(processor) 3. VAX: https://en.wikipedia.org/wiki/VAX https://en.wikipedia.org/wiki/VAX (Was unusual for it's time, but many concepts have since been adopted) 4. IBM zArchitecture: https://en.wikipedia.org/wiki/Z/Architecture https://en.wikipedia.org/wiki/Z/Architecture (This stuff is complete unlike conventional computing, particularly the "self-healing" features.) 5. IBM TrueNorth processor: https://open-neuromorphic.org/blog/truenorth-deep-dive-ibm-neuromorphic-chip-design/ https://open-neuromorphic.org/blog/truenorth-deep-dive-ibm-n... (Cognitive/neuromorphic computing)
- Bluestein 2y ago> Transmeta Whatever happened to them ... They had a somewhat serious go at being "third wheel" back in the early 2000s, mid 1990s? PS. Actually considered getting a Crusoe machine back in the day ...
- runjake 2y agoThey released a couple processors with much lower performance than the market expected, shut that down, started licensing their IP to Intel, Nvidia, and others, and then got acquired.
- em-bee 2y agoi did get a sony picturebook with a transmeta processor. the problem was that as a consumer i didn't notice anything special about it. for transmeta to make it they would have had to either be cheaper or faster or use less power to be attractive for consumer devices.
- Bluestein 2y agoI seem to recall them machines not being cheaper, which was my main hope at the time :)
- em-bee 2y agoi got mine as a gift, so i don't remember the price, but i don't think it was cheap. however that would not even bother me. they would have at least had to be cheaper for manufacturers to make it worth it to put them into more devices.
- sliken 2y agoThey had a great plan, that was promising, and Intel was focused entirely on the pentium-4, which had high clocks for bragging rights, long pipeline (related to the high clocks), and high power usage. However between Transmeta's idea and shipping a product Intel's Israel location came up with the Intel Core series. MUCH more energy efficienct, much better performance per clock, and ideal for lower power platforms like laptops. Sadly transmeta's no longer had a big enough advantage, sales decreased, and I heard many of the engineers ended up at Nvidia, which did use some of their ideas in a nvidia product.
- Hatrix 2y agomicrocode - https://en.wikipedia.org/wiki/Microcode https://en.wikipedia.org/wiki/Microcode memristor - https://www.computer.org/csdl/magazine/mi/2018/05/mmi2018050005/13WBGMRy9Yn https://www.computer.org/csdl/magazine/mi/2018/05/mmi2018050...
- mac3n 2y agoFPGA: non-sequential programming Lightmatter: matrix multiply via optical interferometers Parametron: coupled oscillator phase logic rapid single flux quantum logic: high-speed pulse logic asynchronous logic https://en.wikipedia.org/wiki/Unconventional_computing https://en.wikipedia.org/wiki/Unconventional_computing
- mikewarot 2y agoBitGrid is my hobby horse. It's a Cartesian grid of cells with 4 bit in, 4 bit out, LUTs (look up tables), latched in alternating phases to eliminate race conditions. It's the response to the observation that most of the transistors in a computer are idle at any given instant. There are a full rabbit hole worth of advantages to this architecture once you really dig into it. Description https://esolangs.org/wiki/Bitgrid https://esolangs.org/wiki/Bitgrid Emulator https://github.com/mikewarot/Bitgrid https://github.com/mikewarot/Bitgrid
- bjconlan 2y agoOn reading this I thought "oh someone's doing the Green Arrays thing" but this looks like it pre-dates those CPUs by some time. But as nobody has mentioned it yet surprisingly: https://www.greenarraychips.com/ https://www.greenarraychips.com/ albeit perhaps not weird; just different
- mikewarot 2y agoThe Green arrays chips are quite interesting in their own right. The ability to have a grid of CPUs each working at part of a problem could be used in parallelizing a lot of things, including the execution of LLMs. There are secondary consequences of breaking computation down to a directed acyclic graph of binary logic operations. You can guarantee runtime, as you know a-priori how long each step will take. Splitting up computation to avoid the complications of Amdahl's law should be fairly easy. I hope to eventually build a small array of Raspberry Pi Pico modules that can emulate a larger array than any one module can handle. Linear scaling is a given.
- LargoLasskhyfv 2y agoNag nag...(meant inspirational in case you're unaware of it)... Regarding Amdahl's law and avoiding its complications this fits: https://duckduckgo.com/?q=Apple-CORE+D-RISC+SVP+Microgrids+UTLEON3 https://duckduckgo.com/?q=Apple-CORE+D-RISC+SVP+Microgrids+U... (Not limited to SPARC, conceptually it's applicable almost anywhere else) From the software-/programming-/compiler-side this fits right on top it: https://duckduckgo.com/?q=Dybvig+Nanopass https://duckduckgo.com/?q=Dybvig+Nanopass (Also conceptually, doesn't have to be Scheme, but why not? It's nice.)
- Elfener 2y agohttps://en.wikipedia.org/wiki/Phillips_Machine https://en.wikipedia.org/wiki/Phillips_Machine
- muziq 2y agoThe Apple ‘Scorpius’ thing they bought the Cray in the 80’s for emulating.. RISC, multi-core, but could put all the cores in lockstep to operate as pseudo’SIMD.. Or failing that, the 32-bit 6502 successor the MCS65E4.. https://web.archive.org/web/20221029042214if_/http://archive.6502.org/datasheets/mos_65e4_microprocessor_final_design_spec_may_10_1982.pdf https://web.archive.org/web/20221029042214if_/http://archive...
- 0xdeadbeer 2y agoI heard of counter machines on Computerphile https://www.youtube.com/watch?v=PXN7jTNGQIw https://www.youtube.com/watch?v=PXN7jTNGQIw
- yen223 2y agoA lot of things are Turing-complete. The funniest one to me are Powerpoint slides. https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html https://beza1e1.tuxen.de/articles/accidentally_turing_comple... https://gwern.net/turing-complete https://gwern.net/turing-complete
- jasomill 2y agoI prefer the x86 MOV instruction: https://web.archive.org/web/20210214020524/https://stedolan.net/research/mov.pdf https://web.archive.org/web/20210214020524/https://stedolan.... Removing all but the mov instruction from future iterations of the x86 architecture would have many advantages: the instruction format would be greatly simplified, the expensive decode unit would become much cheaper, and silicon currently used for complex functional units could be repurposed as even more cache. As long as someone else implements the compiler.
- trealira 2y ago> As long as someone else implements the compiler. A C compiler exists already, based on LCC, and it's called the movfuscator. https://github.com/xoreaxeaxeax/movfuscator https://github.com/xoreaxeaxeax/movfuscator
- nailer 2y agoThe giant global computers that are Solana mainnet / devnet / testnet. The programs are compiled from Rust into (slightly tweaked) EBPF binaries and state updates every 400ms, using VDFs to sync clocks between the leaders that are allowed to update state.
- ithkuil 2y agoCDC 6000 was a barrel processor: https://en.m.wikipedia.org/wiki/Barrel_processor https://en.m.wikipedia.org/wiki/Barrel_processor Mill CPU (so far only patent-ware but interesting nevertheless) : https://millcomputing.com/ https://millcomputing.com/
- mikewarot 2y agoI thought magnetic logic was an interesting technology when I first heard of it. It's never going to replace semiconductors, but if you want to compute on the surface of Venus. You just might be able to make it work there. The basic limit is the curie point of the cores, and the source of clock drive signals. https://en.m.wikipedia.org/wiki/Magnetic_logic https://en.m.wikipedia.org/wiki/Magnetic_logic
- mikewarot 2y agoVacuum tubes would be the perfect thing to generate the clock pulses, as they can be made to withstand the temperatures, vibrations, etc. I'm thinking a nuclear reactor to provide heat via thermopiles might be the way to power it. However... it's unclear how thermally conductive the "atmosphere" there is, it might make heat engines unworkable, no matter how powerful.
- dann0 2y agoThe AMULET Project was an asynchronous version of ARM microprocessors. Maybe one could design away the clock like with these? https://en.wikipedia.org/wiki/AMULET_(processor) https://en.wikipedia.org/wiki/AMULET_(processor)
- mikewarot 2y agoIn the case of magnetic logic, the multi-phase clock IS the power supply. Vacuum tubes are quite capable of operating for years in space, if properly designed. I assume the same could be done for the elevated pressures and temperatures on the surface of Venus. As long as you can keep the cathode significantly hotter than the anode, to drive thermionic emission in the right direction, that is.
- aaron695 2y ago[dead]
- phyalow 2y agoReservoir computers; https://en.m.wikipedia.org/wiki/Reservoir_computing https://en.m.wikipedia.org/wiki/Reservoir_computing
- amy-petrik-214 2y agothey was some interesting funk in the 80s : Lisp computer: https://en.wikipedia.org/wiki/Lisp_machine https://en.wikipedia.org/wiki/Lisp_machine (these were very hot in 1980s era AI) connection machine: https://en.wikipedia.org/wiki/Connection_Machine https://en.wikipedia.org/wiki/Connection_Machine (a gorillion monobit processor supercluster) let us also not forget The Itanic
- defrost 2y agoSetun: three-valued ternary logic computer instead of the common binary- https://en.wikipedia.org/wiki/Setun https://en.wikipedia.org/wiki/Setun Not 'weird' but any architecture that doesn't have an 8-bit byte causes questions and discussion. EG: Texas Instruments DSP chip family for digital signal processing, they're all about deep pipelined FFT computations with floats and doubles, not piddling about with 8-bit ASCII .. there's no hardware level bit operations to speak of, and the smallest addressable memory size is either 32 or 64 bits.
- metaketa 2y agoHVM using interaction nets as alternative to Turing computation deserves a mention. Google: HigherOrderCompany
- dongecko 2y agoMotorola used to have a one bit microprocessor, the MC14500B.
- prosaic-hacker 2y agoBreadboard implementation using the MC14500b Usagi Electric 1-Bit Breadboard Computer P.01 – The MC14500 and 555 Clock Circuit https://www.youtube.com/watch?v=oPA8dHtf_6M&list=PLnw98JPyObn1GUapiXLlGm8RrpQF-J_c1 https://www.youtube.com/watch?v=oPA8dHtf_6M&list=PLnw98JPyOb...
- Dr_Jefyll 2y ago"One Bit Computing at 60 Hz" describes a one-bit design of my own that folks have repeatedly posted to HN. It's notable for NOT using the MC14500... (and for puzzling some of the readers!) The original 2019 post by Garbage [1] attracted the most comments. But in a reply to one of the subsequent posts [2] I talk a bit about actually coding for the thing. :) [1] https://news.ycombinator.com/item?id=7616831 https://news.ycombinator.com/item?id=7616831 [2] https://news.ycombinator.com/item?id=20565779 https://news.ycombinator.com/item?id=20565779
- ksherlock 2y agoThe tinker toy computer doesn't even use electricity.
- trealira 2y agoThe ENIAC, the first computer, didn't have assembly language. You programmed it by fiddling with circuits and switches. Also, it didn't use binary integers, but decimal ones, with 10 vacuum tubes to represent the digits 0-9.
- dholm 2y agohttps://millcomputing.com/docs/ https://millcomputing.com/docs/
- RecycledEle 2y agoUsing piloted pneumatic valves as logic gates blew my mind. If you are looking for strangeness, the 1990's to early 2000's microcontrollers had I/O ports, but every single I/O port was different. None of them had a standard so that we could (for example) plug in a 10-pin header and connect the same peripheral to any of the I/O ports on a single microcontroller, much less any microcontroller they made in a family of microcontrollers.
- porridgeraisin 2y agoCrab powered computer: http://phys.org/news/2012-04-scientists-crab-powered.html http://phys.org/news/2012-04-scientists-crab-powered.html Yes, real crabs
- vismit2000 2y agoHow about water computer? https://youtu.be/IxXaizglscw https://youtu.be/IxXaizglscw
- drakonka 2y agoThis reminds me of a talk I went to at the 2020 ALIFE conference, in which the speaker presented an infinitely-scalable architecture called the "Movable Feast Machine". He suggested relinquishing hardware determinism - the hardware can give us wrong answers and the software has to recover, and in some cases the hardware may fail catastrophically. The hardware is a series of tiles with no CPU. Operations are local and best-effort, determinism not guaranteed. The software then has to reconcile that. It was quite a while ago and my memory is hazy tbh, but I put some quick notes here at the time: https://liza.io/alife-2020-soft-alife-with-splat-and-ulam/ https://liza.io/alife-2020-soft-alife-with-splat-and-ulam/
- sitkack 2y agoDave Ackley Now working on the T2 Tile Project https://www.youtube.com/@T2TileProject https://www.youtube.com/@T2TileProject
- theideaofcoffee 2y agoI was hoping someone was going to mention Dave Ackley and the MFM. It has really burrowed down into my mind and I start to see applications of it even when I'm not looking out for it. It really is a mindfuck and I wish it was something that was a bit more top of mind for people. I really think it will be useful when computation becomes even more ubiquitous than it is now, how we'll have to think even more about failure, and make it a first class citizen. Though I think it will be difficult to switch the narrative of better-performance-at-all-costs mindset toward something like this. For almost every application, you'd probably be better off worrying about integrity than raw speed.
- jecel 2y ago"Computer architecture" is used in several different ways and that can lead to some very confusing conversations. Your proposed stack has some of this confusion. Some alternative terms might help: "computational model": finite state machine, Turing machine, Petri nets, data-flow, stored program (a.k.a. Von Neumann, or Princeton), dual memory (a.k.a. Harvard), cellular automata, neural networks, quantum computers, analog computers for differential equations "instruction set architecture": ARM, x86, RISC-V, IBM 360 "instruction set style": CISC, RISC, VLIW, MOVE (a.k.a TTA - Transport Triggered Architecture), Vector "number of addresses": 0 (stack machine), 1 (accumulator machine), 2 (most CISCs), 3 (most RISCs), 4 (popular with sequential memory machines like Turing's ACE or the Bendix G-15) "micro-architecture": single cycle, multi-cycle, pipelines, super-pipelined, out-of-order "system organization": distributed memory, shared memory, non uniform memory, homogeneous, heterogeneous With these different dimensions for "computer architecture" you will have different answers for which was the weirdest one.
- jy14898 2y agoTransputer > The name, from "transistor" and "computer", was selected to indicate the role the individual transputers would play: numbers of them would be used as basic building blocks in a larger integrated system, just as transistors had been used in earlier designs. https://en.wikipedia.org/wiki/Transputer https://en.wikipedia.org/wiki/Transputer
- jy14898 2y agoWeird for its time, not so much today
- jacknews 2y agoOf course there are things like the molecular mechanical computers proposed/popularised by Eric Drexler etc. I think Transport-triggered architecture (https://en.wikipedia.org/wiki/Transport_triggered_architecture https://en.wikipedia.org/wiki/Transport_triggered_architectu...) is something still not fully explored.
- ranger_danger 2y ago9-bit bytes, 27-bit words... middle endian. https://dttw.tech/posts/rJHDh3RLb https://dttw.tech/posts/rJHDh3RLb
- sshine 2y agoThese aren't implemented in hardware, but they're examples of esoteric architectures: zk-STARK virtual machines: https://github.com/TritonVM/triton-vm https://github.com/TritonVM/triton-vm https://github.com/risc0/risc0 https://github.com/risc0/risc0 They're "just" bounded Turing machines with extra cryptography. The VM architectures have been optimized for certain cryptographic primitives so that you can prove properties of arbitrary programs, including the cryptographic verification itself. This lets you e.g. play turn-based games where you commit to make a move/action without revealing it (cryptographic fog-of-war): https://www.ingonyama.com/blog/cryptographic-fog-of-war https://www.ingonyama.com/blog/cryptographic-fog-of-war The reason why this requires a specialised architecture is that in order to prove something about the execution of an arbitrary program, you need to arithmetize the entire machine (create a set of equations that are true when the machine performs a valid step, where these equations also hold for certain derivatives of those steps).
- Paul-Craft 2y agoNo instruction set computer: https://en.wikipedia.org/wiki/No_instruction_set_computing https://en.wikipedia.org/wiki/No_instruction_set_computing
- elkekeer 2y agoA multi-core Propeller processor by Parallax (https://en.wikipedia.org/wiki/Parallax_Propeller https://en.wikipedia.org/wiki/Parallax_Propeller) in which multitasking is done by cores (called cogs) taking turns: first, code is executed on the first cog, then, after a while, on the second, then on the third, etc.
- yencabulator 2y agoLinked in another comment, that seems to be an example of https://en.m.wikipedia.org/wiki/Barrel_processor https://en.m.wikipedia.org/wiki/Barrel_processor
- Joker_vD 2y agoIBM 1401. One of the weirdest ISAs I've ever read about, with basically human readable machine code thanks to BCD.
- jonjacky 2y agoYes, it had a variable word length - a number was a string of decimal digits of any length, with a terminator at the end, kind of like a C character string. Machine code including instructions and data was all printable characters, so you could punch an executable program right onto a card, no translation needed. You could put a card in the reader, press a button, and the card image would be read into memory and executed, no OS needed. Some useful utilities -- list a card deck on the printer, copy a card deck to tape -- fit on a single card. https://en.wikipedia.org/wiki/IBM_1401 https://en.wikipedia.org/wiki/IBM_1401
- GistNoesis 2y agohttps://en.wikipedia.org/wiki/Unconventional_computing https://en.wikipedia.org/wiki/Unconventional_computing There is also Soap Bubble Computing, or various form of annealing computing (like quantum annealing or Adiabatic quantum computation), where you set up your computation as the optimal value of a physical system you can define.
- joehosteny 2y agoThe Piperench runtime reconfigurable FPGA out of CMU: https://research.ece.cmu.edu/piperench/ https://research.ece.cmu.edu/piperench/
- t312227 2y agohello, great collection of interesting links - kudos to all! :=) idk ... but isn't the "general" architecture of most of our computers "von neumann"!? * https://en.wikipedia.org/wiki/Von_Neumann_architecture https://en.wikipedia.org/wiki/Von_Neumann_architecture but what i miss from the various lists, is the "transputer"-architecture / ecosystem from INMOS - a concept of heavily networked arrays of small cores from the 1980ties about transputers * https://en.wikipedia.org/wiki/Transputer https://en.wikipedia.org/wiki/Transputer about INMOS * https://en.wikipedia.org/wiki/Inmos https://en.wikipedia.org/wiki/Inmos i had the possibility to take a look at a "real life" ATW - atari transputer workstation - back in the days at my university / CS department :)) mainly used with the Helios operating-system * https://en.wikipedia.org/wiki/HeliOS https://en.wikipedia.org/wiki/HeliOS to be programmed in occam * https://en.wikipedia.org/wiki/Occam_(programming_language) https://en.wikipedia.org/wiki/Occam_(programming_language) the "atari transputer workstation" ~ more or less a "smaller" atari mega ST as the "host node" connected to an (extendable) array of extension-cards containing the transputer-chips: * https://en.wikipedia.org/wiki/Atari_Transputer_Workstation https://en.wikipedia.org/wiki/Atari_Transputer_Workstation just my 0.02€
- madflame991 2y ago> but isn't the "general" architecture of most of our computers "von neumann"!? That's something I was also curious about and it turns out Arduinos use the Harvard architecture. You might say Arduinos are not really "computers" but after a bit of googling I found an Apple II emulator running on an Arduino and, well, an Apple II is generally accepted to be a computer :)
- t312227 2y agohello, if i remember it correctly the main difference of the "harvard"-architecture was: it uses its own data and program/instruction buses ... * https://en.wikipedia.org/wiki/Harvard_architecture https://en.wikipedia.org/wiki/Harvard_architecture i think texas instruments 320x0 signal-processors used this architecture ... back in, you guessed it!, the 1980ties. * https://en.wikipedia.org/wiki/TMS320 https://en.wikipedia.org/wiki/TMS320 ah, they use a modified harvard architecture :)) * https://en.wikipedia.org/wiki/Modified_Harvard_architecture https://en.wikipedia.org/wiki/Modified_Harvard_architecture cheers!
- sshb 2y agoThis unconventional computing magazine came to my mind: http://links-series.com/links-series-special-edition-1-unconventional-computing/ http://links-series.com/links-series-special-edition-1-uncon... Compute with mushrooms, compute near black holes, etc.
- 29athrowaway 2y agoThe Soviet Union water integrator. An analog, water based computer for computing partial differential equations. https://en.m.wikipedia.org/wiki/Water_integrator https://en.m.wikipedia.org/wiki/Water_integrator
- dsr_ 2y agoThere are several replacements for electronic logic; some of them have even been built. https://en.wikipedia.org/wiki/Logic_gate#Non-electronic_logic_gates https://en.wikipedia.org/wiki/Logic_gate#Non-electronic_logi...
- CalChris 2y agoIntel's iAPX 432. 1975. Instructions were bit-aligned, stack based, 32-bit operations, segmented, capabilities, .... It was so late+slow that the 16-bit 8086 was created. https://en.wikipedia.org/wiki/Intel_iAPX_432 https://en.wikipedia.org/wiki/Intel_iAPX_432
- wallstprog 2y agoI thought it was a brilliant design, but it was dog-slow on hardware at the time. I keep hoping someone would revive the design for current silicon, would be a good impedance match for modern languages, and OS's.
- supercoffee 2y agoI'm fascinated by the mechanical fire control computers of WW2 battleships. https://arstechnica.com/information-technology/2020/05/gears-of-war-when-mechanical-analog-computers-ruled-the-waves/ https://arstechnica.com/information-technology/2020/05/gears...
- mikequinlan 2y agohttps://en.wikipedia.org/wiki/General_purpose_analog_computer https://en.wikipedia.org/wiki/General_purpose_analog_compute...
- osigurdson 2y agoI'm not sure what the computer architecture was, but I recall the engine controller for the V22 Osprey (AE1107) used odd formats like 11 bit floating point numbers, 7 bit ints, etc.
- CoastalCoder 2y agoWhy past tense? Does the Osprey no longer use that engine or computer?
- jareklupinski 2y agoPhysical Substrate: Carbon / Water / Sodium Computation Theory: Cognitive Processes Smallest parts: Neurons Largest parts: Brains Lowest level language: Proprietary First abstractions of programming: Bootstrapped / Self-learning Software architecture: Maslow's Theory of Needs User Interface: Sight, Sound
- theandrewbailey 2y agoThe big problem is that machines built using these technologies tend to be unreliable. Sure, they are durable, self-repairing, and can run for decades, but they can have a will of their own. While loading a program, there is a non-zero chance that the machine will completely ignore the program and tell you to go f*** yourself.
- variadix 2y agoFrom the creator of Forth https://youtu.be/0PclgBd6_Zs https://youtu.be/0PclgBd6_Zs 144 small computers in a grid that can communicate with each other
- AstroJetson 2y agoHuge fan of the Burroughs Large Systems Stack Machines. https://en.wikipedia.org/wiki/Burroughs_Large_Systems https://en.wikipedia.org/wiki/Burroughs_Large_Systems They had an attached scientific processor to do vector and array computations. https://bitsavers.org/pdf/burroughs/BSP/BSP_Overview.pdf https://bitsavers.org/pdf/burroughs/BSP/BSP_Overview.pdf
- convivialdingo 2y agoIncredibly odd system which had no assembler. Almost a pure stack machine, some models had a 51 bit word (48 bit and a 3 bit tag). One of the first machines with NUMA & SMP, segmented memory, and virtual memory (but with all the oddness of a first innovator). I knew some of the engineers at Unisys who were still supporting Clearpath and Libra. Even they thought Burroughs was weird...
- AstroJetson 2y agoAssembler was possible in both ESPOL and NEWP, there was a way to load the initial stack at boot time to get things in place. But it was only a few instructions worth. There was actually a patch to the Algol compiler from UC Davis that let you put any instruction in place. I used that to create named pipes for applications to use. There was interesting procedure names in the Master Control Program (yes, Tron fans, the real MCP) JEDGARHOOVER was central to system level security. I taught the customer facing MCP class for a few years. In the early days they gave you the source code and it wasn't uncommon for people to make patches and share them around. Everyone sent patches into the plant and in a release or two you would see them come back as official code.
- floxy 2y agoRapid Single Flux Quantum circuits: https://spectrum.ieee.org/superconductor-ics-the-100ghz-second-generation https://spectrum.ieee.org/superconductor-ics-the-100ghz-seco...
- BarbaryCoast 2y agoLook at the earliest computers, that is, those around the time of ENIAC. Most were electro-mechanical, some were entirely relay machines. I believe EDSAC was the first _electronic_ digital computer. As for weird, try this: ENIAC instructions modified themselves. Back then, an "instruction" (they called them "orders") included the addresses of the operands and destination (which was usually the accumulator). So if you wanted to sum the numbers in an array, you'd put the address of the first element in the instructions, and as ENIAC repeated that instruction (a specified number of times), the address in the instruction would be auto-incremented. Or how about this: a computer with NO 'jump' or 'branch' instruction? The ATLAS-1 was a landmark of computing, having invented most of the things we take for granted now, like virtual memory, paging, and multi-programming. But it had NO instruction for altering the control flow. Instead, the programmer would simply _write_ to the program counter (PC). Then the next instruction would be fetched from the address in the PC. If the programmer wanted to return to the previous location (a "subroutine call"), they'd be obligated to save what was in the PC before overwriting it. There was no stack, unless you count a programmer writing the code to save a specific number of PC values, and adding code to all subroutines to fetch the old value and restore it to the PC. I do admire the simplicity -- want to run code at a different address? Tell me what it is and I'll just go there, no questions asked. Or maybe these shouldn't count as "weird", because no one had yet figured out what a computer should be. There was no "standard" model (despite Von Neumann) for the design of a machine, and cost considerations plus new developments (spurred by wanting better computers) meant that the "best" design was constantly changing. Consider that post-WWII, some materials were hard to come by. So much so that one researcher used a Slinky (yes, the toy) as a memory storage device. And had it working. They wanted acoustic delay lines (the standard of the time), but the Slinky was more available. So it did the same job, just with a different medium. I've spent a lot of time researching these early machines, wanting to find the path each item in a now-standard model of an idealized computer. It's full of twists and turns, dead ends and unintentional invention.
- mbfg 2y agoI've got to believe x86 is in the running. We don't think of it because it is the dominate architecture, but it's kind of crazy.
- dwrodri 2y agoIf you really want to see some esoteric computer architecture ideas, check out Mill Computing: https://millcomputing.com/wiki/Architecture https://millcomputing.com/wiki/Architecture. I don't think they've etched any of their designs into silicon, but very fascinating ideas nonetheless.
- PeterStuer 2y agoIn the 80's our lab lobbied the university to get a CM-1. We failed and they got a Cray instead. The connection machine was a realy different architectute aimed at massive partallel execution https://en.wikipedia.org/wiki/Connection_Machine https://en.wikipedia.org/wiki/Connection_Machine
- gregorymtravis 2y agoIvan Sutherland has been trying to get rid of the clock: https://news.ycombinator.com/item?id=11425533 https://news.ycombinator.com/item?id=11425533 https://www.cs.virginia.edu/~robins/Computing_Without_Clocks.pdf https://www.cs.virginia.edu/~robins/Computing_Without_Clocks...
- ChristopherDrum 2y agoMythic produces an analog processor https://mythic.ai/ https://mythic.ai/ There is also the analog computer The Analog Thing https://the-analog-thing.org/ https://the-analog-thing.org/
- yencabulator 2y agoJust the operating system, but I like Barrelfish's idea of having a separate kernel on every core and doing message passing. Each "CPU driver" is single-threaded, non-preemptible (no interrupts), shares no state, bounded-time, and runs to completion. Userspace programs can access shared memory, but the low-level stuff doesn't do that. Bounded-time run to completion kinda makes me think of seL4, if it was designed to be natively multicore. https://en.wikipedia.org/wiki/Barrelfish_(operating_system) https://en.wikipedia.org/wiki/Barrelfish_(operating_system) https://barrelfish.org/publications/TN-000-Overview.pdf https://barrelfish.org/publications/TN-000-Overview.pdf
- vapemaster 2y agosince this is a bit of a catch-all thread, i'll toss Anton into the ring: a whole bunch of custom ASICs to do Molecular Dynamics simulations from D.E. Shaw Research https://en.wikipedia.org/wiki/Anton_(computer) https://en.wikipedia.org/wiki/Anton_(computer)