Chapter 4: The Program counter Flashcards

1
Q

What happens when a normal ALU type instruction executes?

A

the Program Counter is incremented to the next instruction address (by one for word-addressable memory, or more for byte-addressable memory).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How can the program counter be used to speed up the processor?

A

. In fact, many processors make use of this to speed up the processor by using pipelining.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is pipelining?

A

This term refers to the process of breaking down the instruction cycle into different parts and overlapping the steps of consecutive instructions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Example of a fetch/execute step?

A

movlw H’55’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Example diagram of pipelining?

A

So during the execution stage of one instruction the next instruction is already being fetched. By using pipelining, the speed of the microprocessor can be increased.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What happens to a program counter during a branch, jump or goto?

A

In branch, jump and goto instructions the programme counter is no longer simply incremental. Instead, these instructions intentionally change the programme counter to a new value often specified as the operand of the instruction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Possible negatives of pipelining?

A

Note that there is a speed cost to using these operations, since the next instruction that would have been fetched during the execution of the branch, jump or goto instructions as a result of pipelining would have to be discarded as it would be the wrong one. This can be seen in the diagram above. The Fetch 4 process was unnecessary since the SUB_1 should be the next instruction. The call function in line 3 then must prevent this fetched instruction from being executed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Unconditional branch, effect on program counter?

A

An unconditional branch always changes the programme counter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a conditional loop?

A

A conditional branch can use a status bit to make the decision whether to branch or not. This allows a conditional loop to be created such as a for or while loop

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly