Latest Entries »

The Processor

Buses (Address and Data)

The address bus is used to get information from the processor to the main memory. The process informs the main memory what piece of information it requires and the wires carry one bit of information at a time. The number of lines on a bus determines how much information can be taken at one time.

The data bus is used to get information from the main memory back to the processor. Each wire on the bus carries one but of information. The computer informs the user of the number of wires on the bus. If the width of the bus is increased then the amount of data that can be carried will increase.


The Memory Read Operation has many different steps:

  1. The processor sets up the address bus with the required memory address by placing it in the Memory Address Register (MAR)
  2. The control unit actives the read line on the control bus
  3. The address bus opens the relevant memory location on that address
  4. The contents of the memory location are released, sent along the data bus and into the Memory Data Register(MDR)
  5. The data is then decoded and executed

Like the Memory Read Operation the Memory Write Operation has different steps:

  1. The processor sets up the address bus with the required memory address by placing it in the MAR
  2. The processor sets up the data bus with the value to be stored in memory by placing it in the MDR
  3. The control unit activates the write line on the control bus
  4. The address bus opens the relevant memory location at the address
  5. The contents of the memory location are released, sent along the data bus and into the memory location



Bitmapped Graphics

Images are made up of tiny dots called pixels.

Resolution determines the quality of the pictures. If the pixel is smaller the detail in the picture will be of much better quality. 

Binary is used to represent colour in pixels. For black and white we use 1 bit with either a 1 or a 0 in each pixel. For example black is represented by a 1 and white is represented by a 0. 

However because most pictures usually have more than one colour we can use more than 1 bit in each pixel. For example if four colours are used in a graphic then we would use 2 bits in each pixel to represent that other colours. For example 00=white, 01=black, 10=pink and 11=blue.


The binary number system, or base 2 number system, represents number using either a 1 or a 0.

Computers should be designed in a two state devices as it is easier to generate and detect two voltage levels. Also calculations are kept straight forward. Lastly, magnetic and optical media are suited to a two state system.

Converting Decimal to Binary: 

Binary digit is short for bit. 8 bits make up a byte.

The binary number 1o11o1o1 can be represented as

128   64   32   16   8   4   2   1

1        0      1      1    0   1   0  1

128+32+16+4+1 = 181

To convert decimal numbers to binary:

Convert 138 to binary

First you must recognise if the number you need to convert goes in to 128 if it does you would represent this using a 1. With the remaining amount which would now be 10 you must see if it goes in to 64,32 etc… if it doesn’t you would represent this using a 0.

128    64    32   16    8    4    2   1

1         0      0      0    1    0    1    0 = 138


Negative numbers

Signed bit representation

The easiest way to represent negative numbers in binary is to use signed bit representation. To do this you simply use the furthest left bit and put a 1:

0101 = 5

1101 = -5

However there is a problem with this method as there are two values for 0.


Two’s Compliment Representation

The best way to represent negative numbers in binary is to use the Twos’ Compliment Representation method.

To find the Two’s Compliment you should:

  1. Change all the o’s to 1’s
  2. Change the 1’s to 0’s
  3. Add 1

For example

17 = 00010001

Change all the 0’s to 1’s and the 1’s to 0’s

-17 = 11101110

Add 1


+             1


-17 in two’s compliment = 11101111




Modularity, Scripting and Macros.

A program could be written as one long piece of code. However what happens if we want to change the program? For example carry out a certain process multiple times. A solution would be to copy and paste but what if we wanted to changed the code completely.

We can create subroutines. A subroutine is used when something has to be carried out several times instead of writing lots of code for each individual process.

There are two kinds of subroutines, procedures & functions. The main difference between procedures and functions are that procedure produces an effect where as a function produces a value.


Scripting and Macros

Scripting and macros are used in common applications such as microsoft word, excel and file maker pro.

Macros are very easy to use and can be done in a few simple steps, first the user must hit the record button then carry out all the actions they want to use in this macro then simply stop recording. This is a very easy and useful thing to know as it can save time if they are doing this action repeatedly. Here is a website that shows you step by step on how to create a macro.

There are a few benefits of scripting and macros.

  • Complex steps can be easily carried out but just a quick shortcut key.
  • The user interface can be customised by the user.



Documentation helps users to understand how to use the software program. The two most common types of documentation are the User Guide and Technical Guide.

The user guide explains how to use the software program, where as, the technical guide tells the user how to install the program, the memory required and the details of other files that may be required to use the program.

There are other types of documentation such as shortcut guides, FAQS and quick start guides.



The evaluation stage of the software development process requires the developer and the client to review the software. The client and developer have to ensure the program is fit for purpose.

The aims of the software should be evaluated against the following criteria:

  • reliability
  • robustness
  • maintainability
  • efficiency
  • portability

However the evaluation should be done through out the whole of the software development process.



There are 3 main types of development.

Corrective maintenance, this is when bugs are removed from the program and errors are fixed.

Adaptive maintenance is when there could be changes in the operating system and code may have to be changed.

Perfective maintenance is when a user has requested a change in the program or additional features.


There are many factors affecting maintenance.

New applications. When users get comfortable using the software they may start thinking of improvements that could be made.

There could be too many versions which could make it difficult to keep track of any changes in the code.

Also insufficient documentation could be a problem because if there is not enough internal commentary it will become difficult to fix any part of the code if it is not the original person who wrote the code.

Lastly maintenance can be very expensive. It is said the 40%-70% of the overall cost of the software development life cycle comes from maintenance. This is because if there are many problem they will have to keep going back to different stages of the software development process.

Testing begins at the start of the software development process as programmers can produce prototypes to try and prevent any problems after the implementation stage. Testing in the software development process can be the most expensive part, however, it is more cost effective to solve problems at the early stages of the software development process.

There are many common errors that can occur in the testing stage such as poor error handling and bad time planning.

There are three types of test date. Normal, Extreme and Exceptional.

Normal test data is testing that the program works as expected.

Extreme data, also known as boundary data, is testing boundary limits within a program for example if a pass/fail was being using and 50 was the pass mark the user would test 49,50 and 51

Exceptional data is used to test unexpected inputs in to the program and make sure that the program can handle the data without crashing.

There are 5 phases of testing:

  • Procedure/Module Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing
  • Alpha and Beta Testing

Debugging in Real Basic

In Real Basic to debug a program you could to set a break point. Setting a break point means that you can step through the program and see how the variables change.

A break point can be inserted on the left side of the code. It will appear as a red dot.

The pictures below show the break point and how the break points helps you step through the program, you can see on the right hand side the numbers changing from 1 to 2.


Analysis and Design

Last week in computing we learnt about the Software Development Process. The main things we learnt about were analysis and design.

Analysis is to:

  • Read and understand the problem
  • Interview client to be clear about the problem
  • Develop a software specification which is a clear statement of the problem and a legal agreement between the analyst and client


Design breaks the progam down in to smaller blocks. A good design will lead to good implementation.

The aim is to develop a good algorithm.

There are different types of design notations. These are flow chart, structure diagram and psuedocode.


Bitmap, GIF and JPEG

Bitmap images are made up of pixels in grid. Pixels are picture elements, tiny dots of individual color that make up what you see on your screen. All these tiny dots of color come together to form the images you see. Bitmapped images are uncompressed.

Graphic Interchange Format (GIF) 

Joint Photographic Experts Group (JPEG) is a used method of lossy  compression.

Lossy compression is when the colours are changed to be the same. This is because it saves space when saving a file, however this will decrease the quality of your image.

Lossless compression is when the colours are already the same and are saved under the same byte so that this saves space when saving an image and the quality of the picture will remain the same.

The Memory Management System

This controls where programs and data are placed in the main memory by keeping track of the total amount of memory available and allocation this to the programs data.

Input/Output System

This uses the appropriate control signals tot he peripherals and handles the transfer of data between the peripherals and the Central Processing Unit.

To an application all peripherals behave in the same way which makes the much easier to use.

The Kernal

This decides in a single user operator, whehter the operating system or the application being run gets to use the processor.