Wikipedia:Reference desk/Archives/Science/2020 March 2

Science desk
< March 1 << Feb | March | Apr >> Current desk >
Welcome to the Wikipedia Science Reference Desk Archives
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


March 2

edit

modern processors

edit

out of curiosity, what is the minimum amount of external circuitry needed to make a modern PC processor work? it doesn't have to work well or fast, just do something minimally useful like say fetching instructions from a (static, parallel) RAM and executing them. I'm thinking of things like PIC and AVR (that are µC), that need only a supply voltage and an optional clock, with not very high requirements (wrt stability etc) for either. I think things like the Z80 didn't need much external logic either. To put it bluntly, is all of that stuff on the MB really needed? This is simply to appreciate, on an intuitive, hobbyist level (I've played with µCs), what goes into a modern PC. Aecho6Ee (talk) 17:16, 2 March 2020 (UTC)[reply]

Aecho6Ee, This might be more suitable for the computing reference desk, but i'll answer never-the-less:
A *modern* CPU needs an insane amount of circuitry to function, which is why the chipset exists. The CPU is incapable of function without that chipset to guide it, and it needs the BIOS to perform setup before it can even do anything useful (as without any setup, the fan is off, and the CPU would be viable to overheat on the spot)
For an old, CPU, however.. Well that's harder to answer, but I'd say go back in time a good bit, to, say, the MC14500B, and look around. —moonythedwarf (Braden N.) 17:36, 2 March 2020 (UTC)[reply]
That's not entirely accurate. There's a wide range, even today. See system on a chip, which would contain most of what you are saying on the CPU chip itself. --OuroborosCobra (talk) 17:58, 2 March 2020 (UTC)[reply]
Well, now we're going to be mincing words: a "CPU" is a different thing than a "chip". The CPU itself is usually a pretty small part of a system-on-chip; and even though everything is very small and fits inside one very nice square-shaped piece of plastic-resin packaging, there are many digital logic circuits other than the CPU inside that little rectangular black box. A few articles might help: electronic packaging; system on chip; multi-chip module; and so on. Nimur (talk) 15:00, 3 March 2020 (UTC)[reply]
If we are going to mince words that way, then what is a CPU? We've been sticking on-die cache for decades. For the last decade, it has not been uncommon for entire GPUs to be on die with the CPU, and we still just call it something like an "Intel Core i5," and not "Core i5 + GPU." Is the math coprocessor part of the CPU? Memory management? --OuroborosCobra (talk) 18:20, 3 March 2020 (UTC)[reply]
OuroborosCobra, I will note that the user asked about PC processors. For SoCs, yes, very little external hardware is needed. —moonythedwarf (Braden N.) 15:02, 3 March 2020 (UTC)[reply]
That's a pretty arbitrary distinction, isn't it? For example, Intel's 10th Generation U-Series gets built into things that look like laptop computers, but the "chipset" is on-package. Meanwhile, you can still buy certain mobile phones that are built using discrete components... If you draw a distinction between "PC"-class and "SoC"-class CPUs, you're not really describing the state-of-the-art or the state-of-the-marketplace. It would be more appropriate to talk about classifying CPUs at different power- or performance- or price- points. Nimur (talk) 16:33, 3 March 2020 (UTC)[reply]
Moonythedwarf, SoCs are used in PCs. There's a section in the SoC article about it. They are common in Chromebooks and smaller laptops, and even some of the Surface line. That's why I brought them up. They aren't just for embedded or specialized applications, but also used in many PCs. --OuroborosCobra (talk) 18:20, 3 March 2020 (UTC)[reply]
OuroborosCobra, Fair point. I always seem to forget about mobile processors. My bad. —moonythedwarf (Braden N.) 20:38, 3 March 2020 (UTC)[reply]

IMO however you spin it, the distinction is going to be arbitrary. Is an Intel Compute Stick, a PC [1]? It may be intended for media centre applications but you can still use it like one even if it's fairly weak hardware. I'm currently typing this with a 46 inch TV as my monitor with a wireless keyboard and mouse. I'm not using an Intel Compute Stick, and frankly given the hardware I wouldn't want to, but I could be. Am I using a PC? Earlier today I was making some changes to a simple PowerShell script I wrote (historically but mostly or completely on this set-up). Last week I was doing a fair bit of Excel work. I couldn't play Red Dead Redemption 2 or probably even Two Point Hospital. But I could likely play the Windows versions of Minecraft Bedrock edition (there doesn't seem to be any hardware requirements unlike with the Java edition although I suspect the Jave edition would still work and definitely older versions should), Stardew Valley or most or all Wadjet Eye Games and I think all Infamous Quests and I think even most Phoenix Online Studios games. So am I using a PC?

If the TV is a distraction, well I also have a 24 inch monitor with HDMI input. They're rarer but do exist. (And it is and was sold as a monitor. While only Samsung marketing and designers can tell, I'm not sure if the design goal was simply for for Chromecast type devices since they were still relatively new in NZ at the time. I think part of the reason for HDMI is they wanted to have headphone output and DisplayPort was also still only beginning to take over from DVI. To be fair this no longer applies but I'm fairly sure you can still find monitors with HDMI input.)

I think that the Intel STK2MV64CC [2] and is probably better in most respects than the computer I was using 10 years ago which most would call a PC (Opteron 165 mildly overclocked, Nvidia 8500GT 256 MB, I think 4GB RAM but could have been 8GB RAM, HD as storage). The main question mark is the RAM, and storage. (Definitely size, even if you add a 512GB microSD although possibly 1TB will be enough. And although flash, eMMC and SD can be fairly crap although they probably still have better random read and write performance.) See e.g. [3] vs [4] and [5] vs [6] and [7] vs [8] although note that these are intended only for a very quick guide as many of these benchmarks may depends on other hardware, user and when they were done. Especially for the Intel, it's going to depend a lot on the hardware design TDP. Definitely it's better than what I was using 15 years ago. I actually wonder whether in some cases the Compute Stick outperforms my current computer which only has a AMD A10 5800K, although definitely my 32GB RAM and 512GB SSD, and for gaming my 280X means not in most cases.

And the STK2MV64CC is fairly old now. Despite the problems Intel has faced, I think you could design one with Kaby Lake, you'd get something even better although I'm not sure if there's anything beyond Kaby Lake you can use. (I think they haven't bothered to make a new Compute Stick because it didn't have much success.)

Then there's also the famous Raspberry Pis. These can be used for lots of things, but PCs is one common suggestion. Our article even says "The Raspberry Pi Foundation announces that they had sold eight million devices (for all models combined), making it the best-selling UK personal computer, ahead of the Amstrad PCW."

And in case it isn't obvious, I chose these examples because both are relatively small with limited components. Although still very complicated, some Raspberry Pi use a 6 layer PCB [9] and I think most will be like that. Frankly the Pi isn't a great example since they often have GPIO pins and other stuff for the various markets they are in part targeted at which you don't need for a simple PC. But they are also well known and have a fairly open design goal [10] meaning I'm fairly sure you can find a fair bit about the other stuff even if the SoC is still a bit of a black box. The Pis are also passive unlike the tiny fan in the Compute Stick.

As for Nimur's point, I mostly agree with OuroborosCobra. What do you mean mean by 'other components'? This seems to be a Intel Core M7-6Y75 [11]. You can see 2 dies on one side, and a large number of solder balls for the FC-BGA on the other. The 2 die bit is mostly irrelevant. I'm fairly they could make a monolithic one if they tried, it's just not an effective way to make them. (As AMD are showing, maybe even monolithic CPUs are not the best.) Undoubtedly what's on the die is very complicated with a lot of stuff which could be called components.

But although I used CPU earlier, the distinction between which part is the 'CPU' and which part isn't is not that clear cut. I still remember, and I think I may still have in the garage a motherboard with separate L2 (or L3 with some CPUs) cache. I think it may be under 25 years old. Yet many would find it weird to suggest the L2 or L3 cache on many modern CPUs is not part of the CPU.

P.S. I chose small size since it's likely to mean minimising components. From a general design standpoint, small sizes does have other tradeoffs. While some have designed Intel based compute sticks without fans [12] it is more difficult. However you can get some fairly fancy passively cooled Next Unit of Computing/mini PC type computers e.g. www.aliexpress.com/item/32766530325.html www.aliexpress.com/item/4000183153450.html . Admittedly I'm not sure how well designed these are or whether they have significant overheating and throttling, but still, they exist. Even with a dinky fan, you're not doing the same thing from a compute stick type design.

P.P.S. From my experience, the iGPU is actually named in a lot of cases. Maybe not in general marketing, but whether it's an Iris 640 or an HD Graphics 615 makes a big difference if you're using the GPU for something like gaming. It's true that each CPU is given a distinct model which tells you what the GPU is and I don't disagree with the general point that it's arbitrary whether you want to call the GPU part of the CPU or not.

For a while AMD got very big into their APU marketing. I think in part because they hoped it would compensate for their CPU module design which effectively meant you could have 4 threads with ~4x performance for integer calculations, but only 2 for floating point. I think they were hoping GPGPU would gain a lot more ground in generic home and business applications than it did i.e. the distinction between CPU and GPU when designing software would melt away more than it it. While this may not have happened, I think it still highlights how it's a bit arbitrary. And APUs and the Heterogeneous System Architecture still exists on some Ryzens.

And this reminds me of something I forgot and missed in OC's reply. I think I used a 80386 with or without a 80387 Coprocessor. Would you say such a computer has 2 CPUs or what? Yet despite what our article says, I don't think many would think of the AMD Ryzen 9 3950X as having FPU coprocessors, or the FPU as anything but part of the CPU. Then you get stuff like Intel's AVX-512. I don't know how accurate, but I've read claims that something like 25% of the die can be used for this. [13] Yet how many will say it's not part of the Intel CPUs that have it?

Nil Einne (talk) 08:18, 4 March 2020 (UTC)[reply]

One additional comment. I guess some may consider even with the HSA (after all it is called heterogenous) etc, the GPU is clearly not part of the CPU since it has its own clock speed. I find this an interesting assertion considering you can have BigLittle type architectures and other cases (selective clocking of different cores depending on usage for example) with different clocks for different cores. And then there's how you consider things like the infinity fabric or any eDRAM cache. Meanwhile GPUs themselves often have core clocks and shader clocks. Nil Einne (talk) 10:39, 4 March 2020 (UTC)[reply]
Modern CPUs perform bit operations. You need to feed in the values to set the registers. You need a clock pulse to tell the CPU to step through the operations. You can then read what is in the registers. That is the minimal hardware required. You don't need memory. You can set the incoming bits with switches. You don't need BIOS. The CPU runs whatever instruction you set in the registers. You don't need any form of display. You don't even need a CPU fan. If you have a slow clock pulse, it won't heat up. So, you really just need power, a pulse, and some way to feed in some binary numbers and a way to read out some binary numbers. In the end, that is all the CPU does. You set the registers, clock-clock-clock and then read the registers. Modern CPUs do have special connections. You can have direct memory access, bypassing a memory controller. You can have direct video card access, bypassing a bus controller. Of course, you can ignore that stuff and simply not connect it. For example, if you have a fancy CPU with a special direct connection to a high-end video card, but you don't have the video card to connect to, the CPU still works. You just can't play your games with the super high-end graphics. 135.84.167.41 (talk) 12:34, 3 March 2020 (UTC)[reply]
Quite correct. I think, if we're trying to boil this down to a hobbyist/amateur's level of detail, the right way to describe it is that your (main) CPU provides a surprisingly small part of the overall experience of a modern computer. For all the things you expect - like a graphical user interface, multimedia, video, audio, external keyboard, mouse, storage, networking ... and so much more - your main CPU doesn't actually do all of those things. Perhaps it could do those things - hypothetically speaking - but in today's system designs, the main CPU does not actually do any of that stuff by itself. The main CPU needs all the other "stuff." If we were to go over all the stuff, one by one, in sequence, it would literally take thousands of years just to describe it - because modern computers literally contain many billions of parts - for example, see our article on transistor count. It's not practical to list every part: instead, we depend on large numbers of teams - each with their own even-larger numbers of individual engineers - to manage all that "stuff." At the end of it all, we have a hugely complicated machine that does all the stuff that a regular user expects from a computer built in this century. It does a lot more than just "computing" numbers.
And if we want a modern system, we really have no option except to trust the final-result of all the accumulated years effort put in by all of those thousands of individuals, encapsulated inside one or more physical objects that we call the "components" of the whole computer system.
Now, where do e finally put all that "stuff" - all the individual components? Well, that depends on a lot of factors. Digital circuitry can actually be made really incredibly microscopically small - so small that it is absolutely invisible to you. Modern digital circuits can be made so small that the laws of physics tell us that you could not see it using visible light - no matter how powerful your microscope! So why are there still all these separate big bulky square-shaped rectangle things?
In some cases, we can use very large scale integration technology to put every single digital system inside one piece of plastic. But sometimes those super-highly-integrated all-in-one circuits are expensive; sometimes they need big, huge, massive incredibly talented engineering teams to design them; and sometimes even if you put that circuit, it could overheat - and so there are lots of factors that explain why any specific computer is designed to have all those "chips" and other components.
A lot of modern computer system design is a race between keeping up with all the new stuff that people want - and putting all that complexity in one place without breaking anything. You can basically look at the final shape of a computer as some kind of dynamic equilibrium - new stuff gets added, and customers won't buy a computer without it - but collectively, we haven't figured out a way to make that thing fit on to one single tiny little integrated circuit yet. A few years later, we figure that component out - and ... customers have some new thing that they must have, and system designers have to put in another discrete component ...
Nimur (talk) 16:53, 3 March 2020 (UTC)[reply]
I'm not convinced this is the best way to look at things. I'm fairly sure with a modern PC style Intel or AMD CPU, you can't actually get it to do much, if you don't initialise it in the correct fashion. If expects certain stuff at certain times. If you don't do the right thing, it's either going to shut down, or the output will effectively be it telling you there is something wrong. Technically you could argue this feeding in binary numbers and receiving an output of binary numbers, but I don't think this is a meaningful way of looking at things. Nil Einne (talk) 07:49, 4 March 2020 (UTC)[reply]
That is a similar argument (in my opinion) to telling universities to stop teaching MIPS assembly. You are feeding in binary (hex, technically, but binary). You are reading out binary. What's the point? The counter-argument is that it teaches computer architecture. Without a good foundation in computer architecture, you can't get a good foundation in operating systems. Without a good foundation in operating systems, you can't get a good foundation in software algorithms. Without a good foundation in software algorithms, you can't get a good foundation in computer programming. Then, you have a gap between those with more of a holistic view of computers and those who memorized every cool add-on for python. Usually, it doesn't matter, but every now and then we get a major security flaw because someone who didn't really understand what they were doing toock a shortcut that shouldn't have been taken. 135.84.167.41 (talk) 13:21, 4 March 2020 (UTC)[reply]
An old saying you may have heard: "If builders built buildings the way programmers write programs, the first woodpecker that came along would destroy civilization." ←Baseball Bugs What's up, Doc? carrots13:25, 4 March 2020 (UTC)[reply]

Just for fun, here's an interesting link: megaprocessor. A guy built a working processor out of transistors and such things. It's currently in the Cambridge Centre for Computing History. --2001:16B8:1EC2:FD00:A10B:A4C:F684:2791 (talk) 03:08, 5 March 2020 (UTC)[reply]

Using spontaneous combustion in a power plant

edit

Would artificially induced spontaneous combustion (through rapid oxidation or bacterial fermentation) be a cheaper and less complicated way to generate heat at a power plant, particularly when compared to fossil-fuel and nuclear power plants? The usage of haypiles and compost for that purpose also looks like a better option than non-renewable coal. 212.180.235.46 (talk) 17:50, 2 March 2020 (UTC)[reply]

No. Spontaneous combustion is just an ignition method, once something is already on fire, it doesn't care how it got ignited. Biomass power sources already exist, there's not a whole lot to be gained by creating some exotic ignition method. --Jayron32 17:52, 2 March 2020 (UTC)[reply]
Fossil fuel power stations also use some kind of ignition method, so this comes down to comparison of ignition methods. To generate heat a fossil fuel power plant uses mainly either a furnace or gas burning, with complex process of coal preparation and ignition to generate steam and ultimately spin the turbines. So, instead of all that machinery why not to use spontaneous combustion that would surely produce the same water steam for spinning turbines and electricity? Brandmeistertalk 20:10, 2 March 2020 (UTC)[reply]
So instead use a more complex, energy intensive, and time consuming process of preparing the coal for the correct conditions for proper and yet predictable spontaneous combustion? I mean, some engine systems rely on it (Diesel engines for example), but I'm not sure that scales for coal power plants. --Jayron32 12:53, 3 March 2020 (UTC)[reply]
Spontaneous means not artificially induced, but ignition systems for a variety of combustion applications use both the latent heat of a surrounding system, usually as sustained combustion as in jet engines, and timed fuses. EllenCT (talk) 22:44, 2 March 2020 (UTC)[reply]
All that said, it might be viable to utilize the waste heat from already-existing industrial-scale composting (as performed by many local authorities in the UK using municipally-collected collected garden and food waste) either directly or to generate useful amounts of electricity from thermoelectric generators. {The poster formerly known as 87.81.230.195} 90.200.142.153 (talk) —Preceding undated comment added 23:29, 2 March 2020 (UTC)[reply]
Waste heat recovery is an important part of chemical engineering. EllenCT (talk) 00:16, 3 March 2020 (UTC)[reply]
It sounds like a bad idea to me.
  • Spontaneous combustion of a pile of hay takes some time. Our article says usually 4 to 5 weeks. When you decide to switch on your power station, you want it on the grid within a day.
  • When there's a good air supply to your compost pile, the air will act as a coolant and prevent ignition. So, you need poor air supply. After ignition the air supply will still be poor, leading to slow burning, a cool flame, dirty smoke and poor efficiency.
  • What about using it only for ignition? After a few weeks waiting you've got a burning pile of hay, which you then use to ignite your natural gas. Is that really simpler than an electric spark?
Of course you can utilise waste heat. If you have some industrial process that produces waste heat that you can't use otherwise or only need at a lower temperature than your source, it may be a good idea to extract some work from it. The efficiency may be low, but it's better than not using the heat at all (if maintenance of your heat engine isn't too expensive).
Biomass is used to generate electricity, usually by burning it in a way similar to how coal is burned (and usually mixed with coal). It's potentially green energy, but somewhat controversial. The biomass is usually burned together with coal, which is definitely not green, and it's hard to guarantee that the biomass comes from sustainable sources. PiusImpavidus (talk) 10:40, 3 March 2020 (UTC)[reply]