0% found this document useful (0 votes)
7 views5 pages

Operations of the Primitive Computing Machine

The document outlines the operations of a primitive computing machine, detailing the steps involved in executing arithmetic instructions such as addition and division. It emphasizes the importance of organizing programming languages to ensure correct computations, instruction preservation, and code equivalence, while also addressing design and performance constraints. Additionally, it highlights the need for device independence and the ability to verify and validate programming language specifications for effective programming.

Uploaded by

Raymond
Copyright
© © All Rights Reserved
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% found this document useful (0 votes)
7 views5 pages

Operations of the Primitive Computing Machine

The document outlines the operations of a primitive computing machine, detailing the steps involved in executing arithmetic instructions such as addition and division. It emphasizes the importance of organizing programming languages to ensure correct computations, instruction preservation, and code equivalence, while also addressing design and performance constraints. Additionally, it highlights the need for device independence and the ability to verify and validate programming language specifications for effective programming.

Uploaded by

Raymond
Copyright
© © All Rights Reserved
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/ 5

Operations of the primitive computing machine

CONTROL UNIT REGISTERS ARITHMETIC AND LOGICAL UNIT VDU


Memory
Algorithm OUTPUT
Decoder counter MAR MBR OPCODE OPR1 OPR2 1 2 3 4
output
Fetch opcode: ADD (+) 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0
Fetch 1st operand: 2 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0
Fetch 2nd operand: 3 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
Execute: 2+3 = 5 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 5
Write-back OUTPUT into RAM through MBR 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1
Clear RAM and registers
Load next instruction in RAM
Fetch opcode: ADD (+) 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0
Fetch 1st operand: 5 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1
Fetch 2nd operand: 4 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0
Execute: 5+4 = 9 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 9
Write-back OUTPUT into RAM through MBR 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1
Clear RAM and registers
Load next instruction in RAM
Load next instruction in RAM
Fetch opcode: DIV (/) 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
Fetch 1st operand: 9 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1
Fetch 2nd operand: 3 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
Execute: 9/3 = 3 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 3
Write-back OUTPUT into RAM through MBR 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1
Clear RAM and registers
Load next instruction in RAM
Some reasons for organizing programming languages:

A program is a sequence of symbols, strings, or instructions. The process of creating this sequence of
instructions based on a language is called programming or coding. The programming language is a
formalism or an abstraction mechanism that functions as a set of rules for constructing language
components (identifiers, operators, attributes, etc) and the structural representations of their logical
relationships in such a way that satisfy a well-defined set of constraints. This structure of language
components and their logical relationships form a logical or mathematical model or specification that can
be interpreted for activating a subset of computational circuits or processor subsystems. That’s is, a set of
computations is performed by processor circuits according to the specifications given in the model. The
programming language is therefore organized as ordered configuration of language components and the
structural representations of their logical relationships due to the following reasons:

1. Computational goal: The need to ensure that the right computations are executed for the right
instruction.
2. Instruction preservation: During language translation, the programming language is implemented
across several layers of abstraction. There is a need to ensure that as the implementation of the
language is implemented across the layers of abstractions, the instruction is preserved. That is the
construction before translation is the same instruction after translation.
3. Code equivalence: The human-readable code before translation should be equivalent to the binary
machine code after translation. Two programs are equivalent if they always produce the same
output when given the same input.

4. Design constraints: there are different ways for specifying or modelling a programming language.
Organization of the specification or model aids thorough analysis, understanding and the ability to
describe the specification in more consistent ways. Equipped with an effective knowledge of the
specification, more efficient programming languages that can be translated faster with less
computational resources can be designed.
5. Performance constraints: the implementation of a programming language specification can
significantly affect the efficiency of an algorithm and, consequently, the performance of programs
built from it. The organization of the programming language can aid understanding strengths,
characteristics and limitations of existing specifications. This knowledge can be used for fine tuning
existing specifications such that they can meet scalability, reliability, and functionality of the
systems being developed

6. Device independence: The programming language specifications defined in an abstract. perhaps


axiomatic fashion without reference to an actual computer or interpretation mechanism will make
programs both machine executable and sufficiently machine independent; make the program
general and portable, allow modifications to be made to the formalisms or the specification rather
than the underlying hardware and enable the developers to remain focused on the problem-solving
process. To achieve this, the programmer would have to understand and rely exclusively on the
rules of the formal language. An organized programming language will aid this objective.

7. Programming language verification and validation: Without specific organization in the


programming language specification, it is impossible to verify if the program's ultimate
interpretation of the specification is correctly implemented

You might also like