270 likes | 520 Views
Introduction to Computer Engineering. Stamatis Vassiliadis / Georgi N. Gaydadjiev Computer Engineering Laboratory EEMCS Delft University of Technology. Introduction. Code: ET4246 Docents: Stamatis Vassiliadis / Georgi N. Gaydadjiev
E N D
Introduction to Computer Engineering Stamatis Vassiliadis / Georgi N. Gaydadjiev Computer Engineering Laboratory EEMCS Delft University of Technology
Introduction • Code: ET4246 • Docents: Stamatis Vassiliadis / Georgi N. Gaydadjiev • E-mails: stamatis@ce.et.tudelft.nl / georgi@ce.et.tudelft.nl • URLs: ce.et.tudelft.nl/~stamatis / ce.et.tudelft.nl/~georgi • Exam: pass/fail, multiple-choice • Office: 15.250 / 15.320 • office hours: 14:45-15:45 after class or after appointment • Things you’ll be learning: • what the Computer Engineering field is, a basic foundation • what are the basic components and the main ideas used • prepare you for the courses to follow • Book: Lecture Notes ET4246 • Additional reading: see Recommended Literature list in the lecture notes
Typical Lecture Format • 20 minutes Lecture • 5 minutes Questions • 15 minutes Lecture • 5 minutes Questions • If you have no questions then 45 minutes lecture!!!! • OUR GOALS • Show you what the basic concepts are • Show you how those concepts are applied to computers • NOT to talk at you • so... • ask questions • come to office hours • find us in the Computer Engineering Lab (15th floor) • ...
ET4 246 in context • Prerequisites • BSc in Computer Science or • BSc in Electrical Engineering • This course will introduce you to the main topics • System software • Hardware • Design Tools • Follow-on courses: see your MSc program
Where we are headed? • Software (Chapter 2) Compilers and Operating Systems • Hardware (Chapter 3) From Architecture down to logic design • VLSI Design Tools and methodologies (Chapter 4) how the physical machines are realized Key to passing the exam: reading the lecture notes!
Why studying Computer Engineering? • To become a computer designer • Computer Engineers designed your computer and more … • To understand how computing systems operate and: • Write better system Software (Compilers, O/S etc.) • Design complex computer based systems • Create new applications for computing systems • … • Because it is intellectually fascinating! • Computer is the most complex man-made device
What Computer Engineers Do? Apply computing, mathematics and engineering theories and principles to the design of computer hardware, software, networks and computerized equipment to solve technical problems in diverse application domains.
Computer- as we know it now Did computers always looked like this? display network connection keyboard Will computers always look like that?
The first known computing device Built around 87 B.C. Discovered in 1901 Used for astronomical calculations Sophisticated 20 gears assembly Knowledge completely lost …
History • … • 76 B.C. - Antikythera mechanism • 1642 Blaise Pascal - calculating machine • 1800s Babbadge – analytical engine • 1930s – 1940s electromechanical computers • 1937 – J. Atanasoff / C. Berry– ABC (electronic) • 1943/46 – J. Mauchly et al - ENIAC (18,000 tubes) • 1945 – J von Neumann – von Neumann architecture • 1948, 1958 – transistor & IC invention • 1960s – transistor based computers • 1971 – Intel 4004 – the first GP microprocessor • The “modern” computer era started …
History (software) • 1800s Ada Byron – concepts of branches and loops • 1945 Konrad Zuse – Plankalkul (first algorithmic language) • 1949 J. Mauchly – Short Code (first HLL) • 1951 G. Hopper – the first compiler • 1957 J. Backus – FORTRAN • 1960s IBM – virtual machine concept • 1968 N. Wirth – Pascal • 1970s AT&T - UNIX • 1972 D. Ritchie et al – C • 1987 A. Tanenbaum – MINIX (open source clone of UNIX) • 1991 L. Torvalds – Linux • …
Classes of Computing Devices • Supercomputer $5-20 million • Mainframe $0.5-4 million • Server $10-200 thousand • PC/Workstation $1-10 thousand • Game console $300-$1000 • Embedded device $1-$100 • Future disposable 1-100 cents
Algorithm Program Language Machine Architecture Implementation Circuits Devices Solving Computational Problems Problem Solutions
Abstraction • Difference between interface and implementation • Interface: WHAT something does • Implementation: HOW it does so
Abstraction – simple example • 2:1 Multiplexer (MUX) • Interface • Implementations • Gates (fast or slow), pass transistors X Y Mux S F
Application Programs Operating System Scope of this Course-- Compiler Machine Language (ISA) Digital Logic Electronic circuits Semiconductor devices Abstraction and Complexity • Abstraction helps to manage complexity • Complex interfaces • Specify what to do • Hide details of how ++Design Tools and Methodologies • Main goal: remove magic
Application Programs Operating System Compiler Machine Language (ISA) Digital Logic Electronic circuits Semiconductor devices Why is Abstraction important? • Complex interfaces implemented by layers below • Abstraction hides detail • Hundreds of engineers build one product • Shorter development times • Complexity unmanageable otherwise
Computer Engineering • Exercise in engineering tradeoff analysis • Find the fastest/cheapest/power-efficient/etc. solution • Optimization problem with 1000s of variables • All the variables are changing continuously • At non-uniform rates • With inflection points • Only one guarantee: Today’s right answer will be wrong tomorrow! • Two high-level effects: • Technology Push • Application Pull
Technology Push • What do these two intervals have in common? • 1700s-1999 (~300 years) • 2000-2001 (2 years) • Answer: Equal progress in processor speed! • The power of exponential growth! • Driven by Moore’s Law • Devices per chip doubles every 18-24 months • Computer engineers work to turn the additional resources into speed/power savings/functionality!
Moore's Law • Moore’s law is good for many years!
Technology Push • Technology advances at varying rates • E.g. DRAM capacity increases at 60% / year • But DRAM speed only improves 10% / year • Creates gap with processor frequency! • Inflection points • Crossover causes rapid change • E.g. enough devices for single-chip processor • Imminent: system on a chip (SoC) and chip multiprocessors (CMP) • Imminent: clock signal cannot reach entire chip
Application Pull • Corollary to Moore’s Law: Cost halves every two years In a decade you can buy a computer for less than its sales tax today. – Jim Gray • Computing devices cost-effective for • Enterprise computing – banking, stock exchange • Departmental computing – computer-aided design • Personal computer – spreadsheets, email, web • Embedded systems – look around you
Application Pull • What about the future? • E.g. weather forecasting computational demand • Applications that are not cost-effective today • Virtual reality • Teleconferencing • New Web technologies • Global Wireless Networks • Proactive (beyond interactive) devices • … • This is your job!
Performance vs. Design Time • Time to market is very important (almost critical) • E.g. , new design development may take 3 years • It will be 3 times faster than other • But if technology improves 50% / year • In 3 years 1.53 = 3.375 • So the new design is worse than existing ones! … (unless it also employs new technology)
Bottom Line Designers must know BOTH software and hardware • Their contribution to the layers of abstraction • IC costs / performance aspects • Compilers and Operating Systems • Design Tools and new Design Methods
Current trends • Parallelism in microprocessors • Multithreaded execution • SIMD parallelism • Explicit instruction-level parallelism • Reconfigurable computing • Low-power portable computing • Reducing the energy consumed by microprocessors • Computing in laptops, handheld devices, watches (e.g. IBM’s Linux watch project!), sensors (ambient computing), … • Internetworking and ubiquity • Services available over wired or wireless networks
Final Notes • Next week - Compilers will be introduced • Lecture notes will be available