什么是腰间盘突出| 月经不规律是什么原因| 拜阿司匹灵是什么药| 额头高代表什么| 慢性浅表性胃炎伴糜烂吃什么药| 温存是什么意思| 睡觉经常流口水是什么原因| 狗为什么吐舌头| 什么山什么水| 秘辛是什么意思| 夏至为什么要吃面条| 吃凉的胃疼吃什么药| pending是什么意思啊| 眼角痒是什么原因| 眼皮有点肿是什么原因| 经常性头疼是什么原因| 支气管炎是什么原因引起的| 强痛定又叫什么| 姥姥的妈妈叫什么| 一龙一什么填十二生肖| 粉饼和散粉有什么区别| 体检喝水了有什么影响| 6月20日是什么节日| 什么是华人| 野生蜂蜜有什么好处和作用| 热量是什么| 什么布料| 夜夜笙歌什么意思| 缺铁性贫血吃什么食物| 月经血是什么血| 甘肃有什么好吃的| 什么东西养胃| 喜欢紫色代表什么| 中药和中成药有什么区别| 休闲裤配什么鞋子好看| 梅开二度的意思是什么| 卧推练什么肌肉| 头七需要做什么| 唇炎看什么科最好| 脚跟痛什么原因| 阴虚吃什么中成药| 今年夏天为什么这么热| 川字加一横是什么字| 6月9号什么星座| 总是心慌是什么原因| 丞相和宰相有什么区别| 上校是什么级别| ori是什么意思| maga是什么意思| 长高吃什么钙片| mrmrs是什么牌子| 智齿为什么会长出来| 血尿吃什么药见效快| 肺阴不足的症状是什么| 胆固醇什么意思| 肉松是什么做的| 仕字五行属什么| 缺维生素c会得什么病| 5月26号是什么日子| 糖化血红蛋白是什么意思| 血小板减少吃什么能补回来| 穿刺是什么检查| hpv病毒是什么意思| 骁字五行属什么| 沙棘有什么功效| 一月五日是什么星座| 秋葵不能和什么一起吃| 炸东西用什么淀粉| 8月初是什么星座| 腿有淤青是什么原因| 甲亢食疗吃什么| 男人早泄吃什么药最好| 什么三什么四| 梦见自己牙齿掉了是什么意思| 晏殊字什么| 属猪五行属什么| 什么是着相| 打嗝是什么病的前兆| 生殖激素常规检查是查什么的| 山茶花什么颜色| 剖腹产第四天可以吃什么| 艾滋病什么症状| 男生射精是什么感觉| gummy是什么意思| 什么叫元素| 梦见黑色的蛇是什么意思| 眼睛有眼屎用什么眼药水| 十月初四是什么星座| 落子无悔是什么意思| 成林香是什么意思| 在减肥期间吃什么最好| 女人什么眉毛最有福气| 老虎下山下一句是什么| 伤食是什么意思| 金童玉女指什么生肖| 什么叫雷达| 编者按是什么| moda是什么牌子| 五月十六日是什么星座| 失眠吃什么药| 预判是什么意思| 沈阳有什么特产| 梦见白发是什么意思| 腰痛去医院挂什么科| 烧高香是什么意思| 吃什么能养肝护肝| 为什么心细的男人危险| 黄芪和北芪有什么区别| 兔日冲鸡什么意思| 桑葚酒有什么功效| 同房时阴道疼痛是什么原因| 甲苯对人体有什么危害| 什么样的情况下会怀孕| 胃溃疡a2期是什么意思| 核磁是什么| 627是什么星座| 减肥能喝什么饮料| 醋泡葡萄干有什么功效和作用| 身体发抖是什么病| 杏花代表什么生肖| 做美甲师容易得什么病| 芝五行属什么| 为什么会宫外孕| 屁股长痘痘是什么原因| 妇科假丝酵母菌是什么病| 大林木是什么生肖| loa胎位是什么意思| 吉祥是什么生肖| 吃辣拉肚子是什么原因| 梅核气吃什么药好得快| 什么克土| 庸人自扰之是什么意思| 心脏不好吃什么| 蜻蜓是什么目| 磷脂是什么东西| 12月13日是什么纪念日| 小蜘蛛吃什么| 秋田狐鱼钩适合钓什么鱼| 尿素氮偏高是什么原因| 肾是干什么用的| 赢弱什么意思| 1992年出生的是什么命| 壁虎吃什么食物| 金字旁有什么字| 松鼠吃什么食物| 梦见什么是受孕成功了| 上热下寒吃什么中成药| 春是什么生肖| 什么情况下需要做喉镜检查| 四肢厥逆是什么意思| 什么人容易得红斑狼疮| 为什么老是梦到男朋友| 金水宝胶囊有什么作用| 颞下颌关节炎吃什么药| 全套什么意思| 象是什么结构| 血压高是什么原因| 天是什么结构的字| 王八吃什么| 倾倒是什么意思| 三点水念什么| 11月出生是什么星座| 后羿是什么生肖| 低密度结节是什么意思| 为什么小便会带血| 杂菌阳性是什么意思| 吃什么能排湿气| 敌是什么生肖| 蒙古族不吃什么肉| 为什么会心肌缺血| vsop是什么酒| 盆腔积液是什么意思啊| 早期流产是什么症状| 驳什么意思| 吃什么预防脑梗| 什么的故事填词语| 独具一格是什么意思| 结婚十一年是什么婚| 颈椎属于什么科室| hoka跑鞋中文叫什么| 为什么手臂上有很多很小的点| 肺结节是什么原因| 房间朝向什么方向最好| 年夜饭吃什么| 四肢百骸是什么意思| 立冬北方吃什么| 尿毒症挂什么科| 私生是什么意思| 亚蒂息肉是什么意思| 贾宝玉和林黛玉是什么关系| 什么是梅花肉| 糖尿病吃什么水果| 来大姨妈前有什么症状| 慈禧为什么要毒死光绪| 吃饭不规律会导致什么问题| 脂肪肝吃什么药| 法西斯是什么意思啊| 位数是什么意思| 脾湿热吃什么中成药| 9月份怀孕预产期是什么时候| 热伤风吃什么药好得快| 梦遗太频繁是什么原因造成的| 小朋友手指脱皮是什么原因| 系统性红斑狼疮不能吃什么| happy halloween是什么意思| 什么暗什么明| 摩羯座女和什么星座最配| 大脚趾发黑是什么原因| 嗔是什么意思| 烧心是什么原因| 1020是什么星座| 吃芒果有什么坏处| 乖戾是什么意思| 落枕挂什么科| ra是什么病| 怪力乱神是什么意思| 为什么刚小便完又有尿意| 绸缪是什么意思| 梦到装修房子是什么征兆| 帝王术是什么意思| vb6是什么药| 孕妇吃什么| 氨味是什么味道| 贫血会出现什么症状| 导管子是什么意思| 什么是有机食品和无机食品| 高甘油三酯血症是什么意思| 谷朊粉是什么| 什么是同素异形体| 猫代表什么象征意义| 射精快吃什么药| 荷叶配什么减肥效果好| 堃是什么意思| 什么什么和谐| 情感和感情有什么区别| 腺体鳞化是什么意思| 疖肿什么意思| 中级职称是什么| 做梦梦到钓鱼是什么意思| 脑梗用什么药| 爸爸的哥哥叫什么| 尿盐结晶是什么意思| spyder是什么品牌| 羊水为什么叫羊水| 男生为什么喜欢摸胸| 人什么什么什么| 元五行属性是什么| 轴重是什么意思| 硕的拼音是什么| 做梦梦到自己怀孕了是什么意思| 头发湿着睡觉有什么害处| 女方起诉离婚需要什么证件| 枸杞什么季节成熟| 放疗期间吃什么食物最好| 什么叫夏至| 沙弥是什么意思| 插入阴道什么感觉| 生产周期是什么意思| 血管瘤是什么| 左肾钙化灶什么意思| 腰椎滑脱是什么意思| 性冷淡吃什么药| 姐姐的儿子叫什么| 蜱虫用什么药消灭| 百度

满园春色到 赏花正当时 杏 桃 梨 李 樱花辨别手册

百度 除此之外,市总工会职工文艺宣讲小分队还以快闪的方式,表演了最新创作的音舞快板。

A multi-core processor (MCP) is a microprocessor on a single integrated circuit (IC) with two or more separate central processing units (CPUs), called cores to emphasize their multiplicity (for example, dual-core or quad-core). Each core reads and executes program instructions,[1] specifically ordinary CPU instructions (such as add, move data, and branch). However, the MCP can run instructions on separate cores at the same time, increasing overall speed for programs that support multithreading or other parallel computing techniques.[2] Manufacturers typically integrate the cores onto a single IC die, known as a chip multiprocessor (CMP), or onto multiple dies in a single chip package. As of 2024, the microprocessors used in almost all new personal computers are multi-core.

Diagram of a generic dual-core processor with CPU-local level-1 caches and a shared, on-die level-2 cache
An Intel Core 2 Duo E6750 dual-core processor
An AMD Athlon X2 6400+ dual-core processor

A multi-core processor implements multiprocessing in a single physical package. Designers may couple cores in a multi-core device tightly or loosely. For example, cores may or may not share caches, and they may implement message passing or shared-memory inter-core communication methods. Common network topologies used to interconnect cores include bus, ring, two-dimensional mesh, and crossbar. Homogeneous multi-core systems include only identical cores; heterogeneous multi-core systems have cores that are not identical (e.g. big.LITTLE have heterogeneous cores that share the same instruction set, while AMD Accelerated Processing Units have cores that do not share the same instruction set). Just as with single-processor systems, cores in multi-core systems may implement architectures such as VLIW, superscalar, vector, or multithreading.

Multi-core processors are widely used across many application domains, including general-purpose, embedded, network, digital signal processing (DSP), and graphics (GPU). Core count goes up to even dozens, and for specialized chips over 10,000,[3] and in supercomputers (i.e. clusters of chips) the count can go over 10 million (and in one case up to 20 million processing elements total in addition to host processors).[4]

The improvement in performance gained by the use of a multi-core processor depends very much on the software algorithms used and their implementation. In particular, possible gains are limited by the fraction of the software that can run in parallel simultaneously on multiple cores; this effect is described by Amdahl's law. In the best case, so-called embarrassingly parallel problems may realize speedup factors near the number of cores, or even more if the problem is split up enough to fit within each core's cache(s), avoiding use of much slower main-system memory. Most applications, however, are not accelerated as much unless programmers invest effort in refactoring.[5]

The parallelization of software is a significant ongoing topic of research. Cointegration of multiprocessor applications provides flexibility in network architecture design. Adaptability within parallel models is an additional feature of systems utilizing these protocols.[6]

In the consumer market, dual-core processors (that is, microprocessors with two units) started becoming commonplace on personal computers in the late 2000s.[7] Quad-core processors were also being adopted in that era for higher-end systems before becoming standard. In the late 2010s, hexa-core (six cores) started entering the mainstream[8] and since the early 2020s has overtaken quad-core in many spaces.[9]

Terminology

edit

The terms multi-core and dual-core most commonly refer to some sort of central processing unit (CPU), but are sometimes also applied to digital signal processors (DSP) and system on a chip (SoC). The terms are generally used only to refer to multi-core microprocessors that are manufactured on the same integrated circuit die; separate microprocessor dies in the same package are generally referred to by another name, such as multi-chip module. This article uses the terms "multi-core" and "dual-core" for CPUs manufactured on the same integrated circuit, unless otherwise noted.

In contrast to multi-core systems, the term multi-CPU refers to multiple physically separate processing-units (which often contain special circuitry to facilitate communication between each other).

The terms many-core and massively multi-core are sometimes used to describe multi-core architectures with an especially high number of cores (tens to thousands[10]).[11]

Some systems use many soft microprocessor cores placed on a single FPGA. Each "core" can be considered a "semiconductor intellectual property core" as well as a CPU core.[citation needed]

Development

edit

While manufacturing technology improves, reducing the size of individual gates, physical limits of semiconductor-based microelectronics have become a major design concern. These physical limitations can cause significant heat dissipation and data synchronization problems. Various other methods are used to improve CPU performance. Some instruction-level parallelism (ILP) methods such as superscalar pipelining are suitable for many applications, but are inefficient for others that contain difficult-to-predict code. Many applications are better suited to thread-level parallelism (TLP) methods, and multiple independent CPUs are commonly 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 development of multi-core CPUs.

Early innovations: the Stanford Hydra project

edit

In the 1990s, Kunle Olukotun led the Stanford Hydra Chip Multiprocessor (CMP) research project. This initiative was among the first to demonstrate the viability of integrating multiple processors on a single chip, a concept that laid the groundwork for today's multicore processors. The Hydra project introduced support for thread-level speculation (TLS), enabling more efficient parallel execution of programs.

Commercial incentives

edit

Several business motives drive the development of multi-core architectures. For decades, it was possible to improve performance of a CPU by shrinking the area of the integrated circuit (IC), which reduced the cost per device on the IC. Alternatively, for the same circuit area, more transistors could be used in the design, which increased functionality, especially for complex instruction set computing (CISC) architectures. Clock rates also increased by orders of magnitude in the decades of the late 20th century, from several megahertz in the 1980s to several gigahertz in the early 2000s.

As the rate of clock speed improvements slowed, increased use of parallel computing in the form of multi-core processors has been pursued to improve overall processing performance. Multiple cores were used on the same CPU chip, which could then lead to better sales of CPU chips with two or more cores. For example, Intel has produced a 48-core processor for research in cloud computing; each core has an x86 architecture.[12][13]

Technical factors

edit

Since computer manufacturers have long implemented symmetric multiprocessing (SMP) designs using discrete CPUs, the issues regarding implementing multi-core processor architecture and supporting it with software are well known.

Additionally:

  • Using a proven processing-core design without architectural changes reduces design risk significantly.
  • For general-purpose processors, much of the motivation for multi-core processors comes from greatly diminished gains in processor performance from increasing the operating frequency. This is due to three primary factors:[14]
    1. The memory wall; the increasing gap between processor and memory speeds. This, in effect, pushes for cache sizes to be larger in order to mask the latency of memory. This helps only to the extent that memory bandwidth is not the bottleneck in performance.
    2. The ILP wall; the increasing difficulty of finding enough parallelism in a single instruction stream to keep a high-performance single-core processor busy.
    3. The power wall; the trend of consuming exponentially increasing power (and thus also generating exponentially increasing heat) with each factorial increase of operating frequency. This increase can be mitigated by "shrinking" the processor by using smaller traces for the same logic. The power wall poses manufacturing, system design and deployment problems that have not been justified in the face of the diminished gains in performance due to the memory wall and ILP wall.[citation needed]

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. Multi-core architectures are being developed, but so are the alternatives. An especially strong contender for established markets is the further integration of peripheral functions into the chip.

Advantages

edit

The proximity of multiple CPU cores on the same die allows the cache coherency circuitry to operate at a much higher clock rate than what is possible if the signals have to travel off-chip. Combining equivalent CPUs on a single die significantly improves the performance of cache snoop (alternative: Bus snooping) operations. Put simply, this means that signals between different CPUs travel shorter distances, and therefore those signals degrade less. These higher-quality signals allow more data to be sent in a given time period, since individual signals can be shorter and do not need to be repeated as often.

Assuming that the die can physically fit into the package, multi-core CPU designs require much less printed circuit board (PCB) space than do multi-chip SMP designs. Also, a dual-core processor uses slightly less power than two coupled single-core processors, principally because of the decreased power required to drive signals external to the chip. Furthermore, the cores share some circuitry, like the L2 cache and the interface to the front-side bus (FSB). 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.

Multi-core chips also allow higher performance at lower energy. This can be a big factor in mobile devices that operate on batteries. Since each core in a multi-core CPU is generally more energy-efficient, the chip becomes more efficient than having a single large monolithic core. This allows higher performance with less energy. A challenge in this, however, is the additional overhead of writing parallel code.[15]

Disadvantages

edit

Maximizing the usage of the computing resources provided by multi-core processors requires adjustments both to the operating system (OS) support and to existing application software. Also, the ability of multi-core processors to increase application performance depends on the use of multiple threads within applications.

Integration of a multi-core chip can lower the chip production yields. They are also more difficult to manage thermally than lower-density single-core designs. Intel has partially countered this first problem by creating its quad-core designs by combining two dual-core ones on a single die with a unified cache, hence any two working dual-core dies can be used, as opposed to producing four cores on a single die and requiring all four to work to produce a quad-core CPU. 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. Finally, raw processing power is not the only constraint on system performance. Two processing cores sharing the same system bus and memory bandwidth limits the real-world performance advantage.

Hardware

edit
edit

The trend in processor development has been towards an ever-increasing number of cores, as processors with hundreds or even thousands of cores become theoretically possible.[16] In addition, multi-core chips mixed with simultaneous multithreading, memory-on-chip, and special-purpose "heterogeneous" (or asymmetric) cores promise further performance and efficiency gains, especially in processing multimedia, recognition and networking applications. For example, a big.LITTLE core includes a high-performance core (called 'big') and a low-power core (called 'LITTLE'). There is also a trend towards improving energy-efficiency by focusing on performance-per-watt with advanced fine-grain or ultra fine-grain power management and dynamic voltage and frequency scaling (i.e. laptop computers and portable media players).

Chips designed from the outset for a large number of cores (rather than having evolved from single core designs) are sometimes referred to as manycore designs, emphasising qualitative differences.

Architecture

edit

The composition and balance of the cores in multi-core architecture show great variety. Some architectures use one core design repeated consistently ("homogeneous"), while others use a mixture of different cores, each optimized for a different, "heterogeneous" role.

How multiple cores are implemented and integrated significantly affects both the developer's programming skills and the consumer's expectations of apps and interactivity versus the device.[17] A device advertised as being octa-core will only have independent cores if advertised as True Octa-core, or similar styling, as opposed to being merely two sets of quad-cores each with fixed clock speeds.[18][19]

The article "CPU designers debate multi-core future" by Rick Merritt, EE Times 2008,[20] includes these comments:

Chuck Moore [...] suggested computers should be like cellphones, using a variety of specialty cores to run modular software scheduled by a high-level applications programming interface.

[...] Atsushi Hasegawa, a senior chief engineer at Renesas, generally agreed. He suggested the cellphone's use of many specialty cores working in concert is a good model for future multi-core designs.

[...] Anant Agarwal, founder and chief executive of startup Tilera, took the opposing view. He said multi-core chips need to be homogeneous collections of general-purpose cores to keep the software model simple.

Software effects

edit

An outdated version of an anti-virus application may create a new thread for a scan process, while its GUI thread waits for commands from the user (e.g. cancel the scan). In such cases, a multi-core architecture is of little benefit for the application itself due to the single thread doing all the heavy lifting and the inability to balance the work evenly across multiple cores. Programming truly multithreaded code often requires complex co-ordination of threads and can easily introduce subtle and difficult-to-find bugs due to the interweaving of processing on data shared between threads (see thread-safety). Consequently, such code is much more difficult to debug than single-threaded code when it breaks. There has been a perceived lack of motivation for writing consumer-level threaded applications because of the relative rarity of consumer-level demand for maximum use of computer hardware. Also, serial tasks like decoding the entropy encoding algorithms used in video codecs are impossible to parallelize because each result generated is used to help create the next result of the entropy decoding algorithm.

Given the increasing emphasis on multi-core chip design, stemming from the grave thermal and power consumption problems posed by any further significant increase in processor clock speeds, the extent to which software can be multithreaded to take advantage of these new chips is likely to be the single greatest constraint on computer performance in the future. If developers are unable to design software to fully exploit the resources provided by multiple cores, then they will ultimately reach an insurmountable performance ceiling.

The telecommunications market had been one of the first that needed a new design of parallel datapath packet processing because there was a very quick adoption of these multiple-core processors for the datapath and the control plane. These MPUs are going to replace[21] the traditional Network Processors that were based on proprietary microcode or picocode.

Parallel programming techniques can benefit from multiple cores directly. Some existing parallel programming models such as Cilk Plus, OpenMP, OpenHMPP, FastFlow, Skandium, MPI, and Erlang can be used on multi-core platforms. Intel introduced a new abstraction for C++ parallelism called TBB. Other research efforts include the Codeplay Sieve System, Cray's Chapel, Sun's Fortress, and IBM's X10.

Multi-core processing has also affected the ability of modern computational software development. Developers programming in newer languages might find that their modern languages do not support multi-core functionality. This then requires the use of numerical libraries to access code written in languages like C and Fortran, which perform math computations faster[citation needed] than newer languages like C#. Intel's MKL and AMD's ACML are written in these native languages and take advantage of multi-core processing. Balancing the application workload across processors can be problematic, especially if they have different performance characteristics. There are different conceptual models to deal with the problem, for example using a coordination language and program building blocks (programming libraries or higher-order functions). Each block can have a different native implementation for each processor type. Users simply program using these abstractions and an intelligent compiler chooses the best implementation based on the context.[22]

Managing concurrency acquires a central role in developing parallel applications. 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, development moves from the abstract toward the concrete. Developers 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, developers 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. They also determine whether it is worthwhile to replicate data and computation.
Mapping
In the fourth and final stage of the design of parallel algorithms, the developers 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, multi-core 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.

Licensing

edit

Vendors may license some software "per processor". This can give rise to ambiguity, because a "processor" may consist either of a single core or of a combination of cores.

Embedded applications

edit
?
An embedded system on a plug-in card with processor, memory, power supply, and external interfaces

Embedded computing operates in an area of processor technology distinct from that of "mainstream" PCs. The same technological drives towards multi-core apply here too. Indeed, in many cases the application is a "natural" fit for multi-core technologies, if the task can easily be partitioned between the different processors.

In addition, embedded software is typically developed for a specific hardware release, making issues of software portability, legacy code or supporting independent developers less critical than is the case for PC or enterprise computing. As a result, it is easier for developers to adopt new technologies and as a result there is a greater variety of multi-core processing architectures and suppliers.

Network processors

edit

As of 2010, multi-core network processors have become mainstream, with companies such as Freescale Semiconductor, Cavium Networks, Wintegra and Broadcom all manufacturing products with eight processors. For the system developer, a key challenge is how to exploit all the cores in these devices to achieve maximum networking performance at the system level, despite the performance limitations inherent in a symmetric multiprocessing (SMP) operating system. Companies such as 6WIND provide portable packet processing software designed so that the networking data plane runs in a fast path environment outside the operating system of the network device.[25]

Digital signal processing

edit

In digital signal processing the same trend applies: Texas Instruments has the three-core TMS320C6488 and four-core TMS320C5441, Freescale the four-core MSC8144 and six-core MSC8156 (and both have stated they are working on eight-core successors). Newer entries include the Storm-1 family from Stream Processors, Inc with 40 and 80 general purpose ALUs per chip, all programmable in C as a SIMD engine and Picochip with 300 processors on a single die, focused on communication applications.

Heterogeneous systems

edit

In heterogeneous computing, where a system uses more than one kind of processor or cores, multi-core solutions are becoming more common: Xilinx Zynq UltraScale+ MPSoC has a quad-core ARM Cortex-A53 and dual-core ARM Cortex-R5. Software solutions such as OpenAMP are being used to help with inter-processor communication.

Mobile devices may use the ARM big.LITTLE architecture.

Hardware examples

edit

Commercial

edit

Free

edit

Academic

edit

Benchmarks

edit

The research and development of multicore processors often compares many options, and benchmarks are developed to help such evaluations. Existing benchmarks include SPLASH-2, PARSEC, and COSMIC for heterogeneous systems.[49]

See also

edit

Notes

edit
  1. ^ Digital signal processors (DSPs) have used multi-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 common in mobile phones. In other applications, a growing number of companies have developed multi-core DSPs with very large numbers of processors.
  2. ^ Two types of operating systems are able to use 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.

References

edit
  1. ^ Rouse, Margaret (March 27, 2007). "Definition: multi-core processor". TechTarget. Archived from the original on August 5, 2010. Retrieved March 6, 2013.
  2. ^ Schauer, Bryan. "Multicore Processors – A Necessity" (PDF). Archived from the original (PDF) on 2025-08-14.
  3. ^ a b Smith, Ryan. "NVIDIA Announces the GeForce RTX 30 Series: Ampere For Gaming, Starting With RTX 3080 & RTX 3090". www.anandtech.com. Archived from the original on September 1, 2020. Retrieved 2025-08-14.
  4. ^ "Sunway TaihuLight - Sunway MPP, Sunway SW26010 260C 1.45GHz, Sunway | TOP500". www.top500.org. Retrieved 2025-08-14.
  5. ^ Suleman, Aater (May 20, 2011). "What makes parallel programming hard?". FutureChips. Archived from the original on May 29, 2011. Retrieved March 6, 2013.
  6. ^ Duran, A (2011). "Ompss: a proposal for programming heterogeneous multi-core architectures". Parallel Processing Letters. 21 (2): 173–193. doi:10.1142/S0129626411000151.
  7. ^ "Definition of dual core". PCMAG. Retrieved 2025-08-14.
  8. ^ "Intel taking its six-core processors mainstream in 2018 with Coffee Lake family". ZDNET. Retrieved 2025-08-14.
  9. ^ Alan Dexter (2025-08-14). "Six-core CPUs are now more popular than quad-core chips on Steam". PC Gamer. Retrieved 2025-08-14.
  10. ^ Schor, David (November 2017). "The 2,048-core PEZY-SC2 sets a Green500 record". WikiChip.
  11. ^ Vajda, András (2025-08-14). Programming Many-Core Chips. Springer. p.?3. ISBN?978-1-4419-9739-5.
  12. ^ Shrout, Ryan (December 2, 2009). "Intel Shows 48-core x86 Processor as Single-chip Cloud Computer". Archived from the original on January 5, 2016. Retrieved May 17, 2015.
  13. ^ "Intel unveils 48-core cloud computing silicon chip". BBC. December 3, 2009. Archived from the original on December 6, 2012. Retrieved March 6, 2013.
  14. ^ Patterson, David A. "Future of computer architecture." Berkeley EECS Annual Research Symposium (BEARS), College of Engineering, UC Berkeley, US. 2006.
  15. ^ Suleman, Aater (May 19, 2011). "Q & A: Do multicores save energy? Not really". Archived from the original on December 16, 2012. Retrieved March 6, 2013.
  16. ^ Clark, Jack. "Intel: Why a 1,000-core chip is feasible". ZDNet. Archived from the original on 6 August 2015. Retrieved 6 August 2015.
  17. ^ Kudikala, Chakri (Aug 27, 2016). "These 5 Myths About the Octa-Core Phones Are Actually True". Giz Bot.
  18. ^ "MediaTek Launches MT6592 True Octa-Core Mobile Platform" (Press release). MediaTek. November 20, 2013. Archived from the original on October 29, 2020.
  19. ^ "What is an Octa-core processor". Samsung. Archived from the original on January 17, 2022. Galaxy smartphones run on either Octa-core (2.3GHz Quad + 1.6GHz Quad) or Quad-core (2.15GHz + 1.6GHz Dual) processors
  20. ^ Merritt, Rick (February 6, 2008). "CPU designers debate multi-core future". EE Times. Retrieved October 21, 2023.
  21. ^ "Multicore Packet Processing Forum". Archived from the original on 2025-08-14.
  22. ^ John Darlinton; Moustafa Ghanem; Yike Guo; Hing Wing To (1996). "Guided Resource Organisation in Heterogeneous Parallel Computing". Journal of High Performance Computing. 4 (1): 13–23. CiteSeerX?10.1.1.37.4309.
  23. ^ Bright, Peter (4 December 2015). "Windows Server 2016 moving to per core, not per socket, licensing". Ars Technica. Condé Nast. Archived from the original on 4 December 2015. Retrieved 5 December 2015.
  24. ^ Compare: "The Licensing Of Oracle Technology Products". OMT-CO Operations Management Technology Consulting GmbH. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  25. ^ "6WINDGATE Software: Network Optimization Software – SDN Software – Control Plane Software | 6WIND".
  26. ^ "Sempron? 3850 APU with Radeon? R3 Series | AMD". AMD. Archived from the original on 4 May 2019. Retrieved 5 May 2019.
  27. ^ "Intel? Atom? Processor C Series Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  28. ^ "Intel? Atom? Processor Z Series Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  29. ^ "Intel Preps Dual-Core Celeron Processors". 11 October 2007. Archived from the original on 4 November 2007. Retrieved 12 November 2007.
  30. ^ "Intel? Celeron? Processor J Series Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  31. ^ "Products formerly Yonah". ark.intel.com. Retrieved 2025-08-14.
  32. ^ "Products formerly Conroe". ark.intel.com. Retrieved 2025-08-14.
  33. ^ "Products formerly Kentsfield". ark.intel.com. Retrieved 2025-08-14.
  34. ^ "Intel? Core? X-series Processors Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  35. ^ "Intel? Itanium? Processor Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  36. ^ "Intel? Pentium? Processor D Series Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  37. ^ Zazaian, Mike (September 26, 2006). "Intel: 80 Cores by 2011". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  38. ^ Kowaliski, Cyril (February 18, 2014). "Intel releases 15-core Xeon E7 v2 processor". Archived from the original on 2025-08-14.
  39. ^ "Intel Xeon Processor E7 v3 Family". Intel. Archived from the original on 2025-08-14.
  40. ^ "Intel Xeon Processor E7 v2 Family". Intel? ARK (Product Specs). Intel. Archived from the original on 2025-08-14.
  41. ^ "Intel Xeon Processor E3 v2 Family". Intel? ARK (Product Specs). Intel. Archived from the original on 2025-08-14.
  42. ^ "Intel shows off Xeon Platinum CPU with up to 56 cores and 112 threads". TechSpot. 2 April 2019. Retrieved 2025-08-14.
  43. ^ PDF, Download. "2nd Gen Intel? Xeon? Scalable Processors Brief". Intel. Retrieved 2025-08-14.
  44. ^ "Intel? Xeon Phi? x100 Product Family Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  45. ^ "Intel? Xeon Phi? 72x5 Processor Family Product Specifications". ark.intel.com. Retrieved 2025-08-14.
  46. ^ Cole, Bernard (September 24, 2008). "40-core processor with Forth-based IDE tools unveiled".
  47. ^ Hammond, Lance; et?al. (1999). The Stanford Hydra CMP (PDF). Hot Chips. Retrieved 27 June 2023.
  48. ^ Chacos, Brad (June 20, 2016). "Meet KiloCore, a 1,000-core processor so efficient it could run on a AA battery". PC World. Archived from the original on June 23, 2016.
  49. ^ "COSMIC:Statistical Multiprocessor Benchmark Suite".

Further reading

edit
  • Khondker S. Hasan; Nicolas G. Grounds; John K. Antonio (July 2011). Predicting CPU Availability of a Multi-core Processor Executing Concurrent Java Threads. 17th International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA-11). Las Vegas, Nevada, USA. pp.?551–557. hdl:10657.1/2440.
  • Khondker S. Hasan; John Antonio; Sridhar Radhakrishnan (February 2014). A New Composite CPU/Memory Model for Predicting Efficiency of Multi-core Processing. The 20th IEEE International Conference on High Performance Computer Architecture (HPCA-14) workshop. Orlando, FL, USA. doi:10.13140/RG.2.1.3051.9207.
edit
为什么突然得了荨麻疹 612是什么星座 困是什么原因 身痒是什么原因引起的 口头禅什么意思
黑色是什么颜色组成的 g1是什么意思 穿刺检查是什么意思 内风湿是什么原因引起的 儿童鼻炎挂什么科
什么的故事填空 红色的补色是什么颜色 嗳气什么意思 臀推是什么意思 骨密度增高是什么意思
白痰咳嗽用什么药最好 三五成群十双在是什么生肖 肌酸什么时候喝比较好 小孩拉肚子应该吃什么食物好 男人眉毛短是什么面相
中国的国宝是什么hcv9jop6ns9r.cn 什么是坚果hcv9jop0ns3r.cn 属鸡的贵人是什么属相hcv8jop1ns4r.cn 什么样的夕阳hcv9jop7ns1r.cn 狗狗不能吃什么hcv9jop7ns2r.cn
甲状腺过氧化物酶抗体高说明什么问题hcv8jop5ns6r.cn 左手指头麻木是什么原因hcv8jop7ns3r.cn 空调不热是什么原因hcv7jop7ns1r.cn 木耳和什么不能一起吃hcv8jop3ns7r.cn 什么动物没有眼睛hcv8jop5ns4r.cn
勇往直前是什么意思hcv9jop4ns4r.cn 嘉庆叫什么名字hcv9jop0ns1r.cn 学生近视配什么镜片好xscnpatent.com 幼儿反复发烧是什么原因hcv8jop9ns1r.cn 下雨天适合穿什么衣服hcv9jop7ns2r.cn
家的含义是什么hcv8jop1ns3r.cn 酥油是什么油hcv7jop6ns5r.cn 五月四号什么星座hcv8jop8ns0r.cn 白什么hcv9jop1ns9r.cn 屈原属什么生肖yanzhenzixun.com
百度