Multicore Architecture | Hyper-Treading | Power & cooling advantages | Multicore Issue

Multicore Architecture

The terminology to describe various incarnations of CPU architecture is complex. In practice, there are three types of CPU architectures are available using which one can set up his computer based on the application.

 

Dual Processors System

In a dual processors system, two individual processors share a common processor side bus that interface to a chipset with a memory controller. Each processor has its own resources to execute programs. These resources include CPU state register, interrupt logic and an execution unit also called an arithmetic and logic unit.

Dual Processor

Hyper Threading Technology

This type of configuration maintains two threads on one physical CPU. Each thread has its own state register and interrupts logic while execution unit is shared between two threads. This means that the execution unit is time shared by both threads concurrently and execution continuously makes progress on both threads. If one thread stalls, perhaps waiting for an operand retrieved. Although hyper threading technology is implemented on a single physical CPU, the operating system recognizes two logical processors and schedules task to each logical processor.

Hyper Threading Technology

Multi core Processor

A multi core processor can be defined as a processor with more than one physical core on a single chip. Each core contains its own dedicated processing resources similar to an individual CPU, except for the processor side bus which may be shared between two cores.

Multicore Processor

 

A dual-core chip running multiple applications is about 1.5 times faster than a chip with just one comparable core. Each core in a typical multi core chip includes everything a microprocessor has except level-2 cache memory and the memory hierarchy, which is located elsewhere on the silicon for all the cores to use.

The idea behind this implementation of the chip's internal architecture is in essence a "divide and conquer" strategy. In other words, by dividing up the computational work performed by the single microprocessor core in traditional microprocessors and spreading it over multiple execution cores, a multi- core processor can perform more work within a given clock cycle. Thus, it is designed to deliver a better overall user experience.

To enable this improvement, the software running on the platform must be written such that it can spread its workload across multiple execution cores. This functionality is called thread-level parallelism or "threading." Applications and operating systems that are written to support it are referred to as "threaded" or "multi-threaded."

All of these CPU implementations require threaded code to fully employee their computing potential. In the future the dual-core model will be extended to quad-core, containing four cores on a single piece of silicon.

Multicore Architecture | Hyper-Treading | Power & cooling advantages | Multicore Issue
Bhavin H. Joshi | Total Management
Hosted by www.Geocities.ws

1