PIPELINING AND ARM PROCESSOR

What is Pipelining?
Pipelining is the process of accumulating instruction from the processor through a pipeline. It allows storing and executing instructions in an orderly process. It is also known as pipeline processing.
Pipelining is a technique where multiple instructions are overlapped during execution. Pipeline is divided into stages and these stages are connected with one another to form a pipe like structure. Instructions enter from one end and exit from another end.Image result for pipelining 
                   ARCHITECTURE OF PIPELINING

Pipelining increases the overall instruction throughput.
PipeliningIn pipeline system, each segment consists of an input register followed by a combinational circuit. The register is used to hold data and combinational circuit performs operations on it. The output of combinational circuit is applied to the input register of the next segment.
Pipeline system is like the modern day assembly line setup in factories. For example in a car manufacturing industry, huge assembly lines are setup and at each point, there are robotic arms to perform a certain task, and then the car moves on ahead to the next arm.

Types of Pipeline

It is divided into 2 categories:
  1. Arithmetic Pipeline
  2. Instruction Pipeline

Arithmetic Pipeline

Arithmetic pipelines are usually found in most of the computers. They are used for floating point operations, multiplication of fixed point numbers etc. For example: The input to the Floating Point Adder pipeline is:
X = A*2^a
Y = B*2^b
Here A and B are mantissas (significant digit of floating point numbers), while a and b are exponents.
The floating point addition and subtraction is done in 4 parts:
  1. Compare the exponents.
  2. Align the mantissas.
  3. Add or subtract mantissas
  4. Produce the result.
Registers are used for storing the intermediate results between the above operations.

Instruction Pipeline

In this a stream of instructions can be executed by overlapping fetchdecode and execute phases of an instruction cycle. This type of technique is used to increase the throughput of the computer system.
An instruction pipeline reads instruction from the memory while previous instructions are being executed in other segments of the pipeline. Thus we can execute multiple instructions simultaneously. The pipeline will be more efficient if the instruction cycle is divided into segments of equal duration.

Pipeline Conflicts

There are some factors that cause the pipeline to deviate its normal performance. Some of these factors are given below:

1. Timing Variations

All stages cannot take same amount of time. This problem generally occurs in instruction processing where different instructions have different operand requirements and thus different processing time.

2. Data Hazards

When several instructions are in partial execution, and if they reference same data then the problem arises. We must ensure that next instruction does not attempt to access data before the current instruction, because this will lead to incorrect results.


3. Branching

In order to fetch and execute the next instruction, we must know what that instruction is. If the present instruction is a conditional branch, and its result will lead us to the next instruction, then the next instruction may not be known until the current one is processed.

4. Interrupts

Interrupts set unwanted instruction into the instruction stream. Interrupts effect the execution of instruction.

5. Data Dependency

It arises when an instruction depends upon the result of a previous instruction but this result is not yet available.

Advantages of Pipelining

  1. The cycle time of the processor is reduced.
  2. It increases the throughput of the system
  3. It makes the system reliable.

Disadvantages of Pipelining

  1. The design of pipelined processor is complex and costly to manufacture.
  2. The instruction latency is more.
PERFORMANCE FORMULA FOR PIPELINING

Image result for pipelining




ARM PROCESSOR :

Arm refers itself as an architecture, which can cause a misunderstanding when compared to Intel. Intel gives every new chip design its own unique code and talks about each as a new architecture – even when there’s often many similarities and they all use the same instruction set (x86). ARM, on the other hand, treats its designs as an unbroken family. Updates are still a part of the ARM architecture. They’re just given a new version number.
The trait that’s most relevant to consumers is not the micro-architecture (the physical design of the chip) but instead the instruction set. The instruction set is the basic set of capabilities and features a processor makes available to software. It determines what arithmetic can be used, how cache should be allocated and the order in which instructions should be executed. Software designed for one instruction set can’t be used on another unless it’s revised.
Micro-architectures and instruction sets can’t be separated because the architecture is a physical expression of the instruction set.  This is why ARM-based processors tend to be small, efficient and relatively slow. The simple instruction set requires a small, simple design with fewer transistors. Transistors consume power and increase die size (which increases production cost), so having as few as possible is ideal when selecting a processor for a smartphone or tablet.



Image result for arm processorWHY ARM PROCESSOR ARE USED


ARM processors are microprocessors and are widely used in many of the mobile phones sold each year, as many as 98% of mobile phones. They are also used in PDAs (personal digital assistants), digital media and music layers, hand-held gaming systems, calculators, and even computer hard drives.

ARM ARCHITECTURE

Image result for arm processor

WHAT IS THE DIFFERENCE BETWEEN INTEL AND ARM PROCESSOR

The next major difference between an ARM processor and an Intel processor is that ARM has only ever designed power efficient processors. Its raison d'ĂȘtre is to design low-power usage processors. ... However Intel's expertise is to design super high performance desktop and server processors.

Advantages of using an ARM processor
  • They are cheap as compared to other processors.
  • They are designed with such features that it consumes less power.
  • The devices with ARM processor can have a much better battery life than other processors.
  • They perform one operation at a time and thus work faster.

The disadvantages of ARM processors are as follows:
  • It is not binary compatible with x86, which means you cannot run windows on it very soon.
  • Some ARM processors clock frequencies, which is why speeds and memory bandwidths are limited in such cases.
  • The scheduling of instructions makes debugging difficult.






Comments