Download: Unit 1.1.2 Types of Processor
Instruction Set: – The complete set of all the instructions in machine code that can be recognized and executed by a central processing unit.
Co-Processor Systems: (An extra processor used to supplement the functions of the primary processor)
- It may be used to perform floating point arithmetic, graphics processing, digital signal processing and other functions. Typically has one specialist job.
- May not be a general-purpose processor with the ability to fetch its own instructions. The main processor will send tasks to the co-processor to handle.
- Generally, operates with a limited range of functions.
- Main processor may be enhanced by adding a co-processor.
Graphics Processing Unit: (GPU) Can be referred to as an example of a ‘Co-Processor’
- Specifically designed for graphics display. Has built in circuity and instruction sets for calculations required in common graphics operations.
- Tend to have a large number of cores so it can run highly on more parallelisable (parallel computing) problems.
- They relieve the processing load on the CPU, which allows it to focus on other tasks.
- The performance of the GPU can depend on a various number of features. Such as: Number of cores/threads, clock speed and the size of cache.
- Are able to perform the same instruction on multiple pieces of data at one time (SIMD). This makes it suitable for processing graphics such as transforming points in a polygon. This means it can perform transformations graphics quickly.
- GPUs are also a cost-efficient tool when tackling problems other than graphics processing. For example: data mining, audio processing, breaking passwords and modelling physical systems.
- Have more than one processor incorporated into a single chip.
- It is able to distribute workload across multiple CPU cores, therefore achieving a higher performance.
- The CPU fetches, decodes & executes instructions one instruction at a time.
- This imposes a limit on the processor speed.
Parallel Processing: (Computational task is broken down into subtasks. Some, if not all, subtasks can be carried out at the same time.)
- A mode operation in which a process is split into parts, which are executed simultaneously on different processors attached to the same computer. There are two different approaches to this:
- SIMD (Single Instruction Multiple Data): The same instruction operates simultaneously on multiple data locations. It is extremely quick when processing. It can process large amounts of data and has good performance. However, it cannot be used if there are dependencies between data items. It cannot be used if many different processors are needed and software must be specially written. This is used in graphics processing & bitcoin farming.
- MIMD (Multiple Instructions Multiple Data) Different instructions operate concurrently on different data locations. Compared to having one large processor, having multiple processors uses less energy and generate less heat. It can carry out multiple instructions at the same time. It can use tried and tested processors in order to reduce the risk of design error. However, software design for MIMD can be difficult and improvement in processor is limited by task dependency. This is used in pretty much every other modern computer.
- Uses multiple processors to work together to operate on a single instruction, which is split into tasks so each task may be processed by any processor so the job is completed more quickly.
- Allows faster processing and speeds up arithmetic processes as multiple instructions are processed at the same time and complex tasks are performed efficiently.
- Dependency can cause conflict with Parallel Processing. Dependency is a state which one object uses a function from another object, meaning it is dependent on something else.
SMID (Single Instruction Multiple Data):
MIMD (Multiple Instructions Multiple Data):
296 total views, 1 views today