|
A multi-core microprocessor is one which combines two or more independent processors into a single package, often a single integrated circuit (IC). A dual-core device contains only two independent microprocessors. In general, multi-core microprocessors allow a computing device to exhibit some form of thread-level parallelism (TLP) without including multiple microprocessors in separate physical packages. This form of TLP is often known as chip-level multiprocessing, or CMP. Microprocessors, including an Intel 80486DX2 and an Intel 80386. ...
Integrated circuit showing memory blocks, logic and input/output pads around the periphery A monolithic integrated circuit (also known as IC, microchip, silicon chip, computer chip or chip) is a miniaturized electronic circuit (consisting mainly of semiconductor devices, as well as passive components) which has been manufactured in the surface...
Thread-level parallelism (TLP) is the parallelism inherent in an application that runs multiple threads at once. ...
Chip-level multiprocessing (also known as, Chip multiprocessor CMP) is SMP implemented on a single VLSI integrated circuit. ...
There is some discrepancy in the semantics by which the terms "multi-core" and "dual-core" are defined. Most commonly they are used to refer to some sort of central processing unit (CPU), but are sometimes also applied to DSPs and SoCs. Additionally, some use these terms only refer to multi-core microprocessors that are manufactured on the same integrated circuit die. These persons generally prefer to refer to separate microprocessor dies in the same package by another name, such as "multi-chip module", "double core", or even "twin core". This article uses both the terms "multi-core" and "dual-core" to reference microelectronic CPUs manufactured on the same integrated circuit, unless otherwise noted. In the main, semantics (from the Greek and in greek letters ÏημανÏικÏÏ or in latin letters semantikós, or significant meaning, derived from sema, sign) is the study of meaning, in some sense of that term. ...
CPU redirects here. ...
A digital signal processor (DSP) is a specialized microprocessor designed specifically for digital signal processing, generally in real-time. ...
System-on-a-chip (SoC or SOC) is an idea of integrating all components of a computer system into a single chip. ...
Conceptual diagram of a dual-core CPU, with CPU-local Level 1 caches, and shared, on-chip Level 2 caches. Download high resolution version (1234x1430, 45 KB)Generic Figure of a Dual Core CPU Created by me earlier this afternoon. ...
Download high resolution version (1234x1430, 45 KB)Generic Figure of a Dual Core CPU Created by me earlier this afternoon. ...
Commercial examples
- International Business Machines (IBM)'s POWER4, first Dual-Core module processor released in 2000
- IBM's POWER5 dual-core chip is now in production, and the company has a PowerPC 970MP dual-core processor in production and is in use in the Apple PowerMac G5.
- PA-RISC (PA-8800)
- Sun Microsystems UltraSPARC IV, UltraSPARC IV+, UltraSPARC T1
- Intel's dual-core Xeon processors, code-named Paxville and Dempsey, are shipping at 3 GHz. The company is also currently developing dual-core versions of its Itanium high-end server CPU architecture but there have been many delays.
- AMD released its dual-core Opteron server/workstation processors on 22 April 2005, and its dual-core desktop processors, the Athlon 64 X2 family, were released on 31 May 2005. AMD have also recently released the FX-60.
- Motorola/Freescale has dual-core ICs based on the PowerPC e600 and e700 cores in development.
- Intel released the Core Duo processor in 2006. It is available in the Apple iMac, high end Mac mini, MacBook and MacBook Pro, as well as in various laptop PCs, from brands of the likes of Sony, Toshiba, ASUS, and others.
- Microsoft's Xbox 360 game console uses a triple core PowerPC microprocessor.
For other uses, see IBM (disambiguation). ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
This article is about the year 2000. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
PowerPC 970 In computing, the PowerPC 970, PowerPC 970FX, and PowerPC 970MP, also known as PowerPC G5, are 64-bit processors in the PowerPC family from IBM, which was introduced in 2002. ...
PA-RISC is a microprocessor architecture developed by Hewlett-Packards Systems & VLSI Technology Operation. ...
Sun Microsystems, Inc. ...
Sun UltraSPARC II Microprocessor Sun UltraSPARC T1 (Niagara 8 Core) SPARC (Scalable Processor ARChitecture) is a pure big-endian RISC microprocessor architecture originally designed in 1985 by Sun Microsystems. ...
Sun Microsystems UltraSPARC T1 microprocessor, known until its 14 November 2005 announcement by its development codename Niagara , is a multithreading, multicore CPU. Designed to lower the energy consumption of server computers, the CPU uses typically 72 W of power at 1. ...
Intel Corporation (NASDAQ: INTC, SEHK: 4335), founded in 1968 as Integrated Electronics Corporation, is a U.S.-based multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ...
Xeon logo The Xeon is Intels name for its server-class PC microprocessors intended for multiple-processor machines. ...
Itanium brand logo The Intel Itanium processor. ...
For other possible meanings of AMD see AMD (disambiguation) Advanced Micro Devices, Inc. ...
The AMD Opteron is the first eighth-generation x86 processor (K8 core), and the first of AMDs AMD64 (x86-64) processors, released April 22, 2003. ...
April 22 is the 112th day of the year in the Gregorian calendar (113th in leap years). ...
2005 (MMV) was a common year starting on Saturday of the Gregorian calendar. ...
The Athlon 64 (codenamed ClawHammer, Newcastle, Winchester, Venice, and San Diego) represents AMDs entry into the consumer 64-bit microprocessor market, released on September 23, 2003. ...
Athlon 64 X2 Logo Athlon 64 X2 E6 3800+ The Athlon 64 X2 is the first dual-core desktop CPU manufactured by AMD. It is essentially a processor consisting of two Athlon 64 cores joined together on one die with some additional control logic. ...
May 31 is the 151st day of the year in the Gregorian calendar (152nd in leap years), with 214 days remaining. ...
The AMD FX-60 is a dual core processor with the power of two FX-55 processors, this processor shall include: AMDâs Enhanced Virus Protection for Microsoft Windows XP SP2 CoolnQuiet technology for a quieter computer and lower power costs HyperTransport technology and an integrated DDR memory...
Motorola (NYSE: MOT) is an international communications company based in Schaumburg, Illinois, a Chicago suburb. ...
American corporation Freescale Semiconductor, Inc. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Intel Corporation (NASDAQ: INTC, SEHK: 4335), founded in 1968 as Integrated Electronics Corporation, is a U.S.-based multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ...
It has been suggested that this article or section be merged into Intel Core. ...
Microsoft Corporation, (NASDAQ: MSFT) headquartered in Redmond, Washington, USA, was founded in 1975 by Bill Gates and Paul Allen. ...
The Xbox 360 (pronounced three-sixty), known during development as the Xenon, Xbox 2, or the Xbox Next, is the successor to Microsofts original Xbox video game console. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Development motivation Technical pressures While CMOS manufacturing technology continues to improve, reducing the size of single gates, physical limits of semiconductor-based microelectronics become a major design concern. Some effects of these physical limitations can cause significant heat dissipation and data synchronization problems. The demand for more complex and capable microprocessors causes CPU designers to utilize various methods of increasing performance. Some ILP methods like superscalar pipelining are suitable for many applications, but are inefficient for others that tend to contain difficult-to-predict code. Many applications are better suited to TLP methods, and multiple independent CPUs is one common method used to increase a system's overall TLP. A combination of increased available space due to refined manufacturing processes and the demand for increased TLP led to the logical creation of multi-core CPUs. Instruction-level parallelism (ILP) is a measure of how many of the operations in a computer program can be dealt with at once. ...
A superscalar CPU architecture implements a form of parallelism on a single chip, thereby allowing the system as a whole to run much faster than it would otherwise be able to at a given clock speed. ...
Thread-level parallelism (TLP) is the parallelism inherent in an application that runs multiple threads at once. ...
Commercial incentives Several business motives drive the development of dual-core architectures. Since SMP designs have been long implemented using discrete CPUs, the issues regarding implementing the architecture and supporting it in software are well known. Additionally, utilizing a proven processing core design (e.g. Freescale's e700 core) without architectural changes reduces design risk significantly. Finally, the connotations of the terminology "dual-core" (and other multiples) lends itself to marketing efforts. Symmetric Multiprocessing, or SMP, is a multiprocessor computer architecture where two or more identical processors are connected to a single shared main memory. ...
Additionally, for general-purpose processors, much of the motivation for multi-core processors comes from the increasing difficulty of improving processor performance by increasing the operating frequency (frequency-scaling). In order to continue delivering regular performance improvements for general-purpose processors, manufacturers such as Intel and AMD have turned to multi-core designs, sacrificing lower manufacturing costs for higher performance in some applications and systems. Intel Corporation (NASDAQ: INTC, SEHK: 4335), founded in 1968 as Integrated Electronics Corporation, is a U.S.-based multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ...
Advanced Micro Devices, Inc. ...
Multi-core architectures are being developed, but so are the alternatives. An especially strong contender for established markets is to integrate more peripheral functions into the chip.
Advantages - Proximity of multiple CPU cores on the same die have the advantage that the cache coherency circuitry can operate at a much higher clock rate than is possible if the signals have to travel off-chip, so combining equivalent CPUs on a single die significantly improves the performance of cache snoop operations.
- Assuming that the die can fit into the package, physically, the multi-core CPU designs require much less Printed Circuit Board (PCB) space than multi-chip SMP designs.
- A dual-core processor uses slightly less power than two coupled single-core processors, principally because of the increased power required to drive signals external to the chip and because the smaller silicon process geometry allows the cores to operate at lower voltages.
- In terms of competing technologies for the available silicon die area, multi-core design can make use of proven CPU core library designs and produce a product with lower risk of design error than devising a new wider core design. Also, adding more cache suffers from diminishing returns.
Cache coherency (alternatively cache coherence or cache consistency) refers to the integrity of data stored in local caches of a shared resource. ...
Close-up photo of one side of a motherboard PCB, showing conductive traces, vias and solder points for through-hole components on the opposite side. ...
Disadvantages - Multi-core processors require operating system (OS) support to make optimal use of the second computing resource.[1] Also, making optimal use of multiprocessing in a desktop context requires application software support.
- The higher integration of the multi-core chip drives the production yields down and are more difficult to manage thermally than lower density single-chip designs.
- From an architectural point of view, ultimately, single CPU designs may make better use of the silicon surface area than multiprocessing cores, so a development commitment to this architecture may carry the risk of obsolescence.
An operating system (OS) is an essential software program that manages the hardware and software resources of a computer. ...
Application software is a loosely defined subclass of computer software that employs the capabilities of a computer directly to a task that the user wishes to perform. ...
Software impact Most existing software is not ready to directly utilize the power of multicore processors since they are written in traditional sequential programming languages like C, C++ and FORTRAN, all of which have the limited scope of only one processor in mind. Computer code (HTML with JavaScript) in a tool that uses syntax highlighting (colors) to help the developer see the purpose of each piece of code. ...
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language (often, just C) is a general-purpose, procedural, imperative computer programming language developed in the early 1970s by Dennis Ritchie for use...
For a WikiBook on programming with C++, see Wikibooks: C++ Programming. ...
Fortran (also FORTRAN) is a general-purpose[1], procedural[2], imperative programming language that is especially suited to numeric computation and scientific computing. ...
Current software titles that fully utilize multi-core technologies include: Maya, Quake 3, 3DS Max, Adobe Photoshop, Windows XP Professional, Windows 2003, Mac OS X, Linux, and many operating systems that are streamlined for server use. Parallel programming is a must option for a single software to exploit multiple computation units(cores) simultaneously, often by multithread or multitask programming. Some existing parallel programming models such as OpenMP and MPI can be directly used on multi-core platforms. Other research efforts have been seen also, like Cray’s Chapel, Sun’s Fortress, and IBM’s X10. Parallel programming is a computer programming technique that provides for the execution of operations in parallel, either within a single computer, or across a number of systems. ...
A parallel programming model is a set of software technologies to express parallel algorithms and match applications with the underlying parallel systems. ...
OpenMP logo The OpenMP application programming interface (API) supports multi-platform shared memory multiprocessing programming in C/C++ and Fortran on many architectures, including Unix and Microsoft Windows platforms. ...
The Message Passing Interface (MPI) is a computer communications protocol. ...
Concurrency acquires a central role in true parallel application. The basic steps in designing parallel applications are: - Partitioning
- The partitioning stage of a design is intended to expose opportunities for parallel execution. Hence, the focus is on defining a large number of small tasks in order to yield what is termed a fine-grained decomposition of a problem.
- Communication
- The tasks generated by a partition are intended to execute concurrently but cannot, in general, execute independently. The computation to be performed in one task will typically require data associated with another task. Data must then be transferred between tasks so as to allow computation to proceed. This information flow is specified in the communication phase of a design.
- Agglomeration
- In the third stage, we move from the abstract toward the concrete. We revisit decisions made in the partitioning and communication phases with a view to obtaining an algorithm that will execute efficiently on some class of parallel computer. In particular, we consider whether it is useful to combine, or agglomerate, tasks identified by the partitioning phase, so as to provide a smaller number of tasks, each of greater size. We also determine whether it is worthwhile to replicate data and/or computation.
- Mapping
- In the fourth and final stage of the parallel algorithm design process, we specify where each task is to execute. This mapping problem does not arise on uniprocessors or on shared-memory computers that provide automatic task scheduling.
On the other hand, on the server-side multicore processors are ideal because they allow many users to connect to a site simultaneously and have independent threads of execution. This allows for web servers and application servers that have much better throughput. In computer networking, the term server-side refers to operations that are performed by the server in a client-server relationship. ...
A thread in computer science is short for a thread of execution. ...
In information technology, throughput is the rate at which a computer or network sends or receives data. ...
Licensing Another issue is the question of software licensing for multi-core CPUs. Typically enterprise server software is licensed "per processor". In the past a CPU was a processor (and moreover most computers had only one CPU) and there was no ambiguity. Now there is the possibility of counting cores as processors and charging a customer for two licenses when they use a dual-core CPU. However, the trend seems to be counting dual-core chips as a single processor as Microsoft, Intel, and AMD support this view. Oracle counts AMD and Intel dual-core CPUs as a single processor but has other numbers for other types. IBM, HP and Microsoft count a multi-chip-module as multiple processors. If multi-chip-modules counted as one processor then CPU makers would have an incentive to make large expensive multi-chip-modules so their customers saved on software licensing. So it seems like the industry is slowly heading towards counting each die (see Integrated circuit) as a processor, no matter how many cores each die has. Intel has released Paxville which is really a multi-chip-module but Intel is calling it a dual-core. It is not clear yet how licensing will work for Paxville. This is an unresolved and thorny issue for software companies and customers. Integrated circuit showing memory blocks, logic and input/output pads around the periphery A monolithic integrated circuit (also known as IC, microchip, silicon chip, computer chip or chip) is a miniaturized electronic circuit (consisting mainly of semiconductor devices, as well as passive components) which has been manufactured in the surface...
Common Misconceptions Many people commonly assume that the multithreading benefits of a dual-core processor will translate into a better user experience while multitasking. This is not generally true, as many user applications (such as word processing applications) spend most of their time in an idle state; a person can't switch contexts faster than a computer. The improvements in computer responsiveness are generally a function of the operating system and the application code; many applications are not pervasively multithreaded since coding multithreaded applications is generally considered to be very difficult. Many programming languages, operating systems, and other software development environments support what are called threads of execution. ...
Multitasking may refer to: Computer multitasking - the apparent simultaneous performance of two or more tasks by a computers central processing unit. ...
A context switch is the computing process of storing and restoring the state of a CPU (the context) such that multiple processes can share a single CPU resource. ...
Notes - ↑ Digital signal processors, DSPs, have utilized dual-core architectures for much longer than high-end general purpose processors. A typical example of a DSP-specific implementation would be a combination of a RISC CPU and a DSP MPU. This allows for the design of products that require a general purpose processor for user interfaces and a DSP for real-time data processing; this type of design is suited to e.g. mobile phones.
- ↑ Two types of operating systems are able to utilize a dual-CPU multiprocessor: partitioned multiprocessing and symmetric multiprocessing (SMP). In a partitioned architecture, each CPU boots into separate segments of physical memory and operate independently; in an SMP OS, processors work in a shared space, executing threads within the OS independently.
A digital signal processor (DSP) is a specialized microprocessor designed specifically for digital signal processing, generally in real-time. ...
Reduced Instruction Set Computer (RISC), is a microprocessor CPU design philosophy that favors a smaller and simpler set of instructions that all take about the same amount of time to execute. ...
Microprocessor Unit. ...
An operating system (OS) is an essential software program that manages the hardware and software resources of a computer. ...
Symmetric Multiprocessing, or SMP, is a multiprocessor computer architecture where two or more identical processors are connected to a single shared main memory. ...
See also Hyper-Threading (HTT = Hyper Threading Technology) is Intels trademark for their implementation of the simultaneous multithreading technology on the Pentium 4 microarchitecture. ...
Multiprocessing is traditionally known as the use of multiple concurrent processes in a system as opposed to a single process at any one instant. ...
Symmetric Multiprocessing, or SMP, is a multiprocessor computer architecture where two or more identical processors are connected to a single shared main memory. ...
Chip-level multiprocessing (also known as, Chip multiprocessor CMP) is SMP implemented on a single VLSI integrated circuit. ...
Simultaneous multithreading, often abbreviated as SMT, is a technique for improving the overall efficiency of the hardware that executes instructions in a computer. ...
In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is...
Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain results faster. ...
External links |