Download presentation
Presentation is loading. Please wait.
Published byPriscilla Malone Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.