Смекни!
smekni.com

Computer Architecture Essay Research Paper Computer Architecture (стр. 2 из 2)

The root of the single cycle processor’s problems:

The cycle time has to be long enough for the slowest instruction (load)

Solution:

Break the instruction into smaller steps

Execute each step (instead of the entire instruction) in one cycle

Cycle time: time it takes to execute the longest step

Keep all the steps to have similar length

Use a register to save a signal’s value whenever a signal is generated in one clock cycle and used in another cycle later

The advantages of the multiple cycle processor:

Cycle time is much shorter

Different instructions take different number of cycles to complete

Load takes five cycles

Jump only takes three cycles

Allows a functional unit to be used more than once per instruction (though requires more muxes, registers)

Well, the root of these problems of course is that facts that the Single Cycle Processor’s cycle time has to be long enough for the slowest instruction.

The solution is simple. Just break the instruction into smaller steps and instead of executing an entire instruction in one cycle, we will execute each of these steps in one cycle.

Since the cycle time in this case will then be the time it takes to execute the longest step, our goal should be keeping all the steps to have similar length when we break up the instruction.

Well the last two bullets pretty much summarise what a multiple cycle processor is all about.

The first advantage of the multiple cycle processor is of course shorter cycle time than the single cycle processor. The cycle time now only has to be long enough to execute part of the instruction (point to “breaking into steps).

But may be more importantly, now different instructions can take different number of cycles to complete. For example:

(1) The load instruction will take five cycles to complete.

(2) But the Jump instruction will only take three cycles.

This feature greatly reduces the idle time inside the processor.

Finally, the multiple cycle implementation allows a functional unit to be used more than once per instruction as long as it is used on different clock cycles. For example, we can use the ALU to increment the Program Counter as well as doing address calculation.