Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 398 399 [400] 401 402 ... 638

Author Topic: The small random questions thread [WAAAAAAAAAAluigi]  (Read 691492 times)

Kagus

  • Bay Watcher
  • Olive oil. Don't you?
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5985 on: June 22, 2020, 02:59:06 pm »

Go Zoroastrian! Give praise to the light, Ahura Mazda!

When you die, have your body chopped up into little pieces and then spread on top of a tower for birds of prey to eat!

Eschar

  • Bay Watcher
  • hello
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5986 on: June 29, 2020, 11:32:21 pm »

Why in the helling hell have I been itchy all over with no discernable cause for about a week now? What is going on? This is getting ridiculous.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5987 on: June 29, 2020, 11:37:56 pm »

Has your city recently started purging their pipes? Sometimes the city govt will put more chloramine in the water in response to things like an algae bloom, and this can cause skin upset in people.

Logged

methylatedspirit

  • Bay Watcher
  • it/its
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5988 on: June 30, 2020, 09:35:11 am »

Why did the single-core CPU die out? Why have they all died out (except for some niche, low-power IoT stuff), even in the lowest-end systems? Like, you can't even find a recent (released in the last 5 years) single-core anymore. The last desktop ones were the Sandy Bridge Celerons, released back in late 2011.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5989 on: June 30, 2020, 09:42:28 am »

Because OSes are now SMP aware, and the most threads you can get on a proper single core CPU is 2, if you use hyperthreading.  This means all your apps, and OS system processes, have to use what is called "Cooperative multitasking" or "preemptive multitasking" to give the appearance of all running at the same time-- In reality, they each get a small timeslice of the CPU's available resources, and then wait most of the time. (The difference between those two is basically how those timeslices get divvied up.)

With multicore CPUs, processes do not have to wait; they can get serviced by one of the available cores, as needed. High priority system daemons can continue to run reliable, and user programs are not impacted by that, because they run on different cores.


Game makers dont like making multicore game engines, because of a thing called "Concurrency"-- If a process is being done on one core, and needs data from a process being done in a different core, it might finish before that other core (that supplies it with data) finishes, and without some kind of check mechanism to keep those processes synchronized, very bad things can happen. That's a lot of added complexity, and they got spoiled rotten in the 90s and 2000s when single core performance just kept going up and up and up.  Now they are HAVING to deal with concurrency (and also cache coherency), in order to keep improving game eyecandy and physics.



Logged

Ziusudra

  • Bay Watcher
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5990 on: June 30, 2020, 05:01:24 pm »

My understanding is that heat dissipation limits how fast a single core can be driven. So, once you get near ~5Ghz you either have to switch to liquid cooling or go multi-core to get more performance.
Logged
Ironblood didn't use an axe because he needed it. He used it to be kind. And right now he wasn't being kind.

Naturegirl1999

  • Bay Watcher
  • Thank you TamerVirus for the avatar switcher
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5991 on: June 30, 2020, 05:06:07 pm »

This talk of cores makes me wonder, what exactly is a core? In computer terms, what’s it usually made of?
Logged

McTraveller

  • Bay Watcher
  • This text isn't very personal.
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5992 on: June 30, 2020, 05:37:11 pm »

Cores are made of frozen silicon with other chemicals added.  ;)

A core is a single "processing unit" - a chunk of circuits that is capable of executing a program "by itself".  Multi-core chips wire several cores together so you really basically have a bunch of CPUs, but all on one chip.

Single-core speed is not just limited by heat dissipation, but also by the maximum switching speed of a transistor; even at cold speeds, small things have real capacitance and inductance; they can't change their state faster that some limit, no matter how cold.  Even superconductors still have capacitance and inductance, so that wouldn't get you past that limit even if you had no internal heat generation.  BUT even with no resistance, unless the transistor is thermodynamically reversible, it still costs entropy to change a bit from 0 to 1 or 1 to zero, so you will always generate heat.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5993 on: July 01, 2020, 12:45:04 am »

"core", in terms of computer jargon, is old as sin.

Initially, it referred to "Core memory", which was one of the very first kinds of electronic memory out there. It used small magnetic ferrite beads, laced over criss-crossing mesh of copper wire, where two wires passed over each other at 90 degrees, and a ferrite bead was placed diagonally over the intersection.  One of the wires supplied "ring current", and the other was the sense wire. To flip a bit, ring current was supplied, which would alter the magnetic polarity of the ferrite bead, and thus change the inductance value of the sense wire.  In this way, a state could be stored on the circuit.  Assemblages of these memory units were called "Core memory", and it was due to the existence of ferrite bead cores being present in the memory's design.  It later became subsumed by the notion that this kind of memory was deeply rooted at the heart of the computer, and thus "At it's core", and became misnomered as the base system memory, vs expansion memory.

This misnomer was later carried on further, with multiple CPU-on-die chips, which are REALLY Symmetrical MultiProcessing (SMP), with a unified cache architecture.  Each individual CPU is misnomered as a "core", for lack of an easier to use alternative. "Processor unit" is more accurate, but cumbersome. :P

As for what each of them actually *IS*--

A CPU is comprised of a logic analysis unit/decoder unit, (which decodes instruction words, and in modern CPUs, contains the microcode to perform these tasks. In older CPUs, this could have been done with wire-logic, or hard-defined logic gate structures, such as seen in the NEC V20 chip.) which is connected to an array of ALUs, or Arithmetic Logic Units. ALUs are comprised of discrete transistor gates, which are capable of performing logical operations, such as AND, NOT, OR, etc..  By stringing these together in an ordered fashion, complex operations can be performed.

Connected to the decoder and the ALU array, there is a very high speed, and privileged bit of SRAM memory, called the "On Die cache".  This stores recently processed instructions and their outputs, so that the CPU can avoid having to redo operations if it does not have to, or avoid fetching data from the system RAM to perform operations with, if it does not have to.

Because cache ram is both bulky (takes lots of real-estate up), difficult to design in a configuration that effectively deals with signal propagation delays sensibly, and does not act like a thermal blanket to the ALU arrays-- this is often a shared commodity between processor "cores" in a multi-core processing chip.  (Originally, the concept of SMP used multiple discrete processor ICs, each with a discrete cache block!) This is where "Cache contention" comes into play.  Since there is only so much of this memory available, and multiple processing units trying to write/read stuff from there all at the same time, the risk of one process evicting data needed by another process increases as the number of threads being processed increases, and as the needs for large data structures increases.  Managing this problem for maximal performance is a headache, which is one of the reasons why game developers loathe the idea of multiprocessing in their game engines.

« Last Edit: July 01, 2020, 12:53:39 am by wierd »
Logged

Reelya

  • Bay Watcher
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5994 on: July 01, 2020, 05:40:09 am »

Yeah, effectively a "core" is just the traditional circuitry of a CPU. See the Von Neumann Architecture for the the definition of a CPU.

Each core is in fact a full CPU according to Von Neumann Architecture, but with the terminology used in the computer manufacture business, CPU had become synonymous with a specific chunk of silicon (which made sense while there was a 1:1 correspondence between the hardware and the Von Neumann definition), so when they started packing multiple CPUs into the same chip they needed a new term for the CPUs, and "core" was what stuck.

In fact according to the Von Neumann terminology there are many CPUs inside a modern PC, even if the main CPU is only single-threaded.
« Last Edit: July 01, 2020, 06:01:54 am by Reelya »
Logged

bloop_bleep

  • Bay Watcher
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5995 on: July 01, 2020, 10:07:52 am »

In fact according to the Von Neumann terminology there are many CPUs inside a modern PC, even if the main CPU is only single-threaded.

Except there aren't, since the CPU is specifically the central of the processing units.  :)
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

Naturegirl1999

  • Bay Watcher
  • Thank you TamerVirus for the avatar switcher
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5996 on: July 01, 2020, 12:10:45 pm »

In fact according to the Von Neumann terminology there are many CPUs inside a modern PC, even if the main CPU is only single-threaded.

Except there aren't, since the CPU is specifically the central of the processing units.  :)
So, is the CPU just what we call the central core? Or is the CPU actually different from the core? To use an analogy, is a CPU one of many ganglions or is the CPU the brain connected to many ganglions(cores)?
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5997 on: July 01, 2020, 12:24:44 pm »

A central processing unit performs the prefetch/decode/execute cycle in a computing environment.

Since modern computers are made up of assemblages of many special purpose systems, (Like a graphics card, a sound card, a modem, etc...), there are MANY CPUs inside such a computer, each doing their specific kind of data processing.  The soundcard does digital sound processing (DSP), using an instruction set, and data supplied to it from the host system.  A graphics card does all manner of floating point arithmetic, which is why it is used for supercomputing applications in the modern era-- it too has an instruction set, and processes data supplied to it.  A modem interprets analog audio signals, and converts them into digital signals, and vise/versa, using its specialized instruction set.  It too has a CPU.

The CPU is the part of a system that does this processing.  There are many such systems inside a modern computer.  This is what Reelya is mentioning.
Logged

Naturegirl1999

  • Bay Watcher
  • Thank you TamerVirus for the avatar switcher
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5998 on: July 01, 2020, 12:37:28 pm »

A central processing unit performs the prefetch/decode/execute cycle in a computing environment.

Since modern computers are made up of assemblages of many special purpose systems, (Like a graphics card, a sound card, a modem, etc...), there are MANY CPUs inside such a computer, each doing their specific kind of data processing.  The soundcard does digital sound processing (DSP), using an instruction set, and data supplied to it from the host system.  A graphics card does all manner of floating point arithmetic, which is why it is used for supercomputing applications in the modern era-- it too has an instruction set, and processes data supplied to it.  A modem interprets analog audio signals, and converts them into digital signals, and vise/versa, using its specialized instruction set.  It too has a CPU.

The CPU is the part of a system that does this processing.  There are many such systems inside a modern computer.  This is what Reelya is mentioning.
thank you
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: The small random questions thread [WAAAAAAAAAAluigi]
« Reply #5999 on: July 01, 2020, 12:50:40 pm »

This clarification now made, in common casual parlance, "The CPU" is the chip that contains the processor unit cores used by the computer's main system bus.  The literal reality though, is that this is just a packaged integrated circuit containing several discrete CPUs, and a shared processor cache, attached to a crossbar or multiplexing bus that is internal to that IC package-- and that those CPUs contained in the package, are just the ones that are running the OS, and handling data exchanges with the main system RAM and peripheral buses.  (it gets more complicated when you bring up bus mastering and DMA, but this is the general outline.)

Again, those CPUs are not alone; they work in conjunction with a host of additional processing units, each managing their own specialized subsystem. (Like the north and southbridge chips, managing the PCI bus, etc.)
Logged
Pages: 1 ... 398 399 [400] 401 402 ... 638