Unit 1
Computational Models
The Concept of Computational Model
• The computer architecture and language
classes must have a common foundation or
paradigm called a Computational Model.
• Eg- Von neumann architecture and Imperative
language or Reduction architecture and
functional language
• concept of a computational model represents a
higher level of abstraction than either the
computer architecture or the programming
language alone
The Concept of Computational Model
Interpretation of the computational model concept as a high-level
abstraction.
The Concept of Computational Model
The Concept of Computation Model
• The basic items of computations
• The problem description model
• The execution model
The Concept of Computation Model
The Concept of Computation Model
All the best known computational models, namely –
• the Turing model.
• the von Neumann model
• the dataflow model
are based on the concept of data.
Computation Model
In contrast , there are a number of models which
are not data based. In these models the basic items
of computation are:
• Objects or messages sent to them requiring an
associated manipulation (as in the object-based
model)
• Arguments and the functions applied on them
(applicative model)
• Elements of sets and the predicates declared on
them (predicate-logic-based model)
The problem description model
The execution model
The problem description style
Execution semantics
Different kinds of execution semantics applied by the computational
models
Control of execution sequence
Control of execution sequence
• Control-driven execution it is assumed that there
exists a program consisting of a sequence of
instructions are then implicitly given by the order of
the instructions.
• Data-driven execution is characterized by the rule that
an operation is activated as soon as all the needed input
data is available. It is characteristic of the dataflow
model of computation.
• Demand-driven execution the operations will be
activated only when their execution is needed to
achieve the final result.
Relationships between the concepts of computational
model, Programming language and architecture
Computational model sequence
Basic computational models
Turing
von Neumann
dataflow
applicative
object based
predicate logic based.
These models are called basic models because they may be
declared using a minimal set of abstractions. For each model
we specify
the basic items of computation
the problem description model
the execution model
Von Neumann computational model
• Description of the model :- We designate the
underlying model of von Neumann computers and the
corresponding languages as the von Neumann
computational model.
Von Neumann computational model
characteristics of the von Neumann
model
• Consequences of multiple assignments of data - is that
the values of the variables may be the actual values of
the variables are history sensitive, that is, they are
dependent on the actual sequence of the executed
instructions.
• Consequences of control-driven execution - Because
the computational task is specified as an ordered
sequence of instructions and the execution sequence of
these instructions is control-driven, this model of
computation is basically a sequence one.
• Related languages - The related languages to this
model are called imperative languages, eg. are C,
Pascal, ALGOL, Fortran, and so on.
Key concepts relating to
computational models
• Granularity - the vital decisions relating to a
computational model concerns the types of items that the
computation should be performed on and the kinds of
operation allowed on them.
• The concept of granularity was introduced in connection
with parallel architectures which refers to the size of the
computations that can be executed in parallel.
• the parallelism of individual operations is designated as
fine-grain parallelism, while parallelism at the thread or
process level is called coarse-grained parallelism.
Granularity
Typing
• Typing is another concept which is worth introducing at a higher
level as it is often used in connection with programming languages.
• typing of languages and tagging of architectures are closely
associated.
• In typed languages there exists a concept of data type and the
language system (compiler or interpreter).
• If the language is strongly typed, a type mismatch will cause an
error.
• In weakly typed languages, a type mismatch is allowed under given
circumstances.
• For example: Pascal, Miranda and HOPE are typed languages.
Typing
Eg. The von Neumann Model
• The invention of stored program computers has been
ascribed to a mathematician, John von Neumann, who
was a contemporary of Mauchley and Eckert.
• Stored-program computers have become known as von
Neumann Architecture systems.
1.4 The von Neumann Model
• Today’s stored-program computers have the following
characteristics:
– Three hardware systems:
• A central processing unit (CPU)
• A main memory system
• An I/O system
– The capacity to carry out sequential instruction processing.
– A single data path between the CPU and main memory.
• This single path is known as the von Neumann bottleneck.
1.4 The von Neumann Model
This is a general depiction of a
von Neumann system:
These computers employ a
fetch-decode-execute cycle to
run programs as follows . . .
1.4 The von Neumann Model
• The control unit fetches the next instruction from memory using the
program counter to determine where the instruction is located.
1.4 The von Neumann Model
• The instruction is decoded into a language that the ALU can understand.
1.4 The von Neumann Model
• Any data operands required to execute the instruction are fetched
from memory and placed into registers within the CPU.
1.4 The von Neumann Model
• The ALU executes the instruction and places results in registers or
memory.
Thank You