Multiple Processor Systems - Computerphile

  Рет қаралды 154,052

Computerphile

Computerphile

Күн бұрын

Пікірлер: 250
@todayonthebench
@todayonthebench 6 жыл бұрын
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.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
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.
@xeridea
@xeridea 3 жыл бұрын
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.
@kemfic
@kemfic 6 жыл бұрын
5:34 damn he's not pulling any punches here
@StankyPickle1
@StankyPickle1 6 жыл бұрын
Loved his little jab, lol!
@fllthdcrb
@fllthdcrb 6 жыл бұрын
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.
@theblackwidower
@theblackwidower 6 жыл бұрын
@@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.
@h3xd3m0n9
@h3xd3m0n9 5 жыл бұрын
It no more a bubble a dollar is that can be printed at free will since it's not backed by anything tangible
@JW-uC
@JW-uC 6 жыл бұрын
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.
@jmtikka
@jmtikka 6 жыл бұрын
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).
@Computerphile
@Computerphile 6 жыл бұрын
Z820 ;) >Sean
@jecelassumpcaojr890
@jecelassumpcaojr890 6 жыл бұрын
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).
@sighko
@sighko 6 жыл бұрын
Doesn't it at that point become relevant to start defining the grade of parallelism?
@JohnnyThousand605
@JohnnyThousand605 6 жыл бұрын
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. :-)
@jecelassumpcaojr890
@jecelassumpcaojr890 6 жыл бұрын
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.
@JohnnyThousand605
@JohnnyThousand605 6 жыл бұрын
@@jecelassumpcaojr890 fair enough :-)
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
“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.
@RabiefromSudan
@RabiefromSudan 6 жыл бұрын
I'm actually crying out of joy from watching this video and reading the comments afterwards.
@mentatphilosopher
@mentatphilosopher 5 жыл бұрын
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.
@revenevan11
@revenevan11 3 жыл бұрын
Fascinating!
@TomasSab3D
@TomasSab3D 4 жыл бұрын
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
@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
@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
@thewhitefalcon8539 Жыл бұрын
@@TomasSab3D PWM is normally handled by a PWM controller chip which is fairly simple and does not count as a processor.
@TheTurnipKing
@TheTurnipKing 6 жыл бұрын
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.
@Latrocinium086
@Latrocinium086 6 жыл бұрын
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
@alexwilli
@alexwilli 6 жыл бұрын
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_clips
@pal_clips 6 жыл бұрын
Please do!
@skepticmoderate5790
@skepticmoderate5790 6 жыл бұрын
That's really cool. Looking forward to the video!
@heephstan
@heephstan 6 жыл бұрын
Can't you write this to use CUDA or AMD's compute solution? If it's so paralisable?
@darkwinter6028
@darkwinter6028 6 жыл бұрын
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.
@TheyRiseBand
@TheyRiseBand 5 жыл бұрын
And it might have an Apple IIe card installed.
@sighko
@sighko 6 жыл бұрын
This video would have been very useful when I was studying for my Operating Systems module.
@nO_d3N1AL
@nO_d3N1AL 6 жыл бұрын
I'd love to watch Steve reacting to some crazy setup on LinusTechTips
@Luredreier
@Luredreier 6 жыл бұрын
Thanks for using the term "SMT" this time. =)
@hrnekbezucha
@hrnekbezucha 6 жыл бұрын
Love these high level explanations.
@chouatsushi7625
@chouatsushi7625 Жыл бұрын
Wow I have the same model computers as you showed in the video which have two Intel processors. I felt pretty satisfied.
@RichardEricCollins
@RichardEricCollins 6 жыл бұрын
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.
@peterjohnson9438
@peterjohnson9438 6 жыл бұрын
...but why?
@jc_dogen
@jc_dogen 5 жыл бұрын
@@peterjohnson9438 It was a VLIW processor. It actually had 2 of them, in addition to the main CPU.
@peterjohnson9438
@peterjohnson9438 5 жыл бұрын
@@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_dogen
@jc_dogen 5 жыл бұрын
@@peterjohnson9438 ATI used a VLIW architecture in their GPUs for years too
@39Kohm
@39Kohm 6 жыл бұрын
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.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
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.
@robf93
@robf93 6 жыл бұрын
These videos keep my brain happy
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
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.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
@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.
@tcsiwula
@tcsiwula 6 жыл бұрын
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 :)
@GakisStylianos
@GakisStylianos 6 жыл бұрын
But if you really think about it, is it worth the space?
@romanemul1
@romanemul1 6 жыл бұрын
@Stylianos It is.
@crby101
@crby101 6 жыл бұрын
but if i *dont* sell i *cant* buy lul
@robf93
@robf93 6 жыл бұрын
Two instruction paths. One for computation, the other for control flow.
@paleghost
@paleghost 6 жыл бұрын
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.
@wp5355
@wp5355 4 жыл бұрын
He does a great job of explaining the operation of this hardware and software!!
@VoteScientist
@VoteScientist 6 жыл бұрын
Also IBM 360 model 67-2 announced August 1965 two complete model 67s sharing common memory.
@amywyvern3924
@amywyvern3924 6 жыл бұрын
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.
@johnfrancisdoe1563
@johnfrancisdoe1563 6 жыл бұрын
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.
@mOczakowski
@mOczakowski 6 жыл бұрын
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_Grincho
@El_Grincho 6 жыл бұрын
Add four 1571 and you'll have a six core system.
@KuraIthys
@KuraIthys 6 жыл бұрын
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.
@klaxoncow
@klaxoncow 6 жыл бұрын
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.
@soerenkoehler
@soerenkoehler 6 жыл бұрын
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.
@bibekkoirala2517
@bibekkoirala2517 4 жыл бұрын
This was interesting, I love this channel
@kcmichaelm
@kcmichaelm 6 жыл бұрын
The IBM PC you show had a math coprocessor option (my 5150 had it), that went along with the 8088.
@drawapretzel6003
@drawapretzel6003 6 жыл бұрын
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.
@sundhaug92
@sundhaug92 6 жыл бұрын
ADCs and DACs are not processors, though they can be coupled with DSPs (which are processors)
@kc9scott
@kc9scott 6 жыл бұрын
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.
@sundhaug92
@sundhaug92 6 жыл бұрын
@@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
@Dublarty
@Dublarty 5 жыл бұрын
A dedicated Transputer/Inmos video would be nice
@billykotsos4642
@billykotsos4642 6 жыл бұрын
Graphics are amazing!!!
@EgadsNo
@EgadsNo 6 жыл бұрын
I loved my first multiprocessor system was a dual 166MHz 486, think I had a VoodooFX in it. Boy, I miss upgradeable gpu's.
@TheBodgybrothers
@TheBodgybrothers 6 жыл бұрын
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-lb3jw
@Daniel-lb3jw 6 жыл бұрын
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.
@grn1
@grn1 3 жыл бұрын
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-lb3jw
@Daniel-lb3jw 3 жыл бұрын
@@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.
@kaminutter
@kaminutter 5 жыл бұрын
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.
@baronvonschnellenstein2811
@baronvonschnellenstein2811 2 жыл бұрын
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 :)
@JyrkiKoivisto
@JyrkiKoivisto 6 жыл бұрын
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...
@redriverscout4404
@redriverscout4404 5 жыл бұрын
If you look at the final generation of the Apple PowerMac G5 it had both multiple processors with multiple cores.
@muuubiee
@muuubiee 2 жыл бұрын
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.
@Rickmakes
@Rickmakes 6 жыл бұрын
You could install a second processor in the Macintosh LC to run Apple II programs.
@Nord72
@Nord72 5 жыл бұрын
The most amazing SMP system was the original BeBox in the early 90"s (way ahead Apple that time)
@faiskies_
@faiskies_ 6 жыл бұрын
Great video. Very informative.
@Xilefian
@Xilefian 6 жыл бұрын
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.
@johnfrancisdoe1563
@johnfrancisdoe1563 6 жыл бұрын
Xilefian You could use two 64-core EPYC Zen 2 AMD chips. I don't know if the RyZEN series allows dual Threadrippers.
@Xilefian
@Xilefian 6 жыл бұрын
@@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.
@KuraIthys
@KuraIthys 6 жыл бұрын
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...
@sundhaug92
@sundhaug92 6 жыл бұрын
@@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
@az09letters92
@az09letters92 6 жыл бұрын
Amiga keyboard controller chip CBM 6570 has also a 6502 CPU embedded in it.
@simonvannarath
@simonvannarath 6 жыл бұрын
Anyone here remembers the Connection Machines?
@Conenion
@Conenion 6 жыл бұрын
Sure, they had a guest role in Jurrasic Park.
@peterjohnson9438
@peterjohnson9438 6 жыл бұрын
I'd love to see Computerphile do an episode on Thinking Machines inc.
@sunthlower4812
@sunthlower4812 6 жыл бұрын
Your shirt has a cool pattern! :D Very stylish
@henrikjensen3278
@henrikjensen3278 6 жыл бұрын
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.
@sundhaug92
@sundhaug92 6 жыл бұрын
So a Commodore 64 could count because the disk-drive CPUs were often used for serious work
@henrikjensen3278
@henrikjensen3278 6 жыл бұрын
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).
@mjouwbuis
@mjouwbuis 6 жыл бұрын
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
@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.
@sabriath
@sabriath 6 жыл бұрын
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.
@KuraIthys
@KuraIthys 6 жыл бұрын
​@@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.
@sundhaug92
@sundhaug92 6 жыл бұрын
@@BrianMelancon Yeah Commodore used smart disk-drives (though IIRC the drives used a slightly different CPU, the 6502, instead of the 6510 and such)
@sabriath
@sabriath 6 жыл бұрын
@@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)
@kc9scott
@kc9scott 6 жыл бұрын
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.
@sabriath
@sabriath 6 жыл бұрын
@@kc9scott ... still requires a card, which has a controller on it, they were stripped down SA400 with a custom built card for the unit.
@Originalimoc
@Originalimoc 5 жыл бұрын
1:06 "So the surface is real depressed is just sitting under there...." 😅 Okay you really should turn on auto sub.
@WizardNumberNext
@WizardNumberNext 6 жыл бұрын
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
@harshprajapati9251
@harshprajapati9251 6 жыл бұрын
any video on assembly language
@DavidMarsden
@DavidMarsden 5 жыл бұрын
I love especially the way he drifts at random on the chair. Like a Dalek with ADHD.
@autarchprinceps
@autarchprinceps 6 жыл бұрын
What about BIG.little? Is that still symmetrical, or already asymmetrical?
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
Both! It’s a tag team of high-powered multiprocessors and low-powered ones.
@schifoso
@schifoso 6 жыл бұрын
Dual Pentium II processors made Windows NT much more responsive.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
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.
@schifoso
@schifoso 6 жыл бұрын
@@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.
@Nord72
@Nord72 5 жыл бұрын
@@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-PCFX
@Erebus-PCFX 6 жыл бұрын
Fine Graned Multithreading is the way of the future.
@antivanti
@antivanti 6 жыл бұрын
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.
@sundhaug92
@sundhaug92 6 жыл бұрын
The 1541 actually uses a 6502
@Gastell0
@Gastell0 6 жыл бұрын
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_es
@el_es 3 жыл бұрын
Neural network vision accelerators would kind-of be multiple-instruction single-data? in retrospect ;)
@soraaoixxthebluesky
@soraaoixxthebluesky 4 жыл бұрын
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.
@gti983
@gti983 6 жыл бұрын
The original PC has a slot for math coprocessor , so it can be considered as a multiple processor system.
@eefaaf
@eefaaf 2 жыл бұрын
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?
@hawke2325
@hawke2325 6 жыл бұрын
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.
@KC9UDX
@KC9UDX 5 жыл бұрын
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.
@GeFlixes
@GeFlixes 6 жыл бұрын
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?
@lawrencedoliveiro9104
@lawrencedoliveiro9104 6 жыл бұрын
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.
@smegskull
@smegskull 6 жыл бұрын
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.
@Tone720
@Tone720 6 жыл бұрын
First thought was Graphics cards often count as another processor, and that's been case for quite a while.
@Conenion
@Conenion 6 жыл бұрын
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-uk6lu
@MJ-uk6lu 3 жыл бұрын
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-yt
@crogon-yt 6 жыл бұрын
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?
@Sopel997
@Sopel997 6 жыл бұрын
could instructions like fsincos be considered MISD?
@maxschmidt1975
@maxschmidt1975 7 ай бұрын
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?
@alphadad1966
@alphadad1966 6 жыл бұрын
The Apple keyboard wasn't ADB (predecessor to USB)? And that didn't use a possessor?
@wisdomagunta2209
@wisdomagunta2209 5 жыл бұрын
What system currently is running on a multiprocessor ? Names please !!!
@play_sports_and_read_books
@play_sports_and_read_books 4 жыл бұрын
10:09 so he is basically talking about threads and threading right? Or is that a totally different thing (help me i'm confused)
@0MoTheG
@0MoTheG 5 жыл бұрын
Aside from keyboards were there not floppy disk drives with processors?
@MePeterNicholls
@MePeterNicholls 5 жыл бұрын
New iMac Pro can have 18) cores, new Mac Pro upto 28,, is there a limit on effectiveness of number of cores?
@technickuk
@technickuk 6 жыл бұрын
What about Hyper Threading, how does that work?
@matsv201
@matsv201 6 жыл бұрын
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
@koppadasao
@koppadasao 6 жыл бұрын
How many of your computers have multiple processors? All of them!
@mastermuke411
@mastermuke411 6 жыл бұрын
Did anyone else see the sailboat pop out from that guy's shirt?
@martinh2783
@martinh2783 6 жыл бұрын
What gun was it on the shelf?
@DrSteveBagley
@DrSteveBagley 6 жыл бұрын
It's a Desoldering pump
@AmbachtAle
@AmbachtAle 2 жыл бұрын
The IBM PC has a slot for an 8087 math coprocessor.
@SevenDeMagnus
@SevenDeMagnus 4 жыл бұрын
Thanks.
@kayakMike1000
@kayakMike1000 Жыл бұрын
Pretty much all of them.
@jhoughjr1
@jhoughjr1 6 жыл бұрын
He has a falcon!
@lucidmoses
@lucidmoses 6 жыл бұрын
If your counting keyboards, didn't the IBM PC have a processor in the keyboard?
@sundhaug92
@sundhaug92 6 жыл бұрын
It had the 8048 microcontroller
@edgar2526
@edgar2526 6 жыл бұрын
am I the only one who finds Steve looks like the adoring fan from Oblivion ?
@BlackEpyon
@BlackEpyon 6 жыл бұрын
Don't forget Commodore.
@heretolevitateme
@heretolevitateme 6 жыл бұрын
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.
@richard9470
@richard9470 4 жыл бұрын
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?
@stoddcrew
@stoddcrew 6 жыл бұрын
Skip to 3:08 to avoid seeing all the examples.
@TechyBen
@TechyBen 6 жыл бұрын
I'd put money on one of those iMacs NOT being an 8 core, and one only being a 4 core? ;)
@SteelSkin667
@SteelSkin667 6 жыл бұрын
Well they can't be more than 4 core, especially considering these are older unibody machines.
@NeilHighley
@NeilHighley 6 жыл бұрын
@@SteelSkin667 He said that they were quad core
@SteelSkin667
@SteelSkin667 6 жыл бұрын
@@NeilHighley ... that doesn't contradict what I wrote?
@LocoMe4u
@LocoMe4u 6 жыл бұрын
Probably 2 cores knowing apple
@scotthammond3230
@scotthammond3230 5 жыл бұрын
No mention of Amdahl's law? Or this should be in a follow up video.
@Mynx31
@Mynx31 6 жыл бұрын
Signal processors?
@JmanNo42
@JmanNo42 6 жыл бұрын
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?
@orlovsskibet
@orlovsskibet 5 жыл бұрын
I want one of those dual core sandwich makers 😋😛
@chadoftoons
@chadoftoons 6 жыл бұрын
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?
@sighko
@sighko 6 жыл бұрын
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.
@testarossa7993
@testarossa7993 6 жыл бұрын
Sega Saturn anyone?
@sundhaug92
@sundhaug92 6 жыл бұрын
Or the Commodore 128
@testarossa7993
@testarossa7993 6 жыл бұрын
@@sundhaug92 Yep. 👍
@nicbongo
@nicbongo 6 жыл бұрын
Shining force 3!!
Emulation - Computerphile
22:36
Computerphile
Рет қаралды 206 М.
Physics of Computer Chips - Computerphile
12:00
Computerphile
Рет қаралды 612 М.
How CPUs Do Math(s) - Computerphile
19:38
Computerphile
Рет қаралды 65 М.
Multi Programming - Computerphile
12:30
Computerphile
Рет қаралды 80 М.
Developing the RISC-V Framework Laptop Mainboard
24:59
Framework
Рет қаралды 141 М.
CPUs Are Out of Order - Computerphile
15:09
Computerphile
Рет қаралды 187 М.
Multithreading Code - Computerphile
15:54
Computerphile
Рет қаралды 388 М.
ZEN 5 has a 3D V-Cache Secret
19:32
High Yield
Рет қаралды 141 М.
The Magic of RISC-V Vector Processing
16:56
LaurieWired
Рет қаралды 330 М.
TSMC FinFlex: How Chips are made Worse to get Better
24:20
High Yield
Рет қаралды 216 М.
GUI: Under the Hood - Computerphile
17:26
Computerphile
Рет қаралды 154 М.