How does the computer execute a program, Computer Engineering

Assignment Help:

Let's attempt to answer a fundamental question: 'How does the Computer execute a Program?' Let's describe this with the help of an example from higher level language domain.

Problem:  Write a program to add two numbers.

A sample C program (Assuming two fixed values of numbers as a = 5 and b = 2)

1.  #include < stdio.h >

2. main ()

3.    {

4.  int a =5, b=2, c;

5. c= a+b;

6. printf ("\n The added value is: % d", c);   

7.           }

Program at line 4 states variables which will be equal to 3 memory locations that are a, b and c.  At line 5 these variables are added along with at line 6 value of c is printed.

However how will these instructions be executed by CPU? First you have to compile this program to convert it to machine language. Though how will the machine instructions look like? Let's suppose a hypothetical instruction set of machines of a size of 16 binary digits (bits) data and instructions. Each one of the instruction of machine comprises two components: (a) Operation code which specifies the operation which is to be performed by instruction and (b) Address of operand in memory on that given operation is to be performed.

Let's further presume that size of operation code is supposed to be of six bits consequently rest 10 bits are for address of operand. Also the memory word size is presumed to be of 16 bits. Figure below shows instruction and data formats for this machine.  To simplify our discussion let's present operation code employing Mnemonics such as ADD, LOAD, STORE and signed decimal values for data and decimal values of operand addresses. 

756_How does the Computer execute a Program.png


Related Discussions:- How does the computer execute a program

Explain the differences between macros and subroutines, Explain the differe...

Explain the differences between macros and subroutines. Macros Vs Subroutines (i) Macros are pre-processor directives which are processed before the source program is pass

Define google calendar, Define Google calendar Google Calendar is free,...

Define Google calendar Google Calendar is free, full featured, and easy to use. It lets the user create both personal and shared calendars, which makes it ideal for tracking bu

Which is not a valid page replacement policy, Which is not a valid page rep...

Which is not a valid page replacement policy? Ans. RU policy (Recurrently used) is not a valid page replacement policy.

Application to calculate the diameter, Write an application to calculate th...

Write an application to calculate the diameter, circumference, and area of a circle with a radius input by the user. Assign the radius float variable and then output the radius wit

Translator for low level programming language, Translator for low level pro...

Translator for low level programming language were called as    Assembler

Pre-os and runtime sub-os functionality, In a raw Itanium, a "Processor Abs...

In a raw Itanium, a "Processor Abstraction Layer" (PAL) is integrated into the system. When it is booted the PAL is loaded into the CPU and gives a low-level interface that abstrac

How authoring packages supports scripting language, How authoring packages ...

How authoring packages supports scripting language Many authoring packages support a scripting language to allow for even more sophisticated applications to be produced. Scrip

How to increase simulation speed, How to increase simulation speed     ...

How to increase simulation speed     First figure out what is eating away your CPU cycles. Is it 1. Compile time - Use a Make file to compile only files with changes and not

What is load testing, Load testing is to test that if the application works...

Load testing is to test that if the application works well with the loads that result from large number of concurrent users, transactions and to verify whether it can handle peak u

Provide a diagrammatic interpretation of the hardware stack, a) Prototype ...

a) Prototype a macro known AP which takes 4 integer parameters n (number of terms), a (first term), l (last term) and Sum (sum of n terms), provided that: Sum = (a+l)*n/2 b)

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd