August 2, 2010

Microprocessor

A microprocessor is a processor whose components have been miniaturized sufficiently to be grouped in a single integrated circuit. Functionally, the processor is part of a computer that executes instructions and processes data programs.

Description

Until the early 1970s, various electronic components forming a processor that could fit on a single integrated circuit. It should therefore be placed on multiple integrated circuits. In 1971, the American company Intel succeeds, for the first time, placing all the transistors that constitute a processor on a single integrated circuit giving rise to microprocessor.

This miniaturization has enabled: increases the operating capacity of processors, by reducing the distances between components, among others; reduce costs through the replacement of several circuits with a single one among others; increase reliability, by deleting connections between components of the processor, it removes one of the main vectors of failure; computers to create much smaller: micro-computers; reduce energy consumption.

The main characteristics of a microprocessor are: The set of instructions it can execute. Examples of instructions that a microprocessor can perform: add two numbers, compare two numbers to determine if they are equal, compare two numbers to determine which is larger, multiply two numbers, A processor can execute tens or even hundreds or thousands of different instructions.

The complexity of its architecture. This complexity is measured by the number of transistors contained in the microprocessor. Over the microprocessor contains transistors, the more it can perform complex operations, and / or treating large numbers.

The number of bits that the processor can handle whole. The first microprocessors could handle more than 4 bits at once. They had to execute multiple instructions to add the numbers 32 or 64 bits. The current microprocessors (in 2007) can handle 64-bit numbers together. The number of bits is directly related to the ability to handle large numbers quickly, or numbers of high precision (number of decimal places).

Clock speed. The role of the clock is clocking the speed of the microprocessor work. The higher the clock speed increases, the microprocessor carries out instructions in a second.

All this is theoretical, in practice, as the processor architecture, the number of clock cycles to perform an elementary operation can vary from one cycle to several dozen per unit of execution (typically on a standard processor) . For example, processor A 400 MHz may be faster than him other B 1 GHz, depending on their respective architectures.

The combination of the above characteristics determines the power of the microprocessor. The power of a microprocessor is expressed in Millions of Instructions Per Second (MIPS). In the 1970s, microprocessors were doing less than one million instructions per second, the current processors (in 2007) can carry more than 10 billion instructions per second.

History

The microprocessor was invented by two engineers from Intel: Marcian Hoff (aka Ted Hoff) and Federico Faggin. Marcian Hoff made the architecture of the microprocessor (block architecture and a set of instructions) in 1969. Federico Faggin invented the microprocessor design (new design methodology for chip and logic, using for the first time on silicon gate technology developed by him in 1968 at Fairchild, circuit design and logic; new layout and several new technical solutions) in 1970. Federico Faggin also led the design of the first microprocessor to its market introduction in 19,714.

In 1990, Gilbert Hyatt has claimed the patent of the microprocessor based on a patent he had filed in 1970. Recognition of prior patent Hyatt would have enabled him to claim royalties on all microprocessors manufactured by the world. However, Hyatt's patent was invalidated in 1995 by the U.S. Patent Office, on the basis that the microprocessor is described in the patent application had not been done, and would not, could the be with the technology available at the time of filing the patent.

The first microprocessor market, November 15, 1971, is the Intel 4004 4-bit. It was followed by the Intel 8008. This microprocessor was originally used to manufacture integrated graphics in text mode, but considered too slow for the client who requested the design, it became a general purpose processor. These processors are the precursors of the Intel 8080, Zilog Z80, and future Intel x86 family.

The following table describes the main features of microprocessors manufactured by Intel, and shows their rapid evolution in both increasing the number of transistors in circuit miniaturization and increasing power. Keep in mind that if this table describes the evolution of Intel products, changes in competitors' products has followed more or less early or late the same course.

A computer program is, in essence, a stream of instructions executed by a processor. Each instruction requires several clock cycles, the instruction is executed in as many steps as necessary cycles. The sequential microprocessors running the following statement when they finish the current instruction. In the case of ILP, the microprocessor can process several instructions at the same clock cycle, provided that these do not mobilize different instructions simultaneously a single internal resource. In other words, the processor executes instructions in sequence, and are not dependent on one another, at various stages of completion. This queue is called future execution pipeline. This mechanism was first implemented in the 1960s by IBM.

The most advanced processors running at the same time as they have instructions to pipelines, provided that all instructions execute in parallel are not interdependent, that is to say that the outturn of each of them does not alter the conditions of implementation of one another.Processors of this type are called superscalar processors. The first computer to be equipped with this type of processor was Seymour Cray's CDC 6600 in 1965. The Pentium is the first superscalar processors for PC compatible.

Today, designers of processors are not looking simply to run multiple independent instructions simultaneously, they seek to optimize the execution time of all instructions. For example, the processor can sort the instructions so that all its pipelines contain instructions independent.This mechanism is called the performance out-of-order. This type of processor has become the engine for general public from the 1980s until the years 19905. The canonical example of such a pipeline is that of a RISC processor, in five steps. The Intel Pentium 4 has 35 floors of pipeline6. A compiler optimized for this kind of processor will provide a code that will run faster. To avoid loss of time due to pending new instructions, and especially within the context reloading between each change of threads, fondeurs7 added to their processors optimization methods that threads can share the pipeline, caches and registers. These processes, collectively known Simultaneous Multi Threading, have been developed in the 1950s. By cons, for higher performance, compilers should take into account these processes, we must re-compile the programs for these types of processors. Intel began to produce the early 2000s, the SMT processors that run at two tracks. These processors, Xeon processors can simultaneously execute two threads that share the same pipelines, caches and registers. Intel called this two-way SMT:

Hyperthreading. Super-threading is, in turn, an SMT in which multiple threads also share the same resources, but these threads only run one after the other and not simultaneously. Have long existed the idea of multiple processors to coexist within a single component, such as System on Chip. This was, for example, to add to the processor, FPU, DSP, or a cache memory, possibly even the entire components found on a motherboard. Processors using two or four cores are therefore emerged, such as the IBM POWER4 released in 2001. They have the technologies mentioned previously. Computers that have this type of processors are cheaper than buying an equivalent number of processors, however, the performances are not directly comparable, it depends of the problem. Specialized APIs have been developed to make the best use of these technologies, such as the Intel Threading Building Blocks.

Date: the year of the microprocessor market.
Name: the name of the microprocessor.
Number of transistors: the number of transistors contained in the microprocessor.
Manufacturing process (μm): the diameter (in micrometers) of the smallest wire connecting two components of the microprocessor. In comparison, the thickness of a human hair is 100 microns.
Clock frequency: the frequency of the clock of the motherboard that the CPU speed. MHz = million (s) of cycles per second. GHz = billion (s) of cycles per seconds.
Width of data: the first number indicates the number of bits on which a transaction is made. The second number indicates the number of bits transferred between both memory and microprocessor.
MIPS: the number of million instructions performed by the microprocessor in a second.

1971 4004 2300108 kHz 4 bit / 4-bit bus
1974 8080 6 000 6 2 MHz 8 bit / 8 bit bus 0.64
1979 8088 29 000 May 3 MHz 16-bit / 8 bit bus 0.33
1982 80286 134 000 1,5 6-16 MHz (20 MHz AMD) 16-bit bus bits/16 1
1985 80386 275 000 1.5 16-40 MHz 32-bit bus 5 bits/32
1989 80486 1 200 000 1 16-100 MHz 32-bit bus 20 bits/32
Pentium 3.1 million in 1993 from 0.8 to 0.28 60-233 MHz 32-bit bus 100 bits/64
Pentium II 1997 7,500,000 0.35 to 0.25 233-450 MHz 32-bit bus 300 bits/64
1999 Pentium III 9.5 million from 0.25 to 0.13 450-1 400 MHz 32-bit bus 510 bits/64
Pentium 4 2000 42,000,000 0.18 to 0.065 from 1.3 to 3.8 GHz 32-bit bus bits/64 1700
2004 Pentium 4D "Prescott" 125,000,000 0.09 to 0.065 2.66 to 3.6 GHz 32-bit bus bits/64 9000
Core 2 Duo ™ 2006 291 000 000 0.065 2.4 GHz (E6600) 64-bit bus bits/64 22,000
Core ™ 2 Quad 2007 2 * 291 000 000 0.065 3 GHz (Q6850) 64-bit bus bits/64 2 * 22 000 (?)
2008 Core 2 ™ Duo (Penryn) 410 000 000 0.045 3.33 GHz (E8600) 64-bit bus bits/64 ~ 24,200
2008 Core ™ 2 Quad (Penryn) 2 * 410 000 000 0.045 3.2GHz (QX9770) 64-bit bus bits/64 ~ 2 * 24 200
2008 Intel Core i7 (Nehalem) 731 000 000 0.045 (2008)
0.032 (2009) 2.66GHz (Core i7 920)
3.33GHz (Core i7 Ext. Ed. 975) 64-bit bus bits/64?
2009 Intel Core i5/i7 (Lynnfield) 774000000 0.045 (2009)
2.66GHz (Core i5 750)
2.93GHz (Core i7 870) 64-bit bus bits/64?
2010 Intel Core i7 (Gulftown) 1170000000 0.032 3.33GHz (Core i7 980X) 64-bit bus bits/64?

Families of Microprocessors

Microprocessors are usually grouped into families, according to the set of instructions they execute. This game includes instructions, often a common basis for the entire family, often the most recent microprocessors families have new instructions. Backward compatibility within a family is not always assured. For example a program known for writing x86 compatible processor 80386, which allows memory protection, could not not work on earlier processors, but works on all newer processors (eg a Core Duo or Athlon d AMD).

Families of Microprocessors

The family best known by the general public is the x86 family, developed primarily by companies Intel (maker of the Pentium), AMD (Athlon manufacturer), VIA and Transmeta. The first two companies dominate the market and they make the largest share of microprocessors for personal computers compatible PC. Intel also supplies the microprocessors for the Macintosh computers since 2006.

PowerPC microprocessors from IBM and Motorola team until 2006 Macintosh computers (made by Apple). These microprocessors are also used in the P-series servers and IBM in various embedded systems. In the field of gaming consoles, the PowerPC microprocessors derivatives equip the Wii (Broadway), GameCube (Gekko) Xbox 360 (three hearts secondary named Xenon). The PlayStation 3 is equipped with the Cell microprocessor, derived from POWER4, PowerPC architecture close.
The company's 6502 MOS Technology was used to produce the famous Apple II.
The Zilog Z80 microprocessor has been widely used in the 1980s in designing the first personal computers as the 8-bit Radio Shack TRS-80, the Sinclair ZX80, ZX81, ZX Spectrum, Apple II, with a daughter card, the Standard MSX, Amstrad CPC and the latest in embedded systems.
Family 6800 the company Motorola.

The family 68000 (also known m68k) Motorola animated the old Macintosh, Sega Genesis, Atari ST and Commodore Amiga. Derivatives (Dragonball, Coldfire) are still used in embedded systems.
Among the smaller families known to the general public:
The family Sparc animates most of the servers and workstations from Sun Microsystems, though more and more new products are made on x86.
The family of HP PA-RISC and VLSI Technology, animates the old servers and workstations from HP, now replaced by the family IA-64
IA-64 family of HP and Intel, brings 64-bit servers and workstations from HP
The family runs MIPS workstations from Silicon Graphics, game consoles like the PSone, Nintendo 64 and embedded systems, as well as Cisco routers. This is the first family to offer a 64-bit architecture with the R4000 in 1991. The Chinese foundry Loongson processors are based on a new generation of MIPS Technologies, used in supercomputers and low-power computers.
The ARM family is nowadays only used in embedded systems, including many PDAs and smartphones, it has previously been used by Archimedes and Acorn for his RiscPC.
The animated family DEC Alpha computers in December, then taken over by Compaq, which HP has definitely stopped.

Fast Instruction Execution in Operating Frequency

The microprocessors are clocked by a clock signal (oscillating signal requiring a regular rhythm to the circuit). In the mid-1980s, this signal had a frequency of 4 to 8 MHz. In the 2000s, this frequency is 4 GHz. Over this frequency, the higher the microprocessor can execute at a high rate basic instructions of programs.

Increasing the frequency drawbacks: higher it is, the processor consumes more power, and it heats more: it means having a CPU cooling solution developed; particular frequency is limited by the switching time of logic gates: it is necessary between two formidable clock, the digital signals have time to travel all the way necessary for the execution of the statement expected and for faster processing, requires action on many parameters (size of a transistor, electromagnetic interactions between the circuits, etc..) it becomes increasingly difficult to improve (and ensuring reliability operations).

Overclocking

The overclocking is to force the increase in the frequency of the clock signal from the microprocessor (compared to the manufacturer's recommendations) in order to execute more instructions each second.

Optimization of the Execution Path

Current microprocessors are optimized to run more than one instruction per clock cycle, they are microprocessors with threads in parallel. In addition they have procedures that "anticipate" the following instructions with the help of statistics.

In the race to the power of microprocessors, two optimization methods are in competition:
The RISC (Reduced Instruction Set Computer, a simple set of instructions) and fast with simple instructions for standard size, easy to manufacture and which you can mount the clock frequency without too many technical difficulties.

Technology CISC (Complex Instruction Set Computer), each complex instruction requires more clock cycles, but which has at its heart a lot of instructions pre-wired.

However, with decreasing size of computer chips and faster clock rates, the distinction between RISC and CISC has almost completely disappeared. Where families trenches existed, are now observed as a microprocessor RISC provides internal structure of power while remaining compatible with type use CISC (Intel x86 family has been transitioning from an organization initially very typical a structure CISC. Currently it uses a very fast heart RISC, based on a rearrangement of the code on the fly), implemented in part through caches become larger, with up three levels.

Structure of a Microprocessor

Main article: Architecture and processor microarchitecture.
The central unit of a microprocessor includes mainly:
an arithmetic logic unit (ALU) which performs operations;
registers that allow the microprocessor to store data temporarily;
a control unit which controls the entire microprocessor based on the instructions of the program.
Some records have a very specific role:
register status flag (flags), this register gives the status of the microprocessor at any time, it can only be read;
the program counter (PC Program Counter) contains the address of the next instruction to execute;
the stack pointer (SP Stack Pointer) is the pointer to a special area of memory called the stack where the arguments are stored sub-programs and return addresses.
Only the Program Counter is essential, there are (few) processors having no status register or not stack pointer (eg NS32000).
The control unit can also be decomposed:
register instruction, stores the instruction code to execute;
the decoder decodes the instruction;
the sequencer executes the instruction, he will control all organs of the microprocessor.

Manufacture of Microprocessors

The fabrication of a microprocessor is essentially identical to that of any integrated circuit. It follows therefore a complex process. But the enormous size and complexity of most microprocessors tends to increase further the cost of the operation.

Moore's Law

Moore's Law, which states that the degree of integration of microprocessors doubles every 18 months, also indicates that production costs at the same time doubling the degree of integration. The manufacturing of microprocessors is now considered one of the two factors increase the capacity of manufacturing facilities (with the constraints related to the manufacture of large-capacity storage). The fineness of the engraving industry reached 45 nm 20 068. By further reducing the fine engraving, smelters face to the rules of quantum mechanics.

Multiple Parallel Processors

According to the operating system, the current trend is to install multiple parallel processors and multiple tasks where the growing importance of trade-offs between process functions (eg hyper threading). In fact, the superscalar architecture (paralleling of tasks in an execution unit) of current processors currently does more multi-threading as used. However, processors that require multiple cores should be studied closely the distribution of tasks between them so that we do not see see a slowdown in transactions, this is called the affinities between processors (processor affinity).

Security and Rental

There are many integration projects at the heart of the microprocessor functions to prevent unauthorized copying of files (DRM). The consortium Trusted Computing Group, in particular, has already created chips to create a "zone of confidence" in the computer system, using a specific identification chip. Some computer models, such as IBM laptops already include such chips. The next generation of this technology will probably be integrated in the CPUs of computers. These technologies are decried, especially by supporters of free software, for which they have a potential of civil liberties. Indeed, combined with an operating system for this purpose, for example derived from Microsoft Project NGSCB, this technology enables the trusted third party (the provider that will check the validity of the system components) to access distance inside the computer, or even prevent the execution of some operations on it.

No comments:

Post a Comment