Multi-core technology is the term that describes today's processors that have two or more working processor chips (more commonly referred to as cores) working simultaneously as one system. Dual cores or chips with two processors that work as one system are the first type of multi-core technology applications.

How It Works

The multi-core processor technology was conceptualized and has revolved around the idea of being able to make parallel computing possible. Parallel computing could dramatically increase the speed, efficiency and performance of computers by simply putting 2 or more Central Processing Units (or CPU) in only one chip. This would ultimately minimize the power and heat consumption of the system while still being able to greatly boost system performance without sacrificing energy consumption limits. This would give more performance with less or with the same amount of energy.

The multi-core technology would also enable users to do more tasks at the same time. Since more computing workloads could be done at the same time, manufacturers such as Intel and AMD could focus more on increasing computing and processing performance without increasing clock speeds and thus avoid the need for consuming more energy.

Multi-core processors work at their full potential if they are used with multi-threaded programs or software. Multithreaded software could include applications and most importantly operating systems that have the ability to split tasks and commands into a set of separate workloads that could then be processed and run simultaneously on each of the cores present. This means more work is done in less time.

Future Implications

With Intel and AMD, the future of computing is clearly seen in favor of the multi-core utilization trend. With an increase of multithreaded applications seen at hand in the near future, the number of computers utilizing multi-core processors (dual cores, quad cores, etc.) is expected to rise. Experts say that the number of cores that could be integrated in one chip could increase over time as their physical size and energy consumption declines.

Applications

Multi-core technology is useful especially in very demanding applications and tasks such as video editing, encoding and 3D gaming. The full effect and the advantage of having a multi-core computer, however, is felt only when it is used together with a multithreading operating system such as Windows XP or Linux and with applications that are capable of multithreading.

Even when applications are not multithreaded, it is possible for a multithreaded operating system to properly delegate tasks to multiple cores helping the system manage the workload on each core. Applications that are large resource consumers, such as 3D games, or office suites with lots of middleware will be less effective, however, since all tasks related to those specific applications will have to be delegated to a single core for proper operation.

It is expected that most application development efforts will focus on multithreaded models, making multi-core systems more and more desirable.

Issues

As of now, most computer applications are not yet capable of splitting their tasks into workloads that could be separately processed on each core. It would still take time before the software industry catches up with computer processor manufacturers and create applications with multithreading capabilities.

Moreover, even the programs and operating systems that have the ability to split tasks into several threads are still far from being able to maximize the multi-core technology's potential. Experts claim that the structure of software and applications that exist today and the design of most computer hardware are made for multiple homogeneous cores so they're really not made for optimal usage of multi-core technology.

Many applications are coded without resource consumption in mind, as with many of the most popular office packages and 3D games, which will not allow the multi-core system to assist in workload management.