+ All Categories
Home > Documents > The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of...

The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of...

Date post: 05-Jan-2016
Category:
Upload: cordelia-dennis
View: 212 times
Download: 0 times
Share this document with a friend
28
The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez
Transcript
Page 1: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing

INEL 4206 – Microprocessors

Lecture 3Bienvenido Vélez Ph. D.

School of Engineering

University of Puerto Rico - Mayagüez

Page 2: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 2

Some Inaccurate Yet Popular Perceptions of Computing

• Computing = Computers

• Computing = Programming

• Computing = Software

Page 3: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 3

Computing = Computers

Computing is about solving problems using computers

A.K.A. The Computing Device View of Computing

Page 4: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 4

Computing = Programming

Computing is about writing programs for computers

A.K.A. The Programming Language view of Computing

Page 5: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 5

Computing = Software

Computing is not concerned withhardware design

A.K.A. The “Floppy Disk” view of Computing

Page 6: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 6

Outline

• What is Computing?

• Computing Models and Computability

• Intepretation and Universal Computers

• Abstraction and Building Blocks

Page 7: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 7

What is computing then?

AlgorithmicComputation

Function

InputInformation

OutputInformation

Computing is the study of Computation:the process of transforming information

Page 8: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 8

The Computation Process

011011001010100101…

encode

011011001010100101…

compute

Problem

decode

Solution

ThisTalk

Page 9: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 9

Fundamental Questions Addressed by the Discipline of Computing

• What is the nature of computation?

• What can be computed?

• What can be computed efficiently?

• How to build practical computing devices?

Page 10: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 10

The Computation Process

011011001010100101…

encode

011011001010100101…

compute

Problem

decode

Solution

Integer IntegerIntegerFunction

Page 11: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 11

Computability

All Integer Functions (IF)

ComputableInteger Functions

(CF)

IF ≟ CF

HaltingProblem

IF ≠ CF

ComputableInteger Functions

(CF)

Page 12: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 12

The Halting Problem(Alan Turing 1936)

Given a program and an input to the program, determine if the program will eventually stop

when it is given that input.

ComputeProgram P

Input IP Halts on I?

Cannot Build This

Want to describethe set of computable

functions?

Page 13: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 13

Mathematical Computers:The Turing Machine (1936)

Alan Turing

0 1

0 1FSM

InfiniteI/O

TAPE0/{1,0,R}

1/{0,1,R}

TapeHead

Page 14: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 14

Mathematical Computers:The Turing Machine (1936)

Alan Turing

0 1

0 1FSM

InfiniteTAPE

0/{1,0,R}

1/{0,1,R}

FSM

InfiniteI/O

TAPE

TapeHead

Turing demonstrated how to solve several problems using his computing model

Page 15: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 15

FSM

Sorting TMFSM

Sorting TMFSM

Sorting TM

Ad-hoc Turing Machines

FSM

Sorting TM FSM

Searching TM FSM

Integrating TM

Can we build a general purpose TM?

Page 16: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 16

The Universal Turing Machine (UTM)The Paradigm for Modern General Purpose Computers

Universal TM

Coded TM M Coded Tape for M

• Capable of Emulating Every other TM• Shown possible by Alan Turing (1936)• BIG IDEA: INTEPRETATION!!!

Software(flexible)

Hardware(fast)

Page 17: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 17

Other Familiar Models of Computation

• Combinational Circuits• Sequential Circuits (FSM’s)• Pentium Instruction Set Architectures• Lambda Calculus• Recursive Functions• C++

Can you tell which ones are Turing Universal? That is, which ones can emulate any other Turing Machine?

Page 18: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 18

Church’s Thesis

Alonso Church

“All the models of computation yet developed, and all those that may be developed in the future, are equivalent in power.”

“Any realizable computing device can be simulated by a Turing machine”

Issues not considered: Size, Programmability, PerformanceBut they must be considered if one is to build …

Page 19: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 19

DataPaths

PCABR

ALU

AC

Practical Universal Computers(John) Von Neumann Architecture (1945)

Program

Data

Memory

Control Unit (FSM)

CPU

CPU is a universal TM An interpreter of some programming language (PL)

status control

This looks just like a TM Tape

Page 20: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 20

Computing in Perspective

CMOSGateFSM

ISA

Assembler 1 Assembler 2 Assembler 3

C++Pascal Fortran

MatLab

BuildOne

BuildMany

Excel

Interpreter Design Demands Programming Language Design

PSpice

All have embedded PL’s

Page 21: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 21

Computing in Perspective

Application Programs

High-Level Language

Assembly

Language

Machine

Language (ISA)

CS1/CS2, Programming, Data Structures

Programming Languages, Compilers

Computer Architecture

Computer Human Interaction, User Interfaces

People

People computers

Each layer implements anINTERPRETER

for some programming language

Page 22: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 22

Why Abstraction Layers?

• Resilience to change:– Each layer provides a level of indirection

• Divide and Conquer Approach:– Can work on one small semantic gap at a time

• Building Block Approach:– Can build many higher layer on same lower layer

Because we know of no other way of doing

anything

Page 23: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 23

Hardware Building Blocks

A B

sel

O

SEL

A

B

O

Gate-Level Logic Provides a Computing Model

Page 24: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 24

Software Building Blocks

// MUX – Implements a 2-1 binary multiplexerbool MUX(bool a, bool b, bool sel) { switch(sel) { case 0: return a; break; case 1: return b; break; }}

Other abstraction tools include: structures, classes, modules

The function is one of the most ubiquitous abstraction tools

Page 25: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 25

What Makes a Good Building Block

• Provides a clear and simple contract

• The contract hides irrelevant detail

• The contract is general and orthogonal

• The contract is easy to remember

Page 26: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 26

Some Properties of a Good Programming Language

• Does not hide expressive power of lower layers• Can be efficiently interpreted• Provides adequate higher level abstractions• Provides a variety of constructs for creating new

abstractions, layers and modules• Achieves all of the above with minimal

complexity

Page 27: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 27

"Computer Science is no more about computers than Astronomy is about

telescopes" E. Dijkstra

Summary

Page 28: The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.

The Nature of Computing COMPEL 2002 28

Summary• Computing = Information Transformation• Information Transformation = Integer Functions• Some integer functions are not computable• Turing Machine computations = All computations• Universal Computer = Universal TM• Interpretation => Programmability => Flexibility• Building blocks are abstract contracts


Recommended