1. Design for Moore's Law
The one constant for computer designers is rapid change, which is driven largely by Moore's Law.
· It states that integrated circuit resources double every 18–24 months.
· Moore's Law resulted from a 1965 prediction of such growth in IC capacity.
· Moore's Law made by Gordon Moore, one of the founders of Intel.
· As computer designs can take years, the resources available per chip can easily double or quadruple between the start and finish of the project.
· Computer architects must anticipate this rapid change.
· Icon used:"up and to the right" Moore's Law graph represents designing for rapid change.
2. Use Abstraction to Simplify Design
Both computer architects and programmers had to invent techniques to make themselves more productive.
· A major productivity technique for hardware and soft ware is to use abstractions to represent the design at different levels of representation;
· lower-level details are hidden to offer a simpler model at higher levels.
· Icon used: abstract painting icon.
3. Make the common case fast
· Making the common case fast will tend to enhance performance better than optimizing the rare case.
· The common case is often simpler than the rare case and it is often easier to enhance
· Common case fast is only possible with careful experimentation and measurement.
· Icon used: sports car ss the icon for making the common case fast(as the most common trip has one or two passengers, and it's surely easier to make a fast sports car than a fast minivan.)
4. Performance via parallelism
computer architects have offered designs that get more performance by performing operations in parallel. Icon Used: multiple jet engines of a plane is the icon for parallel performance.
5. Performance via pipelining
Pipelining- Pipelining is an implementation technique in which multiple instructions are overlapped in execution. Pipelining improves performance by increasing instruction throughput.
· For example, before fire engines, a human chain can carry a water source to fire much more quickly than individuals with buckets running back and forth.
· Icon Used:pipeline icon is used. It is a sequence of pipes, with each section representing one stage of the pipeline.
6. Performance via prediction
· Following the saying that it can be better to ask for forgiveness than to ask for permission, the next great idea is prediction.
· In some cases it can be faster on average to guess and start working rather than wait until you know for sure.
· This mechanism to recover from a misprediction is not too expensive and the prediction is relatively accurate.
· Icon Used:fortune-teller's crystal ball ,
7. Hierarchy of memories
· Programmers want memory to be fast, large, and cheap memory speed often shapes performance, capacity limits the size of problems that can be solved, the cost of memory today is often the majority of computer cost.
· Architects have found that they can address these conflicting demands with a hierarchy of memories the fastest, smallest, and most expensive memory per bit is at the top of the hierarchy the slowest, largest, and cheapest per bit is at the bottom.
· Caches give the programmer the illusion that main memory is nearly as fast as the top of the hierarchy and nearly as big and cheap as the bottom of the hierarchy.
· Icon Used: a layered triangle icon represents the memory hierarchy.
· The shape indicates speed, cost, and size: the closer to the top, the faster and more expensive per bit the memory; the wider the base of the layer, the bigger the memory.
8. Dependability via redundancy
Computers not only need to be fast; they need to be dependable.
Since any physical device can fail, systems can made dependable by including redundant components.
· These components can take over when a failure occurs and to help detect failures.
· Icon Used:the tractor-trailer , since the dual tires on each side of its rear axels allow the truck to continue driving even when one tire fails.