This assignment investigates and reports on the following issues: Principal layers in a computer, Principal of the Von Neumann cycle, Difficulties of Assembly languages, GUI's and Multi-user Operating systems, and Business Problems

Authors Avatar

Stuart Arthur

BSC Computing Yr 1

Computer Systems – Assignment 1

This assignment investigates and reports on the following issues:

  • Principal layers in a computer
  • Principal of the Von Neumann cycle
  • Difficulties of Assembly languages
  • GUI’s and Multi-user Operating systems
  • Business Problems

Principle layers in a computer

A computer system can be described as a system of levels or layers. Each layer performs a series of functions that are important to the computer system. Each layer is implemented on the layer directly below it. The layers have no connection with the upper layers. The details of the lower layers cannot be seen by the upper layers. The lower levels are closer to the computer systems language whereas the higher layers are closer to the user’s language.

Each layer is similar to a machine in the way that it executes the instruction set of that layer however there is only one real machine, the rest are all virtual machines created using the computer system. People who want to design a new computer or new software need to understand the layers in a computer system. Instructions are changed from high level to low lever by using translation and interpretation. Translation takes the instruction set of a certain level and replaces each instruction with an equivalent set of instructions from a lower level. Using interpretation you write the program in a certain level that takes input data from a higher level, it carries this out by examining each instruction and then executes the equivalent instruction straight away so there is no need to generate a program in a lower level.

In a modern computer system, layers can be both hardware and software; both can interact with each other so anything you do to the one the same can be done to the other. Hardware is used for the digital logic layer and software for the levels above it. This is because the lowest machine layers are used to execute programs so they need to be fast and hardware is faster than software. All of the higher layers are likely to be changed more often so software is used as it is easier to change than hardware. As you move up the layers from the highest to the lowest interpreters are used to translate from the machine layer to the digital logic layer. In modern day computers the interpreter that’s used is designed by Von Neumann and it’s called the Von Neumann architecture.

There are various layers in a computer. These layers are:

Layer 7 – Non-Procedural Layer

Layer 6 - Application Layer

Layer 5 - High-Level Language Layer

Layer 4 - Assembly Layer

Layer 3 - Operating System Layer

Layer 2 - Machine Layer

Layer 1- CPU Microcode Layer

Layer 0 - Digital Logic Layer

The first layer is the digital logic layer. Digital logic is a two valued number system that is the basis for the most powerful computers. Anything that is digital is based on the binary number system. The two numerical symbols used are 0 and 1. With Digital logic you can either use these symbols or you can use others to replace them if required. Therefore 0 could be false or no and 1 could be true and yes. Using the two valued number system every statement or condition must be either false or true, it cannot be part false or part true. You can use this basic rule and expand on it to create very complex sets of instructions.

Digital logic is based on the binary system because it is easy to design simple electronic circuits that stay in one state unless they are changed to a different state. Using this technology it is possible to construct a machine that can remember events and change their behaviour if required. Digital logic contains two main parts which are combinational logic and sequential logic. Combinational logic is where the outputs are determined by the functions being performed and the state of the inputs at that moment. Sequential logic is where the outputs are determined by the previous state of outputs. Both of these types of logic are used in all digital computers.

The computer represents integer numbers by using the two’s compliment scheme. The two’s compliment code works by writing out the number in binary then inverting the digits and adding a 1 to the end. Example if you are working with 8 bit quantities and you want to find out how -28 is expressed, firstly you write out 28 in binary form 00011100 then you invert the digits. 0 becomes 1 and 1 becomes 0 11100011 then you add one at the end 11100100 this -28 written in the two’s compliment code.

To represent real numbers e.g. numbers with a decimal, the computer uses floating point notation. Floating point is an efficient way to represent small or large numbers, the main principle is that for small numbers you move the radix point to the right  and you move it to the left for large numbers until the first non zero digit is encountered. The positions that moved are then represented by an exponent value which is equal to the value of the numbers that were moved. If the radix point was moved to the right then the value is negative and if it was moved to the left then the value of the exponent is positive. To decode bit patterns from floating point notation to their decimal equivalent. Floating point is used in the binary system. Bit patterns are used and the components of the floating point number that is needed to represent are the sign of the number, the numbers exponent and the numbers mantissa. Each part is represented by using 1 or more bits. Floating point numbers in a computer system are normally represented as 32 bits however if each floating point number was represented as 8 bits. Then the bits used to represent each of the components can be: Use the left most bit for the sign, use the next 3 bits for the exponent and use the remaining 4 bits fro the mantissa. E.g. start by using a binary floating point number that is 8 bits in size and represent it in decimal.

Join now!

01101011

Sign most significant bit=0, therefore it is a positive number

Exponent bits are 110. In the excess notation of size 3 bits (110)2 corresponds to the decimal value (2)10 so our exponent is +2

The bit pattern representing the mantissa in this number is 1011. The radix point is always assumed to be to the left of the left most bit of the mantissa. Thus the mantissa is always a fraction, and it should be interpreted as being equal to

.1011

Since the exponent is +2 then this tells us that the radix point’s real position is found by ...

This is a preview of the whole essay