Introduction to Computer Engineering - PowerPoint PPT Presentation

Introduction to computer engineering l.jpg
Download
1 / 27

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Introduction to Computer Engineering

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introduction to computer engineering l.jpg

Introduction to Computer Engineering

Stamatis Vassiliadis / Georgi N. Gaydadjiev

Computer Engineering Laboratory

EEMCS

Delft University of Technology


Introduction l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 disposable1-100 cents


Solving computational problems l.jpg

Algorithm

Program Language

Machine Architecture

Implementation

Circuits

Devices

Solving Computational Problems

Problem

Solutions


Abstraction l.jpg

Abstraction

  • Difference between interface and implementation

    • Interface: WHAT something does

    • Implementation: HOW it does so


Abstraction simple example l.jpg

Abstraction – simple example

  • 2:1 Multiplexer (MUX)

  • Interface

  • Implementations

    • Gates (fast or slow), pass transistors

X

Y

Mux

S

F


Abstraction and complexity l.jpg

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


Why is abstraction important l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Moore's Law

  • Moore’s law is good for many years!


Technology push21 l.jpg

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 l.jpg

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 pull23 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Final Notes

  • Next week - Compilers will be introduced

  • Lecture notes will be available


  • Login