![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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070404/56649f355503460f94c52cdf/html5/thumbnails/28.jpg)
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