Erik Jonsson School of Engineering and Computer Science THE UNIVERSITY OF TEXAS AT DALLAS HISTORY OF EE 2310

Similar documents
ECE 15B COMPUTER ORGANIZATION

EECE 321: Computer Organization

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

ICE3003: Computer Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Computer Systems

378: Machine Organization and Assembly Language

14:332:331. Lecture 1

COMPUTER ARCHITECTURE

Introduction to Computer Systems

ECE 154A. Architecture. Dmitri Strukov

Computer Systems & Architecture

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

EE282H: Computer Architecture and Organization. EE282H: Computer Architecture and Organization -- Course Overview

CS64 Computer Organization

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

CSC 111 Introduction to Computer Science (Section C)

1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p

TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION

URL: Offered by: Should already know how to design with logic. Will learn...

Introduction to Computer Systems

ESET 349 Microcontroller Architecture, Fall 2018

COMP3221: Microprocessors and. Embedded Systems

Course overview Computer system structure and operation

CO200 Computer Organization and Architecture

CS3350B Computer Architecture. Introduction

EE3032 Introduction to VLSI Design

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 1: Introduction

CS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

Faculty of Sciences and Information Technology

ECE 4450:427/527 - Computer Networks

Academic Course Description. EM2101 Computer Architecture

Redes de Computadores. Introduction

CSE 141L Computer Architecture Lab Fall Lecture 3

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design

Intro to Math 230 Assembly Language Programming. Lecture # 01 01/15/08

CS61C Machine Structures. Lecture 1 Introduction. 8/25/2003 Brian Harvey. John Wawrzynek (Warznek) www-inst.eecs.berkeley.

CNT 4004: Computer Networks I. Tentative Syllabus

WELCOME TO CS 16! Problem Solving with Computers-I

ECE 15B Computer Organization Spring 2011

ESET 369 Embedded Systems Software, Spring 2018

Computer Organization and Design

CSE 141: Computer Architecture. Professor: Michael Taylor. UCSD Department of Computer Science & Engineering

Day Hour Timing pm pm am am

EE3315 Internet Technology EE3315 Internet Technology Overview Slide 1

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Instructors. ECE 152 Introduction to Computer Architecture. Undergrad Teaching Assistants. Course Website. Textbook.

Introduction to UNIX

University of Asia Pacific (UAP) Department of Computer Science and Engineering (CSE)

Computer Organization And Design Solutions 4th Edition

Computer Organization And Design Revised Fourth Edition Solutions Manual

Introduction to Computer Systems

CS 471 Networking and Distributed Operating Systems

EECS2021. EECS2021 Computer Organization. EECS2021 Computer Organization. Morgan Kaufmann Publishers September 14, 2016

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

ECE/CS 552: Introduction To Computer Architecture 1

COMPUTER ARCHTECTURE

CSCI 565 Compiler Design and Implementation Spring 2014

EE108B: Digital Systems II EE108B. Digital Systems II. Major Topics. What EE108b is About

ECE 475/CS 416 Computer Architecture - Introduction. Today s Agenda. Edward Suh Computer Systems Laboratory

Overview of the Class

Computer Organization And Design 4th Edition Solution Manual

CS Systems Qualifying Exam 2014

CS 245: Database System Principles

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

Chapter 2 Lecture 1 Computer Systems Organization

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

Chapter 1: Introduction. Oregon State University School of Electrical Engineering and Computer Science

SSE3044: Operating Systems

Computer Science Technology Department

EE 434 ASIC & Digital Systems

CPSC 2380 Data Structures and Algorithms

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

CS 3516: Computer Networks

CS-3410 Systems Programming Spring 2013

ECE 448 FPGA and ASIC Design with VHDL. Spring 2018

CS2204 DIGITAL LOGIC & STATE MACHINE DESIGN FALL 2005

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading

Course and Unix Intro

More Examples Using Functions and Command-Line Arguments in C++ CS 16: Solving Problems with Computers I Lecture #6

Computer Architecture. Fall Dongkun Shin, SKKU

ECE 595Z Digital Systems Design Automation

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

Welcome! COMS 4118 Opera3ng Systems I Spring 2018

Computer Architecture

Computer Systems Architecture Spring 2016

ECE : Fundamentals of Wireless Networking - Spring 2007

CSC 256/456: Operating Systems. Introduction. John Criswell! University of Rochester

Introduction to Computer Systems

Connecting to SUNet Remotely

Welcome to! 4DN4! Advanced Internet Communications"

CMPE 150/L : Introduction to Computer Networks

The Microprocessor as a Microcosm:

CSE 504: Compiler Design

CS 0449 Intro to Systems Software Fall Term: 2181

Comp 104: Operating Systems Concepts

Introduction to Data Structures

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

Transcription:

HISTORY OF EE 2310 Initially planned by Prof. David Harper as a counterpart to courses on computer organization and design at Berkeley and Stanford D. Patterson (Berkeley) and J. Hennessy (Stanford) are the academic originators of RISC architecture Required course, prerequisite to EE 4320 Taught in 1994 95 as EE 2399 by lecturers Implementation did not meet the expectations of EE faculty Taught 1996 present by Prof. Cantrell, D. Hollenbeck and Dr. Dodge Background material added to make Patterson-Hennessy textbook accessible to students with zero hardware or software experience: Digital kindergarten (gates, few-gate circuits, Boolean, Karnaugh) Basic CS (overview of processes, data structures) MANY comments on evaluation forms call for a laboratory EE 2V99 taught in Spring 1999 c C. D. Cantrell (08/1999)

EE2310 OVERVIEW Course organization Professor Cantrell (email: cantrell@utdallas.edu) Voice phone: (972) 883-2868 Office: EC 2.302 Office hours: Saturdays 10 AM noon Dr. Dodge (email: dodge@utdallas.edu) Voice phone: (972) 883-2951 Office: EC 2.926 Office hours: 4 5 PM Tuesdays and Thursdays TA: Arturo Garcia (email: arturo@utdallas.edu) Office: EC 2.908 Office hours: Mondays and Wednesdays 3:00 4:15 PM Provisional grading algorithm (subject to change): course % grade = 0.10(homework %) + 0.225(midterm 1 %) + 0.225(midterm 2 %) + 0.45(final exam %) c C. D. Cantrell (08/1999)

GOALS FOR WEEK 1 Get access to the World Wide Web Ways to get on the Web: PC or Mac via modem, cable modem or DSL PC or Mac in UTD Microcomputer Lab Internet-connected Unix machine from work or UTD EE 2310 Home Page: http://www.utdallas.edu/~cantrell/ee2310/ Acquire books: Hennessy and Patterson, Computer Organization and Design, Second Edition, Morgan Kaufmann Publishers John Waldron, Introduction to RISC Assembly Language Programming, Addison-Wesley Capilano Computing Systems, LogicWorks 4, Addison-Wesley Roger Tokheim, Digital Principles, Third Edition, McGraw-Hill c C. D. Cantrell (08/1999)

WHAT DO EEs DO? DESIGN Systems Computers, wireless phones, fiberoptic networks,... Circuits Logic circuits, transmission lines, amplifiers,... Devices Transistors, antennas,... Software Signal processing, navigation, simulation,... ANALYZE (one must understand in order to design) Systems Performance, signal-to-noise ratio,... Devices Semiconductors, antennas, waveguides,... TEACH Courses Individual instruction M.S., Ph.D. dissertation research

COURSE GOALS EE 2310 Acquire the ability to use a hierarchical approach to understand a complex system Basic Electrical Engineering approach Valid for hardware and software Facilitates troubleshooting Essential on the job Become sufficiently well acquainted with the principles of computer architecture to be able to make intelligent use of computers for designing and simulating engineering systems, components, and devices Acquire a basic knowledge of assembler language Helps one to accomplish the first two goals Useful if one works with embedded systems

VIEWS OF A 74135 DEVICE AT THREE DIFFERENT HIERARCHICAL LAYERS IC LEVEL GATE LEVEL 1 2 4 5 6 1A 1B 1C,2C 2A 2B 135 1Y 2Y 3 7 PIN1 PIN2 PIN3 PIN4 PIN1 PIN2 PIN3 PIN4 PIN1 PIN2 PIN5 PIN3 PIN4 PIN6 PIN7 PIN5 PIN5 PIN6 PIN6 PIN7 PIN7 GATE LEVEL b a c TRANSISTOR LEVEL b b a a b b

FALLACIES I don t need to understand computers in order to use them. Nothing works all the time. When it breaks, it s up to you: to diagnose the problem (probably) to fix it I ma CS major. I don t need to know about circuits. I mmajoring in EE. I don t need to know about data structures. The boundary between hardware and software is fuzzy Field-programmable gate arrays (FPGAs): Software-programmable computer architecture! Computational modeling: Choice of algorithm and programdesign depend on computer architecture Cache size/design affects loop order Parallelizability of algorithms/programs affects choice & design of hardware

WHAT IS COMPUTER ARCHITECTURE? Applications Compiler O/S Kernel Instruction Set Architecture Functional Units Memory I/O System Logic Gates (Digital Design) Devices (Circuit Design)

SHRINK-WRAPPED SOFTWARE Shrink-wrapped software is a compiled program (or suite of programs) packaged in a box that is sealed inside a plastic envelope that shrinks to fit the box when it is heated Three things make shrink-wrapped software usable on computers that are manufactured by different vendors: Different vendors compile their software for the same instruction set architecture Different vendors compile their software for the same operating system Input/output hardware that conforms to a common set of standards is available on different systems c C. D. Cantrell (08/1999)

THE MAIN COMPONENTS OF A COMPUTER Computer Processor Control Memory Peripheral Devices Input Datapath Output

HIERARCHICAL APPROACH TO WRITING SOFTWARE Large program(100 s or 1000 s of lines) Use top-down approach: Divide probleminto tasks Define a function (procedure, subroutine) to accomplish each task Code each function in its own module Specify interfaces (parameters to be passed, etc.) for each function module Essential concept for systems integration: The implementation of a function is independent of its interface specification Implementation belongs to a different level in the hierarchy Each module is a black box to higher-level modules Design is the most important step in creating a large program Most hard-to-find bugs originate in a faulty design

SIMULATORS SPIM ( 1 25th the performance at none of the cost ) Simulates the RISC architecture (MIPS) most used in embedded systems (Nintendo 64, Sony PlayStation,...) Available for architectures other than the native one The MIPS instruction set is simpler than most The SPIM interface is better than many real debuggers Registers, data segment, text segment, stack Documentation: Patterson & Hennessy, Appendix A; Waldron XMPSIM Simulates one Cray X-MP processor Runs under DOS Gives good view of pipeline timing, stalls, etc.

EE 2310 OUTLINE What s inside the case? History know it or repeat it Performance analysis Data representations Combinational logic circuits and Karnaugh maps MIPS assembly language Sequential logic circuits Design of a simple arithmetic and logical unit (ALU) Design of the ALU control Designing a processor for speed: Pipelining Design of high-performance memory systems Input and output systems

HOW TO GET ONTO THE WEB FROM HOME (1) Basic requirements PC (Windows 3.1, 95 or NT, or linux) or Mac (System7/8) Modem(28.8 or 56k preferred) Text-based communications program (not needed in Windows 95) Step 1: Find an Internet Services Provider (ISP) (UTD, for example) PPP (point to point protocol) is used to communicate with the ISP UTD free access: 60 hours of PPP time per month for every student UTD RNA: unlimited use & no busy signal for $6.70/month Commercial ISPs: $16 $25 per month for unlimited PPP time AOL: $20/month for unlimited use

HOW TO GET ONTO THE WEB FROM HOME (2) Step 2: Get PPP software for your computer from your ISP, or by downloading fromthe Internet through Infoserv at UTD PC (Windows 3.1): Trumpet Winsock Mac (System7): MacTCP 2.0.6 or Open Transport 1.x, FreePPP Step 3: Learn how to use PPP to communicate with UTD See info at http://www.utdallas.edu/utdgeneral/ir/ppp/ The PPP software can be used to issue text commands to the modemand to the UTD Annex system Although it s possible to write a script for Trumpet or FreePPP, it s best to log in manually at first Write a script later if you want to

HOW TO GET ONTO THE WEB FROM HOME (3) Step 4: Get Web browser software for your computer from your ISP, with your operating system, or by downloading from the Internet through Infoserv at UTD Netscape Navigator 3.0 or 4.0, or Netscape Communicator 4.0, from http://www.netscape.com/ Microsoft Internet Explorer comes with Windows 95, or you can get it from http://www.microsoft.com/ Surf s up!

WHAT S INSIDE THE CASE: A LOGIC BOARD c C. D. Cantrell (04/1999)