Title: Introduction to Computer Engineering
1Introduction to Computer Engineering
- Stamatis Vassiliadis / Georgi N. Gaydadjiev
- Computer Engineering Laboratory
- EEMCS
- Delft University of Technology
2Introduction
- Code ET4246
- Docents Stamatis Vassiliadis / Georgi N.
Gaydadjiev - E-mails stamatis_at_ce.et.tudelft.nl /
georgi_at_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 1445-1545 after class or after
appointment - Things youll 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
3Typical 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) - ...
4ET4 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
5Where 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!
6Why 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
7What 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.
8Computer- as we know it now
Did computers always looked like this?
display
network connection
keyboard
Will computers always look like that?
9The first known computing device
Built around 87 B.C.
Discovered in 1901
Used for astronomical calculations
Sophisticated 20 gears assembly
Knowledge completely lost
10History
-
- 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
11History (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 ATT - UNIX
- 1972 D. Ritchie et al C
- 1987 A. Tanenbaum MINIX (open source clone of
UNIX) - 1991 L. Torvalds Linux
-
12Classes 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
13Computers Turing view
14Solving Computational Problems
Problem
Solutions
15Abstraction
- Difference between interface and implementation
- Interface WHAT something does
- Implementation HOW it does so
16Abstraction simple example
- 21 Multiplexer (MUX)
- Interface
- Implementations
- Gates (fast or slow), pass transistors
X
Y
Mux
S
F
17Abstraction and Complexity
- Abstraction helps to manage complexity
- Complex interfaces
- Specify what to do
- Hide details of how
Design Tools and Methodologies
18Why is Abstraction important?
- Complex interfaces implemented by layers below
- Abstraction hides detail
- Hundreds of engineers build one product
- Shorter development times
- Complexity unmanageable otherwise
19Computer 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 Todays right answer will be
wrong tomorrow! - Two high-level effects
- Technology Push
- Application Pull
20Technology 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 Moores Law
- Devices per chip doubles every 18-24 months
- Computer engineers work to turn the additional
resources into speed/power savings/functionality!
21Moore's Law
- Moores law is good for many years!
22Technology 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
23Application Pull
- Corollary to Moores 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
24Application 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!
25Performance 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)
26Bottom 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
27Current 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. IBMs Linux watch project!), sensors
(ambient computing), - Internetworking and ubiquity
- Services available over wired or wireless
networks
28Final Notes
- Next week - Compilers will be introduced
- Lecture notes will be available