Presentation is loading. Please wait.

Presentation is loading. Please wait.

1  2004 Morgan Kaufmann Publishers Chapter 1 Computer Abstraction and Technology.

Similar presentations


Presentation on theme: "1  2004 Morgan Kaufmann Publishers Chapter 1 Computer Abstraction and Technology."— Presentation transcript:

1 1  2004 Morgan Kaufmann Publishers Chapter 1 Computer Abstraction and Technology

2 2  2004 Morgan Kaufmann Publishers Introduction This course is all about how computers work The third revolution for civilization Faster computers have made applications (science fiction) that were economically infeasible suddenly become practical –Automatic teller machine (ATM) –Computers in automobiles –Laptop –Human genome project –WWW

3 3  2004 Morgan Kaufmann Publishers Introduction But what do we mean by a computer? –Different types: desktop, servers, embedded devices –Different uses: automobiles, graphics, finance, genomics… –Different manufacturers: Intel, Apple, IBM, Microsoft, Sun… –Different underlying technologies and different costs! Analogy: Consider a course on “automotive vehicles” –Many similarities from vehicle to vehicle (e.g., wheels) –Huge differences from vehicle to vehicle (e.g., gas vs. electric) Best way to learn: –Focus on a specific instance and learn how it works –While learning general principles and historical perspectives

4 4  2004 Morgan Kaufmann Publishers Processors sold in 1998-2002 Embedded CPU: CPU core

5 5  2004 Morgan Kaufmann Publishers What you can learn? How are programs in high-level language (C or Java), translated into hardware language and how hardware executes it? What is the interface between S/W and H/W, and how does S/W instruct the H/W to perform needed functions? What determines the performance of a program, and how can a programmer improve performance? What techniques can be used by hardware designers to improve performance?

6 6  2004 Morgan Kaufmann Publishers Why learn this stuff? You want to call yourself a “computer scientist” You want to build software people use (need performance) You need to make a purchasing decision or offer “expert” advice Both Hardware and Software affect performance: –Algorithm determines number of source-level statements and I/O operations executed –Language/Compiler/Architecture determine # of machine instructions for each source statement(Chapter 2 and 3) –Processor/Memory determine how fast instructions are executed (Chapter 5, 6, and 7) –I/O system (hardware and OS) determines how fast is I/O Assessing and Understanding Performance in Chapter 4

7 7  2004 Morgan Kaufmann Publishers What is a computer? 5 Components : –input (mouse, keyboard) –output (display, printer) –memory (disk drives, DRAM, SRAM, CD) –the processor ( datapath and control ): Our primary focus: implemented using millions of transistors Impossible to understand by looking at each transistor –Or include Network

8 8  2004 Morgan Kaufmann Publishers Inside processor chip

9 9  2004 Morgan Kaufmann Publishers PC Board

10 10  2004 Morgan Kaufmann Publishers Abstraction Delving into the depths reveals more information An abstraction omits unneeded detail, helps us cope with complexity What are some of the details that appear in these familiar abstractions?

11 11  2004 Morgan Kaufmann Publishers How do computers work? Need to understand abstractions such as: –Applications software –Systems software –Assembly Language –Machine Language –Architectural Issues: i.e., Caches, Virtual Memory, Pipelining –Sequential logic, finite state machines –Combinational logic, arithmetic circuits –Boolean logic, 1s and 0s –Transistors used to build logic gates (CMOS) –Semiconductors/Silicon used to build transistors –Properties of atoms, electrons, and quantum dynamics So much to learn!

12 12  2004 Morgan Kaufmann Publishers Why not simply write code in assembly? Why not simply convert HLL statements into bits for the hardware to interpret?

13 13  2004 Morgan Kaufmann Publishers The role of the compiler The compiler translates a HLL program into the machine language for the given ISA Compilers allow software developers to work at the HLL level without worrying about low-level details of the underlying machine The compiler writer’s first responsibility is to ensure that the machine language program –Exactly matches the functionality of the HLL program –Exactly conforms to the ISA specification Compiler product differentiators include –Speed of code execution on the hardware –Code density (reduces memory requirements) –Compilation speed (how long from HLL to machine code) –Debugging capabilities

14 14  2004 Morgan Kaufmann Publishers Instruction Set Architecture A very important abstraction –interface between hardware and low-level software –standardizes instructions, machine language bit patterns, etc. –advantage: different implementations of the same architecture –disadvantage: sometimes prevents using new innovations True or False: Binary compatibility is extraordinarily important? Modern instruction set architectures: –IA-32, PowerPC, MIPS, SPARC, ARM, and others

15 15  2004 Morgan Kaufmann Publishers Instruction Set Architecture instruction set software hardware

16 16  2004 Morgan Kaufmann Publishers What is Computer Architecture? Computer Architecture = Instruction Set Architecture + Machine Organization

17 17  2004 Morgan Kaufmann Publishers What is Computer Architecture? I/O systemInstars. Set Proc. Compiler Operating System Application Digital Design Circuit Design Instruction Set Architecture Firmware Datapath & Control Layout

18 18  2004 Morgan Kaufmann Publishers The ISA and computer hardware The designer of computer hardware (CPU, caches, MM, and I/O) must first ensure that the hardware correctly executes the machine code specified in the ISA spec Hardware product differentiators include –Performance (emphasis of this course) –Power dissipation (a huge issue today!) –Cost (die size, package pin count, cooling costs) –Reliability, availability, serviceability –Ability to upgrade

19 19  2004 Morgan Kaufmann Publishers Software and hardware Central Processing Unit Level1 Instruction Cache Level1 Data Cache Level2 Cache Main Memory Input/ Output Interconnect disk network etc instructionsoperands keyboard/mouse

20 20  2004 Morgan Kaufmann Publishers Historical Perspective ENIAC built in World War II 1943 was the first general purpose computer –Used for computing artillery firing tables –80 feet long by 8.5 feet high and several feet wide –Each of the twenty 10 digit registers was 2 feet long –Used 18,000 vacuum tubes –Performed 1900 additions per second –Programming manually by plugging cables and setting switches –Since then: Moore’s Law: transistor capacity doubles every 18-24 months http://www.intel.com/research/silicon/mooreslaw.htm

21 21  2004 Morgan Kaufmann Publishers Historical Perspective By W. Shockley, J. Bardeen, W. Brattain of Bell Lab. in 1947 Much more reliable than vacuum tubes Electronic switches in “solids”

22 22  2004 Morgan Kaufmann Publishers Historical Perspective 1950

23 23  2004 Morgan Kaufmann Publishers Historical Perspective 1971 年第一個微處理器: Intel 4004 108 KHz, 0.06 MIPS 2300 transistors (10 microns) Bus width: 4 bits Memory: 640 bytes For Busicom calculator

24 24  2004 Morgan Kaufmann Publishers Historical Perspective 1977 年 Apple II: Steve Jobs, Steve Wozniak

25 25  2004 Morgan Kaufmann Publishers Historical Perspective 1981 年 IBM PC: Intel 8088, 4.77MHz

26 26  2004 Morgan Kaufmann Publishers Historical Perspective 1979: 1st electronic spreadsheet (VisiCalc for Apple II) by Don Bricklin and Bob Franston “The kill app for early PCs” Followed by dBASE II,...

27 27  2004 Morgan Kaufmann Publishers Historical Perspective 1980s New processor architectures were introduced: RISC (Reduced Instruction Set Computer) IBM: John Cocke UC Berkeley: David Patterson Stanford: John Hennessy Commercial RISC processors introduced around 1985  MIPS: MIPS Sun : Sparc IBM : Power RISC HP : PA-RISC DEC : Alpha They compete with CISC (complex instruction set computer) processors, mainly Intel x86 processors, for the next 15 years

28 28  2004 Morgan Kaufmann Publishers Performance

29 29  2004 Morgan Kaufmann Publishers Factor for improvement Several factors: IC technology: clock rate, power, transistors per chip Computer architecture: pipeline, cache, MMX, instructions per cycle Mass market: market share, revenue, applications

30 30  2004 Morgan Kaufmann Publishers YearTechnology used in computerRelative performance / unit cost 1951Vacuum tube1 1965Transistor35 1975Integrated circuit900 1995Very large-scale integrated circuit2,400,000

31 31  2004 Morgan Kaufmann Publishers VLSI Tech

32 32  2004 Morgan Kaufmann Publishers Technology Trends: Memory Capacity (1 Chip DRAM) year size(Mbit) 1980 0.0625 1983 0.25 1986 1 1989 4 1992 16 1996 64 2000 256 1.4X/yr, or doubling every 2 years 4000X since 1980

33 33  2004 Morgan Kaufmann Publishers Technology Trends:Microprocessor Capacity

34 34  2004 Morgan Kaufmann Publishers Moore’s law

35 35  2004 Morgan Kaufmann Publishers Make it into conductor: diffuse, bombard ions Make it into insulator: silicon oxide (glass) Make it into switch: transistor

36 36  2004 Morgan Kaufmann Publishers Semiconductor Processing

37 37  2004 Morgan Kaufmann Publishers Fallacies and Pitfalls Fallacy (wrong belief): Computers have been built in the same, old- fashioned way for too long, and this antiquated model of computation is running out of steam. Pitfall (easily made mistake): Ignoring inexorable progress of hardware when planning a new system.


Download ppt "1  2004 Morgan Kaufmann Publishers Chapter 1 Computer Abstraction and Technology."

Similar presentations


Ads by Google