The document discusses computational models as high-level abstractions that represent the common foundation between computer architectures and programming languages. It describes several key computational models including the Turing model, von Neumann model, dataflow model, applicative model, object-based model, and predicate logic-based model. The von Neumann model is then discussed in more detail, outlining its basic characteristics of multiple variable assignments, control-driven execution, and related imperative programming languages. Concepts like granularity and typing are also introduced in relation to computational models.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
72 views32 pages
ACA-unit 1 - Concept 1
The document discusses computational models as high-level abstractions that represent the common foundation between computer architectures and programming languages. It describes several key computational models including the Turing model, von Neumann model, dataflow model, applicative model, object-based model, and predicate logic-based model. The von Neumann model is then discussed in more detail, outlining its basic characteristics of multiple variable assignments, control-driven execution, and related imperative programming languages. Concepts like granularity and typing are also introduced in relation to computational models.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32
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