In essence a modern computer is a parallel environment, typically both symmetrical and asymmetrical at once. Since the CPU is typically having more then 1 core, and it offloads tasks to the GPU that as well typically has more then one core (sometimes even having different types of cores for different tasks, so the GPU can be asymmetrical as well!). Not to mention the fact that there also is many other processors in a modern system. Since HDDs and SSDs have memory controllers in them, even network cards at times have an on board processor.
@lawrencedoliveiro91046 жыл бұрын
6:57 There is another technique, called “pipelining”. Or, in industrial terms, you set up an “assembly line”, where one person just butters the bread, and passes the slices onto the next person to put in the cheese and slap them together. Modern CPUs use this technique as well as multiple processors. And then there’s also caching.
@xeridea3 жыл бұрын
About the "power wall". Intel chased this with the Pentium 4, assuming GHz would go up forever, and at the time Gigahertz was marketing. The issue is, power consumption is roughly a function of frequency times voltage squared. As frequency increases, more voltage is required to keep it stable, but since this causes power usage to scale exponentially, it is a problem. Also, as frequency increases, the voltage required starts to runaway. So there is a balance of frequency that is optimal for different CPUs. Generally the limit is around 3.5GHz where it starts to runaway, making the transistors flip on/off faster becomes increasingly difficult. So, it is much more efficient to run multiple cores at a lower frequency, than to try to chase Gigahertz. As transistors get smaller, you can increase complexity to increase instructions per clock, raise frequency, or both, but frequency is always a balance for power consumption. Modern CPUs may boost to 4.5Ghz or so, but not much frequency has been gained in 20 years. More effort goes into increasing Instructions per clock, aka IPC, multiple cores, cache, branch prediction, SIMD, etc. Laptops are far more efficient, running perhaps 3/4 frequency can easily cut power usage in half, or even lower, due to the exponential nature of voltage and power consumption. And any reasonably modern CPU automatically varies its frequency based on load to reduce power, so idle cores may run at say 1 GHz instead of full 3.5-4GHz max all the time, and partially used cores somewhere in the middle. There is much more that goes into CPUs, like pipelining, and branch prediction, which have their own tradeoffs and balances.
@kemfic6 жыл бұрын
5:34 damn he's not pulling any punches here
@StankyPickle16 жыл бұрын
Loved his little jab, lol!
@fllthdcrb6 жыл бұрын
You'll probably lose money mining Bitcoin on a GPU. Even if you have free electricity and Internet, it's just not competitive with ASICs, by a long shot. If you want to mine on a GPU, pick some other coin.
@theblackwidower6 жыл бұрын
@@fllthdcrb I'm pretty sure all cryptocurrency is a bubble. And given how much of an arms race it is the issue only gets worse. I wonder how much of Global Warming can be directly blamed on Bitcoin miners.
@h3xd3m0n95 жыл бұрын
It no more a bubble a dollar is that can be printed at free will since it's not backed by anything tangible
@JW-uC6 жыл бұрын
I remember the "transputer" and occam (which in combination allowed parallelism) being "the next big thing" and if I remember correctly it was available as a side computer (add on, like the second 6502 shown in the vid) for either the BBC Micro or one of the next gens Beebs such as the Archimedes. I saw one doing some amazing real time graphics at a computer fair in london as a kid and was stunned at how much more powerful it was compared to the BBC which even in the day had some stunning graphics and games for what we'd now consider a hugely underpowered processor.
@jmtikka6 жыл бұрын
What a beautiful HP Z800 (?) dual Xeon system at the start. I have a couple of those under my desk at home. Bought them a couple of years ago (used of course).
@Computerphile6 жыл бұрын
Z820 ;) >Sean
@jecelassumpcaojr8906 жыл бұрын
Some people separate "multi processor" which share the same memory from "multi computer" where each processor has its own memory and use some network technology to exchange data with the others. An example of a multi computer would be any system built with the Inmos Transputer, which should be mentioned in any talk about parallel processing (specially in the UK).
@sighko6 жыл бұрын
Doesn't it at that point become relevant to start defining the grade of parallelism?
@JohnnyThousand6056 жыл бұрын
I'm waiting patiently for Computerfile to do an episode on transputers. Apparently, and forgive me if this is completely wrong, chip manufacturers had hit what they thought was the hard limit for transistor size in the mid-eighties and transputers were seen as a way around that. I'd love watch a 'historical' episode on that. :-)
@jecelassumpcaojr8906 жыл бұрын
My impression is the opposite: Inmos expected transistors and chips to become cheaper and cheaper so at some point in the future a whole processor would be the basic component and a system would have a very large number of them. You certainly wouldn't build a consumer product with 30 Transputers at 1980s prices.
@JohnnyThousand6056 жыл бұрын
@@jecelassumpcaojr890 fair enough :-)
@lawrencedoliveiro91046 жыл бұрын
“Multi computer” would imply entirely separate physical boxes connected by cables. These might be regular LAN interconnects, but custom high-speed ones are also used (e.g. Fibre Channel, I think). One also talks about “tightly coupled” versus “loosely coupled” multiprocessor machines. Typically “loosely coupled” ones don’t share RAM, so they communicate by sending messages over communication channels of some sort. “Tightly coupled” ones share (almost) their entire RAM space, so they can communicate just by reading and writing shared memory. A small step back from full tight coupling would be NUMA (“Non-Uniform Memory Access”), where each processor has some local memory, and can also access memory belonging to other processors, but the latter accesses are slower. So this logically appears just like tight coupling, and is almost as easy to program.
@RabiefromSudan6 жыл бұрын
I'm actually crying out of joy from watching this video and reading the comments afterwards.
@mentatphilosopher5 жыл бұрын
The Space Shuttle used a 5 processor system that then "voted" on the correct answer. There was a Communications of the ACM article on it.
@revenevan113 жыл бұрын
Fascinating!
@TomasSab3D4 жыл бұрын
nother reason for multiple processors is dedicated task performance. Some tasks are timing sensitive. You want the frames to be coming constant - not pausing every time you click a button. And so, you can have dedicated processor for sound, video and other time critical operations (moving a motor without interrupts for example).
@thewhitefalcon8539 Жыл бұрын
Such tasks don't necessarily require a CPU - every console has a graphics processor but we don't call it a second processor if all it does is spew frame data to the TV.
@TomasSab3D Жыл бұрын
@@thewhitefalcon8539 yeah. I was meaning things like custom PWM for motor in PID... when you change the position - it needs to process the incoming message. So, a single core processor will disturb the PWM pulse... sure, can cover up by including the processing time into the pulse width but there's a thing... Also things like OS interupts can disturb, and so forth. don't wnat to interfere with my PWM each time a mouse moves or clicks. Obviously, if you deal with a massive data stored on a hard drive that merely needs to be "flushed through" for pixels, a GPU can do magic there, fully independently. Just specify the start of the data series and the end and it will just "chunk it" in a mass parallel FPS... not even causing memmory conflicts... so to say... in a hevily over simplified way.
@thewhitefalcon8539 Жыл бұрын
@@TomasSab3D PWM is normally handled by a PWM controller chip which is fairly simple and does not count as a processor.
@TheTurnipKing6 жыл бұрын
It's actually more common than you'd think really, and how leniently you want to judge a processor. Many video subsystems were implemented in a way that made them essentially dedicated processors. The SNES, rather famously has a Sony produced sound processor subsystem And another obvious one is the Megadrive, which has both a 68000 and a z80.
@Latrocinium0866 жыл бұрын
Like to see a vid about the hidden os on all the current multi cores, maybe some consideration to hidden opcodes too. Thanks. Love the content
@alexwilli6 жыл бұрын
One great use for multiple processor systems is in "Monte Carlo" statistical simulations. I just completed a pet project this year of a tool that simulates all of the possible outcomes of our fantasy football league to determine likelihood of each team making the playoffs. Even starting at week 7 (of a 13 week season), and just considering wins and losses (not ties), that meant my program had to consider over 4 _trillion_ possibilities. With fairly optimized code on an 8 core system this took just over 24 hours. The original, single threaded (single processor) version written in VBA would have taken close to 130+ _days_ to complete the same task. I'll put a video to the result in a follow-up comment for anyone who is interested.
@pal_clips6 жыл бұрын
Please do!
@skepticmoderate57906 жыл бұрын
That's really cool. Looking forward to the video!
@heephstan6 жыл бұрын
Can't you write this to use CUDA or AMD's compute solution? If it's so paralisable?
@darkwinter60286 жыл бұрын
All Macs with ADB are multiprocessor - including that LC. There’s a small 8-bit processor that manages the low-level aspects of the ADB ports.
@TheyRiseBand5 жыл бұрын
And it might have an Apple IIe card installed.
@sighko6 жыл бұрын
This video would have been very useful when I was studying for my Operating Systems module.
@nO_d3N1AL6 жыл бұрын
I'd love to watch Steve reacting to some crazy setup on LinusTechTips
@Luredreier6 жыл бұрын
Thanks for using the term "SMT" this time. =)
@hrnekbezucha6 жыл бұрын
Love these high level explanations.
@chouatsushi7625 Жыл бұрын
Wow I have the same model computers as you showed in the video which have two Intel processors. I felt pretty satisfied.
@RichardEricCollins6 жыл бұрын
The CPU in the PS2 was a MISD when you put VU0 into micro mode. You pair two instructions pr. clock cycle, upper and lower instruction running from one data stream.
@peterjohnson94386 жыл бұрын
...but why?
@jc_dogen5 жыл бұрын
@@peterjohnson9438 It was a VLIW processor. It actually had 2 of them, in addition to the main CPU.
@peterjohnson94385 жыл бұрын
@@jc_dogen ah, that makes more sense :) VLIW architectures were being experimented with a lot at the time, although I only ever read about them in passing. Now I feel like diving deeper into the tech that went into the PS2. I always thought VLIW was relegated to some niche subtask of supercomputing.
@jc_dogen5 жыл бұрын
@@peterjohnson9438 ATI used a VLIW architecture in their GPUs for years too
@39Kohm6 жыл бұрын
It is somewhat trivial to attach more processors to a system, but like what Dr.Bagley said, it's dividing up tasks so that you are utilising them in an efficient and useful way that is the tricky part. It's something I've been fascinated with since the mid 80's.
@lawrencedoliveiro91046 жыл бұрын
8:16 Case in point: the Atari Falcon had a Motorola 56001 DSP, because in those days general-purpose CPUs were not fast enough to do processing of CD-quality sound data in real time. Nowadays we don’t see DSPs much in regular PCs (except maybe embedded inside a controller for some peripheral). But new, more compute-intensive tasks have become popular, which is why we now have programmable GPUs, for example. Will the wheel turn again? Yes, I think it is possible.
@robf936 жыл бұрын
These videos keep my brain happy
@lawrencedoliveiro91046 жыл бұрын
10:35 Another kind of SIMD was introduced back in in the 1970s with the Cray machines. These had instructions which could act, element-by-element, on arrays of up to 64 elements with a single invocation. However, the operations were not performed simultaneously on every element, but were pipelined so that, after the initial instruction setup, the result elements would be churned out in succession very quickly. Contrast this with PowerPC Altivec (which I think predates Intel’s initially rubbish MMX), where operations are performed on all elements of the operand vector simultaneously. Note also that these vectors tend to be shorter than the Cray ones: a maximum of 4 elements (maybe 8 for small integers) is typical.
@lawrencedoliveiro91046 жыл бұрын
@Michael Hansen I think the earlier ILLIAC IV research machine was also SIMD, with four processors executing the same instruction set on four data streams. Seymour Cray looked at the difficulty of programming that before creating his architecture for the Cray-1.
@tcsiwula6 жыл бұрын
I use to sell my old technology to buy new technology. After watching this it makes me want to keep all of my old computers/phones :)
@GakisStylianos6 жыл бұрын
But if you really think about it, is it worth the space?
@romanemul16 жыл бұрын
@Stylianos It is.
@crby1016 жыл бұрын
but if i *dont* sell i *cant* buy lul
@robf936 жыл бұрын
Two instruction paths. One for computation, the other for control flow.
@paleghost6 жыл бұрын
In the early 90s we had a Sequent S2000 4 processor (Intel 486 25 mhz) SMP machine running a BSD UNIX version. Supposedly it scaled to 32 processors.
@wp53554 жыл бұрын
He does a great job of explaining the operation of this hardware and software!!
@VoteScientist6 жыл бұрын
Also IBM 360 model 67-2 announced August 1965 two complete model 67s sharing common memory.
@amywyvern39246 жыл бұрын
The Commodore 128 computer has 2 main CPUs, a Z80 and a 6510 (or 6502?) in it, but unsure if it counts as a multiprocessor since it seems to run only one CPU at a time. Also, the Commodore disk drives are built like computers with a processor. Some do mention 16bits and 32bits Sega consoles which yes they have multiple CPUs inside like one usually kept for sounds, one for graphics (not yet a GPU back then), etc.
@johnfrancisdoe15636 жыл бұрын
Amy Wyvern IBM PC (1981) had two CPUs: A 16 bit 8088 with an 8 bit front side bus and an 8 bit 8051 microcontroller in the keyboard.
@mOczakowski6 жыл бұрын
butone of the cpus (on both systems) were used to process audio, both of these are Asymmetric or custom hardware for specific tasks, genesis and arcade boards is a perfect example, they used multiple cheap off shelf components rather than designing a more complicated multi core on single die (very expensive at the time), IBM main frames used the later.
@El_Grincho6 жыл бұрын
Add four 1571 and you'll have a six core system.
@KuraIthys6 жыл бұрын
And a SNES had two CPU's already but relatively frequently ended up with a third in the cartridge. Actually, the programming reference for the SA-1 specifically mentions how it's presence forms a multi-processor system, and how you could handle it as an 'accelerator' or a true multi-processor system, or some mixture of the two depending on how much complexity you were willing to accept. it's pretty weird when you think about it... Then the n64 has a GPU that technically owes a large chunk of it's functionality to containing a second CPU core with the same instruction set as the main CPU - yet you wouldn't typically be inclined to think of this as a multi-CPU system either. Really quite odd when you think about it.
@klaxoncow6 жыл бұрын
Commodore were always an exception because they owned MOS technology and, thus, manufactured their own custom chips. So, for example, the C64 had the SID "Sound Interface Device" sound chip and VIC-II "Video Interface Controller" graphics chips (the VIC-I was in the VIC-20, after which the computer was even named). (But I guess, on a technicality, in terms of this video, it wouldn't count as a genuine "multi-processor" system, as these chips did not accept instruction streams. You programmed them by changing hardware registers memory mapped into CPU-accessible RAM and the VIC shared memory with the CPU for the video framebuffer. Not that the video went into such a fine detail, but from the way Dr.Bagley was classifying his collection of machines - and how he considered the Amiga an "arguable" multi-processor machine - and the discussion of "SISD / SIMD / MISD / MIMD" then we're not fully counting chips that don't take their own instruction streams here. So by the same argument as the Amiga, the C64 and VIC-20 were "arguable" multi-processors. Down that way headed, with custom chipsets for specific purposes of graphics and sound, but not fully there to qualify as proper "co-processors", as these custom chips did not have their own instruction streams and were very much peripheral slaves to the CPU, which actually did all the true "processing" work.) And, yes, the C128 - though it had two fully-fledged processors on-board - only enabled one of them at a time, so it wouldn't really count as "multi-processing", in terms of there not being any true parallel operations going on at the same time. The system was "multi-processor" but did not do "multi-processing". Subtle but important distinction. And also Commodore did just simply have another 6502 with a small amount of RAM, inside their 1581 disk drives. Because of this, it was actually possible for the CPU to "upload" new software to the disk drive and execute it. There are many C64 demos that actually do this, uploading their own routines to the disk drive to more finely control the disk loading and, thus, could format the data on the disk however they liked - straying from the standard disk format, save the main index, as you did still need to start the loading process to get their code into RAM in the first place - and could utilise tricks for quick loading. It was even conceivable that you could upload a routine to the disk drive to have it not only load data from disk, but do some decompression as well - though this was limited by the drive not having much RAM and only a 1MHz 6502, so you couldn't do a massive amount with it. But, yes, the disk drives were their own 6502-powered computers unto themselves. Though, again, we'd have to check definitions here, as these were separate and independent physical units, so this arrangement would count more as "networking" between two machines, I would think.
@soerenkoehler6 жыл бұрын
Just nitpicking: If you count the keyboard CPU of the Atari ST(E) you have to also count it for the Falcon, since all members of the ST/STE/TT/Falcon-family use the intelligent keyboard desing with the 65xx (or 68xx?) keyboard processor. So, Falcon has 3 CPUs: 68030, 56001, Keyboard.
@bibekkoirala25174 жыл бұрын
This was interesting, I love this channel
@kcmichaelm6 жыл бұрын
The IBM PC you show had a math coprocessor option (my 5150 had it), that went along with the 8088.
@drawapretzel60036 жыл бұрын
See thats the interesting thing, what is the minimum processing power required to count as a "processor" ? because most computers nowadays have more than one processor, the other processor is just processing dedicated things instead of anything. Multiple other processors actually. ADC, DAC, etc etc.
@sundhaug926 жыл бұрын
ADCs and DACs are not processors, though they can be coupled with DSPs (which are processors)
@kc9scott6 жыл бұрын
In my opinion, it's the ability to independently execute a sequence of instructions stored in some sort of memory. The keyboards that Steve mentioned as having their own internal processors count, if they use a general-purpose processor rather than a hardware keyboard scanner chip. However, in computers from the '70s and early '80s, I think it's more likely for keyboard electronics to be of the latter type. As far as I know, any USB interface will have its own dedicated processor to handle the lowest layer(s) of USB protocols. Modern GPUs count, since you can program them to do things other than just draw graphics on your screen. Older graphics displays may have dedicated chip(s) to repeatedly get data from display RAM to refresh the CRT, and not do much of anything else. Those wouldn't count.
@sundhaug926 жыл бұрын
@@kc9scott Heck, GPUs are arguably more than one processor of different designs. Also, the IBM PC had a microcontroller for its keyboard, so it'd count. USB does require separate circuitry at least on one side yes
@Dublarty5 жыл бұрын
A dedicated Transputer/Inmos video would be nice
@billykotsos46426 жыл бұрын
Graphics are amazing!!!
@EgadsNo6 жыл бұрын
I loved my first multiprocessor system was a dual 166MHz 486, think I had a VoodooFX in it. Boy, I miss upgradeable gpu's.
@TheBodgybrothers6 жыл бұрын
Problem was, dos and windows couldn't deal with more than one processor at the time. You had to run windows NT, when it came out, to get multi core use.
@Daniel-lb3jw6 жыл бұрын
Many Telephone switches would run three CPUs with a single data stream and the same instructions. It worked in a voting system. Majority win. Another system is to run two CPUs and throw away the data and restart if they mismatch. Rockets do a similar system. Multiple cpus with the same instructions and data but must match.
@grn13 жыл бұрын
Do modern rockets still do that or have they moved on to some other form of error checking? I heard about the multi-processor approach being used in the Apollo days (if memory serves they used Super Crays) but would think they'd have a better way of doing things now.
@Daniel-lb3jw3 жыл бұрын
@@grn1 probably. Rockets that fly regularly will be conservative about true trying new things. If something worked in the past there isn't much reason to change.
@kaminutter5 жыл бұрын
The BBCs (including Archimedes) are the only computer listed which the second processor did not need to be the same type as the main one. It is possible to get a Z80, ARM, 30216, 86 processors as well which.
@baronvonschnellenstein28112 жыл бұрын
You probably already know this, but If I recall correctly, one of the primary purposes of the "Tube" interface on the BeeB Model B, etc was for Acorn to evaluate / test the processors for their "next generation" machines - so ultimately, the test bed for first ARM or Acorn RISC CPU they built went into one of those side boxes, from which they interacted with the new CPU. The other thing I thought was cool was that Acorn prototyped the RISC micro-code on the humble Beeb as well as the circuit design :)
@JyrkiKoivisto6 жыл бұрын
All Amigas has copper, meaning co-processor. It has it's own instruction set and is used to start blitter, set frame pointers, colors etc...
@redriverscout44045 жыл бұрын
If you look at the final generation of the Apple PowerMac G5 it had both multiple processors with multiple cores.
@muuubiee2 жыл бұрын
MIMD would be running multiple instructions on multiple data (like sending it to some arithmetic unit and float unit), not diving it up to do single instruction on single/mutliple data. Parallelism doesn't change what type of register and operation you're using.
@Rickmakes6 жыл бұрын
You could install a second processor in the Macintosh LC to run Apple II programs.
@Nord725 жыл бұрын
The most amazing SMP system was the original BeBox in the early 90"s (way ahead Apple that time)
@faiskies_6 жыл бұрын
Great video. Very informative.
@Xilefian6 жыл бұрын
I used to have a dual processor liquid cooled Apple Power Mac G5, the only dual processor system I've owned. Been wanting to build an X86 dual processor machine for years, but there's little reason to these days.
@johnfrancisdoe15636 жыл бұрын
Xilefian You could use two 64-core EPYC Zen 2 AMD chips. I don't know if the RyZEN series allows dual Threadrippers.
@Xilefian6 жыл бұрын
@@johnfrancisdoe1563 I've found it just isn't worth it these days. The on-package multi core systems we've got now are probably more efficient than two separate CPU packages, and the type of workloads I do in my machines don't warrant such massive CPU multi-threaded compute power.
@KuraIthys6 жыл бұрын
Yeah, you get things like that. I wanted to build a beowulf cluster for a while, but as much as the idea of it amuses me, I can think of no practical purpose whatsoever to me actually doing so...
@sundhaug926 жыл бұрын
@@luelou8464 You're a bit outdated, these days the AP in phones will often have 8 cores (4+4), not counting the baseband and such
@az09letters926 жыл бұрын
Amiga keyboard controller chip CBM 6570 has also a 6502 CPU embedded in it.
@simonvannarath6 жыл бұрын
Anyone here remembers the Connection Machines?
@Conenion6 жыл бұрын
Sure, they had a guest role in Jurrasic Park.
@peterjohnson94386 жыл бұрын
I'd love to see Computerphile do an episode on Thinking Machines inc.
@sunthlower48126 жыл бұрын
Your shirt has a cool pattern! :D Very stylish
@henrikjensen32786 жыл бұрын
The original IBM PC was a multiprocessor system, the keyboard had its own processor. Before that I worked on a mainframe with smart terminals (VDU), they did also have their own processor. In my opinion you do not rate a computer "multiprocessor" before they all do serious work, all the axillary processors do not count.
@sundhaug926 жыл бұрын
So a Commodore 64 could count because the disk-drive CPUs were often used for serious work
@henrikjensen32786 жыл бұрын
I supposed if you loaded user programs on it that the performance of the computer would double. Both drive and computer uses a 1MHz 6502 CPU (C64 CPU was called 6510, but is mostly the same).
@mjouwbuis6 жыл бұрын
The original PC used a microcontroller in the keyboard with a fraction of the computing power of the main CPU. The AT added a second microcontroller from the MCS48 series on the computer end of the keyboard as well. It even used the keyboard controller to drive the A20 line to memory, but I wouldn't really classify it under multiprocessing, even not asymmetrical. Fun fact: the situation is similar to how the PIC microcontroller came into existance. The original PIC1650 was designed as a programmable peripheral interface, to offload the cpu in dealing with devices.
@Theineluctable_SOME_CANT Жыл бұрын
1980 era video games used up to three processors : sound, video drawing and game logic / ui. Semaphore flags in shared memory are used to keep processors aware of what tge other ones are doing.
@sabriath6 жыл бұрын
Well, the first bit when asked "which systems are multiple processor systems".....they all are actually. There is a chip for all the disk drives that runs separate to the main board chip, and in some instances, has dedicated RAM and ROM for its own programming. It was a long time ago (I was about 10), but I remember being able to solder a couple wires on a 1541 board and had the capability of switching the 6502 ROM pointer to the RAM index, allowing the chip to run editable code on-the-fly separate from the c64, giving you effectively 2 cores. Just saying.
@KuraIthys6 жыл бұрын
@@BrianMelancon Fairly sure the Atari floppy disk drives were much the same. the Atari 1050 drive certainly has a CPU and it's own memory. Not sure whether it's technically capable of standalone operation, but you can upload custom code to it for sure. There's likely a lot of accessories for these systems that technically qualify as computers in their own right.
@sundhaug926 жыл бұрын
@@BrianMelancon Yeah Commodore used smart disk-drives (though IIRC the drives used a slightly different CPU, the 6502, instead of the 6510 and such)
@sabriath6 жыл бұрын
@@BrianMelancon ... you can now turn your "fairly sure not" into a "definitely has" a processor. I personally never worked with the system on the internal level, but I know the chipsets were there on the board above the drive unit. sundhaug92 - yes, the c64 used a 6510, basically the same chip considering the RAM/ROM limitations on the 1541 board anyway (didn't need 6 IO pins)
@kc9scott6 жыл бұрын
I'm pretty sure that Apple II floppy disk drives don't have their own processor. The disk controller board (that plugs into the main computer's bus) is hardly anything more than shift register(s) and a boot ROM. The main system CPU does all the work of group coding, waiting for the proper sector to pass under the head, reading/writing the sector, and running the stepper motor to position the head. This was one of the design decisions that forced them to keep their CPU clock speed unchanged for many years.
@sabriath6 жыл бұрын
@@kc9scott ... still requires a card, which has a controller on it, they were stripped down SA400 with a custom built card for the unit.
@Originalimoc5 жыл бұрын
1:06 "So the surface is real depressed is just sitting under there...." 😅 Okay you really should turn on auto sub.
@WizardNumberNext6 жыл бұрын
well today must people have smartphones, which from time of Nokia N95 is very much AMP and now it is infused which SMP so now we have HMP (hybrid) so we have CPUs (sometimes more then one type of cores, sometimes even different flavour), we have DSPs (oh they do make huge come back into phones - image and sound are processed and sometimes even calls) and we have GPUs, which do sometimes nie then just graphics (most of them are GPGPUs - even N900 had one) all those elements are available and actually used on all flagships for years already
@harshprajapati92516 жыл бұрын
any video on assembly language
@DavidMarsden5 жыл бұрын
I love especially the way he drifts at random on the chair. Like a Dalek with ADHD.
@autarchprinceps6 жыл бұрын
What about BIG.little? Is that still symmetrical, or already asymmetrical?
@lawrencedoliveiro91046 жыл бұрын
Both! It’s a tag team of high-powered multiprocessors and low-powered ones.
@schifoso6 жыл бұрын
Dual Pentium II processors made Windows NT much more responsive.
@lawrencedoliveiro91046 жыл бұрын
And also more expensive. Proprietary OSes, and the proprietary server-side apps that run on them, tend to be licensed based on the number of CPU sockets in your machine. A special exemption was made for multiple CPUs in the same socket, just for the sake of keeping the customers happy, because such a thing was unknown in the 1990s.
@schifoso6 жыл бұрын
@@lawrencedoliveiro9104 It wasn't that much more expensive, and NT licensing was fine with only two processors. Didn't have any other software that wasn't part of the MSDN. I believe the motherboard was a Tyan Titan Pro. Funny socket design on that model of processor.
@Nord725 жыл бұрын
@@lawrencedoliveiro9104 : no way, a simple Abit BP6 and 2 Celeron 366@550 Mhz SMP system was available for the "masses" that time ( around 97+)
@Erebus-PCFX6 жыл бұрын
Fine Graned Multithreading is the way of the future.
@antivanti6 жыл бұрын
If you have a Commodore 64 with a 1541 drive you have two 6510 processors as the floppy drive has the same CPU. Some games and quite a few demos actually use it for extra compute power.
@sundhaug926 жыл бұрын
The 1541 actually uses a 6502
@Gastell06 жыл бұрын
0:14 Oh, that's an HP Z820 (or similar), very nice dual processor workstation 3:01 That looks like a Nexus 9 Tablet with Folio keyboard in a sleeve And that's a Yubiko Type-C security key in Macbook!
@el_es3 жыл бұрын
Neural network vision accelerators would kind-of be multiple-instruction single-data? in retrospect ;)
@soraaoixxthebluesky4 жыл бұрын
I think SoC can be consider as Multi-Processor too isn’t? Of course they can’t handle instruction set by itself and they work more of like a hardware acceleration which still need an input from CPU.
@gti9836 жыл бұрын
The original PC has a slot for math coprocessor , so it can be considered as a multiple processor system.
@eefaaf2 жыл бұрын
In the late 70s I worked with a CDC Cyber mainframe that had PPUs that would perform tasks asynchronously from your program on de CPU, for instance for performing IO. Come to think of it, why would you call something a CPU when there are no PPUs?
@hawke23256 жыл бұрын
Did the Atari Jaguar have a Blitter chip I know the STFM and STE did and wouldn't it count as a processor. Or maybe it was the other way around it's been a few years since I've had one apart. The last time I was inside my STFM was to upgrade the TOS Chips which I ended up not doing because I discovered it was an STFM with an STE prototype board in it and that's how it shipped from the factory. The board is marked STE so I decided not to flow solder on it. May have been common I don't know.
@KC9UDX5 жыл бұрын
But if the Atari is multiprocessor due to the CPU in the keyboard, then there's no way you can say the Amiga isn't. There is a 6502 in the Amiga keyboard.
@GeFlixes6 жыл бұрын
So is anything with additional dedicated ships a asymetric multi-processor system? What about security/cryptography modules (like TPM) or even the northbride ship on the motherboard?
@lawrencedoliveiro91046 жыл бұрын
14:28 Threads are separate execution entities that share a common process context. It’s not the only way to parallelize a program: there are also programs that run multiple separate processes in parallel. In fact, one might argue that threads are about the last form of parallelism you should resort to: look at other solutions first if you can, then fall back to threads if nothing else will do. This is because of their propensity for the most difficult sort of bugs: the ones that are timing-dependent, so attempts to track them down can often cause them to (temporarily) disappear.
@smegskull6 жыл бұрын
I would assume multiple processor means multiple CPU to RAM sets. i.e. multi core wouldn't count because it all accesses the same RAM modules unlike server boards which have multiple processors each with distinct RAM slots. Though of course even in that case anything with a graphics card is arguably still a multiple processor computer unless you count graphics cards as computers in and of themselves... There's a lot of grey areas here I think.
@Tone7206 жыл бұрын
First thought was Graphics cards often count as another processor, and that's been case for quite a while.
@Conenion6 жыл бұрын
GPUs are mentioned in the video. In the 90ties graphics cards had chips with fixed function units. In the 00s, GPUs became more and more like CPUs because they allowed for shaders to be programmed (but they are more like SIMD, not SMP). See also GPGPU on Wikipedia.
@MJ-uk6lu3 жыл бұрын
Graphics card is more like a small computer in a computer. It has it's own GPU, VRAM, VRMs. Card is dependent on computer to function, but almost isn't. Graphics accelerators used to do very limited amount of things, but they got more powerful, got reprogrammable shader pipeline instead of fixed shader pipeline. Now nVidia's RTX cards even got some ray tracing processing and deep learning processing, effectively allowing it to do more things.
@crogon-yt6 жыл бұрын
So as soon as I break my problem apart and execute it in multiple threads does the OS (Windows 7+) then automatically run that on a separate processor? Also, what about Intel's "virtual" cores do I get any speed benefit when running threads on them?
@Sopel9976 жыл бұрын
could instructions like fsincos be considered MISD?
@maxschmidt19757 ай бұрын
I have a peculiar MP-system made by Sequent which contains basically all microprocessors of the era in one box: 2 Pentium 60 and 2 486-50 (these four sharing 160MB RAM), a 68030 handling Ethernet, a i860 handling SCSI IO and an i386 handling 32 Serial Connections. It runs dynix/ptx. It seems like a desperate try to remove all unnecessary load from the CPUs because they were so slow. Does anyone know it?
@alphadad19666 жыл бұрын
The Apple keyboard wasn't ADB (predecessor to USB)? And that didn't use a possessor?
@wisdomagunta22095 жыл бұрын
What system currently is running on a multiprocessor ? Names please !!!
@play_sports_and_read_books4 жыл бұрын
10:09 so he is basically talking about threads and threading right? Or is that a totally different thing (help me i'm confused)
@0MoTheG5 жыл бұрын
Aside from keyboards were there not floppy disk drives with processors?
@MePeterNicholls5 жыл бұрын
New iMac Pro can have 18) cores, new Mac Pro upto 28,, is there a limit on effectiveness of number of cores?
@technickuk6 жыл бұрын
What about Hyper Threading, how does that work?
@matsv2016 жыл бұрын
There is one more type of multiprocessor system. What arm call little.BIG. back in late 90-tys I was figuring how to build a system like that using a low power 486 in a PCI slot with a k6-2 or a k7 main processor Two major points. Get windows the second thread to hang up. (Back in win 98 time windows time out was quite common). The second reason was to make the major processor micro sleep during work. Reducing energy consumption quite a bit
@koppadasao6 жыл бұрын
How many of your computers have multiple processors? All of them!
@mastermuke4116 жыл бұрын
Did anyone else see the sailboat pop out from that guy's shirt?
@martinh27836 жыл бұрын
What gun was it on the shelf?
@DrSteveBagley6 жыл бұрын
It's a Desoldering pump
@AmbachtAle2 жыл бұрын
The IBM PC has a slot for an 8087 math coprocessor.
@SevenDeMagnus4 жыл бұрын
Thanks.
@kayakMike1000 Жыл бұрын
Pretty much all of them.
@jhoughjr16 жыл бұрын
He has a falcon!
@lucidmoses6 жыл бұрын
If your counting keyboards, didn't the IBM PC have a processor in the keyboard?
@sundhaug926 жыл бұрын
It had the 8048 microcontroller
@edgar25266 жыл бұрын
am I the only one who finds Steve looks like the adoring fan from Oblivion ?
@BlackEpyon6 жыл бұрын
Don't forget Commodore.
@heretolevitateme6 жыл бұрын
Sega Mega Drive/Genesis had a separate z80 sound processor, too. And Super Nintendo had 3d games like StarFox and Yoshi's Island that had the Super FX chip in the cartridge.
@richard94704 жыл бұрын
I may have a stupid question: how is a computer program able to know how much cpu is being used? How ‘s this « self-awareness » made possible?
@stoddcrew6 жыл бұрын
Skip to 3:08 to avoid seeing all the examples.
@TechyBen6 жыл бұрын
I'd put money on one of those iMacs NOT being an 8 core, and one only being a 4 core? ;)
@SteelSkin6676 жыл бұрын
Well they can't be more than 4 core, especially considering these are older unibody machines.
@NeilHighley6 жыл бұрын
@@SteelSkin667 He said that they were quad core
@SteelSkin6676 жыл бұрын
@@NeilHighley ... that doesn't contradict what I wrote?
@LocoMe4u6 жыл бұрын
Probably 2 cores knowing apple
@scotthammond32305 жыл бұрын
No mention of Amdahl's law? Or this should be in a follow up video.
@Mynx316 жыл бұрын
Signal processors?
@JmanNo426 жыл бұрын
I have a question GPGPU have been around for a while and alot of math intensive tasks have been made to run on the gpu's like the boinc? gpgpu where you process distributed datachunks . But i have not seen a single emulator made to run on gpu why i s that, as i understand there is C,C++ like languages. I am not sure about what CUDA and AMD close to metal was. But i know language like Brook gpgpu was borrowing alot from C? The applications that i thought were coming out of gpgpu never really took place just fancy demos? A modern GPU has its own memory, and streams audio maybe even process it. So why are there no GPGPU emulators of old computers, would they still utilise to much of processor for th e I/O work?
@orlovsskibet5 жыл бұрын
I want one of those dual core sandwich makers 😋😛
@chadoftoons6 жыл бұрын
I wonder how much can be offloaded from the CPU and GPU into specialized chips at this point while GPUs can run in SLI or whatever i wonder if it would not be cheaper to have Cpus for GPU that further specialize like when humans do that kind of thing. Did you ever talk about bio-computing?
@sighko6 жыл бұрын
There are actually a significant amount more chips in modern systems. Yes you have the CPU and the GPU, but even within those there are several different chips with different purposes. Most IO devices these days have their own controller chips (these are especially important in SSDs as they are where the real improvement in speed is coming from), the motherboard has a collection of chips.