Тёмный
No video :(

Multiple Processor Systems - Computerphile 

Computerphile
Подписаться 2,4 млн
Просмотров 154 тыс.
50% 1

Опубликовано:

 

28 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 250   
@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.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
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.
@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!
@todayonthebench
@todayonthebench 5 лет назад
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.
@kemfic
@kemfic 5 лет назад
5:34 damn he's not pulling any punches here
@StankyPickle1
@StankyPickle1 5 лет назад
Loved his little jab, lol!
@fllthdcrb
@fllthdcrb 5 лет назад
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 5 лет назад
@@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 4 года назад
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 5 лет назад
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 5 лет назад
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 5 лет назад
Z820 ;) >Sean
@jecelassumpcaojr890
@jecelassumpcaojr890 5 лет назад
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 5 лет назад
Doesn't it at that point become relevant to start defining the grade of parallelism?
@JohnnyThousand605
@JohnnyThousand605 5 лет назад
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 5 лет назад
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 5 лет назад
@@jecelassumpcaojr890 fair enough :-)
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
“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.
@sighko
@sighko 5 лет назад
This video would have been very useful when I was studying for my Operating Systems module.
@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.
@darkwinter6028
@darkwinter6028 5 лет назад
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 4 года назад
And it might have an Apple IIe card installed.
@TheTurnipKing
@TheTurnipKing 5 лет назад
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.
@RabieHussien
@RabieHussien 5 лет назад
I'm actually crying out of joy from watching this video and reading the comments afterwards.
@alexwilli
@alexwilli 5 лет назад
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 5 лет назад
Please do!
@skepticmoderate5790
@skepticmoderate5790 5 лет назад
That's really cool. Looking forward to the video!
@heephstan
@heephstan 5 лет назад
Can't you write this to use CUDA or AMD's compute solution? If it's so paralisable?
@Latrocinium086
@Latrocinium086 5 лет назад
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
@Luredreier
@Luredreier 5 лет назад
Thanks for using the term "SMT" this time. =)
@RichardEricCollins
@RichardEricCollins 5 лет назад
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 5 лет назад
...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 5 лет назад
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 5 лет назад
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 5 лет назад
@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.
@hrnekbezucha
@hrnekbezucha 5 лет назад
Love these high level explanations.
@nO_d3N1AL
@nO_d3N1AL 5 лет назад
I'd love to watch Steve reacting to some crazy setup on LinusTechTips
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
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.
@chouatsushi7625
@chouatsushi7625 Год назад
Wow I have the same model computers as you showed in the video which have two Intel processors. I felt pretty satisfied.
@robf93
@robf93 5 лет назад
These videos keep my brain happy
@tcsiwula
@tcsiwula 5 лет назад
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 5 лет назад
But if you really think about it, is it worth the space?
@romanemul1
@romanemul1 5 лет назад
@Stylianos It is.
@crby101
@crby101 5 лет назад
but if i *dont* sell i *cant* buy lul
@VoteScientist
@VoteScientist 5 лет назад
Also IBM 360 model 67-2 announced August 1965 two complete model 67s sharing common memory.
@wp5355
@wp5355 4 года назад
He does a great job of explaining the operation of this hardware and software!!
@drawapretzel6003
@drawapretzel6003 5 лет назад
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 5 лет назад
ADCs and DACs are not processors, though they can be coupled with DSPs (which are processors)
@kc9scott
@kc9scott 5 лет назад
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 5 лет назад
@@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
@robf93
@robf93 5 лет назад
Two instruction paths. One for computation, the other for control flow.
@paleghost
@paleghost 5 лет назад
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.
@amywyvern3924
@amywyvern3924 5 лет назад
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 5 лет назад
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 5 лет назад
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 5 лет назад
Add four 1571 and you'll have a six core system.
@KuraIthys
@KuraIthys 5 лет назад
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 5 лет назад
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 5 лет назад
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.
@kcmichaelm
@kcmichaelm 5 лет назад
The IBM PC you show had a math coprocessor option (my 5150 had it), that went along with the 8088.
@muuubiee
@muuubiee Год назад
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.
@billykotsos4642
@billykotsos4642 5 лет назад
Graphics are amazing!!!
@sabriath
@sabriath 5 лет назад
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 5 лет назад
​@@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 5 лет назад
@@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 5 лет назад
@@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 5 лет назад
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 5 лет назад
@@kc9scott ... still requires a card, which has a controller on it, they were stripped down SA400 with a custom built card for the unit.
@Rickmakes
@Rickmakes 5 лет назад
You could install a second processor in the Macintosh LC to run Apple II programs.
@Originalimoc
@Originalimoc 5 лет назад
1:06 "So the surface is real depressed is just sitting under there...." 😅 Okay you really should turn on auto sub.
@kaminutter
@kaminutter 4 года назад
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 :)
@bibekkoirala2517
@bibekkoirala2517 4 года назад
This was interesting, I love this channel
@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?
@JyrkiKoivisto
@JyrkiKoivisto 5 лет назад
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...
@GeFlixes
@GeFlixes 5 лет назад
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?
@autarchprinceps
@autarchprinceps 5 лет назад
What about BIG.little? Is that still symmetrical, or already asymmetrical?
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
Both! It’s a tag team of high-powered multiprocessors and low-powered ones.
@henrikjensen3278
@henrikjensen3278 5 лет назад
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 5 лет назад
So a Commodore 64 could count because the disk-drive CPUs were often used for serious work
@henrikjensen3278
@henrikjensen3278 5 лет назад
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 5 лет назад
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.
@crogon-yt
@crogon-yt 5 лет назад
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?
@soraaoixxthebluesky
@soraaoixxthebluesky 3 года назад
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.
@MePeterNicholls
@MePeterNicholls 4 года назад
New iMac Pro can have 18) cores, new Mac Pro upto 28,, is there a limit on effectiveness of number of cores?
@maxschmidt1975
@maxschmidt1975 4 месяца назад
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?
@play_sports_and_read_books
@play_sports_and_read_books 3 года назад
10:09 so he is basically talking about threads and threading right? Or is that a totally different thing (help me i'm confused)
@hawke2325
@hawke2325 5 лет назад
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.
@Daniel-lb3jw
@Daniel-lb3jw 5 лет назад
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 2 года назад
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 2 года назад
@@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.
@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.
@EgadsNo
@EgadsNo 5 лет назад
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 5 лет назад
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.
@az09letters92
@az09letters92 5 лет назад
Amiga keyboard controller chip CBM 6570 has also a 6502 CPU embedded in it.
@alphadad1966
@alphadad1966 5 лет назад
The Apple keyboard wasn't ADB (predecessor to USB)? And that didn't use a possessor?
@simonvannarath
@simonvannarath 5 лет назад
Anyone here remembers the Connection Machines?
@Conenion
@Conenion 5 лет назад
Sure, they had a guest role in Jurrasic Park.
@peterjohnson9438
@peterjohnson9438 5 лет назад
I'd love to see Computerphile do an episode on Thinking Machines inc.
@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?
@Nord72
@Nord72 5 лет назад
The most amazing SMP system was the original BeBox in the early 90"s (way ahead Apple that time)
@Dublarty
@Dublarty 5 лет назад
A dedicated Transputer/Inmos video would be nice
@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.
@redriverscout4404
@redriverscout4404 4 года назад
If you look at the final generation of the Apple PowerMac G5 it had both multiple processors with multiple cores.
@harshprajapati9251
@harshprajapati9251 5 лет назад
any video on assembly language
@Xilefian
@Xilefian 5 лет назад
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 5 лет назад
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 5 лет назад
@@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 5 лет назад
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 5 лет назад
@@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
@DavidMarsden
@DavidMarsden 5 лет назад
I love especially the way he drifts at random on the chair. Like a Dalek with ADHD.
@smegskull
@smegskull 5 лет назад
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.
@0MoTheG
@0MoTheG 5 лет назад
Aside from keyboards were there not floppy disk drives with processors?
@el_es
@el_es 2 года назад
Neural network vision accelerators would kind-of be multiple-instruction single-data? in retrospect ;)
@WizardNumberNext
@WizardNumberNext 5 лет назад
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
@wisdomagunta2209
@wisdomagunta2209 5 лет назад
What system currently is running on a multiprocessor ? Names please !!!
@technickuk
@technickuk 5 лет назад
What about Hyper Threading, how does that work?
@Sopel997
@Sopel997 5 лет назад
could instructions like fsincos be considered MISD?
@faiskies_
@faiskies_ 5 лет назад
Great video. Very informative.
@JmanNo42
@JmanNo42 5 лет назад
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?
@scotthammond3230
@scotthammond3230 5 лет назад
No mention of Amdahl's law? Or this should be in a follow up video.
@Gastell0
@Gastell0 5 лет назад
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!
@sunthlower4812
@sunthlower4812 5 лет назад
Your shirt has a cool pattern! :D Very stylish
@antivanti
@antivanti 5 лет назад
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 5 лет назад
The 1541 actually uses a 6502
@chadoftoons
@chadoftoons 5 лет назад
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 5 лет назад
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.
@schifoso
@schifoso 5 лет назад
Dual Pentium II processors made Windows NT much more responsive.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
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 5 лет назад
@@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+)
@russellthompson3201
@russellthompson3201 5 лет назад
You talk about multiple processors and blew right past the XP machine as a single processor. Where does the 80X87 math co-processor fit in? Is that a bolt on part of the main processor, or is it indeed a separate processor? I think one could lean either way. The CPU passes information and waits on a result, therefore making it a bold on addition to the main CPU. An 80X87 cannot function by itself (again, my feeble understanding). If it is considered a separate processor, the next question is arr all processors 486 and above multiprocessors? I have no clue whether there is a builtin math coprocessing slice of silicone, or of the 486+ cpu capable of doing FP math itself?
@sundhaug92
@sundhaug92 5 лет назад
By the time of XP machines have the x87 built in to the same circuitry, you'd have to go back to something like the 386 to find the (3)87 separate
@sundhaug92
@sundhaug92 5 лет назад
Also, the x87 doesn't have a branch-instruction, nor a jump-instruction
@kc9scott
@kc9scott 5 лет назад
Even with a single-task OS, if you use interrupts for anything, the main CPU could service interrupts as they occur (and thus be able to do something useful) while waiting for the AM9511. Again, I don't know whether the same thing would apply to the 80X87.
@lucidmoses
@lucidmoses 5 лет назад
If your counting keyboards, didn't the IBM PC have a processor in the keyboard?
@sundhaug92
@sundhaug92 5 лет назад
It had the 8048 microcontroller
@Mynx31
@Mynx31 5 лет назад
Signal processors?
@gti983
@gti983 5 лет назад
The original PC has a slot for math coprocessor , so it can be considered as a multiple processor system.
@jhoughjr1
@jhoughjr1 5 лет назад
He has a falcon!
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
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.
@martinh2783
@martinh2783 5 лет назад
What gun was it on the shelf?
@DrSteveBagley
@DrSteveBagley 5 лет назад
It's a Desoldering pump
@woopygoman
@woopygoman 5 лет назад
Is it possible to run one thread on multiple cores? I can never have enough single-threaded performance!
@Erebus-PCFX
@Erebus-PCFX 5 лет назад
Fine Graned Multithreading is the way of the future.
@KuraIthys
@KuraIthys 5 лет назад
The definitions get pretty complicated huh. Aren't modern GPU's nowadays basically near fully programmable? That makes them SIMD multiprocessor clusters in their own right (given they effectively have core counts measured in the thousands.), but then these graphics cards are coupled to a system where the main processor is also a multicore setup. So you have a symmetric multiprocessor feeding data to a second symmetric multiprocessor that collectively forms an asymmetric multiprocessor system composed of symmetric multiprocessors... OK, I'm probably abusing the definitions of those terms at this point, but it surely gives you some idea of how messy this has all gotten? XD
@sundhaug92
@sundhaug92 5 лет назад
You're kinda right
@SevenDeMagnus
@SevenDeMagnus 4 года назад
Thanks.
@Tone720
@Tone720 5 лет назад
First thought was Graphics cards often count as another processor, and that's been case for quite a while.
@Conenion
@Conenion 5 лет назад
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.
@Kaaputenen
@Kaaputenen 5 лет назад
10:49 why does adding a 1 make vector operations simpler?
@aarondavis5386
@aarondavis5386 5 лет назад
If i recall adding the extra term lets you calculate with a 2x2 matrix rather than mucking about with "do i need a 3x1 or a 1x3"
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
It’s called “homogeneous coordinates”. Sometimes the extra component isn’t a 1; a value of 0 can be used to represent a “point at infinity” (having a direction but no actual position).
@lawrencedoliveiro9104
@lawrencedoliveiro9104 5 лет назад
@@aarondavis5386 It means that all linear transformations in n dimensions can be expressed uniformly as multiplications between vectors of (n + 1) components and matrices of (n + 1) × (n + 1) components (e.g. 4×4 matrices and 4-vectors for 3D graphics). If you try to use n-vectors and n×n matrices, then rotation, scaling etc are represented by multiplications, but translation (change of location) has to be done by addition.
@matsv201
@matsv201 5 лет назад
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
@derrylab
@derrylab 4 года назад
5:58 mo mo mo mo mo mo
@AmbachtAle
@AmbachtAle 2 года назад
The IBM PC has a slot for an 8087 math coprocessor.
@orlovsskibet
@orlovsskibet 4 года назад
I want one of those dual core sandwich makers 😋😛
@elimalinsky7069
@elimalinsky7069 5 лет назад
The GPU in my computer apparently has about 1500 cores. Why does a GPU needs so many?
@bluecatdk
@bluecatdk 5 лет назад
cuz it calculates so much more than a cpu does
@elimalinsky7069
@elimalinsky7069 5 лет назад
@@bluecatdk That's the parallel computing everyone talks about when GPUs are mentioned?
@bluecatdk
@bluecatdk 5 лет назад
@@elimalinsky7069 i think so
@elimalinsky7069
@elimalinsky7069 5 лет назад
@@bluecatdk is that the reason why GPUs are also used for cryptomining?
@bluecatdk
@bluecatdk 5 лет назад
yea
@obvioustruth
@obvioustruth 5 лет назад
What about Amdahl's law?
@mrcbeee
@mrcbeee 5 лет назад
Just curious, Epyc and threadripper, would they be multi CPU as they use chiplets, or single CPU as they're on the same substrate?
@mikakorhonen5715
@mikakorhonen5715 5 лет назад
Just about definition of CPU. I would call Epyc and Threaddripper to single CPU, because they use single socket.
@sundhaug92
@sundhaug92 5 лет назад
@@mikakorhonen5715 That's the definition often used in licensing yes
Далее
Physics of Computer Chips - Computerphile
12:00
Просмотров 611 тыс.
Ajdarlar...😅 QVZ 2024
00:39
Просмотров 715 тыс.
A "Small" Part of Their Growth
6:59
Просмотров 6
GUI: Under the Hood - Computerphile
17:26
Просмотров 153 тыс.
why can’t computers have thousands of cores?
8:08
Просмотров 716 тыс.
Where did Bytes Come From? - Computerphile
11:31
Просмотров 476 тыс.
What Happens When I Press a Key? - Computerphile
12:29
Просмотров 243 тыс.
Programming Loops vs Recursion - Computerphile
12:32
Просмотров 1,5 млн
Where GREP Came From - Computerphile
10:07
Просмотров 937 тыс.
Cracking Enigma in 2021 - Computerphile
21:20
Просмотров 2,5 млн
Ajdarlar...😅 QVZ 2024
00:39
Просмотров 715 тыс.