Dual-core CPUs

Status
Not open for further replies.

DonBel

Posts: 7   +0
I'm new to this site and this is my first computer forum. This is also my first post.

I've just returned to school for my A+ and Network+ certs and may go farther, maybe even to some MS certification. We'll see.

Oh...I'm 57 y/o so be kind. When I first went to school they taught us things like how to make fire, ward off evil spirits and protect ourselves from dinosaurs (they get mean when they drink). So I'm hoping to learn a lot here.

But to my question: with both Intel and AMD coming out with dual-core CPUs--at least in prototype form--how soon will that mean anything to regular PC-users like me? From what I've read, to utilize the dual-core technology requires completely different software and current programmers have no idea how to write for multiple-core CPUs.

In the Nov. 2004 issue of Scientific American they also mentioned that they have no real motivation to learn as the dual-core can't go anywhere without it and they feel, rightly so, that consumers aren't going to drop all of their expensive software to buy a whole new set that is dual-core compatible. It appears there is no way to make the new software backward compatible.

Have there been any developments in this area that may fix this apparent roadblock or is dual-core really not for us home PC users whatever speed we like to work at?
 
This AMD dual-core "Egypt" processor is not expected before the second halve of 2005, mobile versions for first halve 2006.

Software will need to be rewritten, using the Whidbey tools that will be part of MS Visual Studio 2005. Sofar there is little interest in doing this.

Until enough software has been adapted, it will still be more efficient to run a fast AMD64 socket-939 on a PCI-Express equipped mobo. You can always later upgrade to dual-core on the same mobo.
There will also be socket-940 versions to replace the Opteron.
AMD says, only a simple BIOS-update will be needed to recognize 2 cores.
HTH
 
To properly use a DualCore CPU you need the same requirements for a true Dual CPU system meaning you just need for your application's code to be multi-threaded. If you application isn't multi-threaded, it'll only use one CPU but the ease of use of such systems is to allow you to use two single-threaded applications without having them share the CPU time.

For example you can play a game & compress a video or MP3s in the background, you wouldn't even notice it in the game (no lag, etc.). Coding multi-threaded applications is a different approach but nothing impossible. With Intel & AMD pushing in that direction, it won't take too long for it to become common.
 
Thanks, guys.

I'm thinking I might have been pretty much right at least for the time being from what you've said. I guess dual-core is going to have to convince us we need it.

Didou, I'm not sure I really understood what you said about multi-threaded application codes. Do they exist yet? Are they available for PCs?

I think I understand what you said about using one core while doing something else in the background with the other core but isn't this where the new programming needs to be written to make this happen? Would current programs recognize the second core or know what to do with it?

Sorry if my questions seem simple, but this is where I hope to learn from this forum.

realblackstuff, my thoughts were also that today's fastest single core is still way better than a dual-core working off of only one core. If I remember correctly, due to serious heat issues with dual-cores, the cores have to run at lower voltages basically making them individually slower than the single core CPU. Anybody: am I right here or is my ignorance showing through?

Thanks again! This forum is going to be a wealth of great information.
 
Didou, I'm not sure I really understood what you said about multi-threaded application codes. Do they exist yet? Are they available for PCs?
Many, many, many programs are multithreaded to some extent. Multithreading has been around for some time and it is widely used to improve the responsivness of CPU intensive programs. For example, an image editor may be applying some very complex filter to your image requiring all the CPU time, but you are still able to navigate menus and buttons in the program. This is because the program has two threads, one to do the filter, another one to handle the user interface. The operating system will take care that both threads get their time on the CPU(s).

I think I understand what you said about using one core while doing something else in the background with the other core but isn't this where the new programming needs to be written to make this happen?
A good application knows absolutely nothing about computer hardware or CPUs. All hardware details, including any number of CPUs, are handled by the operating system. And operating systems have had multi-CPU support since the dawn of times (not Windows of course :p ).

An application can be optimised to take advantage of multiple CPUs or cores, but for most uses trivial threads are more than sufficient.
 
uhmmm, okay.

Is multi-threading and pipelining the same thing? Because I do understand that concept, I believe. Using graphic art programs I often have several applications running at once. Isn't that why I have 2.0 GBs of Ram?

And multiple CPUs aren't the same thing as dual or multi-core CPUs, are they? I think, and correct me if I'm wrong, but a dual-core CPU is a very new animal and behaves very differently from multiple CPUs in a server.

My understanding is still that current software won't work with dual-core CPUs. I believe that is what realblackstuff was telling me.

Believe me when I tell you I'm not sure exactly what I'm talking about and feel free to say so but I now feel somewhat confused over the issue.

It's not that important as I have no intention of going out and getting a dual-core system. I'm very happy with what I now have for what I do. This is more of an academic discussion to help me understand better what the new technology really means.

I think I may really get into this at some point. I'm fascinated!
 
Is multi-threading and pipelining the same thing?
Pipelining in what sense?

And multiple CPUs aren't the same thing as dual or multi-core CPUs, are they? I think, and correct me if I'm wrong, but a dual-core CPU is a very new animal and behaves very differently from multiple CPUs in a server.
To any software they look and behave exactly the same. Only on very low level you see the effects of the two cores sitting on the same chip and sharing the L2 cache. And again: application software does not care or know about computer hardware. Only the operating system has to recognise the CPU(s) and perhaps make some optimisations.

My understanding is still that current software won't work with dual-core CPUs. I believe that is what realblackstuff was telling me.
Are you thinking that CPU makers are expecting everyone to write their multi-billion dollar software from scratch? Every single little snippet? Why do we even bother with this x86 compatibility then? We might as well take a new and much better CPU arhitecture.

The point is that not all applications are multithreaded and hence won't take advantage of multicore CPUs on their own. But the times of MS-DOS where you ran only one program at a time are long gone. Take a look at your task manager - you will see dozens of processes there. The operating system will spread out all the processes among it's CPU cores and will make the best use of them.
 
Multi-threading is like running two threads independent of each other at the same time. They may be sychronized or be running Parallel. Some people may recommend SMP (Symmetrical Multi Processing). This is just some software that helps programs to take advantage of running with 2 (Or more) separate processors.

The big question I have is how Intel or AMD engineers the processor with 2 cores. One could build in SMP into the 2 core processor and let the processors be managed by themselves. Or they could engineer them to be identified by the OS to be recognized as 2 processors or both, but I digress.

I just read an article that says that Intel has server, mobile, and desktop versions of their dual core up and working in the LAB and they are making 65nm silicone at the present time. It takes a while to gear up and make enough processors to actually release a new processor to the general market. It may also still need a little refining to get it all to work.

I have not seen much on AMD, but they have been a bit tite lipped about many of their developments.

You might try this website for news:

www.theregister.com

It is a british source and they have very interesting humor, however, you will find it an interesting site. They do often have news on processors quite early.
 
Charles Hammond said:
The big question I have is how Intel or AMD engineers the processor with 2 cores. One could build in SMP into the 2 core processor and let the processors be managed by themselves. Or they could engineer them to be identified by the OS to be recognized as 2 processors or both, but I digress.
Intel will likely sticking with some half-assed SMP (Symmetric Multi-Processing) to sustain HyperThreading (broken SMP hacks) support.

AMD used DMP (Distributed Multi-Processing), Dually on a single-package or multi-packages is operationally irrelevant but for maximal performance.

Nvidia used DMP (Distributed Multi-Processing), SLI on single-board, multi-boards, or single-chip packaging.... is operationally irrelevant but for maximal performance.
 
My understanding is still that current software won't work with dual-core CPUs. I believe that is what realblackstuff was telling me.

No, I only indicated that NO current software makes use of 2 cores yet. But all current software WILL run on a dual-core CPU.
 
realblackstuff said:
No, I only indicated that NO current software makes use of 2 cores yet. But all current software WILL run on a dual-core CPU.



Wrong.

All multi-threaded software (of which there is a LOT) will be able to make use of dual-core systems.


Examples of multi-threaded software on Windows:

Apache web server, Mozilla Firefox, Internet Explorer, Quake 3, Visnetic Mail Server, etc
 
Thank you, realblackstuff, for making that clear. But I still don't see the point of doing so. It wouldn't work better, would it?

Actually, it wouldn't work as well. Correct?

And I'm not sure that I understand what multi-threading has to do with dual-CORE CPUs. I understand that multi-threading has been around for a long time, but what has that got to do with dual cores?

I'm not asking about dual processors. They have nothing in common as far as I can see.

But I can't see too far.
 
Maybe you should read up on some documents before discussing this topic here. A DualCore CPU is basicly a dual-cpu system using only one socket.

http://searchdatacenter.techtarget.com/sDefinition/0,,sid80_gci1015740,00.html
A multi-core processor is an integrated circuit (IC) to which two or more processors have been attached for enhanced performance, reduced power consumption, and more efficient simultaneous processing of multiple tasks (see parallel processing). A dual core set-up is somewhat comparable to having multiple, separate processors installed in the same computer, but because the two processors are actually plugged into the same socket, the connection between them is faster. Ideally, a dual core processor is nearly twice as powerful as a single core processor. In practice, performance gains are said to be about fifty percent: a dual core processor is likely to be about one-and-a-half times as powerful as a single core processor.
 
Good advice

Didou,

Having taken your advice and read further I find my ignorance again placing me in jeopardy of looking the fool, a position I'm not entirely unfamiliar with.

In the future I will definitely research my questions better. Thanks.
 
Dual...

Yah the Duals in 939 is what i am holding out for to upgrade my CPU to. then put 3 gigs of rame and foreget about upgrade for the next four years
 
Status
Not open for further replies.
Back