- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What are the relationships between programming languages and parallel architectures?
The theory of a computational model is a higher-level abstraction than the approach of programming language and computer architecture.
A programming language can be speculation as a specification device making applicable the system of a computational task whereby a specific computational model is pretended.
Computer architecture can be considered upon as a tool to execute a computational model or to implement a given computational task defined using a programming language, whereby a specific computational model is given.
To demonstrate these relationships it can consider the basic features of the programming languages and computer architectures that compare to the von Neumann computational model.
A programming language corresponding to this model should enable variables to be declared and their values to be manipulated by the usage of an ideal set of instructions as many instances as needed during computation.
Moreover, the language must support control instructions to enable explicit control of the execution sequence. Languages fulfilling these necessities are known as imperative languages. The most extensively used languages, including C, PASCAL, FORTRAN, etc., are all imperative languages.
It can easily be shown that the von Neumann architectures suit the von Neumann computational model. Variables are implemented as addressable locations in memory, or registers, and therefore their values can be altered as many times as required. Sequence control is implemented by storing the instructions in memory and declaring a pointer called the Program Counter, which indicates the instructions to be executed first.
Finally, it should be pointed out that new computational models and their corresponding programming languages and architectures usually evolve in the following sequence such as computational model, programming language, computer architectures as shown in the figure.
To emphasize this point, we quote the publication dates of literature on the dataflow principle of operation (Karp and Miller, 1966), data flow (single assignment) languages (Tesler and Enea, 1968), and dataflow architectures, as paper designs (Dennis and Misunas, 1975, Arvind and Gostelow, 1977) and as working experimental machines such as DDM1 in 1977 (Davis, 1978) or LAU in 1979 (Gurud et al, 1987).
- Related Articles
- What are the differences between “untyped” & “dynamically typed” programming languages?
- What are the attributes of programming languages in compiler design?
- 5 Love Languages: Identification, Expression in Relationships
- Functional Programming Languages
- What are the different benefits of using programming languages in compiler design?
- What are the different components and architectures of firewalls?
- What is the difference between Imperative languages and Functional languages in compiler design?
- What are Shared Memory MIMD Architectures?
- what is the hierarchical structure of programming languages in compiler design?
- Programming Languages for the Internet of Things (IoT)
- What are the different computer languages?
- What are the different network properties in Computer Architectures?
- What are the Mesh-Connected Networks in Computer Architectures?
- What are Shift Micro-operations in Computer Architectures?
- Difference between Horizontal and Vertical Relationships
