The ARM processor uses the Pipeline system to perform parallel processing. Pipeline system in ARM uses an instruction pipeline to execute more than one instruction at a time.
By using pipeline processing the ARM processor will reduce the execution time.
Pipeline system in arm
Generally, the ARM processor will use two pipeline system:-
1. 3 Segment pipeline
2. 5 Segment pipeline
1. 3 Segment pipeline:-
As the name suggests it has 3 segments called S1, S2, S3 to perform the execution operation for the user program.
S1 is used for fetching the instruction from memory. After fetching the instruction the instruction is decoded therefore S2 is used to decode the instruction depending upon the opcode the nature and the type of instruction are divided. S3 segment is used for execution purpose and necessary operation perform in this segment.
The semantic diagram of 3segemet pipeline is:-
S1, S2, S3 are the segment and the output of one segment is the input of another segment.
All segments are performing there purpose when the clock is active. Clock time provides the general sequence.
The pipeline can reduce the execution time by performing the overlapping operation. It can reduce the execution time by ‘k’ time where no time increases by increasing the segments.
Sometimes same instruction may require more clock cycle to perform therefore it uses multiple cycles.
5 Segment pipeline:-
As the name suggests 5 segment pipeline contains 5 segments they are:-
S1(fetching the operation)
In S1 the microprocessor fetches the data from the memory location and sends the data to the next segment for decode. In S2 the instruction is decoded as per the control signal. In S3 the instruction is executed as per the Operation code given by the user. In S4 data is stored in a buffer register. In the last segment or S5, the resultant data is redirected to a specific register or memory location.
For example, if there are 5 instructions to be executed by the processor it will execute in 5 segment pipelines As follows.