Week 15- Fetch Execute Cycle

Work through the five tasks below, for each task write down the methods, results, any observations you made and a conclusion (however simple). At the end all the task, try writing an overall conclusion. Remember when writing the methods you can refer back to previous methods.

Aims:

·  To show the fetch execute-cycle in action

·  At the end of the practical you should be able to:

o  Discuss what the fetch part of the fetch-execute cycle.

o  Discuss some of the factors that effects what happens during the execute portion of the cycle.

o  Discuss what the role of the control unit is.

o  Discuss what the parts of an instruction are.

·  To practice documenting and drawing conclusions of experiments.

Task 1

Open the jasper program

You should see this on the screen

Task 2

JASPer is simplified and stylised model of a processor, showing the key components in a processor. The black and white boxes are registers.

Go to fileà openàhello.jas

Go to fileàswitch state

Go to processoràgo

What should have happened was you got the following screen.

A box should have appeared that said ‘Processor halted at 000E’.

Click ok and by going to fileàswitch state go back to the earlier screen.

This was an example of the running a program under this JASPer system.

Task 3

Go to Processoràregister and change the values till they look like those below and click ok:

All numbers in the JASPer system are in Hexadecimal.

Now go to processoràfetch cycle and note what happens to the various boxes.

You should see:

·  The contents of the PC (program counter) get transferred to the MAR (Memory Address Register).

·  The contents of the PC are changed by 1

·  Data is passed into memory and data is then passed into the Memory Data Register (MDR). What has been passed into memory and where does the data that was passed into memory come from?

·  The contents of the MDR are passed to the Instruction Register (IR).

·  Part of the data in the IR (the first two numbers) is passed into the control Unit (CU). The number that is passed in to the CU is called the opcode the rest of the number in the IR is the operand.

·  What did you see have to the text in the CU after the opcode entered?

Task 4

Now go to processoràexecute cycle

This performs the action for the instruction. Try repeating this action for the first instruction it should do the same thing (for this instruction) every time. In this case instruction puts the operand from IR into the Stack Pointer (SP).

Task 5 (the even more difficult bit!)

Go through the process of processoràfetch cycle and then processoràexecute cycle for two instructions.

So for instruction MOVE #data,b after press processoràexecute cycle what did the system do?

The operand 20 (in hexadecimal) from the IR was copied to register b.

So for instruction MOVE (b),a after press processoràexecute cycle what did the system do? This one is a lot harder for this you need to know that putting something in brackets means the contents of memory location point to by what is in the bracket. So for example (0010) would mean the contents of memory 0010. In this case it means the memory location pointed to by register b which is 20 or 0020, so this instruction means copy the contents of memory location 0020 into register a. To see what is in the memory, go to memoryàview. You should see that at memory location 0020, 0048 is stored, this is then copied into register a.

Draw some conclusions about these two parts of the fetch-execute cycle.