http://ziyng.eecs.northwestern.edu/ dickrp/eecs203/ Brief course overview Instructor: Roert Dick Office: L477 Tech Emil: dickrp@northwestern.edu Phone: 847 467 2298 TA: Emil: TT: Emil: Nel Oz neloz@u.northwestern.edu Dvid Bild d-ild@northwestern.edu Hrdwre design Low-level progrmming 3 Wht s your mjor? Computer geek lredy? Good! You ll still proly see lot of new things in this course Go hed nd sk questions tht push eyond the sic mteril If you wnt to go eyond the norml ls, I ll e hppy to mke suggestions EECS 203 should ly the foundtions for logic design nd understnding the connections etween electrons nd softwre 4 5 Not computer geek yet? Good! Bckgrounds You re going to e working with computers in lmost ny field Understnding how they work t the lowest levels nd knowing how to uild them will put you hed your peers If you re not computer geek yet, sit in the front of the clssroom nd sk questions! It s the est wy to keep the course s pce sne Different ckgrounds EECS 203 cn e hrd course However, if you work hrd, I m totlly confident tht you will lern how to uild useful computers TAs nd I will help In the pst, mny Mterils Science, BME, nd IEMS did solutely mzing work 6 7 Rules Core course gol If something in lecture doesn t mke sense, plese sk If it doesn t mke sense to you, others hve the sme question! Do you feel like there is gp in your ckground, e.g., forgot out resistnce nd cpcitnce? It s O.K. I hve hndouts nd office hours to help ut don t fll ehind! You re pying huge mount of money for this I expect lot However, I ll do whtever I cn to mke sure you get s much out of this course s you put in By the end of this course, I wnt every one of you to e cple of designing nd uilding simple ut useful computer systems from integrted circuits, wires, nd ssemly lnguge instructions In fct, it s requirement 8 9
How to get l supplies How to get l supplies How to suscrie to miling list Some good references Decide grding policies Pln office hours Course overview (if time permits) Ech student is required to py $20 for l supplies Integrted circuits, wires, cpcitors, resistors, etc. Mke check out to Northwestern University Tke the check to Crol Surm in Tech L359 Tke the receipt to Alert Lyerl in CG30 to pick up l kits 11 12 Wesite References http://ziyng.eecs.northwestern.edu/ dickrp/eecs203/ Will use lckord for grdes Primry reference: M. Morris Mno nd Chrles R. Kime. Logic nd Computer Design Fundmentls. Prentice-Hll, NJ, fourth edition, 2008 Zvi Kohvi. Switching nd Finite Automt Theory. McGrw-Hill Book Compny, NY, 1978 Rndy H. Ktz. Contemporry Logic Design. The Benjmin/Cummings Pulishing Compny, Inc., 1994 J. Hennessy nd D. Ptterson. Computer Architecture: A Quntittive Approch. Morgn Kufmnn Pulishers, CA, third edition, 2003 13 14 Grding scheme Lte homework ssignments 15% homeworks 35% ls 20% midterm exm 30% finl exm After the clss, on the due dte: -5% After tht, 10% per dy penlty Three or more working dys lte: No credit I ll hnd out solutions 15 16 Lte l ssignments When to strt ls Lte l verifictions will e done t the discretion of the TAs In other words, lthough this will sometimes e possile, I m not going to force the TA to skip their clsses, reserch work, or mels to hold extr l verifiction hours Lte l checks (without prior pprovl): -20% Three or more working dys lte: No credit The TAs spend huge mount of time checking ls Hving them do l checks outside of the scheduled hours mkes it difficult to keep up in their own clsses nd reserch Strt ls erly to see if you hve questions The TAs nd I will e hppy to help Will need time to finish fter pointed in right direction 17 18
Ls L check times Open ls New ls will normlly e ssigned on Mondys Tech CG30 L checks will normlly e on Mondys (tenttively) The TAs nd I my leve note nd go from our offices to CG24 during office hours to nswer l questions First l much quicker thn others Need to get go to get kit ASAP You will need to sign up for l time slot 19 20 Office hours options Course overview Know wht is computer engineering is 1 Most likely I will hve office hours Mon/Tue 15:00 16:00 Know some resons to lern computer engineering 2 Hopefully these times work for most people Understnd course gols 3 TA office hours will e nnounced soon Know which future courses EECS 203 cn prepre you for Know course topics Strt lerning sic logic definitions 21 22 Wht is computer engineering? Wht is computer engineering? You need something solid to stnd on Design nd implementtion of computer systems Applictions mke more sense if you understnd progrmming Hrdwre nd softwre design Progrmming mkes more sense if you understnd processors Relted to electricl engineering nd computer science with n emphsis on digitl circuits Processor mke more sense if you understnd logic design Logic design mkes more sense if you understnd circuits nd discrete mth The est computer engineers re lso good t electricl engineers nd computer science Circuits mke more sense if you understnd trnsistors Every understnding rests on others Knowing fundmentls helps in fields where computers re used Computer engineering requires understnding the mny levels nd the wys they fit together 23 24 Why computer engineering Why computer engineering? Fun Why re you tking this clss? Computers re lmost mgicl Wht do you wnt to lern? Wht kind of ckground do you hve? You ll lern how they work nd how to uild new ones You ll lern (discrete) mth, semiconductor physics, nd the theory of lgorithms When you see something cool do you rech for screwdriver? Who ws electrocuted s young child trying to figure out how something works? Who hs written code? Who hs designed something complicted for the fun of it? 25 You ll e le to use your knowledge cretively 26
Why computer engineering? Fun Why computer engineering? Flexile In the end, your cretions will e tested ginst unforgiving physicl lws in the rel world There re mny right wys (wys tht work) to design computer ut there re lso mny wrong wys (wys tht don t work) There re mesurle nd cler differences etween the qulity of different designs You ll spend lot of time with hrd-working people who shre your interest in designing mchines tht mke life etter Lern hrdwre nd softwre design, cn move in either direction Emedded system design Computer rchitecture VLSI design Digitl circuit design Softwre engineering Algorithm design Informtion technology If you finish Ph.D., mny other doors lso open 27 28 Why computer engineering? Money Highest 2006 2007 slries reported y Ntionl Assocition of Colleges nd Employers, Ferury 2007 Field Averge slry ($) Chemicl engineering 60,054 Computer engineering 54,877 Electricl engineering 54,599 Mechnicl engineering 54,587 Economics 51,631 Computer science 51,070 Finnce 47,905 Civil engineering 47,145 Accounting 46,508 Business dministrtion/mngement 43,523 Mrketing/mrketing mngement 41,323 Why computer engineering? Money Money lone isn t good reson to pick mjor Do wht you love!...ut if you love computer engineering, the finncil stuff might mke it esier to justify to your reltives 29 30 Future courses Future courses Advnced digitl logic design Computer rchitecture Design nd nlysis of lgorithms Fundmentls of computer system softwre Introduction to computer networks Introduction to VLSI CAD Introduction to mechtronics Microprocessor system design Progrmming for computer engineers VLSI systems design 31 32 Course topics in context Course topics Logic gtes Bsic units of digitl logic design Truth tles Simple Boolen function representtion Boolen lger Another wy of representing nd mnipulting Boolen functions Two-level logic forms Logic minimiztion: Boolen lger, Krnugh mps, nd Quine-McCluskey s method (if time permits) Reduce re, power consumption, or improve performnce Hzrds Implementtion in CMOS Numer systems: deciml, inry, octl, hex, nd Gry codes Signed nd unsigned numers 33 34
Course topics Course topics Arithmetic circuits, decoders, encoders, nd multiplexers of compiltion of higher-level lnguges Sequentil logic: Ltches, flip-flops Computer orgniztion Finite stte mchines Microcontrollers Assemly lnguge progrmming 35 36 Softwre Hrdwre Esy to chnge nd design Usully hs low performnce compred to hrdwre implementtion Usully difficult to design nd implement compred to softwre High power consumption Necessry (ll softwre runs on hrdwre) Generl-purpose processor High performnce Digitl signl processor (DSP) Low power Hrdwre description lnguges cn mke this esier Field progrmmle gte rry (FPGA) Appliction specific integrted circuit (ASIC) 37 38 Hrdwre/softwre rules of thum Emedded systems Specil-purpose computers, computers within devices which re generlly not seen to e computers If you cn do it in softwre, do it in softwre However, some things cn t e done in sne wy with softwre Lrger mrket thn generl-purpose computers y volume nd monetry vlue If you cn t do it in softwre ut you cn do it with n HDL, do it with n HDL Microcontrollers rule Cool ppliction-specific optimiztions Sometimes the results of utomtion ren t good enough If you re tired, don t do hrdwre implementtion Power Size Reliility Hrd dedlines Softwre design errors usully men wsted time Hrdwre design errors often men fried chips 39 40 Mrket Digitl nd nlog signls +3.3 high V How lrge is the semiconductor mrket? 0 $270.3 109 for 2007 nd growing fst undefined low time (microsecs) Semiconductor Industry Assocition Anlog: Continuously vrying signl Digitl: Discrete vlues, ssumed instntneous trnsition In relity, digitl ssumption is pproximtion Use thresholds 41 43
Digitl voltge regenertion Boolen lger 3.3 V OUT 0 0 V IN Error in input ppers on output Voltge regenertion hides input vrition 3.3 The only vlues re 0 (or flse) nd 1 (or true) One cn define opertions/functions/gtes Boolen vlues s input nd output A truth tle enumertes output vlues for ll input vlue comintions 44 45 AND OR 0 0 0 0 1 0 1 0 0 1 1 1 + 0 0 0 0 1 1 1 0 1 1 1 1 + AND = = = OR = = + 46 47 NOT Comintionl vs. sequentil logic clock D flip flops 0 1 1 0 q + + plin old comintionl logic NOT = = 0.65 No feedck etween inputs nd outputs comintionl Outputs function of the current inputs, only Feedck sequentil Outputs function of the current nd previous inputs 48 49 Sequentil logic Summry Outputs depend on current stte nd (mye) current inputs Next stte depends on current stte nd input For implementle mchines, there re finite numer of sttes Synchronous Stte chnges upon clock event (trnsition) occurs Asynchronous Stte chnges upon inputs chnge, suject to circuit delys Brief overview Introduction nd definitions 50 51
Mndelrot set disply code Mndelrot set imge produced y code threshold = 1000 iter = 500 def f(c, iter): = (0 + 0j) for i in xrnge(iter): = **2 + c if s() > threshold: rek return desc = [[complex(x, y) for x in xfrnge(-2, 2, 0.0015)] for y in xfrnge(1, -1, -0.0015)] 52 53 Computers enled mny inventions Reding ssignment (for next clss) Simultion, utomtion, knowledge discovery In strophysics, chemistry, iology, medicine, etc. M. Morris Mno nd Chrles R. Kime. Logic nd Computer Design Fundmentls. Prentice-Hll, NJ, fourth edition, 2008 Sections 1.1, 2.1, nd 2.2 CMOS hndout from M. Morris Mno nd Chrles R. Kime. We supplements to Logic nd Computer Design Fundmentls. Prentice-Hll, NJ. http://www.writphotec.com/mno/supplements Red these s soon s possile 54 56 Computer geek culture references Z i+1 = Z 2 i + K 57