Download presentation
Presentation is loading. Please wait.
2
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 nestorj@lafayette.edu ECE 313 - Computer Organization Lecture 1 - Course Overview Fall 2004 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 Image source: Intel Corporation www.intel.com
3
ECE 313 Fall 2004Lecture 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 2004Lecture 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 2004Lecture 1 - Course Overview4 Administrative Details Grading Take-Home Entry Exam 0% 2 In-Class Exams40% Final Exam25% Projects25% Homeworks10% Office hours - TBD My schedule: ECE 313MWF 10:00-10:50 ECE 491MR6:00-7:20 T9:00-12:00 W6:00-9:00
6
ECE 313 Fall 2004Lecture 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 2004Lecture 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 2004Lecture 1 - Course Overview7 Roadmap for the Term: Major Topics Computer Systems Overview Technology Trends Instruction Sets (and Software) Performance Logic and Arithmetic Processor Implementation Memory Systems Input/Output
9
ECE 313 Fall 2004Lecture 1 - Course Overview8 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
10
ECE 313 Fall 2004Lecture 1 - Course Overview9 Classes of Computer Systems Embedded Desktop Server Image sources: Dell Computer www.dell.com Rackable Systems www.rackablecom Apple Computer www.apple.com
11
ECE 313 Fall 2004Lecture 1 - Course Overview10 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
12
ECE 313 Fall 2004Lecture 1 - Course Overview11 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)
13
ECE 313 Fall 2004Lecture 1 - Course Overview12 Embedded Computer Systems Computer as part of larger system Consumer electronics, appliances Networking, telecommunications Automotive / aircraft control What’s in the box Microcontroller / Microprocessor Memory: RAM, ROM; Disk Special-purpose I/O (including analog stuff) Important issues Cost, Power Consumption Performance (against real-time constraints) Reliability and Safety
14
ECE 313 Fall 2004Lecture 1 - Course Overview13 Computer System Organization “Five classic components” Processor Control Datapath OutputInput Memory 1001010010110000 0010100101010001 1111011101100110 1001010010110000
15
ECE 313 Fall 2004Lecture 1 - Course Overview14 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
16
ECE 313 Fall 2004Lecture 1 - Course Overview15 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
17
ECE 313 Fall 2004Lecture 1 - Course Overview16 Machine Language 00000000001000100100000000100000 High-Level Language (C) c = a + b; Assembly Language add R8,R1,R2 AssemblerCompiler Software Abstractions - Languages
18
ECE 313 Fall 2004Lecture 1 - Course Overview17 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)
19
ECE 313 Fall 2004Lecture 1 - Course Overview18 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
20
ECE 313 Fall 2004Lecture 1 - Course Overview19 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
21
ECE 313 Fall 2004Lecture 1 - Course Overview20 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
22
ECE 313 Fall 2004Lecture 1 - Course Overview21 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
23
ECE 313 Fall 2004Lecture 1 - Course Overview22 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
24
ECE 313 Fall 2004Lecture 1 - Course Overview23 Top 5 Reasons to Study MIPS 5.It’s in the book 4.It’s used in many applications 3.Learning its architecture and implementation exposes you to important concepts 2.It’s relatively simple and easy to implement (compared to other architectures) 1.Ideas presented using MIPS generalize to other architectures (even the 80x86!)
25
ECE 313 Fall 2004Lecture 1 - Course Overview24 Under the Hood: The Pentium 4 Image sources: Intel Corporation www.intel.com Package Die Photo
26
ECE 313 Fall 2004Lecture 1 - Course Overview25 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.
27
ECE 313 Fall 2004Lecture 1 - Course Overview26 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.
28
ECE 313 Fall 2004Lecture 1 - Course Overview27 Organization of a Desktop PC
29
ECE 313 Fall 2004Lecture 1 - Course Overview28 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
30
ECE 313 Fall 2004Lecture 1 - Course Overview29 Under the Hood: Apple iPod Source: EE Times, www.eetimes.com
31
ECE 313 Fall 2004Lecture 1 - Course Overview30 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
32
ECE 313 Fall 2004Lecture 1 - Course Overview31 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
33
ECE 313 Fall 2004Lecture 1 - Course Overview32 Computer Systems Overview Types of Computer Systems Abstractions used in Computer Systems Architecture vs. Organization Common Architectures “Under the Hood” - chips and systems
34
ECE 313 Fall 2004Lecture 1 - Course Overview33 Technology Trends Historical Notes Current Technology (CMOS VLSI) Trends (Moore’s Law) Image Source: Intel Corporation www.intel.com
35
ECE 313 Fall 2004Lecture 1 - Course Overview34 Instruction Sets (and Software) General principles of instruction set design The MIPS instruction set Software concerns: procedures, stacks, etc. oprsrtoffset oprsrtrdfunctshamt opaddress
36
ECE 313 Fall 2004Lecture 1 - Course Overview35 Logic & Arithmetic Quick review: binary numbers and arithmetic Adder & ALUs; multiplication & division Floating Point A B F(A,B) Operation Select ALU
37
ECE 313 Fall 2004Lecture 1 - Course Overview36 Performance Response Time vs. Throughput Measuring performance using individual programs Combining measurements Benchmarks
38
ECE 313 Fall 2004Lecture 1 - Course Overview37 Processor Implementation Basic implementation Single-Cycle Multicycle Pipelined implementation Advanced techniques
39
ECE 313 Fall 2004Lecture 1 - Course Overview38 Memory Systems Memory Technology Overview Memory Hierarchy Cache Memories - making access faster Virtual Memory - making memory larger using disk RegistersCache Memory ProcessorDisk
40
ECE 313 Fall 2004Lecture 1 - Course Overview39 Input/Output I/O Overview Impact of I/O on Performance Buses Interfacing Image Source: Seagate Technolgy LLC www.seagate.com
41
ECE 313 Fall 2004Lecture 1 - Course Overview40 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
42
ECE 313 Fall 2004Lecture 1 - Course Overview41 About the Projects Design modeling and simulation using synthesizable 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 ( www.syncad.com ) or download locally from ECE 313 website * HDL = Hardware Description Language
43
ECE 313 Fall 2004Lecture 1 - Course Overview42 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
44
ECE 313 Fall 2004Lecture 1 - Course Overview43 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.