Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>One addition for Embedded CPU architecture: they have to be usually cheaper than mainstream processors, so that they do not raise the product's life considerably.</p> <p><strong>Mixed core CPU architectures</strong></p> <ul> <li><p>They are usually used where there is a need for high throughput, speed and/or lower power requirements - embedded applications, DSPs, cryptography, gaming, high performance computing.</p></li> <li><p>Mixed core architectures offer one or many specialized cores that fit a specific problem domain in addition to the General Purpose (GP) core. The specialized cores can be used as accelerators for a specific part of the application that is considered to be the bottleneck. Although one can achieve the same performance by adding more GP cores, this may be impractical because of technology used, die size, power constraints, dissipated heat or programmability - the specialized cores do one thing, or at least a couple of things, faster and more efficient than a GP core. They exist for the same reasons as why graphics cards use a different architecture in their GPUs.</p></li> <li><p>Mainstream OSes are written and optimized for mainstream CPUs. They are compiled targeting a mainstream processor architecture. Moreover, the specialized cores are usually not generic enough to run their OS. So we don't explicitly need a new OS, just modifications to allow the system to recognize and use the specialized cores - either through a library or through a driver. Using the specialized core needs partial recompilation so that the executable code targets the specialized core.</p></li> </ul> <p>Some notes: </p> <ul> <li><p>Mainstream chips are effectively mixed-cores. They have MMX, SSE, SSE2, SSE3 instructions, floating point instructions and some times cryptographic extensions. This effectively makes them a "mixed-core" architecture. However, they are so popular that are included in the microcomputer processor category. Think of AMD's Fusion and Intel Larrabbee.</p></li> <li><p>x86 is so popular because there is a lot of research, effort and investment to make good tools (compilers, debuggers etc) for them. Moreover, the majority of the programs are closed source and compiled for x86, so you cannot run them on any other architecture. Finally, a lot of code has hand-written optimizations or assumptions in the code that it will be compiled and executed on an x86. This would require a partial application rewrite to compile for a different architecture.</p></li> <li><p>Another good reason for different architectures is control and tight integration of different subsystems. IBM has their own CPUs (PowerPC), OS (AIX) and libraries, offering a optimally tuned package that is difficult to go away from once you have bought it. Same goes for Sun (now Oracle) with the SPARC and Solaris and a few years back with HP with HP-RISC and HP/UX. It is not evil or anything like that: they offer a package that fits your application exactly and they know and can reproduce easily if something goes wrong because they are familiar with all aspects of the system, both hardware and software.</p></li> </ul>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload