Beruflich Dokumente
Kultur Dokumente
Areas of Growth
(1) Significant enhancements in the capability available to the users. E.g. Servers, Clusters. (2) Dominance of micro-processor based design across the entire range of computers. E.g. Desktop computing: Workstations and PCs thriving. Main-frame and Mini-computers vanished. (3) Exponential growth in the variety and complexity of the applications. E.g. Distributed computing. Client-server applications. Embedded computing
Computer Architecture
Covering three aspects of computer design
Organization: High-level aspects of computer design e.g. CPU internal organization Bus structure Memory organization Hardware:
Implementation specifics of a machine e.g. Logic design and Packing technology
Technology Trends
Address space growth. eg. MS DOSs 640K to current systems Gbytes Pipelining - Instruction and Data. Cache use at all levels. Compiler technology - exploring underlying architectural features. High-level languages - OOPs, Structured programming. Software development environment.
Technology Trends
IC Technology: Transistor count on a chip increases 55% per year. Semiconductor DRAM: Density increases 40-60% per year. Cycle time (slowly) decreases by one-third in ten years. Bandwidth per chip increases about twice as fast as latency decreases. Magnetic disk technology: Density increases 100% per year recently. Access time improved by one-third in ten years. Network Technology: 1 Gb Ethernet becomes available, leading to a faster internet structure. Higher bandwidth is made possible by optical media and faster switching hardware.
Quantitative Principles
Most important principle in computer design: - Make the common case fast (optimize for the normal case) - Identify the frequently requested case(s) - Estimate the performance improvement by making these cases faster - Carry out the optimization, if satisfactory Amdahls Law: Speedup = Perf. with enhancement / Perf. without enhancement * Enhancement is any change/modification in the design and realization of a component. * Speedup tells us how much faster a task will run using the enhancement as opposed to the original machine.
10
11
12
14
15
16