Custom Search

Saturday, September 13, 2008

A thought of my mind

Entering to the new world has been a real challenge and to survive in it
is like putting ur hand into mouth of a tiger ...... the ones who survives has all the attraction and the one who cant becomes dumb, why in this world all can live with peace ..... why ??? there is so much discrimination ..... people even not try to understand the feelings of other .... even the the begger is a person ...... so why cant we let our hands out to help other to survive in this world where a son does not respect his father ..... let the world know there are some who not only live for there work but live to work for others.......... lets take a pleadge to do one thing which can be remembered for the lifetime ...........................!!!!!!!!

Thursday, August 7, 2008

OLYMPICS..........HISTORY


ANCIENT OLYMPIC



There are many myths surrounding the origin of the ancient Olympic Games, the most popular of which identifies Heracles as the creator of the Olympic Games. According to the legend, Heracles built the Olympic stadium and surrounding buildings as an honor to his father Zeus, after completing his 12 labors. After he built the stadium he walked in a straight line for 400 strides and called this distance a "stadion" (Greek: στάδιον, Latin: stadium, "stage") that later also became a unit of distance. This is also why a modern stadium track is 400 meters in circumference — the distance a runner travels in one lap (1 stadium = 400 m).

The date of the Games' creation was based on a four year cycle. The most widely held estimate for the inception of the Ancient Olympics is 776 BC, although scholars' opinions diverge between dates as early as 884 BC and as late as 704 BC.

From then on, the Olympic Games quickly became much more important throughout ancient Greece, reaching their zenith in the 6th and 5th centuries BC. The Olympics were of fundamental religious importance, contests alternating with sacrifices and ceremonies honouring both Zeus (whose colossal statue stood at Olympia), and Pelops, divine hero and mythical king of Olympia, who was famous for his legendary chariot races with King Oenomaus of Pisatis, and in whose honour the games were held. The number of events increased to twenty, and the celebration was spread over several days. Winners of the events were greatly admired and were immortalised in poems and statues. The Games were held every four years, and the period between two celebrations became known as an Olympiad. The Greeks used Olympiads as one of their units of time measurement. The most famous Ancient Olympic athlete lived during the sixth century BC: the wrestler Milo of Croton is the only athlete in history to win a victory in six Olympics.

The Games gradually declined in importance as the Romans gained power in Greece. After Emperor Theodosius I proclaimed Christianity the religion of the Empire and banned pagan rites, the Olympic Games were outlawed as a pagan festival. This even occurred in 393 AD. The Olympics were not seen again until their rebirth two millennia later.

During the ancient times normally only young men could participate. The sportsmen usually competed nude. This was due in part to the weather and also because the festival was meant to be a celebration of the achievements of the human body. Upon winning the event, the victor would have not only the prestige of being in first place but would also be presented with a crown of olive leaves. The olive branch is a sign of hope and peace. While the symbol of the olive branch has carried through from the Ancient Games to the modern reinvention, many other current Olympic symbols are unique to the Modern Olympics. The bearing of a torch, for example, formed an integral part of Greek ceremonies but the Ancient Games did not include a torch-lighting ceremony, nor was there a symbol formed by interconnecting rings





MORDERN OLYMPICS

After the initial success, the Olympics struggled. The celebrations in Paris (1900) and St. Louis (1904) were overshadowed by the World's Fair exhibitions in which they were included. The 1906 Intercalated Games (so-called because they were the second games held within the IIIrd Olympiad) were held in Athens, as the first of an alternating series of Athens-held Olympics. Although originally the IOC recognised and supported these games, they are currently not recognised by the IOC as Olympic Games, which has given rise to the explanation that they were intended to mark the 10th anniversary of the modern Olympics. The 1906 Games again attracted a broad international field of participants—in 1904, 80% had been American—and great public interest, thereby marking the beginning of a rise in popularity and size of the Games.

From the 241 participants from 14 nations in 1896, the Games grew to nearly 11,100 competitors from 202 countries at the 2004 Summer Olympics in Athens. The number of competitors at the Winter Olympics is much smaller than at the Summer Games; at the 2006 Winter Olympics in Turin Italy, 2,633 athletes from 80 countries competed in 84 events.

The Olympic Games are one of the world's largest media events. In Sydney in 2000, there were over 16,000 broadcasters and journalists, and an estimated 3.8 billion viewers watched the games on television. The growth of the Olympics is one of the largest problems the Olympics face today. Although allowing professional athletes and attracting sponsorships from major international companies solved financial problems in the 1980s, the large number of athletes, media and spectators makes it difficult and expensive for host cities to organize the Olympics. For example, the 2012 Olympics (which will be held in London), is based on an updated budget of over £9bn—one of the biggest budgets for an Olympics to date. Even if sponsorships do lighten the load in terms of the debt that these countries take on, one of the biggest problems faced is how their economies will cope with the extra financial burdens put on them.

Despite the Olympics usually being associated with one host city, most of the Olympics have had events held in other cities, especially the football and sailing events. There were two Olympics where some events were held in a different country: during the 1920 Antwerp Olympics two sailing races were held in the Netherlands; and during the 1956 Melbourne Olympics equestrian events were held in Sweden. The 2008 Beijing Olympics will mark the third time that Olympic events will have been held in the territories of two different NOC's: at the 2008 Olympics, equestrian events will be held in Hong Kong (which competes separately from mainland China.)

203 countries currently participate in the Olympics. This is a noticeably higher number than the number of countries belonging to the United Nations, which is only 193. The International Olympic Committee allows nations to compete which do not meet the strict requirements for political sovereignty that many other international organizations demand. As a result, many colonies and dependencies are permitted to host their own Olympic teams and athletes even if such competitors hold the same citizenship as another member nation. Examples of this include territories such as Puerto Rico, Bermuda, and Hong Kong, all of which compete as separate nations despite being legally a part of another country. Also, since 1980, Taiwan has competed under the name "Chinese Taipei", and under a flag specially prepared by the IOC. Prior to that year the People's Republic of China refused to participate in the Games because Taiwan had been competing under the name "Republic of China". The Republic of the Marshall Islands was recognised as a nation by the IOC on February 9, 2006, and may compete in the 2008 Summer Olympics in Beijing.




YOUTH OLYMPICS



The Youth Olympic Games (YOG)are planned to be a "junior" version of the Games, complementing the current "senior" Games,and will feature athletes between the ages of 14 and 18.The idea for such an event was envisioned in 2001 by IOC president Jacques Rogge,and at the 119th IOC session in Guatemala City in July 2007, the IOC approved the Games.

The Youth Games versions will be shorter: the summer version will last at most twelve days; the winter version will last a maximum of nine days. The IOC will allow a maximum of 3,500 athletes and 875 officials to participate at the summer games, while 970 athletes and 580 officials are expected at the winter games.Each participating country would send at least four athletes. The sports contested at these games will be the same as those scheduled for the traditional Games,but with a limited number of disciplines and events, and including some with special appeal to youth. Education and culture are also key components for this Youth edition.

Estimated cost for the game are currently $30 million for the summer and $15–$20 million for winter games.It has been stated the IOC will "foot the bill" for the Youth Games.

The first host city will be Singapore in 2010; the bidding for the first Winter edition in 2012 is underway.


Sunday, February 24, 2008

yes this is me.............in ascii value

ooooo´´´´´´´´´´´´´´´´´´´´´´´´´´´¢$ø$øø¶¶¶¶¶øøøøø$o´´´´´´´´´´
o´ooo´´´´´´´´´´´´´´´´´´´´´´´´o$øøøø¶¶ø¶¶øøø$$ø$$øøo´´´´´´´´´
o´oo¢o´´´´´´´´´´´´´´´´´´´´´´¢¶¶¶¶¶ø$oooo´´´¢$´o$øø¶ø´´´´´´´´
oooooo´´´´´´´´´´´´´´´´´´´´´o¶¶¶¶øoooo´´´´´´o$o´oøøø¶¶o´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´¶¶¶¶$oo´´´´´´´oooo$$$¶¶øø¶¶o´´´´´
´´´´´´´´´´´´´´´´´´´´ooooo´o¶¶ø$oo´´´´oooo´´´´ooo$¶¶øø¶¶o´´´´
´´´´´´´´´´´´´´´´´´´o¶¶$¢o$¶¶øooo´´´´´´´´´´´´´´´´o¢ø¶ø¶¶o´´´´
´´´´´´´´´´´´´´´´´´´o$o´´´´ø¶oooo¢¢¢oo´´´´ooooooo´´o¢ø¶¶o´´´´
´´´´´´´´´´´´´´´´´´´o$o´´´´ø¶oo¢$$ø¶¶$¢oo¢ø¶¶¶ø$$¢o´o¢¶¶o´´o´
´´´´´´´´´´´´´´´´´´´oøø$ooo¶¶oo¢¢¢¢$øø$o´$¶$¢$$¢ooooo$¶¶´´´´´
´´´´´´´´´´´´´´´´´´´oooo¢¢o$øoo$$ø¶$$$o´´¢øø$ø¶ø$$¢oo$¶¶ooooo
´´´´´´´´´´´´´´´´´´´´´´´´´´´$ooooooooo´´´´oo¢¢¢oooooo$øo´´o´o
´´´´´´´´´´´´´´´´´´´´´´´´´´´oooo´´´ooo´´´´oo´´´´´´ooo¢$´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´ooooooooo$$$$$ooo´´´´oooooo´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´ooooooooo¢$$øø¢oooooooooo¢o´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´´oooo$¢oooo¢ooooo¢$¢¢ooo¢o´´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´ooo$$$$¢¢¢$$$$$$$¢ooooo´´´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´o$¢oooo¢$$$$$¢¢$¢¢o¢$o´´´´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´o¢oooooooooooooo¢¢$$´´´´´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´o$oooooooooooo¢$$$¢´´´´´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´oøø¶øø¶øøø$$øøøø$$o´´´´´´´´´´
´´´´´´´´´´´´´´´´´´´´´´´´´´oooo$¢o$ø¶¶¶¶¶¶¶¶¶øø$¢o¢¢´´´´´´´´´
´´´´´´´´´´´´´´´´´´ooo¢¢$¶¶¶¶¶¶¶$oo¢$$øøøøøø$$$¢oooø$´´´´´´´´
´´´´´´´´´´´oo$ø¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶øooo¢$$$$$$$¢¢ooooo¶¶¶$o´´´´´
´´´´´´´´´¢¶¶¶¶¶¶¶¶øø¶¶¶¶øø¶¶ø¶¶¶ø$¢¢¢$¢¢¢ooooo¢¢ø¶¶¶¶¶¶¶ø¢o´
´´´´´´´$¶¶¶øøøøøøøø¶¶øøøø¶¶¶øø¶¶¶¶¶¶¶øøø$$øøø¶¶¶¶¶øøøø¶¶¶¶¶¶

Microprocessor

Microprocessor

What is microprcessor ??

A microprocessor -- also known as a CPU or central processing unit -- is a complete computation engine that is fabricated on a single chip. The first microprocessor was the Intel 4004, introduced in 1971. The 4004 was not very powerful -- all it could do was add and subtract, and it could only do that 4 bits at a time. But it was amazing that everything was on one chip. Prior to the 4004, engineers built computers either from collections of chips or from discrete components (transistors wired one at a time). The 4004 powered one of the first portable electronic calculators.

If you have ever wondered what the microprocessor in your computer is doing, or if you have ever wondered about the differences between types of microprocessors, then read on. In this article, you will learn how fairly simple digital logic techniques allow a computer to do its job, whether its playing a game or spell checking a document!

A microprocessor incorporates the functions of a central processing unit (CPU) on a single integrated circuit (IC). [1] The first microprocessors used a word size of only 4 bits, so that the transistors of its logic circuits would fit onto a single part. One or more microprocessors typically serve as the processing elements of a computer system, embedded system, or handheld device. Microprocessors made possible the advent of the microcomputer in the mid-1970s. Before this period, CPUs were typically made from small-scale integrated circuits containing the equivalent of only a few transistors. By integrating the processor onto one or a very few large-scale integrated circuit packages (containing the equivalent of thousands or millions of discrete transistors), the cost of processing capacity was greatly reduced. Since the advent of the microprocessor in the mid 1970's, it has now become the most prevalent implementation of the CPU, almost completely replacing all other forms. See History of computing hardware for pre-electronic and early electronic computers.

Since the early 1970s, the increase in processing capacity of evolving microprocessors has been known to generally follow Moore's Law. It suggests that the complexity of an integrated circuit, with respect to minimum component cost, doubles every 18 months. In the early 1990s, microprocessor's heat generation (TDP) - due to current leakage - emerged as a leading developmental constraint[2]. From their humble beginnings as the drivers for calculators, the continued increase in processing capacity has led to the dominance of microprocessors over every other form of computer; every system from the largest mainframes to the smallest handheld computers now uses a microprocessor at its core.

Structure.

Like any IC, a microprocessor is made of transistors, capacitors (qq.v.), and resistors connected by narrow patterned lines of metal called interconnects. A microprocessor may incorporate as few as 1000 or as many as several million transistors on its single chip. The components are combined into a number of more complex functional units. Programming software instructs the microprocessor where to find the data and what operation to perform (see COMPUTER OPERATING SYSTEM,). Additional software programs called compilers and assemblers are often needed to translate the computer program into a form that the microprocessor can understand. After the operation is complete, the microprocessor stores the result or sends it to its output terminals for transfer to another part of the system.

different types of microprocessor that were made ????

First types

Three projects arguably delivered a complete microprocessor at about the same time, namely Intel's 4004, the Texas Instruments (TI) TMS 1000, and Garrett AiResearch's Central Air Data Computer (CADC).

In 1968, Garrett AiResearch, with designer Ray Holt and Steve Geller, were invited to produce a digital computer to compete with electromechanical systems then under development for the main flight control computer in the US Navy's new F-14 Tomcat fighter. The design was complete by 1970, and used a MOS-based chipset as the core CPU. The design was significantly (approximately 20 times) smaller and much more reliable than the mechanical systems it competed against, and was used in all of the early Tomcat models. This system contained a "a 20-bit, pipelined, parallel multi-microprocessor". However, the system was considered so advanced that the Navy refused to allow publication of the design until 1997. For this reason the CADC, and the MP944 chipset it used, are fairly unknown even today. (see First Microprocessor Chip Set.) TI developed the 4-bit TMS 1000, and stressed pre-programmed embedded applications, introducing a version called the TMS1802NC on September 17, 1971, which implemented a calculator on a chip. The Intel chip was the 4-bit 4004, released on November 15, 1971, developed by Federico Faggin and Marcian Hoff.

Notable 8-bit designs

The 4004 was later followed in 1972 by the 8008, the world's first 8-bit microprocessor. These processors are the precursors to the very successful Intel 8080 (1974), Zilog Z80 (1976), and derivative Intel 8-bit processors. The competing Motorola 6800 was released August 1974. Its architecture was cloned and improved in the MOS Technology 6502 in 1975, rivaling the Z80 in popularity during the 1980s.

Both the Z80 and 6502 concentrated on low overall cost, through a combination of small packaging, simple computer bus requirements, and the inclusion of circuitry that would normally have to be provided in a separate chip (for instance, the Z80 included a memory controller). It was these features that allowed the home computer "revolution" to take off in the early 1980s, eventually delivering such inexpensive machines as the Sinclair ZX-81, which sold for US$99.

The Western Design Center, Inc. (WDC) introduced the CMOS 65C02 in 1982 and licensed the design to several companies which became the core of the Apple IIc and IIe personal computers, medical implantable grade pacemakers and defibrilators, automotive, industrial and consumer devices.WDC pioneered the licensing of microprocessor technology which was later followed by ARM and other microprocessor Intellectual Property (IP) providers in the 1990’s.

Motorola trumped the entire 8-bit world by introducing the MC6809 in 1978, arguably one of the most powerful, orthogonal, and clean 8-bit microprocessor designs ever fielded – and also one of the most complex hard-wired logic designs that ever made it into production for any microprocessor. Microcoding replaced hardwired logic at about this point in time for all designs more powerful than the MC6809 – specifically because the design requirements were getting too complex for hardwired logic.

Another early 8-bit microprocessor was the Signetics 2650, which enjoyed a brief flurry of interest due to its innovative and powerful instruction set architecture.

A seminal microprocessor in the world of spaceflight was RCA's RCA 1802 (aka CDP1802, RCA COSMAC) (introduced in 1976) which was used in NASA's Voyager and Viking spaceprobes of the 1970s, and onboard the Galileo probe to Jupiter (launched 1989, arrived 1995). RCA COSMAC was the first to implement C-MOS technology. The CDP1802 was used because it could be run at very low power,* and because its production process (Silicon on Sapphire) ensured much better protection against cosmic radiation and electrostatic discharges than that of any other processor of the era. Thus, the 1802 is said to be the first radiation-hardened microprocessor.

16-bit designs

The first multi-chip 16-bit microprocessor was the National Semiconductor IMP-16, introduced in early 1973. An 8-bit version of the chipset was introduced in 1974 as the IMP-8. During the same year, National introduced the first 16-bit single-chip microprocessor, the National Semiconductor PACE, which was later followed by an NMOS version, the INS8900.

Other early multi-chip 16-bit microprocessors include one used by Digital Equipment Corporation (DEC) in the LSI-11 OEM board set and the packaged PDP 11/03 minicomputer, and the Fairchild Semiconductor MicroFlame 9440, both of which were introduced in the 1975 to 1976 timeframe.

The first single-chip 16-bit microprocessor was TI's TMS 9900, which was also compatible with their TI-990 line of minicomputers. The 9900 was used in the TI 990/4 minicomputer, the TI-99/4A home computer, and the TM990 line of OEM microcomputer boards. The chip was packaged in a large ceramic 64-pin DIP package, while most 8-bit microprocessors such as the Intel 8080 used the more common, smaller, and less expensive plastic 40-pin DIP. A follow-on chip, the TMS 9980, was designed to compete with the Intel 8080, had the full TI 990 16-bit instruction set, used a plastic 40-pin package, moved data 8 bits at a time, but could only address 16 KB. A third chip, the TMS 9995, was a new design. The family later expanded to include the 99105 and 99110.

The Western Design Center, Inc. (WDC) introduced the CMOS 65816 16-bit upgrade of the WDC CMOS 65C02 in 1984. The 65816 16-bit microprocessor was the core of the Apple IIgs and later the Super Nintendo Entertainment System, making it one of the most popular 16-bit designs of all time.

Intel followed a different path, having no minicomputers to emulate, and instead "upsized" their 8080 design into the 16-bit Intel 8086, the first member of the x86 family which powers most modern PC type computers. Intel introduced the 8086 as a cost effective way of porting software from the 8080 lines, and succeeded in winning much business on that premise. The 8088, a version of the 8086 that used an external 8-bit data bus, was the microprocessor in the first IBM PC, the model 5150. Following up their 8086 and 8088, Intel released the 80186, 80286 and, in 1985, the 32-bit 80386, cementing their PC market dominance with the processor family's backwards compatibility.

The integrated microprocessor memory management unit (MMU) was developed by Childs et al. of Intel,

32-bit designs

16-bit designs were in the market only briefly when full 32-bit implementations started to appear.

The most significant of the 32-bit designs is the MC68000, introduced in 1979. The 68K, as it was widely known, had 32-bit registers but used 16-bit internal data paths, and a 16-bit external data bus to reduce pin count, and supported only 24-bit addresses. Motorola generally described it as a 16-bit processor, though it clearly has 32-bit architecture. The combination of high speed, large (16 megabytes (2^24)) memory space and fairly low costs made it the most popular CPU design of its class. The Apple Lisa and Macintosh designs made use of the 68000, as did a host of other designs in the mid-1980s, including the Atari ST and Commodore Amiga.

The world's first single-chip fully-32-bit microprocessor, with 32-bit data paths, 32-bit buses, and 32-bit addresses, was the AT&T Bell Labs BELLMAC-32A, with first samples in 1980, and general production in 1982 (See this bibliographic reference and this general reference). After the divestiture of AT&T in 1984, it was renamed the WE 32000 (WE for Western Electric), and had two follow-on generations, the WE 32100 and WE 32200. These microprocessors were used in the AT&T 3B5 and 3B15 minicomputers; in the 3B2, the world's first desktop supermicrocomputer; in the "Companion", the world's first 32-bit laptop computer; and in "Alexander", the world's first book-sized supermicrocomputer, featuring ROM-pack memory cartridges similar to today's gaming consoles. All these systems ran the UNIX System V operating system.

Intel's first 32-bit microprocessor was the iAPX 432, which was introduced in 1981 but was not a commercial success. It had an advanced capability-based object-oriented architecture, but poor performance compared to other competing architectures such as the Motorola 68000.

Motorola's success with the 68000 led to the MC68010, which added virtual memory support. The MC68020, introduced in 1985 added full 32-bit data and address busses. The 68020 became hugely popular in the Unix supermicrocomputer market, and many small companies (e.g., Altos, Charles River Data Systems) produced desktop-size systems. Following this with the MC68030, which added the MMU into the chip, the 68K family became the processor for everything that wasn't running DOS. The continued success led to the MC68040, which included an FPU for better math performance. A 68050 failed to achieve its performance goals and was not released, and the follow-up MC68060 was released into a market saturated by much faster RISC designs. The 68K family faded from the desktop in the early 1990s.

Other large companies designed the 68020 and follow-ons into embedded equipment. At one point, there were more 68020s in embedded equipment than there were Intel Pentiums in PCs (See this webpage for this embedded usage information). The ColdFire processor cores are derivatives of the venerable 68020.

During this time (early to mid 1980s), National Semiconductor introduced a very similar 16-bit pinout, 32-bit internal microprocessor called the NS 16032 (later renamed 32016), the full 32-bit version named the NS 32032, and a line of 32-bit industrial OEM microcomputers. By the mid-1980s, Sequent introduced the first symmetric multiprocessor (SMP) server-class computer using the NS 32032. This was one of the design's few wins, and it disappeared in the late 1980s.

The MIPS R2000 (1984) and R3000 (1989) were highly successful 32-bit RISC microprocessors. They were used in high-end workstations and servers by SGI, among others.

Other designs included the interesting Zilog Z8000, which arrived too late to market to stand a chance and disappeared quickly.

In the late 1980s, "microprocessor wars" started killing off some of the microprocessors. Apparently, with only one major design win, Sequent, the NS 32032 just faded out of existence, and Sequent switched to Intel microprocessors.

From 1985 to 2003, the 32-bit x86 architectures became increasingly dominant in desktop, laptop, and server markets, and these microprocessors became faster and more capable. Intel had licensed early versions of the architecture to other companies, but declined to license the Pentium, so AMD and Cyrix built later versions of the architecture based on their own designs. During this span, these processors increased in complexity (transistor count) and capability (instructions/second) by at least a factor of 1000. Intel's Pentium line is probably the most famous and recognizable 32-bit processor model, at least with the public at large.

64-bit designs in personal computers

While 64-bit microprocessor designs have been in use in several markets since the early 1990s, the early 2000s saw the introduction of 64-bit microchips targeted at the PC market.

With AMD's introduction of the first 64-bit IA-32 backwards-compatible architecture, AMD64, in September 2003, followed by Intel's own x86-64 chips, the 64-bit desktop era began. Both processors can run 32-bit legacy apps as well as the new 64-bit software. With 64-bit Windows XP, Windows Vista x64, Linux and Mac OS X (to a certain extent) that run 64-bit native, the software too is geared to utilize the full power of such processors. The move to 64 bits is more than just an increase in register size from the IA-32 as it also doubles the number of general-purpose registers for the aging CISC designs.

The move to 64 bits by PowerPC processors had been intended since the processors' design in the early 90s and was not a major cause of incompatibility. Existing integer registers are extended as are all related data pathways, but, as was the case with IA-32, both floating point and vector units had been operating at or above 64 bits for several years. Unlike what happened with IA-32 was extended to x86-64, no new general purpose registers were added in 64-bit PowerPC, so any performance gained when using the 64-bit mode for applications making no use of the larger address space is minimal.

Multicore designs

A different approach to improving a computer's performance is to add extra processors, as in symmetric multiprocessing designs which have been popular in servers and workstations since the early 1990s. Keeping up with Moore's Law is becoming increasingly challenging as chip-making technologies approach the physical limits of the technology.

In response, the microprocessor manufacturers look for other ways to improve performance, in order to hold on to the momentum of constant upgrades in the market.

A multi-core processor is simply a single chip containing more than one microprocessor core, effectively multiplying the potential performance with the number of cores (as long as the operating system and software is designed to take advantage of more than one processor). Some components, such as bus interface and second level cache, may be shared between cores. Because the cores are physically very close they interface at much faster clock speeds compared to discrete multiprocessor systems, improving overall system performance.

In 2005, the first mass-market dual-core processors were announced and as of 2007 dual-core processors are widely used in servers, workstations and PCs while quad-core processors are now available for high-end applications in both the home and professional environments.

Sun Microsystems has released the Niagara and Niagara 2 chips, both of which feature an eight-core design. The Niagara 2 supports more threads and operates at 1.6 GHz.

RISC

In the mid-1980s to early-1990s, a crop of new high-performance RISC (reduced instruction set computer) microprocessors appeared, which were initially used in special purpose machines and Unix workstations, but then gained wide acceptance in other roles.

The first commercial design was released by MIPS Technologies, the 32-bit R2000 (the R1000 was not released). The R3000 made the design truly practical, and the R4000 introduced the world's first 64-bit design. Competing projects would result in the IBM POWER and Sun SPARC systems, respectively. Soon every major vendor was releasing a RISC design, including the AT&T CRISP, AMD 29000, Intel i860 and Intel i960, Motorola 88000, DEC Alpha and the HP-PA.

Market forces have "weeded out" many of these designs, with almost no desktop or laptop RISC processors and with the SPARC being used in Sun designs only. MIPS is primarily used in embedded systems, notably in Cisco routers. The rest of the original crop of designs have disappeared. Other companies have attacked niches in the market, notably ARM, originally intended for home computer use but since focussed on the embedded processor market. Today RISC designs based on the MIPS, ARM or PowerPC core power the vast majority of computing devices.

As of 2007, two 64-bit RISC architectures are still produced in volume: SPARC and Power Architecture. The RISC-like Itanium is produced in smaller quantities. The vast majority of 64-bit microprocessors are now x86-64 CISC designs from AMD and Intel.

Special-purpose designs

A 4-bit, 2 register, six assembly language instruction computer made entirely of 74-series chips.

Though the term "microprocessor" has traditionally referred to a single- or multi-chip CPU or system-on-a-chip (SoC), several types of specialized processing devices have followed from the technology. The most common examples are microcontrollers, digital signal processors (DSP) and graphics processing units (GPU). Many examples of these are either not programmable, or have limited programming facilities. For example, in general GPUs through the 1990s were mostly non-programmable and have only recently gained limited facilities like programmable vertex shaders. There is no universal consensus on what defines a "microprocessor", but it is usually safe to assume that the term refers to a general-purpose CPU of some sort and not a special-purpose processor unless specifically noted.

The RCA 1802 had what is called a static design, meaning that the clock frequency could be made arbitrarily low, even to 0 Hz, a total stop condition. This let the Voyager/Viking/Galileo spacecraft use minimum electric power for long uneventful stretches of a voyage. Timers and/or sensors would awaken/speed up the processor in time for important tasks, such as navigation updates, attitude control, data acquisition, and radio communication.

Microprocessor Progression:

The Intel 8080 was the first microprocessor in a home computer.

The first microprocessor to make it into a home computer was the Intel 8080, a complete 8-bit computer on one chip, introduced in 1974. The first microprocessor to make a real splash in the market was the Intel 8088, introduced in 1979 and incorporated into the IBM PC (which first appeared around 1982). If you are familiar with the PC market and its history, you know that the PC market moved from the 8088 to the 80286 to the 80386 to the 80486 to the Pentium to the Pentium II to the Pentium III to the Pentium 4. All of these microprocessors are made by Intel and all of them are improvements on the basic design of the 8088. The Pentium 4 can execute any piece of code that ran on the original 8088, but it does it about 5,000 times faster!

Semiconductors have been a great business: the equivalent of 14% compound annual growth rate worldwide for the last 40 years. No other industry matches that. The integrated circuit, Moore's law, and the personal computer have been a great beginning for the semiconductor industry. With the low-cost PC and low-cost transistor, however, we're now at the end of the beginning of semiconductor development.

The market is shifting from tethered (plugged into the wall for power) to untethered systems. As it shifts, the engineering goal changes from cost performance to cost-performance-per-watt. But today's microprocessors and digital signal processors cannot satisfy the combined performance and power requirements of untethered systems. ASICs are too expensive. Programmable logic devices are too slow and too expensive. Faster transistors burn less active power, but their leakage currents rise by an order of magnitude in two process shrinks—bad for untethered systems.

In other words, we can't reach the cost-performance-per-watt goals of untethered systems by just shrinking the components we have.

It seems a situation with no solution, but the industry is about to emerge from a 30-year stall in the improvement of design methods that was caused by our preoccupation with the microprocessor. The answer is reconfigurable systems.

The beginning

The 10 years of progress brought us the microprocessor, which raised the engineer's productivity by giving up the efficiency of customization for the convenience of programmed implementation. In other words, microprocessors were cheaper and easier to use than ASICs. The first microprocessors were hidden ("embedded") in systems where they mimicked the behavior of what would otherwise have been custom logic.

During these 10 years, microprocessor unit volumes have grown to billions of units per year. Problem solving was once done in hardware design, but the use of microprocessor-based design has become so common that programming is now synonymous with problem solving. The microprocessor, with its memory and peripheral chips, is the workhorse of systems.

From 1971 to 1981, 10 years of microprocessor progress made the personal computer possible. In recent years, PCs have been consuming almost 40% of all the dollar value of all semiconductor components. In other words, the PC sector makes up 40% of all the semiconductor business. The microprocessor has given our industry much success.

End of the beginning

Demand for PCs and leading-edge performance was so strong for so long that we came to believe that Moore's law created the industry's success. But Moore's law is just an aggressive supply curve. We forgot that demand is a force of its own. Demand has been so strong that we've assumed it will be infinite. It isn't, however. The law of supply and demand is at work and has lead to the "value PC."

Microprocessor Logic

Intel Pentium 4 processor

To understand how a microprocessor works, it is helpful to look inside and learn about the logic used to create one. In the process you can also learn about assembly language -- the native language of a microprocessor -- and many of the things that engineers can do to boost the speed of a processor.

A microprocessor executes a collection of machine instructions that tell the processor what to do. Based on the instructions, a microprocessor does three basic things:

* Using its ALU (Arithmetic/Logic Unit), a microprocessor can perform mathematical operations like addition, subtraction, multiplication and division. Modern microprocessors contain complete floating point processors that can perform extremely sophisticated operations on large floating point numbers.

* A microprocessor can move data from one memory location to another.

* A microprocessor can make decisions and jump to a new set of instructions based on those decisions.

There may be very sophisticated things that a microprocessor does, but those are its three basic activities. The following diagram shows an extremely simple microprocessor capable of doing those three things

:

This is about as simple as a microprocessor gets. This microprocessor has:

* An address bus (that may be 8, 16 or 32 bits wide) that sends an address to memory

* A data bus (that may be 8, 16 or 32 bits wide) that can send data to memory or receive data from memory

* An RD (read) and WR (write) line to tell the memory whether it wants to set or get the addressed location

* A clock line that lets a clock pulse sequence the processor

* A reset line that resets the program counter to zero (or whatever) and restarts execution

Let's assume that both the address and data buses are 8 bits wide in this example.

Here are the components of this simple microprocessor:

* Registers A, B and C are simply latches made out of flip-flops. (See the section on "edge-triggered latches" in How Boolean Logic Works for details.)

* The address latch is just like registers A, B and C.

* The program counter is a latch with the extra ability to increment by 1 when told to do so, and also to reset to zero when told to do so.

* The ALU could be as simple as an 8-bit adder (see the section on adders in How Boolean Logic Works for details), or it might be able to add, subtract, multiply and divide 8-bit values. Let's assume the latter here.

* The test register is a special latch that can hold values from comparisons performed in the ALU. An ALU can normally compare two numbers and determine if they are equal, if one is greater than the other, etc. The test register can also normally hold a carry bit from the last stage of the adder. It stores these values in flip-flops and then the instruction decoder can use the values to make decisions.

* There are six boxes marked "3-State" in the diagram. These are tri-state buffers. A tri-state buffer can pass a 1, a 0 or it can essentially disconnect its output (imagine a switch that totally disconnects the output line from the wire that the output is heading toward). A tri-state buffer allows multiple outputs to connect to a wire, but only one of them to actually drive a 1 or a 0 onto the line.

* The instruction register and instruction decoder are responsible for controlling all of the other components.

Helpful Articles

If you are new to digital logic, you may find the following articles helpful in understanding this section:

# How Bytes and Bits Work

# How Boolean Logic Works

# How Electronic Gates Work

Although they are not shown in this diagram, there would be control lines from the instruction decoder that would:

* Tell the A register to latch the value currently on the data bus

* Tell the B register to latch the value currently on the data bus

* Tell the C register to latch the value currently output by the ALU

* Tell the program counter register to latch the value currently on the data bus

* Tell the address register to latch the value currently on the data bus

* Tell the instruction register to latch the value currently on the data bus

* Tell the program counter to increment

* Tell the program counter to reset to zero

* Activate any of the six tri-state buffers (six separate lines)

* Tell the ALU what operation to perform

* Tell the test register to latch the ALU's test bits

* Activate the RD line

* Activate the WR line

Coming into the instruction decoder are the bits from the test register and the clock line, as well as the bits from the instruction register.

Microprocessor Memory

The previous section talked about the address and data buses, as well as the RD and WR lines. These buses and lines connect either to RAM or ROM -- generally both. In our sample microprocessor, we have an address bus 8 bits wide and a data bus 8 bits wide. That means that the microprocessor can address (28) 256 bytes of memory, and it can read or write 8 bits of the memory at a time. Let's assume that this simple microprocessor has 128 bytes of ROM starting at address 0 and 128 bytes of RAM starting at address 128.

ROM chip

ROM stands for read-only memory. A ROM chip is programmed with a permanent collection of pre-set bytes. The address bus tells the ROM chip which byte to get and place on the data bus. When the RD line changes state, the ROM chip presents the selected byte onto the data bus.

RAM chip

RAM stands for random-access memory. RAM contains bytes of information, and the microprocessor can read or write to those bytes depending on whether the RD or WR line is signaled. One problem with today's RAM chips is that they forget everything once the power goes off. That is why the computer needs ROM.

By the way, nearly all computers contain some amount of ROM (it is possible to create a simple computer that contains no RAM -- many microcontrollers do this by placing a handful of RAM bytes on the processor chip itself -- but generally impossible to create one that contains no ROM). On a PC, the ROM is called the BIOS (Basic Input/Output System). When the microprocessor starts, it begins executing instructions it finds in the BIOS. The BIOS instructions do things like test the hardware in the machine, and then it goes to the hard disk to fetch the boot sector (see How Hard Disks Work for details). This boot sector is another small program, and the BIOS stores it in RAM after reading it off the disk. The microprocessor then begins executing the boot sector's instructions from RAM. The boot sector program will tell the microprocessor to fetch something else from the hard disk into RAM, which the microprocessor then executes, and so on. This is how the microprocessor loads and executes the entire operating system.

Microprocessor Instructions

Even the incredibly simple microprocessor shown in the previous example will have a fairly large set of instructions that it can perform. The collection of instructions is implemented as bit patterns, each one of which has a different meaning when loaded into the instruction register. Humans are not particularly good at remembering bit patterns, so a set of short words are defined to represent the different bit patterns. This collection of words is called the assembly language of the processor. An assembler can translate the words into their bit patterns very easily, and then the output of the assembler is placed in memory for the microprocessor to execute.

Here's the set of assembly language instructions that the designer might create for the simple microprocessor in our example:

* LOADA mem - Load register A from memory address

* LOADB mem - Load register B from memory address

* CONB con - Load a constant value into register B

* SAVEB mem - Save register B to memory address

* SAVEC mem - Save register C to memory address

* ADD - Add A and B and store the result in C

* SUB - Subtract A and B and store the result in C

* MUL - Multiply A and B and store the result in C

* DIV - Divide A and B and store the result in C

* COM - Compare A and B and store the result in test

* JUMP addr - Jump to an address

* JEQ addr - Jump, if equal, to address

* JNEQ addr - Jump, if not equal, to address

* JG addr - Jump, if greater than, to address

* JGE addr - Jump, if greater than or equal, to address

* JL addr - Jump, if less than, to address

* JLE addr - Jump, if less than or equal, to address

* STOP - Stop execution

If you have read How C Programming Works, then you know that this simple piece of C code will calculate the factorial of 5 (where the factorial of 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):

a=1;

f=1;

while (a <= 5)

{

f = f * a;

a = a + 1;

}

At the end of the program's execution, the variable f contains the factorial of 5.

Assembly Language

A C compiler translates this C code into assembly language. Assuming that RAM starts at address 128 in this processor, and ROM (which contains the assembly language program) starts at address 0, then for our simple microprocessor the assembly language might look like this:

// Assume a is at address 128

// Assume F is at address 129

0 CONB 1 // a=1;

1 SAVEB 128

2 CONB 1 // f=1;

3 SAVEB 129

4 LOADA 128 // if a > 5 the jump to 17

5 CONB 5

6 COM

7 JG 17

8 LOADA 129 // f=f*a;

9 LOADB 128

10 MUL

11 SAVEC 129

12 LOADA 128 // a=a+1;

13 CONB 1

14 ADD

15 SAVEC 128

16 JUMP 4 // loop back to if

17 STOP

ROM

So now the question is, "How do all of these instructions look in ROM?" Each of these assembly language instructions must be represented by a binary number. For the sake of simplicity, let's assume each assembly language instruction is given a unique number, like this:

* LOADA - 1

* LOADB - 2

* CONB - 3

* SAVEB - 4

* SAVEC mem - 5

* ADD - 6

* SUB - 7

* MUL - 8

* DIV - 9

* COM - 10

* JUMP addr - 11

* JEQ addr - 12

* JNEQ addr - 13

* JG addr - 14

* JGE addr - 15

* JL addr - 16

* JLE addr - 17

* STOP - 18

The numbers are known as opcodes. In ROM, our little program would look like this:

// Assume a is at address 128

// Assume F is at address 129

Addr opcode/value

0 3 // CONB 1

1 1

2 4 // SAVEB 128

3 128

4 3 // CONB 1

5 1

6 4 // SAVEB 129

7 129

8 1 // LOADA 128

9 128

10 3 // CONB 5

11 5

12 10 // COM

13 14 // JG 17

14 31

15 1 // LOADA 129

16 129

17 2 // LOADB 128

18 128

19 8 // MUL

20 5 // SAVEC 129

21 129

22 1 // LOADA 128

23 128

24 3 // CONB 1

25 1

26 6 // ADD

27 5 // SAVEC 128

28 128

29 11 // JUMP 4

30 8

31 18 // STOP

You can see that seven lines of C code became 18 lines of assembly language, and that became 32 bytes in ROM.

Decoding

The instruction decoder needs to turn each of the opcodes into a set of signals that drive the different components inside the microprocessor. Let's take the ADD instruction as an example and look at what it needs to do:

1. During the first clock cycle, we need to actually load the instruction. Therefore the instruction decoder needs to:

* activate the tri-state buffer for the program counter

* activate the RD line

* activate the data-in tri-state buffer

* latch the instruction into the instruction register

2. During the second clock cycle, the ADD instruction is decoded. It needs to do very little:

* set the operation of the ALU to addition

* latch the output of the ALU into the C register

3. During the third clock cycle, the program counter is incremented (in theory this could be overlapped into the second clock cycle).

Every instruction can be broken down as a set of sequenced operations like these that manipulate the components of the microprocessor in the proper order. Some instructions, like this ADD instruction, might take two or three clock cycles. Others might take five or six clock cycles.

how microprocessor works

Today's microprocessors are the brains of your personal computer. Here on this tiny silicon chip are millions of switches and pathways that help your computer make important decisions and perform helpful tasks. And microprocessors don't just think for computers-you might find a processor in many other everyday items like your telephone or car. To help you understand how the microprocessor does its job, you will go step by step through a simple task on the chip. For the purpose of this demonstration, you will add two numbers together while watching the microprocessor do its magic. You will complete this task in four easy steps and you may review each step as many times as you want. Remember, each part of the processor has a special task.

A

Pressing the 2 key alerts the microprocessor and signals the Prefetch Unit to ask the computer's main memory for a specific instruction on the new data since there is nothing about it in the Instruction Cache.

B

The new data instruction comes into the microprocessor through the Bus Unit from the computer's main memory and gets stored in the Instruction Cache, where it is assigned a code "2=X".

C

The Prefetch Unit then asks the Instruction Cache for a copy of the code "2=X" and sends it to the Decode Unit for further processing.

Step 1

D

In the Decode Unit the instruction "2=X" is translated or decoded into a string of binary code that is sent off to the Control Unit and the Data Cache to tell them what to do with the instruction.

E

Because the Decode Unit figured out that the number 2 was to be stored for the future in the Data Cache, the Control Unit now performs the instruction for "2=X." This causes the number 2 to be sent to an address in the Data Cache called "X," where you see it waiting for further orders.

Step 2: Push Key 3

A

When you press the 3 key, the Prefetch Unit asks the computer's main memory and the Instruction Cache for specific instructions on this new data. No matching instruction is found in the Instruction Cache so the instruction will come from the main memory.

B

Similar to "2=X," the new data instructions come into the microprocessor from the computer's main memory and get stored in an Instruction Cache address where it is assigned the code "3=Y."

C

The Prefetch Unit then pulls a copy of the code "3=Y" from the Instruction Cache and sends it to the Decode Unit for further processing.

Step 2

D

In the Decode Unit the instruction "3=Y" is translated or decoded into a string of binary code that is sent off to the Control Unit and the Data Cache to tell them what to do with the instruction.

E

Because the Decode Unit figured out that the number 3 was to be stored for the future in the Data Cache, the Control Unit now performs the instruction for "3=Y." This causes the number 3 to be sent to an address in the Data Cache called "Y," where it waits like the "2" for further orders.

Step 3: Push Key +

A

When you press the "+" key the Prefetch Unit asks the computer's main memory and Instruction Cache for instructions on the new data, which must be fetched from main memory.

B

Because this is a new instruction, the "+" comes into the microprocessor from the computer's main memory and gets stored at an address in the Instruction Cache as a code "X+Y=Z," showing that the act of adding is going to take place.

C

The Prefetch Unit then asks the Instruction Cache for a copy of the code "X+Y=Z" and sends it to the Decode Unit for further processing.

Step 3

D

In the Decode Unit, "X+Y=Z" is translated or decoded and sent off to the Control Unit and the Data Cache to tell them what to do with the instruction-also the ALU is given a message that an ADD function will be performed.

E

In the Control Unit, the code is broken down and the ADD command is sent to the ALU where "X" and "Y" are added together after they have been sent up from the Data Cache. The ALU then talks to its buddy, the Registers, and sends the "5" over to be stored in one of the address locations there.

Step 4: Push Key =

A

When you press the "=" key, the Prefetch Unit once again checks the Instruction Cache for an instruction for the new data, which it doesn't find.

B

The instruction for "=" comes into the microprocessor from the computer's main memory through the Bus Unit and gets stored in an Instruction Cache address as the code "Print Z."

C

The Prefetch Unit then asks the Instruction Cache for a copy of the code "Print Z" and sends it to the Decode Unit for further processing.

D

In the Decode Unit, the instruction "Print Z" is translated or decoded into a string of binary code that is sent off to the Control Unit to tell it what to do with the instruction.

Step 4

E

Now that the value of Z has been computed, and is residing in register file entry #5, the print command has only to retrieve register 5's contents and display them to a screen so you can finally see the sum of 2+3. The microprocessor has completed its task for.

Microprocessor Performance and Trends

The number of transistors available has a huge effect on the performance of a processor. As seen earlier, a typical instruction in a processor like an 8088 took 15 clock cycles to execute. Because of the design of the multiplier, it took approximately 80 cycles just to do one 16-bit multiplication on the 8088. With more transistors, much more powerful multipliers capable of single-cycle speeds become possible.

More transistors also allow for a technology called pipelining. In a pipelined architecture, instruction execution overlaps. So even though it might take five clock cycles to execute each instruction, there can be five instructions in various stages of execution simultaneously. That way it looks like one instruction completes every clock cycle.

One measure of the computing power of a microprocessor is its clock speed, measured in millions of cycles per second (MHz). It usually takes from one to seven cycles of a microprocessor’s internal clock to fully process an instruction. The faster the internal clock, the more instructions can be processed per unit of time. For the microprocessors in laptop and desktop computers, clock speeds are usually greater than 100 MHz. The fastest microprocessors can run at more than 500 MHz.

Another measure of performance is the number of instructions that can be processed per second, referred to as MIPS, for millions of instructions per second. The MIPS rating of a microprocessor depends on both the clock speed and the number of instructions that can be executed per clock cycle. Simple microprocessors can execute a maximum of one instruction per clock cycle. Advanced microprocessors can execute up to six or eight instructions per clock cycle. The relationship between clock speed and MIPS is not straightforward, however, because some instructions may take more than one clock cycle to execute, depending on the program. The MIPS value may therefore be less than the product of clock speed and the number of instructions that can be executed per cycle.

Still another indication of microprocessor speed is the length of a “word” it can accept, measured as the number of “bits” of information that can be transferred into it simultaneously. Long words allow the microprocessor to handle data and perform complex tasks more efficiently. The number of bits per word has been steadily increasing with the growth of circuit technology. Thus 4-, 8-, 16-, 32-, and 64-bit microprocessors and microcontrollers are now common. Most personal computers use 32-bit microprocessors. More powerful computers may use 64-bit chips. The 4-, 8-, or 16-bit devices are usually employed in simple embedded applications, such as microwave ovens, electric shavers, and televisions.

Many modern processors have multiple instruction decoders, each with its own pipeline. This allows for multiple instruction streams, which means that more than one instruction can complete during each clock cycle. This technique can be quite complex to implement, so it takes lots of transistors.

Trends

The trend in processor design has primarily been toward full 32-bit ALUs with fast floating point processors built in and pipelined execution with multiple instruction streams. The newest thing in processor design is 64-bit ALUs, and people are expected to have these processors in their home PCs in the next decade. There has also been a tendency toward special instructions (like the MMX instructions) that make certain operations particularly efficient, and the addition of hardware virtual memory support and L1 caching on the processor chip. All of these trends push up the transistor count, leading to the multi-million transistor powerhouses available today. These processors can execute about one billion instructions per second!