Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 ECE 313 - Computer Organization Lecture 1 - Course.

Similar presentations


Presentation on theme: "Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 ECE 313 - Computer Organization Lecture 1 - Course."— Presentation transcript:

1

2 Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 nestorj@lafayette.edu ECE 313 - Computer Organization Lecture 1 - Course Overview Fall 2006 Reading: 1.1-1.3 Portions of these slides are derived from: Textbook figures © 1998 Morgan Kaufmann Publishers all rights reserved Tod Amon's COD2e Slides © 1998 Morgan Kaufmann Publishers all rights reserved Dave Patterson’s CS 152 Slides - Fall 1997 © UCB Rob Rutenbar’s 18-347 Slides - Fall 1999 CMU other sources as noted Intel Core 2 Duo Processor Image courtesy Intel Corporation

3 ECE 313 Fall 2006Lecture 1 - Course Overview2 Outline - Course Overview  Administrative Details   Computer Systems Overview  Types of Computer Systems  High-Level Organization - The “5 classic components”  High-Level Operations - the “fetch/execute cycle”  Common Abstractions  “Under the Hood” of some example computer systems  Course Overview  Roadmap - subjects to be covered  Course Objectives  Project Details

4 ECE 313 Fall 2006Lecture 1 - Course Overview3 Textbook and References  Textbook:  David A. Patterson and John L. Hennessy, Computer Organization and Design, 3nd Edition, Morgan-Kafumann, 2004.  References (not required):  Michael Ciletti, Modeling, Synthesis, and Prototyping with the Verilog HDL, Prentice-Hall, 1999.  R. Bryant and D. O’Halloran, Computer Systems: A Programmer’s Perspective Prentice-Hall, 2002.  John L. Hennessy and David A Patterson, Computer Architecture-A Quantitative Approach, 3rd Ed., Morgan-Kaufmann, 2002.  Links on ECE 313 Web Page

5 ECE 313 Fall 2006Lecture 1 - Course Overview4 Administrative Details  Grading  Take-Home Entry Exam 0%  2 In-Class Exams40%  Final Exam25%  Projects25%  Homeworks10%  My Schedule  Classes ECE 313MWF 8:00-8:50 ECE 491MWF10:00-10:50  Office Hours: MWF 2:00-3:00, R 2:00-4:00

6 ECE 313 Fall 2006Lecture 1 - Course Overview5 “Official” Prerequisite - ECE 212  Digital design  Combinational logic: Gates Common building blocks: multiplexers, adders, etc  Sequential logic: Flip-Flops, FSMs Controller/datapath systems Timing  Microcontroller Organization & Programming  68HC11 Organization - Registers, Memory, Etc.  68HC11 Machine Language  68HC11 Assembly Language

7 ECE 313 Fall 2006Lecture 1 - Course Overview6 “Unofficial” Prerequisite - CS 102  High-Level Language (Java) Programming  Variables, Primitive Data Types, and Expressions  Assignments, Conditionals, Loops, etc.  Classes, Objects, & Methods  Basic Input/Output  Arrays & Basic Data Structures

8 ECE 313 Fall 2006Lecture 1 - Course Overview7 Course Objectives  Students should be able to...  Describe high-level organization of computer systems  Understand and use performance metrics  Understand representation of instructions in memory  Understand the fetch/execute cycle  Understand the concept of Instruction Set Architecture  Understand how computers represent data  Design simple arithmetic circuits: adders, ALUs, etc.  Design simple processor implementations  Understand memory organization  Understand input/output

9 ECE 313 Fall 2006Lecture 1 - Course Overview8 About the Projects  Design modeling and simulation using Verilog HDL *  Modeling basic components  Single-cycle processor design  Multi-cycle processor design  Pipelined processor design (group project)  Design tool of choice: Synapticad Verilogger  Demonstration version works with up to 1K lines  Nice GUI for simulation and debugging  Free for installation on your own PCs (download locally from ECE 313 website) * HDL = Hardware Description Language

10 ECE 313 Fall 2006Lecture 1 - Course Overview9 Top 5 Reasons for Learning Verilog HDL 5.It’s syntax is close to C/C++/Java, making it easy to learn (compared to VHDL) 4.It may help you get a job 3.It’s the key to high-level design of processors, ASICs, and FPGAs 2.It will give you experience working with simulations of complex digital circuits 1.It will reinforce your understanding of computer organization concepts and their implementations

11 ECE 313 Fall 2006Lecture 1 - Course Overview10 Roadmap for the Term: Major Topics  Computer Systems Overview   Technology Trends  Instruction Sets (and Software)  Logic and Arithmetic  Performance  Processor Implementation  Memory Systems  Input/Output

12 ECE 313 Fall 2006Lecture 1 - Course Overview11 Outline - Course Overview  Administrative Details  Computer Systems Overview   Classes of Computer Systems  High-Level Organization - The “5 classic components”  High-Level Operations - the “fetch/execute cycle”  Common Abstractions  “Under the Hood” of some example computer systems  Course Overview  Roadmap - subjects to be covered  Course Objectives  Project Details

13 ECE 313 Fall 2006Lecture 1 - Course Overview12 Classes of Computer Systems Embedded Desktop Server Image sources: Dell Computer www.dell.com Rackable Systems www.rackablecom Apple Computer www.apple.com

14 ECE 313 Fall 2006Lecture 1 - Course Overview13 Desktop Computer Systems  For “General-Purpose” Use  Word-Processing, Web surfing, Multimedia, etc.  Computation and Programming  What’s in the box  Microprocessor  Memory - Synchronous DRAM  Hard disk(s), CDROM/DVD, etc.  I/O - mouse, keyboard, video card, monitor, network, etc.  Important Issues:  Performance - how fast is “fast enough”?  Basic capabilities (and expandability)  Cost

15 ECE 313 Fall 2006Lecture 1 - Course Overview14 Server Computer Systems  Large-Scale Services  File storage  Computation (e.g., supercomputers)  Transaction Processing, Web  What’s in the Box(es)  Microprocessor(s)  Hard disks  Network Interface(s)  Important issues:  Performance  Reliability, availability  Cost One Rack-Mount PC Unit (Google uses ~ 10,000)

16 ECE 313 Fall 2006Lecture 1 - Course Overview15 Embedded Computer Systems  Computer as part of larger system  Consumer electronics, appliances  Networking, telecommunications  Automotive / aircraft control  What’s in the box  Microcontroller / Microprocessor / System on Chip (SOC)  Memory: RAM, ROM; Disk  Special-purpose I/O (including analog stuff)  Important issues  Cost, Power Consumption  Performance (against real-time constraints)  Reliability and Safety

17 ECE 313 Fall 2006Lecture 1 - Course Overview16 Computer System Organization  “Five classic components” Processor Control Datapath OutputInput Memory 1001010010110000 0010100101010001 1111011101100110 1001010010110000

18 ECE 313 Fall 2006Lecture 1 - Course Overview17 Computer System Operation  Executing Programs - the “fetch/execute” cycle  Processor fetches instruction from memory  Processor executes “machine language” instruction Processor Control Datapath 1001010010110000 0010100101010001 1111011101100110 1001010010110000 Memory 1111011101100110 1001010010110000 next instr OK, but how do we write useful programs using these instructions? Load Data Perform Calculation Store Results Address Instruction

19 ECE 313 Fall 2006Lecture 1 - Course Overview18 55EF Abstractions in Computer Systems  Designers use abstraction to manage complexity  Focus on pertinent information  Suppress unnecessary detail  Example: Auto controls  Well-understood interface (inputs, outputs)  Details suppressed

20 ECE 313 Fall 2006Lecture 1 - Course Overview19 Machine Language 00000000001000100100000000100000 High-Level Language (C) c = a + b; Assembly Language add R8,R1,R2 AssemblerCompiler Software Abstractions - Languages

21 ECE 313 Fall 2006Lecture 1 - Course Overview20 Software Abstractions - System Software  Operating system  Insulates programmer from low-level details Manages system resources Manages file system  Coordinates operation of multiple programs  Protects from system from damage by user programs (accidental or malicious)  Programs interact w/ OS through system calls  Libraries  Provide programmer access to high-level “primitives”  Programs access through well-defined interface (API)

22 ECE 313 Fall 2006Lecture 1 - Course Overview21 Instruction Set Architecture (ISA) - The Hardware-Software Interface  The most important abstraction of computer design Logic - gates, state machines, etc. Circuit - transistors, etc. Layout - mask patterns, etc. Hardware ProcessorI/O System Software Compiler Application Programs Operating System Application Instruction Set Architecture Interface between SW & HW

23 ECE 313 Fall 2006Lecture 1 - Course Overview22 Architecture vs. Organization  Architecture: features visible to programmer Registers and memory model Data types Instructions  Organization: system implementation  Processor design: Datapath, Control, “microarchitecture”  System design: Processor + Memory, I/O

24 ECE 313 Fall 2006Lecture 1 - Course Overview23 Example Architecture: MC68HC11 ADDA 42 ABA BEQ 0x0000 0x0001 0x0002 0x0003 0xfffe 0xffff 8 bits Memory (Max 65KB) AB X Y SP PC=0x0002 CCR 16 bits 8 bits Registers 16 bits opcode pre-opcodeopcode operand opcodeoperand opcode Instruction Formats

25 ECE 313 Fall 2006Lecture 1 - Course Overview24 Example Architecture: 80x86 (IA-32) Instruction Formats not shown (1-17 bytes in length) EIP(PC)=0x0000001C (condition codes) EAX ECX EDX EBX ESP EBP ESI EDI CS SS DS ES FS GS EIP EFLAGS 32 32 bits Registers Memory (Max. 4GB) 0x00000000 0x00000004 0x00000008 0x0000000C 0x00000010 0x00000014 0x00000018 0x0000001C 0xfffffffc 32 bits

26 ECE 313 Fall 2006Lecture 1 - Course Overview25 Example Architecture: MIPS Memory (Max. 4GB) 0x00000000 0x00000004 0x00000008 0x0000000C 0x00000010 0x00000014 0x00000018 0x0000001C 0xfffffffc 32 bits 32 General Purpose Registers R0 R1 R2 R30 R31 PC = 0x0000001C 32 bits Registers 32 oprsrtoffset oprsrtrdfunctshamt opaddress Instruction Formats

27 ECE 313 Fall 2006Lecture 1 - Course Overview26 Under the Hood: The Pentium 4 Image sources: Intel Corporation www.intel.com Package Die Photo

28 ECE 313 Fall 2006Lecture 1 - Course Overview27 Pentium 4 Microarchitecture Source: “The Microarchitecture of the Pentium® 4 Processor”, Intel Technology Journal, First Quarter 2001 http://developer.intel.com/technology/itj/q12001/articles/art_2.htm.

29 ECE 313 Fall 2006Lecture 1 - Course Overview28 Under the Hood: A Desktop PC  Display (CRT or LCD)  Keyboard, Mouse  “The Box”  Power Supply  Motherboard (see next slide) Memory Graphics card Standard bus card slots (e.g. PCI) Standard I/O connectors (e.g. USB, Parallel Port, etc) Disks, CDRW, etc.

30 ECE 313 Fall 2006Lecture 1 - Course Overview29 Organization of a Desktop PC

31 ECE 313 Fall 2006Lecture 1 - Course Overview30 Typical Motherboard (Pentium III) Rear Panel Conn. Processor Memory N. Bridge S. Bridge IDE Disk Conn. AGP BIOS ROM Floppy Conn.Power Conn. PCI Cards

32 ECE 313 Fall 2006Lecture 1 - Course Overview31 Under the Hood: Apple iPod Source: EE Times, www.eetimes.com

33 ECE 313 Fall 2006Lecture 1 - Course Overview32 Outline - Course Overview  Administrative Details  Computer Systems Overview  Types of Computer Systems  High-Level Organization - The “5 classic components”  High-Level Operations - the “fetch/execute cycle”  Common Abstractions  “Under the Hood” of some example computer systems  Course Overview   Roadmap - subjects to be covered  Course Objectives  Project Details

34 ECE 313 Fall 2006Lecture 1 - Course Overview33 Roadmap for the Term: Major Topics  Computer Systems Overview  Technology Trends  Instruction Sets (and Software)  Logic and Arithmetic  Performance  Processor Implementation  Memory Systems  Input/Output

35 ECE 313 Fall 2006Lecture 1 - Course Overview34 Computer Systems Overview  Types of Computer Systems  Abstractions used in Computer Systems  Architecture vs. Organization  Common Architectures  “Under the Hood” - chips and systems

36 ECE 313 Fall 2006Lecture 1 - Course Overview35 Technology Trends  Historical Notes  Current Technology (CMOS VLSI)  Trends (Moore’s Law) Image Source: Intel Corporation www.intel.com

37 ECE 313 Fall 2006Lecture 1 - Course Overview36 Instruction Sets (and Software)  General principles of instruction set design  The MIPS instruction set  Software concerns: procedures, stacks, etc. oprsrtoffset oprsrtrdfunctshamt opaddress

38 ECE 313 Fall 2006Lecture 1 - Course Overview37 Logic & Arithmetic  Quick review: binary numbers and arithmetic  Adder & ALUs; multiplication & division  Floating Point A B F(A,B) Operation Select ALU

39 ECE 313 Fall 2006Lecture 1 - Course Overview38 Performance  Response Time vs. Throughput  Measuring performance using individual programs  Combining measurements  Benchmarks

40 ECE 313 Fall 2006Lecture 1 - Course Overview39 Processor Implementation  Basic implementation  Single-Cycle  Multicycle  Pipelined implementation  Advanced techniques

41 ECE 313 Fall 2006Lecture 1 - Course Overview40 Memory Systems  Memory Technology Overview  Memory Hierarchy  Cache Memories - making access faster  Virtual Memory - making memory larger using disk RegistersCache Memory ProcessorDisk

42 ECE 313 Fall 2006Lecture 1 - Course Overview41 Input/Output  I/O Overview  Impact of I/O on Performance  Buses  Interfacing Image Source: Seagate Technolgy LLC www.seagate.com

43 ECE 313 Fall 2006Lecture 1 - Course Overview42 Roadmap for the Term: Major Topics  Computer Systems Overview  Technology Trends   Instruction Sets (and Software)  Logic and Arithmetic  Performance  Processor Implementation  Memory Systems  Input/Output


Download ppt "Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 ECE 313 - Computer Organization Lecture 1 - Course."

Similar presentations


Ads by Google