Presentation is loading. Please wait.

Presentation is loading. Please wait.

ISO 9126: Software Quality Internal Quality: Maintainability – Analyzability, Testability, Stability, Changeability External Quality – Functionality –

Similar presentations


Presentation on theme: "ISO 9126: Software Quality Internal Quality: Maintainability – Analyzability, Testability, Stability, Changeability External Quality – Functionality –"— Presentation transcript:

1 ISO 9126: Software Quality Internal Quality: Maintainability – Analyzability, Testability, Stability, Changeability External Quality – Functionality – Usability – Reliability – Portability – Efficiency

2

3 Moore's Law Noted that the number of transistors per unit area had doubled every year from 1958 to 1965 Expected the trend to last for at least ten years Gordon Moore Co-founder of Intel Often misquoted as the speed will double every 18 months Often misquoted as the speed will double every 18 months

4

5 Intel Processor Speeds over Time GHz 1 GHz 100 MHz 10 MHz 1 MHz Pentium Pentium II Pentium III Pentium 4

6 Whats the State-of-the-Art? Fastest commercially available CPU: ~4GHz Fastest experimental CPU: 500Ghz – Need to cool it down to 4°K, though Fastest theoretical transistor: 1THz

7 The End of Moores Law? Production limitations Physical limitations Bottleneck issues Market issues

8 1940s Electromagnetic Relays pre-1940s Mechanical 1950s Vacuum Tubes 1960s Transistors since 1970s Integrated Circuits Quantum Computers? The Future

9 The Current Solution: Parallelism

10 Process-Level Parallelism Early computers (1950s and 1960s) could only run one program at a time When it finished, it would run the next one Multi-programming operating systems (1970s) made it appear as if multiple programs were running simultaneously

11 Instruction-Level Parallelism Rather than wait for an instruction to finish, start the next one as soon as possible Very common in RISC architectures Pipelining: Fetch/decode one instruction while executing another

12 Thread-Level Parallelism Modern programming languages support threads, which allow a program to do more than one thing at a time Examples Reading data from one source while writing to another Performing two parts of a calculation simultaneously Handling interaction with multiple users at the same time

13 Today Concurrency (threads) in C Does concurrency really make your code faster? Race conditions and synchronization Short break; head to Moore 207 Lab assignment

14


Download ppt "ISO 9126: Software Quality Internal Quality: Maintainability – Analyzability, Testability, Stability, Changeability External Quality – Functionality –"

Similar presentations


Ads by Google