Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Kazinsal
Dec 13, 2011


A few people have said they wanted a place to talk about non-x86 architectures and platforms, both current and past, so here's a thread for them! I only know a couple well enough to write about, so everyone feel free to contribute writeups on platforms in your domain!

A brief rundown of some currently in production real-world architectures:
  • ARM, which formerly stood for Advanced (or Acorn) RISC Machine, is by far the most common non-x86 CPU architecture. It's a RISC ISA that dates back to the mid-1980s and is currently the king of embedded SoCs. It's in basically every smartphone and most tablets, and Apple is midway through transitioning their x86 Macs over to their own Apple Silicon ARM platform. ARM has most of the mobile space, and is emerging into the desktop space thanks to Apple and into the server space from companies such as Marvell and Ampere Computing.
  • RISC-V is an open-source, constantly evolving ISA that anyone (with sufficient fabrication capabilities) can implement, manufacture, and market CPUs for. It's only been truly "stable" for a few years now so it's still a newcomer in all spaces, but offerings from companies like SiFive (who freely lets you design and test custom RISC-V cores based on their core IP in their online designer tool) are putting actual working RISC-V boards in the hands of developers and consumers through their own channels as well as through third parties such as the BeagleBoard.org project.
  • MIPS is another 80s RISC design that is still getting updated (the latest release of the MIPS64 ISA spec is from 2014). I don't know much about what MIPS is used for other than in a number of deeply embedded situations such as small networking appliances (Ubiquiti's routers are MIPS-based, for example), but it seems cool!
  • PowerPC is a RISC architecture from IBM that evolved from their original POWER RISC machines and eventually supplanted the original POWER ISA before confusingly being renamed "Power ISA". Everyone, including IBM, still calls it PowerPC though. Apple used PowerPC from the mid-90s through the mid-2000s, the seventh generation game consoles used custom PowerPC CPUs, and a bunch of modern satellites still use PowerPC because fairly speedy radiation-hardened PowerPC chips are a thing that works quite well, apparently.

There are also some historic architectures that are still of note:
  • SPARC was Sun's RISC that replaced the Motorola 68000 family in their line of Unix (SunOS) workstations and servers. It also ended up in a few non-Sun products, such as Tadpole's SPARCbook series of laptops in the mid-late 90s. It's pretty much dead now, but you can still find relatively decade-old SPARC gear for not a lot of money on eBay. SPARC was originally a 32-bit architecture, but SPARC64 (formally SPARC V9) was introduced in 1993, so pretty much any SPARC machine you get that isn't proper vintage kit is going to be a 64-bit RISC machine. Linux and the BSDs all maintain up to date 64-bit SPARC ports.
  • VAX was a CISC architecture minicomputer that replaced DEC's venerable PDP-11 minicomputer series by taking the same general ISA theory and extending it to 32 bits with full baked in support for virtual memory management and privilege levels (thus the name, Virtual Address eXtension). If you find a working VAX, I will quite envious of you, but not of your power bill.
  • Motorola's 68000 (m68k) family was a microcomputer-focused CISC family that is notable for being the CPU that powered the first decade and a half of Macintosh computers. 68k machines are pretty much a curiosity at this point.
  • I don't know nearly enough about PA-RISC, NS32k, Alpha, or Super-H to talk about them.

If anyone wants to do any writeups, feel free! I'd love to link them in the OP because I'm sure there are goons out there who have way more experience with developing for and using these platforms than I do. Also please let me know if I've massively screwed up anything in the OP or if there's things I should add. Now go forth and argue about what the best OS to run on an AlphaServer 800, and why it's Windows NT!

Adbot
ADBOT LOVES YOU

Kazinsal
Dec 13, 2011


karoshi posted:

e: MIPS was on CISCO routers, back then. The 7200/7500 series used them. (Juniper went x86 from the beginning, but they were doing the actual switching on ASICs) BCOM also had a lot MIPS-based Ethernet switch SOCs. I assume they're going ARM now?

So was NS32k! The management plane of some Catalyst switches used them, I believe. And really early IOS devices were m68k. I have this awesome super nerdy book from 1999 about the internals of Cisco routers and the then-current IOS 12.0 kernel and it's got some really neat notes about the platform buses used in old Cisco routers, with a whole chapter dedicated to the crowning achievement of the Cisco 12000 Series Gigabit Switch Router! ::hellyeah::

Kazinsal
Dec 13, 2011


:aaa:

That's awesome! Can't wait to see more of it.

Kazinsal
Dec 13, 2011


That's going to cause some interesting stall situations. Imagine you have 16 threads (as in pre-emptive multitasking execution threads, not simultaneous multithreading logical processors) that all want to access the AI accelerator and now need to schedule what order they each get to run their code in. Now you need to worry about saving/flushing/uploading/restoring state between each invocation, across each core, including situations where now you need to save and flush your thread's AI accelerator state to memory because there are 15 other threads ahead of you in the accelerator's work queue and you can't just idle because there's other non-accelerator-touching code to be executed.

I've not really been a fan of AVX because of the power/thermals/clock speed implications it has but losing 100 MHz on your all-core turbo when an AVX instruction enters the pipeline is preferable to having to completely re-juggle your scheduled threads in the event that one thread needs more linear time chugging away at a parallel vector math problem, because now processor X is hogging the AI accelerator and processors A through F are waiting for it to finish up and release the lock on the accelerator or process its job instead of just being able to do 8xFP64 FMAs in a normal ISA extension instruction that executes in series with the rest of the code. I suppose in an incredibly optimized environment it could have some excellent advantages because the CPU cores can be munching on some data returned from the AI accelerators in the integer/ALU path while they wait for their next AI job to be executed but since my low-level field of expertise is primarily in the memory/ALU space and not in the SIMD/vector space I'm not really sure what the difference is between this and an on-chip GPU that has no video output and only accepts compute shaders other than not having to deal with the overhead of needing to compile generic compute shader code to the shader cores' machine language.

(Disclaimer: I do not do kernel-level task scheduling algorithms for a living, just for fun. There are people who actually know more about this than I do and have written papers on it. I am just some dick who writes weird custom kernel poo poo for fun.)

Kazinsal
Dec 13, 2011


I have made a terrible, awful, wonderful mistake.

Kazinsal
Dec 13, 2011


There was an S-100 CPU card that used the WD16 from Alpha Microsystems called the AM-100. Not sure what the microcode on it was but the issue with the WD16 was that it was slow as hell compared to other comparable 16-bit machines. 16-bit add times were about 3.5 us, which is only marginally faster than a 2.5 MHz Z80's 4.4 us and slower than a 4 MHz Z80's 2.7 us.

Alpha Micro's next S-100 CPU card used an MC68000.

Kazinsal
Dec 13, 2011


My VAX let out the magic smoke. Powered it on the other night to fiddle around with netbooting, and a couple minutes in it powered off and smelled distinctly of a capacitor that decided it didn’t want to live on this planet anymore. Anyone ever recap a MicroVAX 3100 before? :v:

Kazinsal
Dec 13, 2011


eschaton posted:

we still need a YOSVAX running somewhere

There’s a reason I was trying to netboot it. What’s more yosvax than a yosvax running a bespoke operating system? :science:

Kazinsal
Dec 13, 2011


Did SiFive give up the ghost or something, because it seems like they actually had enough of a technical foothold to be able to poo poo out plans for RISC-V cores for everyone and their grandma on request five years ago but nobody has come up with a realistically useful RISC-V based appliance board yet.

Two GigE ports on some mysterious prototype from Shenzhen is better than what we've seen until now but it's still basically loving nothing. We're a year out from PC Engines shutting down because they can't get parts for their frankly archaic GX-412TC based board but at least that could do 8Gbps of firewalled throughput for the 4x1GbE ports on the board just fine.

Since they're giving up the ghost and the only apparent successor is fly by night Aliexpress brands making GBS threads out unconfirmed spec-adjacent RV64 boards, I have no idea what the plan is from here on out for low cost open source network edge machines. And as someone who is a network person professionally and an OSS network person personally, that concerns me.

Kazinsal fucked around with this message at 11:22 on Jul 8, 2023

Kazinsal
Dec 13, 2011


Interestingly enough, no SMT.

Machine translation of the spec sheet:

Adbot
ADBOT LOVES YOU

Kazinsal
Dec 13, 2011


Hasturtium posted:

I was really looking forward to SiFive’s P550 board, but it sounds like that was quietly canceled or is stuck in development hell, and possibly been replaced by a P650 design that hasn’t been formally announced… In terms of non-x86 motherboards, what’s available in a uATX/ITX form factor with a PCIe x16 slot besides the Hifive Unmatched? The Milk-V Oasis would be perfect if it had an expansion slot, the Pioneer is wild overkill for what I’m looking for, and a lot of ARM boards have limitations in their PCIe root complex that make GPUs fraught to impossible. Is there another option I’m missing? I’ve already got a Power9, but that’s my main machine and I’m an inveterate tinkerer.

I would not expect much in the way of tangible product out of SiFive in the near future considering they fired all their engineering staff last October.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply