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

Slides:



Advertisements
Similar presentations
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 13 - A Verilog.
Advertisements

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 19 - Pipelined.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 20 - Memory.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 18 - Pipelined.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 1.
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 22 - Input/Output.
Computer Organization and Design David. Paterson and John L. Hennessy
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 3.
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 2 - Technology.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
Computer Organization Lecture Set – 01 Course Overview & Chapter 1 Huei-Yung Lin.
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
CIS 314 : Computer Organization Lecture 1 – Introduction.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Multi-Cycle Processor.
Computer Organization Instruction Sets Reading: Portions of these slides are derived from: Textbook figures © 1998 Morgan Kaufmann Publishers all.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 3 - Instruction.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
August 26 TA: Angela Van Osdol Questions?. What is a computer? Tape drives? Big box with lots of lights? Display with huge letters? Little box with no.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Memory Hierarchy 2.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 17 - Pipelined.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Microprocessor Organization Portions of these.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
Introduction Course Overview and Basic understanding of Computer Architecture.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 1 - Course.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
1 Computer Systems. 2 Introduction – What is a Computer? This course is all about how computers work What do computer and computer system mean to you?
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
1 Recap (from Previous Lecture). 2 Computer Architecture Computer Architecture involves 3 inter- related components – Instruction set architecture (ISA):
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Multi-Cycle Processor.
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Computer Organization and Design Computer Abstractions and Technology
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
by Computer System Design Lecture 1 Wannarat Suntiamorntut
1 ECE3055 Computer Architecture and Operating Systems Lecture 1 Introduction Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
AEEC405 – Microprocessor Architecture. Some Information Instructor Details Main Book.
Computer Architecture Souad MEDDEB
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 16 - Multi-Cycle.
Lecture 0. Course Introduction Prof. Taeweon Suh Computer Science Education Korea University COM515 Advanced Computer Architecture.
Computer Architecture Opening Yu-Lun Kuo 郭育倫 Department of Computer Science and Information Engineering Tunghai University Taichung, 40704, Taiwan R.O.C.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
CHAPTER 2 Instruction Set Architecture 3/21/
New-School Machine Structures Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
By Wannarat Computer System Design Lecture 1 Wannarat Suntiamorntut.
Computer Architecture Furkan Rabee
Chapter Overview General Concepts IA-32 Processor Architecture
x86 Processor Architecture
EEL 4713/EEL 5764 Computer Architecture
T Computer Architecture, Autumn 2005
COMS 361 Computer Organization
COMS 361 Computer Organization
Lecture 1 Class Overview
Presentation transcript:

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 1 - Course Overview Fall 2004 Reading: 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 Slides - Fall 1999 CMU other sources as noted Image source: Intel Corporation

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

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,  References (not required):  Michael Ciletti, Modeling, Synthesis, and Prototyping with the Verilog HDL, Prentice-Hall,  R. Bryant and D. O’Halloran, Computer Systems: A Programmer’s Perspective Prentice-Hall,  John L. Hennessy and David A Patterson, Computer Architecture-A Quantitative Approach, 3rd Ed., Morgan-Kaufmann,  Links on ECE 313 Web Page

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

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

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

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

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

ECE 313 Fall 2004Lecture 1 - Course Overview9 Classes of Computer Systems Embedded Desktop Server Image sources: Dell Computer Rackable Systems Apple Computer

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

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)

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

ECE 313 Fall 2004Lecture 1 - Course Overview13 Computer System Organization  “Five classic components” Processor Control Datapath OutputInput Memory

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 Memory next instr OK, but how do we write useful programs using these instructions? Load Data Perform Calculation Store Results Address Instruction

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

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

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)

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

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

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

ECE 313 Fall 2004Lecture 1 - Course Overview21 Example Architecture: 80x86 (IA-32) Instruction Formats not shown (1-17 bytes in length) EIP(PC)=0x C (condition codes) EAX ECX EDX EBX ESP EBP ESI EDI CS SS DS ES FS GS EIP EFLAGS bits Registers Memory (Max. 4GB) 0x x x x C 0x x x x C 0xfffffffc 32 bits

ECE 313 Fall 2004Lecture 1 - Course Overview22 Example Architecture: MIPS Memory (Max. 4GB) 0x x x x C 0x x x x C 0xfffffffc 32 bits 32 General Purpose Registers R0 R1 R2 R30 R31 PC = 0x C 32 bits Registers 32 oprsrtoffset oprsrtrdfunctshamt opaddress Instruction Formats

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!)

ECE 313 Fall 2004Lecture 1 - Course Overview24 Under the Hood: The Pentium 4 Image sources: Intel Corporation Package Die Photo

ECE 313 Fall 2004Lecture 1 - Course Overview25 Pentium 4 Microarchitecture Source: “The Microarchitecture of the Pentium® 4 Processor”, Intel Technology Journal, First Quarter

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.

ECE 313 Fall 2004Lecture 1 - Course Overview27 Organization of a Desktop PC

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

ECE 313 Fall 2004Lecture 1 - Course Overview29 Under the Hood: Apple iPod Source: EE Times,

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

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

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

ECE 313 Fall 2004Lecture 1 - Course Overview33 Technology Trends  Historical Notes  Current Technology (CMOS VLSI)  Trends (Moore’s Law) Image Source: Intel Corporation

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

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

ECE 313 Fall 2004Lecture 1 - Course Overview36 Performance  Response Time vs. Throughput  Measuring performance using individual programs  Combining measurements  Benchmarks

ECE 313 Fall 2004Lecture 1 - Course Overview37 Processor Implementation  Basic implementation  Single-Cycle  Multicycle  Pipelined implementation  Advanced techniques

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

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

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

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 ( ) or download locally from ECE 313 website * HDL = Hardware Description Language

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

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