It is Intel’s technology and it gives processors the ability to have multiple instructions operating on
separate data in parallel. Such processors appear to the operating system to be more than one processor. As a result, the operating system can schedule multiple processes at the same time, as in the case of symmetric multiprocessing (SMP), where two or more processors are connected to a single shared main memory. Most multiprocessor systems today use SMP architecture. In fact, the operating system must support SMP in order to take advantage of it.
It is a single computing component with two or more independent actual processors (called
“cores”), which are the units that read and execute program instructions. Manufacturers typically integrate the cores onto a single CPU die (known as a chip multiprocessor or CMP). A dual-core processor has two cores (AMD Phenom II X2, Intel Core Duo), a quad-core processor contains four cores (AMD Phenom II X4, the Intel 2010 core line that includes three levels of quad-core processors, see i3, i5, and i7 at Intel Core), and a hexa-core processor contains six cores (AMD Phenom II X6, Intel Core i7 980X Edition). Operating system must support SMP for it.
Dynamic frequency scaling or CPU throttling
It is a technique to automatically adjust the core frequency or clock speed of CPU, either to conserve power or to reduce the amount of heat generated by the chip. It is commonly used in laptops and other mobile devices. Intel’s Speed Step technology is used for mobile CPU. AMD employs two different CPU throttling technologies. AMD’s Cool’n’Quiet technology is used for desktop and server processor and Power Now! technology for mobile processor. The Pentium M has TM1 and TM2 thermal monitoring which respectively add no-operation (NOP) instructions (to slow execution) and lower the internal clock multiplier.
It is hardware-level instructions to implement machine code instructions in CPU and is in a special high-speed memory. It translates machine instructions into sequences of detailed circuit-level operations. It helps to build complex multi-step instructions while reducing the complexity of electronic circuitry compared to other methods. Writing microcode is often called microprogramming and the microcode in a particular processor implementation is called a micro program.
The x86 family of processors has a common set of instructions that CPU recognizes. This instruction set has been extended on several occasions. The first major revision was with the 386 processor, which introduced special 32-bit instruction codes.
MMX – Early CPU could perform integer arithmetic only (of whole numbers). Floating-Point Units (FPU) were integrated within the CPU to process numbers with decimal points. Pentium MMX (Matrix Math Extensions but misnamed Multi-Media eXtensions) introduced extra instructions to make floating-point math easier, especially when manipulating several numbers at once, this concept is called Single Instruction, Multiple Data (SIMD) and means that graphics and sound software can run more quickly.
SSE / SSE2 / SSE3 – AMD came with an expanded MMX instruction set called 3DNow! Intel created their own version of 3DNow called SSE (Streaming SIMD Extensions), adding 70 new math instructions. This was taken further with the Pentium 4’s SSE2 and SSE3 extensions. Program supporting SSE3 can run 10 to 100 times fast on SSE3-compatible processor.
The binary codes used for instructions are similar to those used for storing data. If a programmer issues an incorrect instruction it is possible to accidentally start executing data codes as if they were instructions. This may lead to unexpected results and crashed software. This flaw is used by hackers to create buffer overflow attacks. They take advantage of programming errors by disguising instruction codes as data. Thus, when the data is accidentally executed, the CPU carries out the instructions set by the hacker. Most “critical” software patches are aimed at fixing this kind of vulnerability. The Athlon 64 has NX (No eXecute) technology, which allows the processor to mark memory addresses as containing non-executable code so, CPU can tell if it has gone into data and will refuse to execute it. This gives better protection against buffer overflow attacks. Intel recently came out with, XDB (eXecute Disable Bit), which does the same thing.
The processing of instructions in a CPU is governed by a single repeating signal — the clock — that synchronizes the movement of data within the CPU. It used to be easy to measure the performance of a processor by looking at its clock frequency (also called clock speed or clock rate) but, that is no longer the case. There is a maximum limit to the clock frequency as if a clock is too fast then internal buses will change state quickly and numeric codes will not be read properly.
Lower signaling voltages mean faster clock rates, because the signal can slow to the desired levels more quickly. To ensure that the core has the appropriate level of voltage a Voltage Regulator Module (VRM) is required. ATX motherboards have VRM built in. Older, AT-based systems do not get a 3V power line and therefore need more hefty VRMs and which plug in on a separate card beside the processor.
Real speed vs. actual speed
AMD started producing CPUs that did more work in every clock cycle. Thus a 1.8 GHz Athlon would carry out the same number of instructions per second as a 2.4 GHz Pentium III. Therefore AMD started identifying their chips by the equivalent speed: the 1.8GHz Athlon was sold as the “Athlon 2400+”. Recently Intel has developed a similar problem. The 2.2 GHz Pentium 4M for laptops is outperformed by the 1.6 GHz Pentium M processor. Intel has now abandoned the use of clock speeds to designate processor “quality” and has adopted a proprietary numbering system. To judge CPU is to compare various benchmark speed tests, like by www.tomshardware.com
Overclocking is the process of increasing the processor clock frequency to the maximum possible level. This can have a number of side effects
- Increased temperature, requiring better cooling systems
- Occasional crashes due to illegal instruction codes
Many CPU can be over-clocked and there is statistics about relative performance and stability.