Aarushhh/wikipedia-simple-splitted huggingface dataset:
Chelsea Victoria Clinton (born February 27, 1980) is the only child of Bill Clinton, former President of the United States, and his wife, former Secretary of State, Hillary Clinton.

Early life and education  
Clinton was born at Baptist Health Medical Center in Little Rock, Arkansas. She moved in to The White House when she was twelve years old when her father, Bill Clinton, became president. She has helped her mother, Hillary Clinton, many times by campaigning for people to elect her mother as the first woman President of the United States.

She has an undergraduate degree from Stanford University, and master's degrees from University of Oxford and Columbia University. She also has a Doctor of Philosophy in international relations from the University of Oxford in 2014..

Clinton is vegetarian.
Personal life 
On November 30, 2009, it was announced that Clinton was engaged to Marc Mezvinsky, an investment banker. They married on July 31, 2010. On November 14, 2011, Clinton announced joining as a "special correspondent" for NBC News.

In September 2014, Clinton gave birth to a daughter Charlotte. She was gave birth to an eldest son Aiden in June 2016.

Her youngest son, Jasper, was born in New York in July 2019.

References 

Bill Clinton
Children of Presidents of the United States
Writers from Little Rock, Arkansas
1980 births
Living people
Hillary Rodham Clinton
Crich ( kryech)  is a village in the English county of Derbyshire. It is the home of the National Tramway Museum in the Crich Tramway Village.

Memorial Tower
At the top of Crich Hill is a tower. The tower was built to remember members of the regiment who died in battle, particularly in World War I.

The tower was built in 1923 on the site of an older tower called Crich Stand. The Memorial Tower is the end of an annual pilgrimage on the first Sunday in July. It is  above sea level. The tower has 52 steps to the top. From the top of the tower, eight counties and landmarks such as the Humber Bridge and Lincoln Cathedral can be seen.

History
Crich is mentioned in 1009 by Ethelred the Unready when he gives away Weston-on-Trent to his minister.

A workhouse opened in 1734 and had 40 people. The workhouse accepted poor people from places, including Melbourne, Pentrich, Willington, Mercaston and Denby.
The television series Peak Practice and the 2007 movie "And When Did You Last See Your Father" were filmed in Crich.

Related pages
National Tramway Museum (Crich Tramway Village)

References

Other websites 

Crich village website 

Villages in Derbyshire
The Edwardian era in the United Kingdom is the period which included the reign of King Edward VII (1901–1910). The "Edwardian era" usually includes some years before and after his reign, up to the First World War.

History 
King Edward VII was very different from Queen Victoria. Victoria had become almost a recluse after her husband died. On the other hand, Edward was an important leader. Edward and his fashionable friends followed the art and fashions of other European countries. Edward enjoyed travelling, and his visits to Paris improved relations between the two countries.

The United Kingdom was a powerful nation in the nineteenth century. There was progress in British science and industry at this time. The British Empire was large. The Royal Navy was the most powerful navy in the world at that time.
The prosperity of the Edwardian era was built on trade and manufacturing. These were the main industries at the time:
Mining, especially coal, the main source of power
Manufacture of iron and steel
Shipbuilding
Manufacturing cloth and other fabrics from cotton and wool
Manufacture household goods and equipment (such as ceramics and cutlery)

The extent of this trade was big. Railways all over the world were built by the British. They were equipped with machinery made in Britain. Germany also became a powerful nation, and the United States was already becoming an industrial giant. By Edward VII's time. Both of these countries were as industrially advanced.

Most British people in the "Edwardian era" were sure that British progress would continue. They were certain that the United Kingdom would continue to be very powerful. The era came to an unexpected end with the First World War. Economically and in human terms, this was a disaster for most of the European nations.
There was a lot of inequality in society in the United Kingdom in the Edwardian era, as there always had been. Rich people and poor people had very different living standards at this time. 
Most adult men could vote, but women could not. Suffragettes were fighting for the right to vote.

References

Further reading

Other websites
The Edwardian Country House (Channel 4 TV series, very evocative of the period)
Home Decor from the Edwardian Age (from the BBC)
Edwardian Promenade (Website devoted to the Edwardian era)

1900s in the United Kingdom
1910s in the United Kingdom
Objectivity is a philosophical opinion or method that believes that reality exists outside of the human mind. People can separate their own ideas and opinions from the observations they make. Objective observations are true no matter who makes the observation. Being objective helps people focus on things that everyone can agree on. 

The Scientific method claims objectivity but see epistemology, the philosophy of science and the work of Karl Popper.  The opposite of objectivity is subjectivity.

Philosophy
Reality
Roderick Raynor "Rod" Paige (born June 17, 1933), served as the 7th United States Secretary of Education from 2001 to 2005. He was the first African American to serve as the nation's education chief. He earned a bachelor's degree from Jackson State University in Mississippi and a Master's degree and an Ed.D from Indiana University Bloomington.  He also holds an honorary doctoral degree from the University of Houston presented to him in 2000.

Paige was sitting with George W. Bush at the Emma E. Booker Elementary School in Sarasota, Florida, when Bush received the news that a second plane had hit the World Trade Center in the September 11, 2001 attacks.

On November 15, 2004, Paige announced his resignation after overseeing the President's education agenda for four years. White House domestic policy adviser Margaret Spellings was nominated as his successor. The U.S. Senate confirmed her on January 20, 2005 after Bush's inauguration for a second term.
1933 births
Living people
United States Secretaries of Education
Politicians from Mississippi
Joshua Brewster Bolten (born August 16, 1954) was the White House Chief of Staff serving U.S. President George W. Bush. Bolten replaced Andrew Card on April 14, 2006.

1955 births
Living people
White House Chiefs of Staff
Directors of the Office of Management and Budget
Republican Party (United States) politicians
Alan Stephenson Boyd (July 20, 1922 – October 18, 2020) was an American politician and lawyer. He was the first United States Secretary of Transportation, appointed by Lyndon Johnson in November 1966.

He was appointed to the Civil Aeronautics Board in 1959 by Dwight Eisenhower and promoted to chairman by John F. Kennedy.

When the Richard M. Nixon administration took power, Boyd left the government and became the president of the Illinois Central Railroad, a position he held from 1969 to 1972.

Boyd died at a retirement home in Seattle, Washington on October 18, 2020 at the age of 98.

References

1922 births
2020 deaths
Politicians from Jacksonville, Florida
United States Secretaries of Transportation
University of Florida alumni
Democratic Party (United States) politicians
Lawyers from Florida
Businesspeople from Florida
Mary E. Peters (born December 4, 1948) was the United States Secretary of Transportation. She is the second woman and first Arizonan to hold the position. Peters joined the Arizona Department of Transportation in 1985, and was appointed by Gov. Jane Dee Hull to serve as its director in 1998. In 2006, President Bush appointed Peters as the Co-Vice Chairwoman of the National Surface Transportation Policy and Revenue Study Commission.

References

United States Secretaries of Transportation
Politicians from Phoenix, Arizona
1948 births
Living people
Competition 
On 29 April 1901, some private companies with the support of the Australian Government set up a competition to design a new flag for Australia. The prize money was ₤200 including ₤75 from a magazine and ₤50 from a tobacco company. There were 32,823 designs entered into the competition. These were put on show in Melbourne at the Royal Exhibition Building. The judges, from the army, navy, merchant navy, and pilot service, to choose the best flag were:
 Captain Clare of HMS Protector
 Captain Edie, Superintendent of Navigation, Sydney
 Captain J.A. Mitchell, from the Victorian Pilot service
 Lieutenant Thompson, from HMS Katoomba
 Mr.J.W. Evans, Member of the House of Representatives from Tasmania.
The judges took eight days to choose a winning flag.
Five flags were almost the same, and they shared first prize. The Prime Minister of Australia, Edmund Barton, announced the winners on 3 September 1901. The winners were:
 Mrs. Annie Dorrington, an artist, of Perth
 Egbert John Nuttall, an architect, of Melbourne
 Ivor Evans, a 14-year-old school boy, of Melbourne
 Leslie J. Hawkins, an apprentice optician, of Sydney
 William Stevens, a ship's officer, of Auckland, New Zealand.
The winning flag was flown from the top of the Exhibition Building. The Prime Minister Edmund Barton wrote to the Governor-General to get approval from the King for the new flag. This was officially announced on February 20, 1903.
The flag 
Some of the winning flags had different numbers of points on the stars of the Southern Cross. This was simplified to seven points for the four largest stars and five for the small one. The Commonwealth Star had six points for the six states. This was the design in 1903. In 1912, an extra point was added to the Commonwealth Star for the Territories of Australia.

In 1934, the government published how the Australian flag should be made. The flag of the United Kingdom, the Union Jack was still the official flag in Australia until 1954. By law, only the Australian government was allowed to fly the blue Australian flag. Everyone else that wanted to use an Australian flag used the red one, called the Red Ensign. On 15 March 1941, the Prime Minister of Australia, Robert Menzies, gave permission for the blue flag to be used on public buildings, schools and by the public. Australian ships would use the Red Ensign.
In 1954, the Australian Flag became the official Australian National Flag. The Australian flag is the most important flag flown in Australia, and must be given more importance than flags from other countries. When it is raised or lowered people should face the flag and not talk. It should only be used properly, for example, it can not be used to cover a table or a seat, and it can not be allowed to touch the ground.

Other Australian flags 

The Royal Australian Navy has had its own flag from 1 March 1967. This looks like the national flag but has a white background with blue stars, called the Australian White Ensign. The Royal Australian Air Force got its own flag in 1949. This was changed in 1981 to feature a red kangaroo.

The Queen of Australia has her own flag for use when she visits Australia. The Governor-General of Australia also has a flag which is flown from his or her official house and from his or her car.

References 

Australia
National symbols of Australia
Bush narrowly won the November 7 election, with 271 electoral votes to Gore's 266. There was a disagreement over who won Florida's 25 electoral votes because the way Florida voted was different from other states. A recount happened in the state and the uncommon event that the winner got fewer popular votes than the loser. The Court's decision in Bush v. Gore announced on December 12, 2000, this ended the recounts, effectively awarding Florida's votes to Bush and granting him the victory.

Candidates

Democratic Party

Nominees

Withdrawn candidate
Bill Bradley, a former U.S. Senator from New Jersey withdrew on March 9, 2000 and endorsed Al Gore.

Republican Party

Nominees

Withdrawn candidates

References 

Presidential election
2000 elections
2000
2000s elections in the United States
The 2004 United States presidential election happened on November 2, 2004. George W. Bush, the incumbent president and Republican candidate, won reelection. He defeated John Kerry, the Democratic candidate, who was the junior U.S. Senator from Massachusetts. Foreign policy was the biggest issue during the election mainly because of the War on Terrorism and the 2003 Invasion of Iraq.

Since the last presidential election, there were concerns about voting. The winner was not determined until the following day when Kerry decided not to dispute Bush's win in the state of Ohio. The state held enough electoral votes to determine the winner of the presidency. Both Kerry and Democratic National Committee Chairman Howard Dean have stated their opinion that voting in Ohio did not proceed fairly and that, had it done so, the Democratic ticket might have won that state and therefore the election.
Only three states changed which party to vote for. New Mexico and Iowa voted Democratic in 2000, but those states voted Republican in 2004. New Hampshire voted Republican in 2000 but the state voted Democratic in 2004. In the Electoral College, Bush received 286 electoral votes, and Kerry received 251 electoral votes. Kerry was supposed to have 252, but one electoral vote that was supposed to go for Kerry went for his running mate, John Edwards.

Candidates

Republican

Nominees

Democrats

Nominees
Withdraw candidates
John Edwards, U.S. Senator from North Carolina (withdrew on March 2, 2004, and endorsed John Kerry)
Howard Dean, former Governor of Vermont (withdrew on February 18, 2004, and endorsed John Kerry)
Wesley Clark, retired U.S. General from Arkansas (withdrew on February 11, 2004, and endorsed John Kerry)
Dennis Kucinich, U.S. Representative from Ohio (withdrew on July 22, 2004, and endorsed John Kerry)
Al Sharpton, Reverend and civil rights activist from New York (withdrew on March 15, 2004, and endorsed John Kerry)
Joe Lieberman, U.S. Senator from Connecticut, 2000 US Election Democratic vice-presidential nominee (withdrew on February 3, 2004, and endorsed John Kerry)
Dick Gephardt, U.S. Representative from Missouri (withdrew on January 20, 2004, and endorsed John Kerry)
Carol Moseley Braun, former U.S. Senator from Illinois (withdrew on January 15, 2004, and endorsed Howard Dean. She then endorsed John Kerry)
References

2004 in the United States
2004 elections
John Kerry
2004
2000s elections in the United States
In computer engineering, register renaming refers to a technique used to avoid unnecessary serialized execution of program instructions because of the reuse of the same registers by those instructions.

Problem definition
Programs are composed of instructions which operate on values.  The instructions must name these values in order to distinguish them from one another.  A typical instruction might say, add X and Y and put the result in Z.  In this instruction, X, Y, and Z are the names of storage locations.

In order to have a compact instruction encoding, most processor instruction sets have a small set of special locations which can be directly named. For example, the x86 instruction set architecture has 8 integer registers, x86-64 has 16, many RISCs have 32, and IA-64 has 128.  In smaller processors, the names of these locations correspond directly to elements of a register file.
Different instructions may take different amounts of time (e.g., CISC architecture). For instance, a processor may be able to execute hundreds of instructions while a single load from main memory instruction is in progress. Shorter instructions executed while the load is outstanding will finish first, thus the instructions are finishing out of the original program order. Out-of-order execution has been used in most recent high-performance CPUs to achieve some of their speed gains.

Consider this sequance of instructions running on an out-of-order CPU:

1.LOAD R1, LOC MEM[1024]
2.R1 = R1 + 2
3.STORE R1, LOC MEM[1024+8]
4.LOAD R1, LOC MEM[2048]
5.R1 = R1 + 4
6.STORE R1, LOC MEM[2048+8]

Instructions 4, 5, and 6 are independent of instructions 1, 2, and 3, but the processor cannot finish 4 until 3 is done, because 3 would then write the wrong value.

How to remove restrictions
We can remove this restriction by changing the names of some of the registers, so that the program can be executed faster.
When possible, compilers do this renaming. But compilers are limited by the number of register inside the Central processing unit. Many high performance CPUs have more physical registers than may be named directly in the instruction set and they can rename registers in hardware to achieve better instruction level 

Anything that is read and written can be renamed. While the general-purpose and floating-point registers are the most, flag and status registers or even individual status bits are commonly renamed as well.

Memory locations can also be renamed, although it is not commonly done to the level used in register renaming.

Hazards Problem
When more than one instruction references a particular location for an operand, either reading it (as an input) or writing it (as an output), executing those instructions in an order different from the original program order can cause to three kinds of problems, also known as hazards:
Read-after-write (RAW)
A read from a register or memory location must return the value placed there by the last write in program order, not some other write.  This is referred to as a true dependency or flow dependency, and requires the instructions to execute in program order.

Write-after-write (WAW)
Successive writes to a particular register or memory location must leave that location containing the result of the second write.  This can be resolved by squashing (synonyms: cancelling, annulling, mooting) the first write if necessary. WAW dependencies are also known as output dependencies.

Write-after-read (WAR)
A read from a register or memory location must return the last prior value written to that location, and not one written programmatically after the read.  This is the sort of false dependency that can be resolved by renaming. WAR dependencies are also known as anti-dependencies.
Instead of delaying the write until all reads are completed, two copies of the location can be maintained, the old value and the new value.  Reads that precede, in program order, the write of the new value can be provided with the old value, even while other reads that follow the write are provided with the new value.  The false dependency is broken and additional opportunities for out-of-order execution are created.  When all reads needing the old value have been satisfied, it can be discarded.  This is the essential concept behind register renaming.

Related pages
 Parallel computing
 Instruction level parallelism

References

"Implementing Precise Exceptions in Pipelined Processors" , J.E. Smith and A.R. Pleszkun, 1985

Microprocessor design
Chesterfield is a market town and borough in the county of Derbyshire in the East Midlands of England. It is on the River Rother and the River Hipper. It is Derbyshire's largest town (Derby is a city).

It is a very old town and was founded between 70–100 AD. The town received its market charter from King John in 1204.

It is 24 miles (39 km) north of Derby and 11 miles (18 km) south of Sheffield.

The town is located on the A61 between Derby and Thirsk in North Yorkshire. It is 6 miles (9.7 km) from the M1.

A 2019 census estimated that the borough has around 104,900 residents.

Chesterfield's most famous landmark is Church of St Mary and All Saints. It is famous because of its "crooked spire". The town's football club, Chesterfield F.C., are nicknamed The Spireites due to this.
Chesterfield railway station is on the Midland Main Line. Passengers can get local trains to towns and villages around the East Midlands as well as long-distance trains, operated by East Midlands Railway, to London, Sheffield and Nottingham. CrossCountry trains also stop at Chesterfield, providing passengers with direct trains to Birmingham, the North East, Scotland and Cornwall

Twin towns
Chesterfield is twinned with:
 Darmstadt, Germany
 Troyes, France
 Tsumeb, Namibia
 Yangquan, China

Gallery

Unitary authorities
Towns in Derbyshire
Market towns in England
The formation and evolution of the Solar System describes how the Solar System began, and how it changed. 

About 4.6 billion years ago, there was a large cloud of gas nearby our area of space. All things with mass come together, or gravitate towards one another. This pulled all the gas towards the center. Eventually the pressure at the center raised the temperature so that hydrogen atoms fused together to make helium. This began the star we know as the Sun. 

The process of how solar systems are created is called the nebular theory. However, the origin of the planets is not the same as the origin of the Sun. Not only is the Sun very much larger, but its make-up is quite different from the planets.
The spin of the planets around the Sun, and each around its own axis, was first caused by the original gas cloud having different density in different places. The spin increased because of the contraction under gravity (conservation of energy). So did the flatness of the Solar System's shape. As the collapse continued, conservation of angular momentum meant that the rotation accelerated. This largely prevents the gas from sticking onto the central core (the future Sun). The gas is forced to spread outwards near its equatorial plane, forming a disk.

Gravity caused the atoms in the Sun to become very close to each other. All this energy eventually made our Sun into a star. It gets its energy from changing its hydrogen into helium. That process is still in its early stages.
Because of the Sun's huge mass (99.86% of the whole mass of the Solar System), it has very strong gravity. The centrifugal force of the planets going round the Sun balances the gravitational pull of the Sun. The huge density at its core causes a fusion reaction which turns hydrogen into helium with the radiation of heat, light and other forms of electromagnetic radiation.

Rock and dust makes the terrestrial planets, their moons, asteroids and all other objects in the Solar System.  The gas giant planets also do have rocky or metallic centres. This is known from the data-gathering by satellites. This rocky material cannot come from the Sun, because the Sun is all hydrogen and helium.

The next issue is: if the Sun turns hydrogen into helium, where do all the other elements come from? There is only one possible answer: these higher elements came from earlier generations of stars. Huge supernovas which exploded billions of years ago in the neighbourhood of the young Solar System produced the higher elements.
Huge stars run through their life cycle much faster than smaller stars. That is caused by the even higher pressures and temperatures inside them as compared with an average main sequence star like the Sun.

History of the idea  
The nebular hypothesis, as it was called, was first worked out in the 18th century. Three men worked on it:
Emanuel Swedenborg (1688–1772)
Immanuel Kant (1724–1804)
Pierre-Simon Laplace (1749–1827)

Swedenborg first had the idea, and Kant worked it up into a proper theory. In 1755 Kant published his Universal natural history and theory of the heavens (in German, of course). He argued that gaseous clouds, nebulae, slowly rotate, gradually collapse and flatten due to gravity. They eventually form stars and planets.
Meanwhile, a similar model was developed independently and proposed in 1796 by Laplace. in his Exposition du systeme du monde. He thought that the Sun originally had an extended hot atmosphere throughout the volume of the Solar System. His theory had a contracting and cooling protosolar nebula. As this cooled and contracted, it flattened and spun more rapidly, throwing off (or shedding) a series of gaseous rings of material; and according to him, the planets condensed from this material. His model was similar to Kant's, except more detailed and on a smaller scale. Unfortunately, there was a problem with Laplace's version. The main problem was the angular momentum distribution between the Sun and planets. The planets have 99% of the angular momentum, and this fact could not be explained by the nebular model. It was quite a long time before this was understood.
The birth of the modern widely accepted theory of planetary formation – the solar nebular disk model (SNDM) – is due to the Soviet astronomer Victor Safronov. His book Evolution of the protoplanetary cloud and formation of the Earth and the planets, translated to English in 1972, had a big effect. In this book almost all major problems of the planetary formation process were formulated and some of them solved. Safronov's ideas were further developed. There are still quite a few aspects of the Solar System which need to be explained. 

Although it originally applied only to our own Solar System, the SNDM is now thought to be the usual way of star formation throughout the universe. As of August 2017, over 3000 extrasolar planets have been discovered in our galaxy.

Meteorites as clues to dates
The nebular hypothesis says that the Solar System formed from the gravitational collapse of a fragment of a giant molecular cloud. The cloud was about 20 parsec (65 light years) across, while the fragments were roughly 1 parsec (three and a quarter light-years) across.

Because of the conservation of angular momentum, the nebula spun faster as it collapsed. As the material within the nebula condensed, the atoms within it began to collide with increasing frequency, converting their kinetic energy into heat. The center, where most of the mass collected, became increasingly hotter than the surrounding disc. Over about 100,000 years, a hot, dense protostar began at the centre. 

The oldest inclusions found in meteorites may be the first solid material to form in the presolar nebula. They are 4568.2 million years old. This is one definition of the age of the Solar System.

References 

Solar System
In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch) is a description of the electrical circuitry of a computer, central processing unit, or digital signal processor that is sufficient for completely describing the operation of the hardware.

Scholars use the term "computer organization" while people in the computer industry more often say, "microarchitecture".  Microarchitecture and instruction set architecture (ISA), together, constitute the field of computer architecture.

Origin of the term 

Computers have been using microprogramming of control logic since the 1950s.  The CPU decodes the instructions and sends signals down appropriate paths by means of transistor switches. The bits inside the microprogram words controlled the processor at the level of electrical signals.
The term: microarchitecture was used to describe the units that were controlled by the microprogram words, in contrast to the term: "architecture" that was visible and documented for programmers. While architecture usually had to be compatible between hardware generations, the underlying microarchitecture could be easily changed.

Relation to instruction set architecture 
The microarchitecture is related to, but not the same as, the instruction set architecture. The instruction set architecture is near to the programming model of a processor as seen by an assembly language programmer or compiler writer, which includes the execution model, processor registers, memory address modes, address and data formats, etc. The microarchitecture (or computer organization) is mainly a lower level structure and therefore manage a large number of details that are hidden in the programming model. It describes the inside parts of the processor and how they work together in order to implement the architectural specification.
A few important points:
A single microarchitecture, especially if it includes microcode, can be used to implement many different instruction sets, by means of changing the control store. This can be quite complicated however, even when simplified by microcode and/or table structures in ROMs or PLAs.
Two machines may have the same microarchitecture, and so the same block diagram, but completely different hardware implementations. This manages both the level of the electronic circuitry and even more the physical level of manufacturing (of both ICs and/or discrete components).
Machines with different microarchitectures may have the same instruction set architecture, and so both are capable of executing the same programs. New microarchitectures and/or circuitry solutions, along with advances in semiconductor manufacturing, are what allows newer generations of processors to achieve higher performance.
Simplified descriptions
A very simplified high level description — common in marketing — may show only fairly basic characteristics, such as bus-widths, along with various types of execution units and other large systems, such as branch prediction and cache memories, pictured as simple blocks — perhaps with some important attributes or characteristics noted. Some details regarding pipeline structure (like fetch, decode, assign, execute, write-back) may sometimes also be included.

Aspects of microarchitecture
Execution units are also essential to microarchitecture. Execution units include arithmetic logic units (ALU), floating point units (FPU), load/store units, and branch prediction.  These units perform the operations or calculations of the processor.  The choice of the number of execution units, their latency and throughput are important microarchitectural design tasks.  The size, latency, throughput and connectivity of memories within the system are also microarchitectural decisions.

System-level design decisions such as whether or not to include peripherals, such as memory controllers, can be considered part of the microarchitectural design process.  This includes decisions on the performance-level and connectivity of these peripherals.

Unlike architectural design, where a specific performance level is the main goal, microarchitectural design pays closer attention to other constraints.  Attention must be paid to such issues as:
Chip area/cost.
 Power consumption.
 Logic complexity.
 Ease of connectivity.
 Manufacturability.
 Ease of debugging.
 Testability.

Micro-Architectural Concepts
In general, all CPUs, single-chip microprocessors or multi-chip implementations run programs by performing the following steps:
 Read an instruction and decode it.
 Find any associated data that is needed to process the instruction.
 Process the instruction.
 Write the results out.
Complicating this simple-looking series of steps is the fact that the memory hierarchy, which includes caching, main memory and non-volatile storage like hard disks, (where the program instructions and data are) has always been slower than the processor itself. Step (2) often introduces a delay (in CPU terms often called a "stall") while the data arrives over the computer bus. A big amount of research has been put into designs that avoid these delays as much as possible. Over the years, a central design goal was to execute more instructions in parallel, thus increasing the effective execution speed of a program. These efforts introduced complicated logic and circuit structures.
In the past such techniques could only be implemented on expensive mainframes or supercomputers due to the amount of circuitry needed for these techniques. As semiconductor manufacturing progressed, more and more of these techniques could be implemented on a single semiconductor chip.
What follows is a survey of micro-architectural techniques that are common in modern CPUs.

Instruction Set choice
The choice of which Instruction Set Architecture to use greatly affects the complexity of implementing high performance devices. Over the years, computer designers did their best to simplify instruction sets, in order to enable higher performance implementations by saving designers effort and time for features which improve performance rather than wasting them on the complexity of instruction set.

Instruction set design has progressed from CISC, RISC, VLIW, EPIC types. Architectures that are dealing with data parallelism include SIMD and Vectors.

Instruction pipelining
One of the first, and most powerful, techniques to improve performance is the use of the instruction pipeline. Early processor designs performed all of the steps above on one instruction before moving onto the next. Large portions of the processor circuitry were left idle at any one step; for instance, the instruction decoding circuitry would be idle during execution and so on.

Pipelines improve performance by allowing a number of instructions to work their way through the processor at the same time. In the same basic example, the processor would start to decode (step 1) a new instruction while the last one was waiting for results. This would allow up to four instructions to be "in flight" at one time, making the processor look four times as fast. Although any one instruction takes just as long to complete (there are still four steps) the CPU as a whole "retires" instructions much faster and can be run at a much higher clock speed.

Cache
Cache

Improvements in chip manufacturing allowed more circuitry to be placed on the same chip, and designers started looking for ways to use it. One of the most common ways was to add an ever-increasing amount of cache memory on-chip. Cache is a very fast memory, memory that can be accessed in a few cycles as compared to what is needed to talk to main memory. The CPU includes a cache controller which automates reading and writing from the cache, if the data is already in the cache it simply "appears," whereas if it is not the processor is "stalled" while the cache controller reads it in.

RISC designs started adding cache in the mid-to-late 1980s, often only 4 KB in total. This number grew over time, and typical CPUs now have about 512 KB, while more powerful CPUs come with 1 or 2 or even 4, 6, 8 or 12 MB, organized in multiple levels of a memory hierarchy. Generally speaking, more cache means more speed.
Caches and pipelines were a perfect match for each other. Previously, it didn't make much sense to build a pipeline that could run faster than the access latency of off-chip cash memory. Using on-chip cache memory instead, meant that a pipeline could run at the speed of the cache access latency, a much smaller length of time. This allowed the operating frequencies of processors to increase at a much faster rate than that of off-chip memory.

Branch Prediction and Speculative execution
Techniques such as branch prediction and speculative execution are used to reduce these branch penalties. Branch prediction is  where the hardware makes educated guesses on whether a particular branch will be taken. The guess allows the hardware to prefetch instructions without waiting for the register read. Speculative execution is a further enhancement in which the code along the predicted path is executed before it is known whether the branch should be taken or not.

Out-of-order execution
The addition of caches reduces the frequency or duration of stalls due to waiting for data to be fetched from the main memory hierarchy, but does not get rid of these stalls entirely. In early designs a cache miss would force the cache controller to stall the processor and wait. Of course there may be some other instruction in the program whose data is available in the cache at that point. Out-of-order execution allows that ready instruction to be processed while an older instruction waits on the cache, then re-orders the results to make it appear that everything happened in the programmed order.

Superscalar

Even with all of the added complexity and gates needed to support the concepts outlined above, improvements in semiconductor manufacturing soon allowed even more logic gates to be used.
In modern designs it is common to find two load units, one store (many instructions have no results to store), two or more integer math units, two or more floating point units, and often a SIMD unit of some sort. The instruction issue logic grows in complexity by reading in a huge list of instructions from memory and handing them off to the different execution units that are idle at that point. The results are then collected and re-ordered at the end.

Register renaming

Register renaming refers to a technique used to avoid unnecessary serialized execution of program instructions because of the reuse of the same registers by those instructions. Suppose we have to groups of instruction that will use the same register, one set of instruction is executed first to leave the register to the other set, but if the other set is assigned to a different similar register both sets of instructions can be executed in parallel.
Multiprocessing and multithreading
Due to the growing gap between CPU operating frequencies and DRAM access times, none of the techniques that enhance instruction-level parallelism (ILP) within one program could overcome the long stalls (delays) that occurred when data had to be fetched from main memory. Additionally, the large transistor counts and high operating frequencies needed for the more advanced ILP techniques required power dissipation levels that could no longer be cheaply cooled. For these reasons, newer generations of computers have started to utilize higher levels of parallelism that exist outside of a single program or program thread.
This trend is sometimes known as "throughput computing". This idea originated in the mainframe market where online transaction processing emphasized not just the execution speed of one transaction, but the capacity to deal with big numbers of transactions at the same time. With transaction-based applications such as network routing and web-site serving greatly increasing in the last decade, the computer industry has re-emphasized capacity and throughput issues.

One technique of how this parallelism is achieved is through multiprocessing systems, computer systems with multiple CPUs. In the past this was reserved for high-end mainframes but now small scale (2-8) multiprocessors servers have become commonplace for the small business market. For large corporations, large scale (16-256) multiprocessors are common. Even personal computers with multiple CPUs have appeared since the 1990s.
Advances in semiconductor technology reduced transistor size; multicore CPUs have appeared where multiple CPUs are implemented on the same silicon chip. Initially used in-chips targeting embedded markets, where simpler and smaller CPUs would allow multiple instantiations to fit on one piece of silicon. By 2005, semiconductor technology allowed dual high-end desktop CPUs CMP chips to be manufactured in volume. Some designs, such as UltraSPARC T1 used a simpler (scalar, in-order) designs in order to fit more processors on one piece of silicon.

Recently, another technique that has become more popular is multithreading. In multithreading, when the processor has to fetch data from slow system memory, instead of stalling for the data to arrive, the processor switches to another program or program thread which is ready to execute. Though this does not speed up a particular program/thread, it increases the overall system throughput by reducing the time the CPU is idle.
Conceptually, multithreading is equivalent to a context switch at the operating system level. The difference is that a multithreaded CPU can do a thread switch in one CPU cycle instead of the hundreds or thousands of CPU cycles a context switch normally requires. This is achieved by replicating the state hardware (such as the register file and program counter) for each active thread.

A further enhancement is simultaneous multithreading. This technique allows superscalar CPUs to execute instructions from different programs/threads simultaneously in the same cycle.

Related pages

 Microprocessor
 Microcontroller
 Multi-core processor
 Digital signal processor
 CPU design
 Datapath
 instruction-level parallelism (ILP)

Footnotes 
  In the context of the organization of a central processing unit, an operator is a collection of logic gates that comprises a functional unit within the processor, such as a barrel shifter or a final adder.
-->

References
References

Further reading 
 
 
 
 
 
 
 
IEEE Computer Society
PC Processor Microarchitecture 

Computer architecture
Southampton Corporation Tramways was a transport company that opened in 1879 and closed in 1949. At first the trams were horse-drawn, but later they were powered by electricity.

Background
Southampton, a city of the United Kingdom located in Hampshire, was becoming bigger in the nineteenth century. The population was 27,000 people in 1841.  This was because the docks were becoming much more used. Also, a railway openened in 1839 and a horse-drawn omnibus service started at as well. By 1843 a regular service was running from the station to Millbrook, Eling, Bitterne, Shirley, Portswood, Totton and Romsey. Because of this, by 1861 the population had become 42,000.
By 1872 tramways were a lot more popular. The British and Foreign Tramway Company contacted Southampton Corporation with an idea to set up a tramway in the town. Lots of people were against the idea. The Corporation did not allow tram tracks to be put in the High Street and Above Bar. The British and Foreign Tramway Company stopped thinking about the idea.

In 1876 Southampton Corporation saw that their public transport was not as good as the public transport in other cities. The Southampton Tramways Company was made to build a new tramway system. The tramway started to be built in the summer of 1878.

Southampton Tramways Company
The company got into some trouble soon after it opened. One of the managers ran away with some money to America in 1881.  Another manager got the sack in 1882 because there was a problem with the company's money. By 1887 though the company had recovered. It had a good financial base to stand on, and it was paying divedends of 8% a year to its shareholders. On the 22 October 1889, the Portswood route ran via Spear Road and Avenue Road. Fares cost less money in 1896 because they changed from 3d to 2d for "through routes". The tram times became two times as fast to every 5 minutes from Stag Gates to Holy Rood. Four new trams and forty horses were needed to run this service.

The Southampton Tramway Company was bought by Southampton Corporation on 30 June 1898 for £51,000.
Trams
The tramway had twenty-three tramcars when it was bought in 1898. They were:
Fifteen double deck cars that were built in 1879. The upper decks later taken off to make the cars weigh less.
Four cars were built in 1881 by the Starbuck Car and Wagon Company who were based in Birkenhead. The cars were paid for in .
Four tramcars were built in 1986 by Brush of Loughborough. After the tramway was electrified they were used as trailer cars, and two of them were later converted into single deck trams, numbered 50 and 51.
Southampton Corporation bought the Southampton Electric Light and Power Company in 1896. Two years later in 1898 it bought the Southampton Tramway Company two years later in 1898. This allowed them to change the town's tramway system to electricity instead of horse power. In 1899 a group of people from the Corporation visited tram systems in Bradford, Dover, Glasgow, Liverpool and London for ideas. They decided that Southampton's was going to be based on Liverpool's. The first electric tram route from Junction to Shirley opened on 22 January 1900. The second route from Stag Gates to Holy Road via Prospect Place opened on 29 May 1900. Over the next 3 years the system slowly got bigger. The following routes opened:

The last route to open as part of the first stage of the electrified system was Portswood - Hampton Park on 25 July 1903.
Before World War One more routes were added:
Clock Tower - Northam Bridge, 17 December 1910. 
Holy Rood - High Street - Royal Pier, in June 1911 
Common (Highfield Road) - Common (Old Race Course) after July 1911. Common (Old Race Course) later became known as "Rest Camp".

After the war, more new routes were added:
Common (Rest Camp) - Bassett Crossroads, 25 March 1921.
Roberts Road - Millbrook, 5 January 1922.
Hampton Park - Swaythling, 23 February 1922.
Bitterne Park Triangle - Bullar Road - Bittern Station, 26 July 1923.
Bassett Crossroads - Burgess Road - Swaythling, 10 July 1930.

After thiese additions, the system was at its biggest. The only new lines opened after this were to miss out the Bargate Arch in Southampton. The east side opened on 24 April 1932 and the west side on 5 June 1938.
Trams
When the electrified system opened it needed some new tramcars to replace the horse drawn ones. The first trams used on the system were built by G F Milnes & Co., Birkenhead. They had open upper deck had back-to-back "knifeboard" seats so that they could fit under Bargate arch. No.2 was changed into a "toastrack" car in 1916. It was sold to Portsmouth in 1919 where it became Number 104. In 1903 twelve trams were built by Hurst, Nelson & Co. The trams originally had three windows on each side on the bottom deck. This was later chnged to have four windows on each side because the original design did not give enough support for the top deck. Two bogie trams were ordered in 1910. This order was later cancelled. The system also bought six ex-London County Council Tramways cars with enclosed upper decks. These were numbered 75-80. A final sixteen trams were bought in 1918. As well as these, a number of trams were built by the tramway:
Number 52 was built at Portswood in 1908 with open upper deck.
Number 81 was built at Portswood in 1919 and was the first with a closed upper deck. This tram also was the longest running in service.
Sixty three other trams were built at Portswood between 1908 and 1931
Twelve trams were built at Portswood in 1931 which became known as the "Pullmans".
Round topped "Bargate" trams 

Before 1932, the only road route between Southampton High Street and Above Bar was through the arch in the centre of the Bargate. In 1923 a new design of enclosed double deck tram was built by P.J Baker, General Manager of the tramways. It had a rounded top that would fit through the arch. These trams had smaller wheels to help reduce the tram's height. They were driven by high speed motors which produced more torque. However, the roadway through the arch in the Bargate still had to be lowered to allow the trams to pass through the arch. Some secret changing of the profile of the arch's masonry was also needed at the last minute. Trams started to pass around the East of the Bargate on 24 April 1932. The last tram to pass through the central archway did so on 4 June 1938. By this time part of Southampton ancient walls had been demolished so that the Bargate was passable on both sides.

World War One
World War One

Southampton Tramways were mainly affected by staffing issues during World War I. To try and stop this women were allowed to become "conductorettes". Because of this toastrack tram No.2 had a gangway cut through the middle of it. In the early years of the war a tram went round Southampton for two hours twice a week. It had a military band playing on the top deck. This was an effort to try and boost recruitment.

World War Two

World War II affected Southampton much more than World War One. Women were again employed by the company. Unlike in World War I though they were allowed to drive the trams this time.

Car No.31 was destroyed by an incendiary bomb on 30 November 1940. It was the only tram to be destroyed during the war. To save the fleet of trams from the intensive bombing of Southampton during World War II they were painted grey. Regular services stopped at 7pm and they were parked up overnight in Cemetery Road on Southampton Common for the same reason.