What is Multiplier in CPU for Dummies?
1 Introduction
A multiplexer (MUX) is a logic gates circuit used to fetch a bit of data from memory at a given memory address. A processor has several multiplexers controlling the data and address buses. In other words, it is a combinational circuit device that selects one of N inputs and provides it on its output. They all come from theories. As a beginner, what multiplexer really is in CPU?
As a beginner, when you study the Multiplexers, you’ll have questions like this what they do in a CPU or ALU? Here give you an proper description about Multiplexers.
Multiplexer means many into one. A multiplexer is a circuit used to select and route any one of the several input signals to a single output. A simple example of an non-electronic circuit of a multiplexer is a single pole multi-position switch. … Multiplexers can handle two type of data i.e., analog and digital. Let’s investigate a basic multiplexer used to select data from two data cells.
2 What is Multiplexer with Example?
A really simple example: If you want to fetch a data bit from memory, a multiplexer allows you to specify an address (the input code), and the memory bit will be connected to another “pin”.
So say you have 256 bits of memory, and you want to connect this to an output pin, the multiplexer has 8 bits for input codes. You proved a code say N, and and bit N is connected through the logic gates to the output of the multiplexer. This multiplexer would have a total of 256 + 8 input lines.
This may couldn’t implement in more modern CPUs but you can probably see how several bit multiplexers could be stacked together and be used to fetch a byte from memory in parallel as well, and connected to say an arithmetic register to perform computations.
The core concept of a mux then can be summarised as a construct where select lines may be used to pick one out of many input signals. That is, a selection device.
A big question covered in as to where this may be useful ?
Muxes are used everywhere in computer architecture and ASIC design in general to help pick between multiple signals. Hardware design is such that all processing happens simultaneously and only the relevant one is picked at each point of time.
In your processor, muxes are used to predict a branch ( when running a loop, branch is the assembly instruction and the processor needs to guess if it should take the branch or not) , used to get data from caches ( given an index in the cache muxes must be used to pick the correct data out of many ), used to select control signals for the processor based on the instruction that comes in, used to select one out of the many ALU calculations made based on the operation needed, and many many more.
Muxes are the pieces of tape that help put together a processor, without them, you would have nothing.
Fun right? Another useful tool recommended, Binary Multiplier Calculator, if you have any interest, you can have a deeper understanding of Multiplier.