1 / 23

CHAPTER 1

CHAPTER 1. COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson, and Prof Irwin (PSU). Course Content.

inari
Download Presentation

CHAPTER 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson, and Prof Irwin (PSU)

  2. Course Content Text book: Computer Organization and Design: The Hardware/Software Interface, 2nd Ed., Patterson and Hennessy, Morgan Kaufman, 1997. Topics covered include : Computer Architecture and Technology Computer Performance Computer Instruction Sets Computer Arithmetic Processor Design Pipelined Processors Memory System Design Input/Output System Design

  3. What is Computer Architecture? • Computer Architecture is the design of the computer at the hardware/software interface. • Computer Architecture = Instruction Set Architecture + Machine Organization Computer Architecture Instruction Set Design Machine Organization at the above interface. of Hardware Components. Compiler/System ViewLogic Designer’s View

  4. Language of the Machine • Computer operates using number in base 2, or binary numbers • Why? • Instructions are represented by binary numbers (Ch 3) • First programmers communicated using binary numbers • 100110010100000 represents the instruction to add two numbers together • Programs invented to translate symbols to binary • Assembler • Less tedious and more readable • add A,B

  5. Language of the Machine • Eventually, higher level languages invented that translated from higher level notations • Compiler • Program that accepts the more natural notation • Fortran was invented in 1954 • Benefits • Allow programmers to think in more natural language • Languages could be designed according to their intended use • Fortran for scientific computing • Improve productivity of the programmers • Code portable between different platforms

  6. Language of the Machine • Libraries of code developed • Reusing code more efficient than writing everything from scratch • Subroutines for inputting and outputting data one of the first libraries • Operating systems were then developed to supervise the running of programs and allocate resources to the programs • Categories of software • Systems software – aimed at programmers • OS, assembler, compiler • Application software – aimed at users • Spread sheets, text editors

  7. Instruction Set Architecture • Instruction set architecture has the attributes of a computing system as seen by the assembly language programmer or compiler. This includes • Instruction Set (what operations can be performed?) • Instruction Format (how are instructions specified?) • Data storage (where is data located?) • Addressing Modes (how is data accessed?) • Exceptional Conditions (what happens if something goes wrong?) • A good understanding of computer architecture is important for compiler writers, operating system designers, and general computer programmers.

  8. Instruction Set Architecture • An abstract interface between the hardware and the lowest level software of a machine that encompasses all the information necessary to write a machine language program that will run correctly, including instructions, registers, memory access, I/O, and so on.

  9. Key considerations in “Computer Architecture” Application Software Operating System Compiler Firmware Instruction Set Architecture Instr. Set Proc. I/O system Datapath & Control Hardware Digital Design Circuit Design Layout • Coordination of many levels of abstraction • Under a rapidly changing set of forces • Design, Measurement, and Evaluation

  10. Moore’s Law • In 1965, Gordon Moore predicted that the number of transistors that can be integrated on a die would double every 18 to 24 months (i.e., grow exponentially with time).

  11. Processor Performance Increase Intel Pentium 4/3000 DEC Alpha 21264A/667 DEC Alpha 21264/600 Intel Xeon/2000 DEC Alpha 5/500 DEC Alpha 4/266 DEC Alpha 5/300 DEC AXP/500 IBM POWER 100 HP 9000/750 IBM RS6000 MIPS M2000 SUN-4/260 MIPS M/120

  12. DRAM Capacity Growth 512M 256M 128M 64M 16M 4M 1M 256K 64K 16K

  13. Abstraction • An Abstraction has levels. Delving into the depths of these levels reveals more information. • An abstraction omits unneeded detail, helps us cope with complexity. • Abstraction is the approach used in the design of software and hardware. • An abstraction system consists of hierarchical levels with each lower level hiding details from the level above.

  14. A A Y NAND 2 x 1 Mux B Y NAND B NAND S S Levels of abstraction • Computer architecture uses various levels of abstractions. • Each level of abstraction consists of • an interface (outside view of what it does), and • an implementation (inside view of how it works) Implementation Interface

  15. Instruction Set Architecture: An Abstraction • 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 • Modern instruction set architectures:80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

  16. Application of Abstraction: A Hierarchical Layer of Computer Languages High Level Language Program Compiler lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) Assembly Language Program Assembler 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Machine Language Program Machine Interpretation Control Signal Specification ALUOP[0:3] <= InstReg[9:11] & MASK ° °

  17. Control Datapath The Organization of a Computer • Since 1946 all computers have had 5 main components Processor Input Memory Output

  18. The Organization of a Computer • Processor: • Data path - to do arithmetic and logic: e.g. adders, multipliers, shifters • Control - to give directions to the other components: e.g. tells the data path, memory, and IO devices what to do according to the instructions of the program • Memory: Holds data and instructions: e.g. cache, main memory, disk. • Input: Sends data to the computer: e.g. keyboard, mouse. • Output: Gets data from the computer: e.g. screen, sound card, printer.

  19. Inside the Pentium 4 Processor Chip

  20. PC Motherboard Closeup

  21. Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Instruction Execution Obtain instruction from program storage Determine required actions and instruction size Locate and obtain operand data Compute result value or status Deposit results in storage for later use Determine successor instruction

  22. Summary • Computer Architecture includes the design of the Instruction Set Architecture (programmer’s view) and the Machine Organization (logic designer’s view). • Levels of abstraction, which consist of an interface and an implementation are useful to manage designs. • Processor performance increases rapidly, but the speeds of memory and I/0 have not kept pace. • Computer systems are comprised on datapath, memory, input devices, output devices, and control.

  23. Where we are headed • Instructions: Language of the machine (chapter 3) • The role of performance (chapter 2) • Arithmetic and how to build an ALU (Chapter 4) • The basics of logical design (Appendix B) • Processor: data path and control (Chapter 5) • Memory: caches and virtual memory (Chapter 7)

More Related