Christmas Revision

I did around 3 hours revision. I used the software development glosssay in order to know all the terms that come in Software Development. I focused on the bits i found hard such as binary and negative numbers. I took the test and passed with a good score of 95%.

Memory and Addressability

In the memory of a computer, each memory location has its own unique address. The way in which memory identifies memory locations is known as addressablility. The width of the address bus determines how many memory locations can be addressed. For example a 1 bit address bus can address 2 memory locations and a 2 bit address bus can address to 4 memory locations. To obtain the number of memory loactions of an address bus you have to put 2 to the number of line on the bus. To find the total addressable memory we times the number of storage locations by the size of each storage location.

There many different types of memory. First is main memory, this consists of RAM and is usually DRAM as it needs less power and circuitry the easier. RAM holds data from devices and backing storage when they are in use but all data is lost when power to the chips is lost.  ROM is another type of memory and has contents which are fixed when the chip is made, but unlike RAM it retains its data when power is lost. Another type of data is cache memory. This is memory built into the processor and stores instructions that are about to be executed. Also there are registers. These are storage locations inside the processor and hold the data that is being processed. The last memory we will look at is virtual memory. This is part of the backing storage that is set aside for memory and is only usually used as temporary storage for programs and data.

The speed at which data can be processed depends on the distance between it and the processor, so from faster to slowest the order is:

Registers –> Cache Memory –> RAM –> Virtual Memory

—->—->

 

The Processor

The way a processor works is clearly shown in Von Neumann’s architecture as it shows how the processor can read or write with both the memory and backing storage but can only read from input devices and write to output devices.

The processor consists of 3 main parts. The first is the ALU or Arithmetic Logic Unit, this is the part of the CPU that does all the calculations and logic operations, such as AND, NOT and OR.

The second part is the control unit, this is what manages the fetching, decoding, and executing of instructions. If this part of the processor is enhanced, ie. the clock speed is increased, then the over computer can work faster as the control unit can execute instructions quicker.

The third part are the registers. These are split into 3 main pieces. Firstly the MAR or memory address register is where the address of the memory being used is held. It informs the main memory what memory location is about to used. Next is the MDR or memory data register which stores data in a memory location and reads data from a memory location. The last piece are the other general purpose registers that are just very fast temporary storage locations that hold the data being processed and the instructions being executed.

The way in which all these parts of a processor are connected up is through buses. Buses are physical wires that are used to transmit information and connect each piece of the processor together and connect the processor to the other parts of the computer system, such as main memory or backing storage.

Tagged , , , , , , ,

Bitmapped Graphics

A pixel is a tiny dot on a computer screen.  The resolution determines the quality of the picture. The smaller the pixels the finer the detail that can be displayed on the screen. A black and white image is represented by binary – 0’s are used for white and 1’s are used for black. A colour image can be represented by binary – More bits are used for each colour meaning 2 bytes can give you 65535 colours.

Floating Point Notation

In floating point notation, real numbers are stored as 2 seperate bits of data. A storage location called the mantissa holds the complete number without the point. A storage location called the exponet holds the number of places that the point must be moved in the orginal number to place it at the left hand side. For Example:

Binary

In order to do binary to decimal conversion we must change the base of each column into a power of 2, eg. 2 to the 4  2 to the 3 2 to the 2 2 to the 1 2 to the 0, etc. Then we times 1 by the base if there is a one under each column, and 0 by the base if there is a zero, then add them all up to get your decimal equivalent.

In order to do decimal to binary conversion then we ask ourselves does the base divide into the number, if so a 1 would appear, if not a 0 would appear.

The reason the computer uses binary is that: It only needs to detect 2 voltages, good tolerance, as a degraded positive voltage is still detected as a positive voltage, calculations are simple as there are only 4 rules needed for binary and 100 rules needed for decimal and magnetic and optical media are suited to these outputs, ie. have a north/south poles or lands and pits.

RIP Steve Jobs

Steve Jobs was an American inventor and entrepreneur. He was also co-founder, chairman, and chief executive officer of Apple Inc. He was described as a “visionary, pioneer and genius”, and a man who had profoundly changed the face of the modern world, revolutionized at least six different industries, and who was an “exemplar for all chief executives”. He has moved around different jobs such as Pixar, Disney and Atari, but is most famous for being the CEO of Apple. On October 5, 2011,Jobs died in California at the age of 56, seven years after being diagnosed with pancreatic cancer.

Tagged , ,

Macros, Scripting, Modularity

High level languages are the easiest programming languages to learn as they are generally similar to English. They use words such as, If, Then, Else, Repeat, While, etc. However, the computer cannot understand high level languages as it only understand machine code or binary code, for example, 01010110 101001. These are low level languages.

A macro is a function that is usually within another larger program and allows the user to execute any commands they want then play it back to them when a specific keystroke is pressed. A scripting language is a pre-defined function that cannot be made by the use, this means that there will be no syntax errors.

There are two different types of parameters, Actual parameters and Formal parameters. Actual parameters are passed into a subroutine from another part of the program, whereas the parameters that are used in the subroutine definition are formal parameters.

There are generally two types of subroutines, procedures and functions. The difference between them is that a procedure produces an effect and a function produces a value.

Documentation, Evaluation, Maintenance

The final three stages the software development process are Documentation, Evaluation and Maintenance. Documentation is deigned to help the user understand how to use a program. There are many different types of documentation but the most common are the User Guide and the Technical Guide. The user guide explains how to use the software, whereas the Technical Guide explains such things as how to install the program, system requirements and if any other things need to be installed.

Evaluation is done throughout the whole software development process and this means that if an error is spotted early on then the program can easily be altered without too much expense, for example if the clients problem hasn’t been understood in the analysis stage then the whole program must be developed again. The Client and the Developer check the program against two things:
Does this software meets the user requirements? and Is it Fit for Purpose?

This means is the program:-
Robust: It will not fail not matter what is inputted.
Reliable: A program will always show the correct output.
Portable: The program can run on other systems other than the one it was designed on.
Efficient: The program does not use up to much processing power or RAM.
Maintainable: The program can be changed easily by someone other than the programmer.

Maintenance is the last stage of the software development process because it can only be done once the program is finished. There are 3 ways in which a program can be maintained: Corrective maintenance, Adaptive maintenance and Perfective maintenance.  It is easiest if the original programmer maintained the program as it an be difficult for other programmers to understand if it is not well documented. Maintenance can also become harder if the software environment change, ie. new operating systems or hardware changes. It is estimated that between 40 – 70% of the software development process costs are spent on maintenance.

Testing

Testing is when a programmer checks to see that a program works effectivly when the correct inputs are entered and that a correct error message is shown when the wrong input is shown.

There are 3 test data types: First is Normal. This is when the tester enters inputs that are supposed to work and are within the range of what is meant to be entered.

Extreme data or boundary data is when the tester inputs a value that is on the boundary of the range that is meant to be entered.

Exceptional data is when the tester inputs a random value that has nothing to do with the range that is meant to be entered.

Testing is a large part of the price that goes into a program as there can be an infinte amount of errors that could happen, this is why testing has to be so varied and costly.