VOGONS


Reply 20 of 40, by Scali

User metadata
Rank l33t
Rank
l33t

I used to have two 1541 drives with my C64, and I think it was Fast Hack'em III which allowed me to let the drives copy a disk by themselves.
It would upload the copy program to the first drive, and the first drive would then take control of the second drive, so the disk was copied 'on the fly', sector for sector.
You could actually unplug the drives from the C64, and connect two new drives, to start a second copy while the first one was still going etc.

I have to say, I've never actually seen this 'on the fly' copying on a PC. On Amiga if you had multiple drives, it would also copy 'on the fly', so copying a disk took only slightly longer than reading it.
On PC, all programs I've used would just load the disk into memory first, then write it to the second drive, taking twice as long. When your disk was larger than 640K, it would copy the disk in parts. I think this was a limitation in the floppy controller, where only one drive could be active at a time.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 21 of 40, by CelGen

User metadata
Rank Member
Rank
Member

HP 9845 machines were truly multiprocessing machines but it was 1980 and these are NOT home computers.
There was back in the Apple II+ era two or three variants of a card that you plugged into your machine and it gave you a Motorola MC68008. There's a a translated document online covering how to build the board yourself and it mentions that you can use both CPU's at the same time in hybrid applications but there seems to of been no software ever made for this because unlike the Z80 CP/M cards the 68K chips were still extremely expensive. There's also apparently a supplemental document that was never scanned that modified the coprocessor card further to allow one machine to have the MOS 6502, MC68008 AND the Zilog Z80.

emot-science.gif "It's science. I ain't gotta explain sh*t" emot-girl.gif

Reply 22 of 40, by brostenen

User metadata
Rank l33t++
Rank
l33t++

Not for home use, as it was on a school I saw it.
It was a dual 486, running eighter NT 3.50 or 3.51.
It was back in in the early 1995.
I think it was a Digital. (Maby)

Don't eat stuff off a 15 year old never cleaned cpu cooler.
Those cakes make you sick....

My blog: http://to9xct.blogspot.dk
My YouTube: https://www.youtube.com/user/brostenen

001100 010010 011110 100001 101101 110011

Reply 23 of 40, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

How about the BBC Master and any one of the various second processor boxes? I'm lucky enough to have a Master and a second 65c02 to play Elite 'Executive Edition' 😀 Plus there were compilers and such that could run code using both.

Loads of CP/M era machines had combinations of 6502 and Z80, or similar, so that they could run software from multiple systems, though not necessarily at the same time.

Plenty of examples of early SMP boards for x86 (486 and upwards) on workstation class systems, though not really home-use per se. P2/P3 is probably where it started to become more commonplace - the BX chipset for a start was mass-market and could support dual processors as easily as it could run single.

My collection database and technical wiki:
https://www.target-earth.net

Reply 24 of 40, by bhtooefr

User metadata
Rank Newbie
Rank
Newbie

So, there's quite a few different definitions of multiprocessing.

For the modern form of it, where normal end user processes can run on any arbitrary CPU, this requires all CPUs to be the same architecture, and the OS to know how to assign processes to said arbitrary CPUs.

Complicating that particular discussion is the stipulation in the topic of home PCs. (Office PCs were also mentioned, and that's much simpler, I'll get to that, because office PCs includes workstations.)

For home machines in particular, under the modern definitions of multiprocessing, a Windows-based multiprocessing home PC was not possible before XP (because XP was the first home release of NT, and no multiprocessing of any form was supported under non-NT Windows), and a multiprocessing home Mac was not possible before OS X (OS 7.5 through 9 supported multiprocessing, but not in the modern sense - only multiprocessor-aware applications could use it at all, and they specifically called a multiprocessing API to spin threads off, the main process remained running on the first processor).

I'm going to go with the BeBox as the first modern multiprocessing home machine, and that only because they aimed it at home enthusiast users as a secondary market, content creation being the primary market.

For x86, all of the pre-Pentium D/Athlon 64 X2 hardware except for the Abit BP6 was marketed as workstation-class hardware, not enthusiast-class hardware. Therefore, the BP6 was the first home enthusiast multiprocessing x86 motherboard, although it needed BeOS, Linux, or NT4/2000 to take advantage of it. For Windows specifically, as a home platform, it'll be whatever non-workstation machine was first to get either an Athlon 64 X2 or a Pentium D slapped in its socket (because the Abit BP6 was out of production by the time XP came out).

Now, for office, this becomes far, far easier. Sun SPARCStation 10 for desktop RISC workstation, NCR 3360 for deskside x86 workstation (dual Pentiums), VTech Platinum SMP for desktop x86 workstation (dual 486DX2s). (Also, the Platinum SMP configurations that didn't ship with NT 3.1 didn't have the SMP Power Board, which was the daughtercard that carried the second CPU, and went into a modified VLB slot, they were only single CPU.)

And, really, everything above is on marketing lines more than anything. Really, you could run any of the above machines for home use, although for an NCR 3360 or Platinum SMP, you may well need to reboot into DOS/Windows 3.1 to do a lot of tasks (but an Abit BP6, running Windows 2000, would have been fine for most things), and the SPARCStation 10 would confine you to the Unix world (although x86 emulators existed for running DOS and Windows 3.1 in a pinch, even back then).

Now, under other definitions, which allowed for task offload (ala the pre-OS X Macs)... for home use, I'll concur with the C64 and its widespread use of the 1541's CPU to offload certain tasks to, although a ROM upgrade on both ends was needed to improve performance if those workloads required passing a lot of data between the host and 1541 CPUs. There were certainly many other asymmetric multiprocessor architectures at the time, but usually they were used for I/O offload (IIRC, the HP 9845 example was using the second processor, which was in the monitor, as a GPU). (And, while some of the Z80 cards for Apple IIs supported running independently of the 6502 (PCPI Applicards and clones), that wasn't usually used for actual multiprocessing workloads.)

Reply 25 of 40, by Scali

User metadata
Rank l33t
Rank
l33t
bhtooefr wrote:

For the modern form of it, where normal end user processes can run on any arbitrary CPU, this requires all CPUs to be the same architecture, and the OS to know how to assign processes to said arbitrary CPUs.

I don't think that's quite true.
This is the 'symmetric multiprocessing' subset you are describing.
Modern PCs can also do asymmetric multiprocessing, eg by offloading certain work to the GPU (even the simplest/cheapest home PCs come with a GPU these days, and can at least offload basic tasks such as drawing the GUI, accelerating basic 3d rendering, and decoding/rescaling/post-processing video).

bhtooefr wrote:

although a ROM upgrade on both ends was needed to improve performance if those workloads required passing a lot of data between the host and 1541 CPUs.

That is not correct.
The ROMs only contained the 'default' firmware. You could overwrite this software with a stock C64 and 1541.
Many games/demos included their own disk-turbo routines, as did various popular cartridges.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 26 of 40, by bhtooefr

User metadata
Rank Newbie
Rank
Newbie

And, to be entirely fair, I was definitely talking about modern symmetric (from the software perspective) multiprocessing, which is what most people think of when talking about multiprocessing nowadays. (And, software perspective SMP can be done on ASMP hardware - the Compaq SystemPro being a perfect example. The OSes that ran on it (NT 3.1, SCO MPX) could hand arbitrary processes off to the second CPU, even though it was very much a slave CPU, with the master CPU handling all interrupts.)

GPU offload, however, would include a lot more systems, but GPU offload requires specially crafted code to run on a GPU, it doesn't just happen automatically. (Similarly, software perspective ASMP requires the same thing, see Mac OS 7.5-9.2 multiprocessing.)

And, I guess I was thinking about JiffyDOS, but that's just a fastloader for things that don't come with their own fastloader, and I forgot about fastloaders coming with programs (the C64 not being a platform I'm that familiar with). So, yeah, if you wanted to do ASMP on a 1541, you could just bring your own fastloader.

Reply 27 of 40, by Scali

User metadata
Rank l33t
Rank
l33t
bhtooefr wrote:

GPU offload, however, would include a lot more systems, but GPU offload requires specially crafted code to run on a GPU, it doesn't just happen automatically. (Similarly, software perspective ASMP requires the same thing, see Mac OS 7.5-9.2 multiprocessing.)

Depends on what you mean by 'specially crafted code'.
Graphics acceleration has been a standard feature of Windows even since the 3.x-era. As long as you have drivers for your specific hardware, acceleration does indeed happen 'automatically' for most operations.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 28 of 40, by Kodai

User metadata
Rank Member
Rank
Member

In all fairness, this question is very difficult to answer for a whole host of reasons. The OP never really gave a distinction between home and office and that covers a massive amount of hardware. Depending on how that is defined, we may find some oddball S-100 bus system from to 70's fits the bill, or it could be something from the x86 late 90's era. We're gonna need a more refined question to find the most appropriate answer.

Reply 29 of 40, by xjas

User metadata
Rank l33t
Rank
l33t

I wasn't after a 'definitive' answer, jsut an interesting discussion of early SMP or ASMP. 😉 And by home/office PCs I was more thinking "something that you could put on your desk, or maybe under it" as opposed to "room-sized mainframe with reel-to-reel tape storage." No need to be super strict over the definition.

twitch.tv/oldskooljay - playing the obscure, forgotten & weird - most Tuesdays & Thursdays @ 6:30 PM PDT. Bonus streams elsewhen!

Reply 30 of 40, by shamino

User metadata
Rank l33t
Rank
l33t

I interpret this topic to refer to the ability to run 2 threads of general purpose code simultaneously and with at least enough efficiency that it serves a productive purpose. If graphics chips or other such specialized processors count, then pretty much every computer ever made would qualify. I can't think of any system where the CPU does everything. However, modern GPU offloading probably qualifies because I imagine it's very flexible in what it can be used for. Conventional 2D processors (like an Atari 2600 TIA chip) do not though. 😀

Windows NT4 might be debatable as a home OS, but at least Win2k was quite well adjusted for home usage and was pretty commonly used that way, even though Microsoft got cold feet and tossed out another iteration of Win9x alongside it.

I'm sure it's not the first ever, but I'd say that modern x86 multiprocessing first became an approachable feature for consumers with the Slot-1 era. Lots of dual slot-1 boards came on the market and for a while, all of that generation of CPUs and chipsets endorsed SMP. Some of those boards were not at all high end.

Reply 33 of 40, by bhtooefr

User metadata
Rank Newbie
Rank
Newbie

I'm actually going to go back on my assertion that the SPARCStation 10 was the first desktop RISC modern-style multiprocessing machine.

https://books.google.com/books?id=_zkEAAAAMBA … series4&f=false

The Solbourne Series4/502 did it three years earlier.

(Of course, you could shove a Corollary ATtain or four into an AT, and get Xenix running on 2-5 CPUs (in an ASMP, but modern in the sense that processes could go onto an arbitrary CPU, manner), but that was marketed as a server, not a workstation, so...)

Reply 34 of 40, by brassicGamer

User metadata
Rank Oldbie
Rank
Oldbie

Saw this article and remembered this thread: 386 Server running UNIX that could have up to 7 CPUs with upgrade potential to 486.

Check out my blog and YouTube channel for thoughts, articles, system profiles, and tips.

Reply 35 of 40, by ynari

User metadata
Rank Member
Rank
Member

The era of home SMP was quite short - pentium ii and iii (with their Celeron variants), I suppose you could count the pentium Pro too, perhaps. Tyan did produce some home user accessible dual pentium motherboards, if I remember correctly, but workstation motherboards were affordable in the pentium ii/iii era.

Then the pentium 4 came along and Intel decided to restrict multiprocessing to specific Xeon CPUs, a state that has continued until today. Of course the pentium iii was such a decent system it was possible to jump straight from that to a Core 2 (what I did, aside from a pentium 4 system to drive a projector).

NT 4 Workstation was an acceptable home operating system, although towards the end of its lifetime the lack of USB support, and to a lesser extent its limited DirectX caused issues. Windows 2000 solved all of those problems, and was a great OS. XP was more of an incremental upgrade.

Reply 36 of 40, by kva

User metadata
Rank Newbie
Rank
Newbie

Well... More or less twelve years ago I was studying automatics&robotics and I wanted to learn some multithreaded programming skills. I was too poor to buy new smp mobo (some dual socket A Asus with athlons MP) so instead I bought a great Tyan S1668D with two Pentium Pro. This combo was good enough for my needs and as cheap as dirt 😁 It was also the beginning of my collection, I still have this RIG, with 512mb of EDO Ram, Black Pentium Pros with 1MB cache, and last week I bought two Pentium II Overdrives. So lately I have spent a looot of money for my "cheap as dirt" computer but I have learned (and gained) a lot thanks to it 😀

Celeron Tualatin vs Celeron Conroe at equal clocks
Pentium Pro 256k vs Pentium Pro 1M vs Pentium II Overdrive!
VIA C3 vs VIA C7

My website all about old hardware

Reply 37 of 40, by jade_angel

User metadata
Rank Member
Rank
Member
ynari wrote:

The era of home SMP was quite short - pentium ii and iii (with their Celeron variants), I suppose you could count the pentium Pro too, perhaps. Tyan did produce some home user accessible dual pentium motherboards, if I remember correctly, but workstation motherboards were affordable in the pentium ii/iii era.

Then the pentium 4 came along and Intel decided to restrict multiprocessing to specific Xeon CPUs, a state that has continued until today. Of course the pentium iii was such a decent system it was possible to jump straight from that to a Core 2 (what I did, aside from a pentium 4 system to drive a projector).

NT 4 Workstation was an acceptable home operating system, although towards the end of its lifetime the lack of USB support, and to a lesser extent its limited DirectX caused issues. Windows 2000 solved all of those problems, and was a great OS. XP was more of an incremental upgrade.

That's true as far as Intel goes, if you don't count modern multi-core CPUs (which are functionally isomorphic to multiple sockets each with a single-core CPU for most purposes, though there are some differences as pertains to cache coherency, etc). However, when AMD first introduced the Socket 940 platform, dual-socket versions weren't prohibitively expensive. They were aimed at the workstation market, but were entirely serviceable as home machines, and the price premium was considerably less than usual for such things, likewise for the Opteron CPUs they required. Also, since the typical OS for home use at the time was Windows XP - with most folks using old versions on new hardware using Windows 2000 instead of ME or 98 - most users would have been able to benefit from the dual socket configuration.

I'm not entirely sure if these sorts of things count as "for home use", but there was nothing about these Socket 940 boards that would make them unsuitable for home use, and the price premium was rather less than usual.

Main Box: Macbook Pro M2 Max
Alas, I'm down to emulation.

Reply 38 of 40, by ynari

User metadata
Rank Member
Rank
Member

Sure, I remember when I skipped to the Core2 systems being a bit miffed I could no longer have SMP, but the benchmarks showed that having multiple cores on one chip offered just as much performance as multiple single core CPUs in the pentium ii/iii era. It's also a bonus because there are no NUMA issues, I'm just about to finish building my dual Xeon system and there may be a couple of issues and processor pinning when I get it running my Xen setup.

If the price is accessible to home users, and the tradeoffs aren't huge (such as some of the server boards that seem to e.g. neuter graphics cards), it definitely counts. So, yeah, for 2002-2005 it looks like AMD was the only game in town for home SMP.