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)