Quote:but i didn't directly notice you mention that the performance of a DC cpu also depends on the the code of the programs and that for example doing the following will process faster on , lets say, a 6Ghz single core then a 3Ghz dual core
Didn't feel it was relevant. I simply wanted to explain why you can't say that a 3GHz dual core cpu is a 6 GHz cpu, performance was irrelevant to my explanation of frequency.
Quote: actually that was what gave me the idea about the pendulums, because there I wasn't talking about what a cycle does
Let's use this example. Let's say that the speed the pendulum is swaying at is the clock rate. In a single core cpu you have one person that "does stuff" whenever the pendulum oscillates. In a dual core cpu you have two people that can do stuff whenever the pendulum oscillates. If the speed of the pendulum is the same then the clock rate is the same regardless of how many people are syncing their actions with the pendulum.
Quote:so that's why I didn't understand why a 3GHz dual core won't perform like a 6GHZ single core
I'm guessing you meant to say single there. I didn't understand that you were asking about performance. I just thought you were asking "why doesn't a dual core 3GHz cpu run at 6 GHz" which to me is pretty straight forward if you grasp the concept of a clock signal, which apparently you do.
Quote: because even on that simple CPU it's thousands of transistors
Fixed that for you.
Quote:In fact, I'm very curious to know how CPUs are designed today, because I can't imagine those engineers seeing the logical ways and adresses for a milions of elements and imagine how all of that will work simoutaneously.
They are designed the same way anything big and complex is designed in the modern world, not by one person. The microarchitecture is designed component by component with seperate teams of engineers each in charge of certain components. The components are put together into a working microarchitecture afterwards.
Quote:It's even harder for me to understand when we take it to a higher level as the CPU working along with peripherals and other processors. Even harder to imagine how it is for the processor when a Windows is running. There are too much layers of logical systems running one over the other, so I guess there are things I just have to accept. Still, I would really like to know how this works, I would like to see it like the people who projected it, but a lot of things seems just to big to be understood.
This may sound a little odd but this is a concept I first began to understand when I played a game called eve online for a few months (mmorpg, it's more of a future space age life simulator though). The game is a super complex sandbox game where you can pretty much do anything you can imagine, but doing even the simplest things takes a lot of repetitive work and time (just like real life). Some of the things players had done in this game were so impressive I simply could not grasp how it was even possible. I'll give you a great example. Titans are the largest class of spaceship in the game, total value of the raw resources alone needed to make all of the parts is 220,000,000,000 isk (in game currency) which is equivalent of $7,500 real currency. The manufacturing process is also extremely complex. Raw resources need to be gathered from asteroid fields, refined into materials, materials used to builds parts, parts used to build bigger parts, which are used to build bigger parts, and so on. Now how did any player afford to make one of these ships? Simply, they didn't. These ships are made through a collaborative effort of hundreds or thousands of players working together towards this goal for months with management tasking them to do things like mining or manufacturing so that the peoples labor is efficiently utilized towards the goal. No single group of people has any clue how the whole thing works or is capable of doing the entire process on their own. Many groups doing smaller simpler things independently can end up producing something amazing when somebody decides to put everything together into something incredible. This is how computers work. Nobody has a clue how the whole thing works because they don't need to, they just understand their part of it (their niche) and how it interacts with a few other things, that's all they need to know.
I had an epiphany when I realized this was how the world works. If you run a company that mines and refines aluminum, that's usually all you do. You don't turn the aluminum into any working products you just sell it to other companies. No company truly makes their products from scratch all the way down to gathering the raw materials. The market consists of many companies providing different materials and services that work together in a big system to accomplish amazing things. This big system (the market as I call it) is really only completely visible to financial institutions. And nothing that requires lots of time/work can be done without lots of capital regardless of whether the technology is ready or not. Everything big and impressive in this world comes from smaller easier to understand concepts, parts, or steps.
In eve it's virtually impossible to build a ship completely on your own from scratch. Every person has there own niche in the market, something that they do and understand. For example I might gather nitrogen from planets and use it to produce, bottle, and ship liquid nitrogen. A lot of other players could use that for all kinds of things.
Quote:So is this thing about multithreading, I started reading about it a while ago, but they never explained as much as I wanted to understand, so soon I had to accept some concepts without explanation, so I couldn't understand how it really worked, physically talking, that made me quickly frustrated, as I couldn't find what I wanted anywhere, so I guess that's one more piece of information that only the people who invented could understand for real, then with time I stopped searching on this subject.
Multithreading is different than multicore, be careful with how you use the terms. Multithreading is simply building applications with multiple threads. It does not need to be processed by a multicore processor. The OS switches between different threads, giving each thread a certain amount of time on the cpu to do work. An SMT (simultaneous multithreading) system that is capable of simultaneously processing more than one thread. This includes multiprocessor systems (servers with multiple cpus for example) where each processor can process a thread independently of one another, HT (hyperthreading) and other single core SMT technologies which allow a single core to run multiple threads simultaneously where the threads compete for resources within the core, and multicore, where multiple processors are integrated into a single chip and share cache, bus, and memory resources. Multicore is the most ideal out of the three. Multicore gives each thread it's own set of processor resources to work with independent of the other threads (still shares memory space and some cache space though) so that the threads don't have to compete for resources (except cache resources). Multiprocessor is less ideal because it makes both the motherboard and the overall system more expensive and more complex. An SMT system can also be any combination of the above three technologies (a multiprocessor xeon server where each processor has multiple cores with HT would be a great example of combining all three).
Then you have AMDs CMT (cluster multithreading) with bulldozer which they say is even better than conventional multicore, not getting into that unless you want me too (its basically just multicore with certain less commonly used resources like the FPU shared by each pair of cores to reduce die space and allow mores cores to fit on the die).