CSCI 2570 Introduction to Nanocomputing Historical Context for - - PowerPoint PPT Presentation

csci 2570 introduction to nanocomputing
SMART_READER_LITE
LIVE PREVIEW

CSCI 2570 Introduction to Nanocomputing Historical Context for - - PowerPoint PPT Presentation

CSCI 2570 Introduction to Nanocomputing Historical Context for Computing John E Savage A Brief History of Computing and Computer Technologies Lets look at some of the key signposts in the development of computer technology.


slide-1
SLIDE 1

CSCI 2570 Introduction to Nanocomputing

Historical Context for Computing John E Savage

slide-2
SLIDE 2

Lecture 02 Historical Context CSCI 2570 @John E Savage 2

A Brief History of Computing and Computer Technologies

Let’s look at some of the key signposts in the

development of computer technology.

Let’s briefly examine models of computation

slide-3
SLIDE 3

Lecture 02 Historical Context CSCI 2570 @John E Savage 3

Early Computers

Jacquard Loom – 1746

Punched cards control weaving

Babbage’s Analytical Engine – 1834

Mechanical computer, punched-card data input Mill is shown above Arithmetic done in base 10.

slide-4
SLIDE 4

Lecture 02 Historical Context CSCI 2570 @John E Savage 4

Early Computers

Hollerith electric tabulator/sorter

Punched-card sorter – collated 1890 census data

that was forecast to take more than 10 years!

slide-5
SLIDE 5

Lecture 02 Historical Context CSCI 2570 @John E Savage 5

Computers in the 20th Century

Turing machine

Two-way tape for data input and storage and finite-

state machine for reading/writing on tape.

Demonstrated impossibility of certain

computations.

Control Unit

slide-6
SLIDE 6

Lecture 02 Historical Context CSCI 2570 @John E Savage 6

20th Century Programmable Computers

Atanasoff (1940) – linear eqn. solver, tube-based Zuse’s Z3 (1941) – relay-based computer Colossus (1943) – broke Enigma code, tube-based Mark I (1944) – general-purpose, relay-based ENIAC (1946) – general-purpose, tube-based Thousands of “computers” existed in 1940s

slide-7
SLIDE 7

Lecture 02 Historical Context CSCI 2570 @John E Savage 7

Computers in the 20th Century

The von Neumann model Stored programs Fetch-execute cycle

CPU

slide-8
SLIDE 8

Lecture 02 Historical Context CSCI 2570 @John E Savage 8

The Computer Revolution Begins

Transistor invented at Bell Labs in 1947

Semiconductor switch – replaced vacuum tube.

By 1958 IBM was selling the 7070, a transistor-

based computer.

slide-9
SLIDE 9

Lecture 02 Historical Context CSCI 2570 @John E Savage 9

The Integrated Circuit

Integrated circuits invented independently in

1959 by Jack Kilby and Robert Noyce

Transistors and wires combined on a chip through

photolithography.

"What we didn't realize then was that the

integrated circuit would reduce the cost of electronic functions by a factor of a million to one, nothing had ever done that for anything before" - Jack Kilby

slide-10
SLIDE 10

Lecture 02 Historical Context CSCI 2570 @John E Savage 10

Photolithography

This is the process of transferring a pattern to

the surface of a chip using light.

slide-11
SLIDE 11

Lecture 02 Historical Context CSCI 2570 @John E Savage 11

The VLSI Revolution

Intel 4004 CPU placed on a chip – 1969 By late 1970s very complicated chips were

being assembled.

New challenges were encountered:

Specifying large chip designs simply Simulating the electronics Laying out chips Designing area efficient algorithms Understanding tradeoffs through analysis

slide-12
SLIDE 12

Lecture 02 Historical Context CSCI 2570 @John E Savage 12

VLSI Emerges as an Academic Area in Late 1970s

Introduction to VLSI published by Carver Mead

and Lynn Conway in 1980.

Large chip designs now had to be specified

Hardware design languages invented

Complicated electronics needed to be simulated.

Electronic simulators, such as Spice, developed

Gates and memory cells needed to be placed

Computer-aided design emerges

Area-efficient algorithms and theory

VLSI layouts and AT2 lower bounds developed

slide-13
SLIDE 13

Lecture 02 Historical Context CSCI 2570 @John E Savage 13

The VLSI Model

Wires have width, gates have area.

The feature size of a VLSI technology is the size

  • f the smallest feature (wire width/separation)

The area of gates is comparable to the

square of feature size

The area occupied by wires often dominates the

area of gates.

slide-14
SLIDE 14

Lecture 02 Historical Context CSCI 2570 @John E Savage 14

The VLSI Crisis

Moore’s Law – doubling of # transistors/chip

every 18 months – coming to an end.

Chip factories now cost $3-5 billion to

construct!

Devices are so small that electronic models

are no longer accurate; expensive redesign needed to meet systems requirements.

slide-15
SLIDE 15

Lecture 02 Historical Context CSCI 2570 @John E Savage 15

What’s Next?

Nanotechnology of course! Nanotechnology is a broad term that includes

biological elements, molecular electronics, and quantum computing.

We give an overview of these technologies

but focus primarily on the systems issues arising from nano-electronics.

slide-16
SLIDE 16

Lecture 02 Historical Context CSCI 2570 @John E Savage 16

Emergence of Nanotechnology

Bucky balls (C60) discovered at Rice in 1985 Iijima discovered carbon nanotubes in 1991

slide-17
SLIDE 17

Lecture 02 Historical Context CSCI 2570 @John E Savage 17

Properties of Nanotechnologies

Methods of assembly are either very slow

and precise or fast and non-deterministic.

Fast assembly is good at creating fairly

regular structures.

There is hope that through DNA templating

non-regular structures will be possible

slide-18
SLIDE 18

Lecture 02 Historical Context CSCI 2570 @John E Savage 18

The Crossbar – A Promising Nanotechnology

Two sets of parallel wires with switches at

their intersections.

Crossbars are used as routers and memories

today.

slide-19
SLIDE 19

Lecture 02 Historical Context CSCI 2570 @John E Savage 19

Mechanical Crossbar Memory

slide-20
SLIDE 20

Lecture 02 Historical Context CSCI 2570 @John E Savage 20

NRAM – Nonvolatile RAM Crossbars of Carbon Nanotubes

Electrostatic attraction used to make contacts,

repulsion breaks them.

Nantero’s claims: (play the movie)

Permanently nonvolatile memory Speed comparable to DRAM/SRAM Density comparable to DRAM Unlimited lifetime Immune to soft errors Will replace all existing forms of bulk memory!

No behavioral models yet presented

slide-21
SLIDE 21

Lecture 02 Historical Context CSCI 2570 @John E Savage 21

Many Other Examples of Computational Nanotechnology

Crossbars realized with silicon nanowires

(NWs).

Many issues concerning controlling NWs with

mesoscale wires (MWs).

Reliable computation with unreliable

elements.

slide-22
SLIDE 22

Lecture 02 Historical Context CSCI 2570 @John E Savage 22

Goals of the US National Nanotechnology Initiative

Maintain a world-class research and development

program aimed at realizing the full potential of nanotechnology;

Facilitate transfer of new technologies into products

for economic growth, jobs, and other public benefit;

Develop educational resources, a skilled workforce,

and the supporting infrastructure and tools to advance nanotechnology; and,

Support responsible development of

nanotechnology.

slide-23
SLIDE 23

Lecture 02 Historical Context CSCI 2570 @John E Savage 23

Introduction to Formalized Models of Computation

Logic circuits Finite state machines (FSAs)

Deterministic and non-deterministic

Turing machines

Containing one or more potentially infinite tapes Deterministic and non-deterministic

Languages NP-complete problems.

slide-24
SLIDE 24

Lecture 02 Historical Context CSCI 2570 @John E Savage 24

Logic Circuits

Feasibility of two-level logic leads to computation of

binary functions.

Binary function f : Sn Ø Sm defined by table. Can be realized with AND, OR, NOT

{NAND} is another “complete basis”

Challenging to find small circuits

Most functions f : Sn Ø S have circuit size O(2n/n) Practical circuits have size O(n) to O(n3).

slide-25
SLIDE 25

Lecture 02 Historical Context CSCI 2570 @John E Savage 25

Finite-State Machine (S,Q,δ,F)

Bounded number of states Q. Input in S takes machine from

a state to a state, δ: Q× SØ Q

Some states are final (in F). “Accepted” strings move FSM

from start state to a final state

The FSM “recognizes” the

language of accepted strings.

1 q0 1 q1 Start state Final state

slide-26
SLIDE 26

Lecture 02 Historical Context CSCI 2570 @John E Savage 26

Languages

A language is a set of strings over an

alphabet.

Examples:

{0, 00, 000, …} {1, 01, 10, 100, 010, 001, 0001, …, 1101, … }

(odd number of 1s)

slide-27
SLIDE 27

Lecture 02 Historical Context CSCI 2570 @John E Savage 27

Limits on Language Acceptance

Are there languages that cannot be accepted

by an FSM?

How about {0n1n}? What is the property of FSMs that prevents

them from “counting?”

slide-28
SLIDE 28

Lecture 02 Historical Context CSCI 2570 @John E Savage 28

Nondeterministic Finite-State Machine (S,Q,δ,F)

Possibly more than one

successor state, δ: Q× SØ 2Q

Addition of “hidden” input

removes nondeterminism

Hidden inputs form certificate

for acceptance of a string.

The languages recognized by

NFSMs and FSMs are the

  • same. Why?

1 q0 1 0,1 q1 Start state Final state

slide-29
SLIDE 29

Lecture 02 Historical Context CSCI 2570 @John E Savage 29

Circuits and FSMs

If an FSM executes T cycles, can it be

simulated by a circuit?

δ Mem Input Output δ δ δ q0 x2 y1 q1 qT-1 qT x1 xT y2 yT

slide-30
SLIDE 30

Lecture 02 Historical Context CSCI 2570 @John E Savage 30

Turing Machines

A Turing machine is an FSM or NFSM control

unit connected to one or more potentially infinite tapes.

Is the power of a TM enhanced by having

more tapes?

Control Unit

slide-31
SLIDE 31

Lecture 02 Historical Context CSCI 2570 @John E Savage 31

Language Acceptance by TMs

A string placed on the otherwise blank input

tape of a TM is accepted if its control unit enters a final state.

This applies to both FSM and NFSM control units.

Can a Turing machine accept {0n1n}? How? The time to accept a string on a TM is the

number of steps taken by its control unit.

Time will depend on the number of tapes.

slide-32
SLIDE 32

Lecture 02 Historical Context CSCI 2570 @John E Savage 32

The Classes P and NP

The class P is the set of languages accepted

by deterministic TMs in polynomial time.

The class NP is the set of languages

accepted by nondeterministic TMs in polynomial time.

slide-33
SLIDE 33

Lecture 02 Historical Context CSCI 2570 @John E Savage 33

Reductions

Reducing to a previously solved problem.

Given a solution (program), use it to solve a new

problem.

E.g. Use a squaring program to multiply integers.

If problem P is reduced to problem Q (the

program for Q is used to solve P), can Q be easier than P?

If P is hard, can Q be easy?

slide-34
SLIDE 34

Lecture 02 Historical Context CSCI 2570 @John E Savage 34

Polynomial-Time Reductions

Given problem P, we transform it using a

polynomial time algorithm into problem Q.

If Q can be done in polynomial time, so can P If P requires more than polynomial time, so

does Q.

slide-35
SLIDE 35

Lecture 02 Historical Context CSCI 2570 @John E Savage 35

The Class of NP-Complete Decision Problems

  • A problem Q is NP-complete if
  • Q is in NP,and
  • Every problem in NP can be reduced to Q by a

deterministic polynomial-time algorithm

  • Example – 3-Satisfiability
  • Instance: A set of clauses in three variables, e.g.

(x2+x3+x5)

  • Yes Instance: All the clauses can be satisfied

(made True) by some choices for the variables.

slide-36
SLIDE 36

Lecture 02 Historical Context CSCI 2570 @John E Savage 36

NP-Complete Problems

Thousands of problems have been shown to

be NP-complete.

If one of them can be shown to require more

than polynomial time, all require more than polynomial time.

If one of them can be shown to be done in

polynomial time, all of them can.